YOLOXとYOLOv9技術比較
物体検出に適切なアーキテクチャを選択することは、コンピュータビジョンプロジェクトの速度、精度、展開の実現性に影響を与える重要な決定である。この分析では、2021年にリリースされたアンカーフリーの極めて重要なモデルであるYOLOXと、以下のモデルを比較する。 YOLOv92024年に発表された最先端のアーキテクチャで、プログラマブル勾配情報(PGI)を活用している。
YOLOXがアンカーなし検出へとパラダイムシフトしたのに対し、YOLOv9 ディープネットワークに情報を保持する新しいメカニズムを導入し、優れたパフォーマンス指標を提供します。このガイドでは、それぞれのアーキテクチャ、ベンチマーク、理想的なユースケースを紹介し、ニーズに最適なモデルを選択できるようにします。
YOLOX:アンカーフリーのパイオニア
YOLOXは、検出ヘッドを単純化し、定義済みのアンカーボックスへの依存を取り除くことで、研究コミュニティと産業用アプリケーションのギャップを埋めるためにリリースされた。
著者Zheng Ge, Songtao Liu, Feng Wang, Zeming Li, and Jian Sun
Organization:Megvii
Date:2021-07-18
Arxiv:arXiv:2107.08430
GitHub:Megvii-BaseDetection/YOLOX
Docs:YOLOX Documentation
建築ハイライト
YOLOXは非結合型ヘッドアーキテクチャを導入し、分類タスクと回帰タスクを分離した。この分離により、モデルの収束が速くなり、精度が向上する。また、最適なアンカーボックスのサイズを決定するためのクラスタリング分析が不要になるアンカーフリー機構を採用することで、様々な物体形状に対してよりロバストなモデルを実現している。さらに、YOLOXはラベル割り当てにSimOTAを利用し、このプロセスを最適輸送問題として扱うことで、学習の安定性を向上させている。
長所と短所
- 長所:アンカーフリーの設計により、ハイパーパラメータのチューニング・プロセスが簡素化される。非結合型ヘッドは、当時の結合型ヘッドと比較して、一般的にローカライゼーション・タスクにおいて高い精度をもたらす。
- 弱点:2021年モデルであるため、新しいアーキテクチャに見られる最新の最適化がない。高度なデータ増強やレイヤー集約技術を使用したモデルに比べ、ピーク性能に達するにはより多くのトレーニングデータを必要とする可能性がある。
YOLOv9:プログラム可能なグラデーション情報
YOLOv9 、ディープ・ニューラル・ネットワークに内在する「情報ボトルネック」の問題に対処し、大きな飛躍を遂げた。
著者Chien-Yao Wang, Hong-Yuan Mark Liao
Organization:Institute of Information Science, Academia Sinica
Date:2024-02-21
Arxiv:arXiv:2402.13616
GitHub:WongKinYiu/yolov9
Docs:Ultralytics YOLOv9 Docs
建築ハイライト
YOLOv9 、プログラム可能な勾配情報(PGI)と一般化された効率的なレイヤ集約ネットワーク(GELAN)を導入しています。PGIは、データが深い層を通過する際に重要な入力情報が失われるのを防ぎ、モデル更新のための信頼性の高い勾配生成を保証します。GELANはパラメーターの利用を最適化し、軽量でありながら正確なモデルを実現します。これらの技術革新により、YOLOv9 効率と平均平均精度(mAP)の両面で先行モデルを大幅に上回ることができる。
長所と短所
- 長所:優れた精度対パラメータ比により、リアルタイム・アプリケーションで非常に効率的。アーキテクチャは、以前の反復よりも情報の流れを保持し、小さなオブジェクトの検出を向上させる。
- 弱点:新しいアーキテクチャであるため、レガシーモデルと比べてCUDA ドライバやハードウェアサポートの更新が必要になる可能性がある。
パフォーマンス比較
次の表は、COCO データセットにおけるYOLOXとYOLOv9 性能を対比したものである。YOLOv9 、少ないパラメータで一貫して高いmAP スコアを示しており、GELANアーキテクチャの効率性を強調している。
| モデル | サイズ (ピクセル) | mAP値 50-95 | 速度 CPU ONNX (ms) | 速度 T4 TensorRT10 (ms) | params (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| 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 |
| 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 |
分析 YOLOv9 性能密度を大幅にアップグレードしている。例えば、YOLOv9cはわずか25.3Mのパラメータで 53.0%のmAP達成しているのに対し、YOLOX-Lは 49.7%のmAP低いスコアを達成するために54.2Mのパラメータを必要とする。これは、YOLOv9 、この精度レベルにおいて、パラメーターの使用効率がおよそ2倍であることを示している。
効率性の問題
エッジ・デバイスに展開する場合、FLOPとパラメータを見ることは、mAP同じくらい重要です。YOLOv9GELANアーキテクチャは、計算オーバーヘッドを大幅に削減し、モバイル・デプロイメントにおけるデバイスの動作温度の低下とバッテリー寿命の延長につながります。
Ultralytics 優位性
YOLOXは堅牢なスタンドアロンリポジトリですが、Ultralytics エコシステム内でYOLOv9 利用することは、開発者や研究者にとって明確な利点があります。
使いやすさと統合性
Ultralytics フレームワークは、モデルの相互作用を統合します。シンプルで直感的なPython APIを使って、YOLOv9 トレーニング、検証、デプロイができる。これは、YOLOXコードベースとは対照的で、環境変数やデータセットのパスを手動で設定する必要があります。
from ultralytics import YOLO
# Load a pre-trained YOLOv9 model
model = YOLO("yolov9c.pt")
# Run inference on an image
results = model("path/to/image.jpg")
# Train the model on a custom dataset with a single line of code
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
整備されたエコシステム
Ultralytics モデルは、継続的なアップデート、バグ修正、コミュニティサポートの恩恵を受けています。Ultralytics HUBとの統合により、シームレスなMLOpsが可能になり、チームは複雑なエクスポートスクリプトを書くことなく、データセットの管理、実験のtrack 、様々なフォーマットONNX、TensorRT、CoreML)へのモデルのデプロイができます。
パフォーマンスバランスとメモリ効率
Ultralytics YOLO モデルは、スピードと精度の実用的なバランスのために設計されています。さらに、旧来のアーキテクチャや重いトランスフォーマーベースのモデルと比較して、トレーニング中に必要なメモリが少ないことが特徴です。この効率性により、クラウドの計算コストが削減され、コンシューマーグレードのGPUでトレーニングが可能になります。
汎用性
YOLOXは主にオブジェクト検出器ですが、Ultralytics フレームワークはサポートされているモデルの機能を拡張します。ユーザーは、インスタンスのセグメンテーション、ポーズ推定、方向バウンディングボックス(OBB)検出などのタスクを、同様の構文とワークフローを使って簡単に切り替えることができます。
理想的なユースケース
YOLOv9選ぶとき
- 自律走行システム: YOLOv9Eの高精度は、遠距離の小さな障害物を検知することが安全上重要な自律走行車に最適です。
- リアルタイム分析:YOLOv9cは、小売店や交通管理のために、高いフレームレートと正確な検出のスイートスポットを提供します。
- エッジAI:GELANのアーキテクチャ効率により、YOLOv9tとYOLOv9sはNVIDIA JetsonやRaspberry Piのようなデバイスへの展開に最適です。
YOLOXを選ぶとき
- レガシー・インテグレーション:既存の生産パイプラインが、特定のYOLOXアンカー・フリー・ヘッド・フォーマットを中心にすでに大きく設計されている場合。
- 学術研究:初期のアンカーレス検出器における非結合型ヘッドの挙動を特に研究している研究者は、YOLOXが比較のための貴重なベースラインであることに気づくかもしれない。
結論
どちらのアーキテクチャも、コンピュータービジョンの歴史にその名を刻むことになった。YOLOXは2021年、アンカーベースの現状に挑戦することに成功した。しかし YOLOv9は、勾配フロー最適化とレイヤー集約における長年の進歩を取り入れた、現代の標準を表している。
ほとんどの新規開発には、YOLOv9 お勧めします。パラメータごとの優れたパフォーマンスと、Ultralytics エコシステムが提供する使いやすさ、トレーニングの効率性、堅牢なデプロイメントオプションを組み合わせることで、コンセプトから本番までのスピードアップを実現します。
エコシステムにおける他のモダンな選択肢を探る。 YOLO11や YOLOv8など、エコシステム内の他の最新のオプションを検討し、特定のアプリケーションの制約に完璧に適合するものを見つけてください。