コンテンツにスキップ

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/

YOLOXの詳細について。

YOLOv10の詳細
著者: Ao Wang, Hui Chen, Lihao Liu, Kai Chen, Zijia Lin, Jungong Han, and Guiguang Ding
所属: 清華大学
日付: 2024-05-23
Arxiv: https://arxiv.org/abs/2405.14458
GitHub: https://github.com/THU-MIG/yolov10
Docs: https://docs.ultralytics.com/models/yolov10/

YOLOv10について詳しくはこちら

アーキテクチャの革新

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)
YOLOXnano41625.8--0.911.08
YOLOXtiny41632.8--5.066.45
YOLOXs64040.5-2.569.026.8
YOLOXm64046.9-5.4325.373.8
YOLOXl64049.7-9.0454.2155.6
YOLOXx64051.1-16.199.1281.9
YOLOv10n64039.5-1.562.36.7
YOLOv10s64046.7-2.667.221.6
YOLOv10m64051.3-5.4815.459.1
YOLOv10b64052.7-6.5424.492.0
YOLOv10l64053.3-8.3329.5120.3
YOLOv10x64054.4-12.256.9160.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モデルのトレーニングは、RT-DETRのような重いTransformerベースの代替モデルよりも、通常はるかに少ないCUDAメモリを消費します。この効率的なトレーニングフットプリントにより、コンシューマーグレードのハードウェアでもより大きなバッチサイズが可能になり、データ収集からモデルデプロイメントまでの時間を短縮します。さらに、このフレームワークは比類のない汎用性を提供し、ユーザーは最小限のコード変更で物体detectインスタンスsegment姿勢推定をシームレスに切り替えることができます。

トレーニングと推論の例

統一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)

組み込みのエクスポートルーチンを活用することで、モデルをTensorRTONNXのような形式に変換することはたった1行のコードで可能になり、複雑なコンパイルの障壁を完全に回避できます。

理想的な使用例と導入シナリオ

これらのアーキテクチャの選択は、主にハードウェアの制約と特定のドメイン要件に依存します。

リアルタイム動画解析

自動運転やリアルタイム交通監視など、超低レイテンシを必要とするアプリケーションにおいて、YOLOv10は優れた選択肢です。そのエンドツーエンドのNMSフリー設計は決定論的な実行時間を保証し、可変的な後処理レイテンシが許容されない安全システムにとって極めて重要です。このモデルは、NVIDIA Jetsonシリーズのようなデバイスで高フレームレートを容易に達成します。

学術的なベースラインとエッジマイクロコントローラー

YOLOXは、ラベル割り当て戦略の実験用にクリーンで独立したベースラインを求める研究者にとって、学術環境において依然として価値を有している。さらに、極めて小型のYOLOX-Nano(パラメータ数100万未満)は、ハードウェアが標準的な畳み込み演算をサポートする限り、メモリがキロバイト単位で測定されるような制約の厳しいエッジマイクロコントローラに組み込むことが可能である。

究極の基準:Ultralytics

YOLOv10 NMS排除することで飛躍的な進歩をYOLOv10 ものの、コンピュータビジョン分野は急速に進化しています。現在最高水準の性能を実現したい開発者には、YOLO26の検討を強く推奨します。

ビジョンAIの最新標準としてリリースされたYOLO26は、先行モデルの基盤となるアイデアを継承し、その性能を飛躍的に向上させました。検出、セグメンテーション、姿勢推定、方向付き境界ボックスをネイティブにサポートし、究極の性能バランスを実現します。

YOLO26が現代のコンピュータビジョンパイプラインにおいて推奨される選択肢である理由は以下の通りです:

  • エンドツーエンドNMSフリー設計: YOLOv10の画期的な技術に基づいて構築されたYOLO26は、ネイティブにエンドツーエンドであり、後処理のボトルネックなしに、より高速で決定論的な推論時間を保証します。
  • CPU推論が最大43%高速化: エッジコンピューティング向けに特別に最適化されており、モバイルプロセッサやディスクリートGPUを持たないデバイスで卓越したパフォーマンスを保証します。
  • MuSGD オプティマイザ: 大規模言語モデルのトレーニング (特にMoonshot AIのKimi K2) から着想を得て、YOLO26はSGDとMuonのハイブリッドを利用し、驚くほど安定したトレーニングと迅速な収束を実現します。
  • ProgLoss + STAL: これらの高度な損失関数は、小さなオブジェクトの認識において著しい改善をもたらし、航空画像やドローンナビゲーションのような要求の厳しい分野にとって不可欠です。
  • DFLの削除: Distribution Focal Lossを削除することで、YOLO26はモデルグラフを簡素化し、エッジデバイスや低電力デバイスへのスムーズなエクスポートを可能にします。
  • タスク固有の改善: ポーズ推定にResidual Log-Likelihood Estimation (RLE) を使用する場合でも、OBBに特化した角度損失を使用する場合でも、YOLO26はすべての主要なビジョンタスク向けに微調整されています。

利用可能な最も効率的なトレーニングおよびデプロイメントツールでパイプラインをアップグレードする準備ができている開発者にとって、Ultralytics Platformへの移行とYOLO26の活用は、人工知能の最先端に留まることを保証します。古いものの安定したアーキテクチャに興味があるユーザーは、広範なコミュニティサポートと実証済みの堅牢性のために、YOLO11またはYOLOv8も検討できます。


コメント