YOLOXとEfficientDetの比較#
物体検出の進化は、速度、精度、計算効率のバランスを追求し続けることで推進されてきました。この流れに大きな影響を与えた画期的なモデルが、YOLOXとEfficientDetです。YOLOXは高度に最適化されたアンカーフリー設計をYOLOファミリーに導入し、EfficientDetは複合スケーリングとBiFPNを利用したスケーラブルなアーキテクチャに注力しました。このガイドでは、両モデルのアーキテクチャ、性能指標、学習手法を詳しく比較するとともに、最先端のUltralytics YOLO26などの最新モデルも紹介します。
モデルの起源と技術的詳細#
構造上の違いを詳しく見る前に、両モデルの起源と基礎となる研究を理解しておくことが重要です。
YOLOXの詳細:
- 著者: Zheng Ge、Songtao Liu、Feng Wang、Zeming Li、Jian Sun
- 組織: Megvii
- 日付: 2021年7月18日
- arXiv: YOLOX:2021年にYOLOシリーズを超える
- GitHub: Megvii-BaseDetection/YOLOX
- ドキュメント: YOLOX公式ドキュメント
EfficientDetの詳細:
- 著者: Mingxing Tan、Ruoming Pang、Quoc V. Le
- 組織: Google Brain
- 日付: 2019年11月20日
- arXiv: EfficientDet:スケーラブルで効率的な物体検出
- GitHubとドキュメント: Google AutoML EfficientDet
アーキテクチャの比較#
YOLOXとEfficientDetの根本的な違いは、特徴を抽出してバウンディングボックスを予測する方法にあります。適切なモデルをデプロイ環境に合わせて選ぶには、これらの物体検出アーキテクチャを理解することが重要です。
YOLOX:アンカーフリーの革新モデル#
YOLOXは、アンカーベースの検出器からアンカーフリー設計へ移行し、YOLOシリーズに革新をもたらしました。この移行により設計パラメーターの数が大幅に減り、学習パイプラインが簡素化されました。
主なアーキテクチャ上の特徴には、分類タスクと回帰タスクを分離する分離型ヘッドがあります。これにより、物体が「何であるか」を特定することと、「どこにあるか」を正確に予測することの間に生じる競合を解消します。さらにYOLOXは、SimOTAなどの高度なラベル割り当て戦略を採用し、学習中に正例サンプルを正解物体に動的に割り当てます。これにより収束が速まり、性能のバランスが向上します。
EfficientDet:複合スケーリングとBiFPN#
EfficientDetは、効率性とスケーラビリティの観点から物体検出に取り組んでいます。Googleが開発したEfficientDetは、特徴抽出にEfficientNetバックボーンを大きく依存しています。
最大の特徴は、双方向特徴ピラミッドネットワーク(BiFPN)です。従来のFPNとは異なり、BiFPNは学習可能な重みを導入して異なる入力特徴の重要度を学習し、マルチスケール特徴の融合を容易かつ高速にします。さらに、バックボーン、特徴ネットワーク、ボックス・クラス予測ネットワークのすべてで解像度、深さ、幅を均一にスケーリングする複合スケーリング手法を組み合わせることで、EfficientDetはモバイルサイズのモデル(d0)から大規模なサーバー向けモデル(d7)までスケールできます。
EfficientDetの複合スケーリングは、精度を高めるための予測可能な道筋を提供しますが、YOLOXの簡潔なアンカーフリー設計と比べて、リアルタイムのエッジコンピューティング向けに最適化しにくい、複雑な計算グラフになることがよくあります。
パフォーマンスと指標の分析#
これらのモデルを実環境のコンピュータービジョンアプリケーション向けに評価する際には、平均適合率、推論速度、パラメーター数などの指標が重要です。
| モデル | サイズ (ピクセル) | mAPval 50-95 | 速度 CPU ONNX (ms) | 速度 T4 TensorRT10 (ms) | パラメーター (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 |
トレードオフの分析#
データからは、設計思想に明確な違いがあることがわかります。EfficientDet-d7は、mAP 53.7%という優れた値で全体最高の精度を達成しますが、推論速度は大幅に低下します(T4 GPUで128.07 ms)。一方、YOLOXxは競争力のあるmAP 51.1%を達成しながら、推論速度は16.1 msと高速です。そのため、リアルタイムの動画理解やロボティクスにはるかに適しています。
ユースケースと推奨事項#
YOLOXとEfficientDetのどちらを選ぶかは、プロジェクト固有の要件、デプロイ上の制約、エコシステムの好みによって異なります。
YOLOXを選ぶタイミング#
YOLOXは次のような用途に適しています:
- アンカーフリー検出の研究: 新しい検出ヘッドや損失関数を試す際のベースラインとして、YOLOXのシンプルなアンカーフリーアーキテクチャを使用する学術研究。
- 超軽量エッジデバイス: YOLOX-Nanoバリアントの極めて小さなフットプリント(パラメーター数0.91M)が重要となる、マイクロコントローラーや旧式のモバイルハードウェアへのデプロイ。
- SimOTAラベル割り当ての研究: 最適輸送に基づくラベル割り当て戦略と、トレーニングの収束への影響を調査する研究プロジェクト。
EfficientDetを選ぶタイミング#
EfficientDetは次のような用途に推奨されます。
- Google CloudとTPUパイプライン: EfficientDetがネイティブに最適化されている、Google Cloud Vision APIやTPUインフラと緊密に統合されたシステム。
- 複合スケーリングの研究: ネットワークの深さ、幅、解像度をバランスよくスケーリングする効果の研究に焦点を当てた学術的なベンチマーク。
- LiteRTによるモバイルデプロイ: Androidまたは組み込みLinuxデバイス向けに、LiteRT(旧称TensorFlow Lite)形式へのエクスポートが特に必要なプロジェクト。
Ultralytics (YOLO26)を選ぶ場合#
多くの新規プロジェクトにおいて、Ultralytics YOLO26はパフォーマンスと開発者体験を最適なバランスで提供します。
- NMSを使用しないエッジデプロイ: 非最大抑制の後処理を複雑化させずに、安定した低レイテンシー推論を必要とするアプリケーション。
- CPUのみの環境: 専用のGPUアクセラレーションを備えていないデバイスで、YOLO26の最大43%高速なCPU推論が大きな優位性を発揮します。
- 小物体検出: ドローンによる航空画像やIoTセンサーの分析など、ProgLossとSTALによって小さな物体の精度が大幅に向上する難しいシナリオ。
最新の代替モデル: Ultralytics YOLO26#
YOLOXとEfficientDetは重要な節目となるモデルでしたが、機械学習の分野は急速に進歩しています。現在、最先端のビジョンシステムをデプロイしたい開発者には、Ultralyticsが2026年1月にリリースした最新のフラッグシップモデル、YOLO26を強くおすすめします。
YOLO26は、十分にメンテナンスされたエコシステムを備え、速度と使いやすさの両面で大きく進化しており、いくつかの重要な点で従来のアーキテクチャを上回ります。
YOLO26の主な革新点#
- エンドツーエンドのNMSフリー設計: YOLO26のオプションであるワンツーワンヘッド(
nms=False)は、後処理における非極大値抑制(NMS)を不要にします。以前の世代で先駆けて導入されたこのネイティブなエンドツーエンド方式により、エクスポートが簡素化され、デプロイ時のレイテンシが大幅に削減されます。 - CPU推論が最大43%高速: 高度なアーキテクチャ最適化とDistribution Focal Loss(DFL)の削除により、YOLO26はディスクリートGPUを搭載しないエッジデバイス上でも非常に高速に動作し、処理負荷の高いEfficientDetの各種モデルを大きく上回ります。
- MuSGDオプティマイザー: 大規模言語モデル(LLM)の革新をビジョン分野に取り入れ、YOLO26はSGDとMuonのハイブリッドであるMuSGDオプティマイザーを利用して、安定性の高い学習と高速な収束を実現し、優れた学習効率をもたらします。
- ProgLoss + STAL: これらの高度な損失関数は小物体認識を大きく向上させ、ドローン運用や航空画像解析などのユースケースで重要な役割を果たします。
- 比類のない多用途性: 物体検出専用のYOLOXとは異なり、YOLO26はインスタンスセグメンテーション、画像分類、姿勢推定、回転バウンディングボックス(OBB)検出など、幅広いタスクをネイティブにサポートします。
Ultralytics APIによる使いやすさ#
Ultralyticsモデルの大きなメリットの1つは、効率化されたユーザー体験です。YOLO26モデルの学習とデプロイに必要なメモリは、複雑なTransformerモデルより大幅に少なく、必要なPythonコードも数行だけです。
from ultralytics import YOLO
# ネイティブなエンドツーエンドYOLO26モデルを初期化します
model = YOLO("yolo26n.pt")
# カスタムデータセットでモデルを手軽に学習させます
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# 学習済みモデルをTensorRTにエクスポートして、非常に高速な推論を実行します
model.export(format="engine", dynamic=True)ビジュアルインターフェースを希望するユーザーには、Ultralytics Platformが、データセットのアノテーション、ハイパーパラメーターの調整、シームレスなデプロイのための強力なツールを提供します。
実際のユースケース#
適切なアーキテクチャは、デプロイ上の固有の制約に大きく左右されます。
EfficientDetを検討する場合#
推論速度がまったく重要ではなく、高解像度画像で理論上の最大精度を達成することだけを目指す環境では、EfficientDetは引き続き学術的な関心を集めています。また、TensorFlowエコシステムで実装されているため、旧来のGoogleインフラを維持するチームにも適しています。
YOLOXを検討するタイミング#
YOLOXは、アンカーボックスの複雑さを避けながら速度と精度のバランスが必要なアプリケーションに適しています。歴史的に、ベルトコンベア上で迅速な欠陥検出が求められる産業製造のシナリオで優れた性能を発揮してきました。
YOLO26が優れた選択肢である理由#
現代のほぼすべてのアプリケーションにおいて、YOLO26は最適なソリューションです。NMSフリー設計によりレイテンシが安定するため、自動運転、迅速なセキュリティ警報システム、スマートシティへの導入に最適です。さらに、Ultralyticsの手厚いコミュニティサポートと頻繁なアップデートにより、開発者が非推奨の依存関係への対応に追われることはありません。
高度なコンピュータービジョンを検討する開発者は、安定したレガシー環境へのデプロイに適したYOLO11や、プロンプトベースのセグメンテーションタスク向けのFastSAMなど、Ultralyticsエコシステム内の汎用性に優れた他のアーキテクチャもご確認ください。Ultralyticsのツール一式を活用することで、将来性が高く、最適化されたビジョンAIパイプラインを実現できます。