YOLOX vs YOLOv6-3.0#
コンピュータビジョンの進化は、YOLOシリーズの急速な進歩によって大きく形作られてきました。デプロイメントに適したアーキテクチャを選ぶことは、多くの場合、生のスループット、アーキテクチャのシンプルさ、および学習効率のバランスを取ることに帰着します。この道のりにおける2つの顕著なマイルストーンは、アンカーフリーの研究に焦点を当てた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は手動でのアンカー再計算なしで、さまざまなカスタムデータセットに非常に適応しやすくなります。
さらに、YOLOXはデカップルドヘッド(分離型ヘッド)アーキテクチャを導入しました。分類タスクと回帰タスクを異なるブランチに分離することで、モデルは、オブジェクトが何であるかとどこにあるかという固有の矛盾を解決します。SimOTAラベル割り当て戦略と組み合わせることで、YOLOXはより高速な収束と、向上した平均適合率(mAP)を実現しています。
YOLOXのようなアンカーフリーの検出器は、固定されたバウンディングボックスの事前情報に依存しないため、新しいデータと一致しない可能性がある場合でも、珍しいアスペクト比を持つオブジェクトを含むカスタムデータセットで優れた性能を発揮することがよくあります。
YOLOv6-3.0: 産業用ヘビー級モデル#
Meituanのビジョン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が推奨されるケース:
- 産業用ハードウェア対応の展開: モデルのハードウェア認識設計と効率的な再パラメータ化が、特定のターゲットハードウェア上で最適化されたパフォーマンスを提供するシナリオ。
- 高速なシングルステージ検出: 管理された環境でのリアルタイムビデオ処理において、GPU上の生の推論速度を優先するアプリケーション。
- Meituanエコシステムの統合: すでにMeituanの技術スタックおよびデプロイインフラストラクチャ内で作業しているチーム。
Ultralytics (YOLO26) を選択すべき時#
ほとんどの新しいプロジェクトにおいて、Ultralytics YOLO26はパフォーマンスと開発者体験の最高の組み合わせを提供します。
- NMSフリーのエッジ展開: Non-Maximum Suppression後処理の複雑さを伴わずに、一貫した低レイテンシの推論が求められるアプリケーション。
- CPUのみの環境: GPUアクセラレーションを利用できないデバイスにおいて、YOLO26の最大43%高速なCPU推論が決定的な利点となる場合。
- 小物体検出: ProgLossとSTALにより極小オブジェクトの精度が大幅に向上する、空中ドローン画像やIoTセンサー分析などの困難なシナリオ。
Ultralyticsの利点#
MegviiとMeituanの双方が強力なリサーチ用リポジトリを提供している一方で、これらのモデルを本番環境にデプロイするには、多くの場合、膨大なエンジニアリングのオーバーヘッドが発生します。統合されたUltralyticsエコシステムは、統一された、詳細にドキュメント化されたAPIを提供することで、これらのハードルを解消します。
Ultralyticsパッケージを活用することで、開発者は比類のないユーザーエクスペリエンスを得ることができます。これには、組み込みの自動拡張(オートオーグメンテーション)、学習中の非常に効率的なメモリ管理(RTDETRのようなトランスフォーマーモデルと比較してVRAM要件を劇的に削減)、およびONNXやOpenVINOなどのフォーマットへのシームレスなエクスポートパイプラインが含まれます。
特殊なモデルとは異なり、Ultralyticsのアーキテクチャは本質的に汎用性が高く、物体検出、インスタンスセグメンテーション、姿勢推定、画像分類、および指向性バウンディングボックス(OBB)を標準でサポートしています。
YOLO26の登場: 究極のエッジソリューション#
新しいコンピュータビジョンプロジェクトを開始するチームには、新しくリリースされたUltralytics YOLO26へのアップグレードを強くお勧めします。YOLO11とYOLOv8の成功を基盤として、YOLO26はパラダイムシフトをもたらす革新を導入しています。
- エンドツーエンドのNMSフリーデザイン: YOLOv10で初めて探索されたYOLO26は、非最大値抑制(NMS)後処理の必要性をネイティブに排除します。これにより、リアルタイムロボティクスにとって不可欠な、決定論的かつ超低遅延の推論が保証されます。
- MuSGDオプティマイザ: Moonshot AIのKimi K2のようなLLM学習手法に触発され、YOLO26はMuSGDオプティマイザ(SGDとMuonのハイブリッド)を利用して、信じられないほど安定した学習ダイナミクスとより高速な収束を実現します。
- 最大43%高速なCPU推論: 分布焦点損失(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 downloading, caching, and auto-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プラットフォームを使用して、クラウドでデータセットの管理、実験の追跡、およびモデルの学習を行います。
ユースケースに関する推奨事項#
これらのアーキテクチャから選択する際は、特定のハードウェア制約とプロジェクト要件を考慮してください。
- YOLOXを選ぶべき場合: ラベル割り当て戦略に関する学術研究を行っている場合、あるいはカスタムアーキテクチャの変更のために、純粋で理解しやすいアンカーフリーのベースラインが必要な場合。
- YOLOv6-3.0を選ぶべき場合: ハイエンドのNVIDIA GPU(A100やT4など)を搭載した産業用サーバーラックにデプロイし、大きなバッチサイズとTensorRT最適化を利用して、数百のビデオストリームを同時に処理する必要がある場合。
- Ultralytics YOLO26は、大多数の最新アプリケーションに最適です。IoTデバイス、ドローン、または携帯電話向けのエッジAIアプリケーションを構築している場合、YOLO26のネイティブなNMSフリーデザイン、CPU最適化、および包括的なエコシステムのサポートは、学習と本番環境のギャップを埋めるための間違いなく最良の選択肢となります。