コンテンツへスキップ

YOLOv4:高速で正確な物体検出

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

YOLOv4アーキテクチャ図 YOLOv4アーキテクチャ図.YOLOv4の複雑なネットワーク設計を紹介。バックボーン、ネック、ヘッドの各コンポーネントと、最適なリアルタイム物体検出のための相互接続レイヤーを含む。

はじめに

YOLOv4とは、You Only Look Once version 4の略です。YOLOv3や他のオブジェクト検出モデルのような以前のバージョンYOLO の制限に対処するために開発されたリアルタイムのオブジェクト検出モデルです。他の畳み込みニューラルネットワーク(CNN)ベースの物体検出とは異なり、YOLOv4は推薦システムだけでなく、単体のプロセス管理や人間の入力軽減にも適用可能です。従来のグラフィック・プロセッシング・ユニット(GPU)上で動作するため、手頃な価格で大量利用が可能であり、従来のGPU上でリアルタイムに動作するように設計されている一方、学習に必要なGPUは1つだけである。

建築

YOLOv4は、性能を最適化するために、いくつかの革新的な機能を利用している。これには、重み付け残差結合(WRC)、クロスステージ部分結合(CSP)、クロスミニバッチ正規化(CmBN)、自己逆説的学習(SAT)、ミッシュアクティベーション、モザイクデータ増強、DropBlock正則化、CIoU損失などが含まれる。これらの特徴を組み合わせることで、最先端の結果を達成している。

典型的な物体検出器は、入力、バックボーン、ネック、ヘッドを含むいくつかの部分から構成される。YOLOv4のバックボーンは、ImageNetで事前に訓練され、オブジェクトのクラスとバウンディングボックスを予測するために使用されます。バックボーンには、VGG、ResNet、ResNeXt、DenseNetなどのモデルを使用することができます。検出器の首の部分は、異なるステージから特徴マップを収集するために使用され、通常、いくつかのボトムアップ・パスといくつかのトップダウン・パスを含みます。ヘッド部分は、最終的なオブジェクトの検出と分類に使用されます。

福袋

YOLOv4はまた、"bag of freebies "として知られる手法も利用している。これは、推論コストを増加させることなく、学習中のモデルの精度を向上させる手法である。データ補強は、物体検出でよく使われるBag of Freebiesの手法で、入力画像のばらつきを増やしてモデルのロバスト性を向上させる。データ補強の例としては、測光歪み(画像の明るさ、コントラスト、色相、彩度、ノイズを調整する)や幾何学的歪み(ランダムな拡大縮小、切り取り、反転、回転を加える)などがある。これらのテクニックは、モデルが異なるタイプの画像に対してより良く一般化するのに役立ちます。

機能と性能

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

使用例

本稿執筆時点では、Ultralytics 、現在YOLOv4モデルをサポートしていない。そのため、YOLOv4の使用に興味があるユーザーは、インストールと使用方法について、YOLOv4のGitHubリポジトリを直接参照する必要がある。

YOLOv4を使用するための典型的なステップを簡単に説明します:

  1. YOLOv4のGitHubリポジトリhttps://github.com/AlexeyAB/darknet。

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

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

具体的な手順は、特定のユースケースやYOLOv4リポジトリの現在の状態によって異なる可能性があることに注意してください。そのため、YOLOv4のGitHubリポジトリで提供されている手順を直接参照することを強くお勧めします。

ご迷惑をおかけして申し訳ありません。YOLOv4のサポートが実装されましたら、Ultralytics 、このドキュメントに使用例を更新するよう努めます。

結論

YOLOv4は、スピードと精度のバランスを取ったパワフルで効率的な物体検出モデルです。YOLOv4は、学習時に独自の特徴とバッグ・オブ・フリービーズ技術を使用することで、リアルタイムの物体検出タスクで優れた性能を発揮します。YOLOv4は、従来のGPUがあれば誰でもトレーニングして使用することができるため、幅広い用途に利用可能で実用的です。

引用と謝辞

リアルタイム物体検出の分野における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でアクセスできる。我々は、この分野を発展させ、より広いコミュニティーが彼らの研究にアクセスできるようにした彼らの努力に感謝している。



作成日:2023-11-12 更新日:2024-01-07
作成者:glenn-jocher(6),sergiuwaxmann(1)

コメント