Ultralytics YOLO27: ウェイティングリストに登録してください。
Get Started

YOLOv10 vs YOLOX#

コンピュータービジョン分野は、リアルタイム物体検出アーキテクチャの急速な進歩によって発展しています。この詳細な技術比較では、検出器の効率と設計を進歩させた影響力のある2つのモデル、YOLOv10とYOLOXを取り上げます。アーキテクチャの違い、性能指標、トレーニング手法を検討することで、開発者や研究者は堅牢なビジョンシステムのデプロイについて十分な情報に基づいた判断を下せます。

モデルの背景と起源#

これらのディープラーニングモデルの起源を理解すると、アーキテクチャの目標や想定されるユースケースについて、貴重な背景情報が得られます。

YOLOv10:NMSを排除し、真のエンドツーエンド検出を実現#

長年のレイテンシボトルネックを解消するために開発されたYOLOv10は、YOLOファミリーにネイティブなエンドツーエンド方式を導入しました。

YOLOv10の詳細を見る

YOLOX:研究と産業のギャップを埋める#

YOLOXは、従来のYOLO設計をアンカーフリー化したバージョンとして登場し、産業界での導入を容易にすることを目的に、競争力のある性能とよりシンプルな手法を提供しました。

YOLOXの詳細はこちら

アーキテクチャの主な特徴と革新#

どちらのフレームワークも従来のアンカーベース検出器とは異なりますが、物体検出パイプラインにおける異なる課題を解決します。

YOLOXのアーキテクチャ#

YOLOXは2021年、YOLO設計にいくつかの重要なアップデートをもたらしました。主な貢献は、アンカーフリー検出器の設計への移行です。事前定義されたアンカーボックスをなくすことで、YOLOXはさまざまなデータセットに必要な設計パラメーターとヒューリスティックなチューニングを削減しました。

さらに、YOLOXは分離型ヘッドを採用し、分類タスクと回帰タスクを分離しています。これにより、2つの目的間の競合が解消され、トレーニング時の収束が速くなりました。また、COCOデータセットで一般的な混雑したシーンやオクルージョンへの対応を改善するため、動的なラベル割り当てにSimOTAを使用しています。

アンカーフリーの利点

YOLOXで採用されているようなアンカーフリー設計は、モデルチューニングの複雑さを軽減します。開発者は最適なアンカーボックスのサイズを定義するために、カスタムデータセット上でk-meansクラスタリングを行う必要がなくなり、準備時間を短縮できます。

YOLOv10のアーキテクチャ#

YOLOXは検出ヘッドを改善しましたが、推論時には依然として非最大抑制(NMS)に依存しており、これがレイテンシの変動を引き起こします。YOLOv10は、NMSを使わないトレーニングのための一貫性のあるデュアル割り当て戦略を導入し、この制約に特化して対処しました。トレーニング時にはone-to-manyとone-to-oneの両方のラベル割り当てを使用しますが、推論時にはone-to-manyヘッドを完全に除外し、NMSの後処理なしで予測を出力できます(Ultralyticsパッケージでは、nms=Falseでこのヘッドを選択します)。

YOLOv10は、効率と精度を総合的に考慮したモデル設計も特徴です。軽量な分類ヘッドと空間・チャネル分離型のダウンサンプリングを採用し、精度を損なわずにパラメーター数とFLOPsを削減します。

パフォーマンス比較#

NVIDIA T4 GPUのようなハードウェアでモデルを評価すると、モデルの規模に応じた明確な利点が見えてきます。以下の表では、両方のモデルファミリーを比較しています。

モデルサイズ
(ピクセル)
mAPval50-95速度
CPU ONNX
(ms)
速度
T4 TensorRT10
(ms)
パラメーター
(M)
FLOPs
(B)
YOLOv10n64038.5-1.842.36.7
YOLOv10s64046.3-2.497.221.6
YOLOv10m64051.1-4.7415.459.1
YOLOv10b64052.5-5.7419.192.0
YOLOv10l64053.2-7.2824.4120.3
YOLOv10x64054.4-10.7029.5160.4
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

上記のとおり、YOLOv10は優れたスケーラビリティを発揮します。YOLOv10xのバリアントは最高精度(54.4 mAP)を達成し、YOLOv10nのバリアントは報告されている中で最速のTensorRT推論を実現します。一方、YOLOX-Nanoモデルは、計算資源が厳しく制限された環境向けに、最小のフットプリント(416ピクセルで0.91Mパラメーター)を備えています。

トレーニング手法と必要なリソース#

本番環境向けにモデルを実装する際は、生の推論速度と同じくらい、トレーニングエコシステムと必要なリソースが重要です。

YOLOXは古いコードベースに依存しているため、現在のソフトウェアスタックでは、依存関係や環境設定の管理が煩雑になることがあります。

一方、YOLOv10はUltralyticsエコシステムに統合されているため、開発者の使いやすさが向上します。また、Ultralytics YOLOモデルは、RT-DETRのようなTransformerベースのアーキテクチャよりも、トレーニング時に使用するCUDAメモリが少なくなります。

コード例:効率的なトレーニング#

統一されたUltralytics APIを使えば、C++オペレーターを手動でコンパイルしたり、複雑な設定ファイルを編集したりせずに、数行のPythonコードでモデルをトレーニングできます。

from ultralytics import YOLO

# 事前学習済みYOLOv10モデルを初期化します
model = YOLO("yolov10s.pt")

# COCO8データセットでモデルをトレーニングします
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)

# モデルの性能を検証します
metrics = model.val()

# 最適化されたモデルをONNX形式にエクスポートします
model.export(format="onnx")

このシンプルな構文を使うと、自動混合精度、自動データ拡張、Weights & Biasesなどのツールとの統合を、すぐに利用できます。

ユースケースと推奨事項#

YOLOv10とYOLOXのどちらを選ぶかは、プロジェクト固有の要件、デプロイ上の制約、エコシステムの好みによって異なります。

YOLOv10を選ぶ場合#

YOLOv10は、次の用途に適しています:

  • NMSを使用しないリアルタイム検出: 非最大抑制を使用しないエンドツーエンド検出によって、デプロイを簡素化できるアプリケーション。
  • 速度と精度のバランス: さまざまなモデルスケールで、推論速度と検出精度の優れたバランスが必要なプロジェクト。
  • レイテンシーが安定している必要のあるアプリケーション: ロボティクスや自律システムなど、予測可能な推論時間が重要なデプロイシナリオ。

YOLOXを選ぶタイミング#

YOLOXは次のような用途に推奨されます。

  • アンカーフリー検出の研究: 新しい検出ヘッドや損失関数を試す際のベースラインとして、YOLOXのシンプルなアンカーフリーアーキテクチャを使用する学術研究。
  • 超軽量エッジデバイス: YOLOX-Nanoバリアントの極めて小さなフットプリント(パラメーター数0.91M)が重要となる、マイクロコントローラーや旧式のモバイルハードウェアへのデプロイ。
  • SimOTAラベル割り当ての研究: 最適輸送に基づくラベル割り当て戦略と、トレーニングの収束への影響を調査する研究プロジェクト。

Ultralytics (YOLO26)を選ぶ場合#

多くの新規プロジェクトにおいて、Ultralytics YOLO26はパフォーマンスと開発者体験を最適なバランスで提供します。

  • NMSを使用しないエッジデプロイ: 非最大抑制の後処理を複雑化させずに、安定した低レイテンシー推論を必要とするアプリケーション。
  • CPUのみの環境: 専用GPUによる高速化機能のないデバイスでは、YOLO26nはCPU上でYOLO11nより最大43%高速に動作します。
  • 小物体検出: ドローンによる空撮画像やIoTセンサー分析などの難しいシナリオでは、ProgLossとSTALが小さな物体の精度を向上させます。

ビジョンAIの未来:YOLO26の登場#

YOLOv10とYOLOXは大きな節目となるモデルですが、この分野は今も進化を続けています。新しいプロジェクトを始める開発者には、Ultralytics YOLO26を推奨します。

2026年1月にリリースされたUltralytics YOLO26は、YOLOv10がYOLOモデルに導入したエンドツーエンドNMSフリーデザインを基盤とし、オプションのone-to-oneヘッド(nms=False)として提供します。

YOLO26では、ほかにもいくつかの改善が導入されています。

  • CPU推論が最大43%高速化: Distribution Focal Loss(DFL)を削除したことで、YOLO26nはCPU上でYOLO11nより最大43%高速に動作し、GPUを搭載しないエッジデバイスでの処理に役立ちます。
  • MuSGDオプティマイザー: LLMのトレーニングに着想を得たSGDとMuonのハイブリッドで、より速い収束と安定したトレーニングを実現します。
  • ProgLoss + STAL: Progressive Lossと小さなターゲットを考慮したラベル割り当てにより、小物体認識が向上します。これは、航空画像やIoTセンサーにとって重要な要素です。
  • 汎用性: オブジェクト検出専用のYOLOXとは異なり、YOLO26は統一された単一のライブラリで、インスタンスセグメンテーション、セマンティックセグメンテーション、深度推定、画像分類、姿勢推定、OBB検出をネイティブにサポートします。
Ultralytics Platformを活用する

最も簡単に本番環境へ導入するには、Ultralytics Platformを使用してデータセットにアノテーションを付け、クラウドでYOLO26モデルをトレーニングし、最小限の設定でエクスポートまたはデプロイできます。

実際の用途#

最適なモデルは、デプロイのシナリオや業界によって異なります。

高速動画分析#

スマートシティの交通管理など、密度の高い動画フィードを処理する場合、YOLOv10はNMSフリー設計による利点があります。NMSのボトルネックを取り除くことでレイテンシが安定するため、BoT-SORTのようなトラッキングアルゴリズムとの組み合わせに適しています。

従来型のエッジデバイスへのデプロイ#

YOLOXを中心に構築された古い学術環境やレガシーAndroidアプリケーションでは、古いPyTorch環境の維持を許容できる場合、YOLOX-Tinyのような小型モデルが今も役立つことがあります。

最新のエッジデバイスとIoTデバイス#

ロボティクス、ドローン、小売店の棚分析など、次世代ハードウェアへの導入にはYOLO26を推奨します。CPUレイテンシの低さと小物体検出の改善により、自律ナビゲーションや詳細な在庫管理に適しています。

ディープラーニングのツールキットをさらに広げるには、柔軟なYOLO11やTransformerを活用したRT-DETRなどの代替モデルとの比較もご覧ください。

コントリビューター

コメント