YOLOv9とPP-YOLOE+の比較#
リアルタイム物体検出の分野は急速な進化を続けており、エッジおよびクラウドインフラストラクチャに高精度なモデルをデプロイするコンピュータービジョンエンジニアに、幅広い選択肢を提供しています。この分野で特に注目される2つのモデルが、**YOLOv9とPP-YOLOE+**です。どちらも精度と速度の限界を押し広げていますが、異なる研究系譜とソフトウェアエコシステムから生まれています。
この包括的な技術比較では、両モデルのアーキテクチャ、トレーニング手法、性能指標、実際の運用に適した用途を詳しく検証します。また、使いやすさ、メモリ効率、柔軟なデプロイを重視する開発者に対して、より広範なUltralyticsエコシステムがどのような大きな利点を提供するかについても説明します。
モデルの起源と技術仕様#
これらのモデルの背景を理解すると、それぞれのアーキテクチャ上の判断とフレームワーク依存関係を把握しやすくなります。
YOLOv9:情報ボトルネックの解消#
2024年初頭に発表されたYOLOv9は、情報が深層ニューラルネットワークを通過する際に発生するデータ損失に対処します。パラメーター効率を最大化するよう設計された、高度に最適化された畳み込みニューラルネットワークです。
- 著者: Chien-Yao Wang、Hong-Yuan Mark Liao
- 所属機関: 台湾 中央研究院 情報科学研究所
- 日付: 2024年2月21日
- Arxiv: 2402.13616
- GitHub: WongKinYiu/yolov9
- ドキュメント: Ultralytics YOLOv9 Documentation
PP-YOLOE+: Paddleエコシステムの進化#
2022年にBaiduがリリースしたPP-YOLOE+は、PP-YOLOv2を反復的に改良したモデルです。アンカーフリーのパラダイムを採用し、動的ラベル割り当て戦略を導入することで、PaddlePaddleフレームワーク内での収束と精度を向上させています。
- 著者: PaddlePaddle Authors
- 組織: Baidu
- 日付: 2022年4月2日
- Arxiv: 2203.16250
- GitHub: PaddleDetection
- ドキュメント: PP-YOLOE+ Configuration
アーキテクチャの比較#
Programmable Gradient InformationとCSPRepResStage#
YOLOv9の中核となるイノベーションは、**Programmable Gradient Information (PGI)です。PGIは補助的な教師フレームワークとして機能し、トレーニング中に重要な勾配情報が保持され、浅い層へ正確に逆伝播されるようにします。これはGeneralized Efficient Layer Aggregation Network (GELAN)**と組み合わせられており、CSPNetとELANの長所を融合して、計算コスト(FLOPs)を大幅に削減しながら高い精度を実現します。
PP-YOLOE+は、CSPRepResStageと呼ばれる専用バックボーンに依存しています。RepVGGで見られる手法に類似した再パラメーター化技術を活用し、デプロイ時に畳み込み層を統合することで推論を高速化します。さらに、分類タスクと回帰タスクのバランスを取るために、Efficient Task-aligned head (ET-head)を使用します。
PP-YOLOE+は堅牢ですが、YOLOv9のGELANアーキテクチャは通常、トレーニング中と推論中の両方でより小さなメモリフットプリントを必要とするため、エッジAIデバイスに特に適しています。
性能比較#
本番環境向けにモデルを評価する際は、mAP(平均適合率)、推論速度、モデルサイズのトレードオフが重要です。
| モデル | サイズ (ピクセル) | 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上で競争力のある推論速度を発揮します。
トレーニング手法とエコシステム#
これらのモデルの選択は、多くの場合、ソフトウェアエコシステムに帰着します。
PP-YOLOE+とPaddlePaddle#
PP-YOLOE+はPaddleDetectionスイートと密接に結び付いています。強力である一方、ユーザーは設定が多く、コマンドライン中心の環境に対応する必要があります。PyTorchまたはTensorFlowエコシステムを中心に開発しているチームにとって、PaddlePaddleへの移行は大きな摩擦となり、学習曲線もより急になります。
Ultralyticsの優位性: ワークフローの合理化#
これに対して、YOLOv9は洗練されたUltralyticsエコシステム内で動作します。開発者と研究者向けに設計された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 Removal(Distribution Focal Lossを削除してエクスポートを簡素化し、エッジデバイスや低消費電力デバイスとの互換性を向上)により、エッジコンピューティングで最大43%高速なCPU推論**を実現します。MuSGD Optimizerを搭載し、安定したトレーニングと高速な収束を実現します。さらに、ProgLoss + STALにより損失関数が改善され、IoT、ロボティクス、航空画像で重要となる小物体認識も大幅に向上します。
汎用性とタスクのサポート#
現代のコンピュータービジョンプロジェクトが、単純なバウンディングボックスだけで完結することはほとんどありません。
PP-YOLOE+は主に、標準的な物体検出向けに設計されています。他のタスク向けにアーキテクチャを適応させるには、大規模なカスタムエンジニアリングが必要です。
一方、Ultralyticsフレームワークは、マルチタスクに対応する強力な基盤です。統合APIを利用することで、開発者は標準的な物体検出から、高度なインスタンスセグメンテーション、高精度な姿勢推定、航空画像向けの方向付きバウンディングボックス(OBB)検出、画像分類まで簡単に切り替えられます。この比類のない汎用性が、企業チームがYOLOv9、YOLO11、YOLO26などのUltralyticsモデルを継続的に選択する理由です。
理想的なユースケースと用途#
- スマートシティ分析と交通管理: YOLOv9(および後継のYOLO26)は、高いパラメーター効率と低レイテンシを備えているため、制約のあるエッジハードウェア(NVIDIA Jetsonデバイスなど)にデプロイして、交通の流れや都市のセキュリティを監視する用途に適しています。
- 小売在庫システム: 棚に並ぶ多数の小さな商品を検出する場合、YOLOv9のPGIは細かな空間的特徴を効果的に維持し、小物体検出タスクでPP-YOLOE+を上回ります。
- レガシーデプロイ: **PP-YOLOE+**は、既存のレガシーインフラストラクチャでBaidu/PaddlePaddleソフトウェアスタックの使用を明示的に義務付けられているチームに限り、引き続き有効な選択肢です。
Transformerベースのアーキテクチャを研究する場合、Ultralyticsは同じ使いやすいAPI内で**RT-DETR**もネイティブにサポートしているため、特定のデプロイ要件に最適なモデルを常に利用できます。