您當前的位置:首頁 > 書法

回顧語義分割—DenseASPP (密集空洞空間金字塔池化)

作者:由 Jason金 發表于 書法時間:2019-09-02

引言

在解析度大,分割目標尺度範圍廣的語句分割任務中,長距離的上下文資訊以及不同尺度的資訊對於分割結果十分重要。所以為了增大卷積但感受野,常常對提取的feature map進行池化以達到感受野增大的效果,同時透過跳躍連線來結合多尺度的資訊。

存在的問題

由於池化是一種直接粗暴的方式,所以每一次池化後都會犧牲空間解析度,多次池化後可能造成資訊丟失而影響分割效果

提出的方法

論文地址

空洞卷積的出現就是為了解決在提升感受野的同時不損失資訊,ASPP將不同空洞率的空洞卷積平行或者級聯堆疊來獲取多尺度的資訊增益。

但是ASPP同樣存在問題,空洞卷積因為其機制每次計算只選取少量的畫素點,取樣並不密集,大量資訊被拋棄;當空洞率增加到一定程度

(如dilation_rate>24)

,空洞卷積變得不那麼有效甚至沒有效果。

所以deepmotion就提出了DenseASPP,將DenseNet中的密集連線思想應用到了ASPP中,其結構如下圖

回顧語義分割—DenseASPP (密集空洞空間金字塔池化)

更直觀一點

回顧語義分割—DenseASPP (密集空洞空間金字塔池化)

每一層空洞卷積層的輸入都是 前面所有卷積層的輸出和輸入的feature map的拼接

空洞卷積的卷積核大小計算公式如下

K_d=K + (K-1)\times(d-1)

,其中K為原始卷積核大小,d為空洞率

兩個卷積疊加後的卷積核大小計算公式如下

K=K_1+K_2-1

簡單起見,討論一維的情況

回顧語義分割—DenseASPP (密集空洞空間金字塔池化)

ASPP中,取樣點數為3,其感受野

K_{3,d=6}=3 + (3-1)\times(6-1)=13

回顧語義分割—DenseASPP (密集空洞空間金字塔池化)

DenseASPP中,空洞率d=6的卷積層的輸入是feature map和d=3的輸出

取樣點數為7,其感受野

K=K_{3,d=3}+K_{3,d=6}-1=19

從上面看出增加了密集連線後,

取樣點數增加了,感受野也增加了

思考

透過不同空洞率的空洞卷積來獲取不同尺度的特徵,那麼怎麼選取不同的空洞率的組合呢?

根據paper中設定,組合

3,6,12,18,24

五個數字,最後使感受野接近feature map 的大小。

For example, the resolution of Cityscapes [4] is 2048×1024, and the last feature map of our segmentation network is 256 × 128。 DenseASPP(6, 12, 18, 24) covers a feature map size of 122,and DenseASPP(3, 6, 12, 18, 24) covers a larger feature map size of 128。

文中的feature map大小為256*128,使用(6,12,18,24)的組合最後的感受野為

K=K_{3,d=6}+K_{3,d=12}+K_{3,d=18}+K_{3,d=24}-3=13+25+37+49-3=121

文中是122,可能是個計算失誤,因為作者想要檢測大尺寸的物,所以讓感受野達到半張圖的大小,但是我們有時候不需要那麼大感受野,就可以選擇適合自己的組合。

標簽: 卷積  空洞  Feature  map  感受