YOLOv7対YOLOv9:最新の物体検出に関する技術的な深掘り
リアルタイム物体検出の状況は急速に進化しており、新しいイテレーションが登場するたびに、エッジデバイスやクラウドサーバーで可能なことの境界線が押し広げられています。コンピュータビジョンのプロジェクト向けにアーキテクチャを評価する際、開発者は確立されたベンチマークと新しいイノベーションを頻繁に比較します。この包括的なガイドでは、YOLOファミリーの重要なマイルストーンである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は、Extended Efficient Layer Aggregation Network(E-ELAN)を採用しています。これにより、カーディナリティを拡張、シャッフル、マージすることで、モデルはより多様な特徴を学習できます。この設計により、優れたGPU使用率と推論レイテンシを実現しています。ただし、最新のイテレーションと比較すると、複雑なトレーニング実行時に大量のメモリを必要とする場合があります。
YOLOv9:情報ボトルネックの解決
同じ研究チームによって2024年初頭に導入されたYOLOv9は、ディープニューラルネットワーク固有の「情報ボトルネック」問題に取り組んでいます。データが深い層を通過する際、重要な詳細情報が失われることがよくあります。YOLOv9は、根本的に新しいレイヤー設計によってこれを軽減します。
- 著者: Chien-Yao Wang および Hong-Yuan Mark Liao
- 組織: 台湾 中央研究院 資訊科學研究所
- 日付: 2024年2月21日
- Arxiv: 2402.13616
- GitHub: WongKinYiu/yolov9
アーキテクチャ上のイノベーション: YOLOv9は、Programmable Gradient Information(PGI)とGeneralized Efficient Layer Aggregation Network(GELAN)を導入しています。PGIは、信頼性の高い勾配が保持され、重みを正確に更新するためにフィードバックされることを保証します。GELANはパラメータ効率を最大化し、これによりYOLOv9は前身モデルよりも大幅に少ないFLOPsで高い精度を達成しています。
性能分析
アーキテクチャを選択する際、AIエンジニアは精度、推論速度、計算コストのバランスを考慮する必要があります。以下の表は、標準的なCOCO datasetにおけるこれらのモデルのパフォーマンスの違いを強調しています。
| モデル | サイズ (ピクセル) | 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は、YOLOv7l(51.4% mAP)と同等の精度を維持しながら、45%少ないパラメータ(20.0M対36.9M)を使用しています。この劇的な削減により、YOLOv9mはメモリ制約のあるエッジAIデバイスへのデプロイがはるかに容易になります。
- マイクロデプロイメント: YOLOv9t(tiny)バリアントの導入により、リアルタイム性が絶対条件である環境向けに、驚異的な速度(T4 TensorRTで2.3ms)を提供します。
- 最高精度: 精度が最優先されるアプリケーションでは、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は構造的なディープラーニングのボトルネックに対処してパラメータ効率を最大化しました。
しかし、現在新しいプロジェクトを開始する開発者にとっては、Ultralyticsエコシステム、特に次世代モデルであるYOLO11やYOLO26を活用することが、速度、精度、開発者体験の面で最も好ましいトレードオフを提供します。MuSGDオプティマイザや、より広範なハードウェア互換性のためのDistribution Focal Loss (DFL)の廃止といったイノベーションにより、UltralyticsはビジョンAIの専門家にとって最もアクセスしやすく強力なツールを提供し続けています。