YOLOv10 リアルタイムのエンドツーエンドの物体検出

YOLOv10 は、清華大学の研究者によって開発された最新世代のリアルタイム エンドツーエンド ターゲット検出システムで、Ultralytics Python パッケージに基づいて構築されており、後処理とモデル アーキテクチャにおける以前の YOLO バージョンの欠陥を解決することを目的としています。非最大抑制 (NMS) を排除し、さまざまなモデル コンポーネントを最適化することで、YOLOv10 は計算オーバーヘッドを大幅に削減しながら、最先端のパフォーマンスを実現します。研究チームが論文を発表 「YOLOv10: リアルタイムのエンドツーエンドの物体検出」研究のアーキテクチャが詳細に説明されています。

研究の背景

YOLO は、計算コストと検出パフォーマンスの効率的なバランスにより、ここ数年でリアルタイムの物体検出における主要なパラダイムとなっています。研究者たちは、YOLO のアーキテクチャ設計、最適化目標、データ強化戦略などを調査し、大きな進歩を遂げました。ただし、後処理の非最大抑制 (NMS) への依存は、YOLO のエンドツーエンド展開を妨げ、推論遅延に悪影響を及ぼします。さらに、YOLO の個々のコンポーネントの設計には包括的かつ徹底的な調査が不足しており、その結果、大幅な計算冗長性が生じ、モデルの機能が制限されます。これにより、効率は最適ではなくなりますが、パフォーマンスが向上する可能性はかなり高くなります。

YOLOv10 研究紹介

この取り組みにおいて、研究チームは、後処理とモデル アーキテクチャの両方から YOLO のパフォーマンス効率の限界をさらに前進させることを目指しています。この目的を達成するために、研究チームはまず、YOLO NMS フリーのトレーニングに一貫した二重割り当てを提案しました。これにより、競争力のあるパフォーマンスと低い推論遅延が同時に実現されます。さらに、研究チームは、YOLO に全体的な効率と精度を重視したモデル設計戦略を導入しました。研究チームは、効率と精度の観点からYOLOの各コンポーネントを包括的に最適化し、計算オーバーヘッドを大幅に削減し、パフォーマンスを向上させました。研究チームの努力の結果、YOLOv10 と呼ばれる、リアルタイムのエンドツーエンドのターゲット検出のための新世代の YOLO シリーズが誕生しました。広範な実験により、YOLOv10 がさまざまなモデル スケールで最先端のパフォーマンスと効率を達成することが示されています。たとえば、研究チームの YOLOv10-S は、COCO 上の同様の AP では RT-DETR-R18 よりも 1.8 倍高速です。 YOLOv9-C と比較すると、同じパフォーマンスの下で、YOLOv10-B の遅延は 46% 減少し、パラメータは 25% 減少します。 

YOLOv10 のアーキテクチャには、次の主要コンポーネントが含まれています。

  1. バックボーンネットワーク: 特徴抽出を担当し、CSPNet (Cross Stage Partial Network) の拡張バージョンを使用して勾配フローを改善し、計算の冗長性を削減します。
  2. ネック: 異なるスケールの機能を集約し、PAN (パス アグリゲーション ネットワーク) レイヤーを通じて効果的なマルチスケール機能の融合を実現するように設計されています。
  3. 1ペアの長さ: トレーニング プロセス中にオブジェクトごとに複数の予測を生成し、豊富な監視信号を提供して学習精度を向上させます。
  4. 1対1: NMS を使用しない推論中にオブジェクトごとに単一の最適な予測を生成し、待ち時間を短縮し、効率を向上させます。

YOLOv10 には、さまざまなアプリケーションのニーズを満たすさまざまなモデル サイズが用意されています。

  • YOLOv10-N: Nano バージョン、リソースが非常に限られた環境に適しています。
  • YOLOv10-S: 速度と精度のバランスをとった小型バージョン。
  • YOLOv10-M:中程度のバージョンで、一般的な使用に適しています。
  • YOLOv10-B: 精度を向上させるために幅を増やしたバランスのとれたバージョンです。
  • YOLOv10-L: 大型バージョン。コンピューティング リソースの増加を犠牲にして精度が向上します。
  • YOLOv10-X: 最大の精度とパフォーマンスを提供する特大バージョン。

YOLOv10 は、COCO などの標準ベンチマークで広範囲にテストされており、以前のバージョンや他の最新の検出器と比較して遅延と精度が大幅に向上し、優れたパフォーマンスと効率を実証しています。

参考文献

【1】YOLOv10: リアルタイムのエンドツーエンドの物体検出

【2】https://docs.ultralytics.com/zh/models/yolov10/