YOLOv6: 高速かつ正確な物体検出フレームワークがオープンソース化

YOLOv6: 高速かつ正確な物体検出フレームワークがオープンソース化

著者: Chu Yi、Kai Heng 他

最近、Meituan のビジュアル インテリジェンス部門は、検出精度と推論効率の両方に重点を置いた、産業用アプリケーション専用のオブジェクト検出フレームワーク YOLOv6 を開発しました。研究開発の過程で、ビジュアルインテリジェンス部門は、学界や産業界の最先端の進歩や科学研究の成果を吸収し、学びながら、探求と最適化を続けました。権威あるターゲット検出データセット COCO での実験結果では、YOLOv6 は検出精度と速度の点で同じサイズの他のアルゴリズムを上回っていることが示されています。また、さまざまなプラットフォームへの展開をサポートしているため、エンジニアリング展開時の適応作業が大幅に簡素化されます。より多くの学生の役に立つことを願って、これをオープンソース化します。

1. 概要

YOLOv6 は、Meituan の Visual Intelligence 部門が開発した、産業用アプリケーション専用のオブジェクト検出フレームワークです。このフレームワークは、検出精度と推論効率の両方に重点を置いています。業界で一般的に使用されているサイズ モデルの中で、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にオープンソース化されています。困っている友人はいつでもスターをつけて集めて使用できます。

YOLOv5やYOLOXよりもはるかに高い精度と速度を備えた新しいフレームワーク

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

図1-1 異なるサイズのYOLOv6モデルと他のモデルのパフォーマンス比較

図1-2異なる解像度での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]の紹介であり、ハードウェアにおける計算能力とメモリ帯域幅の関係を示しています。

図2 ルーフラインモデルの概要

そこで、ハードウェアを考慮したニューラル ネットワーク設計のアイデアに基づいて、Backbone と Neck を再設計し、最適化しました。この考え方は、ハードウェアの特性と推論フレームワーク/コンパイルフレームワークの特徴に基づいており、ハードウェアとコンパイルに適した構造を設計原則としています。ネットワークを構築する際には、ハードウェアの計算能力、メモリ帯域幅、コンパイル最適化機能、ネットワーク表現機能などを総合的に考慮し、高速で優れたネットワーク構造を実現します。上記の 2 つの再設計された検出コンポーネントは、YOLOv6 では EfficientRep Backbone と Rep-PAN Neck と呼ばれます。主な貢献は次のとおりです。

  1. RepVGG [4]スタイルの構造が導入されました。
  2. Backbone と Neck はハードウェア認識に基づいて再設計されました。

RepVGG [4]スタイルの構造は、トレーニング中にマルチブランチトポロジーを持ち、実際の展開では単一の3x3畳み込みに同等に融合できる再パラメータ化可能な構造です(融合プロセスを下の図3に示します)。 3x3 畳み込み構造を融合することで、計算集約型ハードウェア ( GPU など) の計算能力を効果的に活用できると同時に、GPU/CPU 上で高度に最適化された NVIDIA cuDNN および Intel MKL コンパイル フレームワークの支援も受けることができます。

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

図3 Rep演算子の融合プロセス[4]

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

下の図4は、EfficientRep Backboneの具体的な設計構造図です。Backboneの通常のStride=2のConvレイヤーをStride=2のRepConvレイヤーに置き換えました。同時に、元の CSP-Block は RepBlock に再設計され、RepBlock の最初の RepConv がチャネル次元の変換とアライメントを実行します。さらに、オリジナルの SPPF をより効率的な SimSPPF に最適化しました。

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

Rep-PAN :Neck設計に関しては、ハードウェア上での推論をより効率的にし、精度と速度のより良いバランスを実現するために、ハードウェア対応ニューラルネットワークの設計思想に基づいて、YOLOv6用のより効果的な特徴融合ネットワーク構造を設計しました。

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

図5 Rep-PAN構造図

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

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

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

図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 損失などがあります。これらの損失関数は、予測ボックスとターゲット ボックスの重なり具合、中心点の距離、アスペクト比などの要素を考慮して、予測ボックスとターゲット ボックス間のギャップを測定し、ネットワークが損失を最小限に抑えるように誘導して回帰精度を向上させます。ただし、これらの方法では、予測ボックスとターゲット ボックス間の方向の一致は考慮されません。 SIoU 損失関数は、必要な回帰間のベクトル角度を導入することで距離損失を再定義し、回帰の自由度を効果的に削減し、ネットワークの収束を加速し、回帰の精度をさらに向上させます。実験にYOLOv6sのSIoU損失を使用すると、CIoU損失と比較して、平均検出精度が0.3% AP向上します。

3. 実験結果

上記の最適化戦略と改善により、YOLOv6 は複数の異なるサイズのモデルで優れたパフォーマンスを実現しました。下の表1はYOLOv6-nanoのアブレーション実験結果を示しています。実験結果から、独自に設計した検出ネットワークが精度と速度の両方で大きな向上をもたらしたことがわかります。

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

表2 異なるサイズでのYOLOv6モデルのパフォーマンスと他のモデルとの比較

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

4. まとめと展望

本稿では、Meituan の Visual Intelligence 部門がターゲット検出フレームワークで行った最適化と実践経験を紹介します。YOLO シリーズ フレームワークのトレーニング戦略、バックボーン ネットワーク、マルチスケール機能融合、検出ヘッドなどの側面を検討して最適化し、新しい検出フレームワークである YOLOv6 を設計しました。当初の目的は、産業用アプリケーションの実装で遭遇する実際的な問題を解決することでした。

YOLOv6フレームワークを構築する際、ハードウェアを考慮したニューラルネットワーク設計のアイデアに基づいて独自に開発したEfficientRep Backbone、Rep-Neck、Efficient Decoupled Headなどの新しい手法を模索し、最適化しました。同時に、Anchor-free、SimOTA、SIoU回帰損失など、学界と産業界の最先端の進歩と成果も吸収し、学びました。 COCO データセットの実験結果によると、YOLOv6 は検出精度と速度の両方でトップクラスであることが示されています。

今後もYOLOv6エコシステムの構築と改善を続けていきます。主な作業には以下の側面が含まれます。

  1. YOLOv6 モデルの全範囲を改善し、検出パフォーマンスを継続的に向上させます。
  2. 複数のハードウェア プラットフォーム上でハードウェア対応モデルを設計します。
  3. ARM プラットフォームの展開と定量蒸留などのフルチェーン適応をサポートします。
  4. 半教師あり学習、自己教師あり学習などの関連技術を水平展開・導入します。
  5. より未知のビジネス シナリオにおける YOLOv6 の一般化パフォーマンスを調査します。

<<:  世界最大の AI チップが、単一デバイスでの大規模モデルのトレーニング記録を更新。Cerebras は GPU を「殺す」ことを目指している

>>:  Tフロントライン | ZuoyebangのチーフAIアーキテクト、王燕氏との独占インタビュー:AIの包括性は革新的な思考にある

ブログ    
ブログ    
ブログ    

推薦する

ニューラルネットワークはマルウェアを隠すことができる、と研究で判明

[[441136]] [51CTO.com クイック翻訳]ディープラーニング モデルには数百万、ある...

...

ヘルスケアがビッグデータの恩恵を受ける6つの方法

テクノロジーは常に世界を変えています。人工知能とビッグデータが融合し、人々にさまざまな恩恵をもたらし...

...

AI 導入を迅速に進める 5 つの方法

重要な実現技術である AI の急速な成功により、より広範なデジタル変革とイノベーションの取り組みへの...

Redditのランキングアルゴリズムの仕組み

これは、「Hacker News のランキング アルゴリズムの仕組み」に続く、ランキング アルゴリズ...

ディープラーニングに基づくターゲット検出ネットワークが誤検出を起こす可能性がある理由と、ターゲット検出の誤検出問題を最適化する方法について説明します。

顔検出などの物体検出用のディープラーニング ネットワークにとって、誤検出は非常に厄介なものです。犬を...

AI はプラットフォーム エンジニアリングと DevEx をどのように強化するのでしょうか?

ヘザー・ジョスリン編纂者:Xing Xuan DevOps を導入している多くの企業にとって、開発者...

...

...

AIとIoTの相互運用性に対する需要は2021年も増加し続ける

[[390687]]画像ソース: https://pixabay.com/images/id-440...

CNNとRNNについての簡単な説明

[[338562]] 【51CTO.comオリジナル記事】 1 はじめに前回の記事では、ディープラー...

スマートコミュニティにおける人工知能応用の5つのシナリオ

モノのインターネット、クラウド コンピューティング、ビッグ データ、人工知能は、概念からアプリケーシ...