画像セグメンテーション アルゴリズム Unet でのアップサンプリング (デコンボリューション)

Unet モデルでは、セマンティック セグメンテーションの目的を達成するために、ターゲットの特徴が最初に4 回のダウンサンプリング、次に 4 回のアップサンプリングを通じて抽出され、特徴内の各ピクセルが 1 つずつ分類されます。

ダウンサンプリングのプロセスは、非常に伝統的な畳み込みニューラル ネットワークの畳み込み層であり、最初に Conv2D によって畳み込まれ、次に BatchNormalization によってバッチ正規化されてから、Relu 活性化関数層に入ります。核となるアルゴリズムはコンボリューションのプロセスであり、画像上でコンボリューション カーネルを移動することによって結果が得られます。

アップサンプリング プロセスはデコンボリューション プロセスです。初期のセマンティック セグメンテーション タスクでは、ネットワーク モデルにアップサンプリング操作が含まれます。最も一般的な方法は、0 または最近傍補間を埋めてアップサンプリングを完了することです。この方法は単純で乱暴ですが、画像を復元する方法がなく、プロセス全体を学習できないという欠点もあります。

ICCV の 2015 年の「セマンティック セグメンテーションのためのデコンボリューション ネットワークの学習」論文では、学習可能なデコンボリューション ネットワークが提案されています。0 または最近傍補間法を埋めることでアップサンプリングを完了することはなくなり、プロセス全体が学習可能になります。画像では、アップサンプリング プロセスのトレーニングは次のとおりです。セマンティック セグメンテーション ネットワークに実装されます。論文で言及されているデコンボリューションは、転置コンボリューションと呼ぶ方が正確です。

畳み込みのプロセス 

   

4*4 の 2 次元行列 D では、3*3 コンボリューション カーネルを使用すると、結果は 2*2 行列になります。結果は次のようになります。

 |12 12|

 |10 17|

その動作プロセスは、

(0,0) 12 0x3+1x3+2x2+2x0+2x0+0x1+0x3+1x1+2x2=12
(0,1) 12 0x3+1x2+2x1+2x0+2x1+0x3+0x1+1x2+2x2=12
(1,0) 10 0x0+1x0+2x1+2x3+2x1+0x2+0x2+1x0+2x0=10
(1,1) 17 0x0+1x1+2x3+2x1+2x2+0x2+0x0+1x0+2x2=17

演算処理は、行列上のコンボリューションカーネルの対応する位置点を線形結合により乗算して得られる出力である。

畳み込み計算は、パラメーター行列と入力行列を乗算するものとして見ることができます。Y は出力、C はパラメーター行列、X は入力行列です。

ただし、デコンボリューションは実際には、X に同じパラメータ行列の転置を乗算して Y を取得することです。

 

 ここで注意すべき点は、デコンボリューションは画像の寸法を復元するだけであり、画像のピクセルを復元することではなく、画像の一部の特徴を復元するだけであるため、完全な逆演算ではなく、デコンボリューションの本質は依然として変わりません。一種の畳み込み。

参考:

https://iksinc.online/2017/05/06/deconvolution-in-deep-learning/

おすすめ

転載: blog.csdn.net/qq_35326529/article/details/128099209