PP-YOLOE+とYOLOv9技術比較
コンピュータビジョンプロジェクトに最適なアーキテクチャを選択するには、急速に進化するモデルをナビゲートする必要があります。このページでは、バイドゥのPP-YOLOE+と YOLOv9という2つの洗練されたシングルステージ物体検出器の詳細な技術比較を行います。両社のアーキテクチャの革新性、性能指標、エコシステムの統合を分析し、十分な情報に基づいた意思決定を支援します。どちらのモデルも高い能力を示していますが、設計思想やフレームワークの依存関係は異なります。
PP-YOLOE+: PaddlePaddleエコシステム内での高精度
PP-YOLOE+は、バイドゥがPaddleDetectionスイートの一部として開発したPP-YOLOEの進化版である。PP-YOLOE+は、精度と推論速度のバランスの取れたトレードオフを提供するように設計されており、特にPP-YOLOE+のために最適化されている。 PaddlePaddleディープラーニングフレームワークに最適化されている。
著者 PaddlePaddle Authors
Organization:Baidu
Date:2022-04-02
Arxiv:https://arxiv.org/abs/2203.16250
GitHubPaddlePaddle
Docs:PaddleDetection PP-YOLOE+ README
アーキテクチャと主な機能
PP-YOLOE+はアンカーフリーのシングルステージ検出器として動作する。PP-YOLOE+はCSPRepResNetをバックボーンとしており、分類タスクとローカライズタスクの間のアライメントを改善するためにタスクアライメント学習(TAL)戦略を利用している。重要な特徴は、精度を維持しながら計算オーバヘッドを削減する、効率的タスク整列ヘッド(ET-Head)である。このモデルは、学習中のクラスの不均衡を処理するために、バリフォーカル損失関数を使用する。
長所と短所
PP-YOLOE+ の最大の強みは、Baidu のハードウェアとソフトウェアスタックに最適化されていることです。スケーラブルなモデル(s, m, l, x)を提供し、標準的なオブジェクト検出ベンチマークで優れた性能を発揮します。
しかし、PaddlePaddle エコシステムへの依存度が高いため、より広範なAIコミュニティにとっては大きなハードルとなっている。 PyTorch.既存のPyTorch ワークフローをPaddlePaddle 移行するには、リソースを大量に消費する可能性があります。さらに、新しいアーキテクチャと比較して、PP-YOLOE+は同様の精度を達成するために多くのパラメータを必要とし、制約のあるデバイスのストレージとメモリに影響を与えます。
YOLOv9:学習効果を高めるプログラム可能な勾配情報
Ultralytics YOLOv9は、ディープ・ニューラル・ネットワークに特有の「情報ボトルネック」問題に対処することで、リアルタイムの物体検出におけるパラダイム・シフトを導入する。
著者Chien-Yao Wang and Hong-Yuan Mark Liao
Organization:Institute of Information Science, Academia Sinica, Taiwan
Date:2024-02-21
Arxiv:https://arxiv.org/abs/2402.13616
GitHub:https://github.com/WongKinYiu/yolov9
Documentationultralytics
アーキテクチャと主な機能
YOLOv9 2つの画期的なコンセプトを統合している:プログラム可能な勾配情報(PGI)と一般化された効率的なレイヤ集約ネットワーク(GELAN)である。
- PGI:ネットワークが深くなるにつれて、フィードフォワードの過程で入力データの情報が失われることが多くなります。PGIは、信頼性の高い勾配生成を保証する補助的な監視ブランチを提供し、推論コストを追加することなく、物体の追跡や検出タスクに重要な特徴をモデルが「記憶」することを可能にする。
- GELAN:このアーキテクチャ設計は、パラメータ効率を最適化し、深さ方向の畳み込みを使用する従来のバックボーンと比較して、より少ない計算リソース(FLOP)でより高い精度を達成することを可能にします。
ご存知でしたか?
YOLOv9PGI技術は、これまで煩雑な深層監督手法を必要としていた情報ボトルネックの問題を解決する。その結果、軽量かつ高精度なモデルを実現し、パフォーマンスバランスを大幅に改善した。
長所と短所
YOLOv9 、学習効率とパラメータ利用率に優れています。COCO データセットにおいて、リアルタイムの速度を維持しながら、精度で以前の反復を上回る最先端の結果を達成しています。Ultralytics エコシステムに統合されているため、ONNX TensorRTようなフォーマットへのエクスポートモードによるシンプルなデプロイメントなど、整備されたエコシステムの恩恵を受けています。
考慮すべき点として、最も大きなバリエーションYOLOv9)は、学習にかなりのGPU リソースを必要とする。しかし、推論メモリフットプリントは競争力を維持しており、トランスフォーマーベースのモデルに関連する高コストを回避することができます。
パフォーマンス比較分析
直接比較では、YOLOv9 優れた効率を示している。例えば、YOLOv9モデルは、約半分のパラメータ(25.3M対52.2M)を使用しながら、PP-YOLOE+l(52.9%)よりも高いmAP (53.0%)を達成している。精度を損なうことなくモデルサイズを大幅に縮小したことで、GELANアーキテクチャの有効性が浮き彫りになりました。
| モデル | サイズ (ピクセル) | mAP値 50-95 | 速度 CPU ONNX (ms) | 速度 T4 TensorRT10 (ms) | params (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 |
| 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 |
この表は、同じような精度の目標に対して、YOLOv9 一貫して少ない計算リソースで済むことを示している。YOLOv9モデルは、さらに限界に挑戦し、55.6%のmAP達成し、最大のPP-YOLOE+バリアントよりも明らかに有利です。
Ultralytics 優位性
PP-YOLOE+は有能な検出器であるが、Ultralytics フレームワークを通してYOLOv9 選択することで、使いやすさと多様性に関して明確な利点が得られる。
合理化されたユーザー・エクスペリエンス
Ultralytics 開発者にとって使いやすいことを最優先しています。PaddleDetectionがしばしば要求する複雑な設定ファイルとは異なり、Ultralytics モデルはわずか数行のPython コードでロード、トレーニング、デプロイが可能です。これにより、エンジニアや研究者の参入障壁が大幅に低くなります。
多用途性とエコシステム
Ultralytics 、インスタンスのセグメンテーション、ポーズ推定、オリエンテッドバウンディングボックス(OBB)検出など、単純な検出にとどまらない幅広いタスクをサポートしています。この多様性により、開発者は単一の統一されたAPIを使用して多様な課題に取り組むことができます。さらに、活発なコミュニティと頻繁なアップデートにより、ユーザーは最新の最適化とTensorBoardやMLflowのようなツールとの統合を利用できる。
コード例:YOLOv9使用
次の例は、Ultralytics Python APIを使ってYOLOv9 推論を簡単に実行できることを示している。このシンプルさは、PP-YOLOE+でしばしば必要とされる冗長なセットアップとは対照的です。
from ultralytics import YOLO
# Load a pre-trained YOLOv9 model
model = YOLO("yolov9c.pt")
# Run inference on an image
results = model("path/to/image.jpg")
# Display results
results[0].show()
理想的なユースケース
- PP-YOLOE+:既にBaiduPaddlePaddle PaddlePaddleエコシステムに深く組み込まれているチームや、PaddlePaddle ハードウェアのサポートが支配的な地域における特定のレガシー産業アプリケーションに最適です。
- YOLOv9: 自律走行車、リアルタイムビデオ解析、メモリ要件やストレージに制約のあるエッジ展開など、最高の精度対効率を要求するアプリケーションに最適。
結論と推奨事項
多くの開発者や組織にとって、YOLOv9 モダンなアーキテクチャ(GELAN/PGI)、優れたパラメータ効率、Ultralytics エコシステムの強固なサポートにより、より優れた選択肢となります。YOLOv9は、すぐに利用可能な事前学習済みの重みとシームレスなエクスポート機能により、将来性のあるソリューションを提供します。
さらに高い汎用性とスピードをお求めなら、次のモデルもお勧めします。 YOLO11YOLO シリーズの最新モデルであるYOLO 11をご検討ください。YOLO11 、性能とレイテンシーのバランスにさらに磨きをかけ、コンパクトなパッケージで、検出、セグメンテーション、分類タスクに最先端の機能を提供します。
実績ある主力車に興味のある方へ、 YOLOv8は、広範なコミュニティ・リソースとサードパーティとの統合を備えた、信頼性の高いオプションです。