コンテンツへスキップ

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

よくあるご質問

YOLOv4とは何ですか?なぜ物体検出に使う必要があるのですか?

YOLOv4とは「You Only Look Once version 4」の略で、2020年にアレクセイ・ボフコフスキーによって開発された最先端のリアルタイム物体検出モデルである。速度と精度の最適なバランスを実現し、リアルタイムアプリケーションに非常に適している。YOLOv4のアーキテクチャには、重み付け残差結合(WRC)、クロスステージ部分結合(CSP)、自己逆説的学習(SAT)などの革新的な機能が組み込まれており、最先端の結果を実現している。従来のGPUで効率的に動作する高性能モデルをお探しなら、YOLOv4が最適です。

YOLOv4のアーキテクチャーはどのように性能を高めているのですか?

YOLOv4のアーキテクチャには、バックボーン、ネック、ヘッドといういくつかの重要なコンポーネントがある。バックボーンは、VGG、ResNet、CSPDarknet53のようなモデルで、クラスとバウンディングボックスを予測するために事前に訓練されている。首はPANetを利用し、異なるステージからの特徴マップを接続し、包括的なデータ抽出を行う。最後に、YOLOv3の設定を使用する頭部が、最終的なオブジェクトの検出を行う。YOLOv4はまた、モザイクデータの補強やDropBlock正則化のような "bag of freebies "技術を採用し、速度と精度をさらに最適化している。

YOLOv4でいうところの "オマケ袋 "とは?

「Bag of freebies」とは、推論コストを増加させることなくYOLOv4の学習精度を向上させる手法のことである。これらの手法には、写真的歪み(明るさ、コントラストなどの調整)や幾何学的歪み(スケーリング、トリミング、反転、回転)などの様々な形式のデータ補強が含まれる。入力画像の可変性を高めることで、これらの補強はYOLOv4が異なるタイプの画像に対してより良く汎化するのを助け、リアルタイム性能を損なうことなく、ロバスト性と精度を向上させます。

なぜYOLOv4が従来のGPUでのリアルタイム物体検出に適していると考えられているのか?

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

Ultralytics 、現在YOLOv4がサポートされていない場合、どうすれば使い始めることができますか?

YOLOv4を使い始めるには、YOLOv4の公式GitHubリポジトリにアクセスする必要がある。READMEファイルに記載されているインストール手順に従い、リポジトリのクローン、依存関係のインストール、環境変数の設定を行う。インストールが完了したら、データセットを準備し、モデル・パラメーターを設定し、提供されている使用方法に従ってモデルをトレーニングすることができる。現在、Ultralytics はYOLOv4をサポートしていないため、最新の詳細なガイダンスについては、YOLOv4のGitHubを直接参照することを推奨する。



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

コメント