YOLOv7 vs YOLOv9#
リアルタイム物体検出の分野は急速に進化しており、新しいイテレーションが登場するたびに、エッジデバイスとクラウドサーバーの両方で可能なことの限界が押し広げられています。コンピュータービジョンプロジェクト向けのアーキテクチャを評価する際、開発者は確立されたベンチマークと新しいイノベーションを頻繁に比較します。この包括的なガイドでは、YOLOファミリーにおける2つの重要なマイルストーン、YOLOv7とYOLOv9を比較します。
アーキテクチャ上のブレークスルー、パフォーマンス指標、理想的なデプロイシナリオを分析し、アプリケーションに適したモデルを選択できるようにします。また、Ultralytics Platformがこれらのモデルを統合し、トレーニング、検証、デプロイを容易にする方法についても説明します。
モデルの系譜と技術仕様#
これらのモデルの起源と設計思想を理解することは、その能力を把握するうえで重要な背景となります。両モデルは共通の研究系譜を持ちながら、異なるアーキテクチャ上のボトルネックを対象としています。
YOLOv7:Bag-of-Freebiesの先駆者#
2022年半ばにリリースされたYOLOv7は、高い信頼性と徹底的な最適化を備えたアーキテクチャとして確立されました。構造的再パラメータ化と「trainable bag-of-freebies」アプローチを導入し、平均適合率 (mAP)を損なうことなく高い推論速度を維持しました。
- 著者: Chien-Yao Wang、Alexey Bochkovskiy、Hong-Yuan Mark Liao
- 組織: 台湾中央研究院情報科学研究所
- 日付: 2022年7月6日
- Arxiv: 2207.02696
- GitHub: WongKinYiu/yolov7
アーキテクチャのイノベーション: YOLOv7は拡張効率的レイヤー集約ネットワーク (E-ELAN)を採用しており、カーディナリティを拡張、シャッフル、統合することで、モデルがより多様な特徴を学習できるようにします。この設計により、優れたGPU利用率と推論レイテンシを実現します。ただし、最新のイテレーションと比較すると、複雑なトレーニング実行時に大量のメモリを必要とする場合があります。
YOLOv9:情報ボトルネックの解消#
同じ研究チームによって2024年初頭に導入されたYOLOv9は、深層ニューラルネットワークに内在する「情報ボトルネック」に取り組みます。データが深い層を通過する際、重要な詳細が失われることがよくあります。YOLOv9は、根本的に新しいレイヤー設計によってこの問題を軽減します。
- 著者: Chien-Yao Wang、Hong-Yuan Mark Liao
- 組織: 台湾中央研究院情報科学研究所
- 日付: 2024年2月21日
- Arxiv: 2402.13616
- GitHub: WongKinYiu/yolov9
アーキテクチャのイノベーション: YOLOv9はプログラマブル勾配情報 (PGI)と一般化効率的レイヤー集約ネットワーク (GELAN)を導入しています。PGIは信頼性の高い勾配を保持し、重みを正確に更新するためにフィードバックできるようにします。GELANはパラメーター効率を最大化し、YOLOv9は以前のモデルよりも大幅に少ないFLOPsで高い精度を達成できます。
パフォーマンス分析#
アーキテクチャを選択する際、AIエンジニアは精度、推論速度、計算コストのバランスを取る必要があります。以下の表では、標準のCOCOデータセットにおけるこれらのモデルのパフォーマンス差を示します。
| モデル | サイズ (ピクセル) | mAPval 50-95 | 速度 CPU ONNX (ms) | 速度 T4 TensorRT10 (ms) | パラメーター数 (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| YOLOv7l | 640 | 51.4 | - | 6.84 | 36.9 | 104.7 |
| YOLOv7x | 640 | 53.1 | - | 11.57 | 71.3 | 189.9 |
| 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 |
主なポイント#
- パラメーター効率: YOLOv9mは、約45%少ないパラメーター(20.0M対36.9M)で、YOLOv7lと同等の精度(51.4% mAP)を実現します。この大幅な削減により、YOLOv9mはメモリが制限されたエッジAIデバイスに格段にデプロイしやすくなります。
- マイクロデプロイ: YOLOv9t(tiny)バリアントの導入により、リアルタイム制約が絶対的な環境で驚異的な速度(T4上で2.3msのTensorRT)を実現します。
- 最高精度: 精度が最優先されるアプリケーションでは、YOLOv9eが検出精度を55.6% mAPまで高め、YOLOv7xを大幅に上回ります。
YOLOv7とYOLOv9は強力ですが、新たにリリースされたYOLO26は決定的な飛躍を示します。YOLO26はネイティブなエンドツーエンドNMSフリーデザインを導入し、複雑な後処理を排除するとともに、CPU推論速度を最大43%向上させます。新しいMuSGDオプティマイザーと強化されたProgLoss + STAL損失関数を活用することで、YOLO26は比類のないトレーニング安定性と小物体検出精度を実現します。
Ultralyticsの優位性#
モデルアーキテクチャの選択は最初のステップにすぎません。モデルを取り巻くソフトウェアエコシステムによって、プロトタイプから本番環境までの移行速度が決まります。これらのモデルをUltralytics Python APIで統合することは、開発者と研究者に大きなメリットをもたらします。
使いやすさとトレーニング効率#
従来、YOLOv7のトレーニングには複雑なデータ準備と高度にカスタマイズされたスクリプトが必要でした。Ultralyticsフレームワークは、こうした深層学習の複雑さを抽象化します。開発者は最小限のコードで、アーキテクチャを簡単に切り替え、ハイパーパラメータチューニングを試し、インテリジェントなデータ拡張パイプラインを利用できます。
さらに、Ultralyticsはトレーニングと推論中のメモリ使用量を最適化します。高負荷なTransformerモデル(RT-DETRなど)とは異なり、Ultralytics YOLOアーキテクチャは大幅に高速にトレーニングでき、必要なCUDAメモリもはるかに少ないため、コンシューマー向けGPUに適しています。
コード例:効率化されたトレーニング#
最先端モデルのトレーニングは、Ultralyticsエコシステム内でシームレスに実行できます。以下は、YOLOv9モデルをトレーニングして検証する方法を示す、完全に実行可能な例です。
from ultralytics import YOLO
# Initialize the model (you can swap 'yolov9c.pt' with 'yolov7.pt' or 'yolo26n.pt')
model = YOLO("yolov9c.pt")
# Train the model on the COCO8 sample dataset
train_results = model.train(
data="coco8.yaml",
epochs=50,
imgsz=640,
device="0", # Use GPU 0 if available
batch=16, # Optimized batch size for memory efficiency
)
# Validate the model's performance on the validation set
metrics = model.val()
# Export the trained model to ONNX format for deployment
model.export(format="onnx")タスク全体にわたる比類のない柔軟性#
適切に維持されたエコシステムにより、多様なコンピュータービジョンタスクを利用できます。YOLOv7は主に物体検出向けに構築されていましたが(後に他のタスク向けの実験的なフォークも登場しました)、最新のUltralyticsモデルは本来から汎用性を備えています。標準で、インスタンスセグメンテーション、姿勢推定、画像分類、回転バウンディングボックス (OBB)検出をシームレスに実行できます。
理想的なユースケースと用途#
YOLOv7とYOLOv9のどちらを選ぶかは、多くの場合、固有の業界上の制約と利用可能なハードウェアによって決まります。
YOLOv7を使用する場合#
- レガシーエッジデプロイ: YOLOv7のE-ELANアーキテクチャ向けにすでに高度に調整・最適化されたハードウェア環境では、産業用IoT向けの堅牢な選択肢であり続けます。
- 交通モニタリング: YOLOv7は高いフレームレートと実証済みの安定性を備えているため、スマートシティインフラストラクチャやリアルタイム交通管理に最適です。
- ロボティクス統合: 動的な環境をナビゲートするには低レイテンシの処理が必要であり、YOLOv7のバリアントが広くテストされてきたシナリオです。
YOLOv9を利用するタイミング#
- 医用画像: YOLOv9のPGIアーキテクチャは、深い層を通過する細粒度の詳細を保持することに優れており、腫瘍検出などの複雑な医用画像解析タスクの分析で重要となります。
- 高密度な小売分析: 小売棚に密集して配置された商品の追跡やカウントでは、YOLOv9の特徴統合により、より高い精度と偽陰性の削減を実現できます。
- 航空・ドローン画像: YOLOv9mのパラメーター効率により、ドローン上で高解像度画像を処理でき、バッテリーを消耗させることなく野生生物保全や農業モニタリングに役立ちます。
まとめ#
YOLOv7とYOLOv9はいずれも、コンピュータービジョンの歴史に確固たる地位を築いています。YOLOv7はリアルタイム処理に不可欠な最適化を導入し、YOLOv9は深層学習における構造的なボトルネックに取り組み、パラメーター効率を最大化しました。
ただし、現在新しいプロジェクトを始める開発者にとっては、YOLO11やYOLO26などの次世代モデルを中心とするUltralyticsエコシステムを活用することで、速度、精度、開発者エクスペリエンスの間で最も有利なトレードオフを実現できます。MuSGDオプティマイザーのようなイノベーションや、幅広いハードウェア互換性を実現するDistribution Focal Loss (DFL)の廃止により、UltralyticsはビジョンAIの専門家に最も利用しやすく強力なツールを提供し続けています。