YOLOv9 vs PP-YOLOE+ の比較#
リアルタイム物体検出の分野は急速な進歩を続けており、コンピュータビジョンエンジニアに対して、エッジおよびクラウドインフラストラクチャ上で高精度なモデルをデプロイするための幅広い選択肢を提供しています。この分野における2つの主要なモデルが YOLOv9 と PP-YOLOE+ です。どちらも精度と速度の限界を押し広げていますが、異なる研究の系譜とソフトウェアエコシステムから生まれています。
この包括的な技術比較では、両者のアーキテクチャ、トレーニング手法、パフォーマンス指標、および理想的な現実世界での応用例を検証します。また、より広い Ultralytics ecosystem が、使いやすさ、メモリ効率、および多様なデプロイを優先する開発者に対してどのような大きなメリットをもたらすかについても解説します。
モデルの起源と技術仕様#
これらのモデルの背景を理解することは、アーキテクチャ上の決定やフレームワークの依存関係を文脈化するのに役立ちます。
YOLOv9: 情報ボトルネックの解決#
2024年初頭に発表されたYOLOv9は、ディープニューラルネットワークを通じて情報が流れる際に発生するデータ損失に対処します。パラメータ効率を最大化するように設計された、高度に最適化された convolutional neural network です。
- 著者: Chien-Yao Wang, Hong-Yuan Mark Liao
- 組織: 台湾 中央研究院 情報科学研究所
- 日付: 2024年2月21日
- Arxiv: 2402.13616
- GitHub: WongKinYiu/yolov9
- Docs: Ultralytics YOLOv9 Documentation
PP-YOLOE+: Paddleエコシステムの推進#
Baiduによって2022年にリリースされたPP-YOLOE+は、PP-YOLOv2の反復的な改良版です。アンカーフリーのパラダイムを利用し、PaddlePaddle framework 内での収束と精度を向上させるための動的ラベル割り当て戦略を導入しています。
- 著者: PaddlePaddle 著者陣
- 組織: Baidu
- 日付: 2022年4月2日
- Arxiv: 2203.16250
- GitHub: PaddleDetection
- Docs: PP-YOLOE+ Configuration
アーキテクチャの比較#
Programmable Gradient Information vs. CSPRepResStage#
YOLOv9の中心的なイノベーションは Programmable Gradient Information (PGI) です。PGIは補助的な教師あり学習フレームワークとして機能し、トレーニング中に重要な勾配情報が確実に保持され、浅い層へと正確に伝播されるようにします。これは Generalized Efficient Layer Aggregation Network (GELAN) と組み合わされており、CSPNet とELANの強みを融合させることで、計算コスト(FLOPs)を大幅に削減しながら高精度を実現しています。
PP-YOLOE+は、CSPRepResStage と呼ばれる特殊なバックボーンに依存しています。デプロイ時に畳み込み層を統合することで推論を高速化する再パラメータ化テクニック(RepVGGで見られるものと同様)を活用しています。さらに、効率的なタスク整合ヘッド(ET-head)を使用して、分類タスクと回帰タスクのバランスを取っています。
PP-YOLOE+も堅牢ですが、YOLOv9のGELANアーキテクチャは通常、トレーニングと推論の両方において**より小さなフットプリント(メモリ消費量)**を必要とするため、edge AI devices に非常に適しています。
パフォーマンスの比較#
本番環境向けにモデルを評価する際、mAP (mean Average Precision)、推論速度、およびモデルサイズの間のトレードオフは極めて重要です。
| モデル | サイズ (ピクセル) | mAPval 50-95 | 速度 CPU ONNX (ms) | 速度 T4 TensorRT10 (ms) | パラメータ (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| YOLOv9t | 640 | 38.3 | - | 2.3 | 2.0 | 7.7 |
| YOLOv9s | 640 | 46.8 | - | 3.54 | 7.1 | 26.4 |
| YOLOv9m | 640 | 51.4 | - | 6.43 | 20.0 | 76.3 |
| YOLOv9c | 640 | 53.0 | - | 7.16 | 25.3 | 102.1 |
| YOLOv9e | 640 | 55.6 | - | 16.77 | 57.3 | 189.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 |
分析#
- パラメータ効率: YOLOv9は非常に高い効率を実現しています。例えば、YOLOv9cはわずか25.3Mのパラメータで53.0%のmAPを達成しますが、PP-YOLOE+lは52.9%というわずかに低いmAPを達成するためにその2倍以上のパラメータ (52.2M) を必要とします。これにより、YOLOv9はメモリ要件を劇的に引き下げます。
- 推論速度: YOLOv9モデルは、TensorRT のようなハードウェアアクセラレータ向けに優れた最適化を示しており、NVIDIA T4 GPU上で real-time inference に不可欠な競争力のある推論速度を発揮します。
トレーニング方法論とエコシステム#
これらのモデルのどちらを選択するかは、多くの場合、ソフトウェアエコシステムにかかっています。
PP-YOLOE+ と PaddlePaddle#
PP-YOLOE+は PaddleDetection スイートと密接に結合しています。強力ではありますが、設定が多く、コマンドライン駆動の環境をユーザーが操作する必要があります。PyTorch や TensorFlow のエコシステムに深く組み込まれているチームにとって、PaddlePaddleへの移行は大きな摩擦と急な学習曲線を伴います。
Ultralyticsの利点: 洗練されたワークフロー#
対照的に、YOLOv9は洗練された Ultralytics ecosystem 内で動作します。開発者や研究者向けに設計されており、Ultralyticsは卓越した使いやすさを最優先しています。Python API により、複雑なボイラープレートコードが完全に抽象化されます。
from ultralytics import YOLO
# Load a pre-trained YOLOv9 model
model = YOLO("yolov9c.pt")
# Train on a custom dataset effortlessly
results = model.train(data="coco8.yaml", epochs=100, imgsz=640, device=0)
# Run inference and visualize results
results = model("https://ultralytics.com/images/bus.jpg")
# Export to ONNX for production deployment
model.export(format="onnx")このワークフローは、Ultralyticsモデルの優れた トレーニング効率 を浮き彫りにしています。データ拡張、分散トレーニング、および Weights & Biases や MLflow などのプラットフォームへの自動ロギングのネイティブサポートが標準装備されています。
YOLOv9は優れたパフォーマンスを提供しますが、新規プロジェクトには新たにリリースされた Ultralytics YOLO26 の検討を強くお勧めします。YOLO26はネイティブな エンドツーエンドのNMSフリー設計 を特徴としており、デプロイを大幅に簡素化します。DFLの削除(エクスポートの簡素化とエッジ/低電力デバイスとの互換性向上のためにDistribution Focal Lossを削除)により、エッジコンピューティングにおいて最大43%高速なCPU推論を実現します。MuSGD Optimizer を搭載し、安定したトレーニングと高速な収束を保証します。さらに、ProgLoss + STAL により損失関数が改善され、IoT、ロボティクス、航空画像に不可欠な小物体認識の顕著な向上がもたらされます。
汎用性とタスクサポート#
現代のコンピュータビジョンプロジェクトで、単純なバウンディングボックスだけで完結することは稀です。
PP-YOLOE+ は主に標準的な物体検出向けに設計されています。そのアーキテクチャを他のタスクに適応させるには、広範なカスタムエンジニアリングが必要です。
一方、Ultralyticsフレームワークはマルチタスクの強力なツールです。統一されたAPIを利用することで、開発者は標準的な物体検出から、複雑な Instance Segmentation、高精度な Pose Estimation、航空画像向けの Oriented Bounding Box (OBB) 検出、および画像 Classification にまでシームレスに切り替えることができます。この比類のない汎用性こそが、エンタープライズチームがYOLOv9、YOLO11、YOLO26などのUltralyticsモデルを一貫して選択する理由です。
理想的なユースケースとアプリケーション#
- スマートシティ分析と交通管理: YOLOv9(およびその後のYOLO26)の優れたパラメータ効率と低遅延は、制限されたエッジハードウェア(NVIDIA Jetsonデバイスなど)上にデプロイして traffic flow や都市のセキュリティを監視するのに最適です。
- 小売在庫システム: 棚上の小さなアイテムの密集状態を検出する場合、YOLOv9のPGIはきめ細かな空間の詳細を効果的に維持し、小物体検出タスクにおいてPP-YOLOE+を上回ります。
- レガシーデプロイ: PP-YOLOE+ は、既存のレガシーインフラストラクチャ内でBaidu/PaddlePaddleソフトウェアスタックの使用を明示的に義務付けられているチームにとって、依然として実行可能な選択肢です。
Transformerベースのアーキテクチャを探索している研究者のために、Ultralyticsはまったく同じ使いやすいAPI内で RT-DETR もネイティブにサポートしており、特定のデプロイ要件に最適なモデルに常にアクセスできるようにしています。