EfficientDet vs YOLOv5#
最適なニューラルネットワークアーキテクチャの選択は、あらゆる computer vision イニシアチブにおいて決定的なステップです。推論レイテンシ、パラメータ効率、および検出精度のバランスが、現実世界でのモデルのパフォーマンスを左右します。この包括的な技術ガイドでは、非常に影響力のある2つのオブジェクト検出フレームワーク、GoogleのEfficientDetとUltralytics YOLOv5について詳しく分析します。
アーキテクチャの革新性、トレーニング手法、デプロイ機能の比較を通じて、クラウドサーバーでのスケーリングや制約のあるエッジデバイスでの実行など、開発者がそれぞれのデプロイ環境に合わせた情報に基づいた意思決定を行えるよう支援します。
EfficientDet: BiFPNによるスケーラブルなアーキテクチャ#
Google Researchによって導入されたEfficientDetは、バックボーンと特徴ネットワークを体系的にスケーリングし、従来の状態最先端モデルよりも少ないパラメータで高い精度を達成するように設計されました。
モデルの詳細#
- 著者: Mingxing Tan, Ruoming Pang, and Quoc V. Le
- 組織: Google Research
- 日付: 2019年11月20日
- Arxiv: EfficientDet: Scalable and Efficient Object Detection
- GitHub: google/automl/efficientdet
アーキテクチャの革新#
EfficientDetは、バックボーンとしてEfficientNet分類モデルを活用し、ネットワークの幅、深さ、解像度を均一にスケーリングする複合スケーリング手法を使用しています。object detection に対する最も顕著な貢献は、双方向特徴ピラミッドネットワーク(BiFPN)の導入です。単純にトップダウンで特徴を統合する標準的な特徴ピラミッドネットワークとは異なり、BiFPNは複雑な双方向のクロススケール接続を可能にし、学習可能な重みを導入して異なる入力特徴の重要度を決定します。
EfficientDetは非常に高精度ですが、TensorFlow エコシステムと特定のAutoMLライブラリに強く依存しています。この依存関係により、カスタムの軽量デプロイメントパイプラインや、動的計算グラフを好む環境への統合が面倒になることがあります。
Ultralytics YOLOv5: リアルタイムAIの民主化#
EfficientDetのリリース直後に発表された Ultralytics YOLOv5 は、YOLOアーキテクチャの非常にアクセスしやすいネイティブな PyTorch 実装を提供することで、業界に革命をもたらしました。開発者のエクスペリエンス、トレーニング効率、およびリアルタイムのデプロイメントの柔軟性において、新しい標準を確立しました。
モデルの詳細#
- 著者: Glenn Jocher
- 組織: Ultralytics
- 日付: 2020年6月26日
- GitHub: ultralytics/yolov5
- Docs: YOLOv5 Documentation
アーキテクチャの革新#
YOLOv5は、CSPDarknet(Cross-Stage Partial)バックボーンを採用することで、パラメータ総数を削減しつつ勾配フローを大幅に強化し、前モデルから大幅なアップグレードを果たしました。さらに、YOLOv5には自動学習アンカーボックスが組み込まれており、カスタムトレーニングデータに基づいて最適なバウンディングボックスの事前分布を自動的に計算するため、手動でのハイパーパラメータ調整が不要になります。
また、YOLOv5は Mosaic Data Augmentation を多用しており、4つの異なる画像を1つのトレーニングタイルにブレンドします。これにより、小さなオブジェクトを検出するモデルの能力が大幅に向上し、文脈的理解が一般化されるため、多様な環境において非常に堅牢になります。
性能とベンチマーク#
COCO dataset などの標準的なベンチマークでモデルを評価することは、精度と速度のトレードオフを理解するために不可欠です。以下の表は、標準化された条件の下で、さまざまなサイズのEfficientDetとYOLOv5がどのようにパフォーマンスを発揮するかを示しています。
| モデル | サイズ (ピクセル) | mAPval 50-95 | 速度 CPU ONNX (ms) | 速度 T4 TensorRT10 (ms) | パラメータ (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 |
| YOLOv5n | 640 | 28.0 | 73.6 | 1.12 | 2.6 | 7.7 |
| YOLOv5s | 640 | 37.4 | 120.7 | 1.92 | 9.1 | 24.0 |
| YOLOv5m | 640 | 45.4 | 233.9 | 4.03 | 25.1 | 64.2 |
| YOLOv5l | 640 | 49.0 | 408.4 | 6.61 | 53.2 | 135.0 |
| YOLOv5x | 640 | 50.7 | 763.2 | 11.89 | 97.2 | 246.4 |
トレードオフの分析#
EfficientDet-d7は53.7という印象的なピーク mAP までスケールしますが、YOLOアーキテクチャと比較して、GPUハードウェア上で重大な推論レイテンシに苦しみます。逆に、YOLOv5はハードウェアアクセラレーションに優れています。YOLOv5nのバリアントは、NVIDIA TensorRT を使用した T4 GPU 上で、驚異的に高速な1.12 msの推論時間を達成しており、自動運転や高速製造ラインなどのリアルタイムアプリケーションにおいて圧倒的に優れています。
さらに、YOLOv5モデルは、複雑な複合スケーリングネットワークや大規模なTransformerモデルと比較して、トレーニング中のCUDAメモリ要件がはるかに低くなっています。この軽量なメモリプロファイルは、最先端のAIへのアクセスを民主化し、研究者が標準的な消費者向けハードウェアで堅牢なモデルをトレーニングできるようにします。
エッジデバイスでYOLOv5モデルから最大のフレーム毎秒(FPS)を引き出すには、PyTorch の重みを NVIDIA GPU 用の TensorRT またはインテル CPU 用の OpenVINO にエクスポートします。このステップにより、推論速度がしばしば2倍になることがあります。
トレーニングエコシステムと開発者体験#
Ultralyticsエコシステムの真の強みは、その合理化されたユーザー体験にあります。EfficientDetがTensorFlowの物体検出APIに関する深い知識を必要とするのに対し、YOLOv5は一貫性のあるシンプルなPython APIを提供しています。
十分なメンテナンスが行われている Ultralytics ecosystem により、開発者は頻繁なアップデート、活発なコミュニティサポート、および Weights & Biases や ClearML などの実験追跡ツールとのシームレスな統合を利用できます。
コード例: YOLOv5を始める#
事前トレーニング済みのYOLOv5モデルを使用した推論の実行には、PyTorch Hub を介した数行のコードのみが必要です:
from ultralytics import YOLO
# Load the highly efficient YOLOv5s model
model = YOLO("yolov5su.pt")
# Run inference on an image
results = model("https://ultralytics.com/images/zidane.jpg")
# Display the detected bounding boxes
results[0].show()汎用性と実世界のアプリケーション#
EfficientDetは厳密にオブジェクト検出フレームワークであるため、複雑なビジョンパイプラインにおける有用性が制限されます。一方、YOLOv5は進化して複数のコンピュータービジョンタスクをサポートするようになりました。モデルの最新リリースは、非常に高精度な instance segmentation および image classification をサポートしており、開発者は機械学習スタックを統合することができます。
理想的なユースケース#
- EfficientDet: オフライン処理、学術研究、およびレイテンシよりも精度が優先されるクラウドベースの分析に適しており、サーバーグレードのTPUや高メモリのGPUが利用できる環境に最適です。
- YOLOv5: edge AI deployments における決定版です。低レイテンシ、小さなパラメータフットプリント、および高精度の組み合わせにより、ドローン分析、リアルタイムの小売自動化、および CoreML や TFLite を使用したモバイルアプリケーションに最適です。
次世代: YOLO26へのアップグレード#
YOLOv5は依然として堅牢で広くデプロイされているモデルですが、AIの分野は急速に進歩しています。新しいプロジェクトを開始するチームや、最新パフォーマンスの絶対的なピークを求めるチームのために、Ultralyticsは2026年1月にリリースされた YOLO26 を導入しました。
YOLO26は、スピードと精度のパレートフロンティアを再定義し、デプロイを容易にし、推論を高速化する画期的なアーキテクチャの転換をもたらします。
YOLO26の主な進歩#
- エンドツーエンドのNMSフリー設計: YOLO26は、Non-Maximum Suppression(NMS)の後処理をネイティブで排除します。これにより、デプロイのロジックが大幅に簡素化され、推論のレイテンシのばらつきが軽減されます。これはYOLOv10の初期実験から洗練された画期的なアプローチです。
- 最大43%のCPU推論高速化: 専用のGPUを持たないエッジコンピューティングや低電力のIoTデバイス向けに特別に設計されています。
- MuSGDオプティマイザ: 大規模言語モデルのトレーニング手法(Moonshot AIのKimi K2など)に触発されたこのSGDとMuonのハイブリッドは、LLMの革新をコンピュータビジョンにもたらし、より速い収束と非常に安定したトレーニングダイナミクスを実現します。
- ProgLoss + STAL: これらの高度な損失関数は、航空画像やロボット工学で重要な小さな物体の認識において顕著な改善をもたらします。
- DFLの削除: Distribution Focal Lossを取り除くことで、モデルヘッドが大幅に簡素化され、レガシーハードウェアや制約の厳しいエッジハードウェアへのエクスポート時の互換性が向上しました。
マルチタスクパイプラインをデプロイするチームのために、YOLO26では、セグメンテーション用のマルチスケールプロトや、oriented bounding boxes (OBB) 用の特殊な角度損失など、タスク固有のアップグレードも導入されています。エコシステム内の他のモダンな代替案を探索するには、YOLO11 またはYOLOv8のアーキテクチャを確認することもできます。
結論#
EfficientDetとYOLOv5の選択は、デプロイ先に応じて大きく異なります。EfficientDetは、クラウドベースの推論に適した数学的にエレガントなスケーリングアプローチを提供します。しかし、YOLOv5の優れた開発者体験、非常に高速なPyTorchトレーニングループ、および高度に最適化されたエッジデプロイ機能により、現実世界のほとんどのリアルタイムアプリケーションにおいて優先される選択肢となっています。Ultralyticsが提供する包括的なツールを活用することで、チームは市場投入までの時間を短縮し、非常に応答性の高いAIシステムを構築できます。