PP-YOLOE+ と EfficientDet#
堅牢なコンピュータビジョンアプリケーションを構築するには、適切なアーキテクチャを選択することが重要です。この技術ガイドでは、よく知られている2つの物体検出モデル、PP-YOLOE+とEfficientDetのトレードオフを検証します。それぞれのアーキテクチャを詳しく説明し、パフォーマンス指標を分析するとともに、理想的なデプロイシナリオを検討します。
どちらのモデルもこの分野に大きく貢献してきましたが、Ultralytics YOLO26のような最新の代替モデルが、はるかに優れたメモリ効率、高速な推論、そして大幅に効率化された開発者エクスペリエンスを提供する仕組みについても説明します。
アーキテクチャの概要: PP-YOLOE+#
PP-YOLOE+は、元のPP-YOLOを発展させたバージョンであり、PaddlePaddleエコシステム内のサーバーサイドGPUでのパフォーマンスを最適化するために特別に設計されています。ベースラインアーキテクチャに複数の改良を加え、アンカーフリーのアプローチに重点を置いています。
- 著者: PaddlePaddle Authors
- 組織: Baidu
- 日付: 2022-04-02
- Arxiv: 2203.16250
- ドキュメント: PaddleDetection README
PP-YOLOE+は、CSPRepResNetバックボーン、Efficient Task-alignedヘッド(ET-head)を備え、分類にはvarifocal loss、バウンディングボックス回帰にはdistribution focal lossを大きく活用しています。アンカーフリー検出器設計への移行により、後処理パイプラインが効率化され、リリース当時は非常に高い競争力を発揮しました。
BaiduのPaddlePaddleフレームワークをすでに深く活用しているチームにとって、PP-YOLOE+はインスタンスセグメンテーションなどのタスクに導入しやすいモデルです。ただし、より新しいツールに見られる幅広いマルチフレームワーク対応には欠けています。
アーキテクチャの概要: EfficientDet#
EfficientDetは、物体検出に対して大きく異なるアプローチを採用しており、ニューラルアーキテクチャサーチと複合スケーリングの原則に大きく依存しています。
- 著者: Mingxing Tan、Ruoming Pang、Quoc V. Le
- 組織: Google
- 日付: 2019-11-20
- Arxiv: 1911.09070
- ドキュメント: Brain AutoML README
EfficientDetの中核を成すのは、双方向特徴ピラミッドネットワーク(BiFPN)です。従来のFPNとは異なり、BiFPNは学習可能な重みを導入して異なる入力特徴の重要度を学習することで、マルチスケール特徴の融合を容易かつ高速に行います。EfficientNetバックボーンと組み合わせることで、EfficientDetはネットワークの幅、深さ、解像度を同時に体系的にスケーリングします。
理論上はFLOPsの観点で非常に効率的ですが、EfficientDetモデルは、複雑なメモリアクセスパターンが原因で、理論上の効率をエッジデバイス上の実際の速度に反映できない場合があります。これは、YOLOベースのモデルが必要とするメモリ量の少なさとは大きく対照的です。
パフォーマンス分析とベンチマーク#
以下の表では、標準的なCOCOなどのデータセットにおける主要な指標を比較しています。平均適合率(mAP)と推論速度を比較することで、パレートフロンティアを明確に把握できます。
| モデル | サイズ (ピクセル) | mAPval 50-95 | 速度 CPU ONNX (ms) | 速度 T4 TensorRT10 (ms) | パラメーター数 (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| 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 | 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+はハイエンドGPUにおける実測mAPで一般的に優れたスケーリングを示す一方、EfficientDetはパラメーター数の最小化を試みます。しかし、どちらも最先端のエッジAIに求められる最新のリアルタイム性能には及びません。
ユースケースと推奨事項#
PP-YOLOE+とEfficientDetのどちらを選択するかは、具体的なプロジェクト要件、デプロイ上の制約、エコシステムに関する選好によって決まります。
PP-YOLOE+ を選択するケース#
PP-YOLOE+ は、次の用途に適しています。
- PaddlePaddle エコシステムとの統合: 既存のインフラストラクチャがBaidu の PaddlePaddleフレームワークとツールで構築されている組織。
- Paddle Lite エッジデプロイ: Paddle Lite または Paddle 推論エンジン向けに特別に最適化された推論カーネルを備えるハードウェアへのデプロイ。
- 高精度なサーバーサイド検出: フレームワークへの依存が問題にならず、高性能 GPU サーバー上で最大限の検出精度を優先するシナリオ。
EfficientDetを選ぶ場合#
EfficientDetは次の用途に推奨されます:
- Google CloudとTPUパイプライン: Google Cloud Vision APIまたはTPUインフラストラクチャーと密接に統合されたシステムで、EfficientDetがネイティブ最適化を利用できる場合。
- 複合スケーリングの研究: ネットワークの深さ、幅、解像度をバランスよくスケーリングする効果の研究に焦点を当てた学術的ベンチマーク。
- TFLiteによるモバイルデプロイ: Androidまたは組み込みLinuxデバイス向けに、TensorFlow Lite形式でのエクスポートが特に必要なプロジェクト。
Ultralytics (YOLO26)を選ぶタイミング#
ほとんどの新規プロジェクトでは、Ultralytics YOLO26が性能と開発者エクスペリエンスの最適な組み合わせを提供します。
- NMSフリーのエッジデプロイ: Non-Maximum Suppressionの後処理を複雑にすることなく、一貫した低レイテンシー推論が必要なアプリケーション。
- CPUのみの環境: 専用GPUアクセラレーションを持たないデバイスで、YOLO26の最大43%高速なCPU推論が決定的な優位性となる場合。
- 小さな物体の検出: aerial drone imageryやIoTセンサー分析など、ProgLossとSTALによって微小物体の精度が大幅に向上する難しいシナリオ。
最新の代替モデル: Ultralytics YOLO26#
PP-YOLOE+とEfficientDetは歴史的に重要なマイルストーンですが、最先端の精度、低いメモリ消費量、効率化されたユーザーエクスペリエンスを求める開発者は、Ultralytics YOLO26を検討するべきです。
YOLO26は物体検出を大きく前進させるモデルであり、複数の重要な革新を導入しています。
- エンドツーエンドのNMSフリーデザイン: YOLOv10の画期的な成果を基盤として、YOLO26は推論時の非最大抑制(NMS)をネイティブに排除します。これによりレイテンシが大幅に低下し、複雑な後処理のボトルネックが解消されます。
- MuSGDオプティマイザー: LLMのトレーニングにおける革新から着想を得て、YOLO26はSGDとMuonを組み合わせたハイブリッドオプティマイザーを使用します。これによりトレーニングの安定性が大幅に向上し、収束時間が短縮されます。
- 圧倒的な速度: YOLO26は、YOLO11などの旧世代モデルと比較して、CPU推論が最大43%高速です。そのため、バッテリー駆動またはCPUのみで動作するエッジデバイスに最適な選択肢です。
- 高度な損失関数: ProgLossとSTALの統合により、小さな物体の認識性能が大幅に向上します。これは、ドローン分析やロボティクスなどのタスクに不可欠です。
検出のみに焦点を当てるEfficientDetとは異なり、YOLO26は同じ整備性の高いエコシステム内で、ポーズ推定、画像分類、方向付きバウンディングボックス(OBB)をすべてネイティブに処理できます。
使いやすさとエコシステム統合#
EfficientDetのような旧来のモデルの大きな欠点の1つは、トレーニングパイプラインと自動機械学習のセットアップが複雑なことです。これに対して、Ultralytics Platformは他に類を見ない開発者エクスペリエンスを提供します。
Ultralyticsでモデルをデプロイするために必要なコードはわずか数行であり、旧来のフレームワークで必要とされる冗長な設定とは対照的です。
from ultralytics import YOLO
# Load a pretrained YOLO26 model
model = YOLO("yolo26s.pt")
# Train the model on the COCO8 dataset
results = model.train(data="coco8.yaml", epochs=100)
# Run inference on a test image natively without NMS overhead
predictions = model("https://ultralytics.com/images/bus.jpg")ほかの代替モデルを検討している場合は、RT-DETRや旧来のYOLOv8などのアーキテクチャもUltralyticsエコシステムで利用できます。これにより、モデルをシームレスに切り替えてテストできます。
まとめ#
PP-YOLOE+はPaddleエコシステム内の特定のサーバーデプロイメントにおいて、今も有力な選択肢です。また、EfficientDetは自動アーキテクチャ設計に関する興味深い研究対象であり続けています。しかし、リアルタイム推論、容易なデプロイ、最小限のメモリ要件が求められる最新のアプリケーションでは、Ultralytics YOLO26が最も魅力的な性能バランスを提供します。ネイティブなNMSフリーデザインと非常に高速なCPU性能により、AIインフラストラクチャを将来にわたって有効にするための決定的な選択肢となります。