Link to this sectionYOLOv4: 高速かつ高精度な物体検出#
2020年にAlexey Bochkovskiy氏によって https://github.com/AlexeyAB/darknet で発表された、最先端のリアルタイム物体検出器であるYOLOv4のUltralyticsドキュメントページへようこそ。YOLOv4は、速度と精度の最適なバランスを提供するように設計されており、多くのアプリケーションにおいて優れた選択肢となります。
YOLOv4アーキテクチャ図。バックボーン、ネック、ヘッドの各コンポーネントを含むYOLOv4の複雑なネットワーク設計と、最適なリアルタイム物体検出を実現するためのそれらの相互接続されたレイヤーを示しています。
Link to this sectionはじめに#
YOLOv4は「You Only Look Once version 4」の略です。これは、YOLOv3などの以前のYOLOバージョンや他の物体検出モデルの制限に対処するために開発されたリアルタイム物体検出モデルです。他の convolutional neural network (CNN) ベースの物体検出器とは異なり、YOLOv4はレコメンデーションシステムだけでなく、スタンドアロンのプロセス管理や人的入力の削減にも適用可能です。一般的なgraphics processing units (GPUs) で動作するため、手頃な価格で大量利用が可能であり、標準的なGPUでリアルタイムに動作するように設計されているほか、トレーニングにもそのGPUを1つだけ必要とします。
Link to this sectionアーキテクチャ#
YOLOv4は、パフォーマンスを最適化するために連携するいくつかの革新的な機能を利用しています。これには、Weighted-Residual-Connections (WRC)、Cross-Stage-Partial-connections (CSP)、Cross mini-Batch Normalization (CmBN)、Self-adversarial-training (SAT)、Mish-activation、Mosaic data augmentation、DropBlock regularization、およびCIoU lossが含まれます。これらの機能は、最先端の結果を達成するために組み合わされています。
一般的なオブジェクト検出器は、入力、backbone、ネック、ヘッドといったいくつかのパーツで構成されています。YOLOv4のbackboneはImageNetで事前学習されており、オブジェクトのクラスとbounding boxesを予測するために使用されます。backboneには、VGG、ResNet、ResNeXt、DenseNetなど、いくつかのモデルを使用できます。検出器のネック部分は、異なるステージからfeature mapsを収集するために使用され、通常は複数のボトムアップパスとトップダウンパスが含まれます。ヘッド部分は、最終的なオブジェクト検出と分類を行うために使用されます。
Link to this sectionBag of Freebies#
YOLOv4は「bag of freebies(無料の贈り物)」と呼ばれる手法も活用しています。これは、推論コストを増加させることなく、トレーニング中のモデルの accuracy を向上させるテクニックです。Data augmentation は object detection で一般的に使用されるbag of freebies手法であり、入力画像の多様性を高めてモデルの堅牢性を向上させます。データ拡張の例としては、光学的歪み(画像の明るさ、コントラスト、色相、彩度、ノイズの調整)や幾何学的歪み(ランダムなスケーリング、クロッピング、反転、回転の追加)などがあります。これらのテクニックは、モデルがさまざまな種類の画像に対してより良く汎化するのに役立ちます。
Link to this section機能とパフォーマンス#
YOLOv4は、オブジェクト検出において最適な速度と精度を実現するように設計されています。YOLOv4のアーキテクチャには、backboneとしてCSPDarknet53、ネックとしてPANet、detection headとしてYOLOv3が含まれています。この設計により、YOLOv4は優れた速度でオブジェクト検出を実行できるため、リアルタイムアプリケーションに適しています。また、YOLOv4は精度にも優れており、COCOのようなオブジェクト検出のベンチマークにおいて最先端の性能を達成しています。
YOLOv5やYOLOv7など、他のYOLOファミリーのモデルと比較した場合、YOLOv4は速度と精度のバランスにおいて強力な地位を維持しています。新しいモデルには特定の利点があるかもしれませんが、YOLOv4のアーキテクチャ上の革新性は、リアルタイム性能を必要とする多くのアプリケーションにおいて、依然として重要な役割を果たしています。
Link to this section使用例#
YOLOv4 is a Darknet-based model and is not natively supported by the Ultralytics Python package: there are no yolov4.pt pretrained weights published on ultralytics/assets and no ultralytics/cfg/models/v4/ YAMLs. This page is kept as an architectural reference. Users interested in running YOLOv4 should refer directly to the YOLOv4 GitHub repository for installation and usage instructions.
YOLOv4を使用するための典型的なステップの概要は以下の通りです。
-
YOLOv4 GitHubリポジトリにアクセスします: https://github.com/AlexeyAB/darknet。
-
READMEファイルに記載されているインストール手順に従います。これには通常、リポジトリのクローン、必要な依存関係のインストール、および必要な環境変数の設定が含まれます。
-
インストールが完了したら、リポジトリに記載されている使用方法に従ってモデルをトレーニングし、使用することができます。これには通常、データセットの準備、モデルパラメータの設定、モデルのトレーニング、そしてトレーニング済みモデルを使用した物体検出の実行が含まれます。
具体的な手順は、個々のユースケースやYOLOv4リポジトリの現状によって異なる場合があることに注意してください。そのため、YOLOv4 GitHubリポジトリで提供されている指示を直接参照することを強く推奨します。
Ultralyticsフレームワーク内でのトレーニングおよび推論については、 YOLO11 または YOLO26 を参照してください。
Link to this section結論#
YOLOv4は、速度と精度のバランスをとる強力で効率的な物体検出モデルです。トレーニング中に独自の機能とbag of freebies手法を使用することで、リアルタイム物体検出タスクにおいて優れたパフォーマンスを発揮します。YOLOv4は、一般的なGPUを持つ人なら誰でもトレーニングして使用できるため、 surveillance systems、 autonomous vehicles、 industrial automation を含む幅広いアプリケーションにおいてアクセスしやすく、実用的です。
プロジェクトに物体検出を導入しようとしているユーザーにとって、YOLOv4は、特にリアルタイム性能が優先される場合に強力な候補となります。Ultralyticsは現在、 YOLO11 や YOLO26 のような新しいYOLOバージョンのサポートに注力していますが、YOLOv4で導入されたアーキテクチャの革新は、これらの後のモデルの開発に影響を与えています。
Link to this section引用と謝辞#
リアルタイム物体検出の分野への多大な貢献に対して、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 でアクセスできます。私たちは、この分野を前進させ、彼らの研究をより広範なコミュニティが利用できるようにした彼らの努力に感謝します。
Link to this sectionよくある質問 (FAQ)#
Link to this sectionYOLOv4とは何ですか?また、なぜ object detection にそれを使用すべきなのですか?#
「You Only Look Once version 4」の略であるYOLOv4は、2020年にAlexey Bochkovskiy氏によって開発された最先端のリアルタイム物体検出モデルです。速度と accuracy の最適なバランスを実現しており、リアルタイムアプリケーションに非常に適しています。YOLOv4のアーキテクチャには、最先端の結果を達成するために、Weighted-Residual-Connections (WRC)、Cross-Stage-Partial-connections (CSP)、Self-adversarial-training (SAT) などの革新的な機能が組み込まれています。一般的なGPUで効率的に動作する高性能なモデルを探しているなら、YOLOv4は優れた選択肢です。
Link to this sectionYOLOv4のアーキテクチャはどのようにしてパフォーマンスを向上させていますか?#
YOLOv4のアーキテクチャには、backbone、ネック、ヘッドといういくつかの主要コンポーネントが含まれています。VGG、ResNet、CSPDarknet53などのモデルを使用可能なバックボーンは、クラスとバウンディングボックスを予測するために事前トレーニングされています。PANetを利用するネックは、包括的なデータ抽出のために異なるステージからの feature maps を接続します。最後に、YOLOv3の構成を使用するヘッドが最終的な物体検出を行います。YOLOv4は、モザイクデータ拡張やDropBlock正則化のような「bag of freebies」技術も採用しており、速度と精度をさらに最適化しています。
Link to this sectionYOLOv4における「bag of freebies」とは何ですか?#
「Bag of freebies(無料の贈り物)」とは、推論コストを上げずにYOLOv4のトレーニング精度を向上させる手法を指します。これらのテクニックには、光学的歪み(明るさ、コントラストの調整など)や幾何学的歪み(スケーリング、クロッピング、反転、回転)のようなさまざまなデータ拡張が含まれます。入力画像の多様性を高めることで、これらの拡張はYOLOv4がさまざまな種類の画像に対してより良く汎化するのを助け、リアルタイム性能を損なうことなく堅牢性と精度を向上させます。
Link to this sectionなぜYOLOv4は一般的なGPUでのリアルタイム物体検出に適していると見なされているのですか?#
YOLOv4は速度と精度の両方を最適化するように設計されており、迅速で信頼性の高いパフォーマンスが求められるリアルタイム物体検出タスクに最適です。一般的なGPUで効率的に動作し、トレーニングと推論の両方に1つのGPUしか必要としません。これにより、 recommendation systems からスタンドアロンのプロセス管理に至るまで、さまざまなアプリケーションで利用しやすく実用的となっており、広範なハードウェア設定の必要性を減らし、リアルタイム物体検出のための費用対効果の高いソリューションとなっています。
Link to this section現在Ultralyticsがサポートしていない場合、どのようにYOLOv4を開始できますか?#
YOLOv4を開始するには、公式の YOLOv4 GitHubリポジトリ にアクセスしてください。READMEファイルに記載されているインストール手順に従ってください。これには通常、リポジトリのクローン、依存関係のインストール、環境変数の設定が含まれます。インストールが完了したら、データセットの準備、モデルパラメータの設定、および提供された使用方法に従ってモデルをトレーニングできます。Ultralyticsは現在YOLOv4をサポートしていないため、最新かつ詳細なガイダンスについてはYOLOv4 GitHubを直接参照することを推奨します。