羅大為,方建軍,劉艷霞
(1.北京聯(lián)合大學北京市信息服務工程重點實驗室,北京 100101;2.北京聯(lián)合大學城市軌道交通與物流學院,北京 100101)
在基于深度學習的目標檢測工作中,融合不同尺度的特征是提高特征提取性能的一個重要手段[1].大尺度的特征一般指淺層特征,感受野小,分辨率高,包含更多位置、細節(jié)信息,但是由于經(jīng)過的卷積更少,其語義性更低,噪聲更多.小尺度的特征指深層特征,感受野大,全局特征豐富,具有更強的語義信息,但是分辨率很低,對細節(jié)的感知能力較差[2].因此,在目標檢測中,將不同的特征進行融合,以達到增強特征提取、優(yōu)化檢測模型的目的.
當前流行的融合方式主要有Concat和Add.Concat是神經(jīng)網(wǎng)絡結(jié)構(gòu)設計中很重要的一種操作,經(jīng)常用于連接特征,它可以將多個卷積層的特征或者是將輸出層的信息進行融合[3].Concat并不會改變每一個特征的信息,只會增加特征的數(shù)量,比如DenseNet[4]、ParseNet[5]、YOLOv3[6].Add操作則是信息之間的疊加.Add是增加提取的各個特征信息,但是并沒有增加特征的數(shù)量,比如Resnet[7]、FPN[8]、FCN[9].在一些研究中,通常把兩種方式混合使用.或者通過卷積和采樣操作將不同尺度特征進行Add或Concat操作,比如CFENet[10].采用類似特征金字塔網(wǎng)絡(Feature Pyramid Networks,F(xiàn)PN)的思想,對特征融合后進行預測,但它們本質(zhì)都是對特征進行Concat或者Add操作.
這些特征融合都是直接將輸入的特征進行疊加或拼接,沒有充分考慮其對于模型性能存在的不同影響.不同的特征對于檢測結(jié)果應該存在著不同的影響,有些特征對于檢測結(jié)果甚至是無用的或產(chǎn)生負面影響的.為了使模型增強有用特征的融合,本文設計了幾種基于注意力機制[11]的融合方式,并在Pascal VOC2007數(shù)據(jù)集[12]上進行測試.
直接將兩個特征進行融合不能很好地將有效特征利用起來,會引入一些無效甚至負面的特征,對實驗結(jié)果造成影響.本文在特征融合部分加入了注意力機制,讓模型在訓練過程中學習哪些要融合的特征更加重要,并增加它們的權(quán)重,如圖1所示,圖1中Cat表示Concat操作.
Add(a)Add示意圖(b) A-Add示意圖(c)B-Add示意圖Con-cat(d)Cat示意圖(e) A-Cat示意圖(f)B-Cat示意圖
Add操作本質(zhì)是對2個輸入特征相對應的像素進行數(shù)學相加,如圖1(a)所示.經(jīng)過Add操作后,特征圖的大小不變,通道數(shù)不變.對于輸入的兩路特征X和Y,Add操作可表示為
(1)
其中:兩路輸入的通道分別為X1,X2,…,Xcx和Y1,Y2,…,Ycy.用Cx表示輸入特征X的通道數(shù),Cy表示輸入特征Y的通道數(shù),*表示卷積.1c表示一個1×1×c的張量.經(jīng)過Add操作后,特征圖的通道數(shù)不變,為C=Cx=Cy.Add操作要求兩路輸入特征維度一樣,即wX=wY,hX=hY,且Cx=Cy.
Concat操作公式為
(2)
與Add不一樣,Concat其實相當于將2個特征進行拼接,特征圖的大小不變,通道數(shù)增加.經(jīng)過Concat操作后,特征圖的通道數(shù)為Cx+Cy.Concat的2個輸入要求w和h一致,即wX=wY,且hX=hY.在Concat操作中,Cx與Cy可以不相等.如圖1(d)所示.
本文設計的特征融合方式,主要是基于通道域的注意力機制,即對不同通道的特征進行注意力加權(quán).基于通道域的注意力是通過一個Squeeze操作得到各通道特征的平均值,再經(jīng)過一個卷積層學習它們的權(quán)值,最后再加權(quán)到各通道中,如圖2所示.
圖2 通道域注意力結(jié)構(gòu)示意圖
Squeeze操作本質(zhì)就是全局均值池化,使得h×w×c的特征圖變?yōu)?×1×c的實數(shù)序列;Uc即特征,等價于Xc和Yc.公式為
(3)
學習各特征權(quán)重,W是一個1×1×c的卷積核,用于學習權(quán)重.對輸入特征進行加權(quán),增強有用特征,公式為
Sc=Fscale(Uc,Zc,W)=Uc×(Zc*W).
(4)
在Add操作中引入Attention模塊來增強特征融合效果,具體實現(xiàn)的結(jié)構(gòu)與Concat類似,分別為A-Add和B-Add.
A-Add為:
(5)
其本質(zhì)是在Add操作之后加入一個Attention模塊,對Add操作之后的特征進行注意力學習,如圖1(b)所示.Add操作不改變特征維度,改變特征值,因此與Concat不同.
B-Add公式為:
(6)
與A-Add不同,B-Add在Add操作之前對2個不同的特征進行Attention模塊,分別學習2個特征的權(quán)重,如圖1(c)所示.
在Concat操作中引入Attention模塊來增強特征融合效果,公式為:
(7)
把Attention引入Concat操作的結(jié)構(gòu)有2種,分別為A-Cat和B-Cat.A-Cat的具體實現(xiàn)如圖1(e)所示,在Concat操作之后加入一個Attention模塊,對融合之后的特征進行注意力學習,削弱不重要特征的影響.B-Cat則是在Concat操作之前對2個不同的特征進行Attention模塊,分別學習2個特征的權(quán)重,并降低無效或壞特征的權(quán)重,如圖1(f)所示.
本文設計了相關(guān)實驗對基于注意力機制的特征融合方法進行驗證和分析.
2.1.1 數(shù)據(jù)集
本文將在Pascal VOC2007數(shù)據(jù)集上進行測試.該數(shù)據(jù)集是當前最流行的目標檢測數(shù)據(jù)集之一,包含9 963張標注過的圖片,共標注出24 640個物體,涉及行人、汽車、狗等20類目標.
2.1.2 測試網(wǎng)絡
基于注意力機制的特征融合方式將在YOLOv3-Tiny網(wǎng)絡上進行測試.YOLOv3-Tiny是當前最輕量的網(wǎng)絡模型之一,它的主干網(wǎng)絡僅有15層,結(jié)構(gòu)簡單,性能高效,是許多工程應用中的選擇.在原始的YOLOv3-Tiny中,包含一個大尺度和中尺度的特征融合,本文將基于注意力機制的特征融合方法用于融合大尺度和中尺度特征,進行對比實驗.YOLOv3-Tiny的結(jié)構(gòu)如圖3所示,圖3中Cat表示YOLOv3-Tiny采用Concat特征融合方式.
圖3 YOLOv3-Tiny結(jié)構(gòu)示意圖
2.1.3 實驗環(huán)境
本文所有實驗都在NVIDIA GTX1080Ti、16 GB內(nèi)存、Ubuntu16.04系統(tǒng)下進行,采用darknet框架.
2.2.1 基于注意力的特征融合方式訓練情況
各模型訓練loss曲線如圖4所示.所有模型的在訓練4 h后,迭代約8萬次時loss趨于平穩(wěn),表明模型收斂.采用Concat進行融合的模型,loss收斂于0.617 1.采用A-Cat進行融合的模型,loss收斂于0.658 1.B-Cat的loss最低,收斂于0.539 1.loss在一定程度上反應模型的性能,從loss上看B-Cat收斂效果最好.
2.2.2 基于注意力的特征融合方式實驗結(jié)果分析
Thresh設置為0.5時的四值分析如表1所示.從表1可知,4種基于注意力機制的特征融合模塊的Precision(P)相較于原來提高了1%~2%,Recall(R)并未收到明顯影響,F(xiàn)1-score(F1)獲得了提高,A-Cat的AIOU比原來提高了1.14%,且浮點運算量并沒有顯著增加.由于模型的運行速度會受到設備的性能影響,因此采用模型的浮點運算量作為模型效率衡量標準,如表2 所示.
圖4 訓練loss曲線圖
表1 基于注意力的特征融合算法性能分析
表2 基于注意力的特征融合算法復雜度與準確度分析
A-Cat的mAP比原Concat提高了0.76%.B-Cat的AIOU比原來僅提高0.34%,浮點運算量增加了0.001,但mAP提高了1.49%.Add操作中,A-Add和B-Add在P,R和F1中沒有帶來提升,甚至在AIOU中略微出現(xiàn)下降,但從mAP中可看出,注意力機制仍發(fā)揮作用.
對于4種特征融合結(jié)構(gòu)在VOC2007數(shù)據(jù)集上20個種類目標的AP分析如表3所示.A-Cat比原Concat的mAP提高了0.76%,B-Cat比原Concat的mAP提高了1.49%.A-Cat在Diningtable和Pottledplant等復雜目標的AP值相較于原來的Concat操作略有下降,但是在其他目標,如Aeroplane、Bicycle、Bird和Boat等有很大的提升.而B-Cat在各類中均有顯著提高,且提升幅度大于A-Cat.
表3 Pascal VOC2007上各類目標的AP分析%
Add操作的檢測性能在Pascal VOC2007數(shù)據(jù)集上的表現(xiàn)遠不如Concat.經(jīng)過實驗分析,本文認為Add操作直接將2個不同的特征進行數(shù)學相加,這有可能會破壞或損失部分提取的特征,因此它的mAP普遍低于Concat操作.但引入注意力的Add操作性能得到了提升,如A-Add比原Add的mAP提高了0.34%,B-Add比原Add的mAP提高了1.14%.A-Add對于Aeroplane和Diningtable等大尺度目標的檢測性能出現(xiàn)了下降,但對于Bird和Boat則提升明顯.A-Add的mAP在各類目標上AP分析均出現(xiàn)大幅提升.
從上述實驗結(jié)果可知,4種基于注意力機制的特征融合方式都得到了不同程度的提升,但就特征融合而言,B-Cat所展現(xiàn)的效果最佳,基于Concat操作的融合方式普遍比基于Add操作的方法效果好.
本文基于注意力機制,并設計了4種可學習的特征融合模塊,它們可以在模型訓練中學習如何將有效特征進行加權(quán)融合,提升特征融合的效率,進而提升目標檢測模型的性能.通過YOLOv3-Tiny在Pascal VOC2007數(shù)據(jù)集上的實驗,基于注意力機制的特征融合模塊比直接進行特征融合的方式最高可提升1.49%,證明該方法的有效性.基于注意力機制的特征融合可用于提升多尺度特征融合、高底層特征融合等,為深度神經(jīng)網(wǎng)絡中多特征融合的設計和構(gòu)建提供了思路和理論基礎.