pyramid attention network for semantic segmentation讀書筆記·

這是一篇semantic segmentation的文章,與之前的segmentation最大的區別在於作者運用沒有使用ASPP()結構去提取特徵,而採用了FPA(Feature Pyramid Attention)和GAU(Global attention upsample),即在卷積的同時引入了attention的機制(作者認爲高層的信息可以對低層的信息進行指導)。個人認爲attention必須發生在不同的層之間的,如果在同一層的話難以取得好的效果。

1.introduction

作者提出了分割中常見的兩個問題:(1)同個物體可能存在不同的size導致了分類的困難(對於存在多種物體,輪廓是正確的但是分類錯誤,即把貓圈出來但是認爲是狗),而PSPnet和Deeplab系列都是使用ASPP的結構來試圖解決這個問題,而認爲DeepLab系列使用空洞卷積會導致grid artifacts【28】的問題,而pspnet使用global average pooling則可能失去像素級別的位置信息。因此,作者提出根據高層的特徵來得到pixel-level的attention來幫助低層的特徵,從而增加感覺野以及更好地分類小物體。(2)高層的特徵對於分類很有作用,但是卻不利於像素級別的分類,即判斷某個像素點屬於某個類。所以作者採用對高層的特徵進行pool得到一個vector(vector的長度對應通道數),相當於對低層信息的通道進行加權。

2.related work

作者指出segmentation的研究重點在於更好地利用contextual information,

(1)encoder-decoder:利用unet的結果將不同層的信息concatenate起來,但是這樣沒有考慮不同層之間不同的表達以及全局的context information。

(2)global context attention:以ParseNet爲代表(以後補充)

(3)SPatialPyramid:這種的不足之處在於會大大地增加計算量。

3.網絡結構


上圖爲整個網絡的整體結構,下面詳細講解GAU和FPA。

(1)FPA: Feature Pyramid Attention

作者認爲像SENet和EncNet這樣對通道加attention是不夠的,我們需要對pixel加attention,同時採納了PSPnet的global pooling的思想,將pooling的結果與加了attention的卷積的結果相加。由於作者的方法會造成計算量的大量增加,爲了減少計算量,作者再使用FPA之前減少通道數(PSPnet或者Deeplab則是之後再減少通道數)。


中間的通道提供attention的信息,下面部分採用不同的卷積核提取不同層的信息並相加起來,上面部分通過pooling得到全局信息。

(2)GAU:Global Attention Upsample

作者首先指出PSPnet和Deeplab中使用的bilinear以及DUC中使用多通道小特徵圖壓縮成低通道大特徵圖會難以恢復空間的位置。現在相對流行的多階段緩慢增加特徵圖的大小效果會相對更好,但是需要更大的計算量。

作者指出decoder的主要作用在於恢復類別的位置信息,而高層的特徵帶有充足的分類信息可以作爲attention去指導低層的信息。


這裏的high-level Feature在文章中就是upsample之間的特徵,而low-level則是upsample之後的特徵。

4.實驗

4.1FPA部分的實驗

(1)使用avg pooling的效果好於使用max pooling。

(2)使用FPA將結果從72.6%提高到77.54%,這個算是一個大的飛躍。

(3)在FPA中使用3*3,5*5,7*7代替三個3*3使得結果從77.54%提高到78.19%。

(4)在FPA中加上上面那部分的pooling從78.19%提高到78.37%。


4.2GAU部分的實驗

作者主要比較了降低通道數採用兩個不同的卷積核的效果。


4.3各個模型的實驗比較


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章