空間変形ネットワーク - STN

1。概要

CNN のメカニズムにより、CNN は画像処理時に遷移不変を実現できますが、スケーリング不変と回転不変は実現できません。ホット トランスフォーマー ( swin トランスフォーマービジョン トランスフォーマー) によって構築された画像モデルでも、これら 2 つのことは実行できません。(注: 空間トランスフォーマーとこれら 2 つのトランスフォーマーの原理は異なりますが、どちらもトランスフォーマーと呼ばれています)。これらは、処理時に画像内のオブジェクトの相対的なサイズと位置の方向を参照するためです。サイズや向きが異なるオブジェクトは、ネットワークにとっては別のものです。

実際、プーリング層はこの問題をある程度解決します。プーリングを行う際、この特徴が存在する限り抽出することができますが、プーリング層の受容野は固定(固定)されており、ローカル(ローカル)であるためです。 、ST の動作は単一のデータ サンプルに依存する (つまり、入力画像が異なると、それに応じて ST の動作が変化する) ため、非局所的で動的です。

STN (空間トランスフォーマー ネットワーク) では、ネットワーク内のデータに対して空間変換操作を実行できる新しい学習可能なモジュールである空間トランスフォーマー (ST) が導入されています。

ST は、エンドツーエンドのトレーニングにバックプロパゲーション (BP) を使用できます。

この微分可能なモジュールは既存の畳み込みアーキテクチャに接続でき、追加のトレーニング監視や最適化プロセスの変更を行わずに、ニューラル ネットワークが特徴マップ自体に条件付けされた特徴マップをアクティブに空間変換できるようになります。

STN は、キーポイントにラベルを付けることなく、タスクに従って画像または特徴の空間変換パラメータを学習し、入力画像または学習された特徴を空間内で位置合わせすることで、空間内のオブジェクトの回転、平行移動、スケール、および歪みを軽減できます。分類や位置特定などのタスクにおける等幾何学変換。

ここに画像の説明を挿入

a は入力画像、b は STN の位置特定ネットワークによって検出されたオブジェクト領域、c は STN が検出領域を線形変換した後の出力、d は STN による分類ネットワークの最終出力です。

2 モデルの説明

STN (空間変換ネットワーク) は、正確には STL (空間変換層) であり、ネットワーク内の層であり、任意の 2 つの層の間に 1 つ以上の層を追加できます。

以下の図に示すように、空間変換器は主に、位置特定ネットとグリッド ジェネレーターの 2 つの部分で構成されます。

入力特徴マップ U はローカル ネットワークによって処理されてパラメーター θ が取得され、その後サンプラーがグリッド ジェネレーターを通じて取得され、元のマップ U にマッピングされて出力 V が取得されます。

2.1 ローカリゼーションネットワーク

私たちの目的はl − 1 l−1を取ることですl レイヤ1のnnラインnmmm列の特徴がll層lの特定の行と特定の列以下の図 2-2 に示すように、3 × 3 3 × 33×3の特性を変換する必要がある場合、lllの各位置はl − 1 l-1レイヤ1からの特徴の加重合計重みを制御することにより、wnm 、 ijl w_{nm,ij}^lwnm ij _ _任意のアフィン変換を実現できます。

しかし、完全接続の層を直接追加してモデルに学習させると、モデルがアフィン変換を学習できない可能性があり、パラメータの数も多くなり、学習と制御が困難になります。したがって、ローカリゼーション ネットは、モデルにアフィン変換のパラメーターを直接学習させるように設計されており、これは誘導バイアスに相当します。

ローカリゼーションネットの入力は前層の特徴量、出力はアフィン変換のパラメータで、平面放射変換であれば6つのパラメータがあり、この6つのパラメータを通じて全体の平行移動、回転、スケーリングが行われます。イメージをコントロールできる。

図 2-3 パラメータによるアフィン変換の例

図 2-3 の[ a , b , c , d , e , f ] [a,b,c,d,e,f][ _b c d f ]パラメータは、ローカリゼーション ネットの出力です。アフィン変換の式は、
ここに画像の説明を挿入

その中で××xyyyは現在のレイヤーx ' x'の座標ですx y」yy'は前のレイヤーの座標ですaddd は主にスケーリングを制御します。bbbccc は主に回転を制御します。eeefff は主に翻訳を制御します。

2.2 パラメータ化されたサンプリング グリッド

ローカリゼーション ネットがアフィン変換パラメータを出力した後、アフィン変換式によって現在のレイヤ( x , y ) (x,y)がわかります。( x ,y )この位置の特徴は前の層 (x', y') の ( x ' , y ' )( ×「、yポジションの特徴は引き継がれています。ただし、図 2-4 の例に示すように、( x ' , y ' ) (x', y')( ×「、y' ) は小数でもよく、位置は正の整数である必要があります。丸め演算を使用すると、ネットワークは勾配降下法ができなくなり、パラメーターを更新できなくなります。

私たちが望むのは、[ a , b , c , d , e , f ] [a,b,c,d,e,f] の場合です。[ _b c d f ]がわずかに変化すると、次の層の特徴も変化するため、勾配が保証されます。

図 2-4 補間を伴うアフィン変換の概念図

そこで著者はサンプリングに補間法を採用した。たとえば、座標が[ 1.6 , 2.4 ] [1.6,2.4]の場合[ 1 . 6 2.4] 时,就用 [ a 12 l − 1 , a 13 l − 1 , a 22 l − 1 , a 23 l − 1 ] [a_{12}^{l-1}, a_{13}^{l-1}, a_{22}^{l-1}, a_{23}^{l-1}] [ _1 2l 1ある1 3l 1ある2 2l 1ある2 3l 1]これらの値は補間されます。したがって[ a , b , c , d , e , f ] [a,b,c,d,e,f][ _b c d f ]小さな変更の後、[ x , y ] [x,y][ × y ]位置をサンプリングして得られる値も変化します。これにより、空間トランスフォーマーを任意のレイヤーに配置し、ネットワーク全体でトレーニングすることもできます。

双線形補間の基本的な考え方は、図に示すように、点の周囲の 4 つの点のグレー値によって点のグレー値を推定することです。

画像
実装では、通常、変換された画像上のすべての位置を元の画像の計算にマッピングします (これは順方向計算よりもはるかに便利です)。つまり、変換された画像上のすべてのピクセルを順番に走査し、次に従ってマッピングを計算します。アフィン変換行列を元の画像上の座標(小数点が出る場合があります)に変換し、双一次補間を使用して、点の周囲の 4 つの位置の値の加重平均に基づいて点の値を取得します。このプロセスは次の式で表すことができます。
ここに画像の説明を挿入

(11) を (12) に代入すると、次のようになります。

ここに画像の説明を挿入

なぜなら、Q 11 、Q 12 、Q 21 、Q 22 Q11、Q12、Q21、Q22だからです。Q11 _ _Q12 _ _21 _Q22___ _

は 4 つの隣接する点であるため、y 2 − y 1 = 1 、 x 2 − x 1 = 1 y2−y1=1,x2−x1=1y 2 - y 1=1 × 2− × 1 _=1の場合、(13) は次のように簡略化できます。

P = ( y 2 − y ) ( x 2 − x ) Q 11 + ( y 2 − y ) ( x − x 1 ) Q 21 + ( y − y 1 ) ( x 2 − x ) Q 12 + ( y − y 1 ) ( x − x 1 ) Q 22 P=(y_2-y)(x_2-x)Q_{11}+(y_2-y)(x-x_1)Q_{21}+(y-y_1)(x_2 -x)Q_{12}+(y-y_1)(x-x_1) Q_{22}P=( y2y ) ( x2× Q1 1+( y2y ) ( xバツ1) Q2 1+( yy1) ( ×2× Q1 2+( yy1) ( ×バツ1) Q2 2

おすすめ

転載: blog.csdn.net/weixin_45755332/article/details/128172678