EfficientDet vs. PP-YOLOE+:技術的比較
コンピュータビジョンの進化において、Google EfficientDetとBaiduのPP-YOLOE+の対比ほど、設計思想の転換を明確に示す比較はない。EfficientDetが複合的なスケーリングによるパラメータ効率のマイルストーンとなったのに対し、PP-YOLOE+はGPU 推論に最適化された高速でアンカーのない検出の現代を象徴している。
この分析では、開発者が特定のオブジェクト検出ニーズに適したツールを選択できるよう、それらのアーキテクチャ、パフォーマンス・メトリクス、実用的なアプリケーションを掘り下げている。
直接対決パフォーマンス分析
この2つのモデルがリリースされる間に、性能の状況は大きく変化した。EfficientDetは、FLOP(浮動小数点演算)とパラメータ数の最小化に重点を置いており、理論的には効率的です。しかし、PP-YOLOE+は、TensorRT 最適化を活用し、GPUのようなハードウェアアクセラレータ上で実用的な推論速度を実現するように設計されています。
| モデル | サイズ (ピクセル) | mAP値 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 |
| 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 |
このデータから、EfficientDet-d0が軽量である一方で、より大きなバリアント(d5-d7)は大きなレイテンシに悩まされるという重要な洞察が明らかになりました。逆に、PP-YOLOE+lはEfficientDet-d6と同程度の平均精度(mAP)を達成しますが(52.9対52.6)、T4GPU 上では10倍以上高速に実行されます(8.36ms対89.29ms)。
EfficientDet:スケーラブルな効率性
EfficientDetはGoogle Brain AutoMLチームによって、これまでの検出器の効率的な制約を打破する目的で導入された。EfficientNetのバックボーンの上に構築され、解像度、深度、幅を均一にスケーリングする複合スケーリング法を適用しています。
著者Mingxing Tan, Ruoming Pang, and Quoc V. Le
Organization:Google
Date:2019-11-20
Arxiv:1911.09070
GitHub:google
Docs:README
主な建築上の特徴
- BiFPN(双方向特徴ピラミッドネットワーク):従来のFPNとは異なり、BiFPNはマルチスケール特徴フュージョンを容易に行うことができる。学習可能な重みを導入して異なる入力特徴の重要度を学習し、トップダウンとボトムアップのマルチスケール特徴融合を繰り返し適用する。
- 複合スケーリング:単一の複合係数$phi$がネットワークの幅、深さ、解像度を制御し、異なるリソース制約をターゲットとするモデル群(D0からD7)を可能にする。
長所と短所
- 長所:優れたパラメータ効率、FLOPが主なボトルネックとなる低消費電力CPUに効果的、高度に構造化されたスケーリングアプローチ。
- 弱点:BiFPNの複雑な接続と深さ方向に分離可能な畳み込みは、GPUではメモリに制約があることが多く、FLOP数が少ないにもかかわらず実世界の推論レイテンシが遅くなる。
ご存知でしたか?
EfficientDetは、深さ方向に分離可能なコンボリューションを多用しているため、パラメータ数は大幅に減少しますが、YOLOようなモデルで使用される標準的なコンボリューションと比較すると、GPU 使用率が低下する可能性があります。
PP-YOLOE+:アンカーなしの挑戦者
バイドゥがPaddlePaddle エコシステムの一環としてリリースしたPP-YOLOE+は、PP-YOLOv2の進化版である。YOLOv5 YOLOXを凌ぐ性能を目指し、完全アンカーフリー機構と高度なトレーニング戦略を採用している。
著者 PaddlePaddle Authors
Organization:Baidu
Date:2022-04-02
Arxiv:2203.16250
GitHub:PaddlePaddle
Docs:PP-YOLOE+ Configs
主な建築上の特徴
- アンカーフリー設計:PP-YOLOE+は、事前に定義されたアンカーボックスを排除することで、検出ヘッドを簡素化し、ハイパーパラメータのチューニング負担を軽減します。
- CSPRepResNet:バックボーンはRepResBlockを利用し、学習時の残差接続の利点を組み合わせ、推論のために合理的な構造に再パラメータ化する。
- TAL (Task Alignment Learning):分類スコアとローカリゼーション品質を動的に整合させる高度なラベル割り当て戦略。
長所と短所
- 強み: COCO データセットにおける最先端の精度、TensorRTハードウェア上での極めて高速な動作、革新的なヘッド設計。
- 弱点 PaddlePaddle フレームワークへの依存度が高く、PyTorch標準化されているチームにとっては統合に課題があるかもしれない。
Ultralytics 優位性統合ソリューション
EfficientDetは理論的な効率を提供し、PP-YOLOE+は生のスピードを提供するが、開発者はしばしば、パフォーマンスとユーザビリティやエコシステムのサポートのバランスをとるソリューションを必要とする。そこで Ultralytics YOLO11が優れている点です。
比較モデルに特化した性質とは異なり、Ultralytics モデルは最新のMLOpsワークフロー向けに設計されており、トレーニングやデプロイが容易なネイティブのPyTorch エクスペリエンスを提供します。
Ultralytics YOLO11を選ぶ理由
- 使いやすさ: Ultralytics 開発者の使いやすさを重視しており、インストールから推論まで3行のPython コードで行うことができます。複雑な演算子ライブラリを手動でコンパイルしたり、独自のフォーマットに変換する必要はありません。
- 汎用性:1つのフレームワークで、物体検出、インスタンス分割、姿勢推定、分類、OBB(Oriented Bounding Boxes)をサポート。
- パフォーマンスのバランス: YOLO11 、スピードと精度のトレードオフを最適化し、(Jetsonのような)EdgeデバイスとクラウドGPUの両方でリアルタイムの推論機能を提供します。
- メモリ要件: Ultralytics YOLO モデルは最適化されたアーキテクチャを採用しているため、トランスフォーマベースの代替モデルや旧式のマルチスケール特徴ネットワークと比較して、学習時に必要なCUDA メモリが一般的に少なくて済みます。
- 整備されたエコシステム:活気あるオープンソースコミュニティに支えられ、リポジトリは頻繁に更新され、PyTorch、CUDA、Python最新バージョンとの互換性が保証されています。
- トレーニングの効率化:ユーザーは、すぐに利用可能な事前トレーニング済みの重みを活用して、カスタムデータセット上でモデルを迅速に微調整できるため、トレーニングデータの要件と計算コストを大幅に削減できます。
コード例YOLO11使い始める
最先端のモデルの運用は複雑であるべきではありません。ここでは、Ultralyticsオブジェクト検出をいかに簡単に実装できるかを紹介します:
from ultralytics import YOLO
# Load a pre-trained YOLO11 model
model = YOLO("yolo11n.pt")
# Run inference on an image
results = model.predict("https://ultralytics.com/images/bus.jpg")
# Display the results
results[0].show()
結論
EfficientDetとPP-YOLOE+のどちらを選択するかは、ハードウェアの制約とレガシー要件に大きく依存する。
- EfficientDetは、パラメータ効率に優れたスケーリングに関する研究の有効な参考資料であり続け、メモリ帯域幅が厳しい特定のCPUシナリオに適している。
- PP-YOLOE+は、高性能GPU 導入のための優れた選択肢であり、PaddlePaddle エコシステムの操作に慣れていれば、レイテンシと精度のトレードオフを大幅に改善することができます。
しかし、スマートシティの分析から農業モニタリングまで、実世界でのアプリケーションの大半は、Ultralticsを使用しています。Ultralytics YOLO11は、最も実用的な選択として際立っています。これは、最新のアンカーフリー検出器のアーキテクチャの革新と比類のないユーザーエクスペリエンスを組み合わせたもので、フレームワークの複雑さをデバッグするよりも、ビジネス上の問題を解決することに集中することができます。
他のモデルを見る
さらに詳しく調べるには、これらの関連する比較を見直すことを検討されたい: