YOLOv5 vs YOLOv9:詳細な比較
このページでは、Ultralytics YOLOv5とYOLOv9という2つの重要な物体検出モデルの技術比較を提供します。どちらのモデルも、リアルタイム物体検出において速度と精度のバランスを取ることで知られる、影響力のあるYOLO(You Only Look Once)シリーズの一部です。この比較では、アーキテクチャの違い、パフォーマンス指標、理想的なユースケースを調査し、コンピュータビジョンプロジェクトに最適なモデルを選択できるよう支援します。
Ultralytics YOLOv5:確立された業界標準
Author: Glenn Jocher
Organization: Ultralytics
Date: 2020-06-26
GitHub: https://github.com/ultralytics/yolov5
Documentation: https://docs.ultralytics.com/models/yolov5/
Ultralytics YOLOv5は、その卓越したスピード、精度、そして使いやすさにより、リリース後すぐに人気を博しました。PyTorchで完全に開発されたYOLOv5は、バックボーンとしてCSPDarknet53、特徴集約にPANet、そして効率的なアンカーベースの検出ヘッドを利用したアーキテクチャを特徴としています。さまざまなモデルサイズ(n、s、m、l、x)を提供し、ユーザーは計算リソースとパフォーマンスのニーズに基づいて選択できます。
長所
- 卓越した速度と効率性: YOLOv5は高速な推論のために高度に最適化されており、エッジデバイスを含む様々なハードウェア上でのリアルタイムアプリケーションに最適です。
- 使いやすさ: Ultralytics YOLOv5は、その効率化されたユーザーエクスペリエンス、シンプルなPythonおよびCLIインターフェース、および豊富なドキュメントで知られています。
- 優れた維持管理体制のエコシステム: 活発な開発、大規模で支援的なコミュニティ、頻繁なアップデート、ノーコードトレーニングのためのUltralytics HUBのような包括的なリソースを特徴とする、統合されたUltralyticsエコシステムの恩恵を受けています。
- パフォーマンスバランス: 推論速度と検出精度の間で強力なトレードオフを実現し、多様な現実世界のデプロイメントシナリオに適しています。
- 多様性: 物体検出、インスタンスセグメンテーション、画像分類など、複数のタスクをサポートします。
- 学習効率: 効率的な学習プロセス、すぐに利用できる事前学習済みウェイト、および一般的に他の多くのアーキテクチャ、特にTransformerベースのモデルと比較して低いメモリ要件を提供します。
弱点
- 精度: 当時は非常に高精度でしたが、COCOなどのベンチマークでは、YOLOv9のような新しいモデルの方が高いmAPスコアを達成できます。
- Anchor-Based: 事前に定義されたアンカーボックスに依存しているため、特定データセットに対して、アンカーフリーアプローチと比べてより多くの調整が必要となる場合があります。
ユースケース
- リアルタイムビデオ監視およびセキュリティシステム。
- Raspberry PiやNVIDIA Jetsonのような、リソース制約のあるエッジデバイスへのデプロイメント。
- コンピュータビジョンによる製造業の改善など、産業オートメーションおよび品質管理。
- 使いやすさと堅牢なエコシステムにより、迅速なプロトタイピングと開発が可能です。
YOLOv9:斬新な技術による精度向上
著者: Chien-Yao Wang, Hong-Yuan Mark Liao
所属: Institute of Information Science, Academia Sinica, Taiwan
日付: 2024-02-21
Arxiv: https://arxiv.org/abs/2402.13616
GitHub: https://github.com/WongKinYiu/yolov9
ドキュメント: https://docs.ultralytics.com/models/yolov9/
YOLOv9は、Programmable Gradient Information(PGI)とGeneralized Efficient Layer Aggregation Network(GELAN)という重要なアーキテクチャの革新を導入しています。PGIは、損失関数の計算のために完全な入力情報を提供することにより、データが深層ネットワークを流れる際の情報損失を軽減することを目的としています。GELANは、優れたパラメータ利用率と計算効率のために設計された新しいアーキテクチャです。これらの進歩により、YOLOv9は効率を維持しながら、より高い精度を達成できます。
長所
- 精度の向上: リアルタイムオブジェクト検出器において、COCOデータセットで新たな最先端の結果を確立し、YOLOv5や他のモデルをmAPで上回ります。
- 効率の向上: GELANとPGIは、以前のモデルと比較して同等またはより優れたパフォーマンスのために、より少ないパラメータと計算リソース(FLOP)を必要とするモデルに貢献します。
- 情報保持: PGIは、情報のボトルネックの問題に効果的に対処し、より深く、より複雑なネットワークを正確にトレーニングするために不可欠です。
弱点
- 学習リソース: YOLOv9のドキュメントに記載されているように、YOLOv9モデルの学習は、Ultralytics YOLOv5と比較して、より多くのリソースを消費し、時間がかかる場合があります。
- Newer Architecture: 異なる研究グループによるより新しいモデルであるため、そのエコシステム、コミュニティサポート、およびサードパーティの統合は、確立されたUltralytics YOLOv5よりも成熟度が低いです。
- タスクの汎用性: 主に物体検出に重点を置いており、YOLOv5やYOLOv8のようなUltralyticsモデルにあるセグメンテーション、分類、姿勢推定に対する組み込みサポートがありません。
ユースケース
- 可能な限り最高のオブジェクト検出精度を必要とするアプリケーション。
- 高いパフォーマンスと並んで計算効率が重要なシナリオ。
- 高度なビデオ分析と高精度な産業検査。
- 交通管理におけるAIおよびスマートシティアプリケーションで、最高レベルの検出が求められる場合。
性能とベンチマーク:YOLOv5 vs. YOLOv9
性能を比較すると、YOLOv9モデルは一般的にYOLOv5の対応モデルよりも高いmAPスコアを達成しており、そのアーキテクチャの革新性が効果的であることを示しています。ただし、Ultralytics YOLOv5は、その卓越した推論速度と高度に最適化された実装により、依然として強力な地位を維持しており、フレーム/秒(FPS)が重要な指標となるリアルタイムアプリケーションにとって強力な選択肢となっています。
モデル | サイズ (ピクセル) |
mAPval 50-95 |
速度 CPU ONNX (ms) |
速度 T4 TensorRT10 (ms) |
params (M) |
FLOPs (B) |
---|---|---|---|---|---|---|
YOLOv5n | 640 | 28.0 | 73.6 | 1.12 | 2.6 | 7.7 |
YOLOv5s | 640 | 37.4 | 120.7 | 1.92 | 9.1 | 24.0 |
YOLOv5m | 640 | 45.4 | 233.9 | 4.03 | 25.1 | 64.2 |
YOLOv5l | 640 | 49.0 | 408.4 | 6.61 | 53.2 | 135.0 |
YOLOv5x | 640 | 50.7 | 763.2 | 11.89 | 97.2 | 246.4 |
YOLOv9t | 640 | 38.3 | - | 2.3 | 2.0 | 7.7 |
YOLOv9s | 640 | 46.8 | - | 3.54 | 7.1 | 26.4 |
YOLOv9m | 640 | 51.4 | - | 6.43 | 20.0 | 76.3 |
YOLOv9c | 640 | 53.0 | - | 7.16 | 25.3 | 102.1 |
YOLOv9e | 640 | 55.6 | - | 16.77 | 57.3 | 189.0 |
アーキテクチャの詳細
YOLOv5アーキテクチャ
Ultralytics YOLOv5 のアーキテクチャは、YOLO ファミリーの原則を改良した実装です。これは、次の 3 つの主要な部分で構成されています。
- Backbone: CSPDarknet53ネットワーク。これは、精度を維持しながら計算を削減するために、Cross Stage Partial(CSP)モジュールを組み込んだDarknet-53の修正版です。
- ネック: Path Aggregation Network (PANet)を使用して、さまざまなバックボーンレベルから特徴を集約し、さまざまなスケールでのオブジェクトの検出を改善します。
- ヘッド: 検出ヘッドはアンカーベースであり、事前定義されたアンカーボックスの形状からバウンディングボックスを予測します。これにより、高速性が実現されています。
YOLOv9アーキテクチャ
YOLOv9は、精度と効率の限界を押し広げるための新しいコンセプトを導入しています。
- Programmable Gradient Information (PGI): このメカニズムは、深層ネットワークにおける情報ボトルネックの問題に対処するように設計されています。損失関数の計算に完全な入力情報が利用できるようにすることで、より信頼性の高い勾配更新と、より優れたモデルの収束につながります。
- Generalized Efficient Layer Aggregation Network (GELAN): これは、CSPNet と ELAN の原則に基づいて構築された新しいネットワークアーキテクチャです。GELAN は、パラメータ利用率と計算効率を最適化するように設計されており、モデルがより少ないリソースでより高い精度を達成できるようにします。
トレーニングとエコシステム
Ultralytics YOLOv5が真に輝くのは、トレーニングエクスペリエンスとエコシステムのサポートです。
- 使いやすさ: YOLOv5は、シンプルなコマンドラインおよびPython API、豊富なチュートリアル、包括的なドキュメントにより、非常にユーザーフレンドリーなエクスペリエンスを提供します。
- 充実したエコシステム: 公式Ultralyticsモデルとして、YOLOv5は、活発な開発、GitHubとDiscord上の大規模なコミュニティ、頻繁なアップデート、そしてUltralytics HUBのようなMLOpsツールとのシームレスな統合を含む、堅牢なエコシステムの一部です。
- Training Efficiency: YOLOv5 はトレーニング効率が高く、すぐに利用できる事前学習済みウェイトと、より複雑なアーキテクチャと比較してより低いメモリ要件を備えています。これにより、より幅広いハードウェアを持つユーザーがアクセスできるようになります。
YOLOv9は強力なモデルですが、そのトレーニングプロセスはより要求が厳しくなる可能性があり、そのエコシステムはUltralyticsモデルほど成熟または統合されていません。トレーニングからデプロイメントまでのスムーズで、十分にサポートされたパスを探している開発者にとって、YOLOv5は明確な利点を提供します。
結論: どのモデルを選ぶべきか?
YOLOv5とYOLOv9はいずれも優れたモデルですが、それぞれ異なる優先順位に対応しています。
-
Ultralytics YOLOv5は、速度、使いやすさ、および成熟した、十分にサポートされたエコシステムを優先する開発者にとって理想的な選択肢です。その卓越したパフォーマンスバランスは、リアルタイムアプリケーション、迅速なプロトタイピング、およびリソースが制約されたエッジAIデバイスへのデプロイメントに最適です。複数のビジョンタスクにわたるその汎用性は、汎用ビジョンAIフレームワークとしての価値を高めます。
-
YOLOv9は、可能な限り最高の物体検出精度を達成することが主な目的であり、トレーニングのための計算リソースがあまり懸念されないアプリケーションに最適です。その革新的なアーキテクチャは、困難なベンチマークで最先端の結果を提供します。
特に、強力なコミュニティと商用サポートを備えた、信頼性が高く、高速で、使いやすいモデルを探しているほとんどのユーザーにとって、Ultralytics YOLOv5は依然としてトップの推奨事項です。Ultralyticsの最新の進歩に関心のある方には、YOLOv8や最新のYOLO11のようなモデルが、Ultralyticsのエコシステムを特徴付けるユーザーフレンドリーな体験を維持しながら、さらに優れた性能と汎用性を提供します。