YOLOv9対YOLOv7:現代の物体検出に関する技術的な詳細解説
リアルタイム物体検出の進化は、計算効率と精度の両立という絶え間ない探求によって推進されてきました。この歩みにおける画期的な2つのアーキテクチャがYOLOv9とYOLOv7であり、どちらも台湾の中央研究院情報科学研究所の研究者らによって開発されました。YOLOv7が革新的な「訓練可能なbag-of-freebies」を導入したのに対し、新しいYOLOv9はディープラーニングにおける情報ボトルネックの問題に正面から取り組んでいます。
この包括的な技術比較では、両モデルのアーキテクチャの違い、性能指標、および最適な導入シナリオを探り、MLエンジニアや研究者が自身のコンピュータビジョンパイプラインに最適なツールを選択できるよう支援します。
パフォーマンスとメトリクスの比較
これらのモデルを比較する際、生のパフォーマンスと効率性は重要な要素です。以下の表は、標準的なCOCOデータセットのベンチマークにおける平均精度(mAP)と計算要件を詳細に示しています。
| モデル | サイズ (ピクセル) | mAPval 50-95 | 速度 CPU ONNX (ms) | 速度 T4 TensorRT10 (ms) | パラメータ (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 |
YOLOv9cがYOLOv7x(53.1 mAP)とほぼ同等の精度(53.0 mAP)を達成しながら、パラメータ数(25.3M対71.3M)とFLOPsを大幅に抑えている点に注目してください。これは、現代のアーキテクチャにおける性能バランスの改善を示しています。
YOLOv9:情報ボトルネックの解決
2024年初頭に導入されたYOLOv9は、ディープニューラルネットワークが層全体でデータを保持する方法を根本的に変えました。
- 著者: Chien-Yao Wang および Hong-Yuan Mark Liao
- 組織: 中央研究院 情報科学研究所
- 日付: 2024年2月21日
- リソース: Arxiv Paper | GitHub Repository
アーキテクチャの革新
YOLOv9は、Generalized Efficient Layer Aggregation Network(GELAN)とProgrammable Gradient Information(PGI)を導入しています。GELANはCSPNetとELANの長所を組み合わせ、パラメータ効率と計算コストを最適化することで、より少ないパラメータ数で高い精度を実現します。PGIは、ディープネットワークにおけるデータ損失を防ぐために設計された補助的な教師フレームワークであり、トレーニング過程で重みを更新するための信頼性の高い勾配を生成します。
強みと限界
YOLOv9の主な強みは、膨大な計算オーバーヘッドを伴わずに微細な特徴を抽出できる点にあり、医療画像解析のような高い特徴忠実度が求められるタスクにおいて非常に優れた能力を発揮します。ただし、トレーニング中の複雑なPGI構造により、より統一されたフレームワークと比較して、初心者にとってカスタムアーキテクチャの変更が難しくなる場合があります。
YOLOv7:Bag-of-Freebiesのパイオニア
2022年にリリースされたYOLOv7は、コンシューマー向けハードウェアで可能なことの新しい基準を打ち立て、リアルタイム推論速度を大幅に向上させる構造的な革新を導入しました。
- 著者: Chien-Yao Wang、Alexey Bochkovskiy、Hong-Yuan Mark Liao
- 組織: 中央研究院 情報科学研究所
- 日付: 2022年7月6日
- リソース: Arxiv Paper | GitHub Repository
アーキテクチャの革新
YOLOv7の核心的な貢献は、Extended Efficient Layer Aggregation Network(E-ELAN)です。このアーキテクチャにより、モデルはより多様な特徴を継続的に学習できるようになります。さらに、YOLOv7は「訓練可能なbag-of-freebies」を採用しており、計画的な再パラメータ化畳み込みや動的なラベル割り当てなどの手法が使われています。これらの手法は、デプロイ時の推論コストを追加することなく、トレーニング中のモデルの精度を向上させます。
強みと限界
YOLOv7はリアルタイムのエッジ処理向けに高度に最適化されており、レガシーシステムや古いCUDA環境においても依然として主要な選択肢です。現在の主な限界は、新しいモデルと比較してパラメータサイズが大きいことです。性能表に示すように、トップクラスの精度を達成するには重いYOLOv7xモデルが必要であり、これは同等の最新アーキテクチャよりも多くのGPUメモリを消費します。
Ultralyticsの利点:合理化されたデプロイ
YOLOv9とYOLOv7のオリジナルの研究リポジトリは優れた学術的基盤を提供していますが、これらのモデルを本番環境に導入することは複雑になる場合があります。ultralyticsパッケージを通じてこれらを統合することで、比類のない「使いやすさ(Ease of Use)」が提供されます。
統合されたUltralytics Platformを利用することで、開発者は直感的なPython API、活発なコミュニティサポート、堅牢な実験トラッキングを備えた十分に整備されたエコシステムの恩恵を受けることができます。
YOLO26による将来への備え
新しいコンピュータビジョンプロジェクトを開始する場合、YOLOv9やYOLOv7の両方よりも、新しくリリースされた**YOLO26**を探索することを強くお勧めします。新しい最先端標準としてリリースされたYOLO26は、画期的な進歩をもたらします:
- エンドツーエンドのNMSフリー設計: 非最大値抑制(NMS)の後処理を排除し、デプロイの複雑さとレイテンシを劇的に削減します。
- 最大43%高速なCPU推論: エッジコンピューティング環境向けに最適化されており、専用GPUなしでもアプリケーションがスムーズに実行されます。
- MuSGDオプティマイザー: LLMトレーニングに触発されたハイブリッドオプティマイザーで、非常に安定した収束を実現し、トレーニング時間を短縮します。
- DFLの削除: Distribution Focal Lossを削除することでモデルのエクスポートを簡素化し、低電力のモバイルデバイスとの互換性を高めています。
- ProgLoss + STAL: 小さな物体の検出性能を劇的に向上させ、航空画像や監視における最優先の選択肢となります。
エコシステム内の他の人気のある代替手段には、Ultralytics YOLOv8やYOLO11があり、これらはインスタンスセグメンテーションや姿勢推定などのタスクにわたって非常に高い汎用性を提供します。
実装例
これらのアーキテクチャのトレーニングとエクスポートは、統一されたAPIにより非常に簡単に行えます。以下のコードは、Ultralyticsツールの特徴である合理化された「トレーニング効率(Training Efficiency)」を示しています。
from ultralytics import YOLO
# Initialize YOLOv9 or the recommended YOLO26 model
model = YOLO("yolov9c.pt") # Swap with "yolo26n.pt" for faster edge performance
# Train on a custom dataset with built-in data augmentation
results = model.train(data="coco8.yaml", epochs=100, imgsz=640, batch=16, device=0)
# Export the trained model to ONNX format for deployment
model.export(format="onnx")コンシューマーグレードのハードウェアでトレーニングを行う場合、メモリ効率が極めて重要です。YOLOv9およびYOLO26のUltralytics実装は、トレーニング中に深刻なメモリ肥大化に陥りがちなTransformerベースのモデル(RT-DETRなど)とは異なり、VRAMのスパイクを削減するために高度に最適化されています。
実世界でのアプリケーションと理想的な使用例
これらのアーキテクチャの選択は、多くの場合、本番環境の特定の制約によって決まります。
YOLOv9の使用場面: YOLOv9は、詳細の保持が必要な環境で優れています。その堅牢な特徴抽出機能は、棚に密集した製品をカウントする小売分析や、小さな葉に発生する初期段階の作物の病気を特定することが重要な農業アプリケーションに最適です。
YOLOv7の使用場面: YOLOv7は、レガシーなデプロイパイプラインにとって依然として強力な候補です。古いハードウェアシステム(特定の世代のGoogle Coral Edge TPUなど)に統合する場合、YOLOv7のシンプルなCNNアーキテクチャは、新しいモデルの複雑な勾配分岐よりもコンパイルが容易な場合があります。
YOLO26の使用場面(推奨): 自律型ドローンからスマートシティの交通管理まで、あらゆる現代的なデプロイにおいて、YOLO26が最も優れた選択肢です。そのNMSフリーのアーキテクチャは確定的な推論時間を保証し、これは安全性に不可欠なロボット工学において重要であり、高い精度はあらゆる面でYOLOv9とYOLOv7を凌駕します。