Dilated Convolution 帶洞卷積

2021-08-18 22:52:27 字數 2156 閱讀 3847

1 提出原因:

傳統的fcn,segnet網路等等pooling(其中池化的意義一方面是降低計算量,另一方面是增大感受野)之後需要對其進行upsampling,以擴大影象尺寸。將影象由小變大的過程勢必導致一些資訊的丟失,那麼就會想到是否可以不進行pooling操作

,也可以增大感受野呢。本文提出的dilated convolution正是為了解決這個問題。

2 結構:

2.1 一維

(a)為k=3,stride=2 的普通卷積;(b)為k=3,stride=1的卷積;(c)為k=3,stride=1,dilation=2的空洞卷積這裡雖然卷積核長度仍為3,但每隔2個點取樣一次(也可以理解為長度為5但其中兩個位置權重為0)

2.2 二維

圖2(a)為3∗

3的普通卷積,感受野為3∗

3; (b)為3∗

3+dilation=2 的空洞卷積,感受野為7∗

7; (c)為3∗

3+dilation=4的空洞卷積感受野為15∗

15感受野的計算公式為 fi

+1=(

2i+2

−1)x

(2i+

2−1)

卷積核的引數個數保持不變,感受野的大小隨著「dilation rate」引數的增加呈指數增長

2.3應用:

簡要地說明dilated convolution應用到multi -scale context aggregation中。

layer為層數,convolution為卷積核大小,dilation為l大小,truncation為影象是否要裁剪邊緣(dilated convolution卷積後影象會變大),receptive field為感知區域大小,output channels為輸出特徵圖數量,basic為簡單網路情況,large為複雜網路情況。 

**中可以發現, 

1.網路中並沒有pooling層,這就是作者提出不丟失畫素的計算方法。 

2.第一層對影象進行卷積,第二層對第一層輸出的特徵圖進行卷積,如此迴圈到最後一層。

3.dilation倍數從小到大,說明先使用小感知區域的卷積核獲取區域性特徵,再用大感知區域的卷積核把特徵分到更多區域中。

3 **表示過程(**見**:

本節重點:特徵圖是輸入圖與卷積核做運算產生的,而帶洞卷積是卷積核帶洞,洞的部分tf自動用0填充,tf中卷積核自動初始化。eg:

def conv2d(x,w):

return tf.nn.conv2d(x,w,strides[1,1,1,1],padding='same')#x表示輸入的影象。w是卷積的引數比如[5,5,1,32],前兩個引數代表卷積核的尺寸,第三個引數代表有多少個channel,最後乙個引數代表卷積核的數量,same代表給邊界加上padding,

4 優點及應用:

擴充套件卷積在保持引數個數不變的情況下增大了卷積核的感受野,同時它可以保證輸出的特徵對映(feature map)的大小保持不變。乙個擴張率為2的3×3卷積核,感受野與5×5的卷積核相同,但引數數量僅為9個,是5×5卷積引數數量的36

%擴張卷積在影象分割、語音合成、機器翻譯、目標檢測中都有應用。

GetWindowsDirectory帶出指標值

發現自己這麼多年是個假程式設計師,最基礎的東西不清楚居然混了這麼多年。近期做了乙個小功能,需要從動態庫中返回字串,一開始的實現是這樣的 procedure fun1 p1 pchar var p2 pchar stdcall var str string begin str p1 p2 pchar ...

帶團隊就是帶野心 帶夢想 帶慾望 帶狀態!

帶團隊就是帶野心 帶夢想 帶慾望 帶狀態 企業說到底是人,管理說到底是借力。失敗的領導者以其一己之力解決眾人問題,成功的領導者集眾人之力解決企業問題。經營企業的過程是乙個借力的過程,只有越來越多的人願意把力借給你,企業才會成功。不想做後勤的領導,不是好領導。作為老闆,不要怕員工比你強,如果員工比你弱...

3度帶與6度帶

1 我國採用6度分帶和3度分帶 1 2.5萬及1 5萬的地形圖採用6度分帶投影,即經差為6度,從零度子午線開始,自西向東每個經差6度為一投影帶,全球共分60個帶,用1,2,3,4,5,表示 即東經0 6度為第一帶,其 經線的經度為東經3度,東經6 12度為第二帶,其 經線的經度為9度。1 1萬的地形...