YOLOv9 vs. YOLOv7:詳細な技術比較
物体検出のためにYOLOモデルを選択する場合、異なるバージョン間のニュアンスを理解することが重要です。このページでは、台湾のAcademia Sinicaの情報科学研究所の研究者によって開発されたYOLOシリーズの2つの重要なモデルであるYOLOv7とYOLOv9の間の詳細な技術比較を提供します。アーキテクチャの革新、パフォーマンスベンチマーク、およびさまざまなアプリケーションへの適合性を調査して、コンピュータビジョンプロジェクトで情報に基づいた意思決定を行うのに役立てます。
YOLOv9:学習を強化するProgrammable Gradient Information
2024年2月に発表されたYOLOv9は、深層ニューラルネットワークにおける情報損失に取り組み、モデルの性能を低下させる一般的な問題に対して、大きな進歩を遂げています。
著者: Chien-Yao Wang and 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): これはYOLOv9の中核となるイノベーションです。補助的な可逆ブランチを通じて信頼性の高い勾配を生成することにより、深層ネットワークにおける情報ボトルネックの問題に対処します。これにより、すべての層で重要な情報が保持され、より効果的なモデルトレーニングと、より優れた最終精度につながります。
- Generalized Efficient Layer Aggregation Network (GELAN): YOLOv9 は、パラメータ利用率と計算効率を最適化する新しいネットワークアーキテクチャを備えています。GELAN は、軽量で勾配パス計画に基づいたアーキテクチャであり、YOLOv5 などのモデルで重要な役割を果たした CSPNet などの設計の成功に基づいています。
長所
- 精度の向上: PGIとGELANの組み合わせにより、特に大規模モデルにおいて、YOLOv7と比較して優れた特徴抽出とより高い平均適合率 (mAP)スコアが実現されます。
- 効率の向上: YOLOv9は、YOLOv7よりも少ないパラメータと計算(FLOP)でより良い精度を達成します。たとえば、YOLOv9-Cは、YOLOv7xと同等のmAPを、66%少ないパラメータと46%少ないFLOPで達成します。
- 最先端: オリジナルのYOLOの作者による最新のイノベーションを代表し、リアルタイム物体検出で可能なことの限界を押し広げています。
弱点
- 計算需要: その精度に対して効率的である一方、高度なアーキテクチャ、特に YOLOv9-E のような大規模なバリアントでは、トレーニングとデプロイメントにかなりの計算リソースが必要となる場合があります。
- Newer Model: 最新のリリースであるため、コミュニティサポートとすぐに利用できるデプロイメントチュートリアルは、確立されたYOLOv7よりも少ない可能性があります。ただし、Ultralytics YOLOv9の実装により、合理化され、十分に文書化され、サポートされている環境が提供されることで、これは軽減されます。
ユースケース
YOLOv9は、オブジェクトを正確に検出することが重要な、最高の精度と効率を要求するアプリケーションに最適です。
- 自動運転車およびロボティクスにおける複雑な検出タスク。
- 小型または遮蔽されたオブジェクトの正確な検出を必要とする高度なセキュリティシステム。
- 高い忠実度が不可欠な医用画像解析におけるアプリケーション。
YOLOv7:速度と効率のために最適化
2022年7月にリリースされたYOLOv7は、リアルタイム推論において、速度と精度のトレードオフを大幅に最適化することを目指した画期的なモデルでした。
著者: Chien-Yao Wang, Alexey Bochkovskiy, and Hong-Yuan Mark Liao
所属: Institute of Information Science, Academia Sinica, Taiwan
日付: 2022-07-06
Arxiv: https://arxiv.org/abs/2207.02696
GitHub: https://github.com/WongKinYiu/yolov7
ドキュメント: https://docs.ultralytics.com/models/yolov7/
アーキテクチャと主な機能
YOLOv7 は、推論コストを増加させることなく、モデルをより高速かつ正確にするために、アーキテクチャとトレーニングプロセスの最適化に重点を置いています。
- Extended Efficient Layer Aggregation Network (E-ELAN): このアーキテクチャブロックは、元の勾配パスを中断することなく、より多様な特徴を学習できるようにすることで、ネットワークの学習能力を強化し、パフォーマンスを向上させます。
- モデルスケーリング: YOLOv7では、モデルの深度と幅に対する複合スケーリング手法が導入され、さまざまなモデルサイズと計算予算に合わせて効果的に最適化できるようになりました。
- Trainable Bag-of-Freebies: このコンセプトは、高度なデータ拡張やラベル割り当て戦略など、トレーニング中のさまざまな最適化手法を組み込んでいます。これらの手法は、推論中に計算上のオーバーヘッドを追加することなく、精度を向上させます。
長所
- 高速な推論速度: YOLOv7は速度のために高度に最適化されており、利用可能な最速の物体検出器の1つであり、さまざまなハードウェアでのリアルタイムアプリケーションに最適です。
- 強力なパフォーマンス: 競争力のあるmAPスコアを達成しており、多くの標準的な物体検出タスクにおいて信頼性が高く、強力な選択肢となります。
- 確立されたモデル: より長い期間利用可能であるYOLOv7は、幅広い採用、豊富なコミュニティリソース、およびさまざまな業界にわたる多くの実績のある導入事例から恩恵を受けています。
弱点
- ピーク精度の低下: 高速ではあるものの、複雑なシナリオや難しいオブジェクトが存在する場合、最新の YOLOv9 と比較してピーク精度が若干低いことがあります。
- Anchor-Based: 事前に定義されたアンカーボックスに依存するため、アスペクト比が通常と異なるオブジェクトの検出においては、アンカーフリーのアプローチよりも柔軟性に欠ける場合があります。
ユースケース
YOLOv7は、推論速度が最も重要な要素となるアプリケーションに適しています。
性能と効率:直接対決
YOLOv9とYOLOv7の主な違いは、精度、モデルサイズ、計算コストの間のトレードオフにあります。YOLOv9は効率の最前線を押し広げ、より少ないパラメータとFLOPsでより高い精度を実現します。例えば、YOLOv9-MはYOLOv7lと同じ51.4%のmAPを達成していますが、パラメータは46%、FLOPsは27%少なくなっています。この傾向はスケールアップするにつれて続き、YOLOv9-Eは55.6%のmAPで新たな最先端を確立し、すべてのYOLOv7バリアントを上回ります。
この効率の向上は、特定の精度目標に対して、YOLOv9がより小型、高速、かつエネルギー効率の高いモデルを提供することを意味します。
モデル | サイズ (ピクセル) |
mAPval 50-95 |
速度 CPU ONNX (ms) |
速度 T4 TensorRT10 (ms) |
params (M) |
FLOPs (B) |
---|---|---|---|---|---|---|
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 |
YOLOv7l | 640 | 51.4 | - | 6.84 | 36.9 | 104.7 |
YOLOv7x | 640 | 53.1 | - | 11.57 | 71.3 | 189.9 |
結論: どのモデルが最適か?
YOLOv7とYOLOv9はどちらも強力なモデルですが、わずかに異なる優先順位に対応しています。
-
アプリケーションで可能な限り最高の精度と効率が必要な場合は、YOLOv9を選択してください。そのアーキテクチャの進歩により、より小さなモデルから最高のパフォーマンスを引き出す必要がある、複雑なシーンやリソース制約のあるデプロイメントに最適です。
-
標準的なリアルタイムアプリケーション向けに、実績のある非常に高速なモデルが必要で、広大なコミュニティリソースを持つ、より確立されたアーキテクチャを使用したい場合は、YOLOv7を選択してください。
全体的に最高のエクスペリエンスを求める開発者や研究者には、Ultralyticsエコシステム内でこれらのモデルを使用することをお勧めします。新しいモデルであるUltralytics YOLOv8やYOLO11は、競争力のある性能を提供するだけでなく、以下のような大きな利点も備えています。
- 使いやすさ: シンプルなPython APIと充実したドキュメントによる合理化されたユーザーエクスペリエンス。
- 十分にメンテナンスされたエコシステム: アクティブな開発、強力なコミュニティサポート、およびノーコードトレーニングとデプロイメントのためのUltralytics HUBのようなツールとの統合。
- 多様性: 単一のフレームワーク内で、インスタンスセグメンテーション、ポーズ推定、分類など、検出以外の複数のタスクをサポートします。
- Training Efficiency: 効率的な学習プロセスと、すぐに利用できる事前学習済みの重み、そして他の多くのモデルタイプと比較して低いメモリ要件。
その他のモデルを見る
さらに比較検討を行うには、Ultralyticsドキュメントで利用可能な他の最先端モデルをご検討ください。