コンテンツにスキップ

PP-YOLOE+とYOLOXの比較:高度なアンカーなし物体検出の比較

最適な物体検出アーキテクチャを選択するには、精度、推論速度、展開の複雑さのトレードオフを深く理解する必要があります。このガイドでは、Baidu社の産業グレード検出器であるPP-YOLOE+と、Megvii社の高性能アンカーフリーモデルであるYOLOXの技術比較を行います。両アーキテクチャは、アンカーフリー検出器へのシフトにおける重要なマイルストーンであり、コンピュータビジョンエンジニアに堅牢なソリューションを提供します。

PP-YOLOE+:百度の卓越した工業技術

PP-YOLOE+はPP-YOLOEの進化版で、PaddlePaddle 作者によって開発された。 百度.2022年4月にリリースされ、包括的なPaddleDetectionスイートの一部です。産業用途向けに特別に設計されたPP-YOLOE+は、PaddlePaddle フレームワークの機能を活用し、学習効率と推論精度のバランスを最適化する。

技術詳細:

アーキテクチャと主な機能

PP-YOLOE+は、多様なハードウェア上で最大限の性能を発揮することを目的としたいくつかのアーキテクチャ上の革新によって、その特徴を際立たせている:

  • スケーラブルなバックボーン CSPRepResNetは、Residual Networksの特徴抽出能力とCSP(Cross Stage Partial)接続の効率性を組み合わせたバックボーンです。
  • タスク・アライメント学習(TAL):重要な革新は、分類とローカライゼーションのタスクを動的にアライメントする特殊な損失関数であるTALを使用することで、最高の信頼スコアが最も正確なバウンディングボックスに対応するようにする。
  • 効率的なタスク・アラインド・ヘッド(ET-Head):このモデルは、検出ヘッドの設計を簡素化し、高精度を維持しながら計算オーバーヘッドを削減するアンカーフリーヘッドを採用しています。

長所と短所

PP-YOLOE+は、特定の展開シナリオでは力を発揮するが、エコシステムの制約を伴う。

長所:

  • 最先端の精度:PP-YOLOE+xモデルはCOCO データセットで 54.7%のmAP達成し、欠陥検出のような高精度タスクに適しています。
  • 推論効率: PaddlePaddle フレームワークの演算子融合などの最適化により、GPU ハードウェア上で、特に大きなモデルサイズに対して競争力のある速度を実現します。

弱点:

  • フレームワークへの依存:主に PaddlePaddleエコシステムに依存していることが PyTorchやTensorFlow標準化されているチームにとっては障壁となる。
  • デプロイの複雑さ:このようなモデルを他の推論エンジン(ONNX RuntimeやTensorRT)に移植するには、特定の変換ツールが必要になることが多い。

PP-YOLOE+の詳細について。

YOLOX:アンカーフリーのパイオニア

YOLOXは2021年にメグヴィの研究者によって発表された。 メグヴィ.YOLO 、検出ヘッドを切り離し、アンカーを取り除くことで、以前のYOLO 比較して学習パイプラインを大幅に簡素化し、すぐに注目を集めた。YOLOXは、学術研究と実用的な産業応用のギャップを埋め、その後の多くの物体検出アーキテクチャに影響を与えた。

技術詳細:

アーキテクチャと主な機能

YOLOXはYOLO ファミリーに「プロアンカーフリー」の設計思想を導入した:

  • 分離ヘッド:従来のYOLO ヘッドが分類とローカリゼーションを結合ブランチで行うのとは異なり、YOLOXはこれらのタスクを分離しています。この分離により、収束速度と最終精度が向上します。
  • SimOTAラベル割り当て:YOLOXは、SimOTA(Simplified Optimal Transport Assignment)を採用している。これは、各グラウンドトゥルースオブジェクトに最適なポジティブサンプルを自動的に選択するダイナミックなラベル割り当て戦略で、複雑なハイパーパラメータチューニングの必要性を低減する。
  • アンカーフリーのメカニズム:あらかじめ定義されたアンカーボックスを排除することで、YOLOXは設計パラメーターの数を減らし、特に極端なアスペクト比を持つオブジェクト形状の汎用性を向上させます。

長所と短所

長所:

  • 実装のシンプルさ:アンカーを削除し、標準的なPyTorch 操作を使用することで、コードベースは比較的理解しやすく、研究目的のために変更しやすい。
  • 強力なベースライン: 高度なトレーニング技術やアーキテクチャの改良に関する学術研究のための優れたベースラインとして機能する。

弱点:

  • 老朽化した性能:2021年には画期的なものであったが、その生のパフォーマンス指標(スピードと精度のトレードオフ)は、次のような新しいモデルに追い越されている。 YOLOv8やYOLO11ような新モデルに追い越されている。
  • トレーニングリソースの強度:SimOTAのような高度な割り当て戦略は、より単純な静的割り当て方法と比較して、トレーニング段階での計算負荷を増加させる可能性があります。

レガシー・サポート

YOLOXは今でも研究分野で広く使われているが、長期的なサポートと積極的なアップデートを求める開発者にとっては、新しいアーキテクチャの方が本番環境では有益かもしれない。

YOLOXの詳細について。

技術性能の比較

PP-YOLOE+とYOLOXのどちらかを選択する場合、標準的なベンチマークにおける性能指標が、意思決定の最も客観的な根拠となります。以下のデータは、COCO 検証セットにおける両者のパフォーマンスを強調したものです。

モデルサイズ
(ピクセル)
mAP
50-95
速度
CPU ONNX
(ms)
速度
T4 TensorRT10
(ms)
params
(M)
FLOPs
(B)
PP-YOLOE+t64039.9-2.844.8519.15
PP-YOLOE+s64043.7-2.627.9317.36
PP-YOLOE+m64049.8-5.5623.4349.91
PP-YOLOE+l64052.9-8.3652.2110.07
PP-YOLOE+x64054.7-14.398.42206.59
YOLOXnano41625.8--0.911.08
YOLOXtiny41632.8--5.066.45
YOLOXs64040.5-2.569.026.8
YOLOXm64046.9-5.4325.373.8
YOLOXl64049.7-9.0454.2155.6
YOLOXx64051.1-16.199.1281.9

分析

  • 精度の優位性:PP-YOLOE+は、同程度のモデルサイズで一貫してYOLOXを上回った。PP-YOLOE+xモデルは54.7%のmAP達成し、YOLOX-xの51.1%を大幅に上回った。
  • 効率が良い: PP-YOLOE+は優れたパラメーター効率を示す。例えば s バリアントは、より少ないパラメータ(7.93M対9.0M)とFLOPsを使用しながら、より高い精度(43.7%対40.5%)を達成しています。
  • 推論速度:YOLOXは小さいサイズでは競争力を維持しているが、PP-YOLOE+はGPU ハードウェア(T4TensorRT)でより優れたスケールを実現し、精度が高いにもかかわらず、大規模および超大規模モデルでより速い速度を提供する。

Ultralytics YOLO11:現代のスタンダード

PP-YOLOE+とYOLOXは有能な検出器ですが、コンピュータビジョンの状況は急速に進化しています。性能、使いやすさ、エコシステム・サポートの最適な融合を求める開発者のために、 Ultralytics YOLO11は最先端の選択肢です。

Ultralytics YOLO11を選ぶ理由

  • 使いやすさ:研究リポジトリやフレームワーク固有のツールでしばしば必要とされる複雑なセットアップとは異なり、YOLO11 11は合理化されたPython APIと CLI提供する。インストールから推論まで数秒で行えます。
  • 整備されたエコシステム: Ultralytics モデルは、頻繁なアップデート、豊富なドキュメント、MLOpsツールとのシームレスな統合など、堅牢なエコシステムに支えられています。
  • パフォーマンス・バランス: YOLO11 、速度と精度のトレードオフがうまくいくように設計されており、学習と推論の両方において、必要なメモリ量が少ない旧世代のものを上回ることが多い。
  • 汎用性:PP-YOLOE+とYOLOXが主にバウンディングボックスの検出に重点を置いているのに対し、YOLO11 インスタンスのセグメンテーションポーズ推定オリエンテッドバウンディングボックス(OBB)、分類を1つのフレームワークでネイティブにサポートしている。
  • トレーニングの効率性: Ultralytics モデルは効率的なトレーニングのために最適化されており、高度な補強とすぐに利用できる事前トレーニング済みの重みを利用して、収束に達するまでに必要な時間と計算リソースを削減します。

実例

YOLO11 使った物体検出の実装は直感的だ。次の例では、事前に訓練されたモデルを読み込み、画像に対して推論を実行する方法を示します:

from ultralytics import YOLO

# Load a pre-trained YOLO11 model
model = YOLO("yolo11n.pt")

# Perform inference on a local image
results = model("path/to/image.jpg")

# Display the results
results[0].show()

このシンプルさは、他のアーキテクチャでしばしば必要とされる複数ステップのコンフィギュレーションとは対照的で、開発者はコードと格闘するよりも、ビジネス上の問題を解決することに集中することができる。

結論

PP-YOLOE+と YOLOXはともに、コンピュータ・ビジョンの分野に大きく貢献している。PP-YOLOE+は、高い産業精度を必要とするBaiduPaddlePaddle エコシステムに深く組み込まれている場合に最適な選択肢です。YOLOXは、アンカーフリーの手法を研究する研究者にとって、尊敬すべきベースラインです。

しかし、新規プロジェクトの大半は Ultralytics YOLO11が最も魅力的なパッケージを提供します。最先端のパフォーマンス、低メモリ使用量、そして比類のない開発者エクスペリエンスの組み合わせにより、スケーラブルなリアルタイム推論ソリューションを展開するための優れた選択肢となっている。

YOLO11の詳細について。


コメント