EfficientDet vs YOLOv7:技術比較
適切な物体検出モデルの選択は、精度、速度、計算コストのバランスを取る上で重要な決定です。このページでは、コンピュータビジョンの2つの影響力のあるアーキテクチャであるEfficientDetとYOLOv7との詳細な技術比較を提供します。EfficientDetは、その優れたパラメータ効率とスケーラビリティで有名であり、YOLOv7は、リアルタイム検出の速度と精度の限界を押し広げていることで高く評価されています。
それらのコアとなるアーキテクチャの違い、パフォーマンスベンチマーク、および理想的なユースケースを探求します。どちらのモデルにも強みがありますが、多くの最新アプリケーションでは、開発者はより包括的でユーザーフレンドリーなソリューションを提供するUltralytics YOLOv8やYOLO11のような優れた代替手段を見つけることができます。
EfficientDet:スケーラブルで効率的なアーキテクチャ
Google Brainチームによって導入されたEfficientDetは、高い効率と精度のために設計された物体検出モデルのファミリーです。その主な革新は、モデルのスケーリングへの体系的なアプローチと新しい特徴融合ネットワークにあります。
- 著者: 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
アーキテクチャと主な機能
EfficientDetのアーキテクチャは、3つの主要なコンポーネントに基づいて構築されています。
- EfficientNet Backbone: 特徴抽出のバックボーンとして、非常に効率的なEfficientNetを使用しています。これは、精度と計算コストの優れたバランスを実現するために最適化されています。
- BiFPN (双方向特徴ピラミッドネットワーク): BiFPNは、特徴を一方向に合計する従来のFPNとは異なり、重み付けされた接続によるマルチスケール特徴融合を可能にし、より少ないパラメータでより豊富な特徴表現を可能にします。
- Compound Scaling: EfficientDetは、バックボーン、特徴ネットワーク、および予測ヘッドの深さ、幅、解像度を均一にスケーリングするCompound Scaling(複合スケーリング)手法を導入しています。これにより、モデルを小型のEfficientDet-D0から大型のD7にスケーリングして、さまざまなリソース制約に対応できます。
長所
- 高いパラメータ効率: EfficientDetモデルは、当時の他のモデルと比較して、大幅に少ないパラメータとFLOPで、競争力のある精度を実現します。
- スケーラビリティ: 複合スケーリング手法により、モデルをスケールアップまたはスケールダウンするための明確な方法が提供され、エッジデバイスから強力なクラウドサーバーまで、さまざまなハードウェアに適応可能です。
- CPUでの強力なパフォーマンス: EfficientDetの小型バリアントはCPU上で優れた性能を発揮するため、GPUハードウェアが利用できないアプリケーションに適しています。
弱点
- GPU推論の低速化: FLOP効率にもかかわらず、EfficientDetは、並列処理用に最適化されていないアーキテクチャであるため、GPU上のYOLOv7などのモデルよりも遅くなる可能性があります。
- タスク特化型: EfficientDetは主に物体検出用に設計されており、より最新のフレームワークにあるネイティブなマルチタスクの多様性がありません。
- 複雑さ: BiFPNとcompound scalingの概念は、強力である一方で、モデルの理解とカスタマイズに複雑さを加える可能性があります。
YOLOv7:リアルタイム検出における新たなベンチマーク
YOLOv7 は、YOLO シリーズにおける大きな飛躍として登場し、リアルタイム物体検出器の新たな最先端を確立しました。推論速度を損なうことなく精度を高めるために、いくつかのアーキテクチャとトレーニングの最適化が導入されました。
- 著者: Chien-Yao Wang、Alexey Bochkovskiy、Hong-Yuan Mark Liao
- 組織: Institute of Information Science, Academia Sinica, Taiwan
- Date: 2022-07-06
- Arxiv: https://arxiv.org/abs/2207.02696
- GitHub: https://github.com/WongKinYiu/yolov7
- ドキュメント: https://docs.ultralytics.com/models/yolov7/
アーキテクチャと主な機能
YOLOv7のパフォーマンス向上は、いくつかの重要な革新からもたらされています。
- Extended Efficient Layer Aggregation Network (E-ELAN): モデルのバックボーンで使用されるこのモジュールは、勾配パスを制御することにより、ネットワークの学習および効果的な収束能力を強化します。
- モデルの再パラメータ化: YOLOv7では、計画的な再パラメータ化畳み込みが採用されています。これは、推論時に複数のモジュールを1つに統合することで、計算量を削減し、速度を向上させる技術です。
- 学習可能なBag-of-Freebies: 監視を深める補助ヘッドや粗から細への誘導型トレーニングなど、最終的な推論コストを追加することなく精度を向上させる高度なトレーニング手法を導入しています。
長所
- 卓越した速度と精度のトレードオフ: YOLOv7は、非常に高い精度を維持しながら、GPU上で卓越したリアルタイム推論速度を実現し、他の多くのモデルを凌駕します。
- 高度なトレーニング最適化: 「bag-of-freebies」アプローチにより、デプロイされたモデルを重くすることなく、より高いmAPスコアを達成できます。
- 実績ある性能: MS COCOのような標準的なデータセットで広範にベンチマークされており、その能力を実証しています。
弱点
- リソース集約的な学習: 大規模なYOLOv7モデルは、計算負荷が高くなる可能性があり、学習にはかなりのGPUメモリが必要です。
- 汎用性の制限: 公式リポジトリには姿勢推定やセグメンテーションのようなタスクに対する拡張機能が含まれていますが、新しいUltralyticsモデルのような統合されたマルチタスクフレームワークではありません。
- 複雑さ: アーキテクチャとトレーニングパイプラインは複雑であり、モデルをカスタマイズまたは深く理解しようとする開発者にとって障壁となる可能性があります。
性能分析:速度と精度
EfficientDetとYOLOv7を比較すると、主な違いはその最適化目標にあります。EfficientDetはパラメータとFLOPの効率を優先しますが、YOLOv7は特定の精度に対するGPUハードウェアでの推論速度(FPS)の最大化に焦点を当てています。
モデル | サイズ (ピクセル) |
mAPval 50-95 |
速度 CPU ONNX (ms) |
速度 T4 TensorRT (ms) |
params (M) |
FLOPs (B) |
---|---|---|---|---|---|---|
YOLOv7l | 640 | 51.4 | - | 6.84 | 36.9 | 104.7 |
YOLOv7x | 640 | 53.1 | - | 11.57 | 71.3 | 189.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を達成していますが、YOLOv7xは非常に近い値を達成しています。
- 効率性: EfficientDetモデルは、パラメータとFLOPsの点で非常に軽量であり、特に小型バリアントがそうです。EfficientDet-d0は、リソースが限られた環境にとって明らかな勝者です。
- 速度: YOLOv7モデルはGPU(TensorRT)で大幅に高速です。たとえば、YOLOv7lはわずか6.84 msで51.4 mAPを達成しますが、同等のEfficientDet-d5は51.5 mAPを達成しますが、はるかに長い67.86 msかかります。これにより、YOLOv7は高いスループットを必要とするリアルタイムアプリケーションにはるかに適しています。
Ultralytics YOLOモデルを選ぶ理由
YOLOv7 は優れたパフォーマンスを提供しますが、YOLOv8 や YOLO11 のような新しい Ultralytics YOLO モデルは、大きな利点を提供します。
- 使いやすさ: Ultralyticsモデルには、合理化されたPython API、充実したドキュメント、および簡単なCLIコマンドが付属しており、トレーニング、検証、およびデプロイメントが簡素化されています。
- 充実したエコシステム: 活発な開発、強力なオープンソースコミュニティ、頻繁なアップデート、そしてシームレスなMLOpsのためのUltralytics HUBのようなツールとの統合の恩恵を受けられます。
- パフォーマンスのバランス: Ultralyticsモデルは、速度と精度の間で優れたトレードオフを実現しており、エッジデバイスからクラウドサーバーまで、多様な現実世界のシナリオに適しています。
- メモリ効率: Ultralytics YOLOモデルは、学習および推論中の効率的なメモリ使用のために設計されており、多くの場合、transformerベースのモデルや、EfficientDetまたはYOLOv7の一部のバリアントよりも必要なCUDAメモリが少なくなっています。
- 多様性: YOLOv8やYOLO11のようなモデルは、セグメンテーション、分類、ポーズ推定、傾斜物体検出(OBB)など、物体検出以外の複数のタスクをサポートし、統一されたソリューションを提供します。
- 学習効率: 効率的な学習プロセス、COCOのようなデータセットですぐに利用できる事前学習済みの重み、およびより速い収束時間を活用できます。
結論
EfficientDetは、パラメータとFLOPの効率が最重要視されるシナリオに優れており、さまざまなリソース予算に合わせて拡張性を提供します。YOLOv7は、リアルタイムオブジェクト検出の限界を押し広げ、特にGPUハードウェア上で、高度なトレーニング技術を活用して、卓越した速度と精度を実現します。
しかし、強力なパフォーマンス、優れたドキュメント、および複数のビジョンタスクをサポートする包括的なエコシステムを備えた、最新の汎用性の高いユーザーフレンドリーなフレームワークを求める開発者にとって、YOLOv8やYOLO11のようなUltralyticsモデルは、研究から本番環境への展開まで、幅広いアプリケーションにとって、より魅力的な選択肢となることがよくあります。
その他のモデル比較
さらに検討を深めるには、EfficientDet、YOLOv7、およびその他の関連モデルを含むこれらの比較をご検討ください。
- EfficientDetとYOLOv8の比較
- EfficientDetとYOLOv5の比較
- YOLOv7 対 YOLOv8
- YOLOv7 対 YOLOv5
- RT-DETR vs YOLOv7
- YOLOX vs YOLOv7
- YOLOv10やYOLO11のような最新モデルをご覧ください。