YOLOXとYOLOv10技術比較
物体検出の分野は、高い精度とリアルタイムの推論速度のバランスをとるモデルの必要性によって、急速な進化を遂げている。YOLOXとYOLOv10は、このタイムラインにおける2つの重要なマイルストーンである。2021年にリリースされたYOLOXは、アンカーフリーアーキテクチャを導入することでYOLO ファミリーを活性化し、2024年にリリースされたYOLOv10、NMSNon-Maximum Suppression)の必要性を排除することで推論レイテンシを大幅に削減し、新たな基準を打ち立てた。
この包括的な分析では、両モデルのアーキテクチャ上の革新性、性能指標、理想的な使用事例を探求し、開発者や研究者がコンピュータ・ビジョンのアプリケーションに最適なツールを選択するのに役立ちます。
YOLOX:アンカーフリーのパイオニア
YOLOXは2021年にMegviiによって発表され、それ以前のYOLO バージョンの主流であったアンカーベースの設計からの転換を示した。アンカーを使わないメカニズムを採用し、非結合ヘッドやSimOTAなどの先進技術を統合することで、YOLOXは競争力のある性能を達成し、研究フレームワークと産業用アプリケーションのギャップを埋めた。
技術的詳細:
著者:Zheng Ge,Songtao Liu, Feng Wang, Zeming Li, and Jian SunZheng Ge, Songtao Liu, Feng Wang, Zeming Li, and Jian Sun
Organization:Megvii
Date:2021-07-18
Arxiv:https://arxiv.org/abs/2107.08430
GitHub:https://github.com/Megvii-BaseDetection/YOLOX
Docs:https://yolox.readthedocs.io/en/latest/
アーキテクチャと主な機能
YOLOXは、YOLOv4やYOLOv5のような前身とは一線を画している。 YOLOv5は、汎化を改善し、トレーニングパイプラインを簡素化するために設計された、いくつかの重要なアーキテクチャの変更を実装することによって、YOLOv4やYOLOv5のような前任者たちから分岐した。
- アンカーフリーのメカニズム:あらかじめ定義されたアンカーボックスを削除することで、YOLOXは手動によるアンカーチューニングの必要性をなくし、モデルをさまざまなオブジェクト形状に対してよりロバストにし、設計パラメータの数を減らします。
- 非結合型ヘッド:分類とローカライゼーションの機能を共有する結合型ヘッドとは異なり、YOLOXは非結合型ヘッドを採用している。この分離により、各タスクが独立してパラメータを最適化できるため、収束が早くなり、全体的な精度が向上します。
- SimOTA ラベル割り当てYOLOXはSimOTA (Simplified Optimal Transport Assignment)を導入した。これはラベル割り当て問題を最適な輸送タスクとして扱う動的なラベル割り当て戦略である。この方法は、異なるオブジェクトのスケールに効果的に適応し、トレーニングの安定性を向上させます。
- 強力な補強:トレーニングパイプラインには、MixUp Mosaicのデータ補強が組み込まれており、これらはリリース当時、最先端の結果を達成するために極めて重要だった。
長所と短所
長所:
- 高精度:YOLOXは、COCO データセットで、特にYOLOX-xのような大きなバリエーションで、強力なmAP スコアを提供しています。
- シンプルな設計:アンカーフリーのアプローチは、ヒューリスティックなハイパーパラメータを減らし、モデル構成を単純化します。
- レガシー・サポート:確立されたモデルとして、さまざまな学界や産業界で広くテストされてきた。
弱点:
- より高いレイテンシー:最新のディテクターと比較すると、YOLOXはNMS 後処理に依存しているため、超低遅延アプリケーションのボトルネックになる可能性がある。
- 計算コスト:同程度の精度を達成するためには、一般的に新しいモデルよりも多くのFLOPとパラメータを必要とする。
- 統合:オープンソースではあるが、Ultralytics エコシステムに見られるようなシームレスな統合がないため、導入パイプラインに手間がかかる可能性がある。
YOLOv10: エンド・ツー・エンドのリアルタイム検出
清華大学の研究者が2024年5月に発表したYOLOv10 、リアルタイムの物体検出におけるパラダイムシフトを象徴する。非最大抑制NMSNMS)の必要性を排除し、効率化のためにモデルコンポーネントを最適化することで、YOLOv10 、計算オーバーヘッドを大幅に削減しながら、優れた速度と精度を達成しています。
技術的詳細:
著者:Ao Wang, Hui Chen, Lihao Liu, et al.
組織:清華大学
Date:2024-05-23
Arxiv:https://arxiv.org/abs/2405.14458
GitHub:https://github.com/THU-MIG/yolov10
Docsultralytics
建築とイノベーション
YOLOv10 、アーキテクチャと後処理パイプラインの両方に対応し、全体的な効率と精度を重視したモデル設計に焦点を当てている。
- NMSトレーニング:最も画期的な機能は、一貫性のあるデュアル割り当ての使用である。この戦略により、推論時に1対1のマッチングを可能にしながら、豊富な監視信号でモデルをトレーニングすることができる。これにより、導入時の一般的なレイテンシのボトルネックであるNMS不要になります。
- 全体的なモデル設計: YOLOv10 、軽量分類ヘッド、空間チャンネル分離ダウンサンプリング、ランクガイド付きブロック設計を採用しています。これらの最適化により、パフォーマンスを犠牲にすることなく、計算の冗長性とメモリ使用量を削減します。
- ラージカーネル畳み込み:このアーキテクチャでは、大カーネル深度別畳み込みを選択的に使用して受容野を拡大し、小さな物体の検出を強化する。
強みとメリット
長所:
- 最先端の効率性: YOLOv10 、スピードと精度のトレードオフで比類のないパフォーマンスを提供します。NMS設計により、エンド・ツー・エンドの待ち時間を大幅に短縮。
- パラメータ効率: Raspberry PiのようなエッジAIデバイスに最適です。
- Ultralytics 統合: Ultralytics エコシステムの一部であるため、使いやすく、ドキュメントが充実しており、以下のような様々なエクスポート形式をサポートしています。 ONNXや TensorRT.
パフォーマンス分析
以下の表は、COCO ベンチマークデータセットにおけるYOLOXとYOLOv10 10の性能を比較したものです。新しいモデルの効率が大幅に向上していることがわかります。
| モデル | サイズ (ピクセル) | 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 |
| YOLOv10n | 640 | 39.5 | - | 1.56 | 2.3 | 6.7 |
| YOLOv10s | 640 | 46.7 | - | 2.66 | 7.2 | 21.6 |
| YOLOv10m | 640 | 51.3 | - | 5.48 | 15.4 | 59.1 |
| YOLOv10b | 640 | 52.7 | - | 6.54 | 24.4 | 92.0 |
| YOLOv10l | 640 | 53.3 | - | 8.33 | 29.5 | 120.3 |
| YOLOv10x | 640 | 54.4 | - | 12.2 | 56.9 | 160.4 |
分析 このデータは、YOLOv10効率において優れていることを明確に示している。例えば、YOLOv10、YOLOX-s(40.5%)と比較して、46.7%という大幅に高いmAP 達成する一方で、使用するパラメータは少ない(7.2M対9.0M)。特筆すべきは、YOLOv10 YOLOX-xを上回る精度(54.4%対51.1%)を達成しながら、大幅に高速化(12.2ms対16.1ms)し、必要なパラメータもほぼ半分(56.9M対99.1M)に抑えていることです。この効率性により、YOLOv10 リアルタイム・システムにとってはるかに優れた選択肢となっている。
効率性の洞察
YOLOv10 NMS 後処理を排除したことは、推論時間がより安定し予測可能になったことを意味し、これは自律走行車や産業用ロボットのようなセーフティ・クリティカルなアプリケーションにとって重要な要素である。
トレーニング方法論とエコシステム
YOLOXが現在標準となっている高度なオーグメンテーション技術を導入した一方で、YOLOv10 成熟しユーザーフレンドリーなUltralytics トレーニングパイプラインの恩恵を受けている。
- 使いやすさ: Ultralytics モデルは、その合理化されたPython APIで有名です。YOLOv10 モデルのトレーニングに必要なコードはわずか数行ですが、YOLOXの利用には複雑な設定ファイルや依存関係の管理が必要になることがよくあります。
- 整備されたエコシステム: YOLOv10 Ultralytics フレームワークに完全に統合されています。これにより、ユーザーは、ハイパーパラメーターの自動チューニング、Ultralytics Explorerによるシームレスなデータセット管理、多様なデプロイメント・オプションなどの機能を利用することができます。
- メモリ効率: Ultralytics 最適化により、YOLOv10 ようなモデルは、古いアーキテクチャや重いトランスフォーマーモデルと比較して、トレーニング中に消費するCUDA メモリが少なくなり、コンシューマー向けGPUでより大きなバッチサイズを使用できるようになります。
コード例:YOLOv10使用
次の例は、Ultralytics ライブラリを使用することで、開発者がいかに簡単に事前にトレーニングされたYOLOv10 モデルを読み込み、画像上で推論を実行できるかを示しています。
from ultralytics import YOLO
# Load a pre-trained YOLOv10n model
model = YOLO("yolov10n.pt")
# Run inference on a local image
results = model("path/to/image.jpg")
# Display the results
results[0].show()
理想的なユースケース
どちらのモデルにも適材適所があるが、YOLOv10モダンなアーキテクチャは、より幅広い現代的な用途に適している。
- エッジAIとIoT: YOLOv10パラメータ数が少なく、高速であるため、NVIDIA Jetsonやスマートカメラなど、コンピュート数に制限のあるデバイスへの導入に最適です。
- 高速製造:ベルトコンベヤーが高速で移動する工業検査では、YOLOv10 10のNMS推論が、ボトルネックなく生産ラインに追従した物体検出を保証します。
- 監視とセキュリティ複数のビデオストリームを同時に分析する場合、YOLOv10 10の計算効率により、YOLOXと比較して、サーバーあたりのストリーム密度が高くなります。
- 研究ベースラインYOLOXは、アンカーフリー検出器や最適輸送割り当て法の進化を研究する研究者にとって、貴重なベースラインであり続けている。
結論
YOLOXはアンカーなし検出の普及に極めて重要な役割を果たした、 YOLOv10は、最新の開発における優れた選択肢として際立っています。その革新的なNMSアーキテクチャは、包括的なUltralytics エコシステムと組み合わされ、より速く、より正確な強力なソリューションを提供します。
最高のパフォーマンスバランス、使いやすさ、長期的なサポートを求める開発者には、YOLOv10 強くお勧めします。さらに、ポーズ推定や インスタンス・セグメンテーションなどのタスクにわたって、さらなる汎用性を求める方には、堅牢な YOLO11モデルは、同じユーザーフレンドリーなフレームワークの中で、優れた代替手段として機能します。
Ultralytics モデルを選択することで、お客様のプロジェクトは、最先端の研究、活発なコミュニティサポート、生産に耐えうる信頼性の基盤の上に構築されることが保証されます。