前言:
前面分享了一篇《繼SE,CBAM後的一種新的注意力機制Coordinate Attention》,其出發點在於SE只引入了通道注意力,CBAM的空間注意力只考慮了區域性區域的資訊,從而提出考慮全域性空間資訊的注意力機制。
在本文,將介紹另一個基於同樣出發點的注意力模組,即Pyramid Split Attention (PSA)。PSA具備即插即用、輕量、簡單高效的特點。該模組與ResNet結合,通過PSA替代ResNet的bottleneck中的3x3卷積,組成了EPSANet。
EPSANet用於影像識別,比SENet top-1acc高了1.93%。PSA用在Mask RCNN上,目標檢測高了2.7 box AP,例項分割高了1.7 mask AP。
論文:https://arxiv.org/pdf/2105.14447v1.pdf
程式碼:https://github.com/murufeng/EPSANet
本文出發點
1. SE僅僅考慮了通道注意力,忽略了空間注意力。
2. BAM和CBAM考慮了通道注意力和空間注意力,但仍存在兩個最重要的缺點:(1)沒有捕獲不同尺度的空間資訊來豐富特徵空間。(2)空間注意力僅僅考慮了區域性區域的資訊,而無法建立遠距離的依賴。
3. 後續出現的PyConv,Res2Net和HS-ResNet都用於解決CBAM的這兩個缺點,但計算量太大。
基於以上三點分析,本文提出了Pyramid Split Attention。
PSA
主要操作:將input tensor從通道上分成S組。每一組進行不同卷積核大小的卷積,以獲取不同尺度的感受野,提取不同尺度的資訊。再通過SE模組,提取每組的通道的加權值,最後對S組的加權值進行softmax歸一化並加權。
具體將input tensor分成S組,並對每組進行不同卷積的SPC模組如下圖所示。
SPC先將input tensor分成S組,每組的卷積核大小依次增大,如k=3,5,7,9。考慮到當卷積核比較大時,計算量也大,因此,對每一組再進行分組卷積,具體分組數量G = exp(2,(k-1)/2),即2的(k-1)/2次冪。當K = 3,5,7,9時,G=1,2,3,4。
在經過不同大小的卷積後,在通道上拼接。
經過SPC模組後,PSA再將SPC模組的輸出通過SE Weight Module獲得通道注意力值,這樣做的目的是獲得不同尺度特徵圖的注意力權值。
通過這樣的做法,PSA融合了不同尺度的上下文資訊,併產生了更好的畫素級注意力。
最後將每組通道注意力權值拼接,進行softmax歸一化,對SPC模組的輸出進行加權。
完整的PSA模組如下圖所示。
這裡補充一下pyramid split attention中的pyramid。在《特徵金字塔技術總結》中介紹了特徵金字塔的兩種構建方式,其中一種就是通過不同大小卷積核的卷積來構建特徵金字塔。因此,這裡PSA中的Pyramid是由SPC模組中的每組不同大小卷積核的卷積所構建。
EPSANet
如上圖所示,將PSA替代ResNet的bottleneck中的3x3卷積,再堆疊幾個這樣的模組就構成了EPSANet,這裡的E,指的是efficient。
網路設計如下圖所示。
Conclusion
EPSANet用於影像識別,比SENet top-1acc高了1.93%。PSA用在Mask RCNN上,目標檢測高了2.7 box AP,例項分割高了1.7 mask AP。
以ResNet-50和ResNet-101為backbone,加入各種注意力模組的影像識別效果對比
在公眾號中回覆關鍵字 “技術總結” 可獲取以下文章的彙總pdf。
其它文章