Link to this sectionYOLOv7 と YOLOv9 の比較#
リアルタイムの物体検出の状況は急速に進化しており、新しいイテレーションが登場するたびに、エッジデバイスやクラウドサーバーで可能なことの限界が押し広げられています。コンピュータビジョンのプロジェクト向けにアーキテクチャを評価する際、開発者は確立されたベンチマークと最新のイノベーションを頻繁に比較します。この包括的なガイドでは、YOLOファミリーにおける2つの重要なマイルストーンであるYOLOv7とYOLOv9を比較します。
それぞれのアーキテクチャの画期的な進歩、パフォーマンス指標、および理想的なデプロイシナリオを分析し、アプリケーションに最適なモデルを選択できるようにします。また、Ultralytics Platformがどのようにこれらのモデルを統合し、トレーニング、検証、デプロイを容易にしているかについても探ります。
Link to this sectionモデルの系譜と技術仕様#
これらのモデルの起源と設計哲学を理解することは、その能力を把握するための重要な背景となります。両モデルは共通の研究系譜を共有していますが、異なるアーキテクチャ上のボトルネックに対処しています。
Link to this sectionYOLOv7: Bag-of-Freebies の先駆者#
2022年半ばにリリースされた YOLOv7 は、非常に信頼性が高く、高度に最適化されたアーキテクチャとしての地位を確立しました。mean Average Precision (mAP)を損なうことなく高い推論速度を維持するために、構造的再パラメータ化と「trainable bag-of-freebies」アプローチを導入しました。
- 著者: Chien-Yao Wang, Alexey Bochkovskiy, Hong-Yuan Mark Liao
- 組織: 台湾 中央研究院 資訊科學研究所
- 日付: 2022年7月6日
- Arxiv: 2207.02696
- GitHub: WongKinYiu/yolov7
アーキテクチャの革新: YOLOv7 は、E-ELAN (Extended Efficient Layer Aggregation Network) を備えており、基数の拡張、シャッフル、マージによってモデルがより多様な特徴を学習できるようにしています。この設計により、優れた GPU 利用率と推論レイテンシを実現しています。ただし、最新のモデルと比較すると、複雑なトレーニング実行時に大きなメモリを必要とする場合があります。
Link to this sectionYOLOv9: 情報ボトルネックの解決#
同じ研究チームによって2024年初頭に導入された YOLOv9 は、ディープニューラルネットワークに固有の「情報ボトルネック」に取り組みました。データが深い層を通過する際、重要な詳細が失われることがよくあります。YOLOv9 は、根本的に新しい層の設計を通じてこれを緩和しています。
- 著者: Chien-Yao Wang および Hong-Yuan Mark Liao
- 組織: 台湾 中央研究院 資訊科學研究所
- 日付: 2024年2月21日
- Arxiv: 2402.13616
- GitHub: WongKinYiu/yolov9
アーキテクチャの革新: YOLOv9 は、PGI (Programmable Gradient Information) と GELAN (Generalized Efficient Layer Aggregation Network) を導入しています。PGI は、信頼性の高い勾配が保持され、重みを正確に更新するためにフィードバックされることを保証します。GELAN はパラメータ効率を最大化し、YOLOv9 が先行モデルよりも大幅に少ないFLOPsで高精度を達成できるようにします。
Link to this sectionパフォーマンス分析#
アーキテクチャを選択する際、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 |
Link to this section重要なポイント#
- パラメータ効率: 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 はネイティブな end-to-end NMS-free 設計を導入し、複雑なポストプロセッシングを排除して CPU 推論速度を最大 43% 向上させています。革新的な MuSGD オプティマイザと強化された ProgLoss + STAL 損失関数を活用することで、YOLO26 は比類のないトレーニング安定性と小物体検出精度を実現します。
Link to this sectionUltralyticsの利点#
モデルアーキテクチャの選択は最初の一歩に過ぎません。モデルを取り巻くソフトウェアエコシステムが、プロトタイプから本番環境へどれだけ迅速に移行できるかを決定します。Ultralytics Python API を通じてこれらのモデルを統合することで、開発者や研究者に大きなメリットがもたらされます。
Link to this section使いやすさと学習の効率性#
歴史的に、YOLOv7 のトレーニングには複雑なデータ準備と高度にカスタマイズされたスクリプトが必要でした。Ultralytics フレームワークは、これらのディープラーニングの複雑さを抽象化します。開発者は、最小限のコードでアーキテクチャを簡単に切り替え、ハイパーパラメータチューニングを試し、インテリジェントなデータ拡張パイプラインを利用できます。
さらに、Ultralytics はトレーニングと推論中のメモリ使用量を最適化します。重量級のtransformer モデル (例: RT-DETR) とは異なり、Ultralytics YOLO アーキテクチャは大幅に高速にトレーニングでき、必要な CUDA メモリも非常に少なくて済むため、コンシューマー向け GPU に最適です。
Link to this sectionコード例: 合理化されたトレーニング#
最先端モデルのトレーニングは、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")Link to this sectionタスク全体にわたる比類のない汎用性#
十分に維持されたエコシステムとは、多様なコンピュータビジョンタスクにアクセスできることを意味します。YOLOv7 は主に物体検出用として構築されていましたが (後に他のタスクのための実験的なフォークが登場)、現代の Ultralytics モデルは最初から汎用性を備えています。インスタンスセグメンテーション、姿勢推定、画像分類、および指向性バウンディングボックス (OBB) 検出を、箱から出してすぐにシームレスに実行できます。
Link to this section理想的なユースケースとアプリケーション#
YOLOv7 と YOLOv9 の選択は、多くの場合、特定の業界の制約や利用可能なハードウェアに依存します。
Link to this sectionYOLOv7 の活用#
- レガシーなエッジデプロイメント: YOLOv7 の E-ELAN アーキテクチャに合わせて既に高度に調整および最適化されたハードウェア環境において、それは産業用 IoT にとって依然として堅牢な選択肢です。
- 交通監視: YOLOv7 の高いフレームレートと実証済みの安定性は、スマートシティインフラストラクチャやリアルタイム交通管理に最適です。
- ロボティクス統合: 動的な環境をナビゲートするには低レイテンシの処理が必要であり、YOLOv7 バリアントはそのようなシナリオで徹底的にテストされています。
Link to this sectionYOLOv9を活用すべき場面#
- 医療用画像処理: YOLOv9 の PGI アーキテクチャは、深い層を通じて微細な詳細を保持することに非常に優れており、腫瘍検出のような複雑な医療画像解析タスクを分析する際に重要です。
- 高密度な小売分析: 小売店の棚にある高密度に詰め込まれた商品を追跡およびカウントする場合、YOLOv9 の特徴統合は優れた精度を提供し、偽陰性を低減します。
- 航空およびドローン画像: YOLOv9m のパラメータ効率により、ドローン上で高解像度の画像処理が可能となり、バッテリー寿命を浪費することなく、野生動物保護や農業監視を支援します。
Link to this section結論#
YOLOv7 と YOLOv9 は、どちらもコンピュータビジョンの歴史にその名を刻みました。YOLOv7 はリアルタイム処理のための重要な最適化を導入し、YOLOv9 は構造的なディープラーニングのボトルネックに対処してパラメータ効率を最大化しました。
しかし、今日新たにプロジェクトを開始する開発者にとって、Ultralytics エコシステム、特に YOLO11 や YOLO26 といった次世代モデルを活用することは、速度、精度、開発者エクスペリエンスの面で最も有利なトレードオフを提供します。MuSGD オプティマイザや、より広範なハードウェア互換性のための DFL (Distribution Focal Loss) の削除といったイノベーションにより、Ultralytics はビジョン AI プロフェッショナルのために、最も利用しやすく強力なツールを提供し続けています。