EfficientDet vs.YOLO:物体検出技術の進化を深く掘り下げる
コンピュータビジョンのダイナミックな世界では、精度と遅延の最適なバランスを追求する姿勢が絶え間ない革新を牽引している。それぞれの時代を定義した二つのアーキテクチャGoogle ——Google YOLO。EfficientDetがモデルスケーリングへの原理的なアプローチを導入した一方で、YOLO ニューラルアーキテクチャサーチ(NAS)を用いてリアルタイム性能の限界をYOLO 。
本ガイドでは、これら2つのモデルの包括的な技術比較を提供し、アーキテクチャ上の独自性、パフォーマンス指標、現代的なデプロイへの適合性を分析します。最先端ソリューションを求める開発者のために、Ultralytics のような新しいフレームワークがこれらの基盤をどのように発展させ、優れた使いやすさとパフォーマンスを提供しているかについても探求します。
EfficientDetの概要
2019年末に発表されたEfficientDetは、物体検出モデルの拡張方法におけるパラダイムシフトをもたらした。発表以前、拡張はしばしば恣意的に行われていた。Google チームは解像度、深度、幅を均一に拡張する複合スケーリング手法を導入し、様々なリソース制約に対応する一連のモデル群(D0-D7)を実現した。
著者:Mingxing Tan, Ruoming Pang, Quoc V. Le
組織:Google
日付:2019年11月20日
Arxiv:EfficientDet Paper
GitHub:google
主要なアーキテクチャ機能
- BiFPN(重み付き双方向特徴ピラミッドネットワーク):従来のFPNとは異なり、BiFPNはトップダウンおよびボトムアップのマルチスケール特徴融合を可能にする。すべての特徴が出力に等しく寄与するわけではないことを認識し、異なる入力特徴に対して学習可能な重みを導入する。
- 複合スケーリング:統一係数$\phi$がネットワークの幅、深さ、解像度を制御し、バックボーン、特徴ネットワーク、予測ヘッドが調和してスケーリングされることを保証する。
- EfficientNetバックボーン: EfficientNetをバックボーンとして利用することで、モバイル逆ボトルネック畳み込み(MBConv)層を活用し、高いパラメータ効率を実現する。
DAMO-YOLO の概要
YOLO、2022年にアリババグループによって開発され、レイテンシーが最優先される産業用途に厳密に焦点を当てて設計された。手動によるアーキテクチャ設計から離れ、NASを活用して高性能推論に特化した効率的な構造を発見する。
著者:許賢哲, 江一琪, 陳偉華, 黄一倫, 張元, 孫秀宇
所属:Alibaba Group
日付:2022年11月23日
Arxiv:YOLO
GitHub:YOLO
主要なアーキテクチャ革新
- MAE-NASバックボーン:YOLO 「手法認識効率ニューラルアーキテクチャ探索」と呼ばれる手法を用い、推論速度に特化して最適化されたバックボーンYOLO 。これは従来の手動設計CSPNetとは大きく異なる。 YOLOv5YOLOv8。
- RepGFPN:再パラメータ化(RepVGGスタイル)を用いて特徴量を統合する効率的な汎用FPN。学習時の高い特徴表現力を維持しつつ、推論時の遅延を低減する。
- ZeroHead:軽量な検出ヘッドであり、従来モデルに見られる分離型ヘッドと比較して計算負荷を大幅に軽減します。
- AlignedOTA: トレーニング中に分類タスクと回帰タスクの間のずれを解決する、改良されたラベル割り当て戦略。
パフォーマンス比較
以下の表は、様々なYOLO 性能を比較したものです。EfficientDetは幅広いサイズ(高解像度タスク向けにはD7まで)を提供しますが、YOLO リアルタイム遅延の「最適領域」(T/S/M/L)にYOLO 。
| モデル | サイズ (ピクセル) | 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 |
| DAMO-YOLOt | 640 | 42.0 | - | 2.32 | 8.5 | 18.1 |
| DAMO-YOLOs | 640 | 46.0 | - | 3.45 | 16.3 | 37.8 |
| DAMO-YOLOm | 640 | 49.2 | - | 5.09 | 28.2 | 61.8 |
| DAMO-YOLOl | 640 | 50.8 | - | 7.18 | 42.1 | 97.3 |
分析
- レイテンシー対精度: GPU 優れたYOLO 。例えば、
DAMO-YOLOsは 46.0mAP ただ 3.45ミリ秒 T4GPUにおけるレイテンシ。対照的に、EfficientDet-d3わずかに高い値を達成する 47.5mAP しかし代償として 19.59ミリ秒—約5.5倍遅い。 - アーキテクチャの経年劣化:EfficientDetは深度方向分離可能な畳み込みに大きく依存している。パラメータ効率は高いものの、これらの演算は現代のGPUではメモリ制約を受けやすく、YOLO構造で最適化された密畳み込みと比較して利用率が低下する。
- 計算要件:EfficientDet-d7は、わずかな精度向上(53.7mAP)を得るために膨大な計算リソース(325 GFLOPs)を必要とするため、エッジデバイスへの展開が困難である。
トレーニングとエコシステム
この2世代のモデルでは、ユーザー体験が大きく異なります。
効率的なエコシステム
EfficientDetGoogle エコシステムとTensorFlowに深く根ざしています。強力である一方、ユーザーはしばしば以下のような課題に直面します:
- 依存関係の複雑さ: TensorFlow .x と 2.x のバージョン間を移動するのは困難な場合があります。
- 静的グラフの制限事項: ONNX TensorRT ONNX モデルエクスポートには、複雑な変換スクリプトが必要となるTensorRT 、これらはすべてのBiFPN演算をネイティブにサポートしない可能性があります。
YOLO
YOLO PyTorchYOLO 、研究用途では一般的に柔軟性が高い。ただし:
- 特化領域:主に研究リポジトリとして機能します。特定の検出タスクには優れていますが、セグメンテーションや姿勢推定など他のタスクに対する汎用的な「すぐに使える」実用性は欠いています。
- 蒸留依存性:最高性能を達成するため、YOLO 大規模モデルからの蒸留を活用し、トレーニングパイプラインに複雑性を加える。
エコシステムが重要
モデルを本番環境で採用する際には、mAP カスタムデータでの学習のmAP 考慮すべきである。数週間を要する統合が必要なモデルは、得られる精度の向上がもたらす価値よりも、エンジニアリング時間のコストが上回る場合が多い。
Ultralyticsの利点: YOLO26の登場
YOLO コンピュータビジョンにおける画期的なYOLO 、この分野は進化を続けています。Ultralytics 次世代のビジョンAIを体現し、NASベースモデルのアーキテクチャ効率Ultralytics 利便性を融合させています。
YOLO26にアップグレードする理由
YOLO26は、いくつかの画期的な機能により、従来のアーキテクチャの課題点を解決します:
- エンドツーエンドNMS設計:EfficientDetYOLO ノンマキシマム抑制(NMS)の後処理を必要とするのに対し、YOLO26はネイティブにエンドツーエンドです。これにより、デプロイメントパイプラインにおける主要なボトルネックが解消され、レイテンシの変動が低減され、CoreML TensorRT CoreML フォーマットへのエクスポートが簡素化されます。
- MuSGDオプティマイザー:LLMトレーニングの安定性に着想を得た新開発のMuSGDオプティマイザー(SGD ミューオンのハイブリッド)は、小規模なデータセットにおいても、より高速な収束と安定したトレーニング実行を保証します。
- ProgLoss + STAL:新しい損失関数(ProgLossとSoft-Target Assignment Loss)は、アンカーフリーモデルの伝統的な弱点である小物体検出において大幅な改善をもたらす。
- CPU エッジ最適化: DFL(分布焦点損失)の除去とアーキテクチャ最適化により、YOLO26 CPU 最大43%高速化。これにより、ラズベリーパイやモバイル展開において優れた選択肢となります。
比較概要
| 機能 | EfficientDet | DAMO-YOLO | Ultralytics YOLO26 |
|---|---|---|---|
| アーキテクチャ | BiFPN + 複合スケーリング | NAS + RepGFPN | エンドツーエンドのNMS |
| 後処理 | NMS | NMS | なし(エンドツーエンド) |
| タスクサポート | 検出 | 検出 | detect、segment、姿勢推定、obb、classify |
| プラットフォーム | TensorFlow | PyTorch | Ultralytics Platform |
| デプロイ | 複合体 | 中程度 | ワンクリック(10以上の形式) |
使いやすさとトレーニング
Ultralytics 決定的な特徴の一つは、統一されたAPIです。物体検出器、方向付き境界ボックス(OBB)モデル、姿勢推定モデルのいずれをトレーニングする場合でも、コードは一貫してシンプルです。
カスタムデータで最先端のYOLO26モデルを簡単にトレーニングする方法をご紹介します:
from ultralytics import YOLO
# Load the latest YOLO26 model
model = YOLO("yolo26n.pt")
# Train on the COCO8 dataset
# The MuSGD optimizer and ProgLoss are handled automatically
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# Validate the model
metrics = model.val()
print(f"mAP50-95: {metrics.box.map}")
実際のユースケース
EfficientDetはいつ使用すべきか?
EfficientDetは以下のシナリオにおいて有効です:
- レガシーGoogle Pipelines:古いGoogle Vision API やTPU インフラストラクチャと深く統合されたシステム。
- 学術的ベンチマーキング:複合スケーリング研究の標準的な基準として。
YOLOいつ使うべきか?
YOLO 以下にYOLO :
- 厳格なGPU 制約:ミリ秒単位の精度が求められる産業用製造ラインにおいて、ハードウェアがNVIDIA 固定されている環境。
- ビデオ解析:スループット(バッチサイズ1)が主要指標となる高FPSビデオストリームの処理。
YOLO26はいつ使うべきか?
YOLO26は以下に推奨されるソリューションです:
- エッジAI:スマートフォン、ドローン、IoTデバイスへの展開。NMS推論によりアプリケーションロジックが簡素化され、CPU 極めて重要となる環境。
- マルチタスクアプリケーション:単一コードベース内で検出と並行してインスタンスセグメンテーションまたは姿勢推定を必要とするプロジェクト。
- 迅速な開発: Ultralytics でのデータ収集から、数週間ではなく数時間でのデプロイを必要とするチーム。
結論
EfficientDetがスケーリングの重要性を示し、YOLO 一方で、Ultralytics これらの知見を統合し、実運用可能な強力なモデルへと昇華させました。NMS設計、多様なタスクへの適応性、そして整備されたエコシステムを備えたYOLO26は、現代の開発者にコンピュータビジョン分野で成功を収めるための最も堅牢な道筋を提供します。
モデルアーキテクチャのさらなる調査については、以下の比較を検討してください YOLOv10 または RT-DETRとの比較を検討することをお勧めします。これらもトランスフォーマーベースの革新を探求しています。