張瑞鑫,黎寧,2,*,張夏夏,ZHOU Huiyu
(1.南京航空航天大學 電子信息與工程學院,南京 211106;2.光電控制技術重點實驗室,洛陽 471000; 3.萊斯特大學,萊斯特 LE17RH)
隨著無人機技術的快速發展,低空小型無人機(unmanned aerial vehicle,UAV)在航拍、農業、軍事等領域得到廣泛應用,但同時也為空中航路安全、公共安全及軍事安全帶來威脅。民用領域,近年來消費型無人機在中國快速普及,全國多個機場出現了民用無人機擾航事件[1],無人機的合規合法化使用成為了新的焦點問題。軍用領域,利用蜂群無人機進行戰場偵察、信息干擾甚至發動攻擊逐漸成為了一種有效的戰爭手段。因此,作為無人機反制與管控的重要環節,對“低慢小”無人機的有效探測成為亟待解決的問題。
目前對無人機的探測手段按信號形式主要分為3類:雷達探測、無線電探測、光電探測。雷達探測作用距離遠,幾乎不受天氣影響,但無法識別懸停的無人機,無法區分慢速移動的無人機與樹木等其他物體;無線電探測通過對無人機與操控者的通信信號進行分析,來對無人機進行識別,這種方式可以實現對無人機詳細特征的精準識別,但無法識別頻譜特征不存在于頻譜庫或處于電磁靜默狀態的無人機;光電探測使用可見光和紅外探測器對無人機進行識別與跟蹤,精度高且成本較低,相比其他2種具有更廣闊的應用場景和更高的實用性。
隨著卷積神經網絡在圖像處理領域的廣泛應用,目標檢測算法已經從傳統的人工設計特征算子轉變為利用卷積神經網絡自動提取特征。目前基于深度學習的目標檢測算法主要分為一階段和二階段網絡。二階段網絡首先產生候選區域,包含目標大概的位置信息,然后對候選區域進行分類和目標位置回歸。Girshick等[2]將深度學習技術應用于目標檢測領域,提出基于區域提取的RCNN算法,利用選擇性搜索算法生成1000~2000個候選區域,并將這些區域送入卷積神經網絡中進行特征提取,利用支持向量機進行分類并進行位置精修。RCNN相比傳統算法精度大大提升,但候選區域生成階段包含過多冗余計算,運行速度較低。為提高二階段網絡的速度和精度,學者們陸續提出了一系列RCNN的變體:Fast RCNN[3]、Faster RCNN[4]、Cascade RCNN[5]、Mask RCNN[6]等。雖然二階段網絡在精度上有優異的表現,但其緩慢的速度限制了在實時性任務中的應用。一階段網絡直接生成目標的類別概率和位置坐標,準確度一般低于二階段網絡,但在速度上有較大優勢,代表算法有YOLOV3[7]、RetinaNet[8]、CornerNet[9]等。
無人機檢測任務的首要難點為機體在光學圖像中所占像素尺寸較小。一般認為所占像素尺寸小于整張圖像1%的目標為小目標,目標檢測通用數據集COCO將小目標定義為像素尺寸小于32×32的目標。小型無人機成像后所占像素往往更小,在像素尺寸為1960×1080的光學圖像數據集中,大部分無人機所占像素尺寸在15×15~35×35之間,包含特征信息較少,因此,針對低空無人機小目標檢測任務需要設計專用算法。現有的目標檢測算法在特征提取階段普遍包含過多下采樣,小目標的特征信息隨著下采樣的次數增多逐漸丟失,檢測器在小目標檢測任務中普遍存在漏檢率高、定位質量低的問題。故而本文對目標檢測算法的特征提取模塊進行重新設計,采用先下采樣再上采樣的沙漏結構,獲得深層語義特征的同時維持較大的特征圖分辨率,并使用旁路連接融合小目標及定位信息清晰的淺層特征與深層語義特征。此外,現有的目標檢測算法主要依據圖像局部范圍內的特征信息判定該區域是否存在目標,孤立于其他局部區域的檢測。而蜂群無人機個體之間相似度較高,可以利用特征的相似性對群體中的個體進行特征增強。因此采用改進的非局部算子捕捉空間長距離特征之間的關聯性,增強無人機特征信息,減少漏檢情況的發生。最后引入定位質量監督,優化標簽編碼策略和邊界框回歸方式以提升定位質量,實現了對低空無人機的有效檢測和精準定位,為后續無人機跟蹤、軌跡預測任務奠定基礎。
CenterNet[10]是一種端到端可微的無錨框(anchor free)單階段目標檢測算法。大多數成功的目標檢測器列舉所有潛在目標的位置,并對這些區域進行交并比(intersection over union,IOU)計算、分類,這樣的做法是低效的,并且需要非極大值抑制(non maximum suppression,NMS)等額外的后處理。CenterNet將目標檢測問題轉換為關鍵點估計問題,輸入圖片經過全卷積網絡產生熱圖,熱圖的局部峰值對應物體中心,并對物體中心回歸邊界框的高度和寬度。相比基于錨框(anchor based)的算法更加簡潔、快速和精確。
輸入圖像為寬度W和高度H的RGB圖像,經過編解碼網絡(encoder-decoder)輸出到3個分支,分別為物體中心概率的關鍵點熱圖、物體尺寸、下采樣取整帶來的中心點偏移。在中心點與分類分支,對關鍵點熱圖執行簡單的3×3最大池化獲得局部峰值點,取代NMS后處理。用中心點偏移補償目標中心后,結合物體尺寸即可獲得檢測框,網絡結構如圖1所示。

圖1 CenterNet結構簡圖Fig.1 CenterNet structural sketch
基于錨框的目標檢測器使用標簽的方式為在訓練過程中將真值框(ground truth box,GT)與大量的錨框進行交并比計算,大于某一閾值則認為錨框內存在目標,這一方法包含大量冗余計算,減慢了算法運行速度。
CenterNet將真值框編碼為目標中心坐標和目標尺寸,并用高斯散射核將下采樣后的目標中心投射到熱圖上:


CenterNet的損失函數由三部分組成,中心點損失、中心點偏移損失、物體尺寸損失。中心點損失選擇連續標簽的Focal Loss[8]:

式中:N為關鍵點個數,下標k為第k張圖像,超參數α和β遵循文獻[9]選用2和4。物體尺寸和中心點偏移均采用均絕對誤差(MAE)損失:


完整損失函數即為三者相加:

無人機反制系統中無人機探測的準確性、實時性至關重要。主流目標檢測器針對無人機小目標的檢測普遍存在漏檢率偏高、檢測框質量較差的問題,對后續的跟蹤和預測有較大影響。為此,對CenterNet進行算法優化,引入聯合注意力及檢測框質量估計機制,以提高平均準確率。
蜂群無人機是近些年備受關注的新型作戰概念之一,未來空域中無人機很可能以集群的方式出現。目前大多數目標檢測器利用小卷積核提取局部信息,并通過不斷堆疊卷積層和下采樣層來擴大感受野判斷某一區域內是否存在目標,淺層特征信息在下采樣過程中不斷損失,最終也無法獲得表征2個目標之間關系的全局信息。因此引入一種非局部信息統計機制,以捕捉長距離特征之間的依賴關系,使得多個無人機小目標之間相互關聯、相互激活,減少漏檢現象。
Non-local于2018年由Wang等[11]提出,其思想來源于數字圖像濾波領域的非局部均值(nonlocal mean)操作及自然語言處理領域中的自注意力(self-attention)機制,最初用于行為識別領域,捕捉視頻序列的長范圍依賴。Non-local的一般表達為


式中:x為輸入特征圖矩陣;i為輸出位置,輸出yi與任意位置j均相關,使用函數f(xi,xj)度量位置i和位置j的相似度;函數g為輸入特征在位置j的響應函數;最后通過響應因子C(x)進行標準化處理。式(7)中,qi=Wqxi,kj=Wkxj為自注意力機制KQV模型中的查詢向量和鍵向量。
Non-local算子度量特征圖任意2個位置的關聯程度,并利用2個位置之間的相似性對特征進行加權處理,自適應增強神經網絡需要關注的位置,抑制無關信息。為了讓Non-local操作適應神經網絡結構,將整個Non-local操作轉換為矩陣乘法運算和矩陣加法運算,如圖2所示。

圖2 Non-local結構Fig.2 Non-local structure
然而,文獻[12]對Non-local提取的注意力圖進行可視化,發現Non-local操作確實能夠關注具有目標附近的區域,但對于不同查詢位置的注意力圖幾乎是一致的。文獻[12]認為Non-local操作學習到的注意力圖是不依賴于位置的,換而言之,Non-local操作不能表征任意兩特征之間的關系,只能在空間域上關注某些重要特征。文獻[13]對Non-local進行了進一步研究,認為Non-local將兩項獨立的任務聯合學習,導致了文獻[12]中的問題,文獻[13]將Non-local公式中的相似度計算函數f(xi,xj)解耦為

式中:μq為q的均值;μk為k的均值。
經過白化(whiten)的成對項解釋了2個特征之間的關系,一元項代表了每個特征的顯著性。經實驗發現,成對項傾向于學習相同類別區域內關系,一元項學習顯著邊界,但當兩者在Non-local中聯合學習時,兩者的作用相互影響,這可能對學習兩類視覺線索有害。基于此項研究,將Non-local拆分為PNL(pairwise NL)和UNL(unary NL)。圖3為PNL結構。為了保持PNL學習到的區域之間關系,將PNL放置于淺層支路連接,與編解碼網絡輸出的特征進行通道拼接。

圖3 PNL結構Fig.3 PNL structure
然而,Non-local僅關注空間域特征間關系,而不同特征通道內的信息對最終目標正確檢測的重要程度也有所不同。所以,在UNL模塊的基礎中添加通道注意力機制,組成CNL(channel NL),同時捕獲空間與通道的顯著性,突出有效信息,抑制冗余信息,如圖4所示。大多數通道注意力在計算各通道重要性時采用先降維再升維的方式來降低計算量,并捕獲所有通道間的關系。文獻[14]的實驗表明降維對通道注意預測帶來副作用,捕獲所有通道之間的依賴也是低效且不必要的。因此在CNL中使用不降維的局部跨通道交互策略,使用一個自適應的1(1卷積代替進行降維的2個全連接層,卷積核大小k代表參與局部跨通道交互的通道數,k與通道維數成正比,通過這樣的方式降低計算量。

圖4 CNL結構Fig.4 CNL structure
基于ResNet、DLA、Hourglass,CetnerNet被設計了4種編解碼網絡[15-17]。輸入圖像經過下采樣獲得原圖的1/32或者1/128大小的特征圖后,經轉置卷積上采樣到原圖的1/4大小的輸出特征圖。經初步實驗表明,DLA獲得最佳精度和速度權衡,因此選擇DLA為基準編解碼網絡。考慮到過多的下采樣對淺層定位信息的破壞性及淺層特征對小目標檢測的重要性,減少下采樣模塊,移除32倍下采樣模塊,特征圖大小到達原圖的1/16時進行上采樣。Non-local文章中建議在淺層使用Non-local模塊,因為深層特征在不斷的下采樣過程中逐漸損失空間信息及特征點之間的關聯性,所以在DLA中2倍下采樣處額外添加淺層分支,并使用PNL模塊捕捉特征圖空間關聯性,與輸出特征圖聚合,最后在編解碼網絡中使用CNL模塊捕獲通道間依賴關系,突出重要信息,抑制冗余信息。綜上,設計DLAX28作為最終的編解碼網絡。
編解碼網絡輸出的特征圖送入目標中心點分支和目標尺寸分支。相比CenterNet移除了中心點偏移分支,目標尺寸分支改為回歸中心點到4條邊的距離,讓中心點偏移包含在尺寸回歸中,計算復雜度不變但并行度提高。再者,邊界框中心點可能落在背景上,可能導致較大中心點回歸誤差,回歸中心點到4條邊距離的邊界框編碼方式更加靈活,適應復雜情況的能力更強。原始CenterNet和S-CenterNet-DLAX28網絡整體架構如圖5所示。

圖5 CenterNet與S-CenterNet-DLAX28結構Fig.5 CenterNet and S-CenterNet-DLAX28structure
為了提升計算資源受限平臺下的性能表現,同時設計輕量化版本DLAS28。用深度可分離卷積代替普通的卷積操作,降低參數量和浮點運算次數。受CSPNet[18]啟發,將2倍下采樣淺層分支處的通道進行分流,一半的通道信息通過完整的編解碼網絡進行特征提取,一半的通道信息直接通過分支進行全局信息提取,并與輸出特征圖進行通道拼接。CSPNet認為這樣可以不同的累積層重復學習復制的梯度信息,并減少計算量。經實驗發現,通道分流再聚合在獲得可忍受的精度損失的同時,推理時間減少約30%。
CenterNet與CornerNet都使用圓形高斯散射核將真值框目標中心投射到標簽熱圖上,高斯散射核如圖6所示。但物體的長和寬往往是不一致的,對于長寬比較大的物體,預測中心點在x軸方向和y軸方向偏移同樣的距離應當獲得不同的誤差。因此使用橢圓高斯散射核進行標簽編碼,以獲得更精準的目標中心點定位:


圖6 高斯散射核示意圖Fig.6 Schematic diagram of Gaussian scattering kernel

S-CenterNet的損失函數由3項組成:中心點損失、物體尺寸損失、定位質量損失。

CenterNet只將Yxyc=1的點作為正樣本點,其余所有點視為負樣本點,造成嚴重的正負樣本不平衡問題,導致訓練過程的損失由負樣本的損失主導。因此,設置比例因子,增強正樣本的損失,削弱負樣本的損失。此外,Yxyc=1附近的高質量樣本同樣能對訓練起到監督作用,所以,將Yxyc≥0.95的樣本視為正樣本點。中心點損失:

式中:λ為超參數,實驗中取0.75;N為正樣本點數量。
物體尺寸損失沿用MSE損失,計算公式同式(3),其中S^為中心點到上下或兩側距離之和,仍然為物體的長或寬。
CenterNet對物體的中心點及尺寸的訓練是獨立的,這是檢測框定位質量不佳的重要原因。為了解決小目標定位質量普遍較差的問題,提出馬氏交并比(MIOU)損失對定位質量進行度量,在計算損失的過程中將預測的中心點位置及目標尺寸解碼為預測框,將預測框和真值框的重合程度作為訓練的監督項,使得S-CenterNet可以獲得更加精準的檢測框。

式中:m1~m4分別為預測框和真值框4條邊界中心點之間的曼哈頓距離;d為能夠同時包含預測框和真值框的最小閉包區域的對角線的歐式距離,具體計算方式如圖7所示。

圖7 MIOU計算方法Fig.7 MIOU calculation method
為驗證S-CenterNet模型在低空無人機檢測任務中的有效性,在相同運行環境及無人機數據集的前提下,將S-CenterNet和CenterNet進行對比實驗。
由于目前沒有公開的通用無人機數據集,首先進行數據集構建。為保證數據的多樣性,數據采集在不同光照、不同天氣的條件下進行,總共采用4種型號的無人機:大疆精靈4、大疆M200 V2、大疆M600、自制無人機。拍攝距離由20~3000m,近程使用無人機載光學攝像頭,遠程拍攝使用雷達掃描到可疑目標后引導光電設備對準無人機。
數據采集總共獲得6682張圖像,經過翻轉、旋轉、裁剪、亮度調整擴充為40092張圖像。經人工標注后,按照6∶2∶2的比例劃分訓練集、驗證集和測試集,標簽中的目標尺寸經kmeans算法聚類后獲得的聚類中心為(14,16)、(22,25)、(30,35)。圖8為數據集部分圖像。

圖8 數據集部分圖像Fig.8 Part of dataset image
實驗算法的運行環境為:深度學習框架Pytorch1.2;編程語言Python3.6;操作系統Ubuntu 16.04;處理器Intel(R)Xeon(R)Silver4114;內存128GB;GPU為2張Nvidia GeForce RTX 2080Ti12GB;CUDA10.0。
訓練使用Adam優化器,初始學習率為1.5×10-4,訓練100輪,在第60輪和第80輪學習率衰減為原來的0.1倍。
3.3.1 評估標準
目標檢測算法的一般評估標準為平均準確率(mAP),mAP由查準率(Precision)和召回率(Recall)計算而來,查準率計算式為

式中:TP為與真值框的交并比大于某一閾值的檢測框數量;FP為與真值框的交并比小于某一閾值的檢測框數量,或檢測到同一個真值框的多余檢測框的數量。召回率計算式為

式中:FN為沒有被檢測到的真值框的數量。以查準率為縱坐標,召回率為橫坐標繪制P-R(Precision-Recall)曲線,曲線下的面積即為某一類平均準確率AP,mAP為所有類別AP值的平均。AP50表示IOU閾值為0.5,AP75表示IOU閾值為0.75,COCO中的AP一般表示IOU閾值為[0.5∶0.05∶0.95]共10個值下的平均結果,綜合反映了檢測準確率和定位質量。
實驗還使用前向推理時間衡量圖片經過網絡的GPU耗時;使用網絡參數量衡量模型的復雜度。
3.3.2 消融實驗
首先對主干網絡結構進行調整,移除DLA34的32倍下采樣模塊,并在2倍下采樣處添加支路連接,支路下采樣后與編解碼網絡輸出特征圖通道拼接。表1~表6為消融實驗結果,黑體代表該組實驗中表現最好結果。表1為對網絡結構調整前后性能對比,準確率略微上升,前向推理時間減少1ms。表2展示了成對項非局部算子對無人機檢測的效果提升。由于PNL計算復雜度較高,在支路增加一個PNL模塊推理時間上升4ms,不考慮嵌入多個PNL模塊。表3展示了在不同階段集成CNL模塊的結果。實驗結果表明,在編解n碼網絡中添加CNL模塊能普遍提升平均準確率,綜合考慮速度與準確率,最終選定在L2、L3和L4層添加CNL,并在支路添加一個PNL。

表1 網絡結構調整Table1 Network structure adjustment

表2 PNL性能對比Table2 PNL performance compariso

表3 CNL性能對比Table3 CNL performance comparison

表6 消融實驗結果Table6 Results of ablation experiments
表4對比了使用圓形高斯散射核與橢圓高斯散射核進行標簽編碼對檢測性能的影響。實驗表明,區分長和寬的標簽編碼方式可以更好地引導中心點分支的訓練,能夠提升中心點預測和邊界框回歸的準確率。

表4 標簽編碼方式Table4 Label encoding method
對于損失函數,增加定位質量損失和比例因子的結果在表5中展示。定位質量損失引導預測框與真值框盡可能重合,比例因子緩解正負樣本不平衡問題,避免訓練被負樣本損失主導,并且在預測時不增加額外的計算開銷,大幅提升定位準確率。

表5 定位質量損失和比例因子Table5 Positioning quality loss and scale factor
最后,對各模塊的改進進行消融實驗。表6展示了包含引入淺層信息、加入解耦的非局部算子和通道注意力在內的網絡結構設計、標簽編碼方式及損失函數的改進對算法性能提升的貢獻。結果顯示,在可容忍的時間開銷增加下,算法平均準確率和平均召回率(mAR)均有較大提升。
3.3.3 算法性能評估
為驗證優化算法的有效性,采用相同超參數,選用多個主干網絡對CenterNet和S-Centernet進行評估,性能對比如圖9所示。更加詳細的實驗結果如表7和表8所示,DCN(deformable Conv-Nets)表示在上采樣過程中使用可變形卷積[19]。

表7 算法準確率對比Table7 Algorithm accuracy comparison

表8 算法速度及模型復雜度對比Table8 Algorithm speed and model complexity comparison

圖9 改進前后算法性能對比Fig.9 Algorithm performance comparison before and after improvement
實驗表明,使用DLA34和Hourglass的CenterNet網絡在無人機數據集有不錯的準確率表現,但是Hourglass網絡參數量大、推理速度慢,不適合實時性要求強的低空無人機檢測任務,使用DLA34和DLA34-DCN可以達到較好的準確率-速度權衡,AP50達到90%左右,但AP75較低,表明存在回歸框定位質量不高的問題。
S-CenterNet相比CenterNet有普遍的性能提升,如表7所示。AP50有5%~6%的提升,漏檢率降低,檢測出更多難樣本。AP75提升較大,普遍在15%以上,表明檢測框定位質量大幅提升,為后續的穩定跟蹤、預測等任務奠定良好的基礎。
DLAX28由DLA34改進而來,聯合注意力機制與網絡結構調整帶來的額外時間開銷使得推理時間增加了6ms,但mAP獲得8.9%的提升。輕量版主干網絡DLAS28采用類似CSPNet的通道分流,mAP損失約2%,但仍超過使用Hourglass的CenterNet網絡,推理時間降為12ms,獲得與DLA34相近的時間開銷,但準確率優于DLA34約7%。值得一提的是,通道分流后網絡寬度變小,整體網絡參數量僅8.3MB,是原始DLA34的1/8左右,適用于計算資源和存儲資源受限的平臺。
圖10為算法改進前后不同場景的低空無人機檢測結果對比。圖10(a)中所有無人機被檢測出來,但檢測框中包含過多背景,為后續的跟蹤等任務帶來更多的噪聲;得益于S-CenterNet的定位質量損失及更好地利用邊界信息的邊界框編碼機制,圖10(b)中的檢測框更加準確、緊湊。在遠距離光電設備拍攝的場景2,圖10(c)漏檢現象較為嚴重,圖10(d)則能夠將所有無人機檢測出來,漏檢現象得到緩解。

圖10 可視化結果Fig.10 Visualized results
本文提出了一個基于CenterNet與聯合注意力的目標檢測算法,使用非局部算子提取全局特征,突出需要關注的區域,并優化標簽編碼與邊界框回歸方式。
1)融合非局部特征能夠提升編解碼網絡性能、降低網絡對深度的依賴,用更少的層數達到相同的效果,并降低群目標檢測的漏檢率。
2)定位質量損失可以大幅提升邊界框定位質量,獲得更加緊湊的邊界框。
3)通道分流策略通過減少網絡寬度與重復梯度信息的學習,降低計算復雜度和內存成本,在可接受的準確率損失下帶來速度提升。