YOLO . PP-YOLOE+:産業用物体検出技術の詳細な分析
リアルタイム物体検出の競争の激しい分野において、産業応用における重要なマイルストーンとして2つのモデルが台頭している。アリババグループが開発したYOLO、百度PaddlePaddle 代表する検出器であるPP-YOLOE+である。両アーキテクチャとも推論速度と検出精度のバランスを重視しているが、これを達成する技術的アプローチは大きく異なる。
この包括的なガイドでは、それらのアーキテクチャ上の革新を分析し、パフォーマンス指標を比較するとともに、使いやすさとエッジ展開の基準を再定義する次世代Ultralytics を紹介します。
DAMO-YOLO の概要
YOLO Distillation-Augmented MOdel)は、自動化されたアーキテクチャ設計と高度な学習手法を活用することで性能の限界を押し広げるために導入された。
著者:許賢哲, 江一琪, 陳偉華, 黄一倫, 張元, 孫秀宇
所属:Alibaba Group
日付:2022年11月23日
Arxiv:YOLO
GitHub:YOLO
アーキテクチャの革新
YOLO はニューラルアーキテクチャサーチ(NAS)を組み込むことで従来の手動設計とはYOLO 。その中核コンポーネントは以下の通りである:
- MAE-NAS バックボーン:バックボーン構造は、特定の遅延制約下でスループットを最大化するため、補助エッジ法(MAE-NAS)を用いて自動的に発見される。
- RepGFPN:一般化特徴ピラミッドネットワーク(GFPN)に基づくヘビーネック設計。典型的なBiFPNの重い計算コストを伴わずに特徴融合を最適化するため、スケールレベル間で異なるチャネル次元を利用する。
- ZeroHead:最終予測層の複雑さを最小限に抑える軽量検出ヘッド。推論時に貴重なミリ秒単位の時間を節約します。
- AlignedOTA:学習中の分類タスクと回帰タスク間の位置ずれ問題を解決する、改良されたラベル割り当て戦略。
長所と短所
YOLO 主な強みはYOLO レイテンシーを重視した設計YOLO 。NASを活用することで、特定の計算リソース内で最大限の精度を引き出す。しかしこの複雑さは諸刃の剣となり得る。NASベースのアーキテクチャは、手動設計のアーキテクチャと比較して、カスタムデータセット向けに修正や微調整が困難な場合がある。さらに、ディスティレーション(大規模な教師モデルが生徒モデルを導く手法)への依存は、トレーニングパイプラインに複雑さを加える。
PP-YOLOE+の概要
PP-YOLOE+はPP-YOLOEの進化版であり、PaddleDetectionスイートの基盤となる製品です。クラウドとエッジ環境への柔軟な展開に重点を置いています。
著者: PaddlePaddle
組織:Baidu
日付:2022年4月2日
Arxiv:PP-YOLOE Paper
GitHub:PaddlePaddle
アーキテクチャの革新
PP-YOLOE+はアンカーフリーパラダイムを基盤とし、洗練性と学習安定性を重視する:
- CSPRepResStage:本バックボーンは、再パラメータ化可能な残差ブロックを備えたスケーラブルなCSP(Cross Stage Partial)構造を採用しており、学習時には複雑な特徴抽出を、推論時には簡素化された演算を可能とする。
- タスクアラインメント学習(TAL):分類スコアとIoU Intersection over Union)の両方に基づき、アンカーポイントを真値オブジェクトと明示的に整合させる動的ラベル割り当て方式。
- 効果的な絞り込みと活性化(ESE):バックボーンに統合された注意機構であり、チャネルごとの特徴応答を再調整することで特徴表現を強化する。
長所と短所
PP-YOLOE+はエコシステム統合に優れています。PaddlePaddle の一部であるため、サーバーサイドGPUやモバイルデバイスを含む多様なデプロイ先を強力にサポートします。ただし、標準PyTorch パフォーマンスは、モデル変換やPaddlePaddle 特定構文への適応が必要となることで阻害される可能性があります。これにより、標準的なPyTorchに慣れた開発者にとって摩擦が生じる場合があります。 PyTorch パイプラインに慣れた開発者にとって摩擦を生じさせる可能性があります。
パフォーマンス比較
以下の表は、COCO における2つのモデルの性能差を比較したものです。
| モデル | サイズ (ピクセル) | mAPval 50-95 | 速度 CPU ONNX (ms) | 速度 T4 TensorRT10 (ms) | params (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| DAMO-YOLOt | 640 | 42.0 | - | 2.32 | 8.5 | 18.1 |
| DAMO-YOLOs | 640 | 46.0 | - | 3.45 | 16.3 | 37.8 |
| DAMO-YOLOm | 640 | 49.2 | - | 5.09 | 28.2 | 61.8 |
| DAMO-YOLOl | 640 | 50.8 | - | 7.18 | 42.1 | 97.3 |
| 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 |
分析
- 小型モデル(ナノ/タイニー):YOLO タイニー版でより高い精度(mAP)を示し、制約環境におけるNAS最適化バックボーンの有効性を実証している。ただし、PP-YOLOE+tはパラメータ数が大幅に少ない(485万対850万)ため、ストレージが極めて制約されたデバイスには適している可能性がある。
- 中規模から大規模モデル:モデルサイズが大きくなるにつれ、PP-YOLOE+は精度面でより優れたスケーラビリティを示し、中規模および大規模YOLO を上回る(例:mAP 52.9mAP 50.8mAP )。
- 推論速度:YOLO TensorRT において優れたレイテンシを示し、「レイテンシファースト」のアーキテクチャ探索を実証している。一方、PP-YOLO+sは驚くほど効率的な速度(2.62ms)を示し、特定のリアルタイムアプリケーションにおける有力な候補となっている。
Ultralytics のUltralytics :YOLO26
YOLO 特定のニッチ分野で優れた機能を提供するが、Ultralytics コンピュータビジョンにおける次の進化段階を体現し、抜本的なアーキテクチャ変更と使いやすさの向上を通じて、両先行モデルの限界を克服している。
なぜYOLO26が優れた選択肢なのか
- NMS: YOLO YOLOE+やYOLO 非最大抑制(NMS)によるボックスの重複フィルタリングを必要とするのに対し、YOLO26はネイティブにエンドツーエンドです。これにより主要な導入上のボトルネックが解消され、レイテンシのばらつきが低減され、ONNXなどの形式へのエクスポートプロセスが簡素化されます。 ONNX やCoreMLへのエクスCoreML。
- CPU :エッジコンピューティング向けに最適化されたYOLO26は、前世代と比較して最大CPU を実現します。これは、GPUが利用できないラズベリーパイ、スマートフォン、標準的なクラウドインスタンス上で動作するアプリケーションにとって極めて重要です。
- 高度なトレーニング安定性:YOLO26はMuSGDオプティマイザーを採用しています。SGD ューオン(LLMトレーニングに着想を得た手法)のハイブリッドであり、複雑なカスタムデータセットであっても、より速い収束と安定したトレーニング実行を保証します。
- 簡素化されたアーキテクチャ:分布型焦点損失(DFL)の除去によりモデル構造が簡素化され、複雑な損失関数に苦戦する低電力エッジデバイスやアクセラレータとの互換性が向上する。
- 包括的なエコシステム: Ultralytics により、ユーザーはデータ管理、クラウドトレーニング、ワンクリックデプロイメントのためのシームレスなパイプラインを利用できます。
検知を超えた多様性
主に検出に焦点をYOLO 異なり、YOLO26YOLO インスタンスセグメンテーション、姿勢推定、OBB(Oriented Bounding Box)、分類を含む全タスクをネイティブにサポートする。
使いやすさ
Ultralytics 決定的な特徴の一つは開発者体験である。YOLO 複雑な設定ファイルやフレームワーク固有の知識を必要とする場合がある一方で、YOLO26はわずか数行のコードで実装可能である。
from ultralytics import YOLO
# Load the latest YOLO26 nano model
model = YOLO("yolo26n.pt")
# Train the model on your custom dataset
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# Run inference on an image
results = model("https://ultralytics.com/images/bus.jpg")
# Export to ONNX for deployment
model.export(format="onnx")
実際のユースケース
- スマート小売:高価なGPU なしで、YOLO26の高速処理を活用し、棚の在庫をリアルタイムで監視。
- 農業: ProgLoss + STAL機能を駆使し、ドローン画像における害虫検出や作物計数に不可欠な微小物体認識を向上させる。
- 製造:一貫したレイテンシが必須条件である組立ラインにおいて、高速品質管理のためのNMSモデルを展開する。
結論
適切なモデルの選択は、具体的な制約条件によって異なります。YOLO、NASアーキテクチャの研究や特定のTensorRT 優先するシナリオにおいて優れた選択肢です。PP-YOLOE+は、Baiduエコシステムに深く統合され、サーバーグレードのハードウェアで高精度を必要とする場合に堅牢な選択肢となります。
しかし、将来性があり、使いやすく、高い汎用性を求める大多数の開発者や企業にとって、Ultralytics 際立った存在です。そのエンドツーエンド設計、CPU 、そして活発なオープンソースコミュニティの支援により、現代のコンピュータビジョンアプリケーションにおける決定的な選択肢となっています。
他の最先端オプションにご興味のあるユーザーは、以下をご覧ください YOLO11 またはトランスフォーマーベースの RT-DETR をUltralytics でご確認ください。