YOLOX対YOLOv10#
リアルタイムコンピュータビジョンモデルの進化は、アーキテクチャの重要な飛躍によって特徴づけられてきました。この歩みにおける2つの決定的なマイルストーンがYOLOXとYOLOv10です。2021年にリリースされたYOLOXは、非常に効果的なアンカーフリー設計を導入することで、学術研究と産業応用の間のギャップを埋めることに成功しました。その3年後、YOLOv10は後処理における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
組織: Tsinghua University
日付: 2024-05-23
Arxiv: https://arxiv.org/abs/2405.14458
GitHub: https://github.com/THU-MIG/yolov10
ドキュメント: https://docs.ultralytics.com/models/yolov10/
アーキテクチャの革新#
YOLOXとYOLOv10の主な違いは、バウンディングボックスの予測と後処理の扱いにあります。
YOLOX: アンカーフリー設計の先駆け#
YOLOXは、YOLOファミリーをアンカーフリーのアーキテクチャに移行させることで大きな波を起こしました。事前に定義されたアンカーボックスに頼るのではなくオブジェクトの中心を予測することで、YOLOXはカスタムデータセットに必要な設計パラメータの数や試行錯誤的な調整を劇的に削減しました。さらに、分類タスクと回帰タスクを個別の経路に分離するデカップリングヘッド(decoupled head)を導入しました。このアプローチにより、オブジェクトが「何」であるかの識別と「どこ」にあるかの決定との間の競合が解消され、収束速度と精度の向上が実現しました。
YOLOv10: NMSフリー革命#
YOLOXは検出ヘッドを簡素化しましたが、依然として冗長なバウンディングボックス予測をフィルタリングするためにNMSに依存していました。YOLOv10はこの根本的なボトルネックに対処しました。トレーニング中に一貫したデュアルアサインメントを活用することで、YOLOv10はネイティブなエンドツーエンド検出を実現します。トレーニング中はone-to-manyヘッドを使用して豊富な監督シグナルを確保し、推論中はone-to-oneヘッドを使用して最終的な予測を直接出力します。この全体的な効率と精度を重視した設計によりNMSが完全に排除され、組み込みチップでの推論レイテンシが大幅に短縮されました。
Non-Maximum Suppression(非最大値抑制)は、NPU(ニューラルプロセッシングユニット)上で高速化するのが困難な複雑な処理であることがよくあります。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% の平均精度 (mAP) を達成しながら、パラメータ数は 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は、前モデルの基本的なアイデアを取り入れ、それをさらに強化しています。検出、セグメンテーション、姿勢推定、および回転バウンディングボックス(OBB)をネイティブにサポートし、最高のパフォーマンスバランスを提供します。
YOLO26が最新のコンピュータビジョンパイプラインにおいて推奨される理由は以下の通りです。
- エンドツーエンドのNMSフリー設計: YOLOv10のブレイクスルーを基盤として、YOLO26はネイティブなエンドツーエンドを実現しており、後処理のボトルネックなしに、より高速で決定論的な推論時間を保証します。
- 最大43%高速なCPU推論: エッジコンピューティング向けに特別に最適化されており、モバイルプロセッサやディスクリート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 を確認することもできます。