叢玉華,王志勝,邢長達,3
(1 南京理工大學紫金學院,南京 210023;2 南京航空航天大學自動化學院,南京 211106;3 南京航空航天大學深圳研究院,廣東深圳 518063)
裝甲車是陸地戰場目標的重要組成部分,戰場環境非常復雜給戰場裝甲車識別帶來了巨大挑戰,對裝甲車進行盡可能精確地檢測與識別對于敵我識別、戰場態勢判斷、決策指揮具有重要意義[1-2]。隨著目標識別技術的發展,優秀的目標識別算法不斷提出,其中一階目標識別算法直接對輸入圖像進行特征提取操作,然后對所需目標進行分類、定位,該類算法在戰場應用場景中能達到實時性要求。經典的一階算法有Yolo、SSD等[3],其中Yolov1由Redmon等在2016年提出,在識別過程中將整張輸入圖像看作是目標的上下文特征,這種改進可以大幅度減少將所需目標錯誤認為是圖片背景元素的機率[4]。此后提出的Yolov2算法在卷積層上額外新增了歸一化層,進一步提高了目標識別準確度并且有效解決了重疊目標的識別問題[5]。Redmon在2018年提出了識別率更優的Yolov3算法,選用更深的網絡,使得算法具有了更高的識別效率和準確率[6]。2020年,CY Wang等提出Yolov4算法。融入了CSPDarknet53和加強特征提取網絡SPP、PAnet,將特征進行融合,提取出更精確的特征[7]。2020年Yolov4-Tiny發布,精簡了特征提取網絡,使模型的復雜度和訓練參數大大減少[8]。戰場環境下需使用輕量級網絡來提高實時性,因此Yolov4-Tiny更適合裝甲車識別。
卷積是圖像處理的重要工具,因此以卷積為基本運算形式的神經網絡在目標識別任務中有著不錯的效果,可以用來解決復雜度較高的識別問題[9-12]。卷積神經網絡基本結構如圖1所示。

圖1 卷積神經網絡結構示意圖
卷積層主要用來提取目標特征,對目標圖像進行多次卷積運算,進一步獲得更加豐富的特征信息,以此得到更加優化的特征圖[13]。池化層通常加在卷積層后面,通過特征選擇和信息過濾,壓縮數據和參數數量,降低訓練耗時,減小過擬合[14]。全連接層位于卷積神經網絡隱含層的最后部分,對特征進行分類操作[13]。輸出層使用邏輯函數或歸一化指數函數輸出分類標簽。
Yolov4-Tiny目標檢測網絡基于卷積神經網絡構建,主要由3部分組成:主干特征網絡部分采用CSPDarknet53-Tiny網絡,加強特征提取網絡部分選擇FPN特征金字塔網絡,預測輸出部分為兩個用于分類與回歸預測的有效輸出特征層。Yolov4-Tiny網絡結構如圖2所示。

圖2 Yolov4-Tiny網絡結構圖
1.2.1 主干特征網絡
Yolov4-Tiny的主干特征網絡CSPDarknet53-Tiny由兩個基本部分構成,分別是CBL層(Conv+BN+Leaky ReLU)和CSP(cross stage partial)層。PL為池化運算,UpSamp為上采樣運算。
1)CBL層
CBL層包括卷積運算Conv,批標準化處理BN(batch normalization),Leaky ReLU函數激活。CBL層在每一次卷積之前進行L2正則化,完成卷積后進行標準化與Leaky ReLU激活。
L2正則化目的是控制模型復雜度、減小過擬合。其中,L2正則化公式為:
(1)
卷積層主要被用來提取目標特征。在卷積層中,對目標圖像進行多次卷積運算,通過多次運算進一步獲得更加豐富的特征信息,以此得到更加優化的特征圖。卷積的表達式為:
(2)
式中:i,j代表該卷積核的兩個位置參數;θi,j代表i,j位置上原圖像內的數據;xi,j代表i,j位置上卷積核內的數據;ε代表該位置的權重;m代表卷積核大小。
批標準化的本質就是利用優化方差大小和均值位置,使得新的分布更切合數據的真實分布,保證模型的非線性表達能力。其表達式為:
(3)

激活函數Leaky ReLU,即帶泄露線性整流函數,是在神經元上運行的函數,該函數輸出對負值輸入有很小的坡度。由于導數總是不為零,能減少靜默神經元的出現,允許基于梯度的學習,解決了修正線性單元ReLU函數進入負區間后,導致神經元不學習的問題。Leaky ReLU的表達式為:
(4)
其中:δ為Leaky ReLU的參數;t為神經元輸入;f(t)為神經元輸出。
2)CSP層
CSP為殘差模塊,是在CBL結構基礎上引入殘差結構,如圖3所示,Rt1和Rt2為兩個殘差邊。計算殘差的表達式為:

圖3 CSP結構
gd+1=gd+F(gd)
(5)
式中:gd為直接映射;F(gd)為殘差部分,表示對gd進行卷積等操作。將兩者疊加得到的gd+1表示殘差塊。
1.2.2 加強特征提取網絡
加強特征提取網絡采用FPN(feature pyramid networks)特征金字塔網絡,通過利用常規卷積神經網絡模型內部從底向上各個層對同一大小圖片不同維度的特征表達結構,將縮小或擴大后的不同維度圖片作為輸入生成反映不同維度信息的特征組合,能有效地表達出圖片之上的各種維度特征。在Yolov4-Tiny中,FPN預測輸出采用兩層結構如圖4所示。

圖4 Yolov4-Tiny中FPN網絡結構
1.2.3 網絡輸出
Yolov4-Tiny的輸出層融合了網絡Head輸出,Loss計算和預測結果解析。
1)特征輸出
Yolov4-Tiny一共提取兩個特征層進行目標檢測,若輸入圖像大小為(w,h,3),則兩個特征層的大小分別為(w/16,h/16,M),(w/32,h/32,M)。其中w為圖像的寬,h為圖像的高,M為輸出的通道數,M值計算式為:
M=nanchor×(nsort+(1+4))
(6)
式中:nanchor為錨框個數;nsort表示類別數;1表示判斷是否包含物體信息;4表示包含先驗框坐標。
2)Loss損失
首先將預測框跟真實框做IOU計算,IOU表示預測框A和真實框B的面積交并比,忽略IOU小于閾值的部分預測框,將保留的部分首先做CIOU(complete-IOU)計算獲得坐標損失l1,其公式如式(7)~式(10)所示。
(7)
(8)
(9)
l1=1-CIOU
(10)
其中:a和b為預測框A和真實框B中心點坐標;ρ2(a,b)為預測框A和真實框B中心點的距離;c代表能夠同時包含預測框A和真實框B的最小閉包區域的對角線距離;η為權重,計算真實類別和預測類別的交叉熵作為類別損失;υ是兩個選框長寬的相似度。交叉熵損失le可表示為:
(11)

l=l1+l2+l3
(12)
3)預測結果分析
將每個網格點加上它對應的x坐標和y坐標,加后的結果是預測框的中心,再利用先驗框的高、寬計算出預測框的長和寬并得到預測框位置。最后根據得到的預測框位置進行得分排序與非極大抑制篩選獲得最后預測結果。預測框位置Zpredict可表示為:
Zpredict=Zanchor+Zpriori
(13)
式中:Zanchor為錨框位置;Zpriori為先驗框位置。
Yolov4-Tiny雖然具有輕量型特點,但實際上是以精度換取速度,下面將在確保一定識別速度基礎上對Yolov4-Tiny進行改進,改進方法分為兩步:首先,引入注意力機制在主干網絡部分提高特征提取精度;然后在增強特征網絡部分引入BPA結構增強FPN部分特征提取能力。
2.1.1 基于卷積塊的注意力機制
基于卷積塊的注意力機制 CBAM(convolutional block attention module)是一種用于前饋卷積神經網絡的輕量級通用模塊,可以無縫集成到任何卷積神經網絡架構中,開銷可忽略不計,并且可以和基礎卷積神經網絡一起進行端到端訓練。CBAM有兩個順序的子模塊:通道注意力模塊CAM(channel attention module)和空間注意力模塊SAM(spatial attention module),如圖5所示,特征圖輸入后經過通道注意力CAM的特征圖與空間注意力SAM相乘,最終得到經過調整的特征圖[15]。

圖5 CBAM模塊結構
CAM關注對最終預測起決定作用的通道特征。對輸入的特征圖先在每一個通道的特征圖上進行全局平均池化(AvgPool)和全局最大池化(MaxPool),得到兩個通道特征。然后將這兩個通道特征送入一個多層感知機(MLP)中,通過這個全連接層輸出通道注意力特征圖。CAM具體結構如圖6所示。

圖6 CAM模塊結構
SAM主要是關注對最終預測起決定作用的位置信息。在通道維度通道注意力特征圖上進行最大池化和平均池化,得到兩個空間特征。然后將這兩個特征在通道維度拼接,經過一個卷積層(Conv)后輸出空間注意力特征圖。SAM結構如圖7所示。

圖7 SAM模塊結構
2.1.2 融合CBAM的主干網絡
1)CSP+CBAM網絡結構
CBAM模塊目的是提高特征提取精度,為保證全面性,此處將其應用于主干網絡每次特征輸出之前。因此需要在CSP殘差結構上嵌入CBAM模塊,具體構成如圖8所示,Feat為輸出特征圖。

圖8 CSP+CBAM網絡結構
2)融入CBAM的主干網絡
在主干網的后兩個CSP模塊及最后卷積輸出位置,分別引入3個CBAM模塊,生成3個不同尺度的特征圖F1,F2和F3,較Yolov4_Tiny增加一層輸出特征圖,具體結構如圖9所示。

圖9 CSPDarknet53-Tiny+CBAM網絡結構
FPN用了不同大小的特征圖進行預測,兼顧小目標和大目標檢測。為了縮短FPN中頂層底層信息路徑和用低層級的準確定位信息增強特征金字塔,在FPN基礎上增加自下而上的路徑聚合增強模塊BPA(bottom-up path augmentation),用于縮短信息路徑[16]。改進后的網絡結構如圖10所示。

圖10 FPN+BPA網絡結構
通過對Yolov4-Tiny的改進,可得網絡總體結構如圖11所示。其中,F1,F2,F3為主干網絡輸出特征圖,H1,H2,H3為最終輸出特征圖,5Conv表示5次卷積運算,UpSamp為上采樣運算,DownSamp為下采樣運算。因為改進后網絡是在Yolov4-Tiny基礎上融入了CBAM機制和BPA結構,因此稱其為Yolov4-TCB網絡。

圖11 改進后網絡Yolov4-TCB整體結構
3.1.1 實驗數據集
文中實驗數據集是在網絡上搜索得到的825張裝甲車圖像,使用翻轉、鏡像、改變圖片明亮度及高斯噪聲等方式進行了數據增強。數據增強后最終數據集圖片為6 400張,其中訓練集5 760張,測試集640張。數據集參考VOC2007數據集制作,使用LabelImg圖像標注軟件對圖像進行標注,生成包含圖像中目標對應類別及位置坐標信息的XML文件。
3.1.2 數據預處理
由于數據集中的圖片大小不一,因此在訓練前統一處理為416×416的大小。同時,進行網絡訓練時使用Mosaic數據增強方法來增加樣本的多樣性。每次讀取4張圖片,對每張圖片進行尺寸縮小、隨機水平翻轉、隨機色域變換(色調、飽和度、明度變換),再拼接成一張416×416大小的圖片上,作為輸入的訓練數據,并修改相對應的XML標簽數據。
3.2.1 性能參數
1)精確度和召回率
精確度Pp和召回率Rr計算如式(14)和式(15)所示。
(14)
(15)
式(14)表示精確度是分類器認為是正樣本且分類正確的部分占所有分類器認為是正樣本的部分的比例,也被稱為查準率。式(15)表示召回率是分類器認為是正樣本且分類正確的部分占所有正樣本的比例,也被成為查全率。其中TP表示正樣本預測為正樣本的個數;FP表示負樣本預測為正樣本的個數;FN表示正樣本預測為負樣本的個數。
2)平均精度
AP(average precious)為平均精度,以Rr值為橫軸,Pp值為縱軸,就可以得到PR曲線,這條線下面的面積就是被測類別的AP值。mAP就是所有類的平均AP值,此處只有一個類,因此AP和mAP相等,可表示為:
(16)
式中u(r)為Rr為r時的Pp值。
3)幀頻
幀頻為每秒可以處理的圖片數量。用來評估目標檢測的速度。
3.2.2 性能測試結果及分析
實驗過程中軟硬件參數如表1所示,涉及網絡實驗參數如表2所示。另CUDA版本為10.1。

表1 環境參數

表2 網絡參數
1)性能測試結果
下面對5種網絡進行性能測試結果如圖12~圖16所示。

圖12 Yolov4-Tiny網絡性能(AP=74.99%)

圖13 Yolov4網絡性能(AP=89.48%)

圖14 Yolov4-Tiny+CBAM網絡性能(AP=88.05%)

圖15 Yolov4-Tiny+BPA網絡性能(AP=85.41%)

圖16 Yolov4-TCB網絡性能(AP=94.52%)
2)性能數據分析
5種網絡結構的模型大小、精度和速度數據對比如表3所示。

表3 網絡性能數據對比表
由圖12~圖16和表3可得,加入注意力機制CBAM的Yolov4-Tiny+CBAM網絡模型大小接近Yolov4-Tiny,在保持速度基礎上,精確度比Yolov4-Tiny提高了17%;引入路徑聚合機制BPA的Yolov4-Tiny+BPA網絡模型大小較Yolov4-Tiny增加3.8倍但比Yolov4減小55%,精確度比Yolov4-Tiny提高14%,速度比Yolov4-Tiny降低了9%,而較Yolov4提升1.4倍;同時融入注意力機制和路徑聚合機制的Yolov4-TCB網絡模型大小較Yolov4-Tiny增加3.9倍但比Yolov4減小55%,精確度提高了26%,速度比Yolov4-Tiny降低了69%,而比Yolov4提升1.4倍。綜上,改進后的網絡Yolov4-TCB一定程度上保持了輕量級網絡Yolov4-Tiny的高速性,又具有優于Yolov4和Yolov4-Tiny網絡高精度特點,實驗數據充分驗證了方法改進的有效性。
針對5種網絡,在單目標和多目標,簡單背景和復雜背景情況下進行測試,結果如圖17~圖21所示。

圖17 Yolov4-Tiny識別效果

圖18 Yolov4識別效果

圖19 Yolov4-Tiny+BPA識別效果

圖20 Yolov4-Tiny+CBAM識別效果

圖21 Yolov4-TCB識別效果
在目標數量少且背景簡單時,5種方法皆可準確識別裝甲車;但背景復雜、目標較多時,Yolov4-TCB網絡識別效果明顯優于其他4種網絡結構。
在戰場背景下對裝甲車進行識別,為保證識別速度采用Yolov4-Tiny輕量級網絡為基本框架,為提高識別精確度則對Yolov4-Tiny網絡進行改進。改進方法為:1)在Yolov4-Tiny的CSPDarknet53-Tiny主干網絡部分引入CBAM注意力機制,從通道和空間兩方面提升主干網絡的特征提取精度。2)在Yolov4-Tiny的FPN特征加強網絡部分融入路徑聚合機制的BAP模塊,提升多尺度特征部分提取精度。改進后的網絡Yolov4-TCB在保證輕量級的基礎上,識別速度較快,識別精度大幅提升。后續將繼續研究網絡的優化改進,進而在嵌入式設備上布局,到真實環境下驗證。