YOLOv5とPP-YOLOE+の比較#
適切なニューラルネットワークアーキテクチャの選択は、現代のコンピュータービジョンプロジェクトに不可欠です。リアルタイム物体検出用のモデルを評価する開発者や研究者は、多くの場合、精度、推論速度、デプロイの容易さのバランスを検討します。この技術比較では、YOLOv5とPP-YOLOE+のアーキテクチャ、性能指標、トレーニング手法を検証し、アプリケーションに最適なソリューションの選択を支援します。
アーキテクチャを理解する#
どちらのモデルもビジョンAIの発展に大きな影響を与えてきましたが、物体検出の課題に対して、それぞれ異なる構造的アプローチとフレームワーク依存関係で取り組んでいます。
Ultralytics YOLOv5:業界標準#
2020年半ばにリリースされたUltralytics YOLOv5は、最先端のビジョンモデルを誰もが利用できるようにしました。PyTorchでネイティブに構築され、世界中のPython開発者やMLエンジニアが導入する際のハードルを大幅に下げました。
YOLOv5の詳細:
- 著者: Glenn Jocher
- 組織: Ultralytics
- 日付: 2020-06-26
- GitHub: ultralytics/yolov5
- ドキュメント: YOLOv5のドキュメント
YOLOv5は改良されたCSPDarknetバックボーンを採用し、パラメーター数を抑えながら、豊かな特徴表現を効率よく抽出します。また、自動学習型アンカーボックスを導入し、トレーニング開始前にカスタムデータセットに最適なアンカー寸法を自動計算します。さらに、モザイクデータ拡張を統合することで、小さな物体の検出能力と複雑な空間コンテキストへの汎化性能を大幅に高めています。
YOLOv5の最大の強みの一つは、優れた汎用性です。標準的な物体検出器とは異なり、YOLOv5ファミリーは統合APIで画像分類、インスタンスセグメンテーション、バウンディングボックス検出をシームレスにサポートします。また、高度に最適化されたアーキテクチャにより、重いTransformerベースのネットワークと比べて、トレーニング時と推論時のメモリ使用量が大幅に少なくなります。
PP-YOLOE+:PaddlePaddle陣営のモデル#
約2年後に登場したPP-YOLOE+は、従来のPP-YOLOシリーズの基盤を発展させています。Baiduのディープラーニングフレームワークの性能を示すために開発され、平均適合率を高めるための複数のアーキテクチャ改良を導入しています。
PP-YOLOE+の詳細:
- 著者: PaddlePaddle Authors
- 組織: Baidu
- 日付: 2022-04-02
- 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 | - | 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+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はあらゆるモデル規模で一貫して高速なTensorRT推論を示します。メモリが限られるエッジデプロイでは、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
# 事前学習済みYOLOv5のSmallモデルを読み込む
model = YOLO("yolov5su.pt") # YOLOv5u: ultralyticsパッケージ向けのアンカーフリーYOLOv5重み
# COCO8データセットでモデルを50エポックトレーニングする
train_results = model.train(data="coco8.yaml", epochs=50, imgsz=640)
# サンプル画像で推論を実行する
predict_results = model("https://ultralytics.com/images/bus.jpg")
# 最適化されたモデルをONNX形式にエクスポートします
path = model.export(format="onnx")ユースケースと推奨事項#
YOLOv5とPP-YOLOE+のどちらを選ぶかは、プロジェクト固有の要件、デプロイ上の制約、エコシステムに関する好みによって異なります。
YOLOv5を選ぶ場合#
YOLOv5は、次のような場合に適しています。
- 実績のある本番システム: YOLOv5の長年にわたる安定性の実績、充実したドキュメント、幅広いコミュニティサポートが重視される既存のデプロイ環境です。
- リソースが限られたトレーニング: GPUリソースが限られており、YOLOv5の効率的なトレーニングパイプラインと低いメモリ要件が有利となる環境です。
- 幅広いエクスポート形式への対応: ONNX、TensorRT、CoreML、LiteRTなど、多様な形式でのデプロイが必要なプロジェクトです。
PP-YOLOE+を選ぶ場合#
PP-YOLOE+は、次のような用途におすすめです。
- PaddlePaddleエコシステムとの統合: BaiduのPaddlePaddleフレームワークとツールを基盤とする既存インフラストラクチャを持つ組織。
- Paddle Liteによるエッジデプロイ: Paddle LiteまたはPaddle推論エンジン向けに特別に最適化された推論カーネルを備えるハードウェアへのデプロイ。
- サーバー側での高精度検出: フレームワークへの依存が問題にならない、強力なGPUサーバー上で検出精度を最大化することを優先するシナリオ。
Ultralytics (YOLO26)を選ぶ場合#
多くの新規プロジェクトにおいて、Ultralytics YOLO26はパフォーマンスと開発者体験を最適なバランスで提供します。
- NMSを使用しないエッジデプロイ: 非最大抑制の後処理を複雑化させずに、安定した低レイテンシー推論を必要とするアプリケーション。
- CPUのみの環境: 専用のGPUアクセラレーションを備えていないデバイスで、YOLO26の最大43%高速なCPU推論が大きな優位性を発揮します。
- 小物体検出: ドローンによる航空画像やIoTセンサーの分析など、ProgLossとSTALによって小さな物体の精度が大幅に向上する難しいシナリオ。
検討すべきその他の最先端モデル#
YOLOv5は堅牢で実績のある標準モデルですが、コンピュータービジョンの分野は急速に進歩しています。新しいプロジェクトを始めるチームには、より新しいアーキテクチャの検討を強くおすすめします。
Ultralytics YOLO26#
2026年1月にリリースされたYOLO26は、研究成果の最高峰です。精度と速度の両方が大幅に向上しています。主な革新点は次のとおりです。
- エンドツーエンドのNMSフリーデザイン: YOLOv10のコンセプトを発展させたYOLO26のオプションのワンツーワンヘッド(
nms=False)は、Non-Maximum Suppression(NMS)の後処理を省略し、レイテンシを削減するとともにデプロイのロジックを簡素化します。 - DFLの削除: Distribution Focal Lossを取り除くことで、YOLO26はCPU推論を最大43%高速化し、低電力エッジデバイスで優れた性能を発揮します。
- MuSGD Optimizer: 高度なLLMトレーニング手法に着想を得たSGDとMuonのハイブリッドで、非常に安定したトレーニングと高速な収束を実現します。
- ProgLoss + STAL: 高度な損失関数により小物体認識が大幅に向上します。これはドローン画像やスマート農業において重要です。
また、優れた性能を発揮し、レガシーシステムとYOLO26の最先端機能をつなぐ信頼性の高い橋渡しとなるYOLO11も検討できます。
実際のユースケース#
YOLOv5とPP-YOLOE+のどちらを選ぶかは、最終的にはデプロイ環境とプロジェクトの制約によって決まります。
YOLOv5に最適な用途: YOLOv5はリソース要件が小さく、非常に使いやすいため、エッジAIに最適です。限られたハードウェアで高いフレームレートが求められるリアルタイムロボティクス、モバイルアプリケーションへの統合、複数カメラによる交通監視システムなどの用途で優れた性能を発揮します。同じフレームワーク内でインスタンスセグメンテーションと画像分類に対応できるため、高い適応性を備えています。
PP-YOLOE+に最適な用途: PP-YOLOE+は、リアルタイム処理の制約よりも静止画像での最高精度を優先するケースに適しています。特に、BaiduおよびPaddlePaddleのエコシステムに多額の投資を行ってきた既存の技術スタックを持つアジアの製造業で、産業検査パイプラインなどのニッチな用途に使われています。
要約すると、PP-YOLOE+は高い精度ベンチマークを達成しますが、Ultralytics YOLOモデルは、性能のバランス、シームレスなデプロイ、開発者に優しい設計を比類のない形で兼ね備え、コンピュータービジョンプロジェクトを構想から本番環境まで成功に導きます。