白话详细解读(七)----- CBAM:Convolutional Block Attention Module
一、CBAM簡(jiǎn)介
論文鏈接:https://x.sci-hub.org.cn/scholar?hl=zh-TW&as_sdt=0%2C5&q=CBAM%3A+Convolutional+Block+Attention+Module&btnG=&oq=CB
CBAM這篇論文是在2018年提出的,自提出之后,已經(jīng)被引用上千次,可見其影響力。CBAM是一種專門為了卷積神經(jīng)網(wǎng)絡(luò)而設(shè)計(jì)的注意力模塊,傳統(tǒng)的卷積存在只關(guān)注局部信息,而往往忽略全局信息的弊端,以3*3卷積為例,濾波器有9個(gè)像素點(diǎn),目標(biāo)像素的值只參照自身與周圍的8個(gè)像素點(diǎn),這就意味著卷積操作只能利用局部信息來計(jì)算目標(biāo)像素,這可能會(huì)帶來一些偏差,因?yàn)榫矸e操作只能看到局部信息,而對(duì)全局信息了解甚少。
二、論文的主要貢獻(xiàn)及創(chuàng)新點(diǎn)
- (1)提出了一種簡(jiǎn)單而有效的注意模塊(CBAM),可以廣泛應(yīng)用于提高CNN的表征能力。這也是該篇論文的最大創(chuàng)新點(diǎn)。
- (2)通過廣泛的消融實(shí)驗(yàn),驗(yàn)證了我們的注意模塊的有效性。
- (3)在多個(gè)基準(zhǔn)測(cè)試數(shù)據(jù)集(ImageNet-1K、MS Coco和VOC 2007)上,通過插入我們的CBAM,驗(yàn)證了各種網(wǎng)絡(luò)的性能都得到了極大的提升。
三、CBAM網(wǎng)絡(luò)結(jié)構(gòu)
3.1 CBAM的大致流程
- 大致流程
- (1)首先,輸入一張中間的特征圖
- (2)輸入圖像經(jīng)過Channel Attention Module,Channel Attention Module我們用Mc表示,得到Channel Attention maps Mc(F)。
- (3)得到的Mc(F)與輸入圖像進(jìn)行像素級(jí)別的相乘操作,得到F’
- (4)F’繼續(xù)進(jìn)入到Spatial Attention Module,Spatial Attention Module我們用Ms表示,得到Spatial Attention maps Ms(F’)。
- (5)得到的Ms(F’)與輸入圖像F’進(jìn)行像素級(jí)別的相乘操作,得到F’'
大致了解CBAM的工作流程之后,我們需要來看一下CBAM內(nèi)部是如何計(jì)算出Attention maps的。
3.2 Channel Attention Module(通道注意力模塊)
Channel Attention Module為什么要用AvgPool和MaxPool兩條并行的池化路徑呢?
這是因?yàn)閷?duì)于空間信息的聚合,到目前為止,普遍采用的是平均池化方法(Average Pooling),因此使用AvgPool來獲得聚合的空間信息。而MaxPooling收集的是特征的重要線索,以推斷更精細(xì)的通道注意力,也可以這樣理解,AvgPool是獲得宏觀上的信息,而MaxPool是獲得局部的信息,同時(shí)使用MaxPool有利用網(wǎng)絡(luò)獲得魯棒性。
- Channel Attention Module具體計(jì)算過程
- (1)輸入Input feature F
- (2)經(jīng)過AvgPool獲得特征圖AvgPool(F)、經(jīng)過MaxPool獲得特征圖MaxPool(F)
- (3)同時(shí),兩條池化路徑共享一個(gè)MLP(多層感知機(jī)結(jié)構(gòu)),AvgPool(F)、MaxPool(F)分別經(jīng)過MLP處理,得到MLP(AvgPool(F))、MLP(MaxPool(F))
- (4)然后經(jīng)過激活函數(shù),得到最終的輸出Mc(F)
note: Mc(F)是一個(gè)1維的channel attention map,在與輸入圖像進(jìn)行像素級(jí)別的乘法時(shí),Python會(huì)自動(dòng)的使用廣播技術(shù)。
這里的W0、W1是分別MLP的第1層、第2層的權(quán)重參數(shù)。
3.3 Spatial Attention Module(空間注意力模塊)
- Spatial Attention Module具體計(jì)算過程
- (1)經(jīng)Channel Attention Module處理得到的輸出F’輸入到Spatial Attention Module中
- (2)經(jīng)過MaxPool、AvgPool、7*7Conv的卷積操作,得到特征圖
- (3)最后經(jīng)過sigmoid激活函數(shù),得到最終的Spatial Attention Maps
note: Ms(F)是一個(gè)2維的Spatial attention map.
四、Experiments
實(shí)驗(yàn)不是重點(diǎn),就是普通的消融實(shí)驗(yàn),簡(jiǎn)單了解以下即可。
(1)Comparison of different channel attention methods.
(2)Comparison of different spatial attention methods.
(3)Combining methods of channel and spatial attention.
(4)Classification results on ImageNet-1K.
參考文獻(xiàn)
- CBAcM: Convolutional Block Attention Module
- https://my.oschina.net/u/1416903/blog/4582792
總結(jié)
以上是生活随笔為你收集整理的白话详细解读(七)----- CBAM:Convolutional Block Attention Module的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 2021公益数字化研究报告
- 下一篇: PyTorch基础(五)----- to