YOLOX対YOLOv8:高性能物体検出の進歩
急速に進化するコンピュータビジョンの分野において、特定の用途に適したアーキテクチャを選択することは極めて重要です。本ガイドでは、2021年に登場した高性能アンカーフリー検出器であるYOLOXとUltralytics YOLOv8(汎用性、速度、導入の容易性を追求した最先端モデル)の詳細な技術比較を行います。両モデルともこの分野に大きく貢献していますが、そのアーキテクチャの違いとエコシステムサポートを理解することで、開発者は実世界のプロジェクトにおいて情報に基づいた意思決定が可能となります。
概要
YOLOXはアンカーフリー機構への移行と予測ヘッドの分離により、YOLO において重要な転換点となった。これにより設計プロセスが簡素化され、YOLOv3やYOLOv5 v5.0)といった同時期のモデルと比較して性能が向上した。しかし、 YOLOv8 は、長年にわたるコミュニティからのフィードバックと研究を基盤とし、アンカーフリー検出、複数タスク向けの統一フレームワーク、優れたトレーニング効率といった先進機能を統合しています。これら全ては包括的なUltralytics によって支えられています。
YOLOX
- 著者: Zheng Ge、Songtao Liu、Feng Wang、Zeming Li、Jian Sun
- 組織:Megvii
- 日付: 2021-07-18
- Arxiv:YOLOX: 2021年にYOLOシリーズを超える
- GitHub:Megvii-BaseDetection/YOLOX
YOLOv8
- 著者: Glenn Jocher、Ayush Chaurasia、Jing Qiu
- 組織:Ultralytics
- 日付: 2023-01-10
- GitHub:ultralytics/ultralytics
アーキテクチャの違い
これらのモデルが物体予測と特徴抽出をどのように扱うかに、中核的な違いがある。
YOLOX アーキテクチャ
YOLOXは「分離ヘッド」構造を導入した。YOLO 分類と位置特定(境界ボックス回帰)タスクを単一ブランチに結合していた。YOLOXはこれらを分離し、分類と回帰タスク間の競合が性能を制限すると主張した。またアンカーフリー設計に移行し、物体検出を点回帰問題として扱うことで、アンカーボックスのヒューリスティック調整の複雑さを低減した。動的ラベル割り当てにSimOTAを採用し、どの予測が真の物体に一致するかを最適化する。
YOLOv8アーキテクチャ
Ultralytics YOLOv8 アンカーフリーの概念をさらにYOLOv8 。そのバックボーンにはC2fモジュールを採用しており、これはYOLOv5由来のC3とELAN( YOLOv7)の長所を組み合わせ、軽量性を維持しながら勾配の流れを強化しています。YOLOXと同様に分離ヘッドを採用しつつ、ラベル割り当てにタスク整合アサイナーを導入。これによりSimOTAよりも効果的に分類スコアと位置特定スコアのバランスを調整します。重要な点として、YOLOv8 統一フレームワークとしてYOLOv8 、インスタンスセグメンテーション、姿勢推定、方向性物体検出(OBB)、分類をネイティブにサポートしています。
パフォーマンスバランス
Ultralytics 速度と精度の間で良好なバランスを実現している。YOLOv8 のC2fバックボーンは、従来のアーキテクチャで使用されていたCSPDarknetと比較して、計算オーバーヘッドを低減しつつより豊富な特徴抽出YOLOv8 。
性能指標の比較
以下の表は、COCO における標準的な検出モデルの比較を示しています。YOLOv8 、特にTensorRTを利用する最新ハードウェアにおいて、同等またはより高速な推論速度で、YOLOv8 高いmAPvalを提供します。
| モデル | サイズ (ピクセル) | mAPval 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 |
| YOLOv8n | 640 | 37.3 | 80.4 | 1.47 | 3.2 | 8.7 |
| YOLOv8s | 640 | 44.9 | 128.4 | 2.66 | 11.2 | 28.6 |
| YOLOv8m | 640 | 50.2 | 234.7 | 5.86 | 25.9 | 78.9 |
| YOLOv8l | 640 | 52.9 | 375.2 | 9.06 | 43.7 | 165.2 |
| YOLOv8x | 640 | 53.9 | 479.1 | 14.37 | 68.2 | 257.8 |
注:YOLOXの速度は一般的にV100 GPUで測定されるのに対し、YOLOv8 T4CPU ONNX で標準化されています。「params」はパラメータ(単位:百万)、「FLOPs」は浮動小数点演算(単位:十億)を指します。
トレーニングと使いやすさ
YOLOXとUltralytics における最も重要な差別化要因の一つは、開発者体験である。
Ultralyticsエコシステムの利点
YOLOv8 洗練Python (CLI)YOLOv8 。開発者はインストールからカスタムデータセットでのトレーニングまで数分で完了できます。エコシステムには以下のようなツールとのシームレスな統合が含まれます Weights & Biases などのUltralytics が含まれます。さらに、Ultralytics を利用すれば、Ultralytics 環境設定を必要とせずに、ウェブベースでのモデルトレーニングとデプロイが可能です。
一方、YOLOXはより伝統的な研究リポジトリである。強力ではあるものの、トレーニングスクリプトや環境依存関係の手動設定が頻繁に必要となるため、初心者や迅速な反復を必要とするチームにとっては習得が難しい。
コード例:YOLOv8トレーニング
Ultralytics の簡潔さにより、メンテナンスが容易な簡潔なコードが実現できます。
from ultralytics import YOLO
# Load a model (YOLOv8n)
model = YOLO("yolov8n.pt")
# Train on COCO8 dataset
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# Run inference
results = model("https://ultralytics.com/images/bus.jpg")
メモリ要件
Ultralytics 。YOLOv8 、Transformerベースのモデルを含む他の多くのアーキテクチャと比較して、トレーニング時のメモリ使用量がYOLOv8 。 RT-DETRなどのトランスフォーマーベースのモデルを含む、多くの他のアーキテクチャと比較して、トレーニング中のメモリ使用量が低くなるように最適化されています。これにより、研究者はコンシューマーグレードのGPU(例:NVIDIA 3060や4070)でより大きなバッチサイズでトレーニングできるようになり、高性能なモデルトレーニングへのアクセスが民主化されます。
実際のユースケース
適切なモデルの選択は、多くの場合、導入環境と特定のタスク要件に依存します。
YOLOv8が優れている点
- マルチタスクアプリケーション: YOLOv8 セグメンテーションと姿勢推定をYOLOv8 サポートするため、スポーツ分析(選手の動きや姿勢の追跡)や自動運転車(車線セグメンテーションと物体検出)といった複雑なアプリケーションに最適です。
- エッジデプロイメント:ONNX、 TensorRT、CoreML、TFLiteなどのフォーマットへの単一コマンドによるエクスポートにより、YOLOv8 ラズベリーパイやスマートフォンなどのエッジデバイス向けに高度にYOLOv8
- ラピッドプロトタイピング:使いやすさと事前学習済み重みにより、アイデアを迅速に検証する必要があるスタートアップやアジャイルチームにとって最適な選択肢となる。
YOLOXが適合する場所
- レガシー研究のベースライン:YOLOXは、2021年頃のアンカーフリーアーキテクチャを比較する学術論文において、依然として確固たるベースラインである。
- 特定のカスタム実装:MegEngineフレームワークを多用しているユーザー(PyTorch )向けに、YOLOXはネイティブな互換性を提供します。
今後の展望: YOLO26の力
YOLOv8 堅牢で広く使われる標準モデルYOLOv8 一方、Ultralytics 革新Ultralytics 。新たにリリースされた YOLO26 は次の飛躍を象徴するものです。
パフォーマンスの絶対的な優位性を求める開発者にとって、YOLO26はYOLOv8以下の重要な利点を提供する:
- エンドツーエンドNMS:YOLO26はネイティブにエンドツーエンドであり、非最大抑制(NMS)後処理が不要です。これにより遅延変動が低減され、デプロイメントパイプラインが簡素化されます。
- 高速化されたCPU :エッジコンピューティング向けに最適化されたYOLO26は、 CPU 最大43%高速化し、専用GPUを搭載しないデバイスにおいて優れた性能を発揮します。
- MuSGDオプティマイザ:LLMトレーニングの革新に着想を得たMuSGDオプティマイザは、より安定したトレーニングと高速な収束を保証します。
- 強化された小物体検出:ProgLossとSTAL関数を組み合わせたYOLO26は、航空画像や点検作業において重要な小物体の認識精度を著しく向上させます。
結論
YOLOXとYOLOv8 の両方が物体検出の進歩において重要な役割YOLOv8 。YOLOXはアンカーフリー検出メカニズムの普及に成功した。しかし、 YOLOv8 は現代のAI開発において、より包括的でユーザーフレンドリーかつ汎用性の高いソリューションを提供します。Ultralytics への統合、多様なビジョンタスクへの対応、シームレスなデプロイメントオプションにより、現在ほとんどの商用・研究アプリケーションで優先的に選択されています。
最新のビジョンAI技術を導入する準備が整っている方へ、NMS高速性と効率性でアプリケーションの将来性を確保するため、YOLO26の検討を強く推奨します。