YOLOv6 の高速かつ正確なターゲット検出フレームワークがオープンソース化されました

王林
リリース: 2023-05-09 14:52:08
転載
1025 人が閲覧しました

著者: Chu Yi、Kai Heng など

最近、Meituan のビジュアル インテリジェンス部門は、検出精度と推論効率を同時に重視できる産業アプリケーション専用のターゲット検出フレームワーク YOLOv6 を開発しました。時間。研究開発プロセス中、ビジュアル インテリジェンス部門は、学界や産業界からの最先端の開発や科学研究の結果を活用しながら、探索と最適化を続けました。信頼できるターゲット検出データセットである COCO での実験結果では、YOLOv6 が検出精度と速度の点で同規模の他のアルゴリズムを上回っていることが示されており、さまざまな異なるプラットフォームの展開もサポートしており、プロジェクト展開時の適応作業が大幅に簡素化されています。 。これはオープンソースであり、より多くの学生を支援することを期待しています。

1. 概要

YOLOv6 は、Meituan のビジュアル インテリジェンス部門によって開発されたターゲット検出フレームワークであり、産業用アプリケーションに特化しています。このフレームワークは、検出精度と推論効率の両方に重点を置いており、業界で一般的に使用されているサイズ モデルの中で、YOLOv6-nano の精度は COCO で最大 35.0% AP、推論速度は です。 T4。1242 FPS; YOLOv6-s は、COCO で 43.1% AP の精度、T4 で 520 FPS の推論速度を達成できます。デプロイメントに関して、YOLOv6 は、GPU (TensorRT)、CPU (OPENVINO)、ARM (MNN、TNN、NCNN) などのさまざまなプラットフォームのデプロイメントをサポートします。これにより、プロジェクト展開時の適応作業が大幅に簡素化されます。現在、プロジェクトは Github、ポータル: YOLOv6 にオープンソース化されています。困っている友達は、Star にアクセスして収集し、いつでもアクセスしてください。

YOLOv5 や YOLOX をはるかに超える精度と速度を実現した新しいフレームワーク

オブジェクト検出は、コンピュータ ビジョン分野の基礎技術として、広く利用されています。中でも YOLO シリーズ アルゴリズムは、総合的なパフォーマンスが優れているため、ほとんどの産業アプリケーションで徐々に推奨されるフレームワークになりました。これまで、業界は多くの YOLO 検出フレームワークを導き出してきました。その中には、YOLOv5[1]、YOLOX[2]、PP-YOLOE[3] があります。最も代表的なパフォーマンスですが、実際に使用してみると、上記のフレームワークには速度と精度の点でまだ改善の余地があることがわかりました。これに基づいて、業界の既存の先進技術を研究および活用することにより、新しいターゲット検出フレームワーク YOLOv6 を開発しました。このフレームワークは、モデルのトレーニング、推論、マルチプラットフォーム展開などの産業アプリケーション要件の完全なチェーンをサポートし、ネットワーク構造やトレーニング戦略などのアルゴリズム レベルで多くの改善と最適化を行っています。COCO データ セットでは、YOLOv6同じサイズの他のアルゴリズムを上回る、関連する結果を以下の図 1 に示します。 1 YOLOv6 モデルの各サイズと他モデルのパフォーマンスの比較

YOLOv6 の高速かつ正確なターゲット検出フレームワークがオープンソース化されました

図 1-2 YOLOv6 と他のモデルのパフォーマンス比較異なる解像度の他のモデル

YOLOv6 の高速かつ正確なターゲット検出フレームワークがオープンソース化されました図 1-1

は、異なるサイズのネットワークにおける各検出アルゴリズムのパフォーマンスの比較を示しています。曲線上の点は、それぞれ検出アルゴリズムのパフォーマンスを表しています異なるサイズのネットワーク (s /tiny/nano) モデルのパフォーマンスでは、図からわかるように、YOLOv6 は精度と速度の点で同じサイズの他の YOLO シリーズ アルゴリズムを上回っています。 。 図 1-2 は、入力解像度が変化したときの各検出ネットワーク モデルのパフォーマンスの比較を示しています。曲線上の点は左から右に、画像解像度が順次増加するときを表します (384/448/512/576 / 640) このモデルのパフォーマンスは、図からわかるように、さまざまな解像度の下でも YOLOv6 が大きなパフォーマンス上の利点を維持しています。 2. YOLOv6 の主要テクノロジーの紹介YOLOv6 では、主に背骨、首、頭、トレーニング戦略において多くの改善が加えられています:

  • 私たちは、統合された方法でより効率的なバックボーンとネックを設計しました。ハードウェア対応ニューラル ネットワークの設計アイデアに触発され、RepVGG スタイルに基づいて再パラメータ化可能でより効率的な設計を設計しました。 [4] EfficientRep バックボーンと Rep-PAN ネック。
  • より簡潔で効果的な効率的な分離ヘッドは、精度を維持しながら、一般的な分離ヘッドによって生じる追加の遅延オーバーヘッドをさらに削減するように最適化および設計されています。
  • トレーニング戦略に関しては、SimOTA[2] ラベル割り当て戦略と SIoU[ 9] 境界ボックス回帰損失により、検出精度がさらに向上します。
2.1 ハードウェアに優しいバックボーン ネットワーク設計

YOLOv5/YOLOX で使用されるバックボーンとネックは両方とも CSPNet に基づいて構築されています[5] 、マルチブランチ アプローチと残差構造を使用します。 GPU などのハードウェアの場合、この構造によりレイテンシがある程度増加し、メモリ帯域幅の使用率が低下します。以下の図 2 は、コンピュータ アーキテクチャの分野におけるルーフライン モデル #[8] の紹介であり、ハードウェアのコンピューティング能力とメモリ帯域幅の関係を示しています。

YOLOv6 の高速かつ正確なターゲット検出フレームワークがオープンソース化されました

図2 ルーフラインモデル紹介図

そこで、ハードウェアを意識したニューラル ネットワーク設計、バックボーンとネックが再設計され、最適化されました。この考え方は、ハードウェアの特性と推論フレームワーク/コンパイルフレームワークの特性を踏まえ、ハードウェアとコンパイルしやすい構造を設計原則とし、ハードウェアの計算能力、メモリ帯域幅などを総合的に考慮してネットワークを構築します。 、コンパイル最適化特性、ネットワーク表現機能などを確認し、高速で良好なネットワーク構造を取得します。上記の 2 つの再設計された検出コンポーネントについて、YOLOv6 ではそれぞれ EfficientRep Backbone と Rep-PAN Neck と呼びます。これらの主な貢献は次のとおりです:

  1. RepVGG の導入[ 4] スタイル構造。
  2. バックボーンとネックはハードウェアを意識した考え方に基づいて再設計されました。

RepVGG[4] スタイル構造はトレーニング中はマルチブランチ トポロジであり、実際のデプロイメント中に単一の 3x3 に等価に融合できます。畳み込みの構造 (融合プロセスは以下の図 3 に示されています)。融合された 3x3 畳み込み構造により、計算集約型のハードウェア (GPU など) の計算能力を効果的に利用でき、GPU/CPU 上の高度に最適化された NVIDIA cuDNN および Intel MKL コンパイル フレームワークの助けも得られます。得られる。 。

実験の結果、上記の戦略により、YOLOv6 はハードウェア遅延を削減し、アルゴリズムの精度を大幅に向上させ、検出ネットワークをより高速かつ強力にすることがわかりました。ナノサイズモデルを例にとると、YOLOv5-nano で使用されるネットワーク構造と比較して、この方法では速度が 21% 向上し、精度が 3.6% AP 向上します。

YOLOv6 の高速かつ正確なターゲット検出フレームワークがオープンソース化されました

図 3 Rep オペレーターの融合プロセス[4]

EfficientRep Backbone: バックボーンの設計に関しては、上記の Rep オペレーターに基づいて効率的なバックボーンを設計しました。 YOLOv5 で使用される CSP-Backbone と比較して、この Backbone はハードウェア (GPU など) の計算能力を効率的に利用でき、強力な表現能力も備えています。

下の図 4 は EfficientRep Backbone の具体的な設計構造図で、Backbone の stride=2 の通常の Conv 層を stride=2 の RepConv 層に置き換えています。同時に、元の CSP ブロックは RepBlock に再設計され、RepBlock の最初の RepConv が変換され、チャネルの次元が調整されます。さらに、元の SPPF をより効率的な SimSPPF に最適化します。

YOLOv6 の高速かつ正確なターゲット検出フレームワークがオープンソース化されました

図 4 EfficientRep バックボーン構造図

Rep-PAN:ネック設計に関しては、ハードウェアでの推論をより効率的にし、精度と速度のより良いバランスを達成するために、ハードウェアを意識したニューラル ネットワーク設計のアイデアに基づいて、YOLOv6 のより効果的な機能融合ネットワーク構造を設計しました。

Rep-PAN は PAN[6] トポロジに基づいており、RepBlock を使用して YOLOv5 で使用されている CSP-Block を置き換え、同時にネック全体のオペレーターを調整します。その目的は、ハードウェア上で効率的な推論を実現しながら、優れたマルチスケール機能融合機能を維持することです (Rep-PAN 構造図は以下の図 5 に示されています)。

YOLOv6 の高速かつ正確なターゲット検出フレームワークがオープンソース化されました

図 5 Rep-PAN 構造図

2.2 より簡潔で効率的な分離ヘッド

YOLOv6 では、分離型検出ヘッド (Decoupled Head) 構造を採用し、設計を合理化しています。オリジナルの YOLOv5 の検出ヘッドは分類ブランチと回帰ブランチをマージして共有することによって実装されていますが、YOLOX の検出ヘッドは分類ブランチと回帰ブランチを分離し、さらに 2 つの 3x3 畳み込み層を追加しています。検出精度は向上していますが、ネットワーク遅延はある程度増加します。

したがって、関連する演算子の表現能力とハードウェアの計算オーバーヘッドとのバランスを考慮してデカップリング ヘッドの設計を合理化し、ハイブリッドを使用して再設計しました。チャネル戦略 より効率的なデカップリング ヘッド構造が開発され、精度を維持しながら遅延が削減され、デカップリング ヘッドの 3x3 畳み込みによって生じる追加の遅延オーバーヘッドが軽減されます。ナノサイズのモデルでアブレーション実験を実施し、同じチャネル数のデカップリングヘッド構造を比較することにより、精度が 0.2% AP 向上し、速度が 6.8% 向上しました。

YOLOv6 の高速かつ正確なターゲット検出フレームワークがオープンソース化されました

#図 6 効率的な分離ヘッド構造図

2.3 より効果的なトレーニング戦略

#検出精度をさらに向上させるために、私たちは学界や産業界の他の検出フレームワークからの高度な研究の進歩を活用しています:アンカーフリーアンカーフリーパラダイム、SimOTAラベル割り当て戦略、SIoUバウンディングボックス回帰損失。

アンカーフリーアンカーフリーパラダイム

YOLOv6 は、より簡潔なアンカーフリー検出方法を採用しています。アンカーベースの検出器は、トレーニング前にクラスター分析を実行して最適なアンカー セットを決定する必要があるため、検出器の複雑さがある程度増加します。同時に、一部のエッジエンド アプリケーションでは、多数の検出結果が発生します。ハードウェアステップ間で転送する必要がある場合も、追加の遅延が発生します。アンカーフリーアンカーフリーパラダイムは、その強力な一般化能力とより単純なデコードロジックにより、近年広く使用されています。アンカーフリーに関する実験的研究の結果、アンカーベースの検出器の複雑さによって生じる追加の遅延と比較して、アンカーフリー検出器では速度が 51% 向上していることがわかりました。

SimOTA ラベル割り当て戦略

より高品質の陽性サンプルを取得するために、YOLOv6 は SimOTA

[4]## を導入しました。 #このアルゴリズムは、検出精度をさらに向上させるために、陽性サンプルを動的に割り当てます。 YOLOv5 のラベル割り当て戦略はシェイプ マッチングに基づいており、クロスグリッド マッチング戦略を通じて陽性サンプルの数を増やすことで、ネットワークを迅速に収束させることができます。ただし、この方法は静的な割り当て方法であり、それに沿って調整されることはありません。ネットワークトレーニングプロセスを使用します。

近年、動的ラベル割り当てに基づいた手法が多数登場しており、このような手法では、トレーニング プロセス中にネットワーク出力に基づいて陽性サンプルが割り当てられ、より高品質な陽性サンプルが生成されます。 、ひいてはネットワークの前向き最適化を促進します。たとえば、OTA[7]

はサンプル マッチングを最適な伝送問題としてモデル化し、グローバル情報の下で最適なサンプル マッチング戦略を取得して精度を向上させますが、OTA は Sinkhorn-Knopp アルゴリズムを使用するため、トレーニングに時間がかかりますが延長され、SimOTA

[4] アルゴリズムは Top-K 近似戦略を使用してサンプルの最適一致を取得するため、トレーニングが大幅に高速化されます。したがって、YOLOv6 は SimOTA 動的割り当て戦略を採用し、それをアンカーフリー パラダイムと組み合わせて、ナノサイズ モデルで平均検出精度を 1.3% AP 向上させます。 SIoU バウンディング ボックス回帰損失

回帰精度をさらに向上させるために、YOLOv6 は SIoU を採用しています。 [9 ]

ネットワークの学習を監視する境界ボックス回帰損失関数。ターゲット検出ネットワークのトレーニングには、通常、分類損失とバウンディング ボックス回帰損失という少なくとも 2 つの損失関数の定義が必要です。損失関数の定義は、多くの場合、検出精度とトレーニング速度に大きな影響を与えます。

近年、一般的に使用されるバウンディングボックス回帰損失には、IoU、GIoU、CIoU、DIoU損失などが含まれます。これらの損失関数は、予測フレームとターゲットフレームの間の重なりの程度、中心点などの要素を考慮します。 2 つの間のギャップを測定し、それによってネットワークが損失を最小限に抑えて回帰精度を向上させるように誘導しますが、これらの方法では、予測ボックスとターゲット ボックスの間の方向の一致は考慮されていません。 SIoU 損失関数は、必要な回帰間にベクトル角を導入することで距離損失を再定義し、回帰の自由度を効果的に低減し、ネットワークの収束を加速し、回帰精度をさらに向上させます。 YOLOv6s での実験に SIoU 損失を使用すると、CIoU 損失と比較して、平均検出精度が 0.3% AP 向上しました。

3. 実験結果

上記の最適化戦略と改善により、YOLOv6 はさまざまなサイズの複数のモデルで優れたパフォーマンスを達成しました。以下の表 1 は、YOLOv6-nano のアブレーション実験結果を示しており、実験結果から、当社が独自に設計した検出ネットワークにより、精度と速度の両方で大きな向上がもたらされたことがわかります。 YOLOv6 の高速かつ正確なターゲット検出フレームワークがオープンソース化されました

表 1 YOLOv6 ナノ アブレーション実験結果以下の表 2 は、現在主流の他の YOLO シリーズ アルゴリズムと比較した YOLOv6 の実験結果を示しています。表から次のことがわかります。

YOLOv6 の高速かつ正確なターゲット検出フレームワークがオープンソース化されました

#表 2 さまざまなサイズの YOLOv6 モデルと他のモデルのパフォーマンスの比較

  • YOLOv6-nano は、COCO val で 35.0% AP の精度を達成しました。同時に、T4 での推論に TRT FP16 バッチサイズ = 32 を使用すると、1242FPS のパフォーマンスを達成できます。 nano、精度が 7% AP 増加、速度が 85% 増加します。
  • YOLOv6-tiny は、COCO val で 41.3% AP の精度を達成しました。同時に、T4 での推論に TRT FP16 バッチサイズ = 32 を使用すると、602FPS のパフォーマンスを達成できます。 YOLOv5 -s と比較して、精度が 3.9% AP、速度が 29.4% 向上します。
  • YOLOv6-s は、COCO val で 43.1% AP の精度を達成しました。同時に、T4 での推論に TRT FP16 バッチサイズ = 32 を使用すると、520FPS のパフォーマンスを達成できます。 YOLOX -s と比較すると、精度が 2.6% AP 向上し、速度が 38.6% 向上します。PP-YOLOE-s と比較して、精度が 0.4% AP 向上し、単一バッチ推論に T4 上の TRT FP16 を使用すると、速度が 0.4% 向上します。 71.3%。

4. 概要と展望

この記事では、ターゲット検出フレームワークにおける Meituan Visual Intelligence 部門の最適化と実践経験を紹介します。 , 私たちは、YOLO シリーズ フレームワークのトレーニング戦略、バックボーン ネットワーク、マルチスケール特徴融合、検出ヘッドなどを考えて最適化し、新しい検出フレームワーク YOLOv6 を設計しました。当初の目的は、実際に発生した問題を解決することにありました。産業用アプリケーションの実装に関する質問です。

YOLOv6 フレームワークを構築する際、ハードウェアを意識したニューラル ネットワーク設計アイデアに基づいて、自社開発の EfficientRep Backbone、Rep-Neck、Efficient Decoupled Head などのいくつかの新しい手法を検討し、最適化しました。また、アンカーフリー、SimOTA、SIoU 回帰損失など、学界や産業界での最先端の開発や成果も活用しています。 COCO データセットの実験結果は、YOLOv6 が検出精度と速度の点で最高であることを示しています。

# 今後も、YOLOv6 エコシステムの構築と改善を続けていきます。主な作業には次の側面が含まれます。 YOLOv6 モデルの全範囲に対応し、引き続き検出パフォーマンスを向上させます。

    さまざまなハードウェア プラットフォームでハードウェアに適したモデルを設計します。
  1. ARM プラットフォームの導入や定量的蒸留などのフルチェーンの適応をサポートします。
  2. 半教師あり学習、自己教師あり学習などの関連技術を横展開して導入します。
  3. さらに未知のビジネス シナリオにおける YOLOv6 の汎化パフォーマンスを調べてください。

以上がYOLOv6 の高速かつ正確なターゲット検出フレームワークがオープンソース化されましたの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:51cto.com
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート