PP-YOLOE+とYOLOv5#
コンピュータービジョン向けの適切なディープラーニングフレームワークを選ぶとき、開発者は速度、精度、デプロイの容易さのバランスを見極めるため、異なるアーキテクチャの性能を比較することがよくあります。この記事では、PP-YOLOE+とYOLOv5の技術的な違いを詳しく解説します。アーキテクチャ、性能指標、最適なデプロイシナリオを分析し、リアルタイムロボティクス、エッジデプロイ、クラウドベースの動画分析など、次のプロジェクトに適した判断を支援します。
モデルの由来とメタデータ#
両モデルは高い能力を持つエンジニアリングチームによって開発されていますが、対象とするエコシステムはやや異なります。開発の背景を理解すると、アーキテクチャ設計の選択を把握するうえで役立ちます。
PP-YOLOE+の詳細:
- 著者: PaddlePaddle Authors
- 組織: Baidu
- 日付: 2022-04-02
- Arxiv: https://arxiv.org/abs/2203.16250
- GitHub: https://github.com/PaddlePaddle/PaddleDetection/
- ドキュメント: PaddleDetectionのREADME
YOLOv5の詳細:
- 著者: Glenn Jocher
- 組織: Ultralytics
- 日付: 2020-06-26
- GitHub: https://github.com/ultralytics/yolov5
- ドキュメント: https://docs.ultralytics.com/models/yolov5
アーキテクチャの比較#
PP-YOLOE+のアーキテクチャ#
PP-YOLOE+はBaiduエコシステム内で進化したモデルで、PP-YOLOv2などの過去のモデルを基盤としています。高度に最適化されたCSPRepResNetバックボーンを導入し、クロスステージ部分(CSP)ネットワークの原理と再パラメーター化手法を組み合わせることで特徴抽出を強化しています。これにより、学習中は高い精度を維持しながら、推論の高速化に向けてより効率的なアーキテクチャへと統合できます。
さらに、PP-YOLOE+はタスクアライメント学習(TAL)と効率的なタスク整合型ヘッド(ET-head)を採用しています。この組み合わせにより、高密度物体検出器でよく見られる分類タスクと位置特定タスクの不整合を解消します。構造面で優れたアーキテクチャですが、PaddlePaddleフレームワークと密接に結び付いているため、他の主要なMLライブラリに統一しているチームでは統合上の課題が生じる場合があります。
YOLOv5のアーキテクチャ#
これに対してYOLOv5は、学術研究と企業の本番環境の両方で業界標準となっているPyTorchをネイティブに採用して開発されました。優れた勾配フローとパラメーター効率で知られる、改良版CSPDarknet53バックボーンを使用しています。
YOLOv5の代表的な機能であるAutoAnchorアルゴリズムは、学習前に特定のカスタムデータセットに基づいてアンカーボックスのサイズを動的に確認・調整します。これにより、バウンディングボックスのハイパーパラメーターを手動で調整する必要がなくなります。モデルの経路集約ネットワーク(PANet)ネックは、堅牢なマルチスケール特徴融合を実現し、さまざまなサイズの物体を効果的に検出します。
YOLOv5はPyTorch上に直接構築されているため、ONNXやTensorRTなどの最適化形式へのエクスポートに必要なミドルウェア設定は、地域固有のフレームワークに依存するモデルより大幅に少なくて済みます。
パフォーマンス分析#
これらのモデルを評価するには、平均適合率(mAP)とレイテンシーのトレードオフを考慮する必要があります。以下の表では、モデルサイズごとの指標を示します。
| モデル | サイズ (ピクセル) | mAPval 50-95 | 速度 CPU ONNX (ms) | 速度 T4 TensorRT10 (ms) | パラメーター (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 |
| YOLOv5n | 640 | 28.0 | - | 1.12 | 1.9 | 4.5 |
| YOLOv5s | 640 | 37.4 | - | 1.92 | 7.2 | 16.5 |
| YOLOv5m | 640 | 45.4 | - | 4.03 | 21.2 | 49.0 |
| YOLOv5l | 640 | 49.0 | - | 6.61 | 46.5 | 109.1 |
| YOLOv5x | 640 | 50.7 | - | 11.89 | 86.7 | 205.7 |
PP-YOLOE+は大規模モデル(Xバリエーションなど)で非常に競争力のあるmAPを達成しますが、小規模モデルではYOLOv5のほうが高速で、パラメーター数も少なくなります。YOLOv5 Nano(YOLOv5n)はわずか190万個のパラメーターしか必要とせず、メモリー要件が厳しい制約付きエッジデバイスに適しています。さらに、YOLOモデルの学習で必要となるCUDAメモリーは、一般にRT-DETRのような大規模なTransformerベースのモデルより少なくて済みます。
Ultralyticsの強み#
アーキテクチャを選ぶ際、生の指標は判断材料の一部にすぎません。開発者体験、エコシステムのサポート、デプロイパイプラインが、実環境でのプロジェクトの成否を左右することもよくあります。ここでUltralyticsモデルが強みを発揮します。
比類のない使いやすさ#
UltralyticsのPython APIは複雑な定型コードを抽象化します。開発者は学習の開始、性能の検証、モデルのデプロイをシームレスに実行できます。ドキュメントは充実しており、継続的に保守され、世界中の大規模なオープンソースコミュニティに支えられています。
さまざまなタスクに対応する汎用性#
PP-YOLOE+は専用の物体検出器ですが、Ultralyticsエコシステムでは、統一された単一のAPIで複数のコンピュータービジョンタスクに対応できます。YOLOv5およびその後継モデルでは、標準的なバウンディングボックスから画像セグメンテーションや分類のワークフローへ簡単に移行できます。
コード例: YOLOv5の学習#
数行のコードだけで使い始められます。このシンプルさにより、研究開発サイクルを大幅に短縮できます。
from ultralytics import YOLO
# 事前学習済みYOLOv5のSmallモデルを読み込む
model = YOLO("yolov5su.pt") # YOLOv5u: ultralyticsパッケージ向けのアンカーフリーYOLOv5重み
# COCO8データセットでモデルをトレーニングします
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# 画像に対して高速な推論を実行する
predictions = model("https://ultralytics.com/images/bus.jpg")
predictions[0].show()実際のユースケース#
PP-YOLOE+を選ぶ場合: 組織がBaiduのソフトウェアスタックを深く利用している場合や、PaddlePaddleフレームワークを必須とする専用ハードウェアに大きく依存している場合、PP-YOLOE+は優れた性能を発揮します。Paddleとの既存統合があるアジア各地の専門的な製造パイプラインで、頻繁に利用されています。
YOLOv5を選ぶ場合: 大多数の海外の開発者、研究者、企業にとって、YOLOv5は依然として強力な選択肢です。PyTorchを基盤としているため、実験管理用のWeights & Biasesなどのツールとすぐに連携でき、NVIDIA GPUアクセラレーション向けのTensorRTやAppleデバイス向けのCoreMLにもスムーズにエクスポートできます。農作物のモニタリングから高速ドローン航行まで、幅広い分野で優れた性能を発揮します。
物体検出の未来: Ultralytics YOLO26#
YOLOv5は象徴的なモデルですが、コンピュータービジョンの最先端はさらに進化しています。2026年1月にリリースされたYOLO26への移行を、新しい開発プロジェクトすべてに強く推奨します。Ultralytics Platformからシームレスに利用できるYOLO26は、効率性を根本から塗り替えます。
YOLO26の主な技術革新:
- エンドツーエンドのNMSフリー設計: YOLO26のオプションのワンツーワンヘッド(
nms=False)は、非最大値抑制による後処理を完全に省略します。これによりレイテンシーのばらつきが減り、デプロイパイプラインが大幅に簡素化されます。 - CPU推論が最大43%高速化: 分布焦点損失(DFL)を戦略的に削除することで、YOLO26はGPUのないエッジデバイスでの速度を大幅に向上させます。
- MuSGDオプティマイザー: 先進的な大規模言語モデルを参考にしたこのハイブリッドオプティマイザーは、学習の安定性を高め、カスタムデータセットでの収束を大幅に高速化します。
- タスク固有の機能強化: ProgLossやSTALなどの高度な損失関数を備え、微小物体の精度をかつてないほど高めます。空撮画像向けの回転バウンディングボックス(OBB)検出をネイティブにサポートします。
最先端のビジョンモデルを検討している場合は、旧世代のYOLO11や、RT-DETRのようなTransformerベースのアプローチとの比較もご検討ください。堅牢なエコシステムと最先端のアーキテクチャの進歩により、Ultralyticsは現代のコンピュータービジョンタスクに最適な選択肢となっています。