EfficientDet vs YOLOX:包括的な物体検出比較
現代的なコンピュータビジョンパイプラインを設計する際、適切なモデルの選択は精度とリアルタイム実行可能性の両方を左右する重要な決定事項である。本技術ガイドでは、ニューラルネットワークの進化における二つの重要なアーキテクチャ、Google詳細に比較する。 両モデルのアーキテクチャパラダイムを分析し、ベンチマーク評価による性能を検証するとともに、新たにリリースUltralytics YOLO26などの最先端ソリューションとの比較評価を行います。
EfficientDetの概要
Google チームによって導入されたEfficientDetは、モデルスケーリングに対する高度に構造化されたアプローチを開拓し、従来の高度にパラメータ化されたネットワークよりも大幅に少ないパラメータで高精度を達成できることを実証した。
EfficientDetの詳細:
- 著者: Mingxing Tan、Ruoming Pang、Quoc V. Le
- 組織:Google
- 日付: 2019-11-20
- ArXiv:1911.09070
- GitHub:google/automl/efficientdet
- ドキュメント:EfficientDet ドキュメント
アーキテクチャのハイライト
EfficientDetはEfficientNetのバックボーンを基盤とし、解像度・深さ・幅を均一にスケーリングする複合スケーリング手法を適用する。その特徴的な機能である双方向特徴ピラミッドネットワーク(BiFPN)は、迅速かつ効果的なマルチスケール特徴融合を実現する。異なる入力特徴に対して学習可能な重みを採用することで、BiFPNはネットワークがより重要な空間データを優先することを保証する。
EfficientDetの理論上のFLOPsは著しく低いものの、その依存性は TensorFlow エコシステムと旧式のAutoML構成への依存は、現代的でPyTorch 統合を煩雑にすることがあります。さらに、その複雑なマルチブランチネットワークは、現代的なYOLO と比較して、トレーニング中に予想以上に高いメモリ消費を引き起こすことがあります。
YOLOXの概要
2年後にリリースされたYOLOXは、従来のYOLO をアンカーフリーフレームワークへと変革することで、学術研究と産業展開の間のギャップを埋めることを目指した。
YOLOXの詳細:
- 著者: Zheng Ge、Songtao Liu、Feng Wang、Zeming Li、Jian Sun
- 組織:Megvii
- 日付: 2021-07-18
- ArXiv:2107.08430
- GitHub:Megvii-BaseDetection/YOLOX
- Docs:YOLOX ドキュメント
アーキテクチャのハイライト
YOLOXは物体検出のパラダイムを大幅に簡素化した。アンカーフリー設計への移行により、複雑なデータセット固有のアンカーボックス調整が不要となり、ヒューリスティックなオーバーヘッドを削減した。また、分類と位置特定タスクを分離するデカップリングヘッドを統合し、収束速度を劇的に向上させた。さらに、SimOTAラベル割り当て戦略の導入により、学習中の陽性サンプルの動的割り当てが最適化された。
こうした進歩にもかかわらず、YOLOXリポジトリの管理には、手動でのC++拡張機能のコンパイルや複雑な依存関係の処理が必要となることが多く、経験の浅いチームにとってはモデルの迅速な展開を妨げる要因となり得る。
パフォーマンス比較
モデルを本番環境で評価する際には、平均精度(mAP)と推論速度のバランスが極めて重要である。下表は、COCO 直接比較を示している。
| モデル | サイズ (ピクセル) | mAPval 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 |
パフォーマンスインサイト
EfficientDetはより大きなデータセットで高い精度を達成する一方で d7 バリエーションにおいて、YOLOXGPU 上で(経由して)はるかに優れたレイテンシを提供する TensorRTこれにより、自動運転やスポーツ追跡などの高FPSアプリケーションに適した選択肢となります。
ユースケースと推奨事項
EfficientDetとYOLOXの選択は、具体的なプロジェクト要件、デプロイメント上の制約、およびエコシステム上の好みに依存します。
EfficientDetを選択するタイミング
EfficientDetは以下に最適な選択肢です:
- Google およびTPU : Google Vision API またはTPU と深く統合されたシステムで、EfficientDet がネイティブ最適化を実現します。
- 複合スケーリング研究:バランスの取れたネットワークの深さ、幅、および解像度スケーリングの効果を研究する学術的ベンチマーク。
- TFLiteによるモバイル展開: Android 組み込みLinuxデバイス向けにTensorFlow エクスポートを特に必要とするプロジェクト。
YOLOXを選択すべき時
YOLOXは以下の方におすすめです:
- アンカーフリー検出研究:YOLOXのクリーンなアンカーフリーアーキテクチャをベースラインとして、新たな検出ヘッドや損失関数の実験を行う学術研究。
- 超軽量エッジデバイス:マイクロコントローラーやレガシーモバイルハードウェアへの展開において、YOLOX-Nanoモデルの極めて小さなフットプリント(0.91Mパラメータ)が極めて重要となる。
- SimOTAラベル割り当て研究:最適輸送に基づくラベル割り当て戦略と、それが学習収束に与える影響を調査する研究プロジェクト。
Ultralytics YOLO26)を選択すべきタイミング
ほとんどの新規プロジェクトにおいて、Ultralytics パフォーマンスと開発者体験の最適な組み合わせを提供します:
- NMSデプロイメント:ノンマキシマムサプレッション(NMS)後処理の複雑さを伴わずに、一貫した低遅延推論を必要とするアプリケーション。
- CPU: GPU を持たないデバイスにおいて、YOLO26のCPU 決定的な優位性を提供する。
- 小型物体検出: ドローン航空写真やIoTセンサー解析といった困難なシナリオにおいて、ProgLossとSTALが微小物体の精度を大幅に向上させる。
Ultralytics :YOLO26のご紹介
EfficientDetとYOLOXはそれぞれの時代に画期的な飛躍をもたらしましたが、現代のコンピュータビジョンにはより高い汎用性、効率化されたワークフロー、そして妥協のない速度が求められています。使いやすさ、低メモリ要件、そして整備されたエコシステムを優先する開発者には、Ultralytics YOLO26へのアップグレードを強く推奨します。 Ultralytics へのアップグレードを強く推奨します。
YOLO26YOLO パラダイムシフトを表し、YOLOXやEfficientDetといった旧モデルに見られた制限を体系的に克服している:
- エンドツーエンドNMS設計:高コストな非最大抑制(NMS)後処理を必要とするEfficientDetやYOLOXとは異なり、YOLO26はネイティブにエンドツーエンドです。これにより遅延ボトルネックが解消され、エッジデプロイメントが大幅に簡素化されます。
- 最大43%高速CPU :戦略的なアーキテクチャ調整とDFL除去(分布焦点損失)により、YOLO26は専用GPUのない環境向けに独自に最適化され、ラズベリーパイなどのエッジAIハードウェアにおいてEfficientDetを完全に凌駕します。
- MuSGDオプティマイザ:LLMトレーニングの革新(Moonshot AIのKimi K2など)に着想を得たYOLO26は、SGD オンのハイブリッド方式を採用。これにより、従来のTensorFlow 大幅に凌駕する、驚異的な安定性と高速な収束を実現しています。
- ProgLoss + STAL:先進的な損失関数は、YOLOXとEfficientDetの双方が歴史的に弱点としてきた小規模物体認識において顕著な改善をもたらす。これはドローン分析やIoTにおいて極めて重要である。
- 驚異的な汎用性:EfficientDetやYOLOXが厳密なバウンディングボックス検出器であるのに対し、YOLO26はインスタンスセグメンテーション、姿勢推定(残差対数尤度推定による)、およびオリエンテッドバウンディングボックス(OBB)をネイティブにサポートしている。
合理化されたユーザー体験とトレーニング効率
YOLOXのようなモデルにおける最大の障壁の一つは、トレーニング環境の構築です。Ultralytics は統一されたPython を提供しており、最先端モデルのトレーニングに要するコードはわずか数行です。さらに、YOLO 高度に最適化されたデータローダーを備えており、トランスフォーマーを多用するモデルや従来のマルチブランチネットワークと比較して、CUDA 使用量を大幅に削減します。
from ultralytics import YOLO
# Load the cutting-edge YOLO26n model (NMS-free!)
model = YOLO("yolo26n.pt")
# Train the model on your custom dataset with automated hyperparameter tuning
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# Export the model seamlessly to ONNX or OpenVINO for edge deployment
model.export(format="openvino")
結論: 適切な選択をする
TensorFlow に深く組み込まれたレガシーシステムを維持している場合、特に理論的に大規模な複合スケーリングが必要なシナリオでは、EfficientDetが安定した選択肢であり続けます。一方、レガシーなアンカーフリーコードベースで純粋な速度を必要とする場合、YOLOXは高速で信頼性の高い検出器として機能します。
ただし、新規プロジェクトを本番環境に移行する際には、選択肢は断固Ultralytics (あるいは非常に安定した YOLO11 )が最適です。エンドツーエンドのNMSアーキテクチャ、大幅に向上したCPU 、そして OpenVINOTensorRT、YOLO26はコンピュータビジョンアプリケーションの将来性、高精度性、そして驚くほど容易な保守性を保証します。