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)、これにより自動運転やスポーツのtrackのような高FPSアプリケーションにより適しています。
ユースケースと推奨事項
EfficientDetとYOLOXの選択は、特定のプロジェクト要件、デプロイ制約、およびエコシステム設定に依存します。
EfficientDetを選択するタイミング
EfficientDetは、以下の用途に強力な選択肢です。
- Google CloudおよびTPUパイプライン: EfficientDetがネイティブ最適化されているGoogle Cloud Vision APIまたはTPUインフラストラクチャと深く統合されたシステム。
- 複合スケーリング研究:バランスの取れたネットワークの深さ、幅、解像度のスケーリング効果を研究することに焦点を当てた学術的なベンチマーク。
- TFLiteを介したモバイルデプロイメント: Androidまたは組み込みLinuxデバイス向けにTensorFlow Liteのエクスポートを特に必要とするプロジェクト。
YOLOXを選択すべき時
YOLOXは以下の方におすすめです:
- アンカーフリー検出研究: YOLOXのクリーンなアンカーフリーアーキテクチャをベースラインとして使用し、新しい検出ヘッドや損失関数を実験する学術研究。
- 超軽量エッジデバイス: YOLOX-Nanoバリアントの極めて小さいフットプリント(0.91Mパラメータ)が重要となるマイクロコントローラーやレガシーモバイルハードウェアへのデプロイ。
- SimOTAラベル割り当て研究: 最適輸送ベースのラベル割り当て戦略と、それがトレーニング収束に与える影響を調査する研究プロジェクト。
Ultralytics YOLO26)を選択すべきタイミング
ほとんどの新規プロジェクトにおいて、Ultralytics YOLO26は、パフォーマンスと開発者エクスペリエンスの最高の組み合わせを提供します。
- NMSフリーのエッジデプロイメント: Non-Maximum Suppressionの後処理の複雑さなしに、一貫した低レイテンシ推論を必要とするアプリケーション。
- CPUのみの環境: 専用のGPUアクセラレーションを持たないデバイスにおいて、YOLO26の最大43%高速なCPU推論が決定的な優位性をもたらします。
- 小物体detect: 航空ドローン画像やIoTセンサー分析のような困難なシナリオにおいて、ProgLossとSTALが微小なオブジェクトのAPを大幅に向上させます。
Ultralytics :YOLO26のご紹介
EfficientDetとYOLOXはそれぞれの時代に画期的な飛躍をもたらしましたが、現代のコンピュータビジョンにはより高い汎用性、効率化されたワークフロー、そして妥協のない速度が求められています。使いやすさ、低メモリ要件、そして整備されたエコシステムを優先する開発者には、Ultralytics YOLO26へのアップグレードを強く推奨します。 Ultralytics へのアップグレードを強く推奨します。
YOLO26YOLO パラダイムシフトを表し、YOLOXやEfficientDetといった旧モデルに見られた制限を体系的に克服している:
- エンドツーエンドのNMSフリー設計: コストのかかるNon-Maximum Suppression (NMS)後処理を必要とするEfficientDetやYOLOXとは異なり、YOLO26はネイティブにエンドツーエンドです。これにより、レイテンシのボトルネックが解消され、エッジデプロイメントが大幅に簡素化されます。
- 最大43%高速なCPU推論: 戦略的なアーキテクチャ調整とDFL除去(Distribution Focal Loss)により、YOLO26は専用GPUを持たない環境向けに独自に最適化されており、Raspberry PiのようなエッジAIハードウェア上でEfficientDetを完全に凌駕します。
- MuSGD オプティマイザ: LLMトレーニングイノベーション (Moonshot AIのKimi K2など) から着想を得て、YOLO26はSGDとMuonのハイブリッドを使用しています。これにより、驚くほど安定したトレーニングとより高速な収束が保証され、古いTensorFlowエスティメータよりもはるかに優れています。
- ProgLoss + STAL: 高度な損失関数は、小さな物体認識において顕著な改善をもたらします。これはYOLOXとEfficientDetの両方にとって歴史的な弱点でしたが、ドローン分析やIoTにとって不可欠です。
- 驚異的な汎用性: EfficientDetとYOLOXが厳密にはバウンディングボックス検出器であるのに対し、YOLO26は、インスタンスセグメンテーション、姿勢推定(残差対数尤度推定を介して)、およびOriented Bounding Boxes (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はコンピュータビジョンアプリケーションの将来性、高精度性、そして驚くほど容易な保守性を保証します。