占哲琦,陳鵬,桑永勝,彭德中
(1.四川大學計算機學院,成都 610065;2.西華大學計算機與軟件工程學院,成都 610039)
隨著無人機技術的迅速發展,無人機不僅在戰爭中扮演著越來越重要的角色,也給人們生活帶來諸多便利。但與此同時,無人機的普及也對原有國家防空體系與航空安全構成了更大的挑戰。例如無人機飛入禁飛區引發的安全問題,無人機影響機場航班起飛之類的新聞也是頻頻出現。因此亟需一個智能的無人機檢測系統,以保障軍事以及人民的生活安全。
運動目標的檢測是計算機視覺研究中的熱點和難點,在軍事領域、智能交通、安全監控、圖像檢索、人機交互等方面有著廣闊的應用前景。它旨在一個靜態圖像或動態視頻中檢測出人們感興趣的目標對象。無人機具有高機動性、高分辨率、隱蔽性好、操作靈活等優勢,主要應用于晝夜空中偵察、戰場監視、戰場毀傷評估和軍事測繪領域。實時準確地檢測出視野中的無人機,給出對應的精確坐標和種類,能夠極大地加強制空領域的安全。
近年來,深度學習在目標檢測任務中展現出了巨大的潛力。由于卷積神經網絡[1]在圖像分類上的巨大成功,文獻[2]提出了R-CNN 模型,使用了神經網絡提取的特征代替了人工設計的特征,以此提高模型特征的泛化能力,然后結合選擇性搜索和預訓練的支持向量機,得到最終的檢測結果。由于該算法框架整體可以分為目標區域生成和目標區域分類與目標框的校準,該算法與后續改進算法都被稱為兩階段算法。文獻[3]在文獻[2]的基礎上提出了興趣區域池化層(Region of Interest pooling layer),通過這一操作直接獲取選擇性搜索結果對應的特征,提高了卷積獲得的特征的復用性;并且使用神經網絡取代了預訓練分類器和回歸器,大大提高了速度。文獻[4]提出了YOLO 算法,將原圖分為若干個格子,隨后為每一個格子預測若干個目標包圍框、置信度和分類概率。該算法通過預測大量密集的目標框來覆蓋目標物體,以達到直接生成結果的目的。文獻[5]結合了YOLO 和RPN 網絡提出了SSD 算法,引入了Anchor 的概念,使用全卷積網絡來預測預設框的變化量,降低了坐標的擬合難度,使得單階段算法的性能達到了兩階段算法的水準。
在深度學習的研究中,注意力機制一直是許多研究者關注的重點。注意力機制,最早是借鑒了人眼對于外界的觀察方式,當人去觀察一幅圖像時,會將焦點放到需要重點關注的區域,而不去關注其他的無用信息。而在深度學習中注意力機制就是將關注點集中在局部的信息上,從特征中選擇對任務目標更為重要的部分。近幾年尤其是在NLP 中,注意力機制被廣泛使用。文獻[6]將注意力機制運用到了文本翻譯的工作中,使用對齊模型作為分配每一個輸入特征對與輸出單詞的參數的權重,其中對齊模型可參數化為一個前饋神經網絡。文獻[7]提出了層級注意力網絡,分別對輸入文檔的句子和單詞使用了不同級別的注意力,這樣使得模型能夠在不同層次獲得到不同級別的文本信息。文獻[8]則提出了Transformer 模型,使用注意力機制代替實現了循環神經網絡對序列輸入的建模,取得了非常有效的成果。此外在計算機視覺的任務,研究者也進行了許多的注意力機制的應用與研究。文獻[9]將注意力機制運用到了圖像分類中,通過注意力模塊提高了深層特征的感受野,突出了更有利于分類的特征,在數據集上得到了更優秀的結果。文獻[10]將注意力機制運用到了圖像分割的工作中,通過注意力機制去融合不同尺度的圖像特征作為輸入,使得最終效果有了顯著的提升。文獻[11]則在細粒度圖像分類的研究中使用了注意力機制,讓模型聚焦到目標最具有區分度部位上,達到同類物體精細分類的效果。
單階段算法因計算速度快,非常適合需要實時的監控場景,但是由于單階段的算法缺少目標區域生成的過程,直接對整張圖片進行特征提取和目標框的回歸,容易受到復雜背景的影響導致性能下降。例如在無人機檢測的過程中,容易出現誤檢和錯檢。針對這一問題,本文基于YOLOv3 網絡,提出融合雙注意力的單階段目標檢測算法用于無人機目標檢測,通過通道注意力和空間注意力兩個方面對卷積網絡提取的特征進行選擇,降低了復雜背景對檢測結果的影響。算法在自建的無人機數據集上進行實驗驗證。實驗證明,本文提出的網絡模型比起其他單階段的檢測算法有著更好的效果,算法流程圖如圖1 所示。

圖1 模型結構圖
本文使用DarkNet53[12]對圖像數據進行特征提取。該網絡融入了殘差連接,解決了梯度爆炸和梯度彌散的問題,使得網絡深度相較之前的網絡有了很大的提升,因而能夠提取到更深層次的特征。同時網絡在卷積層之后加入了BatchNorm 層[13],減少了每層網絡輸入的分布變化,加快了網絡的收斂。
該網絡中可以分為兩種模塊,一種是結合了殘差連接的兩層卷積:

該網絡通過上述兩種模塊的重復組合,構造了一個用于圖像特征提取的深層網絡。
眾所周知的是,在深度學習中,底層網絡提取出的特征缺乏語義信息,難以對特征進行準確分類,但是特征圖較大,目標的位置準確;高層網絡提取出的特征語義信息豐富,方便對目標進行分類,但是特征圖較小,目標的位置很粗糙。文獻[14]為了解決這一問題,提出了特征金字塔網絡(Feature Pyramid Network)網絡,通過上采樣的操作將高層與底層的特征融合,同時獲得了準確的位置與豐富的語義信息。本文算法中也采用了相似的思想,將用于檢測輸出的特征與高層特征融合,獲得了更豐富的語義信息,并且規定高層特征檢測大物體,低層特征用于檢測小物體,減少了位置粗糙帶來的坐標變差的影響。
本文為了改善單階段算法缺乏區域建議階段導致的檢測效果不佳的問題,通過融合通道注意力與空間注意力,抑制無效特征,使得提取的特征更準確。該模塊可以分為兩個階段:注意力生成階段與融合階段。
注意力生成階段主要負責通過提取出的高層特征計算通道注意力和空間注意力。對于通道注意力,使用均值池化操作和全連接層進行計算和特征降維。對于空間注意力則使用卷積層和sigmoid 操作獲得。

式中:AttnC代表生成的通道注意力,AttnS代表生成的空間注意力,Fend代表特征提取器提取出的最后一層特征。AvgPool用于將特征圖的尺度變為1×1,以的到通道上的特征;FCsqueezed將特征壓縮到一個較小的維度,用于后續擴展到不同通道長度,與對應特征融合;Sigmoid操作將最后特征的值變為0 到1 之間,生成空間力。
注意力融合階段主要目的是使用獲得的注意力對用于預測的特征進行指導,獲得更有效的信息。

式中:FAC代表融合了通道注意力的特征,FAS代表融合了空間注意力的特征,FFinal代表最終生成的特征,Ftodo代表用于融合注意力的特征。FCexpand用于將通道注意力擴展到融合特征對應的通道長度,Sigmoid操作將最后特征的值變為0 到1 之間,生成最終的通道注意力;concat操作用于將兩個融合不同注意力的特征結合起來,通過卷積操作生成最終用于檢測的特征。
獲得最后的特征信息FFinal之后,通過卷積層獲得直接輸出一部分通過Softmax 函數和Sigmoid 函數獲得最后的類別分數和置信度,使用交叉熵計算偏差的損失。另一部分用于計算坐標與框的大小,通過L1 損失函數計算偏差的損失。輸出具體如下:

式中:FFinal代表用于回歸輸出的特征,prob代表目標類別的概率,obj代表目標的置信度,boxcenter代表目標框的x,y 坐標的偏移量,大小為0~1 之間,offset代表目標框的對應的位置,boxscale代表目標框的長寬,anchor代表目標框預設的大小。
本文研究所用數據集為自行收集構建。該數據集包含13803 篇張圖片,主要內容為無人機和干擾物體。其中無人機包含六個種類,分別為五種不同大小不同形狀的四旋翼無人機和一種直升機。干擾物體主要為各種顏色與大小的氣球。數據集的具體數據分布情況與部分圖片展示如下。

表1 無人機數據集

表2 單目標UAV 圖像樣本分布

表3 多目標UAV 圖像樣本分布

圖2 UAV數據集示例
卷積操作僅僅具有平移不變性,因此深度卷積神經網絡對于目標物體的色彩與幾何變化非常敏感。因此本文對訓練用的圖像數據進行了隨機增廣,用于改善算法的性能。主要操作包括:
(1)顏色隨機調整,包括對比度、飽和度、亮度和灰度。
(2)圖像的相關操作,包括裁剪、縮放和翻轉。
每個批次的數據在輸入網絡訓練之前,都會隨機地進行上述操作。
實驗中,本文方法使用DarkNet53 作為特征提取網絡。模型使用SGD 算法訓練80 個輪次,初始學習率為10-4在第60 輪時,學習率下降為10-5;動量為0.9,權值衰減數值為5-4,NMS 閾值為0.45,注意力通道維度為128。實驗使用multi-scale training 技術,輸入不同大小圖片訓練模型。
本文用3 種主流方法與論文方法進行實驗對比,并且使用了三種流行的特征提取器,對比方法在無人機數據集上的效果,減少了特征提取網絡對最終結果的影響。三種目標檢測方法分別為:
(1)SSD(Single Shot Detector)。該方法是一個經典的單階段算法,使用了多層特征檢測的技術獲得了與兩階段算法相媲美的結果。
(2)Faster R-CNN。該方法是兩階段算法中的典型,后續許多SOTA 算法都是基于該方法的改進。
(3)YOLOv3。YOLO 系列的改進方法,融合了近幾年主流的計算機視覺技術,是的單階段算法取得了新的高度,本文算法也是基于該網絡進行的改進。
三種特征提取器分別為:
(1)VGG16。該網絡由AlexNet 改進而來,采用連續的幾個3×3 的卷積核代替其中的較大卷積核。
(2)ResNet50。該網絡引入了殘差結構,解決了深度網絡中梯度彌散和梯度爆炸的問題,從而得以獲取更深層次的特征。
(3)DarkNet53。該網絡與 ResNet 類似,但是擁有著更高的GPU 利用率,更為高效。
本文對比多種模型進行實驗,以模型在訓練集上訓練,測試集上測試。以MAP(Mean Average Precision)作為評價標準。MAP 由所有類別上的平均精確度計算得到,計算公式為:

其中N(TruePositive)C表示對于類別C 的真正樣本的數量,N(TotalObject)C表示類別為C 的所有物體的數量,N(TotalImages)C表示訓練集的大小,最終MAP 則是所有類別上的平均精度的均值。
具體實驗結果如表4 所示。

表4 對比實驗結果
由表4 的實驗結果可以發現,從算法上來講,SSD512 與 YOLOv3 效果接近,均高于 Faster R-CNN 算法。因為在無人機檢測的過程,無人機與無人機之間大小差距非常大,SSD 使用了多尺度的特征圖,用于檢測不同大小的物體;YOLOv3 使用了特征金字塔,融合了高層特征與底層特征,并且在不同大小的特征圖上分別檢測不同大小的物體;而Faster R-CNN 算法并沒有采用類似的方法處理比例不同的目標。而SSD512的結果與YOLOv3 一致,說明同為單階段的目標檢測算法,在基本思路都是通過回歸的方法使得預設的anchor 擬合目標物體的情況下,兩者的表現更多的是受到特征提取器的影響;在特征提取器的一致的情況下,算法效果并沒有很大的區別。從特征提取器的角度來看,雖然 VGG16 的參數量大于ResNet50 和DarkNet,但是效果并不如后者優秀,說明深度的網絡更有利于提取到魯棒的特征。最后本文提出的算法,在其余條件一致的情況下,通過增加注意力生成與注意力融合模塊,在數據集上獲得了1.3 的MAP 指標提升,證明本文提出的算法相比原算法效果有著明顯的提升。
本文針對無人機檢測這一個任務,構建了無人機數據集用于模型的訓練和評價,并針對單階段的算法缺少目標區域生成的過程,容易受到復雜背景的影響導致性能下降的問題,提出了融合雙注意力機制的目標檢測算法。算法通過特征提取器提取出的特征生成出通道注意力和空間注意力,之后將注意力與不同尺度的特征進行融合,用于回歸計算最終的輸出。在無人機數據集上的對比實驗表明,本文的方法能夠提取到更豐富的特征,有效地提高了無人機檢測的效果。