EfficientDet vs YOLOv5: 包括的な技術比較
最適なニューラルネットワークアーキテクチャの選択は、あらゆるコンピュータビジョンプロジェクトにおいて決定的なステップです。推論レイテンシ、パラメータ効率、および検出精度のバランスが、モデルの現実世界におけるパフォーマンスを左右します。この包括的な技術ガイドでは、GoogleのEfficientDetとUltralytics YOLOv5という、非常に影響力のある2つの物体検出フレームワークを詳細に分析します。
両者のアーキテクチャの革新性、トレーニング手法、デプロイメント機能を比較することで、開発者はクラウドサーバーでのスケーリングであれ、制約のあるエッジデバイスでの実行であれ、特定のデプロイメント環境に合わせて情報に基づいた意思決定を行うことができます。
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分類モデルを活用し、ネットワークの幅、深さ、および解像度を一様にスケールさせるコンパウンドスケーリング手法を採用しています。物体検出への最も顕著な貢献は、双方向特徴ピラミッドネットワーク(BiFPN)の導入です。単純にトップダウンで特徴を統合する標準的な特徴ピラミッドネットワークとは異なり、BiFPNは複雑で双方向のクロススケール接続を可能にし、各入力特徴の重要度を決定するための学習可能な重みを導入しています。
非常に高精度である一方で、EfficientDetはTensorFlowエコシステムと特定のAutoMLライブラリに大きく依存しています。この依存関係により、カスタムの軽量デプロイメントパイプラインや、動的計算グラフを好む環境への統合が困難になる場合があります。
Ultralytics YOLOv5: リアルタイムAIの民主化
EfficientDetの直後にリリースされたUltralytics YOLOv5は、非常にアクセスしやすいネイティブなPyTorch実装のYOLOアーキテクチャを提供することで業界に革命をもたらしました。これは、開発者エクスペリエンス、トレーニング効率、およびリアルタイムデプロイメントの柔軟性における新たな基準を打ち立てました。
モデルの詳細
- 著者: Glenn Jocher
- 組織: Ultralytics
- 日付: 2020年6月26日
- GitHub: ultralytics/yolov5
- ドキュメント: YOLOv5 Documentation
アーキテクチャの革新
YOLOv5は、CSPDarknet(Cross-Stage Partial)バックボーンを採用することで、パラメータ総数を削減しつつ勾配フローを大幅に強化するなど、前世代から大きなアップグレードを果たしました。さらに、YOLOv5はAuto-Learning Anchor Boxesを組み込んでおり、特定のカスタムトレーニングデータに基づいて最適なバウンディングボックスの事前分布を自動計算するため、手動でのハイパーパラメータ調整が不要になります。
また、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までスケールしますが、GPUハードウェア上ではYOLOアーキテクチャと比較して大幅な推論レイテンシに苦しみます。対照的に、YOLOv5はハードウェアアクセラレーションに優れています。YOLOv5nバリアントは、NVIDIA TensorRTを使用するT4 GPU上で1.12msという驚異的な速さの推論時間を実現しており、自動運転や高速製造ラインのようなリアルタイムアプリケーションにおいて圧倒的に優れています。
さらに、YOLOv5モデルは、複雑なコンパウンドスケーリングネットワークや大規模なTransformerモデルと比較して、トレーニング中のCUDAメモリ要件がはるかに低くなります。この無駄のないメモリプロファイルにより、最先端のAIへのアクセスが民主化され、研究者は標準的なコンシューマー向けハードウェアで堅牢なモデルをトレーニングできるようになりました。
エッジデバイス上でYOLOv5モデルから最大のフレーム毎秒(FPS)を引き出すには、PyTorchの重みをNVIDIA GPU向けにはTensorRT、Intel CPU向けにはOpenVINOへエクスポートしてください。このステップにより、推論速度がしばしば2倍になります。
トレーニングエコシステムと開発者エクスペリエンス
Ultralyticsエコシステムの真の利点は、その合理化されたユーザーエクスペリエンスにあります。EfficientDetがTensorFlow物体検出APIに関する深い知識を必要とするのに対し、YOLOv5は一貫したシンプルなPython APIを提供しています。
適切に管理されたUltralyticsエコシステムは、開発者が頻繁なアップデート、活発なコミュニティサポート、そしてWeights & BiasesやClearMLといった実験管理ツールとのシームレスな統合を利用できるようにしています。
コード例: YOLOv5を始める
PyTorch Hub経由で、わずか数行のコードで事前トレーニング済みYOLOv5モデルの推論を実行できます:
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は複数のコンピュータビジョンタスクをサポートするように進化しました。このモデルの最新リリースでは、高精度なインスタンスセグメンテーションと画像分類がサポートされており、開発者は機械学習スタックを統合できます。
理想的な使用ケース
- EfficientDet: レイテンシよりも最大精度が優先されるオフライン処理、学術研究、クラウドベースの分析に最適であり、サーバーグレードのTPUや高メモリGPUが利用可能な環境に適しています。
- YOLOv5: エッジAIデプロイメントにおける決定的な選択肢です。低レイテンシ、極めて小さなパラメータフットプリント、高精度を兼ね備えており、ドローン分析、リアルタイム小売自動化、およびCoreMLやTFLiteを通じたモバイルアプリケーションに理想的です。
次世代: YOLO26へのアップグレード
YOLOv5は依然として堅牢で広く展開されているモデルですが、AI分野の進化は急速です。新しいプロジェクトを開始するチームや、現代のパフォーマンスの絶対的なピークを追求するチームのために、Ultralyticsは2026年1月にリリースされたYOLO26を導入しました。
YOLO26は速度と精度のパレートフロンティアを再定義し、デプロイを容易にし、推論を高速化する画期的なアーキテクチャの転換をもたらしました。
YOLO26の主な進歩
- エンドツーエンドのNMSフリー設計: YOLO26はNMS(非最大値抑制)のポストプロセスをネイティブで排除します。これによりデプロイロジックが大幅に簡素化され、推論のばらつきが軽減されます。これはYOLOv10の初期実験から洗練された画期的なアプローチです。
- 最大43%高速なCPU推論: 専用GPUを持たないエッジコンピューティングや低消費電力のIoTデバイス向けに特別に設計されています。
- MuSGDオプティマイザ: 大規模言語モデルのトレーニング手法(Moonshot AIのKimi K2など)から着想を得た、SGDとMuonのハイブリッドであるこの手法は、LLMの革新をコンピュータビジョンにもたらし、より高速な収束と非常に安定したトレーニングダイナミクスを実現します。
- ProgLoss + STAL: これらの高度な損失関数により、航空画像やロボット工学において不可欠な、小さな物体の認識において顕著な改善が得られます。
- DFLの削除: Distribution Focal Lossを取り除くことで、モデルヘッドが大幅に簡素化され、レガシーハードウェアや極めて制約の厳しいエッジハードウェアへのエクスポート時の互換性が向上しました。
マルチタスクパイプラインをデプロイするチーム向けに、YOLO26ではセグメンテーション用のマルチスケールプロトや、回転バウンディングボックス (OBB)用の特殊な角度損失など、タスク特化型のアップグレードも導入されています。エコシステム内の他のモダンな代替手段については、YOLO11やYOLOv8アーキテクチャもご確認ください。
結論
EfficientDetとYOLOv5のどちらを選択するかは、デプロイメントのターゲットに大きく依存します。EfficientDetは、クラウド環境での推論に適した数学的にエレガントなスケーリングアプローチを提供します。しかし、YOLOv5の優れた開発者エクスペリエンス、非常に高速なPyTorchトレーニングループ、そして高度に最適化されたエッジデプロイメント機能は、現実世界のリアルタイムアプリケーションの大部分において、YOLOv5を好ましい選択肢としています。Ultralyticsが提供する包括的なツールを活用することで、チームは市場投入までの時間を短縮し、非常に応答性の高いAIシステムを構築できます。