張萌,王仕成,楊艷麗,楊東方
(火箭軍工程大學(xué) 導(dǎo)彈工程學(xué)院,陜西 西安 710025)
空對地目標(biāo)檢測技術(shù)是無人機(jī)、航空飛機(jī)等空基飛行平臺遂行偵查、監(jiān)視等任務(wù)的關(guān)鍵共性技術(shù)。通過研究新型空對地目標(biāo)檢測技術(shù),提高空基成像平臺對地面目標(biāo)檢測的精度和智能自主性,是當(dāng)前空基民用和軍事領(lǐng)域關(guān)注的重點問題。
目標(biāo)檢測技術(shù)的發(fā)展經(jīng)歷了基于底層人工特征的目標(biāo)檢測和基于深度學(xué)習(xí)抽象特征的目標(biāo)檢測2個階段。在前深度學(xué)習(xí)時代,研究人員通過設(shè)計對目標(biāo)的人工特征描述,例如顏色、紋理、輪廓等底層特征,或者SIFT(scale-invariant feature transform)[1],SURF(speeded up robust feature)[2],HOG(histogram of oriented gradient)[3]等人工特征,實現(xiàn)對目標(biāo)的描述;然后采用SVM等分類器進(jìn)行分類和識別。此類方法在常規(guī)、簡單的檢測任務(wù)中可以取得不錯的效果,但其一般是針對某個特征的目標(biāo)識別任務(wù),使用的數(shù)據(jù)量不大,模型泛化能力差,且人工特征的提取易受到環(huán)境因素的影響,在實際復(fù)雜的環(huán)境中難以實現(xiàn)對目標(biāo)的精確識別。近年來,隨著深度學(xué)習(xí)的不斷發(fā)展,深度卷積神經(jīng)網(wǎng)絡(luò)為提取圖像目標(biāo)的高層抽象特征提供了一種有效的方式,AlexNet[4],VGGNet[5],GoogleNet[6],ResNet[7],MobileNet[8]等特征提取網(wǎng)絡(luò)相繼被提出,現(xiàn)階段基于深度學(xué)習(xí)的目標(biāo)檢測算法都是在特征提取網(wǎng)絡(luò)的基礎(chǔ)上不斷發(fā)展的。
當(dāng)前,主流的深度學(xué)習(xí)目標(biāo)檢測算法可劃分為基于區(qū)域建議(Region Proposal)的Two-stage檢測算法和基于回歸思想的One-stage檢測算法。區(qū)域建議的Two-stage檢測算法包含區(qū)域建議和卷積神經(jīng)網(wǎng)絡(luò)(CNN)分類2步,現(xiàn)階段具有代表性的是Fast R-CNN[9],F(xiàn)aster R-CNN[10]和Mask R-CNN[11]。此類方法雖檢測精度得到了很大的提升,但區(qū)域建議耗時太長,因此檢測的速度達(dá)不到實時性的要求。為了提高檢測的實時性,有人提出了基于回歸思想的One-stage檢測算法,具有代表性的有YOLO[12]和SSD[13]。這類算法摒棄了R-CNN系列算法的區(qū)域建議的過程,通過回歸的方法直接從圖像獲得目標(biāo)的位置和類別,提高了檢測速度,可以滿足實時性的要求,但是目標(biāo)檢測精度受到了削弱,尤其是在小目標(biāo)檢測應(yīng)用背景下,該問題更為突出。事實上,空對地目標(biāo)檢測問題正是實時性和精度要求都非常嚴(yán)格的應(yīng)用場合:在空基對地目標(biāo)檢測的背景下,由于平臺飛行高度的變化,成像的場景范圍以及目標(biāo)的尺寸、數(shù)量都存在顯著差異,致使現(xiàn)有的深度學(xué)習(xí)檢測算法難以適應(yīng)不同空基平臺的需求。
事實上,人類在觀測時,隨著目標(biāo)距離的不同,視覺系統(tǒng)在不斷調(diào)整適應(yīng)不同距離的觀察。在傳統(tǒng)視角下,由于視野的范圍可以無限擴(kuò)展,這一點體現(xiàn)得不明顯,但在空基對地觀測時,視野的范圍和目標(biāo)的大小、數(shù)量都隨著高度的變化而改變,檢測網(wǎng)絡(luò)就像是人類的視覺系統(tǒng),在不同高度下對地觀察時,需要做出一些調(diào)整以適應(yīng)高度的變化。受此啟發(fā),我們在本文中以空對地條件下的目標(biāo)檢測為例,研究分析了高度變化對檢測算法的影響,同時對檢測算法進(jìn)行改進(jìn),以便減小高度信息變化對檢測效果產(chǎn)生的影響,提高平臺對地成像目標(biāo)檢測的精度。我們將這種方法在本文中稱為“HASSD”(height adaptive SSD)算法。
本文首先在數(shù)據(jù)集規(guī)模相同的條件下,針對最具有代表性的SSD和FSSD算法(以VGG16作為特征提取網(wǎng)絡(luò)),進(jìn)行了2種不同高度范圍的6組對比實驗,實驗結(jié)果如表1所示。
通過實驗結(jié)果可以看出,SSD系列算法在小于100 m的情況下,檢測精度較高;在100~300 m的情況下,由于目標(biāo)尺寸變小,檢測精度較低;在二者等比例混合后,檢測精度有所提高,但仍低于小于100 m的情況。因此,可以得出結(jié)論,空基平臺的飛行高度對目標(biāo)檢測算法有影響,為之后的研究工作提供了依據(jù)。
表1 平臺飛行高度對檢測算法的影響Table 1 Influence of platform flight height on detection algorithm
其次本文對SSD系列算法中區(qū)域候選框的尺寸設(shè)置對檢測算法的影響進(jìn)行了分析。在SSD系列算法中,區(qū)域候選框的尺寸設(shè)置通過預(yù)先設(shè)置的好的參數(shù)s1,s2和輸入圖像的尺寸共同決定,現(xiàn)有的SSD系列算法大都采用文獻(xiàn)[13]中的參數(shù)設(shè)置s1=0.2,s2=0.9,而后依據(jù)式(1)和(2)分別計算出6個不同尺度特征圖最大(max_size)和最小(min_size)區(qū)域候選框尺寸。以300×300大小的輸入圖像(這里定義尺寸為image_size)為例,依據(jù)式(1)和(2)可以計算得到各特征圖的區(qū)域候選框大小。
(1)
式(1)只用于計算conv4_3層特征圖的區(qū)域候選框的最大和最小尺寸。其中radio0=0.1,min_size0=max_size0=0,radio1=0.2。
(2)
式(2)用于計算fc7,conv7_2,conv8_2,conv9_2和conv10_2層區(qū)域候選框的最大和最小尺寸。其中radio取值為0.20,0.37,0.54,0.71,0.88,1.05。
依據(jù)SSD系列算法中區(qū)域候選框的產(chǎn)生原理,在其對檢測算法的影響分析實驗中,通過改變參數(shù)s1,s2的大小進(jìn)行了3組對比實驗,實驗結(jié)果如表2所示。
由實驗結(jié)果可以得出,檢測算法中區(qū)域候選框的尺寸大小設(shè)置對不同高度下的目標(biāo)檢測效果存在影響。分析其原因,主要在于空對地視角下觀察目標(biāo)與常規(guī)視角不同,隨著高度的改變,成像場景中目標(biāo)的尺寸都在隨之發(fā)生變化,改變區(qū)域候選框的尺寸設(shè)置能夠有效地適應(yīng)高度信息變化對目標(biāo)檢測算法的影響。
表2 區(qū)域候選框尺寸設(shè)置對檢測算法的影響Table 2 Influence of candidate box size setting on detection algorithm
本文選擇目前深度學(xué)習(xí)目標(biāo)檢測領(lǐng)域檢測精度和效率相對較高的SSD算法作為空基平臺對地目標(biāo)智能檢測算法的基礎(chǔ)框架,通過引入高度信息,提出了一種高度自適應(yīng)的目標(biāo)智能檢測算法(HASSD)。為此,本部分將從高度-目標(biāo)檢測候選框尺寸關(guān)系模型和HASSD算法的網(wǎng)絡(luò)化描述2個方面對算法進(jìn)行詳細(xì)介紹。
本文提出了高度-目標(biāo)檢測候選框尺寸關(guān)系模型,通過建立成像高度與候選框尺度之間的關(guān)系模型,引入高度信息,替代原檢測網(wǎng)絡(luò)中區(qū)域候選框的生成方式,提高目標(biāo)檢測候選框的質(zhì)量,進(jìn)而提高檢測算法的高度適應(yīng)性和準(zhǔn)確性。其具體原理如下:
為了建立高度-目標(biāo)檢測候選框尺度的關(guān)系模型,本算法首先建立高度與目標(biāo)尺度之間的關(guān)系模型,根據(jù)文獻(xiàn)[14]中攝像機(jī)成像的基本模型,設(shè)飛行平臺搭載下視相機(jī)的焦距f0(常值,即相機(jī)成像的分辨率不變),檢測目標(biāo)的原始尺寸為(w0,l0),距地面高度H時在目標(biāo)的尺寸為(w,l),則有
(3)
借鑒文獻(xiàn)[15]中船舶檢測中旋轉(zhuǎn)錨的思想,在不改變使用水平錨的條件下,考慮不同高度下目標(biāo)沿水平方向旋轉(zhuǎn)的情況,假設(shè)圖像的水平線逆時針旋轉(zhuǎn)角度θ(θ∈(0,90°))后與目標(biāo)軸線方向重合,圖像中目標(biāo)的尺寸為(w′,l′),面積為S,則有
(4)
由式(4)可以看出,區(qū)域候選框的尺寸大小與高度H時目標(biāo)的尺寸和旋轉(zhuǎn)角度θ有關(guān)。因此,在本算法中,不同檢測特征圖中區(qū)域候選框的生成規(guī)則如表3所示,生成檢測框的min_size,max_size的計算如式(5)所示:
(5)
對于空基對地成像目標(biāo)檢測任務(wù),由于受到平臺飛行高度的影響,對地成像的場景范圍,目標(biāo)的數(shù)量、大小和密集度會有較大的差異,因此檢測算法需根據(jù)平臺狀態(tài)進(jìn)行動態(tài)的調(diào)整,以適應(yīng)飛行過程中的高度變化。HASSD算法能夠根據(jù)平臺飛行過程中的高度信息,對檢測網(wǎng)絡(luò)做出調(diào)整,提高檢測的精度。文獻(xiàn)[16]通過將高分辨率遙感圖柵格化分割為多個小圖,實現(xiàn)空對地車輛檢測。但該方法僅適用于靜態(tài)的處理固定尺度的目標(biāo)信息,難以適應(yīng)空基飛行平臺飛行視場的變化。本文通過在檢測網(wǎng)絡(luò)中引入高度-目標(biāo)檢測候選框關(guān)系模型,改善區(qū)域候選框的生成質(zhì)量,提高算法的檢測性能。
現(xiàn)階段,SSD系列算法在檢測性能上較好的是FSSD[17](feature fusion single shot multibox detector),該算法借鑒FPN[18]的思想,將SSD算法原來的conv4_3,fc7和conv7_2(VGG16為例)3個不同尺度大小的特征圖變換后,進(jìn)行通道串聯(lián)作為金字塔層的輸入,豐富了特征圖的語義和細(xì)節(jié)信息,網(wǎng)絡(luò)結(jié)構(gòu)如圖1所示。
本文提出的HASSD算法,以FSSD算法為基礎(chǔ),一方面,引入了高度-目標(biāo)檢測候選框尺寸關(guān)系模型;另一方面,借鑒文獻(xiàn)[19]的方法,將VGG16特征提取網(wǎng)絡(luò)的conv5_3與conv4_3層融合得到的特征圖代替原有的conv4_3特征圖,再與fc7,conv7_2進(jìn)行通道串聯(lián)融合,進(jìn)一步豐富特征圖的語義和細(xì)節(jié)信息,提高檢測的精度,具體網(wǎng)絡(luò)結(jié)構(gòu)如圖2,算法流程如圖3所示。圖2中,左側(cè)為輸入的圖像和高度信息,考慮到實際運用,這里以300×300大小的圖像為例,經(jīng)過VGG16特征提取網(wǎng)絡(luò)將conv5_3特征層進(jìn)行一次反卷積運算與conv4_3通道串聯(lián),得到融合后的特征圖,再與fc7,conv7_2分別進(jìn)行一次卷積運算,對3個特征圖進(jìn)行通道串聯(lián)、一次1×1的卷積運算和歸一化,得到通道數(shù)為512,大小為38×38的特征圖。上述模型中,檢測器部分依舊采用的是FSSD的基本結(jié)構(gòu),通過多次卷積運算,生成6個不同尺度的檢測特征圖。與此同時,利用高度-目標(biāo)檢測候選框尺寸關(guān)系模型將從平臺獲取的高度信息轉(zhuǎn)化為不同尺寸檢測特征圖的區(qū)域候選框信息,生成不同大小、比例的區(qū)域候選框,提高檢測網(wǎng)絡(luò)對跨區(qū)域飛行平臺飛行高度變化的適應(yīng)性。
在損失函數(shù)部分,本算法采用MultiBox中的損失函數(shù),其基本形式如下:
表3 區(qū)域候選框生成規(guī)則Table 3 Region candidate boxes generate rules
圖1 SSD,FSSD模型圖Fig.1 SSD and FSSD model diagram
(6)
式中:Lloc為定位損失函數(shù);Lconf為置信度損失函數(shù);N為匹配到候選框的數(shù)量,若N=0,則L為0。c,g和l為標(biāo)注的類別標(biāo)簽、真實框的坐標(biāo)參數(shù)和候選框的坐標(biāo)參數(shù),權(quán)重系數(shù)α通過交叉驗證設(shè)置為1。
定位損失函數(shù)Lloc定義如下:
(7)
(8)
式中:
(9)
置信度損失采用Softmax損失函數(shù)表示:
(10)
圖2 高度自適應(yīng)的目標(biāo)檢測模型Fig.2 Height adaptive target detection model
圖3 高度-目標(biāo)檢測候選框尺寸轉(zhuǎn)換流程圖Fig.3 Flow chart of dimension conversion of height-target detection candidate box
在基于深度學(xué)習(xí)的目標(biāo)檢測任務(wù)中,空基對地視角下數(shù)據(jù)集相對較少,一方面數(shù)據(jù)集的搜集需要使用無人機(jī)、航空飛機(jī)等飛行平臺進(jìn)行采集,導(dǎo)致數(shù)據(jù)集的規(guī)模較小,且樣本質(zhì)量差異較大;另一方面,現(xiàn)有的空對地數(shù)據(jù)集大多是高空視角下的圖像搜集,不考慮高度信息對檢測任務(wù)的影響,這為HASSD算法研究增添了難度。為此,本文以空對地條件下的車輛檢測為例,通過無人機(jī)航拍、Google Earth等不同方法進(jìn)行了不同高度下目標(biāo)檢測數(shù)據(jù)集的搜集。在目標(biāo)可視條件下,為了實現(xiàn)的方便,本文僅僅將高度劃分為<100 m和100~300 m 2種情況,分別對不同高度下的數(shù)據(jù)集進(jìn)行了標(biāo)注。之后對數(shù)據(jù)集進(jìn)行了尺度統(tǒng)一的預(yù)處理,將圖像尺度統(tǒng)一到1 024×768像素。本文所涉及的高度相關(guān)的數(shù)據(jù)集包括高度<100 m的數(shù)據(jù)集300張和高度100~300 m之間的數(shù)據(jù)集300張,檢測的目標(biāo)只包含車輛(car)。在模型訓(xùn)練階段,算法中H為不同高度范圍的最大值。
本部分針對高度自適應(yīng)目標(biāo)檢測算法(HASSD)和SSD系列算法檢測結(jié)果進(jìn)行對比,檢測效果的評價采用深度學(xué)習(xí)目標(biāo)檢測領(lǐng)域常用的Pascal VOC[20]評價體系,主要采用精度(mAP,mean average precision)作為指標(biāo),實驗結(jié)果如表4所示。從對比結(jié)果看本文提出的算法模型通過引入空基飛行平臺的飛行高度信息,能夠有效地提高檢測算法在空對地條件下的檢測精度。
表4 HASSD算法與SSD系列算法對比實驗Table 4 Comparison experiment between HASSD algorithm and SSD series algorithm
本文算法驗證結(jié)果的如圖4所示。從實驗結(jié)果可以看出,本文提出的HASSD算法能夠提高空對地目標(biāo)價檢測的精度,尤其在不同高度的空基平臺飛行過程中,HASSD算法具有較好的高度變化自適應(yīng)能力。
圖4 不同飛行高度下的HASSD算法驗證檢測結(jié)果Fig.3 HASSD algorithm at different flight altitudes verifies the detection results
當(dāng)前基于深度學(xué)習(xí)的目標(biāo)檢測網(wǎng)絡(luò)大多針對常規(guī)視角下的檢測任務(wù),對目標(biāo)的觀測角度豐富,獲取的目標(biāo)信息較為全面,而距離因素對檢測算法的影響往往沒有得到重視。在無人機(jī)等不同空基平臺執(zhí)行對地成像任務(wù)時,原有的檢測算法模型無法取得令人滿意的效果。本文提出了一種具有高度自適應(yīng)能力的目標(biāo)檢測算法,通過本文的研究可以得出:相比于原始的SSD算法,加入高度-目標(biāo)檢測候選框尺寸關(guān)系模型后,HASSD算法在精度和高度適應(yīng)能力方面均有改善,特別是當(dāng)平臺飛行高度較高的情況下,對檢測結(jié)果的改善更為明顯。本文提出的HASSD算法通過引入高度-目標(biāo)檢測候選框尺寸關(guān)系模型,能夠有效提高檢測算法精度和對平臺飛行高度的適應(yīng)性。