YOLOv9とYOLOv7#
リアルタイムの物体検出は、計算効率と高い精度のバランスを取るための継続的な取り組みによって進化してきました。この過程を代表する2つのアーキテクチャがYOLOv9とYOLOv7です。どちらも台湾の中央研究院情報科学研究所の研究者によって開発されました。YOLOv7がトレーニング可能なbag-of-freebies手法を導入したのに対し、新しいYOLOv9はディープラーニングにおける情報ボトルネックに正面から取り組みます。
この技術比較では、両モデルのアーキテクチャの違い、性能指標、理想的なデプロイシナリオを検討し、MLエンジニアや研究者がコンピュータービジョンのパイプラインに適したツールを選べるようにします。
パフォーマンスと指標の比較#
これらのモデルを比較する際は、実測性能と効率性が重要な要素です。以下の表では、標準のCOCOデータセットベンチマークにおける平均適合率(mAP)と計算要件を示します。
| モデル | サイズ (ピクセル) | mAPval50-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 |
| YOLOv7l | 640 | 51.4 | - | 6.84 | 36.9 | 104.7 |
| YOLOv7x | 640 | 53.1 | - | 11.57 | 71.3 | 189.9 |
YOLOv9cはYOLOv7xとほぼ同等の精度(mAP 53.0対53.1)を達成しながら、パラメーター数を約64%削減(2,550万対7,130万)し、FLOPsもおよそ半分(1,028億対1,899億)に抑えています。これは、最新のアーキテクチャによって精度と効率のバランスが大きく向上したことを示しています。
YOLOv9:情報ボトルネックの解消#
2024年初頭に登場したYOLOv9は、ディープニューラルネットワークが各層を通じて情報を保持する方法を変えました。
- 著者: Chien-Yao Wang、Hong-Yuan Mark Liao
- 組織:中央研究院情報科学研究所
- 日付: 2024年2月21日
- リソース: arXiv論文 | GitHubリポジトリ
アーキテクチャの革新#
YOLOv9は、Generalized Efficient Layer Aggregation Network(GELAN)とProgrammable Gradient Information(PGI)を導入しています。GELANはCSPNetとELANの強みを組み合わせ、パラメーター効率と計算コストを最適化し、パラメーター数を抑えながら高い精度を実現します。PGIは、深いネットワークでのデータ損失を防ぐために設計された補助的な監視フレームワークで、トレーニング中の重み更新に用いる信頼性の高い勾配を生成します。
長所と制約#
YOLOv9の主な強みは、大きな計算負荷をかけずに微細な特徴を抽出できる点です。そのため、医療画像解析のように、特徴の忠実性が求められるタスクに適しています。一方、トレーニング時の複雑なPGI構造により、より統合されたフレームワークと比べて、初心者が独自のアーキテクチャ変更を行うのは難しくなる場合があります。
YOLOv7:バッグ・オブ・フリービーの先駆け#
2022年にリリースされたYOLOv7は、リアルタイム検出の新たなベンチマークとなり、リアルタイム推論の速度を大幅に改善する構造上の革新を導入しました。
- 著者: Chien-Yao Wang、Alexey Bochkovskiy、Hong-Yuan Mark Liao
- 組織:中央研究院情報科学研究所
- 日付: 2022年7月6日
- リソース: arXiv論文 | GitHubリポジトリ
アーキテクチャの革新#
YOLOv7の主な貢献は、拡張効率的層集約ネットワーク(E-ELAN)です。このアーキテクチャにより、モデルはより多様な特徴を継続的に学習できます。さらにYOLOv7は、計画的な再パラメーター化畳み込みや動的ラベル割り当てなどの「学習可能なバッグ・オブ・フリービー」を採用しています。これらの手法は、デプロイメント時の推論コストを増やさずに、トレーニング中のモデル精度を向上させます。
長所と制約#
YOLOv7はリアルタイムのエッジ処理に高度に最適化されており、既存システムや古いCUDA環境で引き続き広く利用されています。現在の主な制約は、新しいモデルよりもパラメーター数が多いことです。性能表に示すとおり、最高レベルの精度を達成するには大型のYOLOv7xが必要で、同等の最新アーキテクチャよりもかなり多くのGPUメモリを消費します。
Ultralyticsの強み:簡素化されたデプロイメント#
YOLOv9とYOLOv7のオリジナル研究リポジトリは優れた学術的基盤を提供しますが、これらのモデルを本番環境にデプロイするのは複雑な場合があります。YOLOv9をultralyticsパッケージ経由で統合すれば、(YOLOv7はエクスポート済みONNXまたはTensorRTモデルでのみサポートされます)デプロイが大幅に簡単になります。
Ultralytics Platformを利用する開発者は、直感的なPython API、活発なコミュニティサポート、強力な実験トラッキングを備えた、適切に保守されたエコシステムの恩恵を受けられます。
YOLO26で将来に備える#
新しいコンピュータービジョンプロジェクトを始める場合、Ultralyticsは2026年1月にリリースされたYOLO26をYOLOv9とYOLOv7のどちらよりも推奨します。YOLO26には次のような進化があります。
- エンドツーエンドNMSフリー設計: オプションのone-to-oneヘッド(
nms=False)は、後処理のNon-Maximum Suppression(NMS)を省略し、デプロイの複雑さとレイテンシを軽減します。 - CPU推論が最大43%高速: YOLO26nはCPUでYOLO11nより最大43%高速に動作するため、専用GPUがなくてもエッジコンピューティング環境でアプリケーションをスムーズに実行できます。
- MuSGDオプティマイザー: LLMトレーニングに着想を得てSGDとMuonを組み合わせた手法で、安定した収束とトレーニング時間の短縮を実現します。
- DFL Removal: Distribution Focal Lossを削除することでモデルのエクスポートを簡素化し、低電力のモバイルデバイスとの互換性を高めます。
- ProgLoss + STAL: Progressive LossとSmall-Target-Aware Label Assignment(STAL)によって小さな物体の検出精度が向上し、航空画像や監視に役立ちます。
エコシステム内のその他の有力な選択肢には、Ultralytics YOLOv8とYOLO11があります。どちらもインスタンスセグメンテーションや姿勢推定など、複数のタスクをサポートします。
実装例#
以下のコードに示すように、統合APIを使えばYOLOv9やYOLO26のトレーニングとエクスポートを簡単に行えます。
from ultralytics import YOLO
# YOLOv9または推奨モデルのYOLO26を初期化します
model = YOLO("yolov9c.pt") # エッジでのパフォーマンスを向上させるには、"yolo26n.pt"に置き換えます
# 組み込みのデータ拡張を使用してカスタムデータセットでトレーニングします
results = model.train(data="coco8.yaml", epochs=100, imgsz=640, batch=16, device=0)
# トレーニング済みモデルをデプロイ用にONNX形式でエクスポートします
model.export(format="onnx")コンシューマー向けハードウェアでトレーニングする場合、メモリ効率は非常に重要です。YOLOv9とYOLO26のUltralytics実装はVRAMの使用量を抑えるように最適化されています。一方、RT-DETRなどのTransformerベースのモデルは、トレーニング時により多くのメモリを必要とすることがよくあります。
実環境での用途と適したユースケース#
これらのアーキテクチャのどちらを選ぶかは、多くの場合、本番環境の具体的な制約によって決まります。
YOLOv9を使う場面: 細部の保持が必要な環境ではYOLOv9が優れた性能を発揮します。堅牢な特徴抽出により、棚に密集した商品の数を数える小売分析や、小さな葉に現れる初期段階の作物病害の識別が重要な農業用途に適しています。
YOLOv7を使用する場合: YOLOv7は、既存のデプロイパイプラインに適した有力な選択肢です。Google Coral Edge TPUの特定世代など、古いハードウェアシステムに統合する場合は、YOLOv7のシンプルなCNNアーキテクチャのほうが、新しいモデルよりコンパイルしやすい可能性があります。
YOLO26を使う場面(推奨): 自律型ドローンからスマートシティの交通管理まで、最新のデプロイにはYOLO26がより適しています。NMSフリーアーキテクチャは推論時間の予測可能性を高めるため、安全性が重要なロボット分野で有効です。また、同等のモデルサイズでは、YOLOv9とYOLOv7の両方を上回る精度を実現します。
コメント
質問したり、結果を共有したり、ほかの人をサポートしたりできます。