諸葛晶昌,李 想
(中國民航大學 電子信息與自動化學院,天津 300300)
機坪特種車輛檢測是從計算機視覺技術出發,使用目標檢測算法實現圖像或視頻序列中機坪特種車輛的檢測。目前,大多數的航班保障任務依賴人工對特種車輛進行判別、記錄。該方式消耗大量的人力且數據的隨意性較大,不利于提升航班保障效率。因此,針對機坪特種車輛提出一種車輛細粒度分類的算法具有重要意義。
傳統算法對于物體的檢測通常包括區域選取、特征提取及特征分類這3個階段。傳統算法通常使用滑動窗口算法,在得到待測目標位置后,一般使用人工精心設計的提取器進行特征提取,如尺度不變特征變換[1]和類Haar特征[2]等。最后,對提取到的特征進行分類得到最終的檢測結果。由于傳統算法是人工設計的提取器,魯棒性較差[3],因此無法達到實際應用的要求。
隨著人工智能的發展和計算機算力的提升,基于深度學習的目標檢測算法逐漸成為主流。深度學習的目標檢測算法又可以分為基于區域建議的二階檢測算法和基于回歸的一階檢測算法。
基于區域建議的二階檢測算法由Girshick等人[4]提出,之后發展出Fast R-CNN[5]目標檢測方法,而Fast R-CNN由于候選區域提取的計算量過大,嚴重影響了檢測的速度。Ren等人[6]在此基礎上進行改進,提出了Faster R-CNN 目標檢測算法,相較Fast R-CNN 算法而言在速度上優勢明顯。
王林等人[7]將Faster R-CNN 應用于車輛檢測,但對于小型目標車輛的檢測效果并不理想。Yang等人[8]基于Faster R-CNN 算法采用小區域放大檢測的策略,進行道路車輛檢測,但在實際檢測場景下該算法計算量大實時性較差,且容易受到遮擋的影響。
YOLO 系列算法是具有代表性的一階目標檢測算法。最初的兩代YOLO 算法在檢測精度和速度兩方面并沒有較為亮眼的表現,直到采用Darknet 作為主干網絡的YOLOv3[9]誕生才真正做到了檢測精度與檢測速度較好的平衡。在YOLOv3之后提出的YOLOv4[10]以及YOLOv5[11]又在此基礎上進行了大規模的改進,成為了現階段性能突出的目標檢測算法。
馬睿等人[12]使用YOLOv4算法實現水位的自動識別,葉樹芬等人[13]針對電力線和桿塔應用場景使用深度可分離卷積技術降低YOLOv5的模型計算量,并改進NMS算法提升檢測算法性能。在車輛檢測研究方面,王銀等人[14]在YOLOv4基礎上使用MobileNetv2深度可分離卷積模塊代替傳統卷積,并將CBAM 注意力模塊融合到特征提取網絡中,解決了傳統車輛檢測算法檢測精度低,小尺度目標識別效果差的問題。郭宇陽等人[15]針對路側交通監控場景和智能交通管控需要,借鑒GhostNet結構,在YOLOv4基礎上提出了輕量化車輛檢測算法,在檢測速度上有顯著優勢。
目前大部分的車輛檢測算法研究面向交通監控場景,主要劃分汽車、卡車、公交車三類,針對特定場景下的車輛細粒度分類研究較少。對此,本文提出了一種基于改進YOLOv5s的機坪特種車輛檢測方法,主要有以下三個貢獻:
1)將位置信息融入通道注意力中,使檢測算法將注意力集中于感興趣區域,擴大機坪特種車輛特征權重覆蓋的范圍,對特種車輛全局特征的把握能力更強。
2)在三尺度特征檢測網絡的基礎上,提出了一種四尺度特征檢測網絡,對尺度差異較大的機坪特種車輛具有更好的檢測效果。
3)針對多尺度特征融合中各輸入對于最終輸出貢獻不同的問題,結合四尺度檢測網絡提出了一種雙向加權融合結構。各節點根據輸入分辨率的不同學習匹配相應的權重,使機坪特種車輛多尺度特征融合的結果更合理。
YOLOv5s由Input輸入、Backbone主干網絡、Neck層及Detect輸出四部分構成。本文在YOLOv5s中融合CA 注意力機制(CA,coordinate attention)[16],增強網絡對不同特種車輛特征信息的獲取能力;網絡Neck部分增加第四層檢測尺度,結合加權雙向特征金字塔(BiFPN)[17]結構對路徑聚合網絡PANet[18](PANet,path aggregation network)結構進行改進,加強網絡對目標特征更高層次的融合及網絡對不同尺度特種車輛的檢測能力,改進后的網絡結構如圖1所示。

圖1 改進的YOLOv5s網絡結構
機坪特種車輛檢測相較城市交通場景下汽車、卡車、公交車三類車輛的檢測來說,車輛的種類更多,難度更大,需要檢測算法對特種車輛特征有更高的分辨力。注意力機制的核心是讓卷積神經網絡更多的關注圖像中重要的部分,而不是對圖像中所有物體都進行關注。
傳統的注意力機制包括SENet[19]、ECA[20]、CBAM[21]等。CA 注意力機制相較于傳統的通道注意力,將位置信息融入注意力中,利用獲取的位置信息更快的定位感興趣位置,在幾乎不額外消耗計算資源的同時對于算法性能的提升效果更好。
CA 注意力機制將兩個通道注意力分解為兩個一維特征編碼,分別沿兩個空間方向進行特征聚合。CA 注意力機制結構如圖2所示。

圖2 CA 注意力機制結構
首先,是CA 注意力機制的嵌入,CA 注意力機制分別使用尺寸為(H,1)和(1,W)的卷積核沿著水平坐標和垂直坐標對每一個通道進行編碼,其中高度為h的c通道輸出表示為:
同理,寬度為w的c通道輸出表示為:
上述兩種變換分別沿兩個空間方向聚合特征,得到一對方向感知的特征圖。這兩種轉換允許注意力模塊捕捉到沿著一個空間方向的長期依賴關系,并保存沿著另一個空間方向的精確位置信息,這有助于網絡更準確地定位感興趣的目標。
通過這兩種變換后生成CA 注意力。在轉換過程中,CA 注意力機制先將之前生成的兩個特征圖進行級聯,用一個1*1的卷積進行F1變換,表示為:
其中:生成的f∈RC/r×(H+W)是空間信息在水平方向和垂直方向上的中間特征圖,r表示下采樣比例。
接著,沿著空間維度將f分為兩個單獨的張量fh∈RC/r×H和fw∈RC/r×W,經過兩個1*1卷積Fh和Fw將兩者變換到與輸入相同的通道數,上述過程可以表示為:
其中:σ表示sigmoid激活函數。
最后,對gh和gw進行拓展,得到注意力權重。CA 注意力機制的最終輸出可以表示為:
YOLOv5s網絡各部分對輸入特征的提取作用有所不同,Backbone網絡對輸入圖像進行初始階段的特征提取,SPPF模塊將提取的初始階段特征圖轉化為特征向量輸出,Neck部分對輸入提取深層語義特征圖,并將Backbone網絡提取的淺層語義特征圖與深層語義特征圖進行融合。因此,在特征提取的不同階段融合CA 注意力機制效果會有一定的差別。
在YOLOv5s網絡中融合注意力機制的方式通常有4種,如圖3所示,分別為:融入Backbone網絡的每個C3模塊后(a)、單獨融入Backbone網絡的SPPF模塊前(b1)或后(b2)、融入網絡Neck的每個C3模塊后(c)、將注意力機制融合進網絡的Backbone(d)或Neck(e)部分的每個C3模塊中。除此以外,也可以將上述方式進行組合。

圖3 注意力機制融入網絡方式
其中,C3CA 模塊是把CA 注意力機制融入C3 模塊,具體實現方式如圖4 所示,給C3 模塊賦予一層注意力。C3CA 模塊相較單獨融合CA 注意力機制來說,不改變網絡的總層數,且參數量更低。

圖4 CA 融入C3模塊的方式
YOLOv5s網絡分別經過8倍、16 倍、32 倍下采樣輸出P3、P4、P5三個尺度的特征圖。三個尺度的特征圖分別適用于檢測小、中、大三類目標。
考慮到機坪監控視角下特種車輛形態差異較大,以中、中大型目標為主的情況,在原始輸出P3、P4、P5三個分別為80*80、40*40、20*20尺度特征圖的基礎上增加P6檢測尺度,輸出10*10的特征圖。如圖5所示,改進的四尺度的特征檢測網絡對于大、中、小型目標的檢測精度均有一定程度的提升。

圖5 改進的多尺度特征融合結構
YOLOv5s的Neck部分采用的PANet結構是在特征金字塔[22](FPN,feature pyramid networks)的基礎上增加了一條自底部向上的通道,雖然在一定程度上提升了網絡對不同尺度特征融合的能力,但這種融合方式只是簡單的相加。由于機坪應用場景對特種車輛檢測精度的要求更高,因此,本文針對PANet結構進行改進。考慮到不同通道的輸入對于最終輸出貢獻不同的問題,結合加權雙向特征金字塔結構,改進Neck中通道連接結構,各通道節點采用加權融合的方式,改進的特征金字塔結構如圖6所示。

圖6 改進的特征金字塔結構
改進的特征金字塔結構是雙向跨尺度連接與快速歸一化融合兩者的結合,其中快速歸一化融合相較Softmax融合來說,精度相近卻有更快的速度。
加權雙向特征金字塔的快速歸一化融合可以表示為:
其中:ωi表示特征Ii對應的一個可學習權重且ωi≥0,為避免數值不穩定∈=0.000 1,其余的權重值在歸一化后都介于0~1之間。以加權雙向特征金字塔輸出P5(out)為例,可以表示為:
其中:P5(in)表示P5特征層的輸入節點,P5(td)表示P5特征層的第一個輸出節點,P5(out)表示P5特征層的第二個輸出節點,Conv表示卷積操作,Resize表示上采樣或下采樣操作。
改進后的特征金字塔結構在四尺度特征檢測網絡的基礎上增加了P4(in)到P4(out)及P5(in)到P5(out)兩條通道,在不占用更多計算資源的前提下,擴大了多尺度特征融合范圍。改進后各節點可以根據輸入特征尺度的分辨率不同,學習匹配相應的權重,使網絡在多尺度特征融合過程中得到更合理的特征權重。
鑒于通用數據集無法為機坪特種車輛檢測提供數據支持,本文在實驗前期構建了機坪特種車輛數據集。針對機場旅客航班保障工作中較為重要且暫無替代方式的車輛,包括飛機牽引車、行李拖車、客梯車、加油車、食品車及擺渡車共六類。數據包含白天、夜晚不同時間段及遠近不同視角,示例如圖7所示。其中,部分圖片來自機坪視頻數據篩選提取,又從網絡上搜集了部分特種車輛圖片進行補充,六類車輛共計5 022張圖片。所有數據均采用Labelimg進行標注,其中4 472張作為訓練集,500張作為測試集,50張作為驗證集。

圖7 數據集示例
使用k-means算法對自建的機坪特種車輛數據集進行重新聚類,結果如圖8所示。聚類得到12個錨點框[29,52],[87,54],[57,106],[80,103],[73,197],[112,133],[140,176],[93,272],[229,155],[198,266],[353,355],[553,433],將其按先后順序分為4組,分別適用于小、中、中大、大型四類機坪特種車輛的檢測。

圖8 聚類結果
本文實驗均在Windows10 操作系統下進行,CPU 為Intel(R)Core(TM)i7-10700@2.90GHz,內存為64G。
GPU 型號為Nvidia GeForce RTX3080,實驗仿真使用PyTorch深度學習框架,開發環境為Python3.7,CUDA 版本為11.0。
實驗中輸入圖像的分辨率統一設置為640*640,網絡的初始學習率為0.01,動量因子為0.937,訓練epochs為300。
為了對改進后的算法性能做出評估,本文選取了精確度(P,Precision)、召回率(R,Recall)、平均精度mAP0.5、mAP0.5:0.95、參數量Params及浮點計算量GFLOPs作為評價指標。
其中,mAP0.5表示IoU 閾值為0.5時所有目標類別的平均檢測精度,mAP0.5:0.95 表示以步長0.05,計算IoU 從0.5到0.95的10個IoU 閾值下的平均檢測精度,通常情況下IoU 閾值越高對于算法的回歸能力要求更高;Params表示參數量,用于計算內存消耗;GFLOPs表示每秒10億次浮點計算,是衡量訓練復雜程度的重要指標。精確率、召回率以及平均精度的計算式如下所示:
其中:TP表示把正類預測為正類,FP表示把負類預測為正類,FN表示把正類預測為負類,Nc表示類別數。
YOLOv5根據不同網絡深度和寬度,劃分出n、s、m、l、x五種模型,模型規模依次增大,檢測精度也有所差異。其中,YOLOv5n網絡深度和寬度分別為0.33 和0.25;YOLOv5s網絡深度和寬度分別為0.33和0.50;YOLOv5m網絡深度和寬度分別為0.67和0.75;YOLOv5l網絡深度和寬度分別為1.0和1.0;YOLOv5x網絡深度和寬度分別為1.33和1.25。
本文依據5種模型在機坪特種車輛數據集上的實驗結果選擇最為適合的模型進行改進,選擇的依據主要是模型精度、參數量及計算量的平衡。
網絡參數量的增大、模型計算量的提升會在一定程度上降低網絡檢測速度,訓練所消耗的時間也有所增加。如表1所示,YOLOv5n和YOLOv5s是五種模型中相對較小的兩種模型,在網絡訓練階段二者所消耗的時間較為接近,遠少于其余三種模型所需時間。YOLOv5x由于參數量和計算量均最大,因而訓練所需的時間也最長。

表1 不同深度和寬度的YOLOv5模型對比實驗
網絡規模最小的YOLOv5n在實驗中由于網絡深度和寬度的限制,精度與其余4 種模型有著較為明顯的差距,YOLOv5s在參數量和計算量僅高于YOLOv5n的情況下,精度與網絡規模更大的YOLOv5m 很接近,mAP0.5 僅低0.1%,參數量卻減少了66.3%,計算量減少了66.9%。在與YOLOv5系列更大的模型對比中,YOLOv5s的mAP0.5僅低于YOLOv5l模型0.6%,而參數量和計算量分別只有YOLOv5l 的15.2% 和14.7%,與網絡模型最大的YOLOv5x相比mAP0.5也僅低了0.7%。
此外,兩岸流行音樂受眾雖然都具有“懷舊”的審美偏好,但各自所偏愛的歌手及其風格截然不同。在臺北與北京舉辦個人演唱會的“懷舊”歌手,無一相同。大陸流行歌手崔健及其所演繹的搖滾音樂,是北京乃至大陸流行音樂受眾最為喜愛的“懷舊”流行音樂風格,但搖滾風格并非臺灣流行音樂受眾的“懷舊”點。而深受臺灣流行音樂受眾喜愛的閩南語歌曲,則在大陸缺乏市場。
結合實驗結果,在考慮算法部署難易程度外,還應杜絕資源消耗與算法性能提升不匹配的情況。因此,本文選擇網絡參數量與計算量較低但精度表現尚佳的YOLOv5s作為改進的基礎。
在YOLOv5s網絡的不同位置融合CA 注意力機制的效果有較大差異,本文針對圖3所述的YOLOv5s網絡融合注意力機制的幾個位置進行實驗。
由表2的實驗結果可以看出,CA 注意力機制并非在所有位置都能提升網絡的檢測性能。位置d,即對Backbone網絡的C3模塊融合CA 注意力機制的效果最差;位置a,即在Backbone網絡的每個C3模塊后單獨加一層CA 注意力機制的效果也較差。

表2 CA 注意力機制不同位置對比實驗
在b1、b2、c、e四個位置添加CA 注意力機制對原始網絡有一定的效果,在四個有效位置基礎上進行組合實驗,注意力機制組合實驗結果可以看出b2結合e的嵌入方式和單獨在位置c進行注意力機制嵌入的方式效果是最好的。然而,比較P、R、mAP各項指標可見,上述兩種注意力機制組合的提升效果還是不如在b1位置單獨融合CA 注意力機制。
綜上,在YOLOv5s網絡的b1位置,即SPPF 模塊前單獨融合CA 注意力機制的實驗效果最好。由此可見,在初始階段特征提取結束,將提取的特征圖轉化為特征向量輸出前,CA 注意力機制能夠最大程度上地提升網絡感受野,提升算法對特種車輛特征的檢測能力。
為了驗證CA 注意力機制與其他注意力機制相比對原始網絡性能提升的優劣,本文對實驗效果最好的b1位置,融合SE、CBAM、ECA 三種注意力機制進行對比實驗,對比實驗結果如表3所示。

表3 不同注意力機制對比實驗
從表3中可以看出,并非幾種注意力機制都能夠提升網絡的檢測能力,SE、CBAM 兩種注意力機制只能對精確率有輕微的提升作用,其他幾項如召回率和平均精度均低于原始實驗數據。
為了評估算法在融合CA 注意力機制前后對特種車輛特征檢測能力的差異,本文將改進后的算法與原始算法進行特征權重熱力圖對比。
由圖9可以看出,原始網絡對于機坪特種車輛的特征把握能力較弱,特征權重所占比例較低,而加入CA 注意力后的算法對于機坪特種車輛全局特征的把握能力更好,權重覆蓋范圍也更大。

圖9 加入CA 前后熱力圖對比
為了驗證本文改進后的算法與其他檢測算法性能的優劣,本文選取經典算法SSD[23]、Faster-RCNN、YOLOv3、YOLOv4-tiny[24]以及YOLOv4算法作為對照。此外,本文分別使用輕量化網絡ShuffleNetv2[25]、MobileNetv3[26]替換YOLOv5原始主干網絡,得到輕量化的YOLOv5-Shuffle-Netv2、YOLOv5-MobileNetv3兩種檢測算法。使用上述7種算法和本文算法進行對比,實驗結果如表4所示。

表4 不同目標檢測算法對比實驗
從表4中可以看出:本文改進后的算法在參數量和模型復雜程度較低的情況下,取得了最高的mAP0.5。與參數量更低,模型復雜程度更低的YOLOv5-ShuffleNetv2、YOLOv5-MobileNetv3及YOLOv4-tiny 三種算法相比,本文算法精度優勢明顯;與參數量更大,模型復雜程度更高的SSD、Faster-RCNN、YOLOv3、YOLOv4算法相比,本文算法依舊具有優勢。本文改進算法的mAP0.5高出對比算法中性能最優的YOLOv3 算法1.6%,而參數量卻比YOLOv3算法少了79.6%,模型復雜度低了89.3%。
為驗證本文改進的CA 注意力機制、四層特征檢測網絡以及雙向加權特征金字塔結構的有效性,進行消融實驗,評估各個部分在相同實驗條件下對本文檢測算法性能的影響。消融實驗以原始的YOLOv5s網絡實驗結果作為基準,實驗數據如表5所示。

表5 消融實驗
由消融實驗結果可以看出:四尺度特征檢測和三尺度特征檢測相比,檢測效果的提升是全面的。此外,無論是改進的雙向加權特征金字塔結構還是融合CA 注意力機制都對算法的Precision、Recall、mAP 有顯著的提升。與原始網絡相比,Recall提升3.5%,mAP0.5:0.95提升了3.3%,mAP0.5有2.3%的提升,Precision雖有輕微波動也提升了1.6%。
將改進后的算法與YOLOv5s在機坪應用場景下的檢測結果進行對比,由圖10 可以看出,YOLOv5s算法在遮擋較大的場景下無法有效的對特種車輛進行檢測,而改進后的算法對機坪特種車輛的特征檢測能力更強,在面對部分遮擋時算法的魯棒性更好。總的來說,改進后的機坪特種車輛檢測算法在精度更高的同時,穩定性也更為出眾。

圖10 實際檢測結果對比
本文提出了一種基于改進YOLOv5s的目標檢測算法,旨在提升機坪應用背景下對常見航班保障特種車輛的檢測能力。
首先,考慮YOLOv5不同模型大小和性能的差異,基于實驗結果選擇YOLOv5s 作為改進算法。之后,在YOLOv5s網絡的不同位置融合CA 注意力機制,確定融合效果最佳的位置。為了驗證CA 注意力機制性能的優劣,在效果最佳的位置上分別融合SE、CBAM、ECA 三種注意力機制進行對比實驗。接著,提出了一種四尺度特征檢測網絡,在原始三尺度檢測網絡的基礎上增加了10*10的輸出尺度,強化了網絡對不同尺度特種車輛的檢測能力,并結合加權雙向特征金字塔結構進行改進,改進后的算法對不同尺度特征的融合更為合理。此外,使用kmeans算法對機坪特種車輛數據集進行聚類,用聚類得到的錨框數據替換原始數據。在自建的機坪特種車輛數據集上的實驗結果表明:本文提出的機坪特種車輛檢測算法在Precision、Recall、平均精度mAP指標上較原始網絡均有顯著提升。
最后,需要指出本文在采用四尺度特征檢測網絡結構后,雖帶來了更優的檢測效果,但網絡參數量和模型整體的復雜程度均有一定增加,與一些輕量化算法相比對設備性能的要求較高。因此,下一步將考慮如何將檢測網絡整體輕量化的同時依然保持較高的檢測能力,便于在更低算力設備上的部署。