YOLOv9 YOLOX:アーキテクチャの進化と技術的比較
この詳細な分析では比較する YOLOv9の画期的なプログラマブル勾配情報(PGI)と、先駆的なアンカーフリー物体検出器であるYOLOXを比較します。両モデルのアーキテクチャ上の差異、性能指標、最適な導入シナリオを検証し、コンピュータビジョンプロジェクトに適したモデル選択を支援します。
性能指標の比較
以下の表は主要なパフォーマンス指標のベンチマークを示しています。 YOLOv9 は、特にエッジ展開に不可欠な小型バリエーションにおいて、一般的に優れた精度対演算量比を示している。
| モデル | サイズ (ピクセル) | mAPval 50-95 | 速度 CPU ONNX (ms) | 速度 T4 TensorRT10 (ms) | params (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| 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 |
| YOLOXnano | 416 | 25.8 | - | - | 0.91 | 1.08 |
| YOLOXtiny | 416 | 32.8 | - | - | 5.06 | 6.45 |
| YOLOXs | 640 | 40.5 | - | 2.56 | 9.0 | 26.8 |
| YOLOXm | 640 | 46.9 | - | 5.43 | 25.3 | 73.8 |
| YOLOXl | 640 | 49.7 | - | 9.04 | 54.2 | 155.6 |
| YOLOXx | 640 | 51.1 | - | 16.1 | 99.1 | 281.9 |
YOLOv9: プログラマブル勾配情報
YOLOv9は、2024年2月に中央研究院の研究者によって発表されたもので、深層ニューラルネットワークにおける「情報ボトルネック」問題の解決を目的とした重要なアーキテクチャ上の革新を導入している。
主要なアーキテクチャ革新
- プログラマブル勾配情報(PGI):PGIはネットワークパラメータ更新のための信頼性の高い勾配を生成する補助的監視フレームワークである。軽量モデルで頻発する問題である、データが深層を通過する際に重要な意味情報が失われることを防止する。
- GELANアーキテクチャ: 汎用効率的層集約ネットワーク(GELAN)は、CSPNetとELANの優れた側面を統合したものである。パラメータ効率と推論速度を優先させることで、YOLOv9 先行モデルと比較して少ないFLOPsでより高い精度YOLOv9 。
- 汎用性:検出のみに限定されていた以前のバージョンとは異なり、YOLOv9 インスタンスセグメンテーションとパノプティックセグメンテーションを YOLOv9 サポートしており、複雑なビジョンタスクにおける汎用性の高い選択肢となっています。
著者およびリンク
- 著者: Chien-Yao Wang、Hong-Yuan Mark Liao
- 組織:中央研究院情報科学研究所
- 日付: 2024-02-21
- Arxiv:2402.13616
- GitHub:WongKinYiu/yolov9
Ultralyticsによる効率化されたトレーニング
YOLOv9 Ultralytics に完全にYOLOv9 。最小限の設定でカスタムデータを用いたモデルトレーニングが可能であり、自動混合精度やGPU といった高度な機能を活用できます。
from ultralytics import YOLO
# Load a pretrained YOLOv9 model
model = YOLO("yolov9c.pt")
# Train on your custom dataset
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
YOLOX: アンカーフリーの先駆者
Megviiが2021年に発表したYOLOXは、YOLO アンカーフリー設計へと転換させた画期的なモデルである。検出ヘッドを分離することでトレーニングパイプラインを簡素化し、性能を向上させた。
主要なアーキテクチャ機能
- アンカーフリー機構:事前定義されたアンカーボックスを排除することで、YOLOXは手動によるアンカー調整(クラスタリング)の必要性をなくし、検出ヘッドの複雑さを低減します。
- 分離ヘッド:YOLOXは分類と回帰タスクを別々のブランチに分離します。この分離により両タスク間の競合が解消され、収束が早まり精度が向上します。
- SimOTAラベル割り当て: YOLOXはSimOTA(Simplified Optimal Transport Assignment)を採用している。これは動的なラベル割り当て戦略であり、グローバル最適化の観点に基づき、真値オブジェクトと予測結果を自動的に一致させる。
著者およびリンク
- 著者:鄭格、劉松涛、王峰、李澤明、孫健
- 組織:Megvii
- 日付: 2021-07-18
- Arxiv:2107.08430
- GitHub:Megvii-BaseDetection/YOLOX
比較分析
使いやすさとエコシステム
最も重要な差別化要因の一つはエコシステムである。 YOLOv9Ultralytics の一部として、統一されたユーザーフレンドリーな体験を提供します。開発者は以下の利点を享受できます:
- 一貫したAPI: YOLOv9、YOLO11、YOLO26のいずれを使用する場合でも、トレーニング、検証、推論のためのコマンドは同一です。
- 包括的なドキュメント: Ultralytics 、ハイパーパラメータ調整、モデルエクスポート、およびデプロイ戦略に関する詳細なガイドUltralytics 。
- アクティブメンテナンス:頻繁な更新により最新の互換性を確保 PyTorch バージョンCUDA 。
一方、YOLOXは通常、リポジトリのクローン作成や特定の依存関係の管理といった手動での設定を必要とし、これが迅速なプロトタイピングの障壁となる可能性があります。
性能と効率
- 精度: YOLOv9 、同等のモデルmAP 、YOLOv9 YOLOXmAP 優れた性能を発揮する。例えば、YOLOv9mはパラメータ数が少ない(2000万対2530万)にもかかわらず、YOLOX-mの46.9%に対し51.mAPを達成している。
- 推論速度:2021年にYOLOXが速度面で画期的な進歩を遂げた一方、YOLOv9 のような現代的なアーキテクチャは効率性をさらにYOLOv9 。GPUtGPU 2.3msで動作し、リアルタイムアプリケーションに極めて適している。
- メモリ効率: Ultralytics 、トレーニングGPU 低減するよう最適化されています。これにより、従来アーキテクチャやTransformerベースのモデルと比較して、研究者はコンシューマー向けハードウェア上でより大きなバッチサイズやより複雑なモデルのトレーニングが可能となります。 RT-DETRなどのトランスフォーマーベースのモデルと比較して、より大規模なバッチサイズやより複雑なモデルを、
ユースケース
- YOLOv9 を選択YOLOv9 :-最先端の精度が必要- セグメンテーションのサポートが必要-Ultralytics 経由で可能な限りシンプルなデプロイメントパイプラインを希望産業用検査や自律システムにおいて優れた性能を発揮します。
- 以下の場合にはYOLOXを選択してください:YOLOXコードベースで構築されたレガシーシステムの保守を行っている場合、または研究比較のためにそのアンカーフリーヘッドの特定の挙動が必要な場合。
今後の展望: YOLO26の力
YOLOv9 優れた選択肢ですが、コンピュータビジョン分野は急速に進化しています。新たにリリースされたYOLO26は、先行モデルの強みを継承しつつ、究極のエッジファーストソリューションを提供します。
YOLO26はいくつかの革新的な機能を導入しています:
- エンドツーエンドNMS:非最大抑制(NMS)を排除することで、YOLOv2は導入を簡素化し、レイテンシ変動を低減します。この概念は YOLOv10で先駆的に導入された概念です。
- MuSGDオプティマイザ:LLMトレーニングに着想を得たこのハイブリッドオプティマイザは、安定した収束を保証し、様々なバッチサイズに対して頑健です。
- ProgLoss + STAL:これらの高度な損失関数は小さな物体の検出を大幅に改善し、YOLO26を航空写真やドローン用途に最適化します。
- 43%高速CPU :分布焦点損失(DFL)を排除したYOLO26は、ラズベリーパイのようなCPUエッジデバイス向けに特別に最適化されています。
PythonでYOLO26を実行する
わずか数行のコードで最新世代のスピードを体験してください:
from ultralytics import YOLO
# Load the latest YOLO26 model
model = YOLO("yolo26n.pt")
# Run inference on an image
results = model("https://ultralytics.com/images/bus.jpg")
結論
YOLOv9 YOLOXYOLOv9 どちらも物体検出に大きく貢献した。YOLOXはアンカーフリー検出を普及させ、将来のモデルの設計空間を簡素化した。しかし、 YOLOv9 はPGIやGELANといった最新のアーキテクチャ的進歩を活用し、優れた精度と効率性を実現している。
パフォーマンス、使いやすさ、将来性という要素の最適なバランスを求める開発者にとって、Ultralytics (例: YOLOv9 や最先端のYOLO26などのUltralyticsモデルが推奨されます。これらは医療画像から スマートシティ監視まで、多様な課題に取り組むための堅牢なプラットフォームを提供します。
関連モデル
オブジェクト検出アーキテクチャを探求しているなら、以下の内容にも興味があるかもしれません:
- YOLO11: YOLO26の強力な前身モデルであり、その頑健性で知られる。
- RT-DETR: 高精度を提供するトランスフォーマーベースの検出器であるが、より高いリソースを必要とする。
- YOLOv8: 検出、セグメンテーション、姿勢推定のための統一フレームワークを導入した、非常に人気のあるモデル。