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
- Docs: https://docs.ultralytics.com/models/yolov5
アーキテクチャの比較#
PP-YOLOE+ のアーキテクチャ#
PP-YOLOE+は、PP-YOLOv2などの従来モデルを基盤として構築された、Baiduエコシステム内での進化形です。高度に最適化されたCSPRepResNetバックボーンを導入し、クロスステージ・パーシャル(CSP)ネットワークの原理と再パラメータ化技術を組み合わせることで、特徴抽出を強化しています。これにより、学習中は高い精度を維持しながら、推論を高速化するために、より効率的なアーキテクチャへと統合できます。
さらに、PP-YOLOE+はタスクアライメント学習(TAL)と効率的なタスクアライメントヘッド(ET-head)を採用しています。この組み合わせは、高密度物体検出器でよく見られる、分類タスクと位置特定タスクの不整合を解消することを目的としています。構造的には優れていますが、アーキテクチャがPaddlePaddleフレームワークと密接に結び付いているため、他の主要なMLライブラリを標準化しているチームでは統合が難しくなる可能性があります。
YOLOv5アーキテクチャ#
これに対して、YOLOv5は、学術研究とエンタープライズ運用の両方で業界標準となっているPyTorch上でネイティブに設計されています。優れた勾配フローとパラメータ効率で知られる、改良版CSPDarknet53バックボーンを利用しています。
YOLOv5の特徴の一つはAutoAnchorアルゴリズムです。これは、学習前に使用するカスタムデータセットに基づいてアンカーボックスのサイズを動的に確認・調整します。これにより、バウンディングボックスに関する手動のハイパーパラメータ調整が不要になります。モデルのPath Aggregation Network(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 | 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+は大規模モデル(Xバリアントなど)で非常に競争力の高いmAPスコアを達成しますが、YOLOv5はモデルサイズが小さい範囲で、より優れた速度と少ないパラメータ数を実現します。YOLOv5 Nano(YOLOv5n)のパラメータ数はわずか260万個であり、メモリ要件が厳しい制約のあるエッジデバイスに非常に適しています。さらに、YOLOモデルの学習では、RT-DETRのような大規模なTransformerベースの代替モデルと比べて、通常CUDAメモリの消費量が少なくなります。
Ultralyticsの優位性#
アーキテクチャを選ぶ際、単純な性能指標は判断材料の一部にすぎません。開発者エクスペリエンス、エコシステムのサポート、デプロイパイプラインが、プロジェクトの実環境での成功を左右することがよくあります。ここでUltralyticsモデルが力を発揮します。
他に類を見ない使いやすさ#
UltralyticsのPython APIは、複雑な定型コードを抽象化します。開発者は、学習の開始、性能の検証、モデルのデプロイをスムーズに行えます。ドキュメントは充実しており、継続的にメンテナンスされ、世界中の大規模なオープンソースコミュニティによってサポートされています。
タスク全体にわたる汎用性#
PP-YOLOE+が専用の物体検出器である一方、Ultralyticsエコシステムでは、単一の統合APIで複数のコンピュータビジョンタスクに対応できます。YOLOv5およびその後継モデルでは、標準的なバウンディングボックスから画像セグメンテーションや分類のワークフローへ簡単に移行できます。
コード例: YOLOv5の学習#
開始に必要なコードは数行だけです。このシンプルさにより、研究開発サイクルを大幅に加速できます。
from ultralytics import YOLO
# Load a pretrained YOLOv5 small model
model = YOLO("yolov5s.pt")
# Train the model on the COCO8 dataset
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# Run fast inference on an image
predictions = model("https://ultralytics.com/images/bus.jpg")
predictions[0].show()実世界でのユースケース#
PP-YOLOE+を選ぶ場合: 組織がBaiduのソフトウェアスタックに深く組み込まれている場合や、PaddlePaddleフレームワークを必須とする特殊なハードウェアに大きく依存している場合、PP-YOLOE+は有力な選択肢です。Paddleとのレガシー統合が存在するアジアの特殊な製造パイプラインで、頻繁に利用されています。
YOLOv5を選ぶ場合: 大多数の海外の開発者、研究者、企業にとって、YOLOv5は依然として非常に強力なモデルです。PyTorchを基盤としているため、トラッキング用のWeights & Biasesなどのツールとすぐに互換性があり、TensorRTへスムーズにエクスポートしてNVIDIA GPUを高速化したり、Appleデバイス向けにCoreMLへエクスポートしたりできます。農作物のモニタリングから高速ドローンナビゲーションまで、幅広い分野で優れた性能を発揮します。
検出の未来: Ultralytics YOLO26#
YOLOv5は象徴的なモデルですが、コンピュータビジョンの最前線は進化しています。新規開発には、2026年1月にリリースされたYOLO26への移行を強く推奨します。Ultralytics Platformからシームレスに利用できるYOLO26は、効率性を完全に再定義します。
YOLO26の主な革新:
- エンドツーエンドのNMSフリーデザイン: YOLO26は、Non-Maximum Suppressionの後処理を完全に排除します。これにより、レイテンシの変動が抑えられ、デプロイパイプラインが大幅に簡素化されます。
- CPU推論が最大43%高速化: Distribution Focal Loss(DFL)を戦略的に削除することで、YOLO26はGPUを搭載しないエッジデバイスでの速度を大幅に向上させます。
- MuSGDオプティマイザー: 主要なLarge Language Modelsに着想を得たこのハイブリッドオプティマイザーは、学習ダイナミクスを安定させ、カスタムデータセットでの収束を大幅に高速化します。
- タスク固有の強化: ProgLossやSTALなどの高度な損失関数を特徴とし、小さな物体で前例のない精度を実現します。航空画像向けの指向性バウンディングボックス(OBB)検出をネイティブにサポートします。
最先端のビジョンモデルを検討している場合は、前世代のYOLO11や、RT-DETRのようなTransformerベースのアプローチにも関心を持つかもしれません。最終的に、堅牢なエコシステムと最先端のアーキテクチャの進化が組み合わさることで、Ultralyticsは最新のコンピュータビジョンタスクにおける第一の選択肢となっています。