YOLOv9とYOLOv8#
リアルタイムコンピュータービジョンはここ数年で大きく進歩し、新しいモデルが登場するたびに、エッジデバイスとクラウドサーバーの両方で実現可能な範囲が理論的に広がっています。新しいYOLOv9アーキテクチャと、広く普及しているUltralytics YOLOv8フレームワークを比較する際、開発者は最先端の理論的な勾配経路と、実績豊富で本番環境に対応したエコシステムのどちらを選ぶか検討することになります。
この包括的なガイドでは、両モデルのアーキテクチャ上の革新、性能指標、理想的なデプロイメントシナリオを比較し、次の人工知能プロジェクトに適したモデルの選択を支援します。
技術仕様と開発者#
これらのモデルの系譜を理解すると、それぞれの設計上の選択を把握するための重要な背景情報が得られます。
YOLOv9 台湾の中央研究院情報科学研究所に所属するChien-Yao Wang氏とHong-Yuan Mark Liao氏が執筆したYOLOv9は、2024年2月21日にリリースされました。研究の中心は、深層ニューラルネットワークにおける情報ボトルネックの解消です。原著のYOLOv9研究論文はarXivで、ソースコードはYOLOv9公式GitHubリポジトリで確認できます。
Ultralytics YOLOv8 UltralyticsのGlenn Jocher氏、Ayush Chaurasia氏、Jing Qiu氏によって開発されたYOLOv8は、2023年1月10日にリリースされました。幅広いビジョンタスクに対応する統合APIを提供し、汎用性の業界標準として確立されました。ソースコードはUltralytics GitHubリポジトリで管理されており、継続的な更新と長期的な安定性が確保されています。
アーキテクチャの革新#
YOLOv9:プログラム可能な勾配情報#
YOLOv9の特徴は、プログラム可能な勾配情報(PGI)と汎用効率的層集約ネットワーク(GELAN)の導入です。畳み込みニューラルネットワークが深くなるにつれ、順伝播処理で重要な特徴情報が失われるのが一般的です。PGIは、重みの更新に使用する正確な勾配を保持することで、この情報ボトルネックに対処し、信頼性の高い特徴抽出を実現します。このアーキテクチャはパラメーター効率を最大化し、YOLOv9は浮動小数点演算(FLOPs)を抑えながら高精度を達成できます。
YOLOv8:汎用性に優れた主力モデル#
YOLOv8は、アンカーフリーの簡素化された検出メカニズムを導入し、バウンディングボックスの予測数を削減するとともに、後処理時の非極大値抑制(NMS)を高速化します。YOLOv8のC2fモジュール(2つの畳み込みを備えたクロスステージ部分ボトルネック)は、旧モデルと比べてネットワーク全体の勾配フローを改善します。さらに重要なのは、YOLOv8が汎用性を重視して設計され、物体検出、インスタンスセグメンテーション、姿勢推定、画像分類、方向付きバウンディングボックス(OBB)の抽出に標準で対応している点です。
YOLOv9は検出性能の生の指標に優れていますが、複雑なパイプラインにネイティブに統合するのは困難な場合があります。Ultralyticsフレームワークを通じてYOLOv9を活用することでこのギャップを埋め、堅牢なエクスポートおよびデプロイメントツールを利用できます。
性能バランスとベンチマーク#
ビジョンモデルのデプロイメントでは、速度と精度のトレードオフが最も重要な要素です。以下に、標準的なCOCOデータセットで評価したモデルサイズ、レイテンシ、平均適合率の詳細な比較を示します。
| モデル | サイズ (ピクセル) | 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.2 | 26.7 |
| YOLOv9m | 640 | 51.4 | - | 6.43 | 20.1 | 76.8 |
| YOLOv9c | 640 | 53.0 | - | 7.16 | 25.5 | 102.8 |
| YOLOv9e | 640 | 55.6 | - | 16.77 | 58.1 | 192.5 |
| 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.1 |
| YOLOv8x | 640 | 53.9 | 479.1 | 14.37 | 68.2 | 257.8 |
指標を分析すると、YOLOv9はパラメーター数に対する精度比に優れていることがわかります。YOLOv9cはわずか2,550万個のパラメーターで、優れた53.0%のmAPを達成します。一方、YOLOv8はメモリー要件とハードウェアアクセラレーターでの推論速度で大きく優位に立ちます。特にYOLOv8nは、NVIDIA TensorRT環境で1.47msを記録します。
Ultralyticsエコシステムの利点#
アーキテクチャの選択で重要な検討事項となるのが、使いやすさと周辺のソフトウェアエコシステムです。依存関係の管理、カスタムデータローダーの作成、複雑なエクスポートスクリプトへの対応は、開発の妨げになる場合があります。統合されたUltralyticsエコシステムにより、こうした複雑さが抽象化されます。
YOLOv8とYOLOv9のどちらを選んでも(YOLOv9はUltralyticsライブラリで完全にサポートされています)、統合API、自動化されたデータ拡張手法、簡素化されたONNX形式へのエクスポートを利用できます。さらに、Ultralyticsのアーキテクチャは一般にトレーニング効率が高く、大規模なTransformerベースのモデルでよく見られる膨大なCUDAメモリー消費を回避できます。
トレーニングコードの例#
Python APIを使ったどちらのモデルのトレーニングも簡単で、数行のコードだけで実行できます。
from ultralytics import YOLO
# 優先するモデルを読み込みます(必要に応じて「yolov9c.pt」を「yolov8n.pt」に置き換えてください)
model = YOLO("yolov8n.pt")
# カスタムデータセットでモデルをトレーニングします
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# モデルの性能指標を検証します
metrics = model.val()
# 本番環境へのデプロイ用にONNXへエクスポートします
model.export(format="onnx")ユースケースと推奨事項#
YOLOv9とYOLOv8のどちらを選ぶかは、プロジェクト固有の要件、デプロイメントの制約、エコシステムの好みによって異なります。
YOLOv9を選ぶ場合#
YOLOv9が適している用途:
- 情報ボトルネックの研究: プログラム可能な勾配情報(PGI)や一般化効率的層集約ネットワーク(GELAN)のアーキテクチャを研究する学術プロジェクト。
- 勾配フロー最適化の研究: 学習中の深層ネットワーク層における情報損失の理解と抑制に焦点を当てた研究。
- 高精度検出のベンチマーク: アーキテクチャの比較において、YOLOv9の優れたCOCOベンチマーク性能を基準として必要とするシナリオ。
YOLOv8を選ぶ場合#
YOLOv8は、次のような場合におすすめです。
- 汎用的なマルチタスクデプロイ: Ultralyticsエコシステムで、検出、セグメンテーション、分類、ポーズ推定に対応した、実績のあるモデルを必要とするプロジェクト。
- 確立済みの本番システム: 安定性と十分なテストが確認されたデプロイパイプラインを備え、すでにYOLOv8アーキテクチャを基盤として構築されている本番環境。
- 広範なコミュニティとエコシステムのサポート: YOLOv8の豊富なチュートリアル、サードパーティ製ツールとの統合、活発なコミュニティリソースを活用できるアプリケーション。
Ultralytics (YOLO26)を選ぶ場合#
多くの新規プロジェクトにおいて、Ultralytics YOLO26はパフォーマンスと開発者体験を最適なバランスで提供します。
- NMSを使用しないエッジデプロイ: 非最大抑制の後処理を複雑化させずに、安定した低レイテンシー推論を必要とするアプリケーション。
- CPUのみの環境: 専用のGPUアクセラレーションを備えていないデバイスで、YOLO26の最大43%高速なCPU推論が大きな優位性を発揮します。
- 小物体検出: ドローンによる航空画像やIoTセンサーの分析など、ProgLossとSTALによって小さな物体の精度が大幅に向上する難しいシナリオ。
今後の展望:YOLO26の登場#
YOLOv8とYOLOv9はいずれも非常に高性能ですが、コンピュータービジョンの分野は急速に進化しています。最新のデプロイメントには、2026年1月にリリースされたUltralytics YOLO26の利用を強くおすすめします。
YOLO26は、本番環境における物体検出器の動作にパラダイムシフトをもたらします。ネイティブのエンドツーエンドNMSフリー設計(nms=Falseで任意に利用可能)を備え、後処理のレイテンシと非決定論的な動作を排除します。また、エッジや低消費電力のハードウェアへの対応を強化するため、YOLO26ではDFLを完全に削除(分布焦点損失)しており、モバイル向けのエクスポートが大幅に簡素化されます。
さらにYOLO26は、画期的なMuSGDオプティマイザーを採用しています。SGDとMuonのハイブリッドであるこのオプティマイザーは、LLMレベルのトレーニング安定性をビジョンタスクにもたらし、収束を大幅に高速化します。CPU推論を最大43%高速化し、小物体認識を大幅に改善するProgLoss + STALを統合したYOLO26は、新たなエンタープライズプロジェクトに最適な選択肢です。
ハードウェアの制約に応じて、汎用タスクでバランスの取れた性能を発揮するUltralytics YOLO11との比較や、専門的な高忠実度研究向けのRT-DETRのようなTransformerベースのモデルもご検討ください。
実世界でのアプリケーションとユースケース#
YOLOv8とYOLOv9のどちらを選ぶかは、主にプロジェクトの制約と対象ハードウェアによって決まります。
- 医療と医用画像:腫瘍検出システムのようにすべてのピクセルが重要な場合、YOLOv9のGELANアーキテクチャは細部を非常によく保持し、重要な診断での偽陰性を減らします。
- 小売と在庫分析:商品が密集した棚を追跡するスマートスーパーマーケットシステムでは、YOLOv9が必要なmAPを実現し、重なり合う商品を確実に区別できます。
- スマートシティと交通監視:変化の速い物流・交通管理では、YOLOv8の非常に低いレイテンシと実証済みの堅牢性により、複数のカメラストリームにわたる車両の同時追跡に適しています。
- エッジデプロイメント:Raspberry Piやモバイルハードウェアのような制約のあるデバイスにデプロイする場合、YOLOv8の高度に最適化されたC2fブロック(およびYOLO26のCPU最適化)により、よりスムーズでバッテリーに優しい推論パイプラインを実現できます。