YOLO Vision 2026:

YOLOv4: 高速かつ高精度な物体検出#

2020年にAlexey Bochkovskiyによってhttps://github.com/AlexeyAB/darknetで発表された、最先端のリアルタイム物体検出器であるYOLOv4のUltralyticsドキュメントページへようこそ。YOLOv4は、速度と精度の最適なバランスを提供するように設計されており、多くのアプリケーションに最適です。

YOLOv4 architecture diagram YOLOv4のアーキテクチャ図。バックボーン、ネック、ヘッドコンポーネント、および最適なリアルタイム物体検出のための相互接続されたレイヤーなど、YOLOv4の複雑なネットワーク設計を示しています。

はじめに#

YOLOv4はYou Only Look Once version 4の略です。これは、YOLOv3などの従来のYOLOバージョンや他の物体検出モデルの制限に対処するために開発されたリアルタイム物体検出モデルです。他の畳み込みニューラルネットワーク(CNN)ベースの物体検出器とは異なり、YOLOv4はレコメンデーションシステムだけでなく、スタンドアロンのプロセス管理や人間の入力削減にも適用できます。従来のグラフィックス処理ユニット(GPU)での動作により、手頃な価格で大量に使用することが可能であり、トレーニングにそのようなGPUを1つだけ必要としながら、従来のGPU上でリアルタイムで動作するように設計されています。

アーキテクチャ#

YOLOv4は、パフォーマンスを最適化するために連携するいくつかの革新的な機能を利用しています。これらには、Weighted-Residual-Connections(WRC)、Cross-Stage-Partial-connections(CSP)、Cross mini-Batch Normalization(CmBN)、Self-adversarial-training(SAT)、Mish活性化、Mosaicデータ拡張、DropBlock正則化、およびCIoU損失が含まれます。これらの機能が組み合わされて、最先端の結果を達成します。

一般的な物体検出器は、入力、バックボーン、ネック、ヘッドなど、いくつかの部分で構成されています。YOLOv4のバックボーンはImageNetで事前トレーニングされており、クラスと物体のバウンディングボックスを予測するために使用されます。バックボーンには、VGG、ResNet、ResNeXt、DenseNetなどのいくつかのモデルを使用できます。検出器のネック部分は、さまざまな段階から特徴マップを収集するために使用され、通常、いくつかのボトムアップパスといくつかのトップダウンパスが含まれます。ヘッド部分は、最終的な物体検出と分類を行うために使用されるものです。

Bag of Freebies#

YOLOv4は、「バッグ・オブ・フリーズ(bag of freebies)」と呼ばれる手法も使用します。これは、推論コストを増加させることなく、トレーニング中のモデルの精度を向上させる技術です。データ拡張物体検出で使用される一般的なバッグ・オブ・フリーズ技術であり、入力画像の多様性を高めてモデルの堅牢性を向上させます。データ拡張の例には、光度歪み(画像の明るさ、コントラスト、色相、彩度、ノイズの調整)や幾何学歪み(ランダムなスケーリング、クロッピング、反転、回転の追加)などがあります。これらの技術は、モデルがさまざまなタイプの画像にうまく汎化するのに役立ちます。

機能とパフォーマンス#

YOLOv4は、物体検出において最適な速度と精度を実現するように設計されています。YOLOv4のアーキテクチャには、バックボーンとしてCSPDarknet53、ネックとしてPANet、検出ヘッドとしてYOLOv3が含まれています。この設計により、YOLOv4は驚異的な速度で物体検出を実行でき、リアルタイムアプリケーションに適しています。YOLOv4は精度にも優れており、COCOなどの物体検出ベンチマークで最先端の結果を達成しています。

YOLOv5YOLOv7などのYOLOファミリーの他のモデルと比較して、YOLOv4は速度と精度のバランスにおいて強い地位を維持しています。新しいモデルには特定の利点がある場合がありますが、YOLOv4のアーキテクチャ上の革新により、リアルタイムパフォーマンスを必要とする多くのアプリケーションにおいて依然として関連性を持っています。

使用例#

YOLOv4はDarknetベースのモデルであり、Ultralytics Pythonパッケージではネイティブサポートされていませんultralytics/assetsには事前学習済み重み yolov4.pt が公開されておらず、YAML ultralytics/cfg/models/v4/ も存在しません。このページはアーキテクチャのリファレンスとして維持されています。YOLOv4の実行に興味のあるユーザーは、インストールと使用方法についてYOLOv4のGitHubリポジトリを直接参照してください。

YOLOv4を使用するための典型的なステップの概要は以下の通りです。

  1. YOLOv4 GitHubリポジトリにアクセスしてください: https://github.com/AlexeyAB/darknet

  2. READMEファイルに記載されているインストール手順に従います。これには通常、リポジトリのクローン、必要な依存関係のインストール、および必要な環境変数の設定が含まれます。

  3. インストールが完了したら、リポジトリに記載されている使用方法に従ってモデルをトレーニングし、使用することができます。これには通常、データセットの準備、モデルパラメータの設定、モデルのトレーニング、そしてトレーニング済みモデルを使用した物体検出の実行が含まれます。

具体的な手順は、個々のユースケースやYOLOv4リポジトリの現状によって異なる場合があることに注意してください。そのため、YOLOv4 GitHubリポジトリで提供されている指示を直接参照することを強く推奨します。

Ultralyticsフレームワーク内でのトレーニングと推論については、YOLO11またはYOLO26を参照してください。

結論#

YOLOv4は、速度と精度のバランスをとる強力で効率的な物体検出モデルです。トレーニング中に独自の機能とバッグ・オブ・フリーズ技術を使用することで、リアルタイムの物体検出タスクで優れたパフォーマンスを発揮できます。YOLOv4は、従来のGPUを持つすべての人がトレーニングして使用できるため、監視システム自動運転車産業用オートメーションなど、幅広いアプリケーションでアクセスしやすく実用的です。

プロジェクトに物体検出を実装しようとしている人にとって、YOLOv4は、特にリアルタイムパフォーマンスが優先される場合に強力な候補であり続けます。Ultralyticsは現在YOLO11YOLO26などの新しいYOLOバージョンのサポートに注力していますが、YOLOv4で導入されたアーキテクチャの革新は、これらの後継モデルの開発に影響を与えました。

引用と謝辞#

リアルタイム物体検出の分野への多大な貢献に対して、YOLOv4の著者に敬意を表します。

引用
@misc{bochkovskiy2020yolov4,
      title={YOLOv4: Optimal Speed and Accuracy of Object Detection},
      author={Alexey Bochkovskiy and Chien-Yao Wang and Hong-Yuan Mark Liao},
      year={2020},
      eprint={2004.10934},
      archivePrefix={arXiv},
      primaryClass={cs.CV}
}

元のYOLOv4の論文はarXivにあります。著者は自分たちの研究を一般に公開しており、コードベースにはGitHubからアクセスできます。分野を発展させ、コミュニティ全体が利用できるようにした彼らの努力に感謝します。

よくある質問 (FAQ)#

YOLOv4とは何ですか?また、なぜ物体検出に使用する必要があるのですか?#

「You Only Look Once version 4」の略であるYOLOv4は、2020年にAlexey Bochkovskiyによって開発された最先端のリアルタイム物体検出モデルです。速度と精度の最適なバランスを実現し、リアルタイムアプリケーションに非常に適しています。YOLOv4のアーキテクチャには、最先端の結果を達成するために、Weighted-Residual-Connections(WRC)、Cross-Stage-Partial-connections(CSP)、Self-adversarial-training(SAT)などのいくつかの革新的な機能が組み込まれています。従来のGPU上で効率的に動作する高性能モデルをお探しの場合、YOLOv4は優れた選択肢です。

YOLOv4のアーキテクチャはどのようにしてパフォーマンスを向上させていますか?#

YOLOv4のアーキテクチャには、バックボーン、ネック、ヘッドといういくつかの主要なコンポーネントが含まれています。VGG、ResNet、CSPDarknet53などのモデルであるバックボーンは、クラスとバウンディングボックスを予測するように事前トレーニングされています。PANetを利用するネックは、包括的なデータ抽出のためにさまざまな段階からの特徴マップを接続します。最後に、YOLOv3の設定を使用するヘッドが、最終的な物体検出を行います。YOLOv4は、モザイクデータ拡張やDropBlock正則化などの「バッグ・オブ・フリーズ」技術も採用しており、速度と精度をさらに最適化しています。

YOLOv4における「bag of freebies」とは何ですか?#

「Bag of freebies(無料の贈り物)」とは、推論コストを上げずにYOLOv4のトレーニング精度を向上させる手法を指します。これらのテクニックには、光学的歪み(明るさ、コントラストの調整など)や幾何学的歪み(スケーリング、クロッピング、反転、回転)のようなさまざまなデータ拡張が含まれます。入力画像の多様性を高めることで、これらの拡張はYOLOv4がさまざまな種類の画像に対してより良く汎化するのを助け、リアルタイム性能を損なうことなく堅牢性と精度を向上させます。

なぜYOLOv4は一般的なGPUでのリアルタイム物体検出に適していると見なされているのですか?#

YOLOv4は速度と精度の両方を最適化するように設計されており、迅速で信頼性の高いパフォーマンスを必要とするリアルタイムの物体検出タスクに最適です。従来のGPU上で効率的に動作し、トレーニングと推論の両方に必要なGPUは1つだけです。これにより、レコメンデーションシステムからスタンドアロンのプロセス管理に至るまで、さまざまなアプリケーションでアクセスしやすく実用的になり、大規模なハードウェアセットアップの必要性が減り、リアルタイム物体検出のための費用対効果の高いソリューションになります。

現在Ultralyticsがサポートしていない場合、どのようにYOLOv4を開始できますか?#

YOLOv4を使い始めるには、公式のYOLOv4 GitHubリポジトリにアクセスしてください。READMEファイルに記載されているインストール手順に従ってください。通常、これにはリポジトリのクローン作成、依存関係のインストール、環境変数の設定が含まれます。インストールしたら、データセットの準備、モデルパラメータの構成、および提供されている使用方法の手順に従ってモデルをトレーニングできます。Ultralyticsは現在YOLOv4をサポートしていないため、最新かつ詳細なガイダンスについては、YOLOv4 GitHubを直接参照することをお勧めします。

コメント