空間變形網絡——STN-創(chuàng)新互聯

1 概述

CNN 的機理使得 CNN 在處理圖像時可以做到 transition invariant,卻沒法做到 scaling invariant 和 rotation invariant。即使是現在火熱的 transformer 搭建的圖像模型 (swin transformer, vision transformer),也沒辦法做到這兩點。(注:spatial transformer和這兩個transformer原理不一樣,雖然都叫transformer)因為他們在處理時都會參考圖像中物體的相對大小和位置方向。不同大小和不同方向的物體,對網絡來說是不同的東西。

創(chuàng)新互聯專注于本溪企業(yè)網站建設,成都響應式網站建設公司,商城開發(fā)。本溪網站建設公司,為本溪等地區(qū)提供建站服務。全流程按需設計,專業(yè)設計,全程項目跟蹤,創(chuàng)新互聯專業(yè)和態(tài)度為您提供的服務

其實 pooling layer 有一定程度上解決了這個問題,因為在做pooling 的時候,只要這個特征在,就可以提取出來,但池化層的感受野(receptive field)是固定(fixed)且局部(local)的,ST的行為取決于單個數據樣本(意思是對于不同input image,ST的行為是隨之改變的),因此是非局部的(non-locally)、動態(tài)的。

STN(spatial transformer network) 引入了一個新的可學習模塊,空間變換器(ST),它可以對網絡內的數據進行空間變換操作。

ST可以用反向傳播機制(back-propagation,BP)進行端到端(end-to-end)訓練。

這個可微模塊可以插入到現有的卷積架構中,使神經網絡能夠以特征圖本身為條件,主動地對特征圖進行空間轉換,而不需要任何額外的訓練監(jiān)督或對優(yōu)化過程進行修改。

STN 能夠在沒有標注關鍵點的情況下,根據任務自己學習圖片或特征的空間變換參數,將輸入圖片或者學習的特征在空間上進行對齊,從而減少物體由于空間中的旋轉、平移、尺度、扭曲等幾何變換對分類、定位等任務的影響。

在這里插入圖片描述

a是輸入圖片,b 是 STN 中的 localisation 網絡檢測到的物體區(qū)域,c是 STN 對檢測到的區(qū)域進行線性變換后輸出,d 是有 STN 的分類網絡的最終輸出。

2 模型說明

STN(spatial transformer network) 更準確地說應該是 STL(spatial transformer layer),它就是網絡中的一層,并且可以在任何兩層之間添加一個或者多個。

如下圖所示,spatial transformer 主要由兩部分組成,分別是 localisation net 和 grid generator。

輸入的特征圖U被本地網絡處理得到參數theta,然后經過網格生成器得到采樣器,映射到原圖U上,從而得到輸出V。

2.1 Localisation Network

我們的目的是把第 l ? 1 l?1 l?1 層的第 n n n 行,第 m m m 列的特征移動到第 l l l層的某行某列。如下圖 2-2 所示,一個 3 × 3 3 × 3 3×3 的特征要變換的話,第 l l l 層的每個位置都可以表示為 l ? 1 l-1 l?1 層的特征的加權和。通過控制權重 , w n m , i j l w_{nm,ij}^l wnm,ijl?就可以實現任何仿射變換。

但如果直接加一層全連接讓模型學的話,模型可能學出來的就不是仿射變換了,參數量也很大,很難學,很難控制。所有就設計了一個 localisation net,直接讓模型學仿射變換的參數,這相當于是一個歸納偏置。

localisation net 的輸入是前一層的特征,輸出是仿射變換的參數,如果是平面的放射變換就是 6 個參數,通過這六個參數可以控制整個圖像的平移,旋轉,縮放。

圖 2-3 通過參數進行仿射變換示例

圖 2-3 中的 [ a , b , c , d , e , f ] [a,b,c,d,e,f] [a,b,c,d,e,f]參數就是 localisation net 的輸出。仿射變換公式就是
在這里插入圖片描述

其中, x x x 和 y y y 是當前層的坐標, x ′ x′ x′ 和 y ′ y' y′ 是前一層的坐標, a a a 和 d d d 主要控制縮放, b b b 和 c c c 主要控制旋轉, e e e 和 f f f 主要控制平移。

2.2 Parameterised Sampling Grid

localisation net 輸出了仿射變換參數之后,仿射變換公式告訴了我們當前層 ( x , y ) (x,y) (x,y) 這個位置的特征是前一層的 ( x ′ , y ′ ) (x', y') (x′,y′) 位置的特征拿過來的。但是,如圖 2-4 中的例子所示, ( x ′ , y ′ ) (x', y') (x′,y′) 可能是小數,位置需要是正整數,如果采用取整的操作的話,網絡就會變得不可梯度下降,沒法更新參數了。

我們想要的是,當 [ a , b , c , d , e , f ] [a,b,c,d,e,f] [a,b,c,d,e,f] 發(fā)生微小的變化之后,下一層的特征也發(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}] [a12l?1?,a13l?1?,a22l?1?,a23l?1?]這幾個值進行插值。這樣一來 [ a , b , c , d , e , f ] [a,b,c,d,e,f] [a,b,c,d,e,f] 發(fā)生微小的變化之后, [ x , y ] [x,y] [x,y] 位置采樣得到的值也會有變化了。這也使得 spatial transformer 可以放到任何層,跟整個網絡一起訓練。

雙線性插值的基本思想是通過某一點周圍四個點的灰度值來估計出該點的灰度值,如圖所示.

img
在實現時我們通常將變換后圖像上所有的位置映射到原圖像計算(這樣做比正向計算方便得多),即依次遍歷變換后圖像上所有的像素點,根據仿射變換矩陣計算出映射到原圖像上的坐標(可能出現小數),然后用雙線性插值,根據該點周圍 4 個位置的值加權平均得到該點值。過程可用如下公式表示:
在這里插入圖片描述

將 (11) 代入 (12) 整理得:

在這里插入圖片描述

因為 Q 11 , Q 12 , Q 21 , Q 22 Q11,Q12,Q21,Q22 Q11,Q12,Q21,Q22

是相鄰的四個點,所以 y 2 ? y 1 = 1 , x 2 ? x 1 = 1 y2?y1=1,x2?x1=1 y2?y1=1,x2?x1=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=(y2??y)(x2??x)Q11?+(y2??y)(x?x1?)Q21?+(y?y1?)(x2??x)Q12?+(y?y1?)(x?x1?)Q22?

你是否還在尋找穩(wěn)定的海外服務器提供商?創(chuàng)新互聯www.cdcxhl.cn海外機房具備T級流量清洗系統配攻擊溯源,準確流量調度確保服務器高可用性,企業(yè)級服務器適合批量采購,新人活動首月15元起,快前往官網查看詳情吧

網頁標題:空間變形網絡——STN-創(chuàng)新互聯
鏈接地址:http://muchs.cn/article20/dhihco.html

成都網站建設公司_創(chuàng)新互聯,為您提供標簽優(yōu)化、動態(tài)網站App開發(fā)、服務器托管、網站設計公司、企業(yè)建站

廣告

聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯

營銷型網站建設