張萌,王仕成,楊艷麗,楊東方
(火箭軍工程大學 導彈工程學院,陜西 西安 710025)
空對地目標檢測技術是無人機、航空飛機等空基飛行平臺遂行偵查、監視等任務的關鍵共性技術。通過研究新型空對地目標檢測技術,提高空基成像平臺對地面目標檢測的精度和智能自主性,是當前空基民用和軍事領域關注的重點問題。
目標檢測技術的發展經歷了基于底層人工特征的目標檢測和基于深度學習抽象特征的目標檢測2個階段。在前深度學習時代,研究人員通過設計對目標的人工特征描述,例如顏色、紋理、輪廓等底層特征,或者SIFT(scale-invariant feature transform)[1],SURF(speeded up robust feature)[2],HOG(histogram of oriented gradient)[3]等人工特征,實現對目標的描述;然后采用SVM等分類器進行分類和識別。此類方法在常規、簡單的檢測任務中可以取得不錯的效果,但其一般是針對某個特征的目標識別任務,使用的數據量不大,模型泛化能力差,且人工特征的提取易受到環境因素的影響,在實際復雜的環境中難以實現對目標的精確識別。近年來,隨著深度學習的不斷發展,深度卷積神經網絡為提取圖像目標的高層抽象特征提供了一種有效的方式,AlexNet[4],VGGNet[5],GoogleNet[6],ResNet[7],MobileNet[8]等特征提取網絡相繼被提出,現階段基于深度學習的目標檢測算法都是在特征提取網絡的基礎上不斷發展的。
當前,主流的深度學習目標檢測算法可劃分為基于區域建議(Region Proposal)的Two-stage檢測算法和基于回歸思想的One-stage檢測算法。區域建議的Two-stage檢測算法包含區域建議和卷積神經網絡(CNN)分類2步,現階段具有代表性的是Fast R-CNN[9],Faster R-CNN[10]和Mask R-CNN[11]。此類方法雖檢測精度得到了很大的提升,但區域建議耗時太長,因此檢測的速度達不到實時性的要求。為了提高檢測的實時性,有人提出了基于回歸思想的One-stage檢測算法,具有代表性的有YOLO[12]和SSD[13]。這類算法摒棄了R-CNN系列算法的區域建議的過程,通過回歸的方法直接從圖像獲得目標的位置和類別,提高了檢測速度,可以滿足實時性的要求,但是目標檢測精度受到了削弱,尤其是在小目標檢測應用背景下,該問題更為突出。事實上,空對地目標檢測問題正是實時性和精度要求都非常嚴格的應用場合:在空基對地目標檢測的背景下,由于平臺飛行高度的變化,成像的場景范圍以及目標的尺寸、數量都存在顯著差異,致使現有的深度學習檢測算法難以適應不同空基平臺的需求。
事實上,人類在觀測時,隨著目標距離的不同,視覺系統在不斷調整適應不同距離的觀察。在傳統視角下,由于視野的范圍可以無限擴展,這一點體現得不明顯,但在空基對地觀測時,視野的范圍和目標的大小、數量都隨著高度的變化而改變,檢測網絡就像是人類的視覺系統,在不同高度下對地觀察時,需要做出一些調整以適應高度的變化。受此啟發,我們在本文中以空對地條件下的目標檢測為例,研究分析了高度變化對檢測算法的影響,同時對檢測算法進行改進,以便減小高度信息變化對檢測效果產生的影響,提高平臺對地成像目標檢測的精度。我們將這種方法在本文中稱為“HASSD”(height adaptive SSD)算法。
本文首先在數據集規模相同的條件下,針對最具有代表性的SSD和FSSD算法(以VGG16作為特征提取網絡),進行了2種不同高度范圍的6組對比實驗,實驗結果如表1所示。
通過實驗結果可以看出,SSD系列算法在小于100 m的情況下,檢測精度較高;在100~300 m的情況下,由于目標尺寸變小,檢測精度較低;在二者等比例混合后,檢測精度有所提高,但仍低于小于100 m的情況。因此,可以得出結論,空基平臺的飛行高度對目標檢測算法有影響,為之后的研究工作提供了依據。

表1 平臺飛行高度對檢測算法的影響Table 1 Influence of platform flight height on detection algorithm
其次本文對SSD系列算法中區域候選框的尺寸設置對檢測算法的影響進行了分析。在SSD系列算法中,區域候選框的尺寸設置通過預先設置的好的參數s1,s2和輸入圖像的尺寸共同決定,現有的SSD系列算法大都采用文獻[13]中的參數設置s1=0.2,s2=0.9,而后依據式(1)和(2)分別計算出6個不同尺度特征圖最大(max_size)和最小(min_size)區域候選框尺寸。以300×300大小的輸入圖像(這里定義尺寸為image_size)為例,依據式(1)和(2)可以計算得到各特征圖的區域候選框大小。
(1)
式(1)只用于計算conv4_3層特征圖的區域候選框的最大和最小尺寸。其中radio0=0.1,min_size0=max_size0=0,radio1=0.2。
(2)
式(2)用于計算fc7,conv7_2,conv8_2,conv9_2和conv10_2層區域候選框的最大和最小尺寸。其中radio取值為0.20,0.37,0.54,0.71,0.88,1.05。
依據SSD系列算法中區域候選框的產生原理,在其對檢測算法的影響分析實驗中,通過改變參數s1,s2的大小進行了3組對比實驗,實驗結果如表2所示。
由實驗結果可以得出,檢測算法中區域候選框的尺寸大小設置對不同高度下的目標檢測效果存在影響。分析其原因,主要在于空對地視角下觀察目標與常規視角不同,隨著高度的改變,成像場景中目標的尺寸都在隨之發生變化,改變區域候選框的尺寸設置能夠有效地適應高度信息變化對目標檢測算法的影響。

表2 區域候選框尺寸設置對檢測算法的影響Table 2 Influence of candidate box size setting on detection algorithm
本文選擇目前深度學習目標檢測領域檢測精度和效率相對較高的SSD算法作為空基平臺對地目標智能檢測算法的基礎框架,通過引入高度信息,提出了一種高度自適應的目標智能檢測算法(HASSD)。為此,本部分將從高度-目標檢測候選框尺寸關系模型和HASSD算法的網絡化描述2個方面對算法進行詳細介紹。
本文提出了高度-目標檢測候選框尺寸關系模型,通過建立成像高度與候選框尺度之間的關系模型,引入高度信息,替代原檢測網絡中區域候選框的生成方式,提高目標檢測候選框的質量,進而提高檢測算法的高度適應性和準確性。其具體原理如下:
為了建立高度-目標檢測候選框尺度的關系模型,本算法首先建立高度與目標尺度之間的關系模型,根據文獻[14]中攝像機成像的基本模型,設飛行平臺搭載下視相機的焦距f0(常值,即相機成像的分辨率不變),檢測目標的原始尺寸為(w0,l0),距地面高度H時在目標的尺寸為(w,l),則有
(3)
借鑒文獻[15]中船舶檢測中旋轉錨的思想,在不改變使用水平錨的條件下,考慮不同高度下目標沿水平方向旋轉的情況,假設圖像的水平線逆時針旋轉角度θ(θ∈(0,90°))后與目標軸線方向重合,圖像中目標的尺寸為(w′,l′),面積為S,則有
(4)
由式(4)可以看出,區域候選框的尺寸大小與高度H時目標的尺寸和旋轉角度θ有關。因此,在本算法中,不同檢測特征圖中區域候選框的生成規則如表3所示,生成檢測框的min_size,max_size的計算如式(5)所示:
(5)
對于空基對地成像目標檢測任務,由于受到平臺飛行高度的影響,對地成像的場景范圍,目標的數量、大小和密集度會有較大的差異,因此檢測算法需根據平臺狀態進行動態的調整,以適應飛行過程中的高度變化。HASSD算法能夠根據平臺飛行過程中的高度信息,對檢測網絡做出調整,提高檢測的精度。文獻[16]通過將高分辨率遙感圖柵格化分割為多個小圖,實現空對地車輛檢測。但該方法僅適用于靜態的處理固定尺度的目標信息,難以適應空基飛行平臺飛行視場的變化。本文通過在檢測網絡中引入高度-目標檢測候選框關系模型,改善區域候選框的生成質量,提高算法的檢測性能。
現階段,SSD系列算法在檢測性能上較好的是FSSD[17](feature fusion single shot multibox detector),該算法借鑒FPN[18]的思想,將SSD算法原來的conv4_3,fc7和conv7_2(VGG16為例)3個不同尺度大小的特征圖變換后,進行通道串聯作為金字塔層的輸入,豐富了特征圖的語義和細節信息,網絡結構如圖1所示。
本文提出的HASSD算法,以FSSD算法為基礎,一方面,引入了高度-目標檢測候選框尺寸關系模型;另一方面,借鑒文獻[19]的方法,將VGG16特征提取網絡的conv5_3與conv4_3層融合得到的特征圖代替原有的conv4_3特征圖,再與fc7,conv7_2進行通道串聯融合,進一步豐富特征圖的語義和細節信息,提高檢測的精度,具體網絡結構如圖2,算法流程如圖3所示。圖2中,左側為輸入的圖像和高度信息,考慮到實際運用,這里以300×300大小的圖像為例,經過VGG16特征提取網絡將conv5_3特征層進行一次反卷積運算與conv4_3通道串聯,得到融合后的特征圖,再與fc7,conv7_2分別進行一次卷積運算,對3個特征圖進行通道串聯、一次1×1的卷積運算和歸一化,得到通道數為512,大小為38×38的特征圖。上述模型中,檢測器部分依舊采用的是FSSD的基本結構,通過多次卷積運算,生成6個不同尺度的檢測特征圖。與此同時,利用高度-目標檢測候選框尺寸關系模型將從平臺獲取的高度信息轉化為不同尺寸檢測特征圖的區域候選框信息,生成不同大小、比例的區域候選框,提高檢測網絡對跨區域飛行平臺飛行高度變化的適應性。
在損失函數部分,本算法采用MultiBox中的損失函數,其基本形式如下:

表3 區域候選框生成規則Table 3 Region candidate boxes generate rules

圖1 SSD,FSSD模型圖Fig.1 SSD and FSSD model diagram

(6)
式中:Lloc為定位損失函數;Lconf為置信度損失函數;N為匹配到候選框的數量,若N=0,則L為0。c,g和l為標注的類別標簽、真實框的坐標參數和候選框的坐標參數,權重系數α通過交叉驗證設置為1。
定位損失函數Lloc定義如下:
(7)
(8)
式中:
(9)
置信度損失采用Softmax損失函數表示:
(10)


圖2 高度自適應的目標檢測模型Fig.2 Height adaptive target detection model

圖3 高度-目標檢測候選框尺寸轉換流程圖Fig.3 Flow chart of dimension conversion of height-target detection candidate box
在基于深度學習的目標檢測任務中,空基對地視角下數據集相對較少,一方面數據集的搜集需要使用無人機、航空飛機等飛行平臺進行采集,導致數據集的規模較小,且樣本質量差異較大;另一方面,現有的空對地數據集大多是高空視角下的圖像搜集,不考慮高度信息對檢測任務的影響,這為HASSD算法研究增添了難度。為此,本文以空對地條件下的車輛檢測為例,通過無人機航拍、Google Earth等不同方法進行了不同高度下目標檢測數據集的搜集。在目標可視條件下,為了實現的方便,本文僅僅將高度劃分為<100 m和100~300 m 2種情況,分別對不同高度下的數據集進行了標注。之后對數據集進行了尺度統一的預處理,將圖像尺度統一到1 024×768像素。本文所涉及的高度相關的數據集包括高度<100 m的數據集300張和高度100~300 m之間的數據集300張,檢測的目標只包含車輛(car)。在模型訓練階段,算法中H為不同高度范圍的最大值。
本部分針對高度自適應目標檢測算法(HASSD)和SSD系列算法檢測結果進行對比,檢測效果的評價采用深度學習目標檢測領域常用的Pascal VOC[20]評價體系,主要采用精度(mAP,mean average precision)作為指標,實驗結果如表4所示。從對比結果看本文提出的算法模型通過引入空基飛行平臺的飛行高度信息,能夠有效地提高檢測算法在空對地條件下的檢測精度。

表4 HASSD算法與SSD系列算法對比實驗Table 4 Comparison experiment between HASSD algorithm and SSD series algorithm
本文算法驗證結果的如圖4所示。從實驗結果可以看出,本文提出的HASSD算法能夠提高空對地目標價檢測的精度,尤其在不同高度的空基平臺飛行過程中,HASSD算法具有較好的高度變化自適應能力。

圖4 不同飛行高度下的HASSD算法驗證檢測結果Fig.3 HASSD algorithm at different flight altitudes verifies the detection results
當前基于深度學習的目標檢測網絡大多針對常規視角下的檢測任務,對目標的觀測角度豐富,獲取的目標信息較為全面,而距離因素對檢測算法的影響往往沒有得到重視。在無人機等不同空基平臺執行對地成像任務時,原有的檢測算法模型無法取得令人滿意的效果。本文提出了一種具有高度自適應能力的目標檢測算法,通過本文的研究可以得出:相比于原始的SSD算法,加入高度-目標檢測候選框尺寸關系模型后,HASSD算法在精度和高度適應能力方面均有改善,特別是當平臺飛行高度較高的情況下,對檢測結果的改善更為明顯。本文提出的HASSD算法通過引入高度-目標檢測候選框尺寸關系模型,能夠有效提高檢測算法精度和對平臺飛行高度的適應性。