YOLOXとYOLOv6-3.0の比較#
コンピュータービジョンの進化は、主にYOLOシリーズの急速な進歩によって形作られてきました。デプロイに適したアーキテクチャを選ぶ際は、多くの場合、処理性能、アーキテクチャのシンプルさ、トレーニング効率のバランスが重要になります。この進化における注目すべき節目が、アンカーフリーの研究に重点を置くYOLOXと、産業用途で高い処理性能を実現するよう最適化されたYOLOv6-3.0です。
この技術比較では、両モデルのアーキテクチャの違い、性能指標、理想的なユースケースを解説するとともに、エッジおよびクラウドへのデプロイで最適なソリューションを求める開発者に向けて、次世代のUltralytics YOLO26の機能も紹介します。
YOLOX:研究と産業の架け橋#
Megviiの研究者によって開発されたYOLOXは、YOLOアーキテクチャを完全なアンカーフリーにすることで簡素化する、大きな転換点として登場しました。
- 著者: Zheng Ge、Songtao Liu、Feng Wang、Zeming Li、Jian Sun
- 組織: Megvii
- 日付: 2021-07-18
- Arxiv: 2107.08430
- GitHub: Megvii-BaseDetection/YOLOX
アーキテクチャの主な特徴#
YOLOXは、アンカーフリー設計をYOLOファミリーに導入することに成功しました。事前定義されたアンカーボックスを排除することで、モデルは設計パラメーターの数と、トレーニング時に必要なヒューリスティックな調整を大幅に削減します。そのため、アンカーの再計算を手動で行わなくても、さまざまなカスタムデータセットに柔軟に適応できます。
さらに、YOLOXは分離型ヘッドアーキテクチャを導入しました。分類タスクと回帰タスクを異なるブランチに分けることで、物体が「何であるか」と「どこにあるか」を特定する際に生じる本質的な競合を解消します。SimOTAラベル割り当て戦略と組み合わせることで、YOLOXは収束を高速化し、平均適合率(mAP)を向上させます。
YOLOXのようなアンカーフリー検出器は、新しいデータに適合しない可能性がある固定のバウンディングボックス事前分布に依存しないため、物体のアスペクト比が一般的でないカスタムデータセットで優れた性能を発揮することがよくあります。
YOLOv6-3.0: 産業用途の強力なモデル#
MeituanのVision AI部門が開発したYOLOv6-3.0は、特にTensorRTなどのハードウェアアクセラレーターを利用するNVIDIA GPU上で、産業用途における最大限のスループットを実現するよう、妥協なく設計されています。
- 著者: Chuyi Li、Lulu Li、Yifei Gengほか
- 組織: Meituan
- 日付: 2023-01-13
- Arxiv: 2301.05586
- GitHub: meituan/YOLOv6
デプロイ向けの最適化#
YOLOv6-3.0は、GPUの使用率を最大化することに重点を置いています。ネック部分に双方向連結(BiC)モジュールを導入し、高い推論速度を維持しながら特徴融合を強化します。推論フェーズでは完全なアンカーフリーですが、YOLOv6-3.0はトレーニングフェーズでアンカーベースの安定性を活用するため、革新的なアンカー支援トレーニング(AAT)戦略を採用しています。
バックボーンには、ハードウェアに適したEfficientRepアーキテクチャを採用しています。これは、メモリアクセスのコストを最小限に抑え、最新のアクセラレーターで計算密度を最大化するよう意図的に設計されています。そのため、YOLOv6はサーバーサイドの動画分析に非常に適しています。
パフォーマンス比較#
これらのモデルを比較する際、開発者は純粋な精度と推論速度、パラメーター数のバランスを検討する必要があります。以下の表では、さまざまなサイズにおける両モデルファミリーの性能を示します。
| モデル | サイズ (ピクセル) | 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 |
| YOLOv6-3.0n | 640 | 37.5 | - | 1.17 | 4.7 | 11.4 |
| YOLOv6-3.0s | 640 | 45.0 | - | 2.66 | 18.5 | 45.3 |
| YOLOv6-3.0m | 640 | 50.0 | - | 5.28 | 34.9 | 85.8 |
| YOLOv6-3.0l | 640 | 52.8 | - | 8.95 | 59.6 | 150.7 |
YOLOv6-3.0は大型モデルで優れたmAPと優秀なTensorRT速度を示しますが、YOLOXもシンプルさと旧世代ハードウェアでの堅牢な性能により、非常に高い競争力を保っています。
ユースケースと推奨事項#
YOLOXとYOLOv6のどちらを選ぶかは、具体的なプロジェクト要件、デプロイ上の制約、エコシステムの好みによって決まります。
YOLOXを選ぶタイミング#
YOLOXは次のような用途に適しています:
- アンカーフリー検出の研究: 新しい検出ヘッドや損失関数を試す際のベースラインとして、YOLOXのシンプルなアンカーフリーアーキテクチャを使用する学術研究。
- 超軽量エッジデバイス: YOLOX-Nanoバリアントの極めて小さなフットプリント(パラメーター数0.91M)が重要となる、マイクロコントローラーや旧式のモバイルハードウェアへのデプロイ。
- SimOTAラベル割り当ての研究: 最適輸送に基づくラベル割り当て戦略と、トレーニングの収束への影響を調査する研究プロジェクト。
YOLOv6を選ぶ場合#
YOLOv6は、次のような場合に推奨されます。
- 産業用ハードウェアを考慮したデプロイ: モデルのハードウェアを考慮した設計と効率的な再パラメーター化によって、特定のターゲットハードウェア上で最適な性能が得られるシナリオです。
- 高速な1ステージ検出: 制御された環境でのリアルタイム動画処理において、GPU上での生の推論速度を重視するアプリケーションです。
- Meituanエコシステムとの統合: すでにMeituanの技術スタックとデプロイインフラストラクチャを利用しているチームです。
Ultralytics (YOLO26)を選ぶ場合#
多くの新規プロジェクトにおいて、Ultralytics YOLO26はパフォーマンスと開発者体験を最適なバランスで提供します。
- NMSを使用しないエッジデプロイ: 非最大抑制の後処理を複雑化させずに、安定した低レイテンシー推論を必要とするアプリケーション。
- CPUのみの環境: 専用のGPUアクセラレーションを備えていないデバイスで、YOLO26の最大43%高速なCPU推論が大きな優位性を発揮します。
- 小物体検出: ドローンによる航空画像やIoTセンサーの分析など、ProgLossとSTALによって小さな物体の精度が大幅に向上する難しいシナリオ。
Ultralyticsの強み#
MegviiとMeituanはどちらも強力な研究用リポジトリを提供していますが、これらのモデルを本番環境にデプロイするには、多くの場合、大きなエンジニアリング負担が伴います。統合されたUltralyticsエコシステムは、統一された充実したドキュメント付きのAPIを提供し、こうした障壁を取り除きます。
Ultralyticsパッケージを利用することで、開発者は比類のない使いやすさを得られます。これには、組み込みの自動拡張、トレーニング時の効率的なメモリ管理(RT-DETRのようなTransformerモデルと比べてVRAM要件を大幅に削減)、ONNXやOpenVINOなどの形式へのシームレスなエクスポートパイプラインが含まれます。
専用モデルとは異なり、Ultralyticsのアーキテクチャは本質的に汎用性が高く、物体検出、インスタンスセグメンテーション、姿勢推定、画像分類、回転バウンディングボックス(OBB)をすぐにサポートしています。
YOLO26登場: 究極のエッジソリューション#
新しいコンピュータービジョンプロジェクトを始めるチームには、新たにリリースされたUltralytics YOLO26へのアップグレードを強く推奨します。YOLO11とYOLOv8の成果を基盤として、YOLO26はパラダイムを大きく変える革新を導入しています。
- エンドツーエンドのNMSフリー設計: YOLOv10で初めて検討されたYOLO26のオプションのワンツーワンヘッド(
nms=False)は、非最大抑制(NMS)の後処理を不要にします。これにより、リアルタイムロボティクスに不可欠な、決定論的で極めて低いレイテンシの推論を実現します。 - MuSGDオプティマイザー: Moonshot AIのKimi K2などのLLMトレーニング手法に着想を得て、YOLO26はMuSGDオプティマイザー(SGDとMuonのハイブリッド)を活用し、非常に安定したトレーニング動作と高速な収束を実現します。
- CPU推論を最大43%高速化: Distribution Focal Loss(DFL)を削除し、ネットワークヘッドを簡素化することで、YOLO26はCPU実行に依存するエッジデバイス向けに高度に最適化されており、エッジ環境ではYOLOv6を大幅に上回ります。
- ProgLoss + STAL: これらの高度な損失関数により、小物体検出が大幅に向上し、YOLO26は航空画像や微細な欠陥検査に最適です。
統合トレーニングの例#
Ultralytics Python APIを使用すれば、最先端モデルのトレーニングに必要なのはわずか数行のコードです。レガシーなYOLOモデルのテストにも、最先端のYOLO26フレームワークのデプロイにも、同じシンプルなインターフェースを使用できます。
from ultralytics import YOLO
# Load the next-generation YOLO26 model (NMS-free, optimized for edge)
model = YOLO("yolo26n.pt")
# Train the model on the COCO8 dataset
# The ecosystem handles dataset downloading, caching, and batching natively
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# Validate the model and print mAP metrics
metrics = model.val()
print(f"Validation mAP50-95: {metrics.box.map}")
# Export the model for edge deployment
model.export(format="onnx")さらにスムーズに利用するには、コード不要のUltralytics Platformを使用して、クラウド上でデータセットを管理し、実験を追跡し、モデルをトレーニングできます。
ユースケース別の推奨#
これらのアーキテクチャから選択する際は、具体的なハードウェアの制約とプロジェクト要件を考慮してください。
- ラベル割り当て戦略に関する学術研究を行う場合や、アーキテクチャを変更するための、純粋で理解しやすいアンカーフリーのベースラインが必要な場合は、YOLOXを選択してください。
- 大規模なバッチサイズとTensorRTの最適化を活用して数百の動画ストリームを同時に処理できる、A100やT4などのハイエンドNVIDIA GPUを搭載した産業用サーバーラックにデプロイする場合は、YOLOv6-3.0を選択してください。
- 現代のアプリケーションの大半には、YOLO26を選択してください。IoTデバイス、ドローン、携帯電話向けにエッジAIアプリケーションを構築する場合、YOLO26はネイティブのNMSフリー設計、CPU最適化、包括的なエコシステムサポートを備えており、トレーニングから本番環境までの隔たりを埋める最適な選択肢です。