YOLOv9とPP-YOLOE+の比較#
リアルタイム物体検出の分野は急速に進歩しており、コンピュータービジョンエンジニアは、エッジやクラウドのインフラストラクチャに高精度モデルをデプロイするための幅広い選択肢を利用できます。この分野を代表するモデルが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ドキュメント
PP-YOLOE+:Paddleエコシステムの進化#
2022年にBaiduがリリースしたPP-YOLOE+は、PP-YOLOv2を段階的に改良したモデルです。アンカーフリー方式を採用し、PaddlePaddleフレームワークでの収束と精度を向上させる動的ラベル割り当て戦略を導入しています。
- 著者: PaddlePaddle Authors
- 組織: Baidu
- 日付: 2022年4月2日
- Arxiv: 2203.16250
- GitHub: PaddleDetection
- ドキュメント: PP-YOLOE+の設定
アーキテクチャの比較#
プログラマブル勾配情報とCSPRepResStageの比較#
YOLOv9の中核となる革新はプログラマブル勾配情報(PGI)です。PGIは補助的な教師あり学習フレームワークとして機能し、学習中に重要な勾配情報を保持して浅い層へ正確に伝播させます。これと組み合わせる汎用効率的レイヤー集約ネットワーク(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.2 | 26.7 |
| YOLOv9m | 640 | 51.4 | - | 6.43 | 20.1 | 76.8 |
| YOLOv9c | 640 | 53.0 | - | 7.16 | 25.5 | 102.8 |
| YOLOv9e | 640 | 55.6 | - | 16.77 | 58.1 | 192.5 |
| 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.5Mのパラメーターで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
# 事前学習済みのYOLOv9モデルを読み込む
model = YOLO("yolov9c.pt")
# カスタムデータセットで簡単にトレーニングします
results = model.train(data="coco8.yaml", epochs=100, imgsz=640, device=0)
# 推論を実行して結果を可視化する
results = model("https://ultralytics.com/images/bus.jpg")
# 本番環境へのデプロイ用にONNXへエクスポートします
model.export(format="onnx")このワークフローは、Ultralyticsモデルの優れた学習効率を示しています。データ拡張、分散学習、Weights & BiasesやMLflowなどのプラットフォームへの自動ログ記録が標準でサポートされています。
YOLOv9は優れた性能を発揮しますが、新しいプロジェクトでは、リリースされたばかりのUltralytics YOLO26の検討を強く推奨します。YOLO26はネイティブなエンドツーエンドNMSフリーデザイン(nms=Falseでオプションとして利用可能)を備え、デプロイを大幅に簡素化します。DFLの廃止(エクスポートの簡素化と、エッジデバイスや低消費電力デバイスとの互換性向上を目的としてDistribution Focal Lossを廃止)により、エッジコンピューティングでCPU推論を最大43%高速化します。MuSGD Optimizerを採用し、安定した学習と高速な収束を実現します。さらに、ProgLoss + STALによって損失関数が改善され、小さな物体の認識が大きく向上します。これはIoT、ロボティクス、航空画像において重要です。
汎用性とタスクへの対応#
現代のコンピュータービジョンプロジェクトは、単純なバウンディングボックス検出だけにとどまりません。
PP-YOLOE+は、主に標準的な物体検出向けに設計されています。ほかのタスクに対応させるには、大規模な独自開発が必要です。
対照的に、Ultralyticsフレームワークは多様なタスクに対応する強力なソリューションです。統一されたAPIにより、開発者は標準的な物体検出から、高度なインスタンスセグメンテーション、高精度の姿勢推定、航空画像向けのOriented Bounding Box(OBB)検出、画像分類まで、簡単に切り替えられます。この比類ない汎用性が、企業チームがYOLOv9、YOLO11、YOLO26など、Ultralyticsがサポートするモデルを継続的に選ぶ理由です。
最適なユースケースと用途#
- スマートシティ分析と交通管理: YOLOv9(および後継のYOLO26)は、パラメーター効率に優れ、レイテンシーも低いため、リソースが限られたエッジハードウェア(NVIDIA Jetsonデバイスなど)に最適です。交通流や都市の安全を監視できます。
- 小売の在庫管理システム: 棚に密集して並ぶ小さな商品を検出する場合、YOLOv9のPGIはきめ細かな空間情報を効果的に保持し、小さな物体の検出タスクでPP-YOLOE+を上回ります。
- レガシー環境へのデプロイ: PP-YOLOE+は、既存のレガシーインフラストラクチャでBaidu/PaddlePaddleのソフトウェアスタックを使用するよう明示的に指定されているチームに限り、引き続き有効な選択肢です。
Transformerベースのアーキテクチャを検討している研究者向けに、Ultralyticsは使いやすい同一のAPIでRT-DETRもネイティブにサポートしており、デプロイ要件に最適なモデルを常に利用できます。