EfficientDet vs. PP-YOLOE+:技術的比較
最適な物体検出モデルの選択は、精度、推論速度、計算コストのバランスを取る上で重要な決定です。このページでは、GoogleとBaiduがそれぞれ開発した2つの非常に影響力のあるモデルであるEfficientDetとPP-YOLOE+の詳細な技術比較を提供します。アーキテクチャの哲学、パフォーマンスベンチマーク、およびプロジェクトに最適なモデルを選択するのに役立つ理想的なユースケースについて説明します。
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
- ドキュメント: https://github.com/google/automl/tree/master/efficientdet#readme
アーキテクチャと主な機能
EfficientDetのアーキテクチャは、3つのコアとなるイノベーションに基づいて構築されています。
- EfficientNet Backbone: 特徴抽出のバックボーンとして、非常に効率的なEfficientNetを使用しています。これは、複合スケーリング手法を用いて開発されました。
- BiFPN (双方向特徴ピラミッドネットワーク): 特徴融合のために、EfficientDetは重み付けされた双方向特徴ピラミッドネットワークであるBiFPNを導入しました。BiFPNは、簡単かつ高速なマルチスケール特徴融合を可能にします。また、異なる入力特徴の重要度を学習し、従来のFPNよりも効果的にトップダウンとボトムアップの接続を適用します。
- Compound Scaling: EfficientDetの重要な原則は、Compound Scaling(複合スケーリング)手法です。これは、バックボーン、BiFPN、および検出ヘッドの解像度、深さ、および幅を均一に調整します。これにより、モデル全体でリソースのバランスの取れた割り当てが保証され、効率が大幅に向上します。
長所と短所
-
長所:
- 高いパラメータ効率: 他の多くのアーキテクチャと比較して、大幅に少ないパラメータとFLOPで、強力な精度を実現します。
- スケーラビリティ: モデルファミリー(D0からD7)は、モバイルデバイスから大規模クラウドサーバーまで、リソース制約に基づいてモデルをスケールアップまたはスケールダウンするための明確かつ効果的な方法を提供します。
- 高い精度: 特に低い計算量フットプリントを考慮すると、競争力のあるmAPスコアを達成します。
-
弱点:
- 推論速度: 計算効率は高いものの、生の推論レイテンシは、Ultralytics YOLOシリーズなど、リアルタイム性能に特化して最適化されたモデルよりも高くなる可能性があります。
- フレームワークの依存関係: 元の実装と主要なサポートはTensorFlow向けであるため、PyTorchエコシステム内で作業する開発者にとっては、追加の労力が必要になる場合があります。
ユースケース
EfficientDetは、計算リソースとモデルサイズが主な制約となるアプリケーションに最適です。次のようなシナリオに優れています。
- エッジAI: スマートフォンや組み込みシステムのようなリソース制約のあるデバイスへの展開。
- クラウドアプリケーション: 計算オーバーヘッドの最小化が重要なクラウド環境での費用対効果の高いデプロイメント。
- モバイルビジョン: デバイス上のコンピュータビジョン機能をモバイルアプリケーションで実現します。
PP-YOLOE+:精度と速度のために最適化
Baiduによって開発されたPP-YOLOE+は、PaddleDetectionスイートの高性能なシングルステージオブジェクト検出器です。これは、いくつかの重要な改善を加えてYOLOアーキテクチャを基盤とし、精度と速度の最適なバランスを実現することに重点を置いています。
- 著者: PaddlePaddle Authors
- 組織: Baidu
- Date: 2022-04-02
- Arxiv: https://arxiv.org/abs/2203.16250
- GitHub: https://github.com/PaddlePaddle/PaddleDetection/
- Docs: https://github.com/PaddlePaddle/PaddleDetection/blob/release/2.8.1/configs/ppyoloe/README.md
アーキテクチャと主な機能
PP-YOLOE+はアンカーフリーな検出器であり、事前定義されたアンカーボックスの必要性をなくすことで、検出パイプラインを簡素化します。主な機能は次のとおりです。
- Efficient Task-Aligned Head: 分類タスクとローカリゼーションタスクのためにデカップリングされたヘッドを採用し、Task Alignment Learning (TAL) を使用してそれらを調整し、検出精度を向上させます。
- バックボーンとネックの強化: このモデルは、改善されたバックボーンと、複数のスケールにわたる効果的な特徴融合のためのPath Aggregation Network(PAN)を組み込んでいます。
- PaddlePaddleエコシステム: PaddlePaddle深層学習フレームワーク内に深く統合されており、そのエコシステムで利用可能な最適化の恩恵を受けています。
長所と短所
-
長所:
- 優れた速度と精度のバランス: 特にTensorRT最適化されたGPU上で、非常に高速な推論速度を維持しながら、高いmAPスコアを提供します。
- Anchor-Free Design: モデル構造を簡素化し、調整が必要なハイパーパラメータの数を削減します。
- 強力なパフォーマンス: サイズの割に、速度と精度の両方で他のモデルを上回ることがよくあります。
-
弱点:
- エコシステムの囲い込み: 主な最適化とサポートはPaddlePaddleフレームワーク向けであるため、そのエコシステム外のユーザーにとっては課題となる可能性があります。
- コミュニティとリソース: Ultralytics のモデルのような、より広く採用されているモデルと比較して、グローバルコミュニティが小さく、サードパーティのリソースが少ない場合があります。
ユースケース
PP-YOLOE+ は、高い精度と高速なリアルタイム性能の両方が要求されるアプリケーションに最適です。
- 産業オートメーション: 製造業における品質管理や欠陥検出などのタスクに活用できます。
- スマートリテール: AIを活用した在庫管理や顧客分析などのアプリケーションを強化します。
- リサイクル自動化: 材料を識別して自動選別を行うことで、リサイクルの効率を向上させます。
直接対決: パフォーマンスとトレーニング
2つのモデルを比較すると、設計思想の違いが明らかになります。EfficientDetはパラメータ効率を優先し、PP-YOLOE+は最高の速度と精度のトレードオフを達成することに重点を置いています。
モデル | サイズ (ピクセル) |
mAPval 50-95 |
速度 CPU ONNX (ms) |
速度 T4 TensorRT (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 |
PP-YOLOE+t | 640 | 39.9 | - | 2.84 | 4.85 | 19.15 |
PP-YOLOE+s | 640 | 43.7 | - | 2.62 | 7.93 | 17.36 |
PP-YOLOE+m | 640 | 49.8 | - | 5.56 | 23.43 | 49.91 |
PP-YOLOE+l | 640 | 52.9 | - | 8.36 | 52.2 | 110.07 |
PP-YOLOE+x | 640 | 54.7 | - | 14.3 | 98.42 | 206.59 |
表から、PP-YOLOE+モデルは、GPU(T4 TensorRT)で一貫してより高速な推論速度を達成し、同等またはそれ以上のサイズのEfficientDetモデルよりも高いmAPスコアを達成することがよくあります。たとえば、PP-YOLOE+lは8.36ミリ秒で52.9 mAPを達成し、同様のパラメータ数を持つEfficientDet-d6を上回っていますが、推論時間がはるかに遅く、精度がわずかに低くなっています。
Ultralytics の強み:YOLO モデルが際立つ理由
EfficientDetとPP-YOLOE+はいずれも強力なモデルですが、最新の汎用性の高い、ユーザーフレンドリーなフレームワークを求める開発者は、YOLOv8や最新のUltralytics YOLO11のようなUltralytics YOLOモデルの方が魅力的な選択肢となることが多いでしょう。
- 使いやすさ: Ultralyticsモデルは、合理化されたユーザーエクスペリエンスを実現するように設計されており、トレーニング、検証、およびデプロイメントを簡素化するシンプルなPython API、充実したドキュメント、および簡単なCLIコマンドを備えています。
- 優れたメンテナンス体制: Ultralyticsエコシステムは、活発な開発、強力なオープンソースコミュニティ、頻繁なアップデート、そしてエンドツーエンドのMLOpsのためのUltralytics HUBのようなツールとのシームレスな統合から恩恵を受けています。
- パフォーマンスのバランス:Ultralyticsのモデルは、速度と精度の間で優れたトレードオフを実現することで定評があり、エッジデバイスからクラウドサーバーまで、幅広い現実世界のシナリオに適しています。
- メモリ効率: Ultralytics YOLOモデルは、トレーニングと推論中の効率的なメモリ使用のために設計されており、多くの場合、他のアーキテクチャよりも必要なCUDAメモリが少なくなります。これにより、限られたハードウェアリソースしか持たないユーザーにとって、よりアクセスしやすくなります。
- 多様性: EfficientDetやPP-YOLOE+が単一タスクに特化しているのに対し、YOLO11のようなモデルはマルチタスクであり、単一の統合フレームワーク内で物体検出、インスタンスセグメンテーション、画像分類、ポーズ推定、傾斜物体検出(OBB)をサポートします。
- Training Efficiency: 効率的なトレーニングプロセス、COCOなどのデータセットですぐに利用できる事前学習済みウェイト、およびより高速な収束時間により、ユーザーはメリットを得られます。
結論
EfficientDetは、パラメータとFLOPの効率が最優先されるアプリケーションに優れており、リソースが限られた環境に適したスケーラブルなモデルファミリーを提供します。PP-YOLOE+は、特にPaddlePaddleエコシステムに投資しているユーザーにとって、高精度とリアルタイム速度の強力な組み合わせを提供します。
しかし、今日のほとんどの開発者や研究者にとって、YOLOv10やYOLO11のようなUltralyticsモデルは、優れた選択肢となります。最先端のパフォーマンスバランス、非常にユーザーフレンドリーでメンテナンスの行き届いたエコシステム、および複数のコンピュータビジョンタスクにわたる比類のない汎用性を提供し、研究から本番環境までの幅広いアプリケーションにとって理想的なソリューションとなります。
その他のモデル比較
さらに検討を深めるには、EfficientDet、PP-YOLOE+、およびその他の関連モデルを含むこれらの比較をご検討ください。
- EfficientDet vs. YOLOv8
- PP-YOLOE+ vs. YOLOv10
- YOLO11 vs. EfficientDet
- YOLO11 vs PP-YOLOE+
- RT-DETR vs. EfficientDet