訂閱
糾錯
加入自媒體

注意力機制技術(shù)總結(jié):如何應(yīng)用在計算機視覺上

前言:

注意力機制在視覺上是非常重要的部分,這方面的綜述、總結(jié)有很多。為了本文總結(jié)的全面性,我基本都看了一遍。然而這些綜述要么面面俱到,對所有內(nèi)容都非常詳細地闡述,包括一些非常不常用的,過時的論文或結(jié)構(gòu);要么沒分清重點,有些內(nèi)容跟論文有關(guān),但跟注意力無關(guān),這些文章也把這些內(nèi)容總結(jié)到里面。

什么是注意力?就是只寫有用的,只留下值得關(guān)注的部分。對于已經(jīng)過時的結(jié)構(gòu)或論文,不為了刻意做到“史上最全的...總結(jié)”,“全面綜述....”,而將其寫在文章中,讓讀者產(chǎn)生這篇文章很有價值的感覺,但實際上看下來,讀者很容易被無關(guān)緊要的內(nèi)容、過時的內(nèi)容、過于詳細的內(nèi)容所耗費精力,而真正重要的內(nèi)容什么也沒學(xué)到。

什么是真正重要的內(nèi)容?那就是模塊的設(shè)計思想,改進思路,具體結(jié)構(gòu),這樣設(shè)計的優(yōu)點,解決了什么問題。

這是這篇總結(jié)與其它綜述的不同之處。包括公眾號中以往的《池化技術(shù)總結(jié)》《數(shù)據(jù)增強方法總結(jié)》《特征金字塔技術(shù)總結(jié)》等一系列總結(jié),都是按照上面提到的這個原則來寫的,里面所有的內(nèi)容,都是值得去認真看的,而不重要的內(nèi)容一般都只有幾句話就帶過了。

這篇文章介紹了一些即插即用的注意力模塊,一些根據(jù)具體任務(wù)設(shè)計的注意力結(jié)構(gòu)。此外,讀者可根據(jù)這些論文中所提出的設(shè)計思想,改進思路等內(nèi)容,在自己方向上設(shè)計相應(yīng)的、合適且合理的結(jié)構(gòu)。

更多內(nèi)容請關(guān)注公眾號CV技術(shù)指南,專注于計算機視覺的技術(shù)總結(jié),最新技術(shù)跟蹤。

STN(2015)

論文原文:Spatial Transformer Networks

這是一篇過時的文章,讀者不必了解太多,但它的主要思想?yún)s值得寫一下。

注意力機制技術(shù)總結(jié)

如上圖所示,圖像中的一些目標可能存在各種各樣的角度,姿態(tài),為了提高模型的泛化能力和魯棒性,我們希望模型能對各種姿態(tài),扭曲變形的目標,都能有較好的識別檢測能力。因此,論文提出了對輸入圖像進行空間變換(spatial transformer),通過spatial transformer將其在空間上“擺正位置”。

注意力機制技術(shù)總結(jié)

具體做法如上圖所示,類似于SE和CBAM,在網(wǎng)絡(luò)中間加一個分支,作為空間轉(zhuǎn)換器。關(guān)于這個轉(zhuǎn)換器這里不多介紹,了解本文的主要思想即可

OPAM(2017)

論文:Object-Part Attention Model for Fine-grained Image Classifification

這篇論文同樣值得一寫的是它的主要思想,其主要內(nèi)容并沒有值得去看的地方。

主要思想:對于細粒度圖像分類來說,一個大類別下存在幾百個小類別,而區(qū)分這些小類別的關(guān)鍵,在于目標身上的特征,例如識別數(shù)百種鳥類,此時背景信息對于區(qū)分不同類型的鳥類基本沒有幫助。

為了讓模型更加關(guān)注到目標所在的區(qū)域,對于圖像中背景的地方,通過一個圖像分類模型,生成saliency map。通過saliency map定位到目標所在的區(qū)域,裁剪,重新進入一個新的part-level Attention Model進行識別分類。

注意力機制技術(shù)總結(jié)

        Residual Attention(2017)

論文:Residual Attention Network for Image Classifification

論文提出了殘差注意力網(wǎng)絡(luò),這是一種在“非常深”的結(jié)構(gòu)中采用混合注意力機制的卷積網(wǎng)絡(luò)。殘差注意力網(wǎng)絡(luò)由多個注意力模塊組成,這些模塊會產(chǎn)生注意力感知功能。如下圖所示,隨著模塊的深入,來自不同模塊的注意力感知功能會自適應(yīng)地變化。

注意力機制技術(shù)總結(jié)

注意力模塊如下圖所示:

注意力機制技術(shù)總結(jié)

注意力模塊由兩條分支組成,一個是Soft Mask Branch,一個是Trunk Branch。

Trunk Branch是正常卷積結(jié)構(gòu),Soft Mask Branch是先經(jīng)過兩次max pooling,以便迅速獲得更大的感受野,再通過雙線性插值,回到input feature map的大小,再經(jīng)過兩次1x1卷積,以及sigmoid歸一化。再與Trunk Branch進行融合。

融合的方式若是直接相乘,由于Soft Mask Branch的范圍是(0,1],在經(jīng)過多個堆疊的注意力模塊后,feature maps由于多次乘以Soft Mask的值會變得極小,模型的性能會明顯下降。因此提出Attention Residual learning來進行融合。

具體的融合方式如下圖所示,即增加了殘差連接。記住紅色框的內(nèi)容,后面會經(jīng)常出現(xiàn)。

注意力機制技術(shù)總結(jié)

        BAM(2018)

論文:BAM: Bottleneck Attention Module

具體結(jié)構(gòu)如下圖所示。細節(jié)內(nèi)容就不多贅述了,讀者看圖更能理解,只介紹一個大概:利用了空洞卷積來獲取更大的感受野,增加了通道注意力,方式是在feature map上全局最大池化,再降維升維,如右下角所示使用了上面那篇論文中的Attention Residual learning方式來融合。

注意力機制技術(shù)總結(jié)

        CBAM(2018)

論文:CBAM: Convolutional Block Attention Module

CBAM同樣是使用空間注意力和通道注意力,不過與BAM不同的是,通道注意力并不是像BAM那樣融合在空間注意力內(nèi)再做歸一化,而是先后分開進行。

注意力機制技術(shù)總結(jié)

通道注意力的生成方式:先在feature maps上進行全局最大池化和全局平均池化得到兩個1維向量,再經(jīng)過共享的MLP層,再進行相加,sigmoid歸一化。

空間注意力的生成方式:在通道上進行最大池化和平均池化,得到兩個feature map,經(jīng)過7x7卷積,得到一個feature map,再BN,sigmoid歸一化。

注意力機制技術(shù)總結(jié)

注:這種空間注意力只考慮了局部的信息,在后面CVPR2021的Coordinate Attention中有所改進。

Non-Local(2018)

論文:Non-local Neural Networks

卷積操作在每一層獲得的感受野十分有限,對于一些長距離的依賴,需要堆疊很多層卷積才能獲得,為此,作者提出了Non-Local Block,這種結(jié)構(gòu)使得網(wǎng)絡(luò)可以直接獲得兩個位置之間的依賴關(guān)系,而不用考慮距離。

具體結(jié)構(gòu)圖如下所示:(由于這個模型本是用于時空模型中,因此下方的結(jié)構(gòu)圖中包含了時間維度,去掉T便可用于圖像)

注意力機制技術(shù)總結(jié)

這種方式來源于transformer,先通過3個不同的1維卷積降維,再各自reshape為HW x512,前兩者通過點積進行相似性計算,再歸一化作為第三者的加權(quán)系數(shù)。最后使用1x1卷積升維和殘差連接。

這種方式的最大缺點在于進行HW與HW做相似性計算,計算量是H的四次方,因此論文中提出當H=14或7時才使用。后面在GCNet和CCnet中會有所簡化并改進。

PAN(2018)

論文:Pyramid Attention Network for Semantic Segmentation


注意力機制技術(shù)總結(jié)

該論文針對語義分割引入像素級注意力。主要由兩個部分組成:Feature Pyramid Attention (FPA) 和Global Attention Upsample module (GAU)。

FPA在空間金字塔池化的基礎(chǔ)上調(diào)整而來,與空間金字塔池化不同的是,FPA通過不同大小的卷積來構(gòu)建金字塔,并在此基礎(chǔ)上引入了通道注意力。


注意力機制技術(shù)總結(jié)

GAU通過全局池化提供的全局信息作為指引選擇low-level特征,這是因為high-level中有著豐富的語義信息,這可以幫助引導(dǎo)low-level的選擇,從而達到選擇更為精準的分辨率信息。

注意力機制技術(shù)總結(jié)

        Squeeze-and-Excitation(2018)

論文:Squeeze-and-Excitation Networks

這個不僅使用簡單,對筆者來寫這個也簡單,先貼出論文中的結(jié)構(gòu)圖,再用Coordinate Attention中的一個結(jié)構(gòu)圖作為對論文中結(jié)構(gòu)圖的解釋。

注意力機制技術(shù)總結(jié)

其描述如下:

注意力機制技術(shù)總結(jié)

        CCNet(2019)

論文:CCNet: Criss-Cross Attention for Semantic Segmentation

注意力機制技術(shù)總結(jié)

論文的主要思想在于從Non-Local的每個都與其它所有位置進行相似性計算變?yōu)橹挥嬎阃恍泻屯涣械南嗨菩。這樣極大地節(jié)省了計算量。

具體結(jié)構(gòu)圖如下:

注意力機制技術(shù)總結(jié)

其中Criss-Cross Attention Module如下左圖所示,對于兩次loop的示意圖如下右圖所示,經(jīng)過兩次loop,可獲取到任意兩個位置的依賴關(guān)系

注意力機制技術(shù)總結(jié)

        GCNet(2019)

論文:GCNet: Non-local Networks Meet Squeeze-Excitation Networks and Beyond

如題所示,GCNet是在將Non-Local簡化后與Squeeze-Excitation結(jié)合。

如下圖所示:作者發(fā)現(xiàn)在query的不同點(圖中的紅點),計算出來的attention map是一樣的。

注意力機制技術(shù)總結(jié)

這就說明只需要計算一個點就可以了,其它位置的計算都是多余的,這樣做的好處就是計算量極大減少。

注意力機制技術(shù)總結(jié)

GCNet的整體框架如圖a所示,簡化版的Non-Local如圖b所示,GCNet具體結(jié)構(gòu)如圖d所示。

GCNet將SE中的全局平均池化用簡化版的Non-Local來代替,而SE下方的結(jié)構(gòu)用了Bottleneck來進行transform。這里使用Bottleneck是為了減少參數(shù)量,其中r取16。

DANet(2019)

論文:Dual Attention Network for Scene Segmentation

論文提出了雙注意力網(wǎng)絡(luò),由位置注意力模塊(Position Attention Module)和通道注意力模塊(Channel Attention Module)組成。

整體的結(jié)構(gòu)圖如下:

注意力機制技術(shù)總結(jié)

Position Attention Module和Channel Attention Module的結(jié)構(gòu)圖如下所示:這兩個模塊沒什么細節(jié)的地方值得講的,看個圖就足以理解。

注意力機制技術(shù)總結(jié)

        Coordinate Attention(2021)

論文:Coordinate Attention for Effificient Mobile Network Design

這篇論文基于SE和CBAM改進而來,作者認為SE沒有考慮空間信息,CBAM通過對每個位置的通道上進行池化,由于經(jīng)過幾層卷積和降采樣后的feature maps的每個位置只包含原圖的一個局部區(qū)域,因此這種做法只考慮了局部區(qū)域信息。為此,作者提出了一種新的attention機制--Coordinate Attention。

Coordinate Attention利用兩個1D全局池化操作將沿垂直和水平方向的input features分別聚合為兩個單獨的direction-aware feature maps。 然后將具有嵌入的特定方向信息的這兩個特征圖分別編碼為兩個attention map,每個attention map都沿一個空間方向捕獲輸入特征圖的遠距離依存關(guān)系。 位置信息因此可以被保存在所生成的attention map中。 然后通過乘法將兩個attention map都應(yīng)用于input feature maps,以強調(diào)注意區(qū)域的表示。

注意力機制技術(shù)總結(jié)

具體結(jié)構(gòu)如圖c所示,簡單說來,Coordinate Attention是通過在水平方向和垂直方向上進行平均池化,再進行transform對空間信息編碼,最后把空間信息通過在通道上加權(quán)的方式融合。

總結(jié):本文介紹了一些注意力模塊,雖然文字描述的比較少,但給出的結(jié)構(gòu)圖足以理解其主要操作。除了以上的內(nèi)容,此外還包括強注意力,但不是特別常見,本文未對其進行總結(jié)。

最近把公眾號所有的技術(shù)總結(jié)打包成了一個pdf,在公眾號中回復(fù)關(guān)鍵字“技術(shù)總結(jié)”可獲取。

更多內(nèi)容請關(guān)注公眾號CV技術(shù)指南,專注于計算機視覺的技術(shù)總結(jié),最新技術(shù)跟蹤。

參考論文

1. Spatial Transformer Networks

2. Object-Part Attention Model for Fine-grained Image Classifification

3. Residual Attention Network for Image Classifification

4. BAM: Bottleneck Attention Module

5. CBAM: Convolutional Block Attention Module

6. Non-local Neural Networks

7. Pyramid Attention Network for Semantic Segmentation

8. Squeeze-and-Excitation Networks

9. CCNet: Criss-Cross Attention for Semantic Segmentation

10. GCNet: Non-local Networks Meet Squeeze-Excitation Networks and Beyond

11. Dual Attention Network for Scene Segmentation

12. Coordinate Attention for Effificient Mobile Network Design

聲明: 本文由入駐維科號的作者撰寫,觀點僅代表作者本人,不代表OFweek立場。如有侵權(quán)或其他問題,請聯(lián)系舉報。

發(fā)表評論

0條評論,0人參與

請輸入評論內(nèi)容...

請輸入評論/評論長度6~500個字

您提交的評論過于頻繁,請輸入驗證碼繼續(xù)

暫無評論

暫無評論

人工智能 獵頭職位 更多
掃碼關(guān)注公眾號
OFweek人工智能網(wǎng)
獲取更多精彩內(nèi)容
文章糾錯
x
*文字標題:
*糾錯內(nèi)容:
聯(lián)系郵箱:
*驗 證 碼:

粵公網(wǎng)安備 44030502002758號