PP-YOLOE+とEfficientDet#
適切なアーキテクチャの選択は、堅牢なコンピュータービジョンアプリケーションを構築するうえで重要なステップです。この技術ガイドでは、よく知られた2つの物体検出モデルであるPP-YOLOE+とEfficientDetのトレードオフを解説します。それぞれのアーキテクチャを詳しく見て、性能指標を分析し、最適なデプロイシナリオを検討します。
どちらのモデルもこの分野に大きく貢献してきましたが、Ultralytics YOLO26のような最新の代替モデルが、メモリ効率、推論速度、開発者体験を大幅に向上させる仕組みについても解説します。
アーキテクチャの概要: PP-YOLOE+#
PP-YOLOE+は、PaddlePaddleエコシステム内のサーバー側GPUで性能を最適化するために開発された、オリジナルのPP-YOLOの改良版です。アンカーフリー方式に重点を置き、ベースラインのアーキテクチャに複数の改良を加えています。
- 著者: PaddlePaddle Authors
- 組織: Baidu
- 日付: 2022-04-02
- Arxiv: 2203.16250
- ドキュメント: PaddleDetectionのREADME
PP-YOLOE+は、CSPRepResNetバックボーンとEfficient Task-aligned head(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のバックボーンと組み合わせることで、ネットワークの幅、深さ、解像度を同時に体系的にスケーリングします。
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パイプライン: EfficientDetがネイティブに最適化されている、Google Cloud Vision APIやTPUインフラと緊密に統合されたシステム。
- 複合スケーリングの研究: ネットワークの深さ、幅、解像度をバランスよくスケーリングする効果の研究に焦点を当てた学術的なベンチマーク。
- LiteRTによるモバイルデプロイ: Androidまたは組み込みLinuxデバイス向けに、LiteRT(旧称TensorFlow Lite)形式へのエクスポートが特に必要なプロジェクト。
Ultralytics (YOLO26)を選ぶ場合#
多くの新規プロジェクトにおいて、Ultralytics YOLO26はパフォーマンスと開発者体験を最適なバランスで提供します。
- NMSを使用しないエッジデプロイ: 非最大抑制の後処理を複雑化させずに、安定した低レイテンシー推論を必要とするアプリケーション。
- CPUのみの環境: 専用のGPUアクセラレーションを備えていないデバイスで、YOLO26の最大43%高速なCPU推論が大きな優位性を発揮します。
- 小物体検出: ドローンによる航空画像やIoTセンサーの分析など、ProgLossとSTALによって小さな物体の精度が大幅に向上する難しいシナリオ。
最新の代替モデル: Ultralytics YOLO26#
PP-YOLOE+とEfficientDetは歴史上重要な成果ですが、最先端の精度、少ないメモリ消費、効率的なユーザー体験を求める開発者には、Ultralytics YOLO26がおすすめです。
YOLO26は物体検出を大きく前進させるモデルで、いくつもの重要な革新を導入しています:
- エンドツーエンドのNMSフリーデザイン: YOLOv10の画期的な成果を基盤とするYOLO26のオプションのエンドツーエンドヘッド(
nms=False)は、推論時の非最大抑制(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
# 事前学習済みYOLO26モデルを読み込みます
model = YOLO("yolo26s.pt")
# COCO8データセットでモデルをトレーニングします
results = model.train(data="coco8.yaml", epochs=100)
# エンドツーエンドヘッドを使用して、テスト画像でNMSフリー推論を実行します
predictions = model("https://ultralytics.com/images/bus.jpg", nms=False)ほかの代替モデルを検討する場合、RT-DETRや旧世代のYOLOv8などのアーキテクチャもUltralyticsエコシステムで利用でき、シームレスに切り替えてテストできます。
結論#
PP-YOLOE+はPaddleエコシステム内の特定のサーバーデプロイで依然として有力な選択肢であり、EfficientDetは自動アーキテクチャ設計の興味深い研究対象であり続けています。しかし、リアルタイム推論、デプロイの容易さ、最小限のメモリ要件が求められる現代のアプリケーションには、Ultralytics YOLO26が最も魅力的な性能バランスを提供します。オプションのNMSフリーデザインと非常に高速なCPU性能により、将来を見据えたAIインフラの構築に最適な選択肢です。