YOLOXとYOLOv6.0の比較:技術的な比較
適切な物体検出アーキテクチャを選択することは、パフォーマンス、スピード、計算効率のバランスを目指す開発者や研究者にとって重要な決断である。この包括的な比較では、Megviiの高性能アンカーフリー検出器であるYOLOXと、Meituanが開発した産業グレードのフレームワークであるYOLOv6.0の技術的な違いを探ります。両者のアーキテクチャ、ベンチマーク、トレーニング手法を分析することで、特定のコンピュータ・ビジョン・アプリケーションに最適なモデルを導き出すことを目的としています。
YOLOX:研究と産業の架け橋
著者Zheng Ge, Songtao Liu, Feng Wang, Zeming Li, and Jian Sun
Organization:Megvii
Date:2021-07-18
Arxiv:https://arxiv.org/abs/2107.08430
GitHub:https://github.com/Megvii-BaseDetection/YOLOX
Docs:https://yolox.readthedocs.io/en/latest/
2021年にリリースされたYOLOXは、アンカーを使わないメカニズムを採用し、以前は学術研究用であった高度な検出技術を統合することで、YOLO 系譜に大きな変化をもたらした。あらかじめ定義されたアンカーボックスへの依存を取り除くことで、YOLOXは学習プロセスを簡素化し、さまざまな物体形状における汎化を向上させた。
アーキテクチャと主な機能
YOLOXは「分離ヘッド」アーキテクチャで差別化を図っています。従来のYOLO モデルが分類とローカライゼーションのタスクを1つのブランチで結合していたのとは異なり、YOLOXはそれらを分離することで、収束速度と精度を大幅に向上させている。また、SimOTA(Simplified Optimal Transport Assignment)ラベル割り当てストラテジーを採用し、ポジティブサンプルをグラウンドトゥルースオブジェクトに動的に割り当てることで、トレーニングの不安定性を低減します。
アンカー・フリー設計
YOLOXは、従来のYOLO バージョンで一般的であった手動によるアンカーボックスのクラスタリングを不要にした。これにより、学習におけるヒューリスティックなハイパーパラメータや設計の選択肢の数が減り、大規模なチューニングを行うことなく、様々なデータセットに対してより頑健なモデルとなる。
長所と短所
長所:
- 高い精度:非結合ヘッドと高度なラベル割り当てにより、YOLOXは、特にCOCO データセットにおいて、競争力のある平均平均精度(mAP)スコアを達成することができます。
- 研究の柔軟性:シンプルな設計のため、新しい検出ヘッドや割り当て戦略を試す研究者にとって、優れたベースラインとなる。
- 小さな物体の検出:アンカーを使用しないアプローチは、剛性の高いアンカーを使用したシステムと比較して、小さな物体に対してより優れた性能を発揮することがある。
弱点:
- 推論レイテンシー:正確ではあるが、非結合ヘッドはわずかな計算オーバーヘッドをもたらし、YOLOv6ような完全に最適化された産業用モデルと比較すると、推論速度が遅くなることが多い。
- エコシステムの成熟度:コードはオープンソースだが、サードパーティツール、デプロイメントガイド、コミュニティサポートのエコシステムは、Ultralticsよりも小さい。 Ultralytics YOLOv8やYOLOv5小さい。
理想的なユースケース
YOLOXは、特に学術研究や、推論速度よりも精度が優先されるシナリオに適している。
- メディカルイメージング精度が最も求められる医療画像解析において、複雑な構造を解析する。
- 欠陥検出:検出の見落としがコストにつながる製造現場での微妙な異常を特定する。
- 学術的な実験:新しいコンピュータビジョンアルゴリズムを開発するための、クリーンでアンカーのないベースラインとして機能します。
YOLOv6.0:工業用スピードのために設計された
著者Chuyi Li, Lulu Li, Yifei Geng, Hongliang Jiang, Meng Cheng, Bo Zhang, Zaidan Ke, Xiaoming Xu, and Xiangxiang Chu
Organization:Meituan
Date:2023-01-13
Arxiv:https://arxiv.org/abs/2301.05586
GitHubYOLOv6
Docsultralytics
YOLOv6.0は、実際の産業用アプリケーション向けに設計された専用オブジェクト検出器です。3.0」アップデートは、「フルスケール・リローディング」として知られ、NVIDIA GPUのようなハードウェアのスループットを最大化するために、アーキテクチャの大幅な改良を導入した。
アーキテクチャと主な機能
YOLOv6.0の核心は、再パラメータ化を多用していることである。このモデルは、EfficientRepバックボーンとRep-PANネックを使用しており、学習時には複雑な複数分岐構造を持つが、推論時には単純な単一パス構造に縮退する。この "RepVGGスタイル "のアプローチにより、複雑な分岐による実行時のレイテンシ・ペナルティなしに、高い特徴抽出能力が保証される。
さらに、YOLOv6.0はアンカー補助トレーニング(AAT)を採用し、アンカーベースとアンカーフリーのパラダイムの利点を組み合わせることで、トレーニングを安定させ、収束を早める。
長所と短所
長所:
- 卓越したスピード:最適化された TensorRTYOLOv6.0は、極めて低いレイテンシを実現し、高フレームレートのアプリケーションに最適です。
- 導入準備完了: モデルの量子化サポートなどの機能により、エッジデバイスやサーバーへの導入が容易になります。
- 効率:リパラメータ化技術は、FLOPと精度のバランスに優れている。
弱点:
- トレーニングリソースの強度:複雑なトレーニング時間アーキテクチャ(再パラメータ化前)は、より単純なモデルに比べて大きなGPU メモリを必要とする可能性があります。
- 限られたタスク範囲: YOLOv6 6は主に検出に焦点を当てている。ポーズ推定や OBB(Oriented Bounding Boxes)のような、Ultralytics 製品に見られるシームレスなAPI内の他のタスクに対するネイティブな統合サポートがありません。
理想的なユースケース
YOLOv6.0は、リアルタイムの推論速度が厳しく要求される環境で輝きを放つ。
- 自律型ロボティクス:ロボットがダイナミックな環境を即座にナビゲートし、反応できるようにする。
- 生産ライン検査:スループットが損なわれない製造ベルトでの高速品質検査。
- ビデオ解析: セキュリティアラームシステム用に複数のビデオストリームを同時に処理します。
性能直接対決
COCO データセットの性能指標を比較すると、設計思想が異なることがわかる。YOLOXは単純化されたアーキテクチャーを提供し、その精度は折り紙付きである一方、YOLOv6.0は構造最適化によって推論速度の限界を押し広げている。
| モデル | サイズ (ピクセル) | mAP値 50-95 | 速度 CPU ONNX (ms) | 速度 T4 TensorRT10 (ms) | params (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.0n | 640 | 37.5 | - | 1.17 | 4.7 | 11.4 |
| YOLOv6.0s | 640 | 45.0 | - | 2.66 | 18.5 | 45.3 |
| YOLOv6.0m | 640 | 50.0 | - | 5.28 | 34.9 | 85.8 |
| YOLOv6.0l | 640 | 52.8 | - | 8.95 | 59.6 | 150.7 |
このデータでは、YOLOv6.0nが GPU ハードウェア上で大幅に高速化(YOLOXの2.56ミリ秒に対して1.17ミリ秒)しながら、強力なmAP維持していることが強調されている。1メガバイト単位が重要な、リソースに制約のあるデバイスでは、YOLOXnanoは、精度は落ちるものの、1M以下のパラメータを持つ興味深い選択肢であることに変わりはない。ハイエンドでは、YOLOv6.0lがYOLOXxを精度(52.8対51.1mAP)と効率の両方で上回り、使用するパラメータが約40%少なくなります。
トレーニング方法論とエコシステム
これらのモデルをトレーニングする際のユーザーエクスペリエンスは大きく異なる。
YOLOXは、MosaicやMixUp ような強力なデータ補強技術に依存し、事前に訓練された重みなしでその結果を達成する。その学習パイプラインは研究指向であり、PyTorch 構成に深く精通している人に柔軟性を提供します。
YOLOv6.0は自己蒸留を採用しており、より大きな教師モデルが学習中に生徒モデルをガイドし、推論コストを増加させることなく、より小さなモデルの精度を向上させる。この方法は強力ですが、トレーニングの設定が複雑になります。
しかし、合理化されたワークフローを優先する開発者は、Ultralytics エコシステムが優れていると感じることがよくあります。スタンドアロンのリサーチモデルによく見られる断片的なツールとは異なり、Ultralytics 統一されたプラットフォームを提供します。
- 使いやすさ:シンプルなPython APIにより、わずか数行のコードでトレーニング、検証、推論が可能。
- 整備されたエコシステム:頻繁なアップデートにより、最新バージョンのPyTorch、CUDA、および以下のようなエクスポートフォーマットとの互換性が確保されています。 ONNXや OpenVINO.
- トレーニング効率: Ultralytics モデルは、効率的なメモリ使用のために最適化されており、多くの場合、同等のトランスフォーマーベースのアーキテクチャよりも少ないGPU メモリでより速くトレーニングできます。
Ultralytics 使いやすさ
Ultralytics 使った最先端のモデルのトレーニングは、次のように簡単です:
from ultralytics import YOLO
# Load a model
model = YOLO("yolo11n.pt")
# Train the model
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
結論Ultralytics 優位性
YOLOXは研究に適した革新的なアンカー・フリー設計を提供し、YOLOv6.0は特定の産業用ハードウェア向けに驚異的なスピードを実現する、 Ultralytics YOLO11は現在のコンピューター・ビジョン技術の最高峰です。
YOLO11 定評ある YOLOv8は、CPU GPU 問わず、卓越した推論速度で最先端のmAP スコアを達成し、優れたパフォーマンスバランスを提供します。Ultralytics モデルは、主に検出に限定された競合他社とは異なり、ネイティブに対応し、比類のない汎用性を提供します:
積極的な開発、包括的なドキュメント、活発なコミュニティに支えられた将来性のあるソリューションを求める開発者にとって、Ultralytics コンセプトから本番までプロジェクトを進める上で推奨される選択肢であり続けています。
YOLOv5 YOLOv6、YOLO11 RT-DETR比較については、こちらをご覧いただきたい。