YOLO改進(jìn)系列之注意力機(jī)制(CoordAttention模型介紹)

簡介
在輕量級網(wǎng)絡(luò)上的研究表明,通道注意力會給模型帶來比較顯著的性能提升,但是通道注意力通常會忽略對生成空間選擇性注意力圖非常重要的位置信息。因此,新加坡國立大學(xué)的提出了一種為輕量級網(wǎng)絡(luò)設(shè)計(jì)的新的注意力機(jī)制,該機(jī)制將位置信息嵌入到了通道注意力中,稱為Coordinate Attention(下文也稱CA),該論文收錄于CVPR2021。不同于通道注意力將輸入通過2D全局池化轉(zhuǎn)化為單個(gè)特征向量,CoordAttention將通道注意力分解為兩個(gè)沿著不同方向聚合特征的1D特征編碼過程。這樣的好處是可以沿著一個(gè)空間方向捕獲長程依賴,沿著另一個(gè)空間方向保留精確的位置信息。然后,將生成的特征圖分別編碼,形成一對方向感知和位置敏感的特征圖,它們可以互補(bǔ)地應(yīng)用到輸入特征圖來增強(qiáng)感興趣的目標(biāo)的表示。CA簡單靈活且高效,可以插入經(jīng)典的輕量級網(wǎng)絡(luò)(如MobileNetV2)在幾乎不帶來額外計(jì)算開銷的前提下,提升網(wǎng)絡(luò)的精度。實(shí)驗(yàn)表明,CoordAttention不僅僅對于分類任務(wù)有不錯(cuò)的提高,對目標(biāo)檢測、實(shí)例分割這類密集預(yù)測的任務(wù),效果提升更加明顯。
論文地址:http://arxiv.org/abs/2103.02907
論文源碼https://github.com/Andrew-Qibin/CoordAttention
模型結(jié)構(gòu)
CA是一種高效的注意力機(jī)制,通過將位置信息嵌入到通道注意力中,使得輕量級網(wǎng)絡(luò)能夠在更大的區(qū)域上進(jìn)行注意力,同時(shí)避免了產(chǎn)生大量的計(jì)算開銷。為了緩解2D全局池化造成的位置信息丟失,作者將通道注意力分解為兩個(gè)并行的1D特征編碼過程,有效地將空間坐標(biāo)信息整合到生成的注意圖中。更具體來說,作者利用兩個(gè)一維全局池化操作分別將垂直和水平方向的輸入特征聚合為兩個(gè)獨(dú)立的方向感知特征圖。然后,這兩個(gè)嵌入特定方向信息的特征圖分別被編碼為兩個(gè)注意力圖,每個(gè)注意力圖都捕獲了輸入特征圖沿著一個(gè)空間方向的長程依賴。因此,位置信息就被保存在生成的注意力圖里了,兩個(gè)注意力圖接著被乘到輸入特征圖上來增強(qiáng)特征圖的表示能力。SEAttention、CBAM以及CA結(jié)構(gòu)如下所示。

一個(gè)coordinate attention模塊可以看作一個(gè)用來增強(qiáng)特征表示能力的計(jì)算單元。它可以將任何中間張量X作為輸入并輸出一個(gè)有著增強(qiáng)的表示能力的同樣尺寸的輸出Y。CA模塊通過精確的位置信息對通道關(guān)系和長程依賴進(jìn)行編碼,類似SE模塊,也分為兩個(gè)步驟:坐標(biāo)信息嵌入(coordinate information embedding)和坐標(biāo)注意力生成(coordinate attention generation)。首先,我們來看坐標(biāo)信息嵌入這部分。全局池化常用于通道注意力中來全局編碼空間信息為通道描述符,因此難以保存位置信息。為了促進(jìn)注意力模塊能夠捕獲具有精確位置信息的空間長程依賴,作者將全局池化分解為一對一維特征編碼操作。具體而言,對輸入X,先使用尺寸( H , 1)和(1, W)的池化核沿著水平坐標(biāo)方向和豎直坐標(biāo)方向?qū)γ總€(gè)通道進(jìn)行編碼。接著,為了更好地利用上面coordinate information embedding模塊產(chǎn)生的具有全局感受野并擁有精確位置信息的表示,設(shè)計(jì)了coordinate attention generation操作,它生成注意力圖。
實(shí)現(xiàn)代碼
CA的實(shí)現(xiàn)代碼如下所示:

YOLOv5模型改進(jìn)
本文在YOLOv5目標(biāo)檢測算法的Backbone和Head部分分別加入CoordAttention來增強(qiáng)目標(biāo)提取能力,以下分別是在Backbone以及Head中改進(jìn)的模型結(jié)構(gòu)和參數(shù)(以YOLOv5s為例)。
在Backbone部分


在Head部分


總結(jié)
為了將空間信息加入通道注意力,Coordinate Attention被提出,在輕量級網(wǎng)絡(luò)上取得了比較大的成功,它既能捕獲通道之間的依賴也能很好地建模位置信息和長程依賴,實(shí)驗(yàn)表明其在圖像識別、目標(biāo)檢測和語義分割任務(wù)上都有不錯(cuò)的改進(jìn)。此外,CA可進(jìn)一步應(yīng)用于YOLOv7、YOLOv8等模型中,歡迎大家關(guān)注本博主的微信公眾號 BestSongC,后續(xù)更多的資源如模型改進(jìn)、可視化界面等都會在此發(fā)布。另外,本博主最近也在MS COCO數(shù)據(jù)集上跑了一些YOLOv5的改進(jìn)模型,實(shí)驗(yàn)表明改進(jìn)后的模型能在MS COCO 2017驗(yàn)證集上分別漲點(diǎn)1-3%,感興趣的朋友關(guān)注后回復(fù)YOLOv5改進(jìn)。
?