YOLOX対YOLOv10:アンカーフリーとNMSリアルタイム物体検出の比較
リアルタイムコンピュータビジョンモデルの進化は、重要なアーキテクチャの飛躍によって特徴づけられてきた。 この進化の道程における二つの重要なマイルストーンがYOLOv10。2021年に発表されたYOLOXは、画期的なアンカーフリー設計を導入することで学術研究と産業応用の間にある隔たりを埋めることに成功した。それから3年後、YOLOv10 後処理段階における非最大抑制(NMS)の必要性を排除することで分野にYOLOv10 、効率性と速度の限界を押し広げた。
この包括的な技術比較では、両モデルのアーキテクチャ、性能指標、および理想的なユースケースを検証し、次回の物体検出プロジェクトに最適なツールを選択するための洞察を提供します。
モデルの起源とメタデータ
これらのモデルの起源を理解することは、そのアーキテクチャ上の選択と想定される導入環境の背景を説明する。
YOLOX 詳細
著者: Zheng Ge, Songtao Liu, Feng Wang, Zeming Li, Jian Sun
組織:Megvii
日付: 2021-07-18
Arxiv:https://arxiv.org/abs/2107.08430
GitHub:https://github.com/Megvii-BaseDetection/YOLOX
ドキュメント:https://yolox.readthedocs.io/en/latest/
YOLOv10
著者: Ao Wang, Hui Chen, Lihao Liu, Kai Chen, Zijia Lin, Jungong Han, Guiguang Ding
所属機関:清華大学
日付: 2024-05-23
Arxiv:https://arxiv.org/abs/2405.14458
GitHub:https://github.com/THU-MIG/yolov10
ドキュメント:ultralytics
アーキテクチャの革新
YOLOXとYOLOv10 の主な違いは、境界ボックス予測と後処理の処理方法YOLOv10
YOLOX:アンカーレス設計の先駆け
YOLOXは、YOLO アンカーボックス不要のアーキテクチャへ移行させたことで注目を集めた。事前定義されたアンカーボックスに依存せず物体の中心を予測することで、カスタムデータセットに必要な設計パラメータと経験則的調整を大幅に削減した。 さらに、分離ヘッドを導入し、分類と回帰タスクを別々の経路に分離した。このアプローチにより、物体の「何であるか」の識別と「どこにあるか」の決定という相反する課題が解決され、収束速度と精度の顕著な向上が実現された。
YOLOv10: NMSフリーの革命
YOLOXは検出ヘッドを簡素化したものの、冗長なバウンディングボックス予測をフィルタリングNMS 依然としてNMS に依存していた。YOLOv10 根本的なボトルネックYOLOv10 。トレーニング中に一貫した二重割り当てを活用することで、YOLOv10 ネイティブなエンドツーエンド検出YOLOv10 。トレーニング時には豊富な監督信号を確保するため一対多ヘッドを採用し、推論時には最終予測を直接出力するため一対一ヘッドを利用する。この効率性と精度を追求した包括的な設計NMS 不要となり、組み込みチップ上の推論遅延が大幅に削減される。
NMS除去の影響
非最大抑制は、ニューラルプロセッシングユニット(NPU)上で高速化するのが複雑な操作であることが多い。これを除去することで、YOLOv10 モデルグラフ全体を専用ハードウェア上でシームレスに実行YOLOv10 、最適化フレームワークとの互換性を劇的に向上させる。 OpenVINO やTensorRTといった最適化フレームワークとの互換性を大幅に改善します。
パフォーマンス指標と比較
モデルを本番環境で評価する際、精度と計算負荷のバランスが極めて重要である。下表は、YOLOXとYOLOv10各種スケールにおけるトレードオフを示している。
| モデル | サイズ (ピクセル) | mAPval 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 平均精度(mAP)46.7%を達成しているが、これはYOLOX-mの46.9%に匹敵する。しかし、その達成に要するパラメータ数は3分の1以下(720万対2530万)であり、FLOPsも大幅に少ない。 さらに、最上位モデルYOLOv10 mAP を54.mAP 押し上げ、要求の厳しい精度タスクにおいて高い競争力を発揮しつつ、旧世代のYOLOX-xアーキテクチャよりも高速な処理を実現している。
Ultralyticsエコシステムの利点
YOLOXは堅牢なオープンソース研究実装であり続ける一方、YOLOv10 を採用することでUltralytics提供する手入れの行き届いたエコシステムに即座にYOLOv10 Ultralyticsモデルを選択すれば、シンプルなAPIと充実したドキュメントを特徴とする効率的なユーザー体験が保証されます。
開発者はフレームワークのメモリ要件から大きな恩恵を受けています。Ultralytics トレーニングでは、通常、TransformerベースCUDA 代替モデル(例: RT-DETRなどの重厚なトランスフォーマーベースの代替手法と比べてはるかに少ないCUDAメモリを消費します。この効率的なトレーニングフットプリントにより、コンシューマーグレードのハードウェア上でより大きなバッチサイズが可能となり、データ収集からモデルデプロイまでの時間を短縮します。さらに、このフレームワークは比類のない汎用性を提供し、ユーザーは最小限のコード変更でオブジェクト検出、インスタンスセグメンテーション、姿勢推定の間をシームレスに切り替えることができます。
トレーニングと推論の例
統一APIにより、アイデアの検証が驚くほど高速化されます。以下のスニペットは、PyTorchYOLOv10 トレーニングとデプロイがいかに容易かを示しています。 PyTorch バックエンドを使用してYOLOv10モデルのトレーニングとデプロイがどれほど容易かを示しています:
from ultralytics import YOLO
# Load a pre-trained YOLOv10 nano model
model = YOLO("yolov10n.pt")
# Train the model on the COCO8 dataset
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# Run inference on a sample image
predictions = model.predict("https://ultralytics.com/images/bus.jpg")
# Export the model for edge deployment
model.export(format="engine", half=True)
組み込みのエクスポートルーチンを活用し、モデルを TensorRT や ONNX への変換はたった1行のコードで実現でき、複雑なコンパイルの障壁を完全に回避します。
理想的な使用例と導入シナリオ
これらのアーキテクチャの選択は、主にハードウェアの制約と特定のドメイン要件によって決まります。
リアルタイム動画解析
自律走行やリアルタイム交通監視など、超低遅延が求められるアプリケーションには、YOLOv10 最適なYOLOv10 。エンドツーNMSにより決定論的な実行時間が保証され、変動する後処理遅延が許容されない安全システムにおいて極めて重要です。NVIDIA などのデバイス上で、本モデルは容易に高フレームレートを実現します。
学術的ベースラインとエッジマイクロコントローラー
YOLOXは、ラベル割り当て戦略の実験用にクリーンで独立したベースラインを求める研究者にとって、学術環境において依然として価値を有している。さらに、極めて小型のYOLOX-Nano(パラメータ数100万未満)は、ハードウェアが標準的な畳み込み演算をサポートする限り、メモリがキロバイト単位で測定されるような制約の厳しいエッジマイクロコントローラに組み込むことが可能である。
究極の基準:Ultralytics
YOLOv10 NMS排除することで飛躍的な進歩をYOLOv10 ものの、コンピュータビジョン分野は急速に進化しています。現在最高水準の性能を実現したい開発者には、YOLO26の検討を強く推奨します。
ビジョンAIの最新標準としてリリースされたYOLO26は、先行モデルの基盤となるアイデアを継承し、その性能を飛躍的に向上させました。検出、セグメンテーション、姿勢推定、方向付き境界ボックスをネイティブにサポートし、究極の性能バランスを実現します。
YOLO26が現代のコンピュータビジョンパイプラインにおいて推奨される選択肢である理由は以下の通りです:
- エンドツーエンドNMS設計: YOLOv10画期的な成果を基盤とし、YOLO26はネイティブにエンドツーエンドを実現。後処理のボトルネックなしに、より高速で決定論的な推論時間を保証します。
- 最大43%高速CPU :エッジコンピューティング向けに特別に最適化されており、モバイルプロセッサやディスクリートGPUを搭載しないデバイスでも卓越したパフォーマンスを発揮します。
- MuSGDオプティマイザ:大規模言語モデル(特にMoonshot AIのKimi K2)のトレーニングに着想を得たYOLO26は、SGD ミューオンのハイブリッド手法を採用し、驚異的な安定性と高速収束を実現する。
- ProgLoss + STAL:これらの高度な損失関数は、航空写真やドローン航法といった要求の厳しい領域において極めて重要な、小規模物体認識において顕著な改善をもたらします。
- DFL除去:分布焦点損失を除去することで、YOLO26はモデルグラフを簡素化し、エッジデバイスや低消費電力デバイスへの摩擦のないエクスポートを実現します。
- タスク特化型改善:姿勢推定のための残差対数尤度推定(RLE)を使用する場合でも、OBBのための専用角度損失を使用する場合でも、YOLO26は主要な視覚タスクごとに微調整されています。
開発者の方々が、利用可能な最も効率的なトレーニングおよびデプロイメントツールでパイプラインをアップグレードする準備が整っている場合、Ultralytics への移行とYOLO26の活用により、人工知能の最先端技術を確実に維持できます。古いが安定したアーキテクチャに関心のあるユーザーは、以下も参照してください YOLO11 または YOLOv8 を検討することも可能です。これらは広範なコミュニティサポートと実証済みの堅牢性を備えています。