EfficientDetとPP-YOLOE+#
コンピュータビジョンの動向は、物体検出モデルの継続的な進化によって大きく形作られてきました。この進化における重要な節目として、GoogleのEfficientDetとBaiduのPP-YOLOE+が挙げられます。どちらのアーキテクチャも、計算効率と検出精度の微妙なトレードオフのバランスを取るために設計されていますが、この課題に対する設計思想は根本的に異なります。
この包括的なガイドでは、次のコンピュータビジョンアプリケーションに最適なニューラルネットワークを選べるよう、両モデルのアーキテクチャ、トレーニング手法、実環境でのデプロイシナリオを詳しく解説します。
アーキテクチャの革新と設計思想#
エッジデバイスでもクラウドサーバーでも、本番環境にこれらのモデルを効果的にデプロイするには、基盤となるアーキテクチャを理解することが重要です。
EfficientDet:複合スケーリングの力#
Google Researchが開発したEfficientDetは、モデルのスケーリングを場当たり的なプロセスではなく、数学的な原理に基づく複合スケーリング手法として扱うことで、パラダイムの転換をもたらしました。
- 著者: Mingxing Tan、Ruoming Pang、Quoc V. Le
- 組織: Google Research
- 日付: 2019-11-20
- Arxiv: 1911.09070
- GitHub: google/automl
- ドキュメント: EfficientDetドキュメント
EfficientDetの中核となる革新は、双方向特徴ピラミッドネットワーク(BiFPN)です。特徴を上から下に単純に加算する従来のFPNとは異なり、BiFPNは学習可能な重みを導入し、上から下、下から上の両方向でスケール間の特徴融合を行います。これにより、ネットワークは異なる入力特徴の重要度を直感的に把握できます。EfficientNetバックボーンと組み合わせることで、EfficientDetは解像度、深さ、幅を同時にスケーリングし、さまざまな計算予算に対応するモデル群(d0からd7)を構成します。
EfficientDetをデプロイする際は、対象ハードウェアを慎重に検討してください。d0はモバイルデバイスに適していますが、d7までスケールアップするには相当量のGPUメモリと計算能力が必要です。
PP-YOLOE+:PaddlePaddleの可能性を広げる#
先行モデルの成功を基盤として、BaiduのPaddlePaddleチームがPP-YOLOE+を開発しました。最先端の性能を実現し、特に高スループットのサーバーデプロイ向けに最適化されています。
- 著者: PaddlePaddle Authors
- 組織: Baidu
- 日付: 2022-04-02
- Arxiv: 2203.16250
- GitHub: PaddlePaddle/PaddleDetection
- ドキュメント: PP-YOLOE+の設定
PP-YOLOE+はCSPRepResNetバックボーンを採用しています。Cross Stage Partialネットワークと再パラメータ化技術を組み合わせることで、推論レイテンシを増大させずに特徴抽出を強化します。また、ET-head(効率的なタスク整合ヘッド)により、分類タスクと位置特定タスクの整合性が大幅に向上します。さらに、アンカーフリー設計と動的ラベル割り当て(TAL)を組み合わせ、トレーニングを効率化するとともに、多様なデータセットに対する汎化性能を向上させています。
パフォーマンス指標とベンチマーク#
リアルタイム推論向けのモデルを選ぶ際は、平均適合率(mAP)と計算速度のバランスを評価することが重要です。以下の表に、両モデル群の主な性能指標を示します。
| モデル | サイズ (ピクセル) | mAPval 50-95 | 速度 CPU ONNX (ms) | 速度 T4 TensorRT10 (ms) | パラメーター (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+は一般に、同等のパラメーター数でより高い精度を達成し、特に大型のバリアント(lおよびx)でその傾向が顕著です。GPUスループット向けに高度に最適化されているため、バッチ処理を行うサーバーデプロイに適しています。一方、小型のEfficientDetモデルはパラメーター数に対するFLOPの比率が非常に効率的で、メモリが極端に制約される環境では有利です。
最適なユースケースとデプロイ戦略#
これらのアーキテクチャのどちらを選ぶかは、多くの場合、既存の技術スタックとデプロイ先のハードウェアに大きく左右されます。
EfficientDetを選ぶケース:
- AutoMLワークフロー: Googleのエコシステムに深く投資しており、自動アーキテクチャ探索機能に依存している場合。
- リソースが制約されたエッジ環境: 下位モデル(d0、d1)は、パラメーターのフットプリントが厳しく制限されるモバイルCPUでも、予測可能な性能を発揮します。
PP-YOLOE+を選ぶケース:
- ハイエンドGPUサーバー: スマートシティの監視向けに数百のビデオストリームを同時処理するなど、NVIDIAハードウェアで最大スループットが求められる場面。
- PaddlePaddleエコシステム: 開発チームがすでにBaiduのディープラーニングフレームワークを利用している場合、PP-YOLOE+をシームレスに統合できます。
Ultralyticsの強み:YOLO26の紹介#
EfficientDetとPP-YOLOE+はどちらも優れたモデルですが、AIの急速なイノベーションには、最先端の性能と比類のない使いやすさを兼ね備えたソリューションが求められます。Ultralytics YOLO26はその強みを発揮し、最新のコンピュータビジョンアプリケーションに最適な選択肢として確立されています。
2026年にリリースされたYOLO26は、ネイティブなエンドツーエンドのNMSフリー設計を導入し、リアルタイム物体検出を一新します。以前のモデルで長くボトルネックとなっていたNon-Maximum Suppression後処理(nms=False)を必要に応じて省略できるため、YOLO26ではデプロイが大幅に簡素化され、推論レイテンシの揺らぎも抑えられます。
さらに、YOLO26はエッジへのデプロイに特化して最適化されています。Distribution Focal Loss(DFL)を削除することで、ONNXやTensorRTなどの形式へのエクスポートプロセスが簡素化され、従来世代と比べてCPU推論が最大43%高速になります。そのため、バッテリー駆動のIoTデバイスに最適な高性能モデルです。
YOLO26には、SGDとMuonを組み合わせたハイブリッド型のMuSGD Optimizerが採用されています。LLMのトレーニングにおける進歩に着想を得たこのオプティマイザーは、非常に安定したトレーニングと迅速な収束を実現し、貴重なGPU計算時間を節約します。
開発者は、ProgLoss + STALを含むYOLO26の高度な損失関数も活用できます。これらの損失関数は、小さな物体の認識性能を大幅に向上させます。これは、航空画像や精密農業アプリケーションで重要な要件です。
Ultralyticsによるシームレスなデプロイ#
Ultralyticsの真価は、統合されたエコシステムにあります。複雑で独自仕様のトレーニングスクリプトが必要なモデルとは異なり、YOLO26は非常にシンプルなAPIを提供します。カスタムデータセットを使ったモデルのトレーニングは、わずか数行のPythonコードで実行できます。
from ultralytics import YOLO
# 事前トレーニング済みのYOLO26モデルを読み込みます
model = YOLO("yolo26n.pt")
# COCO8データセットでモデルをトレーニングします
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# 新しい画像で推論を実行します
predictions = model("https://ultralytics.com/images/bus.jpg")
# デプロイ用にONNX形式へエクスポートします
model.export(format="onnx")標準的な検出でも、インスタンスセグメンテーションや姿勢推定などの特殊なタスクでも、YOLO26はマルチスケールプロトタイプと残差対数尤度推定(RLE)をネイティブにサポートしており、すべて同じ使いやすいフレームワークで実行できます。
その他の注目モデル#
特定のエンタープライズ要件に合わせてアーキテクチャを評価する場合、前世代のUltralytics YOLO11も検討する価値があります。YOLO11は、堅牢で本番環境での実績も豊富なモデルです。Transformerベースのアーキテクチャを求めるアプリケーションには、RT-DETRが興味深い選択肢となります。ただし、効率性の高いYOLOバリアントと比べて、トレーニング時により多くのCUDAメモリが必要になる傾向があります。
まとめると、EfficientDetは原理に基づくスケーリングを提供し、PP-YOLOE+は特定のフレームワーク内で優れたGPUスループットを実現しますが、Ultralytics YOLO26は現在利用できる中で、最もバランスに優れ、汎用性が高く、開発者に使いやすいソリューションです。ネイティブなエンドツーエンドアーキテクチャと幅広い統合機能により、次世代のビジョンAIに推奨される基盤となっています。