元のアドレス: https://arxiv.org/pdf/2207.02696v1.pdf
github地址:GitHub - WongKinYiu/yolov7: 論文の実装 - YOLOv7: トレーニング可能な景品の袋がリアルタイム物体検出器の新しい最先端技術を設定
この記事を読む前に、デフォルトで、v1-v6、yolox、ppyoloe などの yolov7 の関連バージョンに精通しているはずです。
余談: 最近、Yolov7 は小さなセンセーションを巻き起こしました。実際、github には 2 つの yolov7 があり (長年の名前の重複の問題がついに現れたのではないかと心配しています)、星は少ないが以前にリリースされたものはフレームワークのようなものであり、対応する論文はありません (作者もgithubでネーミング論争を受けて先に命名しており、v7はバージョン番号ではなくラッキーナンバーが7だからです)。この記事は主に星の多い後の記事に対応しています!つい先日、Meituanが提案したyolov6(2022年6月末)をざっと見てみたが、おそらくyoloxのアンカーフリーとデカップリング検出ヘッドの改良を組み合わせたyolov5がベースだろう。 What's new はないと思いますが (そのため、業界で認識されていないようです)、この yolov7 の影響はかなり大きいようです。 5 FPS から 160 FPS の範囲の精度は、YOLOv7
すべての既知のターゲット検出器を超えています。」 この記事の要約部分は書きません。時間を節約して結論部分に直接進みたいと思います。
目次
3.1 拡張された効率的なレイヤ アグリゲーション ネットワーク
4.2 補助トレーニング モジュール: 粗から細へ (粗から細へ) ガイド ラベル割り当て戦略
1.はじめに
この論文では、主にモバイルGPUとエッジツークラウドGPUデバイスの両方をサポートできることを期待して、リアルタイムオブジェクト検出器を提案します。また、yolov7 の競合分野は「リアルタイム」のターゲット検出であることも指摘されています。高速でなければなりません。
ターゲット検出の現在の 2 つの重要なポイント: 1. モデルの再パラメータ化; 2. 動的なラベルの割り当て。yolov7 は、それを解決するためのいくつかの効果的な方法を設計しました。たとえば、計画された再パラメータ化されたモデルと、粗いリードから細かいリードへのラベル割り当てが提案されています。
最後に、yolov7 の貢献を要約します。 (1) いくつかのトレーニング バッグ オブ 景品 (無料パッケージ、モデルの複雑さを増加させたり、推論の計算量を増加させたりしないトレーニング方法を指します) は、パフォーマンスを向上させるように設計されています。モデルの精度)
(2) ターゲット検出の開発における 2 つの新しい問題を発見: 1. モデルの再パラメータ化; 2. 動的なラベルの割り当て。そして、いくつかのメソッドの対策を考案しました
(3)パラメータと計算を効率的に利用できるリアルタイムオブジェクト検出器のための「スケーリング」および「複合スケーリング」手法を提案します。
(4) パラメータや計算量が減り(速くなり)、推論の速度や精度が向上する
2. 関連作品
2.1 リアルタイム物体検出
まず、最新のリアルタイム ターゲット検出器は、主に yolo シリーズと FCOS シリーズです。また、最先端のリアルタイム ターゲット検出器になることも提案されています. いくつかの利点または改善の方向性があります: 1. より高速で強力なネットワーク構造; 2. より効果的な機能統合法 (FPN); 3. より正確な 4. もっと効果的なラベル割り当て方法; 5. より効果的なトレーニング方法; 6. より堅牢な (ロバストな) 損失関数
著者は、上記の 4、5、および 6 方向に向けて、新しい景品袋を設計することを提案しています。
2.2 モデルの再パラメータ化
モデルの再パラメータ化手法は、推論段階で複数の計算モジュールを 1 つに結合します。モデルの再パラメータ化技術は統合技術と見なすことができ、モジュールレベルの統合とモデルレベルの統合の2 つのカテゴリに分類できます。最終的な推論モデルを取得するためのモデル レベルの再パラメーター化には、2 つの一般的な方法があります。1 つは、複数の同じモデルを異なるトレーニング データでトレーニングし、複数のトレーニング済みモデルの重みを平均化する方法です。もう 1 つは、さまざまな反復でモデルの重みの加重平均を実行することです。近年、モジュールレベルの統合方法が一般的になっています。このアプローチでは、トレーニング中にモジュールを複数の同一または異なるモジュール ブランチに分割し、推論中に複数のブランチされたモジュールを完全に同等のモジュールに統合します。ただし、提案されているすべての再パラメータ化モジュールをさまざまなアーキテクチャに完全に適用できるわけではありません。したがって、新しい再パラメータ化モジュールを開発し、さまざまなアーキテクチャに関連するアプリケーション戦略を設計します。
2.3 モデルのスケーリング
モデルのスケーリングは、設計されたモデルを拡大または縮小し、さまざまなコンピューティング デバイスに適応させる方法です。モデルのスケーリング方法では、通常、解像度 (入力画像のサイズ)、深さ (レイヤーの数)、幅 (チャネルの数)、ステージ (フィーチャ ピラミッドの数) などのさまざまなスケーリング ファクターを使用して、ネットワーク パラメーターの数、計算、推論速度、精度の良いトレードオフを比較します。提案されたYOLOV7アーキテクチャはカスケードベースであるため、このモデルの新しい複合スケーリング方法を設計します。
3. ネットワーク構造
3.1 拡張された効率的なレイヤ アグリゲーション ネットワーク
yolov7 によって提案された E-ELAN (右端) は、元の勾配伝送パスを破壊することなく、ネットワークの学習能力を向上させるために、拡張、シャッフル、マージ カーディナリティ構造を採用しています。アーキテクチャに関しては、E-ELAN はコンピューティング モジュールの構造のみを変更しますが、遷移層の構造はまったく変更されません。著者の戦略は、グループ畳み込みを使用してコンピューティング モジュールのチャネルとカーディナリティを拡張し、各層のすべてのモジュールを計算するために同じグループ パラメータとチャネル乗数を使用することです。次に、各モジュールによって計算された特徴マップは、設定されたグループ番号 G に従って G グループにシャッフルされ、最終的にそれらは結合されます。この時点で、機能マップの各セットのチャネル数は元のアーキテクチャと同じになります。最後に、作成者は G グループ機能をマージに追加します。これにより、コンピューティング ブロックのさまざまなグループをガイドして、より多様な機能を学習できます。
3.2連結に基づくモデルのスケーリング
通常、連結ベースのモデルに対して深度スケーリングを実行すると、計算ブロックの出力幅も増加します (a から b) ため、(c) が提案されます。つまり、連結ベースのモデルに対してモデル スケーリングを実行する場合のみ、計算ブロックは、深さがスケーリングされ、それに応じて残りのトランジション転送レイヤーの幅がスケーリングされる。モデルを当初の設計のまま維持し、最良の構造を維持します。
4. トレーニング方法(コツ)
4.1 計画的な再パラメータ化畳み込み
ResNet
Planned re-parameterized convolution (RepConv) は VGG で優れたパフォーマンスを達成しましたが、やその他のアーキテクチャ に直接適用するとDenseNet
、精度が大幅に低下します。著者は、勾配流伝搬経路を使用して、再パラメーター化された畳み込みを異なるネットワークと組み合わせる方法を分析し、残差 (Res) および直列 (Dense) 接続を持つレイヤーで RepConv を使用する場合、恒等接続があってはならないことを発見したため、設計RepConvN (ID 接続が削除されました)。著者は、計画された再パラメータ化された畳み込みもそれに応じて設計しました (下の図は、d に対する egh の 3 つの実行可能なソリューションを示しています)。Plain は平易で普通の意味を表すことに注意してください
4.2 補助トレーニング モジュール: 粗から細へ (粗から細へ) ガイド ラベル割り当て戦略
この部分はさらにわかりにくいです。著者は、「深く監視された」最適化方法を紹介します。このアルゴリズムは、一般的なモデル (a) に対して、auxiliary head
中間層に補助トレーニング用の追加の補助ヘッド ( ) を追加し、ネットワーク全体の検出ヘッドを補助ヘッドと最終層に分割する (b) のような構造に変更します。予測されたブートストラップ ヘッダー ( lead head
)。
これまで、ディープ ネットワークのトレーニングでは、通常、ラベルの割り当てはグラウンド トゥルースを直接参照し、特定のルールに従ってハード ラベルが生成されていました。ただし、近年、ターゲット検出を例にとると、研究者はネットワークを使用して出力の品質と分布を予測し、GT の考慮事項を組み合わせて、計算と最適化の方法を使用して信頼できるソフトラベルを生成することがよくあります。たとえば、YOLO はバウンディング ボックス回帰予測とグラウンド トゥルース IoU を客観性のソフト ラベルとして使用します。この論文では、ネットワーク予測結果を GT と一緒に検討し、次にソフトラベル割り当ての問題を検討します。
そのため、著者は問題を発見しました:「ソフトラベルをに割り当てる方法と auxiliary head
」lead head
? 現在の既存の方式では、補助ヘッドとガイド ヘッドは独立しており、グランド トゥルースとそれら (補助ヘッド、ガイド ヘッド) のそれぞれの予測結果を使用して、図 (c) のようにラベルを割り当てます。
YOLOV7 アルゴリズムは、図 (d) に示すように、ガイド ヘッドの予測結果をガイドとして使用して、粗いものから細かいものまでの階層ラベルを生成し、これらの階層ラベルをそれぞれ補助ヘッドとガイド ヘッドの学習に使用することを提案しています。および (e)。この理由は、lead head
学習能力が比較的強いため、結果として得られるソフト ラベルは、ソース データとターゲット データの間の分布と相関関係をよりよく表しているはずです。さらに、この学習も一種の学習と見ることができますgeneralized residual learning
。すでに学習した情報をより浅くauxiliary head
直接学習できるようにすることで、まだ学習していない残りの情報を学習することに集中できるようになります。lead head
lead head
4.3 その他のトリック
conv-bn-activation topology
( 1) Batch normalization
: この部分は主にbatch normalization layer
畳み込み層に直接接続されます。これの目的は、推論段階で、バッチ正規化された平均と分散を畳み込み層のバイアスと重みに組み込むことです。
(2) 暗黙的知識は、YOLOR
畳み込み特徴マップの加算および乗算と結合されます。 のYOLOR
暗黙的知識は、推論段階での事前計算によってベクトルに縮小できます。このベクトルは、前または後の畳み込み層のバイアスおよび重みと組み合わせることができます。
(3) EMA
モデル:で使用される技術EMA
であり mean teacher
、 EMA
モデルは純粋に最終的な推論モデルとしてシステムで使用されます。
5. 実験パート
いくつかの比較表と写真を直接アップロードする
要約する
yolov7 は現在比較的人気のあるホットスポットであり、現在最もホットなターゲット検出アルゴリズムと比較して、主な利点は非常に高速であり、精度が最高ではない可能性があることです。他のシリーズの yolo と比較して、イノベーション ポイントは基本的に拡張された高効率のレイヤー アグリゲーション ネットワーク、連結モデルに基づくモデルのスケーリング、再設計された再パラメーター化された畳み込み、補助ヘッドを使用した粗微ラベル マッチングなどです。