EfficientDet対YOLOX:包括的な技術比較
適切な物体検出アーキテクチャを選択することは、コンピュータビジョン開発において極めて重要な決定である。Google 最適なスケーラビリティを実現するために開発したEfficientDetと、Megviiの高性能アンカーフリー検出器YOLOXです。EfficientDetが複合スケーリングを使用して厳しい計算予算内で精度を最大化することに重点を置いているのに対し、YOLOXは推論速度と簡素化されたトレーニングパイプラインを優先しています。
このガイドでは、各社のアーキテクチャ、パフォーマンス指標、理想的な導入シナリオを詳細に分析し、プロジェクトに最適なものを選択できるようにします。さらに Ultralytics YOLO11のような最新の代替製品が、これらの先行製品の長所を統合し、統一されたユーザーフレンドリーなフレームワークにどのように統合しているかを探ります。
EfficientDet:スケーラブルな効率性
EfficientDetは、物体検出モデルを効率的にスケーリングするという課題に取り組むために導入された。次元を任意にスケーリングする以前のアーキテクチャとは異なり、EfficientDetは、解像度、奥行き、幅を一様にスケーリングする原理的な複合スケーリング手法を採用しています。
アーキテクチャと主な機能
EfficientDetの革新の核心は、双方向特徴ピラミッドネットワーク(BiFPN)にある。従来のFPNは異なるスケールからの特徴を区別することなく合計しますが、BiFPNは学習可能な重みを導入し、融合時に最も重要な特徴を強調します。EfficientNetのバックボーンと組み合わせることで、このモデルは大幅に少ないパラメータとFLOP(1秒あたりの浮動小数点演算数)で最先端の精度を達成することができます。
- 複合スケーリング:単純な複合係数を使用して、ネットワーク幅、深度、画像解像度を同時にスケーリングします。
- BiFPN:簡単かつ高速なマルチスケール特徴フュージョンが可能。
- 効率性: mAP (平均平均精度)を最大化しながら、リソースの使用量を最小化するように最適化。
モデルのメタデータ
- 著者: Mingxing Tan、Ruoming Pang、Quoc V. Le
- 組織Google
- Date: 2019-11-20
- Arxiv:EfficientDet:スケーラブルで効率的な物体検出
YOLOX:アンカーフリーの進化
YOLOXは、YOLO シリーズのアンカーフリー設計へのシフトを象徴している。あらかじめ定義されたアンカーボックスの必要性を排除することで、YOLOXは学習プロセスを簡素化し、多様なデータセットにおける汎化を向上させます。
アーキテクチャと主な機能
YOLOXは検出ヘッドを切り離し、分類と回帰のタスクを別のブランチに分離している。この「分離ヘッド」設計は、通常、収束の速さと性能の向上につながります。さらに、SimOTAという先進的なラベル割り当てストラテジーが組み込まれており、ポジティブサンプルを動的に割り当てることで、トレーニング時間を短縮し、精度を向上させます。
- アンカーフリー:手動によるアンカーボックスの調整が不要になり、設計の複雑さが軽減されます。
- 分離ヘッド:分類とローカライズのタスクを分離することでパフォーマンスを向上。
- 高度なオーグメンテーション: MosaicとMixUpオーグメンテーションを活用した強固なトレーニング。
モデルのメタデータ
- 著者: Zheng Ge、Songtao Liu、Feng Wang、Zeming Li、Jian Sun
- 組織メグヴィ
- Date: 2021-07-18
- ArxivYOLOX:2021年にYOLO シリーズを超える
性能とベンチマークの比較
これら2つのモデルのトレードオフは明確です。EfficientDetはパラメータ効率を重視して設計されているため、CPUアプリケーションや、モデルサイズ(ストレージ)が主な制約となるシナリオで有力な候補となります。逆に、YOLOXはGPU レイテンシーに最適化されており、NVIDIA T4やV100のようなデバイス上で高速な推論速度を実現するために、ハードウェアフレンドリーなオペレーションを活用しています。
以下の表は、COCO データセットにおけるこれらの違いを示しています。YOLOXモデルが、同程度の精度のEfficientDetモデルと比較して、GPU ハードウェア上で一般的に推論速度が速いことに注目してください。
| モデル | サイズ (ピクセル) | mAP値 50-95 | 速度 CPU ONNX (ms) | 速度 T4 TensorRT10 (ms) | params (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| 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 |
| 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 |
主なポイント
- レイテンシとスループットの比較:YOLOX-sは、T4TensorRT2.56ミリ秒という驚異的な速度を達成し、より多くのパラメータを持つにもかかわらず、EfficientDet-d0(3.92ミリ秒)よりも大幅に高速です。これは、GPU上でのリアルタイム推論に対するYOLOXの優れた最適化を示しています。
- モデルサイズ:EfficientDet-d0は、3.9Mというコンパクトなパラメータ数を誇り、極めて限られたストレージを持つエッジ・デバイスに対して高い競争力を維持しています。
- スケーリング:EfficientDet-d7は53.7という高いmAP 達するが、その代償として待ち時間が長く(128ms)、より軽量なモデルと比較してライブ・ビデオ・ストリームには不向きである。
Ultralytics 優位性
EfficientDetとYOLOXが重要な技術を開拓した一方で、コンピュータ・ビジョンの分野は急速に進歩している。 Ultralytics YOLO11は最先端を行くものであり、前世代からの最良のアーキテクチャの教訓を統合した高性能パッケージです。
開発者や研究者にとって、Ultralytics レガシーモデルと比較して説得力のある利点を提供する:
- 使いやすさ: Ultralytics Python APIはシンプルに設計されています。わずか数行のコードでモデルをロードし、画像上で予測し、結果を視覚化することができるため、AIソリューションへの参入障壁が低くなります。
- 包括的なエコシステム:スタンドアローンのリポジトリとは異なり、Ultralytics モデルは堅牢なエコシステムに支えられています。これには以下のようなMLOpsツールとのシームレスな統合が含まれます。 Weights & Biasesおよび ClearMLなどのMLOpsツールとのシームレスな統合や、活発なコミュニティサポートが含まれます。
- パフォーマンスバランス: Ultralytics YOLO モデルは、速度と精度の最適なトレードオフを提供するように設計されています。多くの場合、EfficientDetのパラメータ効率に匹敵しながら、レイテンシーではYOLOXを上回ります。
- メモリ要件: Ultralytics モデルは、多くの変換器ベースや古いCNNアーキテクチャと比較して、学習時のCUDA メモリ使用量が少なくなるように最適化されているため、標準的なハードウェアでより大きなバッチを学習することができます。
- 汎用性:1つのUltralytics フレームワークで、オブジェクト検出、インスタンスセグメンテーション、ポーズ推定、分類、OBB(Oriented Bounding Boxes)をサポートします。この汎用性により、タスクごとに異なるコードベースを学習する必要がなくなります。
簡単な推論の例
複雑なレガシーパイプラインと比較して、Ultralytics YOLO11 推論の実行がいかに簡単かをご覧ください:
from ultralytics import YOLO
# Load a pre-trained YOLO11n model
model = YOLO("yolo11n.pt")
# Run inference on a local image
results = model("bus.jpg")
# Display the results
results[0].show()
結論理想的な使用例
EfficientDet、YOLOX、Ultralytics YOLO いずれを選択するかは、特定の制約条件によって決まります。
- EfficientDetは、非常に小さな組み込みマイクロコントローラなど、ストレージスペースとFLOPが絶対的なボトルネックとなるハードウェア上にアプリケーションを展開する場合に選択します。原理的なスケーリングにより、モデルサイズをきめ細かく制御することができます。
- GPU上で展開し、生のスピードが必要な場合はYOLOXを選択してください。YOLOXのアーキテクチャは、アンカー・ベースの手法の運用上のオーバーヘッドを回避し、サポートされているハードウェア上でのリアルタイム・ビデオ解析に非常に効果的です。
- 最高のオールラウンド・パフォーマンスなら Ultralytics YOLO11お選びください。YOLOXのスピードと最新のアーキテクチャ設計の効率性を兼ね備えています。さらに、エコシステム、ドキュメント、マルチタスクサポートにより、開発時間が大幅に短縮されるため、迅速なプロトタイピングとスケーラブルな本番導入の両方に最適です。
その他のモデル比較
主要なコンピュータ・ビジョン・モデルの技術的な違いをより深く探求してください: