YOLOX 対 EfficientDet:技術比較
適切な物体検出モデルの選択は、精度、推論速度、計算コストのバランスを取る上で重要な決定です。このページでは、Megviiの高性能なアンカーフリーモデルであるYOLOXと、Googleのスケーラブルで効率的な検出器ファミリーであるEfficientDetとの詳細な技術比較を提供します。アーキテクチャの違い、パフォーマンス指標、理想的なユースケースを掘り下げ、コンピュータビジョンプロジェクトに最適なモデルを選択するのにお役立てください。
YOLOX: High-Performance Anchor-Free Detection
YOLOXは、Megvii社が開発したアンカーフリーの物体検出モデルであり、一般的なYOLOアーキテクチャを簡素化しつつ、最先端の性能を達成することを目指しています。合理化された強力な設計を提供することで、学術研究と産業応用の間のギャップを埋めるために導入されました。
技術詳細:
- 著者: Zheng Ge、Songtao Liu、Feng Wang、Zeming Li、Jian Sun
- 組織: 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/
アーキテクチャと主な機能
YOLOXは、従来のYOLOフレームワークにいくつかの重要な変更を導入しています。
- Anchor-Free Design: YOLOXは、定義済みのアンカーボックスを排除することで、トレーニングプロセスを簡素化し、調整が必要なハイパーパラメータの数を減らします。このアプローチにより、さまざまなオブジェクトサイズやアスペクト比での汎化性能が向上する可能性があります。
- Decoupled Head: 分類と回帰に結合されたヘッドを使用していた以前のYOLOモデルとは異なり、YOLOXは分離されたヘッドを採用しています。これにより、分類タスクとローカリゼーションタスクが分離され、ミスアラインメントの問題が解消され、収束速度と精度が向上することが示されています。
- 高度なラベル割り当て: YOLOXは、トレーニング中に各グラウンドトゥルースオブジェクトに最適なポジティブサンプルを選択する動的なラベル割り当て戦略であるSimOTA(Simplified Optimal Transport Assignment)を組み込んでいます。これは、静的な割り当てルールよりも高度なアプローチです。
- 強力なデータ拡張: このモデルは、MixUpやMosaicのような強力なデータ拡張技術を活用して、その堅牢性とパフォーマンスを向上させています。
長所と短所
長所:
- 高いパフォーマンス: YOLOXは、速度と精度の強力なバランスを実現し、当時の他の最先端検出器と競合しています。
- Anchor-Free Simplicity: アンカーフリー設計は、モデルの複雑さとアンカーボックスの構成に関連するエンジニアリングの労力を軽減します。
- 確立されたモデル: 2021年以降、よく知られたモデルとして、かなりの量のコミュニティサポートと導入事例が利用可能です。
弱点:
- 推論速度: 高速ではありますが、特にGPUのレイテンシを考慮すると、Ultralytics YOLOv8やYOLO11のような、より新しく最適化されたアーキテクチャに速度で劣る可能性があります。
- タスクの汎用性: YOLOXは主に物体検出用に設計されています。Ultralyticsのような最新のフレームワークで標準となっているインスタンスセグメンテーション、姿勢推定、または分類のような他のビジョンタスクに対する組み込みサポートがありません。
- 外部エコシステム: Ultralyticsエコシステムにネイティブに含まれていないため、Ultralytics HUBなどのツールを使用したトレーニング、デプロイメント、および統合には、より多くの労力が必要になる可能性があります。
理想的なユースケース
YOLOXは、以下のような用途に適しています。
- 一般的な物体検出: セキュリティシステムや小売分析など、信頼性が高く正確な検出器が必要なアプリケーション。
- 研究のベースライン: アンカーフリー検出法や高度なラベル割り当て技術を研究する研究者にとって、優れたベースラインとなります。
- 産業オートメーション: 検出精度が重要な要件となる製造業における品質管理などのタスク。
EfficientDet:スケーラブルで効率的な物体検出
Google Brainチームによって開発されたEfficientDetは、卓越した効率のために設計された物体検出モデルのファミリーです。新しいアーキテクチャと複合スケーリング手法を導入し、リソースに制約のあるエッジデバイスから大規模なクラウドサーバーまで拡張しながら、優れた精度対効率の比率を維持できます。
技術詳細:
- 著者: Mingxing Tan、Ruoming Pang、Quoc V. Le
- 組織: Google
- Date: 2019-11-20
- Arxiv: https://arxiv.org/abs/1911.09070
- GitHub: https://github.com/google/automl/tree/master/efficientdet
- ドキュメント: https://github.com/google/automl/tree/master/efficientdet#readme
アーキテクチャと主な機能
EfficientDetの設計は、3つの主要なイノベーションを中心に展開されています。
- EfficientNet Backbone: 非常に効率的なEfficientNetを特徴抽出のためのバックボーンとして使用します。EfficientNet自体は、精度とFLOPを最適化するためにニューラルアーキテクチャ検索を使用して設計されました。
- BiFPN (双方向特徴ピラミッドネットワーク): 特徴融合のために、EfficientDetは重み付けされた双方向特徴ピラミッドネットワークであるBiFPNを導入しました。従来のFPNとは異なり、BiFPNは各入力特徴に対して学習可能な重みを組み込むことで、より少ないパラメータと計算量で、より豊富なマルチスケール特徴融合を可能にします。
- Compound Scaling: EfficientDetは、バックボーン、特徴ネットワーク、および予測ネットワークの深さ、幅、解像度を均一にスケーリングするCompound Scaling(複合スケーリング)手法を採用しています。これにより、モデルファミリー全体(D0からD7)で、精度と計算リソースのバランスの取れた最適なトレードオフが保証されます。
長所と短所
長所:
- 最先端の効率性: EfficientDetモデルは、パラメータとFLOPsの点で非常に効率的であり、多くの場合、類似の計算量で他のモデルよりも高い精度を達成します。
- スケーラビリティ: このモデルファミリーは、幅広いオプション(D0〜D7)を提供しており、特定のハードウェアおよびパフォーマンス要件に適合するモデルを容易に選択できます。
- 高精度: より大型のEfficientDetモデルは、COCOのような標準的なベンチマークで非常に高いmAPスコアを達成しています。
弱点:
- より高いレイテンシ: FLOPが低いにもかかわらず、EfficientDetは、並列処理ハードウェア向けに最適化されていることが多いYOLOXやUltralytics YOLOなどのモデルと比較して、GPUでの推論レイテンシが高くなる可能性があります。
- Training Complexity: トレーニングプロセスは、Ultralyticsのようなフレームワークが提供する合理化されたエクスペリエンスと比較して、よりリソースを消費し、複雑になる可能性があります。
- 汎用性の制限: YOLOXと同様に、EfficientDetは物体検出に特化しており、他のコンピュータビジョンタスクに対する統合フレームワークを提供していません。
理想的なユースケース
EfficientDetは、特に以下の用途に適しています。
- Edge AI: より小型のバリアント(D0-D2)は、パラメータ数とメモリが重要な、リソース制約のあるエッジデバイスへのデプロイに最適です。
- クラウドアプリケーション: より大きなバリアント(D5-D7)は、最大の精度を達成することが優先され、レイテンシーがそれほど重要でないクラウドベースのアプリケーションに適しています。
- リソース制約のあるプロジェクト: 主な制約がリアルタイムのレイテンシではなく、計算予算(FLOP)であるすべてのアプリケーション。
性能とベンチマークの比較
YOLOXとEfficientDetを比較すると、速度、精度、効率の間のトレードオフが明確になります。下の表は、COCOデータセットに関する詳細なパフォーマンスの内訳を示しています。
モデル | サイズ (ピクセル) |
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 |
EfficientDet-d0 | 640 | 34.6 | 10.2 | 3.92 | 3.9 | 2.54 |
EfficientDet-d1 | 640 | 40.5 | 13.5 | 7.31 | 6.6 | 6.1 |
EfficientDet-d2 | 640 | 43.0 | 17.7 | 10.92 | 8.1 | 11.0 |
EfficientDet-d3 | 640 | 47.5 | 28.0 | 19.59 | 12.0 | 24.9 |
EfficientDet-d4 | 640 | 49.7 | 42.8 | 33.55 | 20.7 | 55.2 |
EfficientDet-d5 | 640 | 51.5 | 72.5 | 67.86 | 33.7 | 130.0 |
EfficientDet-d6 | 640 | 52.6 | 92.8 | 89.29 | 51.9 | 226.0 |
EfficientDet-d7 | 640 | 53.7 | 122.0 | 128.07 | 51.9 | 325.0 |
ベンチマークから、いくつかの重要な傾向を観察できます。
- GPU速度: YOLOX モデルは、同様またはそれ以下の mAP の EfficientDet モデルと比較して、TensorRT を搭載した T4 GPU で一貫して大幅に低いレイテンシ (より速い速度) を示しています。たとえば、YOLOX-l は EfficientDet-d4 と同じ 49.7 mAP を達成していますが、3.5 倍以上高速です。
- パラメータ効率: EfficientDetは、パラメータ効率とFLOP効率に優れています。EfficientDet-d3はわずか12.0Mのパラメータで47.5 mAPを達成していますが、YOLOX-mは同様の46.9 mAPに到達するために25.3Mのパラメータが必要です。これにより、EfficientDetはモデルサイズに厳しい制約がある環境にとって強力な候補となります。
- 精度 vs. 速度のトレードオフ: YOLOXは、GPU上でのリアルタイム推論を必要とするアプリケーションに対して、より有利なトレードオフを提供します。EfficientDetは、最上位(D7)では非常に高い精度を発揮しますが、レイテンシが大幅に増加するため、より大型のモデルはリアルタイムでの使用にはあまり適していません。
Ultralytics YOLO:推奨される代替手段
YOLOXとEfficientDetはどちらも強力なモデルですが、現代の開発者や研究者は、Ultralytics YOLOエコシステムにおいて、より魅力的なソリューションを見出すことがよくあります。YOLOv8や最新のYOLO11のようなモデルは、パフォーマンス、使いやすさ、汎用性の優れた組み合わせを提供します。
- 使いやすさ: Ultralyticsは、シンプルなPython API、豊富なドキュメント、および多数のチュートリアルにより、効率的なユーザーエクスペリエンスを提供します。
- 充実したエコシステム: 活発な開発、強力なコミュニティサポート、頻繁なアップデート、そしてデータセット管理とトレーニングのためのUltralytics HUBのような統合ツールとの恩恵を受けられます。
- パフォーマンスのバランス: Ultralytics YOLOモデルは、速度と精度の間で優れたトレードオフを実現しており、エッジデバイスからクラウドサーバーまで、多様な現実世界のデプロイメントシナリオに適しています。
- メモリ要件: Ultralytics YOLOモデルは、一般に、トレーニングおよび推論中のメモリ使用効率が高く、多くの場合、より複雑なアーキテクチャよりも必要なCUDAメモリが少なくなります。
- 多様性: Ultralyticsモデルは、インスタンスセグメンテーション、画像分類、ポーズ推定、傾斜バウンディングボックス(OBB)検出など、検出以外の複数のタスクを単一の統合フレームワーク内でサポートします。
- 学習効率: 効率的な学習プロセス、さまざまなデータセットですぐに利用できる事前学習済みの重み、ClearMLやWeights & Biasesのような実験追跡ツールとのシームレスな統合を活用できます。
使いやすさと堅牢なエコシステムを組み合わせた最先端のパフォーマンスを求めるユーザーには、Ultralytics YOLO モデルを検討することを強くお勧めします。
結論: どのモデルを選ぶべきか?
YOLOXとEfficientDetのどちらを選ぶかは、プロジェクト固有の優先順位に大きく左右されます。
-
YOLOXは、高速かつ正確なオブジェクト検出器を必要とするアプリケーション、特にGPUベースのデプロイメントに最適です。そのアンカーフリー設計は、検出パイプラインの特定Aspectを簡素化し、依然として強力な性能を維持します。
-
EfficientDet は、モデルパラメータやFLOPsなどの計算リソースが主な制約となるシナリオで威力を発揮します。そのスケーラブルなアーキテクチャにより、さまざまな機能を持つ幅広いハードウェアにデプロイする必要があるプロジェクトにとって、汎用性の高い選択肢となります。
しかし、最新のコンピュータビジョンタスクのほとんどにおいて、YOLOv8 や YOLO11 のような Ultralytics YOLO モデルが最も有利な選択肢となります。速度と精度の優れたバランスを提供し、非常に使いやすく、研究から生産までの開発を加速する包括的なエコシステムによってサポートされています。マルチタスクに対応できる汎用性により、幅広いAI ソリューションに対応できる将来性のある選択肢となります。
その他のモデル比較
これらのモデルと他のモデルとの比較に関心がある場合は、これらのページをご確認ください。
- YOLOv8 vs YOLOX
- YOLOv10 vs YOLOX
- RT-DETR vs YOLOX
- YOLOv8 vs EfficientDet
- YOLO11 vs EfficientDet
- RT-DETR vs EfficientDet
- YOLOv5 vs EfficientDet