YOLOv8 と YOLOv9 の比較#
リアルタイム物体検出の進化は、より高い精度、より低いレイテンシ、そして向上したハードウェア活用の絶え間ない追求によって特徴づけられます。この道のりにおける2つの主要なマイルストーンが、Ultralytics YOLOv8 と YOLOv9 です。どちらのモデルも computer vision における最先端の機能備えていますが、異なるデプロイニーズ、アーキテクチャの哲学、および開発者エコシステムに対応しています。
本包括ガイドでは、技術的な違い、アーキテクチャの革新、および実用的なデプロイメントにおける考慮事項を解説し、あなたの次の人工知能プロジェクトに適したモデルを選択できるよう支援します。
モデルの系譜と設計思想#
メトリクスを詳しく見る前に、各モデルの背景にある起源と主要な設計目標を理解することが重要です。
Ultralytics YOLOv8: 多用途なエコシステムのスタンダード#
Ultralytics のチームによってリリースされた YOLOv8 は、単なるスタンドアロンの物体検出器としてだけでなく、統合されたマルチタスクフレームワークとして設計されました。シームレスな開発者体験、低いメモリ要件、および幅広いハードウェア互換性を優先しています。
- 著者: Glenn Jocher, Ayush Chaurasia, 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 module (2つの畳み込みを持つクロスステージ部分ボトルネック) を導入しました。この変更により勾配フローが改善され、GPU memory に大きな負担をかけることなく、ネットワークがより豊かな特徴表現を学習できるようになります。
さらに、YOLOv8 は decoupled head を備えた anchor-free 設計を利用しています。物体らしさ (objectness)、分類、および回帰を別々のパスウェイで処理することにより、モデルはトレーニング中に高速に収束し、多様な custom datasets に対してよりよく汎化します。
YOLOv9 のアーキテクチャ: PGI と GELAN#
YOLOv9 は Programmable Gradient Information (PGI) と Generalized Efficient Layer Aggregation Network (GELAN) を導入しています。PGI は、ネットワークのレイヤーを通過する際に重要なデータが失われないように保証し、重み更新のための信頼性の高い勾配を提供します。GELAN はパラメータ効率を最大化し、FLOPs を管理可能な状態に保ちながら、モデルが高い accuracy を達成できるようにします。
数学的には非常に印象的ですが、YOLOv9 はトレーニング中に特定の補助的な可逆ブランチに依存するため、標準的なパイプラインと比較してトレーニングコードのカスタマイズが複雑になる可能性があります。
パフォーマンス指標とベンチマーク#
以下の表は、さまざまなサイズにわたるモデルの直接比較を提供します。パフォーマンスは、物体検出の標準的なベンチマークである MS COCO dataset で測定されています。
| モデル | サイズ (ピクセル) | 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 などのフォーマットにコンパイルされた場合、inference speed において大きな優位性を維持します。制約のあるエッジハードウェア (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", quantize=16) # TensorRT exportこの単一の API により、プロトタイプから本番環境までの時間を劇的に短縮できます。さらに、YOLOv8 はトレーニング中の CUDA メモリ消費量が一般的に低く、コンシューマ向けハードウェアでも大きなバッチサイズを使用することが可能です。
タスクの汎用性#
YOLOv9 は優れたバウンディングボックス検出器ですが、現実世界のビジョン AI にはそれ以上のものが求められることがよくあります。YOLOv8 は、Instance Segmentation、Pose Estimation、Image Classification、および Oriented Bounding Boxes (OBB) をネイティブでサポートする、汎用性の高いパワーハウスです。複数のタスクに単一のフレームワークを使用することで、ソフトウェアの肥大化と保守のオーバーヘッドが大幅に削減されます。
新しいプロジェクトを開始する場合は、Ultralytics YOLO11 や、エンドツーエンドの NMS-free 設計をネイティブに備えた最先端の YOLO26 の評価も検討するとよいでしょう。
実際のユースケース#
これらのモデルは本番環境でどのように機能するのでしょうか?
自律型ドローンとロボティクス#
迅速な障害物回避を必要とするロボティクスには、YOLOv8 が推奨される選択肢です。YOLOv8n の超低レイテンシにより、自律システムが環境にリアルタイムで反応し、衝突を防ぐことができます。OpenVINO および CoreML へのネイティブエクスポート機能により、商用ドローンによく見られる低電力チップへのデプロイが容易になります。
高解像度欠陥検出#
微細な異常の検出が重要であり、オフライン処理が許容される特殊な製造現場では、YOLOv9 が非常に効果的です。PGI アーキテクチャにより、ネットワークはヘアラインクラックや PCB はんだ付けエラーを特定するために必要な細かな視覚的詳細を保持できます。
スマートリテールとセキュリティ分析#
店舗の通路で顧客を追跡したり、automated checkout systems を管理したりする場合、YOLOv8 は最高のバランスを提供します。BoT-SORT などの標準アルゴリズムを使用して、検出と multi-object tracking を同時に実行する機能により、マルチカメラの小売デプロイメント向けの堅牢なソリューションとなります。
ユースケースと推奨事項#
YOLOv8 と YOLOv9 のどちらを選択するかは、特定のプロジェクト要件、デプロイメントの制約、およびエコシステムの好みによって決まります。
YOLOv8を選択すべき場合#
YOLOv8は、以下のようなケースに適した強力な選択肢です。
- 多彩なマルチタスクデプロイ: Ultralyticsエコシステム内でのdetection、segmentation、classification、およびpose estimationに実証済みのモデルを必要とするプロジェクト。
- 確立された運用システム: 既にYOLOv8アーキテクチャ上で構築され、安定してテストされたデプロイメントパイプラインを持つ既存の運用環境。
- 広範なコミュニティとエコシステムのサポート: YOLOv8の広範なチュートリアル、サードパーティ統合、アクティブなコミュニティリソースを活用できるアプリケーション。
YOLOv9を選択すべき場合#
YOLOv9は以下の場合に推奨されます:
- 情報ボトルネック研究: Programmable Gradient Information (PGI)およびGeneralized Efficient Layer Aggregation Network (GELAN)アーキテクチャを研究する学術プロジェクト。
- 勾配フロー最適化の研究: トレーニング中の深層ネットワーク層における情報損失の理解と軽減に重点を置いた研究。
- 高精度検出ベンチマーク: アーキテクチャ比較の基準点として、YOLOv9の強力なCOCOベンチマークパフォーマンスが必要とされるシナリオ。
Ultralytics (YOLO26) を選択すべき時#
ほとんどの新しいプロジェクトにおいて、Ultralytics YOLO26はパフォーマンスと開発者体験の最高の組み合わせを提供します。
- NMSフリーのエッジ展開: Non-Maximum Suppression後処理の複雑さを伴わずに、一貫した低レイテンシの推論が求められるアプリケーション。
- CPUのみの環境: GPUアクセラレーションを利用できないデバイスにおいて、YOLO26の最大43%高速なCPU推論が決定的な利点となる場合。
- 小物体検出: ProgLossとSTALにより極小オブジェクトの精度が大幅に向上する、空中ドローン画像やIoTセンサー分析などの困難なシナリオ。
次の進化:YOLO26#
YOLOv8 と YOLOv9 は強力ですが、AI 分野の動きは急速です。究極のパフォーマンスを求めるチームにとっては、前世代の成功の上に構築された新リリースの YOLO26 が適しています。
YOLO26 は end-to-end NMS-free design を導入しており、複雑な後処理のボトルネックを完全に排除し、デプロイをよりシンプルに、レイテンシをより予測可能にします。新しい MuSGD Optimizer と強化された ProgLoss + STAL 損失関数によって駆動され、さらに DFL Removal (エクスポートの簡素化とエッジ/低電力デバイスとの互換性向上のために分布焦点損失を削除) により、小物体認識を向上させながら 最大43%高速なCPU推論 を実現します。エッジコンピューティングの限界に挑戦する開発者にとって、YOLO26 の評価が強く推奨されます。
要約すると、YOLOv9 は魅力的なアーキテクチャ研究と優れたピーク精度を提供しますが、信頼性の高いソフトウェアを迅速に提供しようとするコンピュータビジョンエンジニアの大多数にとって、Ultralytics YOLOv8 は依然として最も実用的で、サポートが充実しており、多用途な選択肢です。