曾 凱,李 響,陳宏君,文繼鋒
(南京南瑞繼保電氣有限公司,江蘇 南京 211102)
zengkai2@nrec.com;lix@nrec.com;chenhj@nrec.com;wenjf@nrec.com
基于深度學(xué)習(xí)算法的目標(biāo)檢測技術(shù)已在計算機視覺領(lǐng)域得到廣泛應(yīng)用[1-3],然而在面對復(fù)雜場景下的多尺度目標(biāo)檢測時,仍然存在識別精度不夠高、定位不夠準(zhǔn)確的問題。目前,大部分研究是在基準(zhǔn)檢測模型上進行多尺度特征增強和引入混合注意力機制模塊。比如,林森等[4]提出了一種基于注意力機制與改進YOLOv5網(wǎng)絡(luò)的水下珍品檢測方法,其主要思想是利用CBAM注意力機制模塊對特征提取網(wǎng)絡(luò)進行改進;劉萬軍等[5]針對背景復(fù)雜的遙感圖像識別任務(wù),在Faster R-CNN基準(zhǔn)網(wǎng)絡(luò)上提出多尺度特征增強及密集連接網(wǎng)絡(luò),有效地解決了目標(biāo)漏檢的問題。綜合各方面的研究表明,引入注意力機制模塊可以有效地提升目標(biāo)檢測的準(zhǔn)確率。
注意力機制可分為基于卷積神經(jīng)網(wǎng)絡(luò)的注意力機制[6]和基于Transformer網(wǎng)絡(luò)的自注意力機制[7]兩大類。注意力機制模塊眾多、模型性能差異大,對比評估一些新型且有效的注意力機制模塊,對提升復(fù)雜多尺度目標(biāo)的檢測性能是非常有意義的。
本文選取YOLOv5網(wǎng)絡(luò)作為基準(zhǔn)模型,在網(wǎng)絡(luò)中引入多種先進的注意力機制模塊,設(shè)計并實驗對比分析了幾種改進型網(wǎng)絡(luò)的性能表現(xiàn)。
YOLOv5網(wǎng)絡(luò)在工業(yè)落地應(yīng)用中表現(xiàn)出極其優(yōu)秀的檢測性能和推廣價值,它整合了大量的計算機視覺前沿技術(shù),顯著改善了對象檢測的性能,提升了模型訓(xùn)練的速度及模型應(yīng)用的便利度。
YOLOv5網(wǎng)絡(luò)結(jié)構(gòu)示意圖如圖1所示。
圖1 YOLOv5網(wǎng)絡(luò)結(jié)構(gòu)示意圖Fig.1 Diagram of YOLOv5 network structure
圖1中的基準(zhǔn)網(wǎng)絡(luò)主要由骨干特征提取網(wǎng)絡(luò)(Backbone網(wǎng)絡(luò))、頸部特征融合網(wǎng)絡(luò)(Neck網(wǎng)絡(luò))和檢測頭部預(yù)測網(wǎng)絡(luò)(Prediction網(wǎng)絡(luò))組成,分別主要使用基于瓶頸(Bottleneck)結(jié)構(gòu)的C3為Backbone,基于多特征圖融合的FPN+PANet結(jié)構(gòu)為Neck,以及基于檢測目標(biāo)的位置和類別進行回歸、分類任務(wù)的YOLO檢測頭為Prediction。
2.2.1 引入?yún)f(xié)同注意力機制網(wǎng)絡(luò)的改進型YOLOv5網(wǎng)絡(luò)
協(xié)同注意力機制網(wǎng)絡(luò)(Coordinate Attention,CA)[8],它引入了一種新的注意塊結(jié)構(gòu),該結(jié)構(gòu)不僅能捕獲跨通道的信息,還能捕獲方向感知和位置感知的信息,這能幫助模型更加精準(zhǔn)地定位和識別感興趣的目標(biāo)。
基于CA模塊的典型網(wǎng)絡(luò)結(jié)構(gòu)如圖2所示。
圖2 CA注意力模塊的典型網(wǎng)絡(luò)結(jié)構(gòu)示意圖Fig.2 Network structure diagram of CA attention module
圖2中的網(wǎng)絡(luò)結(jié)構(gòu)首先分別對水平方向和垂直方向進行全局平均池化,得到兩個1 維向量,在空間維度上拼接并經(jīng)過1×1的卷積壓縮通道數(shù),然后通過批量歸一化(BN)和非線性激活函數(shù)編碼垂直方向和水平方向的空間信息,接著在空間維度上將BN和激活函數(shù)的輸出拆分成兩個特征圖,再各自通過一個1×1的卷積調(diào)整通道得到和輸入特征圖一樣通道數(shù)的融合了注意力機制的特征圖。
本文將CA網(wǎng)絡(luò)模塊應(yīng)用在YOLOv5網(wǎng)絡(luò)的骨干特征提取網(wǎng)絡(luò)的每個多尺度特征輸出的位置,用于對每個尺度下特征圖的各通道進行特征重標(biāo)定,以提升原始YOLOv5網(wǎng)絡(luò)的特征提取能力。設(shè)計的引入CA網(wǎng)絡(luò)模塊的改進型YOLOv5網(wǎng)絡(luò)結(jié)構(gòu)示意圖如圖3所示,命名為CA-YOLOv5網(wǎng)絡(luò)。
圖3 CA-YOLOv5網(wǎng)絡(luò)結(jié)構(gòu)示意圖Fig.3 Diagram of CA-YOLOv5 network structure
2.2.2 引入CBAM網(wǎng)絡(luò)的改進型YOLOv5網(wǎng)絡(luò)
CBAM網(wǎng)絡(luò)在通道注意力網(wǎng)絡(luò)的基礎(chǔ)上擴展了一個空間注意力模塊,它可以在通道和空間維度上進行注意力運算。CBAM網(wǎng)絡(luò)[9]包含兩個子模塊:通道注意力模塊(Channel Attention Module,CAM)和空間注意力模塊(Spatial Attention Module,SAM)。
基于CBAM注意力模塊的典型網(wǎng)絡(luò)示意圖如圖4所示。
圖4 基于CBAM注意力模塊的典型網(wǎng)絡(luò)示意圖Fig.4 Network structure diagram of CBAM attention module
CAM模塊通過一個并行的最大值池化層,得到兩個1×1×C的特征圖,首先將得到的兩個特征向量相加,然后經(jīng)過一個激活函數(shù)得到每個通道的權(quán)重系數(shù),最后用權(quán)重系數(shù)與原來的特征圖通道相乘,即可得到縮放后的新特征圖。
SAM模塊先分別進行一個通道維度的平均池化和最大池化,得到兩個H×W×1的通道張量,將這兩個張量在通道維度進行拼接,再經(jīng)過一個7×7的卷積及Sigmoid激活函數(shù),得到權(quán)重系數(shù),最后用權(quán)重系數(shù)和輸入特征圖相乘,即可得到縮放后的新特征圖。
本文將CBAM網(wǎng)絡(luò)模塊應(yīng)用在YOLOv5網(wǎng)絡(luò)的骨干特征提取網(wǎng)絡(luò)的每個多尺度特征輸出的位置,用于對每個尺度下特征圖的各通道/各空間進行特征重標(biāo)定,以提升原始YOLOv5網(wǎng)絡(luò)的特征提取能力。設(shè)計引入CBAM網(wǎng)絡(luò)的改進型YOLOv5網(wǎng)絡(luò)結(jié)構(gòu)示意圖如圖5所示,命名為CBAMYOLOv5網(wǎng)絡(luò)。
圖5 CBAM-YOLOv5網(wǎng)絡(luò)結(jié)構(gòu)示意圖Fig.5 Network structure diagram of CBAM-YOLOv5
2.3.1 引入基礎(chǔ)型Transformer Encoder Block模塊的改進型YOLOv5網(wǎng)絡(luò)
Transformer編碼模塊(Transformer Encoder Block)模塊[10]采用原始Transformer網(wǎng)絡(luò)中的編碼(Encoder)結(jié)構(gòu),該Encoder網(wǎng)絡(luò)結(jié)構(gòu)示意圖如圖6所示,它可以捕獲全局信息和豐富的上下文信息。
圖6 Transformer Encoder網(wǎng)絡(luò)結(jié)構(gòu)示意圖 Fig.6 Network structure diagram of Transformer Encoder
每個Transformer Encoder塊包含兩個子層。第一子層為MHA層,第二子層為MLP層。每個子層之間使用殘差連接。
為了不大幅增加原始YOLOv5網(wǎng)絡(luò)的模型參數(shù)量,本文將Transformer Encoder結(jié)構(gòu)僅插入在骨干特征提取網(wǎng)絡(luò)的末尾處,利用自注意力機制來捕獲最后一層特征提取層的局部信息特征。引入了基礎(chǔ)型Transformer Encoder Block模塊的改進型YOLOv5網(wǎng)絡(luò)如圖7所示,命名為BasicTrans-YOLOv5網(wǎng)絡(luò)。
圖7 BasicTrans-YOLOv5網(wǎng)絡(luò)結(jié)構(gòu)示意圖Fig.7 Network structure diagram of BasicTrans-YOLOv5
2.3.2 引入Swin Transformer Block模塊的改進型YOLOv5網(wǎng)絡(luò)
Swin Transformer Block模塊是Swin Transformer網(wǎng)絡(luò)[11]的核心部分。Swin Transformer網(wǎng)絡(luò)是2021 年提出的一種采用了局部自注意力增強機制的Transformer網(wǎng)絡(luò),該網(wǎng)絡(luò)相較于卷積神經(jīng)網(wǎng)絡(luò)具有更強的動態(tài)計算能力,建模能力更強,可自適應(yīng)計算局部與全局像素關(guān)系,非常具有推廣使用的價值。Swin Transformer Block模塊的網(wǎng)絡(luò)結(jié)構(gòu)如圖8所示。
圖8 Swin Transformer Block網(wǎng)絡(luò)結(jié)構(gòu)示意圖Fig.8 Network structure diagram of Swin Transformer Block
Transformer Block整體架構(gòu)的核心模塊是基于窗口的多頭自注意力層(W-MSA)和基于偏移窗口的多頭自注意力層(SW-MSA)。網(wǎng)絡(luò)通過將注意力計算限制在一個窗口中,一方面能引入卷積操作的局部性,另一方面能節(jié)省計算量,具有很好的性能。
本文設(shè)計將Swin Transformer Block結(jié)構(gòu)插入骨干特征提取網(wǎng)絡(luò)和頸部特征融合中,利用高效的自注意力機制模塊充分挖掘特征表征的潛能。引入Swin Transformer Block模塊的改進型YOLOv5網(wǎng)絡(luò)如圖9所示,命名為SwinTrans-YOLOv5網(wǎng)絡(luò)。
圖9 SwinTrans-YOLOv5網(wǎng)絡(luò)結(jié)構(gòu)示意圖Fig.9 Network structure diagram of SwinTrans-YOLOv5
本文實驗采用私有的變電站內(nèi)復(fù)雜多尺度檢測場景數(shù)據(jù)集,該數(shù)據(jù)集共有4 個分類,分別為屏體壓板、火災(zāi)、抽煙、人員摔倒。統(tǒng)計樣本庫中各分類的樣本數(shù)量,梳理樣本庫中的正負(fù)樣本、難易樣本。針對少分類、難識別的圖像樣本,采用復(fù)制圖像后的隨機數(shù)據(jù)增強方法擴充樣本得到分類相對均衡的訓(xùn)練樣本庫,增強處理后的數(shù)據(jù)集共包括10,497 張圖像。
使用開源工具對訓(xùn)練樣本庫中待檢測目標(biāo)的矩形關(guān)鍵區(qū)域進行人工標(biāo)注,標(biāo)注后使用腳本轉(zhuǎn)換形成YOLOv5算法支持的標(biāo)注文件。訓(xùn)練樣本庫按4:1的比例隨機建立訓(xùn)練樣本集和測試樣本集。
本文設(shè)計的引入了注意力機制的改進型YOLOv5網(wǎng)絡(luò)包括兩大類、四種網(wǎng)絡(luò)結(jié)構(gòu),與基準(zhǔn)的YOLOv5網(wǎng)絡(luò)在同一實驗平臺上進行訓(xùn)練,模型評估結(jié)果對比如表1所示,其中mAP@0.5表示交并比為0.5時的平均精度均值(mAP)指標(biāo),推理耗時表示模型處理一張圖片所需要的時間,運算量表示網(wǎng)絡(luò)模型的浮點運算量。
表1 改進型YOLOv5網(wǎng)絡(luò)性能指標(biāo)對比Tab.1 Performance comparison of improved YOLOv5 networks
表1中加粗字體為當(dāng)前網(wǎng)絡(luò)在所屬的注意力模型大類下準(zhǔn)確率的最優(yōu)值,可以看出,在當(dāng)前實驗環(huán)境參數(shù)及復(fù)雜多尺度場景數(shù)據(jù)集下有如下實驗結(jié)論。
(1)引入了注意力機制的目標(biāo)檢測網(wǎng)絡(luò)相比基準(zhǔn)的YOLOv5網(wǎng)絡(luò),其mAP指標(biāo)值一般都有一定的提升,說明注意力機制網(wǎng)絡(luò)的確能有效提升模型的表達(dá)能力,但代價是增加了模型的復(fù)雜度。
(2)在引入的基于卷積神經(jīng)網(wǎng)絡(luò)的注意力機制模塊中,對簡單分類(屏體壓板)提升效果有限,相較于基準(zhǔn)網(wǎng)絡(luò),AP最大可提升1.0%,而對復(fù)雜分類(火災(zāi)、抽煙、人員摔倒)樣本中的AP指標(biāo)值的提升更明顯。橫向?qū)Ρ葋砜?,引入CA注意力機制模塊的網(wǎng)絡(luò)綜合表現(xiàn)最佳:它相比基準(zhǔn)YOLOv5網(wǎng)絡(luò)模型雖然復(fù)雜度略有提升,單張圖像的推理耗時也增加了1.4 ms,但mAP指標(biāo)值提升了4.1%,并且在復(fù)雜分類樣本中的AP值提升效果顯著(火災(zāi)、抽煙、人員摔倒的平均準(zhǔn)確率分別提升4.9%、2.9%、7.4%)。因此從整體來看,CA模塊最具引入價值。
(3)在引入的基于Transformer結(jié)構(gòu)的自注意力模塊網(wǎng)絡(luò)中,SwinTrans-YOLOv5的mAP指標(biāo)值顯著提升,整體mAP指標(biāo)相比基準(zhǔn)YOLOv5網(wǎng)絡(luò)提升了9.0%,尤其是在復(fù)雜分類下的AP值的提升最顯著(火災(zāi)、抽煙、人員摔倒的平均準(zhǔn)確率分別提升6.8%、10.5%、18.3%),但代價是推理耗時及模型復(fù)雜度都增加較大,比較適合于算力充足、對實時性要求不高的場合。
(4)總體來說,在模型部署硬件算力足夠的情況下,基于Transformer結(jié)構(gòu)的SwinTrans-YOLOv5相較于基于卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)的CA-YOLOv5,擁有更強大的建模能力和更高的檢測精度,在網(wǎng)絡(luò)設(shè)計中更具引入價值;但是,在模型部署硬件算力一般、需要考慮推理的實時性的情況下,CAYOLOv5也是一種非常不錯的設(shè)計思路。
當(dāng)然,以上實驗結(jié)論并不是絕對的,它是建立在當(dāng)前實驗環(huán)境下的數(shù)據(jù)結(jié)果,不同的數(shù)據(jù)集,效果可能不同,但引入注意力機制模塊確實能為提升原有基準(zhǔn)網(wǎng)絡(luò)的檢測性能提供一種可行的設(shè)計思路。注意力機制模塊能彌補卷積網(wǎng)絡(luò)局部性過強、全局性不足的問題,幫助獲取全局的上下文信息,具有讓模型看得更廣的能力,尤其在一些復(fù)雜多尺度場景下,對于難樣本分類的檢測準(zhǔn)確率一般會取得較好的效果。
本文簡要闡述了基于卷積神經(jīng)網(wǎng)絡(luò)和基于Transformer網(wǎng)絡(luò)的注意力機制模塊的網(wǎng)絡(luò)結(jié)構(gòu),提出了多種引入了注意力機制的改進型YOLOv5網(wǎng)絡(luò)的構(gòu)建方法,在復(fù)雜多尺度目標(biāo)檢測數(shù)據(jù)集下進行性能對比。結(jié)果表明,引入注意力機制模塊的改進型網(wǎng)絡(luò)相較于基準(zhǔn)網(wǎng)絡(luò),或多或少地獲得了準(zhǔn)確率方面的增益效果。其中,引入CA注意力模塊和引入Swin Transformer自注意力模塊分別在基于卷積神經(jīng)網(wǎng)絡(luò)和基于Transformer網(wǎng)絡(luò)類別下取得了最佳的性能提升,并且基于Swin Transformer的自注意力網(wǎng)絡(luò)在復(fù)雜場景下的建模能力優(yōu)于傳統(tǒng)的基于傳統(tǒng)卷積神經(jīng)網(wǎng)絡(luò)的注意力網(wǎng)絡(luò)。本文的研究成果為復(fù)雜場景下多尺度難樣本目標(biāo)檢測網(wǎng)絡(luò)的建模設(shè)計提供了一種改進思路。