YOLOv5 PP-YOLOE+の比較:物体検出の技術比較
最適な物体検出モデルの選択は、コンピュータビジョンプロジェクトの効率、精度、スケーラビリティに影響を与える極めて重要な決定です。この包括的なガイドでは Ultralytics YOLOv5と、BaiduのPaddlePaddle エコシステムの高精度モデルであるPP-YOLOE+を比較します。両者のアーキテクチャ、パフォーマンス指標、導入ワークフローを分析することで、開発者や研究者が特定のニーズに最適なソリューションを選択できるようにすることを目的としています。
Ultralytics YOLOv5:ユーザビリティとスピードのスタンダード
Ultralytics 2020年にリリースしたYOLOv55は、最先端の物体検出を誰もが利用できるようにすることで、視覚AIの状況を根本的に変えた。前作とは異なり、YOLO モデルは初めて PyTorchでネイティブに実装された最初のYOLOモデルであり、グローバルなデータサイエンス・コミュニティのトレーニングとデプロイメント・プロセスを簡素化しました。その設計哲学は、リアルタイムの推論速度と高精度のバランスを優先し、非常にユーザーフレンドリーなエコシステムにパッケージ化されています。
著者Glenn Jocher
組織:Ultralytics
Date:2020-06-26
GitHubyolov5
Docsyolov5
主な強み
- 使いやすさ: YOLOv5 5は、その「すぐに使える」エクスペリエンスで高く評価されています。合理化されたPython APIと直感的なCLI コマンドにより、開発者は数分でカスタムデータセットのトレーニングを開始できます。
- 整備されたエコシステム: Ultralytics支えられ、頻繁なアップデートと大規模で活発なコミュニティを享受しています。これにより、長期的なサポートが保証され、GitHub Issuesのようなプラットフォームで豊富な知識が共有されます。
- パフォーマンスのバランス:特にRaspberry Piのようなエッジデバイスにおいて、精度を大幅に犠牲にすることなく、卓越したリアルタイム推論速度を実現します。
- 汎用性:標準的な検出機能だけでなく、YOLOv5 5はインスタンスのセグメンテーションや 画像の分類もサポートしており、多様な視覚タスクに対応する柔軟なツールとなっている。
PP-YOLOE+:パドルのエコシステムにおける高精度
PP-YOLOE+は、百度の研究者によって開発されたPP-YOLO シリーズの進化版である。2022年にリリースされ、PaddleDetectionツールキットのフラッグシップモデルとして機能する。アンカーフリーアーキテクチャと高度な学習ストラテジーを採用し、以下のようなベンチマークデータセットで精度の限界に挑戦している。 COCO.
著者 PaddlePaddle Authors
Organization:Baidu
Date:2022-04-02
ArXiv:https://arxiv.org/abs/2203.16250
GitHubPaddlePaddle
DocsPaddlePaddle
アーキテクチャと機能
PP-YOLOE+は、CSPRepResNetバックボーンと独自のプロトタイプフリー検出ヘッドを利用している。アンカーフリーの検出器であるため、アンカーボックスに関連するハイパーパラメータのチューニングの複雑さが軽減される。平均平均精度(mAP)を最大化することが第一の目標であるようなシナリオにおいて優れており、計算の複雑さは増すものの、同等のアンカーベースのモデルよりもわずかに高いスコアを達成することが多い。しかし、PaddlePaddle フレームワークへの依存は、PyTorch TensorFlow標準化されたチームにとって学習曲線となる可能性があります。
パフォーマンス分析:指標と効率
YOLOv5 PP-YOLOE+を比較する場合、通常は生の精度と運用効率(スピードと展開のしやすさ)の間でトレードオフが生じる。
スピード対精度
PP-YOLOE+モデルは一般にmAP高い。val COCO スコアを記録し、純粋な検出能力の高さを示した。例えば PP-YOLOE+l は52.9mAP驚異的な数字を達成している。しかし、これはYOLOv5標準的なハードウェアではレイテンシーが高くなることが多い。
Ultralytics YOLOv5 輝く 推論速度。 YOLOv5n (ナノ)モデルは驚くほど軽量で、T4GPU 28.0mAP 、推論時間1.12 msという驚異的な速さを達成している。 TensorRT.そのため、YOLOv5 5は次のような場合に最適です。 エッジAIアプリケーション ミリ秒単位のレイテンシーが重要な場合。
計算効率
YOLOv5 モデルは、メモリ制約を念頭に置いて設計されている。YOLOv5モデルは、複雑なアンカーフリーアーキテクチャやトランスフォーマーベースのモデルと比較して、学習および推論時に必要なCUDA メモリが一般的に少なくて済みます。この効率性により、NVIDIA Jetsonモジュールのようなリソースに制約のあるハードウェア上で、大規模な最適化を行うことなく、よりスムーズな展開が可能になります。
| モデル | サイズ (ピクセル) | mAP値 50-95 | 速度 CPU ONNX (ms) | 速度 T4 TensorRT10 (ms) | params (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 |
トレーニングのエコシステムとユーザビリティ
開発者の経験という "ソフト "な指標が、しばしばプロジェクトの成功を左右する。ここで、2つのモデルの違いは最も顕著である。
Ultralytics エコシステム
YOLOv5 、MLOpsパイプライン全体を合理化する統合されたUltralytics エコシステムの恩恵を受けています。
- PyTorch ネイティブ: PyTorch ビルドされているため、オープンソースのツールやライブラリの大部分との互換性が保証されています。
- シームレスな統合:以下のサポートを内蔵 Weights & Biases, Cometおよび ClearMLを使えば、実験追跡が簡単になります。
- トレーニングの効率化:訓練済みの重みはすぐに利用でき、自動的にダウンロードされるため、迅速な移行学習が可能。
- 展開:エクスポートモードは、ワンクリックで ONNX, CoreML, TFLiteなど。
Ultralytics HUBによるワークフローの簡素化
Ultralytics HUBを使用すると、コードを1行も書くことなく、YOLOv5 モデルをトレーニング、プレビュー、デプロイできます。このウェブベースのプラットフォームは、データセットとトレーニングの実行を管理し、あらゆるスキルレベルのチームがビジョンAIにアクセスできるようにします。
PaddlePaddle
PP-YOLOE+は、百度のディープラーニングフレームワークであるPaddlePaddle依存している。PP-YOLOE+は、バイドゥのディープラーニングフレームワークであるPaddlePaddleに依存しており、アジアでは強力で人気があるものの、欧米の研究コミュニティではPyTorch比較してあまり普及していない。PP-YOLOE+を採用するには、多くの場合、別の環境をセットアップし、Paddle特有の構文(paddle.io, paddle.nn).一方 ドキュメンテーション は包括的だが、サードパーティ・ツールのエコシステムとコミュニティ・サポートはYOLOv5充実していない。
コード例:YOLOv55のシンプルさ
以下のPython コードは、PyTorch Hubを使用して、学習済みのYOLOv5 モデルをロードし、推論を実行するのがいかに簡単かを示しています。
import torch
# Load a YOLOv5s model from PyTorch Hub
model = torch.hub.load("ultralytics/yolov5", "yolov5s", pretrained=True)
# Define an image source
img = "https://ultralytics.com/images/zidane.jpg"
# Run inference
results = model(img)
# Print results to console
results.print()
# Show the image with bounding boxes
results.show()
実際のユースケース
YOLOv5 いる点
- 産業オートメーション:その高速性は、動きの速い組立ラインでのリアルタイム欠陥検出を可能にします。
- 自律型ロボット:メモリ・オーバーヘッドが少ないため、物流で使用されるようなオンボード・コンピューティングに制限のあるロボットに最適です。
- スマートシティアプリケーション:効率的なCPU パフォーマンスにより、既存のインフラストラクチャ上での交通監視のための大規模な展開が可能。
PP-YOLOE+がフィットする場所
- 高精度研究: mAP 最後の1%を絞り出すことが推論速度よりも重要な学術プロジェクト。
- パドル中心の環境:すでにBaiduエコシステムのインフラに大きく投資している企業環境。
結論: どのモデルが最適か?
大半の開発者と商用アプリケーションのために、 Ultralytics YOLOv5をお勧めします。その比類のない使いやすさ、強固なコミュニティサポート、デプロイの柔軟性により、ローリスク・ハイリターンのソリューションとなっている。携帯電話からクラウドサーバーまで、事実上あらゆるプラットフォームに最小限の摩擦でデプロイできる能力は、本番環境において決定的な優位性をもたらします。
PP-YOLOE+は、アンカーフリーのアーキテクチャを特に必要とするユーザーや、すでにPaddlePaddle ワークフローに統合されているユーザーにとっては、有力な選択肢となる。その精度の高さは称賛に値するが、エコシステムが分断されているため、標準的なPyTorch ワークフローに慣れているユーザーにとっては開発が遅れる可能性がある。
その他のモデルを見る
コンピュータビジョンの進歩は速い。これらの確立されたモデルを比較することは価値あることですが、Ultralytics YOLO ファミリーの最新の進歩をご覧になることをお勧めします。
- YOLO11:検出、セグメンテーション、姿勢推定に優れた精度と効率を提供する最新の最先端モデル。
- YOLOv8:OBBと分類タスクをサポートする非常に人気のある統一フレームワーク。
- RT-DETR:リアルタイム性能に最適化されたトランスベースの検出器。
より広範な視野をお求めの場合は、メインモデルの比較ページをご覧いただき、お客様の特定の要件に照らしてさまざまなアーキテクチャをベンチマークしてください。