<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          一文讀懂CV中的注意力機(jī)制

          共 6020字,需瀏覽 13分鐘

           ·

          2022-02-17 19:34

          點(diǎn)擊上方小白學(xué)視覺”,選擇加"星標(biāo)"或“置頂

          重磅干貨,第一時(shí)間送達(dá)

          作者丨AdamLau@知乎
          來源丨h(huán)ttps://zhuanlan.zhihu.com/p/288758894

          導(dǎo)讀

          ?

          本文配合相關(guān)的論文,講述了多種CV注意力機(jī)制(Non-local Neural Networks、Squeeze-and-Excitation Networks、CBAM、DANet)的概念、特點(diǎn)以及相關(guān)實(shí)驗(yàn)。


          CV注意力機(jī)制


          Non-local ~ SE ~ CcNet ~ GC-Net ~ Gate ~ CBAM ~ Dual Attention ~ Spatial Attention ~ Channel Attention ~ ...

          【只要你能熟練的掌握加法、乘法、并行、串行四大法則,外加知道一點(diǎn)基本矩陣運(yùn)算規(guī)則(如:HW * WH = HH)和sigmoid/softmax操作,那么你就能隨意的生成很多種注意力機(jī)制】

          • 空間注意力模塊?(look where)?對(duì)特征圖每個(gè)位置進(jìn)行attention調(diào)整,(x,y)二維調(diào)整,使模型關(guān)注到值得更多關(guān)注的區(qū)域上。
          • 通道注意力模塊?(look what)?分配各個(gè)卷積通道上的資源,z軸的單維度調(diào)整。


          Non-local Neural Networks


          論文:https://arxiv.org/abs/1711.07971v1

          計(jì)算機(jī)視覺領(lǐng)域注意力機(jī)制的開篇之作。提出了non-local operations,使用自注意力機(jī)制建立遠(yuǎn)程依賴。- local operations: 卷積(對(duì)局部領(lǐng)域)、recurrent(對(duì)當(dāng)前/前一時(shí)刻)等操作。- non-local operations用于捕獲長(zhǎng)距離依賴(long-range dependencies),即如何建立圖像上兩個(gè)有一定距離的像素之間的聯(lián)系,如何建立視頻里兩幀的聯(lián)系,如何建立一段話中不同詞的聯(lián)系等。Non-local operations 在計(jì)算某個(gè)位置的響應(yīng)時(shí),是考慮所有位置 features 的加權(quán)——所有位置可以是空間的,時(shí)間的,時(shí)空的。

          1. Non-local 定義

          其中x表示輸入信號(hào)(圖片,序列,視頻等,也可能是它們的features),y表示輸出信號(hào),其size和x相同。f(xi,xj)用來計(jì)算i和所有可能關(guān)聯(lián)的位置j之間pairwise的關(guān)系,這個(gè)關(guān)系可以是比如i和j的位置距離越遠(yuǎn),f值越小,表示j位置對(duì)i影響越小。g(xj)用于計(jì)算輸入信號(hào)在j位置的特征值。C(x)是歸一化參數(shù)。理解:?i 代表的是當(dāng)前位置的響應(yīng),j 代表全局響應(yīng),通過加權(quán)得到一個(gè)非局部的響應(yīng)值。

          Non-Local的優(yōu)點(diǎn)是什么?

          • 提出的non-local operations通過計(jì)算任意兩個(gè)位置之間的交互直接捕捉遠(yuǎn)程依賴,而不用局限于相鄰點(diǎn),其相當(dāng)于構(gòu)造了一個(gè)和特征圖譜尺寸一樣大的卷積核, 從而可以維持更多信息。
          • non-local可以作為一個(gè)組件,和其它網(wǎng)絡(luò)結(jié)構(gòu)結(jié)合,經(jīng)過作者實(shí)驗(yàn),證明了其可以應(yīng)用于圖像分類、目標(biāo)檢測(cè)、目標(biāo)分割、姿態(tài)識(shí)別等視覺任務(wù)中,并且效果有不同程度的提升。
          • Non-local在視頻分類上效果很好,在視頻分類的任務(wù)中效果可觀。

          論文中給了通用公式,然后分別介紹f函數(shù)和g函數(shù)的實(shí)例化表示:

          • g函數(shù):可以看做一個(gè)線性轉(zhuǎn)化(Linear Embedding)公式如下:

          是需要學(xué)習(xí)的權(quán)重矩陣,可以通過空間上的1×1卷積實(shí)現(xiàn)(實(shí)現(xiàn)起來比較簡(jiǎn)單)。

          • f函數(shù):這是一個(gè)用于計(jì)算i和j相似度的函數(shù),作者提出了四個(gè)具體的函數(shù)可以用作f函數(shù)。

          1.Gaussian function 2. Embedded Gaussian 3. Dot product 4. Concatenation

          2. Non-local block

          實(shí)際上是一個(gè)卷積操作,它的輸出channel數(shù)跟x一致。這樣以來,non-local操作就可以作為一個(gè)組件,組裝到任意卷積神經(jīng)網(wǎng)絡(luò)中。

          3. 實(shí)驗(yàn)

          • 文中提出了四個(gè)計(jì)算相似度的模型,實(shí)驗(yàn)對(duì)四個(gè)方法都進(jìn)行了實(shí)驗(yàn),發(fā)現(xiàn)了這四個(gè)模型效果相差并不大,于是有一個(gè)結(jié)論:使用non-local對(duì)baseline結(jié)果是有提升的,但是不同相似度計(jì)算方法之間差距并不大,所以可以采用其中一個(gè)做實(shí)驗(yàn)即可,文中用embedding gaussian作為默認(rèn)的相似度計(jì)算方法。
          • 作者做了一系列消融實(shí)驗(yàn)來證明non local NN的有效性:
          • 對(duì)比四個(gè)計(jì)算相似度模型,并無太大差異;
          • 以Resnet50為例:對(duì)比non-local模塊加在不同stage下的結(jié)果,在2,3,4stage處提高較大,可能由于第五層空間信息較少;
          • 對(duì)比加入non-local模塊數(shù)量的結(jié)果,越多性能越好,但速度越慢;作者認(rèn)為這是因?yàn)楦嗟膎on-local block能夠捕獲長(zhǎng)距離多次轉(zhuǎn)接的依賴。信息可以在時(shí)空域上距離較遠(yuǎn)的位置上進(jìn)行來回傳遞,這是通過local models無法實(shí)現(xiàn)的;
          • 時(shí)間、空間及時(shí)空域上做non-local,效果均有提升;
          • non-local VS 3D卷積,non-local更有效率,且性能更好;
          • non-local和3D conv是可以相互補(bǔ)充的;
          • 更長(zhǎng)的輸入序列,所有模型在長(zhǎng)序列上都表現(xiàn)得更好。


          Squeeze-and-Excitation Networks


          論文:https://arxiv.org/abs/1709.01507

          很多前面的工作都提出了以空間維度提升網(wǎng)絡(luò)的性能,比如inception結(jié)構(gòu)獲取不同感受野信息、inside-outside結(jié)構(gòu)更多考慮上下文信息、空間注意力機(jī)制等。是否有其他層面去提升性能??

          SENet是首個(gè)提出從channel-wise層面提出Squeeze-and-Excitation模塊的通道注意力機(jī)制,可以自適應(yīng)調(diào)整各通道的特征響應(yīng)值。

          網(wǎng)絡(luò)應(yīng)用于分類,如何應(yīng)用到分割上?

          1. SE模塊

          網(wǎng)絡(luò)結(jié)構(gòu)如下所示:

          • Squeeze?使用全局平均池化(也可用其他方式)生成通道信息統(tǒng)計(jì),實(shí)現(xiàn)通道描述;

          將全局空間信息壓縮為一個(gè)通道描述符;

          • Excitation?實(shí)現(xiàn)方式要靈活,且必須能學(xué)習(xí)一個(gè)非互斥的關(guān)系

          使用了sigmoid激活函數(shù)的門限機(jī)制來實(shí)現(xiàn),使權(quán)重在(0,1)上

          最后通過一個(gè)scale的操作將所求的權(quán)重乘上原來每個(gè)通道的二維特征上

          訓(xùn)練全連接網(wǎng)絡(luò)學(xué)習(xí)到每個(gè)特征通道的權(quán)重,權(quán)重可以顯示地建模特征通道的相關(guān)性。

          2. 實(shí)驗(yàn)

          SE模塊可以應(yīng)用到inception、resblock等多種結(jié)構(gòu),非常靈活。

          消融實(shí)驗(yàn)非常完備,實(shí)驗(yàn)結(jié)果也是當(dāng)時(shí)的STOA,奪得了ILSVRC2017的冠軍。(較為簡(jiǎn)略,具體看論文)

          3. 結(jié)論

          SE模塊能夠動(dòng)態(tài)自適應(yīng)完成在通道維度上對(duì)原始特征進(jìn)行重標(biāo)定,首次關(guān)注了模型通道層面的依賴關(guān)系。另外,由SE塊產(chǎn)生的特征重要性值是否能用于網(wǎng)絡(luò)剪枝(模型壓縮)


          CBAM: Convolutional Block Attention Module


          論文:https://arxiv.org/pdf/1807.06521.pdf

          代碼:https://github.com/luuuyi/CBAM.PyTorch

          論文Introduction部分提出了影響卷積神經(jīng)網(wǎng)絡(luò)模型性能的三個(gè)因素:深度、寬度、基數(shù)。并且列舉了一些代表新的網(wǎng)絡(luò)結(jié)構(gòu),比如和深度相關(guān)的VGG和ResNet系列,和寬度相關(guān)的GoogLeNet和wide-ResNet系列,和基數(shù)相關(guān)的Xception和ResNeXt。

          除了這三個(gè)因素之外,還有一個(gè)模塊,也能影響網(wǎng)絡(luò)的性能,這就是attention——注意力機(jī)制。

          動(dòng)機(jī):所以文章提出了兩個(gè)注意力機(jī)制的模塊,分別是channel attention module和spatial attention module。通過級(jí)聯(lián)方式連接起來。模塊較為靈活,可以嵌入到ResBlock等。

          1. Channnel attetion module(通道注意力模塊)

          通道注意力模塊主要是探索不同通道之間的feature map的關(guān)系。每一個(gè)通道的feature map本身作為一個(gè)特征檢測(cè)出器(feature detetor),通過這個(gè)通道注意力模塊來告訴模型,我們更應(yīng)該注意哪一部分特征。

          同時(shí)使用average-pooling和max-pooling聚合空間維度特征,產(chǎn)生兩個(gè)空間維度描述符。隨后經(jīng)MLP(fc+Relu+fc)+sigmoid層(和SE-Net相同,只是squeeze操作多了一步max pooling),為每個(gè)通道產(chǎn)生權(quán)重,最后將權(quán)重與原始未經(jīng)channel attention相乘。

          2. Spatial attention module(空間注意力模塊)

          利用空間注意力模塊來生成一個(gè)spatial attention map,用來利用不同特征圖之間的空間關(guān)系,以此來使模型注意特征圖的哪些特征空間位置。

          網(wǎng)絡(luò)應(yīng)用于分類,如何應(yīng)用到分割上?

          1. 這一次是在軸的方向上對(duì)不同特征圖上相同位置的像素值進(jìn)行全局的MaxPooling和AvgPooling操作,分別得到兩個(gè)spatial attention map并將其concatenate,shape為[2, H, W]。
          2. 再利用一個(gè)7*7的卷積對(duì)這個(gè)feature map進(jìn)行卷積。后接一個(gè)sigmoid函數(shù)。得到一個(gè)語言特征圖維數(shù)相同的加上空間注意力權(quán)重的空間矩陣。
          3. 最后把得到的空間注意力矩陣對(duì)應(yīng)相乘的原特征圖上,得到的新的特征圖。

          3. 實(shí)驗(yàn)

          • Comparison of different channel attention methods:

          用maxpooling與avgpooling一起比SENet(僅用avgpooling)效果更好。

          • Comparison of different spatial attention methods:

          使用7x7卷積核的原因是具有更大的感受野,還有個(gè)人認(rèn)為小卷積核可能會(huì)造成一些特征圖的confusion。

          • Combining methods of channel and spatial attention:

          整體的消融實(shí)驗(yàn)。


          Dual Attention Network for Scene Segmentation


          論文:https://arxiv.org/pdf/1809.02983.pdf

          雖然上下文融合有助于捕獲不同比例的對(duì)象,但卻無法利用全局視圖中對(duì)象之間的關(guān)系。容易忽略不顯眼的對(duì)象,或是沒有綜合考慮各個(gè)位置的聯(lián)系和相關(guān)性,致使分割的類內(nèi)不一致性,產(chǎn)生誤分割。對(duì)于語義分割,每個(gè)通道的map相當(dāng)于是對(duì)每一類的響應(yīng),因此對(duì)于通道間的相關(guān)性也應(yīng)著重考慮。

          為解決這一問題,提出了雙注意力網(wǎng)絡(luò)(DANet),基于自注意力機(jī)制來分別捕獲空間維度和通道維度中的特征依賴關(guān)系。具體而言,本文在dilated FCN上附加了2種注意力模塊,分別對(duì)空間維度和通道維度上的語義依賴關(guān)系進(jìn)行建模。

          應(yīng)用于分割的注意力網(wǎng)絡(luò),空間注意力模塊與通道注意力模塊并聯(lián)連接,最終將兩個(gè)模塊的結(jié)果進(jìn)行elementwise操作。在特征提取處,作者對(duì)ResNet做出以下改動(dòng),將最后的downsampling取消,采用空洞卷積來達(dá)到即擴(kuò)大感受野又保持較高空間分辨率的目的,最終的特征圖擴(kuò)大到了原圖的1/8。

          1. Position Attention Module(PAM)

          位置注意力模塊旨在利用任意兩點(diǎn)特征之間的關(guān)聯(lián),來相互增強(qiáng)各自特征的表達(dá)。

          2. Channel Attention Module(CAM)

          每個(gè)high level特征的通道圖都可以看作是一個(gè)特定于類的響應(yīng),通過挖掘通道圖之間的相互依賴關(guān)系,可以突出相互依賴的特征圖,提高特定語義的特征表示。

          為了進(jìn)一步獲得全局依賴關(guān)系的特征,將兩個(gè)模塊的輸出結(jié)果進(jìn)行相加融合,獲得最終的特征用于像素點(diǎn)的分類。

          3. 總結(jié)

          總的來說,DANet網(wǎng)絡(luò)主要思想是 CBAM 和 non-local 的融合變形。把deep feature map進(jìn)行spatial-wise self-attention,同時(shí)也進(jìn)行channel-wise self-attetnion,最后將兩個(gè)結(jié)果進(jìn)行 element-wise sum 融合。

          在 CBAM 分別進(jìn)行空間和通道 self-attention的思想上,直接使用了 non-local 的自相關(guān)矩陣 Matmul 的形式進(jìn)行運(yùn)算,避免了 CBAM 手工設(shè)計(jì) pooling,多層感知器等復(fù)雜操作。

          參考:

          1. https://blog.csdn.net/elaine_bao/article/details/80821306
          2. https://zhuanlan.zhihu.com/p/102984842
          3. https://zhuanlan.zhihu.com/p/93228308
          4. https://zhuanlan.zhihu.com/p/106084464
          5. https://blog.csdn.net/wumenglu1018/article/details/95949039
          6. https://blog.csdn.net/xh_hit/article/details/88575853
          下載1:OpenCV-Contrib擴(kuò)展模塊中文版教程
          在「小白學(xué)視覺」公眾號(hào)后臺(tái)回復(fù):擴(kuò)展模塊中文教程即可下載全網(wǎng)第一份OpenCV擴(kuò)展模塊教程中文版,涵蓋擴(kuò)展模塊安裝、SFM算法、立體視覺、目標(biāo)跟蹤、生物視覺、超分辨率處理等二十多章內(nèi)容。

          下載2:Python視覺實(shí)戰(zhàn)項(xiàng)目52講
          小白學(xué)視覺公眾號(hào)后臺(tái)回復(fù):Python視覺實(shí)戰(zhàn)項(xiàng)目即可下載包括圖像分割、口罩檢測(cè)、車道線檢測(cè)、車輛計(jì)數(shù)、添加眼線、車牌識(shí)別、字符識(shí)別、情緒檢測(cè)、文本內(nèi)容提取、面部識(shí)別等31個(gè)視覺實(shí)戰(zhàn)項(xiàng)目,助力快速學(xué)校計(jì)算機(jī)視覺。

          下載3:OpenCV實(shí)戰(zhàn)項(xiàng)目20講
          小白學(xué)視覺公眾號(hào)后臺(tái)回復(fù):OpenCV實(shí)戰(zhàn)項(xiàng)目20講即可下載含有20個(gè)基于OpenCV實(shí)現(xiàn)20個(gè)實(shí)戰(zhàn)項(xiàng)目,實(shí)現(xiàn)OpenCV學(xué)習(xí)進(jìn)階。

          交流群


          歡迎加入公眾號(hào)讀者群一起和同行交流,目前有SLAM、三維視覺、傳感器自動(dòng)駕駛、計(jì)算攝影、檢測(cè)、分割、識(shí)別、醫(yī)學(xué)影像、GAN算法競(jìng)賽等微信群(以后會(huì)逐漸細(xì)分),請(qǐng)掃描下面微信號(hào)加群,備注:”昵稱+學(xué)校/公司+研究方向“,例如:”張三?+?上海交大?+?視覺SLAM“。請(qǐng)按照格式備注,否則不予通過。添加成功后會(huì)根據(jù)研究方向邀請(qǐng)進(jìn)入相關(guān)微信群。請(qǐng)勿在群內(nèi)發(fā)送廣告,否則會(huì)請(qǐng)出群,謝謝理解~


          瀏覽 83
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  2020年香蕉在线视频观看拒绝收费 | 高清无码在线视频网站 | 人人操人人色 | 91麻豆精品一区二区三区 | 18禁黄网站禁片免费观看 |