EfficientDetとYOLOv5の比較:詳細な技術的比較
適切な物体検出モデルの選択は、精度、速度、計算リソースの必要性のバランスを取る重要な決定です。このページでは、そのスケーラビリティと精度で知られるGoogleのモデルファミリーであるEfficientDetと、その卓越した速度と使いやすさで広く採用されているUltralytics YOLOv5との包括的な技術的比較を提供します。アーキテクチャの違い、パフォーマンスベンチマーク、理想的なユースケースを掘り下げて、コンピュータビジョンプロジェクトに最適なモデルを選択できるよう支援します。
EfficientDet:スケーラブルで効率的なアーキテクチャ
EfficientDetは、スケーラブルで効率的なオブジェクト検出器の新しいファミリーとして、Google Brainチームによって発表されました。その核となるイノベーションは、複合スケーリングを通じて精度と効率の両方を最適化する、慎重に設計されたアーキテクチャにあります。
技術詳細
- 著者: Mingxing Tan、Ruoming Pang、Quoc V. Le
- 組織: Google
- Date: 2019-11-20
- Arxiv: https://arxiv.org/abs/1911.09070
- GitHub: https://github.com/google/automl/tree/master/efficientdet
- ドキュメント: https://github.com/google/automl/tree/master/efficientdet#readme
アーキテクチャと主な機能
EfficientDetのアーキテクチャは、3つの主要なコンポーネントに基づいて構築されています。
- EfficientNet Backbone: 非常に効率的なEfficientNetを特徴抽出のためのバックボーンとして使用します。これは、優れた精度対計算量の比率のためにすでに最適化されています。
- BiFPN (Bi-directional Feature Pyramid Network): 特徴融合のために、EfficientDetはBiFPNを導入します。BiFPNは、単純かつ高速なマルチスケール特徴融合を可能にします。従来のFPNとは異なり、BiFPNは双方向接続を持ち、重み付けされた特徴融合を使用して、異なる入力特徴の重要性を学習します。
- Compound Scaling: バックボーン、特徴ネットワーク、およびボックス/クラス予測ネットワークの深さ、幅、解像度を均一にスケーリングする新しいスケーリング手法。これにより、アーキテクチャの一貫性を維持しながら、さまざまなリソース制約に対応するモデルファミリー(D0からD7)を作成できます。
長所と短所
長所:
- 高精度: より大型のEfficientDetモデル(例:D5-D7)は、最高水準のmAPスコアを達成でき、純粋な精度ベンチマークで他のモデルよりも優れた性能を発揮することがよくあります。
- パラメータ効率: 特定のレベルの精度において、EfficientDetモデルは、Mask R-CNNのような古いアーキテクチャよりも、パラメータ効率とFLOP効率が高いことがよくあります。
- スケーラビリティ: 複合スケーリング手法により、ターゲットハードウェアとパフォーマンス要件に基づいてモデルをスケールアップまたはスケールダウンするための明確な方法が提供されます。
弱点:
- 推論速度: EfficientDetは、その精度に対して効率的ですが、一般的にYOLOv5のようなシングルステージ検出器よりも低速であり、特にGPU上ではその傾向が顕著です。そのため、リアルタイム推論アプリケーションにはあまり適していません。
- 複雑さ: BiFPNとcompound scalingは、YOLOv5のよりシンプルな設計と比較して、より高度なアーキテクチャの複雑さをもたらします。
理想的なユースケース
EfficientDetは、可能な限り最高の精度を達成することが主な目標であり、レイテンシが二次的な懸念事項であるアプリケーションに最適です。
- 医療画像解析: 精度が最も重要な医療スキャンにおけるわずかな異常の検出。
- 衛星画像: 農業や環境モニタリングなどのアプリケーション向けに、高解像度解析を行います。
- オフラインバッチ処理: リアルタイムで処理する必要がない画像またはビデオの大規模なデータセットを分析します。
Ultralytics YOLOv5:汎用性が高く、広く採用されているモデル
Ultralytics YOLOv5は、その驚くべきスピード、精度、そして比類のない使いやすさで有名な業界標準となっています。PyTorchで開発され、実用的で高性能なソリューションを求める開発者や研究者にとって頼りになるモデルとなっています。
技術詳細
- Author: Glenn Jocher
- 組織: Ultralytics
- Date: 2020-06-26
- GitHub: https://github.com/ultralytics/yolov5
- Docs: https://docs.ultralytics.com/models/yolov5/
長所と短所
長所:
- 卓越した速度: YOLOv5は非常に高速であり、セキュリティアラームシステムのようなアプリケーションに不可欠なリアルタイム物体検出を可能にします。
- 使いやすさ: シンプルな学習とデプロイのワークフローを提供し、優れたUltralyticsドキュメントと、シンプルなPythonおよびCLIインターフェースによる効率化されたユーザーエクスペリエンスによってサポートされています。
- 充実したエコシステム: YOLOv5は、活発な開発、大規模なコミュニティ、頻繁なアップデート、およびノーコードトレーニングのためのチュートリアルやUltralytics HUBのようなツールとの統合などの豊富なリソースの恩恵を受けています。
- パフォーマンスのバランス: 推論速度と検出精度との間で優れたトレードオフを実現しており、幅広い現実世界のシナリオに適しています。
- Training Efficiency: YOLOv5 は、すぐに利用できる事前学習済みウェイトを備えた効率的なトレーニングプロセスを特徴としており、一般的に、より複雑なアーキテクチャと比較して、トレーニングと推論に必要なメモリが少なくなっています。
- 多様性: YOLOv5は、物体検出だけでなく、インスタンスセグメンテーションや画像分類タスクもサポートしています。
弱点:
- 精度: 非常に高精度ですが、YOLOv5は、特に非常に小さなオブジェクトを検出する場合、最大のEfficientDetモデルと比較して、常に最高のmAPを達成できるとは限りません。
- Anchor-Based Detection: 事前に定義されたアンカーボックスに依存しているため、異常なオブジェクトのアスペクト比を持つデータセットで最適なパフォーマンスを得るには、調整が必要になる場合があります。
理想的なユースケース
YOLOv5は、速度、効率、およびデプロイの容易さが最も重要なアプリケーションに最適な選択肢です。
- リアルタイムビデオ監視: ライブビデオストリームにおける高速な物体検出。
- 自律システム: ロボティクスや自動運転車向けの低遅延認識。
- Edge Computing: モデルの効率性により、Raspberry PiやNVIDIA Jetsonのようなリソース制約のあるデバイスへのデプロイが可能です。
- モバイルアプリケーション: 高速な推論時間とより小さなモデルサイズは、モバイルプラットフォームに適しています。
性能分析:精度 vs. 速度
EfficientDetとYOLOv5の主なトレードオフは、精度と速度のバランスにあります。以下の表は、より大型のEfficientDetモデルはより高いmAPスコアを達成できますが、それには大幅に高いレイテンシが伴うことを示しています。対照的に、YOLOv5モデルは、特にGPU(T4 TensorRT)で、はるかに高速な推論速度を提供するため、リアルタイムアプリケーションに最適です。たとえば、YOLOv5lはわずか6.61msのレイテンシで競合する49.0 mAPを達成しますが、同様に正確なEfficientDet-d4は33.55msで5倍以上遅くなります。
モデル | サイズ (ピクセル) |
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 |
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とUltralytics YOLOv5はどちらも強力な物体検出モデルですが、異なる優先順位に対応しています。EfficientDetは、推論速度を犠牲にする可能性があっても、最大の精度が主な目標である場合に優れています。
しかし、Ultralytics YOLOv5は、その卓越した速度と精度のバランスが際立っており、現実世界のアプリケーションの大部分に最適です。その使いやすさ、包括的で適切にメンテナンスされたエコシステム(Ultralytics HUBを含む)、効率的なトレーニング、およびスケーラビリティにより、非常に実用的で開発者フレンドリーな選択肢となっています。迅速なデプロイメント、リアルタイムパフォーマンス、および強力なコミュニティサポートを必要とするプロジェクトでは、YOLOv5がしばしば優れた選択肢となります。
さらなる進歩を遂げた新しいモデルの調査に関心のあるユーザーは、Ultralytics YOLOv8、またはYOLOv5の強みを基盤として、精度と新機能が向上した最新のYOLO11も検討すると良いでしょう。より多くの比較については、Ultralyticsのモデル比較ページをご覧ください。