EfficientDet vs YOLOv7:技術比較
適切な物体検出モデルの選択は、精度、速度、計算コストの要求のバランスを取る上で重要な決定です。このページでは、優れたパラメータ効率で知られるEfficientDetと、リアルタイム物体検出の画期的なモデルであるYOLOv7という、影響力のある2つのモデルの詳細な技術比較を提供します。アーキテクチャ、パフォーマンス指標、理想的なユースケースを検証することで、プロジェクトに最適なモデルを選択するために必要な洞察を提供するとともに、より最新の代替モデルの利点も強調します。
EfficientDet:スケーラビリティと効率
EfficientDetは、非常に効率的でスケーラブルなオブジェクト検出器のファミリーとしてGoogle Brainチームによって導入されました。その核となるイノベーションは、モデルアーキテクチャとスケーリングの原則を最適化して、より少ないパラメータと計算リソース(FLOP)でより優れたパフォーマンスを達成することにあります。
- 著者: 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を特徴抽出のためのバックボーンとして使用します。これは、ニューラルアーキテクチャ検索(NAS)を使用して設計されました。
- BiFPN (双方向特徴ピラミッドネットワーク): EfficientDetは、標準的なFPNの代わりにBiFPNを導入しました。BiFPNは、重み付けされた接続により、より豊富なマルチスケール特徴融合を可能にし、最小限のオーバーヘッドで精度を向上させます。
- Compound Scaling: バックボーン、特徴ネットワーク、および予測ヘッドの深さ、幅、解像度を単一の複合係数を使用して均一にスケーリングする新しいスケーリング手法。これにより、モデルを軽量なEfficientDet-D0から高精度のD7にスケーリングして、幅広い計算予算に対応できます。
長所と短所
長所:
- 卓越した効率性: 特定のパラメータ数とFLOPsに対して高い精度を実現し、トレーニングとデプロイメントの両方で非常に費用対効果が高くなっています。
- スケーラビリティ: 複合スケーリング手法により、エッジAIデバイスから強力なクラウドサーバーまで、ハードウェア制約に基づいてモデルをスケールアップまたはスケールダウンするための明確な方法が提供されます。
- 標準ベンチマークでの強力なパフォーマンス: リリース時にCOCOデータセットで最先端の結果を達成し、その有効性を示しました。
弱点:
- 推論速度が遅い: FLOPの効率は良いですが、そのアーキテクチャにより、YOLOファミリーのようなリアルタイム推論用に特別に設計されたモデルと比較して、レイテンシが高くなる可能性があります。
- タスク特化型: EfficientDetは主に物体検出モデルであり、最新のフレームワークにあるネイティブなマルチタスクの多様性がありません。
- 複雑さ: BiFPNとcompound scalingの概念は、強力である一方で、よりシンプルなアーキテクチャと比較して、ゼロから実装することがより複雑になる可能性があります。
YOLOv7:リアルタイム性能の推進
オリジナルのYOLOv4の作成者によって開発されたYOLOv7は、速度と精度の両方を大幅に向上させることで、リアルタイム物体検出器の新たな標準を確立しました。GPUハードウェアで可能なことの限界を押し広げるために、新しいトレーニング手法とアーキテクチャの最適化が導入されました。
- 著者: 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)を導入しています。
- 学習可能なBag-of-Freebies: 主な貢献は、推論コストを追加することなく精度を向上させるトレーニング中の最適化戦略の使用です。これには、再パラメータ化された畳み込みや粗から細への誘導型トレーニングなどの手法が含まれます。
- モデルスケーリング: YOLOv7は、連結ベースのモデルをスケーリングする方法を提供し、アーキテクチャを高精度化のためにスケールアップしても最適な状態を維持できるようにします。
長所と短所
長所:
- 優れた速度と精度のトレードオフ: リリース時点で、リアルタイム検出器の中で最高のmAPと推論速度のバランスを提供しました。
- Efficient Training: "bag-of-freebies" アプローチにより、より長いトレーニングやより複雑な後処理を必要とするモデルと比較して、より効率的なトレーニングサイクルで高い精度を達成できます。
- 実績ある性能: ベンチマークで優れた結果を持つ定評のあるモデルであり、高性能アプリケーションにとって信頼できる選択肢です。
弱点:
- リソース集約的: 大規模なYOLOv7モデルは、学習にかなりのGPUリソースを必要とします。
- 汎用性の制限: 他のタスク向けにコミュニティ版が存在しますが、公式モデルは物体検出に重点を置いています。Ultralytics YOLOv8のような統合フレームワークは、セグメンテーション、分類、姿勢推定に対する組み込みサポートを提供します。
- 複雑さ: アーキテクチャの変更と高度なトレーニング技術の組み合わせは、完全に理解しカスタマイズすることが複雑になる可能性があります。
性能分析:効率 vs. 速度
EfficientDetとYOLOv7の主な違いは、その設計思想にあります。EfficientDetは計算効率(FLOPs)とパラメータ数を優先する一方、YOLOv7はGPUでの生の推論速度(レイテンシ)を優先します。
モデル | サイズ (ピクセル) |
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 |
YOLOv7l | 640 | 51.4 | - | 6.84 | 36.9 | 104.7 |
YOLOv7x | 640 | 53.1 | - | 11.57 | 71.3 | 189.9 |
表が示すように、小型のEfficientDetモデルはパラメータとFLOPsにおいて非常に軽量です。ただし、YOLOv7xはT4 GPUでEfficientDet-d6/d7と同等のmAPを達成し、レイテンシが大幅に低いため、リアルタイムアプリケーションに適しています。
Ultralytics YOLOモデルを選ぶ理由
EfficientDetと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のような最新モデルをご覧ください。