YOLOv8 vs. YOLOv9: リアルタイム物体検出器の包括的な技術比較
リアルタイム物体検出の進化は、より高い精度、より低いレイテンシ、そしてハードウェア利用効率の向上を求める絶え間ない追求によって特徴づけられてきました。この歩みにおける2つの主要なマイルストーンが、Ultralytics YOLOv8とYOLOv9です。両モデルともコンピュータビジョンにおける最先端の能力を体現していますが、それぞれ異なるデプロイメントのニーズ、アーキテクチャの哲学、そして開発者エコシステムに対応しています。
本ガイドでは、技術的な違い、アーキテクチャの革新、そして実用的なデプロイメント上の考慮事項を網羅的に解説し、次回のAIプロジェクトに最適なモデルを選択するための手助けをします。
モデルの系譜と設計哲学
メトリクスの詳細に入る前に、各モデルの起源と主要な設計目標を理解することが重要です。
Ultralytics YOLOv8: 多用途なエコシステムの標準
UltralyticsのチームによってリリースされたYOLOv8は、単なる物体検出器としてではなく、統合されたマルチタスクフレームワークとして設計されました。シームレスな開発者体験、低いメモリ要件、そして幅広いハードウェア互換性を優先しています。
- 著者: Glenn Jocher, Ayush Chaurasia, and Jing Qiu
- 組織: Ultralytics
- 日付: 2023-01-10
- GitHub: ultralytics/ultralytics
- ドキュメント: YOLOv8 Docs
YOLOv9: プログラマブル勾配情報
Academia Sinicaの研究者らによって独自に開発されたYOLOv9は、アーキテクチャ理論、特に深層ニューラルネットワークにおける情報ボトルネック現象の解決に重点を置いています。
- 著者: Chien-Yao Wang および Hong-Yuan Mark Liao
- 組織: 台湾 中央研究院 情報科学研究所
- 日付: 2024-02-21
- Arxiv: 2402.13616
- GitHub: WongKinYiu/yolov9
大規模な商用デプロイを計画している場合は、クラウド上での学習の簡素化、データセット管理、ワンクリックAPIエンドポイントなどを提供するUltralytics Platformの活用をご検討ください。
アーキテクチャの徹底解説
深層学習におけるアーキテクチャの選択は、モデルの学習効率や、NVIDIA JetsonやIntel CPUといったターゲットハードウェア上での動作速度を左右します。
YOLOv8アーキテクチャ: C2fとデカップルドヘッド
YOLOv8では、従来のC3モジュールを置き換えるC2fモジュール(2つの畳み込みを備えたCross-Stage Partialボトルネック)が導入されました。この変更により勾配フローが改善され、GPUメモリに大きな負荷をかけることなく、ネットワークがより高度な特徴表現を学習できるようになりました。
さらに、YOLOv8はデカップルドヘッドを備えたアンカーフリー設計を採用しています。物体らしさ(objectness)、分類、回帰をそれぞれ独立した経路で処理することで、学習中のモデル収束が速まり、多様なカスタムデータセットへの汎化性能が向上しました。
YOLOv9アーキテクチャ: PGIとGELAN
YOLOv9では、**Programmable Gradient Information (PGI)とGeneralized Efficient Layer Aggregation Network (GELAN)**が導入されています。PGIは、ネットワーク層を通過する際に重要なデータが失われないようにし、重み更新のための信頼性の高い勾配を提供します。GELANはパラメータ効率を最大化し、FLOPsを抑えつつ高い精度を実現します。
数学的には優れた設計ですが、YOLOv9は学習時に特定の補助的な可逆分岐を利用するため、標準的なパイプラインと比較すると学習コードのカスタマイズが複雑になる場合があります。
パフォーマンス指標とベンチマーク
以下の表は、各モデルのサイズごとの直接比較を示しています。性能は、物体検出の標準的なベンチマークであるMS COCOデータセットを用いて測定されています。
| モデル | サイズ (ピクセル) | mAPval 50-95 | 速度 CPU ONNX (ms) | 速度 T4 TensorRT10 (ms) | パラメータ (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| YOLOv8n | 640 | 37.3 | 80.4 | 1.47 | 3.2 | 8.7 |
| YOLOv8s | 640 | 44.9 | 128.4 | 2.66 | 11.2 | 28.6 |
| YOLOv8m | 640 | 50.2 | 234.7 | 5.86 | 25.9 | 78.9 |
| YOLOv8l | 640 | 52.9 | 375.2 | 9.06 | 43.7 | 165.2 |
| YOLOv8x | 640 | 53.9 | 479.1 | 14.37 | 68.2 | 257.8 |
| 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 |
注: 各列の最良値は太字で示されています。
トレードオフの分析
YOLOv9は、特に大きなeバリアントにおいて、わずかに高いピーク精度(mAP)を達成します。しかし、それにはコストが伴います。Ultralytics YOLOv8は、TensorRTやONNXなどのフォーマットにコンパイルした場合において、推論速度で大きな利点を維持しています。Raspberry Piや旧型のモバイルチップといった制約のあるエッジハードウェア上で高いFPSを必要とするアプリケーションでは、YOLOv8のnおよびsバリアントの方が、性能とコストのバランスがはるかに実用的です。
学習の効率とエコシステムの統合
モデルの選択には、精度の表を見る以上の判断が必要です。開発者体験が何よりも重要だからです。
Ultralyticsの利点: 使いやすさ
YOLOv9の学習には多くの場合、複雑なGitHubリポジトリのクローン、PyTorch環境の慎重な管理、そして補助的な損失重みの手動設定が必要です。
対照的に、Ultralytics YOLOv8は驚くほど合理化されたPython APIによって支えられています。使いやすさを追求して構築されており、データ拡張、ロギング(Weights & BiasesやComet MLなどのツールへ)、およびハードウェア分散学習をネイティブで処理します。
from ultralytics import YOLO
# Load a pre-trained YOLOv8 small model
model = YOLO("yolov8s.pt")
# Train the model efficiently on custom data
results = model.train(data="custom_dataset.yaml", epochs=100, imgsz=640)
# Export for edge deployment
model.export(format="engine", half=True) # TensorRT exportこの単一のAPIにより、プロトタイプから本番環境への移行時間が劇的に短縮されます。さらに、YOLOv8は学習中のCUDAメモリ消費が一般的に少ないため、開発者はコンシューマーグレードのハードウェアでもより大きなバッチサイズを使用できます。
タスクの汎用性
YOLOv9は優れたバウンディングボックス検出器ですが、現実のAI活用にはそれ以上の機能が求められます。YOLOv8は多用途なパワーハウスであり、インスタンスセグメンテーション、姿勢推定、画像分類、および指向性バウンディングボックス (OBB)をネイティブでサポートしています。複数のタスクに単一のフレームワークを使用することで、ソフトウェアの肥大化とメンテナンスのオーバーヘッドを大幅に削減できます。
新しいプロジェクトを開始する場合は、Ultralytics YOLO11や、ネイティブでエンドツーエンドのNMSフリー設計を特徴とする最先端のYOLO26の評価も検討することをお勧めします。
実際のユースケース
これらのモデルは実運用においてどのような成果を上げるのでしょうか?
自律型ドローンとロボティクス
迅速な障害物回避を必要とするロボティクス用途では、YOLOv8が推奨される選択肢です。YOLOv8nの超低レイテンシにより、自律システムがリアルタイムで環境に対応し、衝突を防止します。OpenVINOおよびCoreMLへのネイティブエクスポート機能により、商用ドローンに一般的な低電力チップへのデプロイが容易になります。
高解像度の欠陥検出
微細な異常の検出が重要であり、オフライン処理が許容される特殊な製造現場では、YOLOv9が非常に効果的です。PGIアーキテクチャは、ネットワークが微細な亀裂やPCBハンダ付けエラーを特定するために必要な詳細な視覚情報を保持するのに役立ちます。
スマートリテールとセキュリティ分析
店舗内の通路での顧客追跡や自動チェックアウトシステムの管理において、YOLOv8は最適なバランスを提供します。BoT-SORTのような標準アルゴリズムを使用した検出と多物体追跡を同時に実行できる能力は、マルチカメラのリテール環境において堅牢なソリューションとなります。
ユースケースと推奨事項
YOLOv8とYOLOv9のどちらを選択するかは、特定のプロジェクト要件、デプロイの制約、およびエコシステムの好みに依存します。
YOLOv8を選択すべき場合
YOLOv8が適しているケース:
- 汎用的なマルチタスクデプロイメント: Ultralyticsエコシステム内で、検出、セグメンテーション、分類、姿勢推定 用の実証済みのモデルを必要とするプロジェクト。
- 確立されたプロダクションシステム: すでにYOLOv8アーキテクチャに基づいて構築されており、安定した十分にテストされたデプロイメントパイプラインを持つ既存のプロダクション環境。
- 広範なコミュニティおよびエコシステムのサポート: YOLOv8の豊富なチュートリアル、サードパーティ統合、活発なコミュニティリソースを活用できるアプリケーション。
YOLOv9を選択すべき場合
YOLOv9は以下の場合に推奨されます:
- 情報のボトルネック研究: プログラマブル勾配情報 (PGI) および Generalized Efficient Layer Aggregation Network (GELAN) アーキテクチャを研究する学術プロジェクト。
- 勾配フロー最適化の研究: 学習中の深層ネットワーク層における情報の損失を理解し、軽減することに焦点を当てた研究。
- 高精度検出のベンチマーク: アーキテクチャ比較の基準点として、YOLOv9の強力なCOCOベンチマークパフォーマンスが必要なシナリオ。
Ultralytics (YOLO26) を選択すべき場合
ほとんどの新規プロジェクトにおいて、Ultralytics YOLO26はパフォーマンスと開発者体験の最高の組み合わせを提供します:
- NMSフリーのエッジデプロイ: Non-Maximum Suppressionの後処理の複雑さを伴わずに、一貫した低レイテンシの推論が求められるアプリケーション。
- CPUのみの環境: 専用のGPUアクセラレーションがないデバイスにおいて、YOLO26の最大43%高速なCPU推論が決定的な利点となります。
- 小物体の検出: 航空ドローンの映像 やIoTセンサーの分析など、ProgLossとSTALが小物体の精度を大幅に高めることができる困難なシナリオ。
次の進化: YOLO26
YOLOv8とYOLOv9は強力ですが、AI業界の進化は非常に迅速です。最高レベルの性能を求めるチームのために、新たにリリースされたYOLO26は、これまでの各世代の成功の上に構築されています。
YOLO26はエンドツーエンドのNMSフリー設計を導入しており、複雑なポストプロセッシングのボトルネックを完全に排除することで、デプロイを簡素化し、レイテンシを予測可能にしました。新しいMuSGD Optimizerと強化されたProgLoss + STAL損失関数により駆動し、さらにDFL Removal(エクスポートの簡素化とエッジ/低電力デバイスへの適合性向上のため、Distribution Focal Lossを削除)によって、小物体認識を向上させつつ最大43%のCPU推論高速化を実現しています。エッジコンピューティングの限界に挑戦する開発者には、YOLO26の評価を強くお勧めします。
まとめると、YOLOv9は興味深いアーキテクチャ研究と優れたピーク精度を提供しますが、信頼性の高いソフトウェアを迅速にリリースすることを目指す大多数のコンピュータビジョンエンジニアにとって、Ultralytics YOLOv8は最も実用的で、サポートが充実しており、汎用性の高い選択肢であり続けています。