YOLOv8とYOLOv9の比較#
リアルタイム物体検出の進化は、精度の向上、低レイテンシ、ハードウェア利用効率の改善を絶えず追求してきた歴史として特徴付けられます。この歩みにおける2つの主要なマイルストーンが、Ultralytics YOLOv8とYOLOv9です。どちらのモデルもコンピュータビジョンにおける最先端の機能を備えていますが、対象とするデプロイ要件、アーキテクチャに対する考え方、開発者エコシステムはそれぞれ異なります。
この包括的なガイドでは、技術的な違い、アーキテクチャ上の革新、実際のデプロイに関する考慮事項を詳しく解説し、次の人工知能プロジェクトに適したモデルを選択できるようにします。
モデルの系譜と中核となる設計思想#
メトリクスを詳しく確認する前に、それぞれのモデルの起源と主な設計目標を理解することが重要です。
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モジュール(ステージ間部分接続ボトルネックと2つの畳み込み)が導入されました。この変更により勾配フローが改善され、GPUメモリに大きな負荷をかけることなく、ネットワークがより豊かな特徴表現を学習できるようになります。
さらに、YOLOv8はアンカーフリー設計と分離ヘッドを採用しています。物体性、分類、回帰を別々の経路で処理することで、モデルはトレーニング中により速く収束し、多様なカスタムデータセットに対してより適切に汎化します。
YOLOv9のアーキテクチャ:PGIとGELAN#
YOLOv9では、**プログラマブル勾配情報(PGI)と一般化効率的レイヤー集約ネットワーク(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", quantize=16) # 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エコシステム内で、detection、segmentation、classification、pose estimationに対応する実績のあるモデルが必要なプロジェクト。
- 確立された本番システム: YOLOv8アーキテクチャを基盤としてすでに構築され、安定した十分にテスト済みのデプロイパイプラインを備えた既存の本番環境。
- 幅広いコミュニティとエコシステムのサポート: YOLOv8の豊富なチュートリアル、サードパーティー統合、活発なコミュニティリソースの恩恵を受けるアプリケーション。
YOLOv9を選ぶタイミング#
YOLOv9は次の用途に推奨されます。
- 情報ボトルネックの研究: プログラマブル勾配情報(PGI)および汎用効率的レイヤー集約ネットワーク(GELAN)アーキテクチャを研究する学術プロジェクト。
- 勾配フロー最適化の研究: 学習中の深層ネットワーク層における情報損失の理解と軽減に重点を置く研究。
- 高精度検出のベンチマーク: アーキテクチャ比較の基準点として、YOLOv9の優れたCOCOベンチマーク性能が必要なシナリオ。
Ultralytics (YOLO26)を選ぶタイミング#
ほとんどの新規プロジェクトでは、Ultralytics YOLO26が性能と開発者エクスペリエンスの最適な組み合わせを提供します。
- NMSフリーのエッジデプロイ: Non-Maximum Suppressionの後処理を複雑にすることなく、一貫した低レイテンシー推論が必要なアプリケーション。
- CPUのみの環境: 専用GPUアクセラレーションを持たないデバイスで、YOLO26の最大43%高速なCPU推論が決定的な優位性となる場合。
- 小さな物体の検出: aerial drone imageryやIoTセンサー分析など、ProgLossとSTALによって微小物体の精度が大幅に向上する難しいシナリオ。
次の進化:YOLO26#
YOLOv8とYOLOv9は強力なモデルですが、AIの状況は急速に変化しています。最高水準の性能を求めるチーム向けに、新たにリリースされたYOLO26は、これらの前世代モデルの成功を基盤に構築されています。
YOLO26はエンドツーエンドのNMSフリー設計を導入し、複雑な後処理のボトルネックを完全に排除することで、デプロイを簡素化し、レイテンシをより予測しやすくします。新しいMuSGD Optimizerと強化されたProgLoss + STAL損失関数、さらにDFL Removal(Distribution Focal Lossを削除してエクスポートを簡素化し、エッジデバイスや低消費電力デバイスとの互換性を向上)により、速度を向上させながら小さな物体の認識性能を高め、最大でCPU推論を43%高速化します。エッジコンピューティングの限界に挑む開発者には、YOLO26の評価を強く推奨します。
まとめると、YOLOv9は興味深いアーキテクチャ研究と優れたピーク精度を提供しますが、Ultralytics YOLOv8は、信頼性の高いソフトウェアを迅速に提供したい大多数のコンピュータビジョンエンジニアにとって、依然として最も実用的で、十分にサポートされ、汎用性の高い選択肢です。