YOLOv10 YOLOX: アンカーフリーかつNMS物体検出の進化
コンピュータビジョン分野は、リアルタイム物体検出アーキテクチャの急速な進歩によって牽引されている。本稿では、効率性と設計パラダイムの限界を押し広げた2つの影響力あるモデルを詳細に技術比較する: YOLOv10とYOLOX。両モデルのアーキテクチャ上の差異、性能指標、トレーニング手法を検証することで、開発者や研究者は堅牢なビジョンシステムを展開するための情報に基づいた判断が可能となる。
モデルの背景と起源
これらの深層学習モデルの起源を理解することは、そのアーキテクチャ目標と対象となるユースケースに関する貴重な背景情報を提供する。
YOLOv10: 真のエンドツーエンドNMS 排除
長年の遅延ボトルネックを解決するために開発されたYOLOv10は、YOLOファミリーにネイティブなエンドツーエンドアプローチを導入しました。
- 著者: Ao Wang, Hui Chen, Lihao Liu, et al.
- 組織:清華大学
- 日付: 2024年5月23日
- ArXiv:2405.14458
- GitHub:THU-MIG/yolov10
- ドキュメント:Ultralytics YOLOv10
YOLOX:研究と産業のギャップを埋める
YOLOXは従来のYOLO のアンカーレス版として登場し、競争力のある性能を備えつつより簡素な手法を提供し、特に産業コミュニティにおける導入の容易化を目的としている。
- 著者: Zheng Ge、Songtao Liu、Feng Wang、Zeming Li、Jian Sun
- 組織:Megvii
- 日付: 2021年7月18日
- ArXiv:2107.08430
- GitHub:Megvii-BaseDetection/YOLOX
- ドキュメント:YOLOX 公式ドキュメント
アーキテクチャの主要点と革新
両方のフレームワークは、従来のアンカーベース検出器とは異なりますが、物体検出パイプラインにおいて異なる問題を解決します。
YOLOX アーキテクチャ
YOLOXは2021年、エコシステムにいくつかの重要な更新をもたらしました。その主な貢献は、アンカーフリー検出器設計への移行でした。事前定義されたアンカーボックスを排除することで、YOLOXは異なるデータセットに必要な設計パラメータとヒューリスティック調整の数を大幅に削減しました。
さらに、YOLOXは分離型ヘッドを採用し、分類タスクと回帰タスクを分離している。これにより両目的間の競合が解消され、学習時の収束が大幅に加速された。また高度なラベル割り当てのためにSimOTAを利用し、COCO 頻出する混雑したシーンやオクルージョンの処理を改善している。
アンカーフリーの利点
YOLOXによって開拓されたようなアンカーフリー設計は、モデルチューニングの複雑さを大幅に低減します。開発者は、最適なアンカーボックスサイズを定義するためにカスタムデータセットに対してk-meansクラスタリングを実行する必要がなくなり、貴重な準備時間を節約できます。
YOLOv10アーキテクチャ
YOLOXは検出ヘッドを改善したものの、推論時には依然として非最大抑制(NMS)に依存しており、これが遅延変動を引き起こす。 YOLOv10 は、NMS のための一貫した二重割り当て戦略を導入することで、この欠点を特に狙い撃ちしました。トレーニング中は、1対多と1対1の両方のラベル割り当てを使用しますが、推論時には1対多のヘッドを完全に削除し、NMS を行わないクリーンな予測を出力します。
YOLOv10 効率性と精度を重視した包括的なモデルYOLOv10 特徴としている。軽量な分類ヘッドと空間チャネル分離型ダウンサンプリングを採用し、精度を損なうことなくパラメータ数とFLOPsを大幅に削減している。
パフォーマンス比較
NVIDIA T4 GPUのようなハードウェアでこれらのモデルを評価すると、スケールに応じて明確な利点が明らかになります。以下に、包括的な比較表を示します。
| モデル | サイズ (ピクセル) | mAPval 50-95 | 速度 CPU ONNX (ms) | 速度 T4 TensorRT10 (ms) | params (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| 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 |
| 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 |
上記の通り、YOLOv10は非常に優れたスケーラビリティを発揮します。 YOLOv10x この変種が最高の精度を達成する(54.4 mAP)、一方 YOLOv10n このバリアントは、最も高速な推論を実現します TensorRT 統合。一方、従来のYOLOX nanoモデルは、制約の厳しい環境において最小の全体フットプリントを実現している。
トレーニング手法とリソース要件
モデルを本番環境へ導入する際、トレーニング環境とリソース要件は、純粋な推論速度と同様に重要である。
YOLOXはしばしば古い環境設定に依存しており、管理が煩雑になりがちです。さらに、そのレガシーなコードベースでは、GPU トレーニングや混合精度最適化を実現するために、より多くの定型コードが必要となります。
対照的に、YOLOv10 PyTorch とシームレスにYOLOv10 、開発者体験を真に変革するのはUltralytics です。Ultralytics 、Transformerベースのアーキテクチャと比較して、トレーニング中のCUDA 大幅に低いという特徴があります。 RT-DETRといったトランスフォーマーベースのアーキテクチャと比較して、トレーニング時のCUDAメモリ使用量が大幅に低い
コード例: 効率化されたトレーニング
統一されたUltralytics を使用すれば、わずか数行のPythonで最先端モデルをシームレスに学習できます。これにより、C++演算子の手動コンパイルや複雑な設定ファイルが不要になります。
from ultralytics import YOLO
# Initialize a pre-trained YOLOv10 model
model = YOLO("yolov10s.pt")
# Train the model on the COCO8 dataset
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# Validate the model's performance
metrics = model.val()
# Export the optimized model to ONNX format
model.export(format="onnx")
このシンプルな構文により、自動混合精度、自動データ拡張、および Weights & Biases などのツールとの統合を、すぐに利用できるようにします。
ユースケースと推奨事項
YOLOv10とYOLOXのどちらを選択するかは、特定のプロジェクト要件、デプロイメントの制約、およびエコシステムの好みに依存します。
YOLOv10を選択すべき時
YOLOv10 以下に最適YOLOv10 :
- NMSフリーのリアルタイムdetect: Non-Maximum Suppressionなしのエンドツーエンドのdetectから恩恵を受け、デプロイの複雑さを軽減するアプリケーション。
- 速度と精度のバランスの取れたトレードオフ: さまざまなモデルスケールにおいて、推論速度と検出精度の強力なバランスを必要とするプロジェクト。
- 一貫したレイテンシが求められるアプリケーション: ロボット工学や自律システムなど、予測可能な推論時間が重要となるデプロイメントシナリオ。
YOLOXを選択すべき時
YOLOXは以下の方におすすめです:
- アンカーフリー検出研究: YOLOXのクリーンなアンカーフリーアーキテクチャをベースラインとして使用し、新しい検出ヘッドや損失関数を実験する学術研究。
- 超軽量エッジデバイス: YOLOX-Nanoバリアントの極めて小さいフットプリント(0.91Mパラメータ)が重要となるマイクロコントローラーやレガシーモバイルハードウェアへのデプロイ。
- SimOTAラベル割り当て研究: 最適輸送ベースのラベル割り当て戦略と、それがトレーニング収束に与える影響を調査する研究プロジェクト。
Ultralytics YOLO26)を選択すべきタイミング
ほとんどの新規プロジェクトにおいて、Ultralytics YOLO26は、パフォーマンスと開発者エクスペリエンスの最高の組み合わせを提供します。
- NMSフリーのエッジデプロイメント: Non-Maximum Suppressionの後処理の複雑さなしに、一貫した低レイテンシ推論を必要とするアプリケーション。
- CPUのみの環境: 専用のGPUアクセラレーションを持たないデバイスにおいて、YOLO26の最大43%高速なCPU推論が決定的な優位性をもたらします。
- 小物体detect: 航空ドローン画像やIoTセンサー分析のような困難なシナリオにおいて、ProgLossとSTALが微小なオブジェクトのAPを大幅に向上させます。
ビジョンAIの未来:YOLO26の登場
YOLOv10 重要なマイルストーンではあるものの、コンピュータビジョンの世界は絶え間なく進化を続けている。今日新たなプロジェクトを始める開発者にとって、Ultralytics 最善の選択肢である。
2026年1月にリリースUltralytics 、YOLOv10が先駆けたエンドツーエンドのNMS設計という基盤となるブレークスルーを基盤とし、さらに高い安定性と速度を実現するために改良を加えています。
YOLO26は、いくつかの大きな飛躍をもたらすことで際立っている:
- 最大43%高速なCPU推論: Distribution Focal Loss (DFL) を戦略的に削除することで、YOLO26 は GPU を持たないエッジデバイスで格段に優れた性能を実現します。
- MuSGDオプティマイザ: LLMトレーニングの安定性に着想を得た、SGDとMuonのこの新しいハイブリッドは、より速い収束と非常に安定したトレーニング実行を保証します。
- ProgLoss + STAL: これらの高度な損失関数は、航空画像やIoTセンサーにとって重要な要素である小物体認識において、顕著な改善をもたらします。
- 比類ない汎用性: 厳密にはオブジェクトdetectモデルであるYOLOXとは異なり、YOLO26は単一の統一されたライブラリ内で、インスタンスsegment、姿勢推定、画像分類、obb detectをネイティブサポートしています。
Ultralytics を活用する
本番環境への導入を最もシンプルにするには、開発者はUltralytics Platformを利用して、データセットのアノテーション、クラウドでのYOLO26モデルのトレーニング、そしてセットアップ不要であらゆるエッジデバイスへのデプロイが可能です。
現実世界のアプリケーション
適切なモデルの選択が、さまざまな業界における実世界でのデプロイメントの成功を左右します。
高速動画解析
スマートシティの交通管理など、高密度のビデオフィードを処理する場合、YOLOv10はNMSフリーのポストプロセッシングにより大きな利点を提供します。NMSのボトルネックを排除することで、一貫した低レイテンシを実現し、BoT-SORTのようなtrackアルゴリズムとの組み合わせに最適です。
レガシーエッジ展開
古い学術的なセットアップや、純粋な畳み込みパラダイムに特化して最適化されたレガシーなAndroidアプリケーションの場合、YOLOX-Tinyのような小型モデルは、古いPyTorch環境を維持することが許容されるトレードオフである特殊なユースケースを依然として見出す可能性があります。
モダンエッジとIoTデバイス
ロボット工学、ドローン、小売棚分析などの次世代ハードウェア展開において、YOLO26は究極のソリューションです。大幅に削減されたCPUレイテンシと優れた小オブジェクト検出機能により、自律ナビゲーションと詳細な在庫管理に独自の適性があります。
ディープラーニングツールキットを拡張するための追加比較として、これらのモデルが柔軟なYOLO11やTransformerベースのRT-DETRのような代替モデルと比較してどうであるかを探ることもできます。