YOLOv5 対 PP-YOLOE+: 現代の物体検出に関する技術的な深掘り
適切なニューラルネットワークアーキテクチャを選択することは、現代のコンピュータビジョンプロジェクトにおいて不可欠です。開発者や研究者がリアルタイム物体検出モデルを評価する際、多くの場合、精度、推論速度、展開の容易さのバランスを考慮して決定を下すことになります。本技術比較では、YOLOv5と**PP-YOLOE+**を取り上げ、それぞれのアーキテクチャ、パフォーマンスメトリクス、および学習手法を調査し、アプリケーションに最適なソリューションを選択するための手助けをします。
アーキテクチャの理解
両モデルともビジョンAIの領域に大きな影響を与えてきましたが、物体検出の課題に対するアプローチは、構造的手法やフレームワークへの依存関係において異なります。
Ultralytics YOLOv5: 業界標準
2020年半ばにリリースされた Ultralytics YOLOv5 は、最先端ビジョンモデルへのアクセシビリティに革命をもたらしました。YOLOファミリーの中で初めて PyTorch ネイティブ実装となったことで、世界中のPython開発者やMLエンジニアにとっての参入障壁が劇的に低下しました。
YOLOv5の詳細:
- 著者: Glenn Jocher
- 組織:Ultralytics
- 日付: 2020-06-26
- GitHub: ultralytics/yolov5
- ドキュメント: YOLOv5 Documentation
YOLOv5は改良されたCSPDarknetバックボーンを採用しており、軽量なパラメータ数を維持しながら豊かな特徴表現を効率的にキャプチャします。また、自動学習可能なアンカーボックスを導入しており、学習開始前にカスタムデータセットに最適なアンカー次元を自動的に計算します。さらに、Mosaicデータ拡張の統合により、小さな物体を検出し、複雑な空間コンテキスト全体で汎化するモデルの能力が大幅に向上しています。
YOLOv5の最大の強みの1つは、その驚異的な汎用性です。標準的な物体検出器とは異なり、YOLOv5ファミリーは、統合されたAPI内で 画像分類、 インスタンスセグメンテーション、およびバウンディングボックス検出をシームレスにサポートしています。高度に最適化されたアーキテクチャにより、重量級のTransformerベースのネットワークと比較して、学習および推論時のメモリ使用量が大幅に抑えられます。
PP-YOLOE+: PaddlePaddleの競合モデル
約2年後に発表されたPP-YOLOE+は、以前のPP-YOLOの基礎の上に構築されています。Baiduのディープラーニングフレームワークの能力を示すために開発されたこのモデルは、平均精度(mAP)を向上させるためにいくつかのアーキテクチャの改良を導入しています。
PP-YOLOE+の詳細:
- 作成者:PaddlePaddle作成者
- 組織: Baidu
- 日付:2022年4月2日
- Arxiv: 2203.16250
- GitHub: PaddlePaddle/PaddleDetection
- ドキュメント: PP-YOLOE+ README
PP-YOLOE+はアンカーフリーのパラダイムに依存し、CSPRepResNetバックボーンを利用しています。精度を向上させるために、強力なTask Alignment Learning技術とEfficient Task-aligned Headを組み込んでいます。PP-YOLOE+は優れた精度スコアを達成しますが、その主な弱点は PaddlePaddle フレームワークへの強い依存性にあります。これは、すでにPyTorchやTensorFlow環境に深く投資している研究チームや企業にとって、学習のハードルが高く、エコシステムの摩擦を引き起こすことがよくあります。
パフォーマンスとベンチマーク
本番環境でこれらのモデルを評価する際には、精度、推論速度、パラメータフットプリントの間のトレードオフを理解することが不可欠です。以下の表は、さまざまなサイズバリアント全体にわたる重要な パフォーマンスメトリクス の概要を示しています。
| モデル | サイズ (ピクセル) | mAPval 50-95 | 速度 CPU ONNX (ms) | 速度 T4 TensorRT10 (ms) | パラメータ (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| YOLOv5n | 640 | 28.0 | 73.6 | 1.12 | 2.6 | 7.7 |
| YOLOv5s | 640 | 37.4 | 120.7 | 1.92 | 9.1 | 24.0 |
| YOLOv5m | 640 | 45.4 | 233.9 | 4.03 | 25.1 | 64.2 |
| YOLOv5l | 640 | 49.0 | 408.4 | 6.61 | 53.2 | 135.0 |
| YOLOv5x | 640 | 50.7 | 763.2 | 11.89 | 97.2 | 246.4 |
| 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 |
PP-YOLOE+は高い精度を実現しますが、YOLOv5はパラメータ効率と制約のあるハードウェア上での推論速度において一貫して優れた性能を示します。メモリが限られているエッジ展開では、YOLOv5nが比類のない速度と極めて小さなフットプリントを提供します。
Ultralyticsのモデルは、学習効率のために特別に設計されています。RT-DETR のような重量級のビジョンTransformerと比較して、YOLOv5はCUDAメモリの消費量が大幅に少なく、より大きなバッチサイズやコンシューマーグレードのハードウェアでの学習を可能にします。
Ultralyticsの利点: エコシステムと使いやすさ
機械学習アーキテクチャの真の価値は、単なる数値を超えて、開発者体験全体を包含するものです。Ultralytics Platform とそれに対応するオープンソースツールは、開発サイクルを劇的に加速させる、高度に洗練され、適切にメンテナンスされたエコシステムを提供します。
- 使いやすさ: Ultralyticsは複雑なボイラープレートコードを抽象化します。直感的な Python API またはCLIを通じて、モデルの学習、検証、テストが可能です。
- 展開の柔軟性: モデルのエクスポートは非常に簡単です。たった1つのコマンドで、学習済みのYOLOv5の重みを ONNX、 TensorRT、またはOpenVINOなどの形式に変換でき、エッジやクラウド環境全体で幅広い互換性を保証します。
- 活発なコミュニティ: 活気あるコミュニティにより、頻繁なアップデート、広範なドキュメント、および一般的なコンピュータビジョンの課題に対する堅牢なソリューションが保証されます。
対照的に、PP-YOLOE+はPaddleDetection特有の複雑な設定ファイルに大きく依存しており、迅速なプロトタイピングを遅らせ、現代のMLOpsパイプラインへの統合を複雑にする可能性があります。
実践的な実装とコード例
Ultralyticsを始めるのは非常に簡単です。学習済みのYOLOv5モデルをロードし、カスタムデータセットで学習させ、結果をエクスポートする方法の完全で実行可能な例を以下に示します:
from ultralytics import YOLO
# Load a pretrained YOLOv5 small model
model = YOLO("yolov5s.pt")
# Train the model on the COCO8 dataset for 50 epochs
train_results = model.train(data="coco8.yaml", epochs=50, imgsz=640)
# Run inference on a sample image
predict_results = model("https://ultralytics.com/images/bus.jpg")
# Export the optimized model to ONNX format
path = model.export(format="onnx")ユースケースと推奨事項
YOLOv5とPP-YOLOE+の選択は、プロジェクト固有の要件、展開の制約、およびエコシステムの好みに依存します。
YOLOv5を選択すべき場合
YOLOv5が適しているケース:
- 実績のある本番システム: YOLOv5の安定性、広範なドキュメント、および膨大なコミュニティサポートという長い実績が重視される既存のデプロイメント。
- リソース制約のあるトレーニング: YOLOv5の効率的なトレーニングパイプラインと低いメモリ要件が有利となる、GPUリソースが限られた環境。
- 広範なエクスポートフォーマットのサポート: ONNX、TensorRT、CoreML、およびTFLiteを含む多くのフォーマット全体でのデプロイメントが必要なプロジェクト。
PP-YOLOE+を選択すべき時
PP-YOLOE+は以下の場合に推奨されます:
- PaddlePaddleエコシステム統合: BaiduのPaddlePaddleフレームワークとツールの上に構築された既存のインフラストラクチャを持つ組織。
- Paddle Liteエッジ展開: Paddle LiteまたはPaddle推論エンジン向けに特別に高度に最適化された推論カーネルを持つハードウェアへの展開。
- 高精度のサーバーサイド検出: フレームワークの依存関係が懸念されない強力なGPUサーバーで、最大の検出精度を優先するシナリオ。
Ultralytics (YOLO26) を選択すべき場合
ほとんどの新規プロジェクトにおいて、Ultralytics YOLO26はパフォーマンスと開発者体験の最高の組み合わせを提供します:
- NMSフリーのエッジデプロイ: Non-Maximum Suppressionの後処理の複雑さを伴わずに、一貫した低レイテンシの推論が求められるアプリケーション。
- CPUのみの環境: 専用のGPUアクセラレーションがないデバイスにおいて、YOLO26の最大43%高速なCPU推論が決定的な利点となります。
- 小物体の検出: 航空ドローンの映像 やIoTセンサーの分析など、ProgLossとSTALが小物体の精度を大幅に高めることができる困難なシナリオ。
検討すべきその他の最先端モデル
YOLOv5は堅牢で実績のある標準ですが、コンピュータビジョンの分野は急速に進化しています。新しいプロジェクトを開始するチームには、当社の新しいアーキテクチャを探求することを強くお勧めします。
Ultralytics YOLO26
2026年1月にリリースされた YOLO26 は、当社の研究の絶対的な頂点を表しています。精度と速度の両面で大幅な改善を実現しました。主な革新点は以下の通りです:
- エンドツーエンドのNMSフリー設計: YOLOv10 の概念に基づいて構築されたYOLO26は、Non-Maximum Suppression (NMS) 後処理をネイティブで排除し、レイテンシを削減して展開ロジックを簡素化します。
- DFLの削除: Distribution Focal Lossを排除することで、YOLO26は最大43%高速なCPU推論を実現し、低電力のエッジデバイスにとって非常に強力なものとなっています。
- MuSGDオプティマイザ: 高度なLLM学習技術に着想を得たこのSGDとMuonのハイブリッドは、非常に安定した学習実行と高速な収束を保証します。
- ProgLoss + STAL: これらの高度な損失関数は、ドローン画像 やスマート農業に不可欠な、小さな物体の認識において顕著な改善をもたらします。
さらに、優れたパフォーマンスを提供し、レガシーシステムとYOLO26の最先端機能の間の非常に信頼性の高い橋渡しとして機能する YOLO11 も検討してみてください。
実際のユースケース
YOLOv5とPP-YOLOE+のどちらを選択するかは、最終的には展開環境とプロジェクトの制約によって決まります。
理想的なYOLOv5のアプリケーション: YOLOv5の最小限のリソース要件と素晴らしい使いやすさは、エッジAI における最高の選択肢です。リアルタイムの ロボティクス、モバイルアプリケーション統合、マルチカメラ交通監視システムなど、限られたハードウェア上で高いフレームレートを必要とするアプリケーションで優れています。同じフレームワーク内で 姿勢推定 と 指向性バウンディングボックス (OBB) タスクを同時に処理できるため、非常に適応性が高いです。
理想的なPP-YOLOE+のアプリケーション: PP-YOLOE+は、リアルタイム処理の制約よりも静止画像での絶対的な最大精度が優先されるシナリオに最適です。BaiduやPaddlePaddleのエコシステムに深く投資した技術スタックを持つアジアの製造部門など、産業検査パイプラインでのニッチな用途があります。
要約すると、PP-YOLOE+は強力な精度ベンチマークを提供しますが、Ultralytics YOLOモデルは、パフォーマンスのバランス、シームレスな展開、そして開発者フレンドリーな設計という比類のない組み合わせを提供し、コンピュータビジョンプロジェクトをコンセプトから本番環境まで成功に導きます。