YOLOX と YOLOv10 の比較#
リアルタイムコンピュータビジョンモデルの進化は、アーキテクチャにおける大きな飛躍によって特徴づけられてきました。この過程における重要な節目が、YOLOX と YOLOv10 です。2021年にリリースされた YOLOX は、非常に効果的なアンカーフリー設計を導入し、学術研究と産業応用の間にあった隔たりを解消しました。その3年後、YOLOv10 は後処理における Non-Maximum Suppression (NMS) の必要性を排除することで分野に革新をもたらし、効率性と速度の限界をさらに押し広げました。
この包括的な技術比較では、両モデルのアーキテクチャ、パフォーマンス指標、理想的なユースケースを検証し、次の物体検出プロジェクトに適したツールを選択するための知見を提供します。
モデルの起源とメタデータ#
これらのモデルの起源を理解することで、アーキテクチャ上の選択と想定されるデプロイ環境を把握できます。
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://github.com/Megvii-BaseDetection/YOLOX/tree/main/docs
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
- Docs: https://docs.ultralytics.com/models/yolov10
アーキテクチャのイノベーション#
YOLOX と YOLOv10 の主な違いは、バウンディングボックスの予測と後処理をどのように扱うかにあります。
YOLOX: 先駆的なアンカーフリー設計#
YOLOX は、YOLO ファミリーをアンカーフリーアーキテクチャへ移行させたことで大きな注目を集めました。事前定義されたアンカーボックスに依存するのではなく、物体の中心を予測することで、YOLOX はカスタムデータセットに必要な設計パラメーターとヒューリスティックなチューニングの数を大幅に削減しました。さらに、分類タスクと回帰タスクを別々の経路に分離する、デカップルドヘッドを導入しました。このアプローチにより、物体が「何であるか」を特定することと、「どこにあるか」を判断することの間に存在していた競合が解消され、収束速度と精度が明確に向上しました。
YOLOv10: NMS フリーの革新#
YOLOX は検出ヘッドを簡素化しましたが、重複するバウンディングボックス予測を除外するために NMS に依存していました。YOLOv10 はこの根本的なボトルネックに対処しました。学習中に一貫性のあるデュアルアサインメントを利用することで、YOLOv10 はネイティブなエンドツーエンド検出を実現します。学習時には one-to-many ヘッドを使用して豊富な教師信号を確保し、推論時には one-to-one ヘッドを使用して最終予測を直接出力します。この包括的な効率性と精度を重視した設計により、NMS が完全に不要となり、組み込みチップ上の推論レイテンシが大幅に削減されます。
Non-Maximum Suppression は Neural Processing Units (NPUs) 上で高速化することが難しい複雑な処理になる場合があります。これを削除することで、YOLOv10 はモデルグラフ全体を専用ハードウェア上でシームレスに実行でき、OpenVINO や TensorRT などの最適化フレームワークとの互換性が大幅に向上します。
パフォーマンス指標と比較#
本番環境向けにモデルを評価する際は、精度と計算オーバーヘッドのバランスを取ることが重要です。以下の表は、YOLOX と YOLOv10 のさまざまなスケール間におけるトレードオフを示しています。
| モデル | サイズ (ピクセル) | mAPval 50-95 | 速度 CPU ONNX (ms) | 速度 T4 TensorRT10 (ms) | パラメーター数 (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-S は YOLOX-m の 46.9% に対して 平均適合率 46.7% を達成していますが、パラメーター数は3分の1未満(7.2M 対 25.3M)で、FLOPs も大幅に少なくなっています。さらに、最上位モデルの YOLOv10-X は mAP を 54.4% まで引き上げており、旧世代の YOLOX-x アーキテクチャより高速でありながら、高い精度が求められるタスクでも非常に競争力を発揮します。
Ultralyticsエコシステムの優位性#
YOLOX は堅牢なオープンソースの研究実装であり続けていますが、YOLOv10 を採用することで、Ultralytics が提供する適切に保守されたエコシステムをすぐに利用できます。Ultralytics がサポートするモデルを選択すると、シンプルな API と充実したドキュメントによって、スムーズなユーザーエクスペリエンスを実現できます。
開発者は、フレームワークのメモリ要件による大きな恩恵を受けられます。Ultralytics モデルの学習では、RT-DETR のような大規模な Transformer ベースの代替モデルと比べて、通常、必要な CUDA メモリがはるかに少なくて済みます。この効率的な学習フットプリントにより、コンシューマー向けハードウェアでより大きなバッチサイズを使用でき、データ収集からモデルデプロイまでの時間を短縮できます。さらに、このフレームワークは比類のない柔軟性を備えており、最小限のコード変更で物体検出、インスタンスセグメンテーション、姿勢推定をシームレスに切り替えられます。
学習と推論の例#
統合 API により、アイデアの検証を非常に迅速に行えます。次のスニペットでは、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", quantize=16)組み込みのエクスポート機能を活用すれば、モデルを TensorRT や ONNX などの形式に変換するために必要なコードは1行だけで、複雑なコンパイル上の障壁を完全に回避できます。
最適なユースケースとデプロイシナリオ#
これらのアーキテクチャのどちらを選択するかは、ハードウェアの制約と特定のドメイン要件に大きく左右されます。
リアルタイム動画分析#
自動運転やリアルタイム交通監視など、極めて低いレイテンシが求められるアプリケーションでは、YOLOv10 が優れた選択肢です。エンドツーエンドの NMS フリー設計により、実行時間が決定論的になるため、後処理レイテンシの変動を許容できない安全システムに不可欠です。NVIDIA Jetson シリーズなどのデバイス上でも、モデルは容易に高いフレームレートを実現できます。
学術研究のベースラインとエッジマイクロコントローラー#
YOLOX は、ラベルアサインメント戦略の実験に向けて、クリーンでデカップルドヘッドのベースラインを求める研究者にとって、学術環境で依然として価値があります。さらに、非常に小型の YOLOX-Nano(パラメーター数100万未満)は、メモリ容量がキロバイト単位に限られる厳しい制約下のエッジマイクロコントローラーにも搭載できます。ただし、ハードウェアが標準的な畳み込み演算をサポートしている必要があります。
究極の標準: Ultralytics YOLO26#
YOLOv10 は NMS の削除によって大きな飛躍を遂げましたが、コンピュータビジョン分野は急速に進歩しています。現在、クラス最高水準のパフォーマンスを実装したい開発者には、YOLO26 を検討することを強くお勧めします。
ビジョン AI の最新標準としてリリースされた YOLO26 は、前世代モデルの基盤となるアイデアを引き継ぎ、さらに強化しています。検出、セグメンテーション、姿勢、方向付きバウンディングボックスをネイティブにサポートし、究極のパフォーマンスバランスを提供します。
YOLO26 が最新のコンピュータビジョンパイプラインに推奨される理由は次のとおりです。
- エンドツーエンドの NMS フリー設計: YOLOv10 のブレークスルーを基盤として、YOLO26 はネイティブなエンドツーエンドモデルとなっており、後処理のボトルネックなしに、より高速で決定論的な推論時間を実現します。
- CPU 推論が最大 43% 高速: エッジコンピューティング向けに特別に最適化されており、モバイルプロセッサやディスクリート GPU を搭載しないデバイスで優れたパフォーマンスを発揮します。
- MuSGD オプティマイザー: Large Language Model の学習(特に 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 も確認できます。