李耀龍, 張永科,羅鎮(zhèn)寶
(西南技術(shù)物理研究所, 成都 610041)
在現(xiàn)代戰(zhàn)爭中,機場是重要的交通設(shè)施和軍用設(shè)施,對機場及機場內(nèi)飛機目標識別算法進行研究在軍事偵測和精確打擊等領(lǐng)域都具有重要意義。目前,關(guān)于機場及機場內(nèi)飛機目標識別的研究已經(jīng)較為廣泛,大部分方法利用機場及飛機的一般基本特征來識別目標。機場識別技術(shù)主要有基于機場線特征檢測[1]、基于機場結(jié)構(gòu)特征檢測[2]、基于模板匹配檢測[3]、基于知識推理檢測[4]、基于機場顯著性特征檢測[5]、基于上下文檢測[6]、利用小波提取機場紋理檢測[7],以及融合了BP神經(jīng)網(wǎng)絡(luò)[8]、SVM[9]等分類器對機場目標進行檢測等?;趫D像的飛機目標識別技術(shù)和機場目標識別技術(shù)類似,獲取飛機的特征后送入分類器分類[10-11]。這些方法對人工選擇目標特征具有很強的依賴性,對具體應(yīng)用模型的選擇非常困難,而且泛化能力較差。
深度學習是近年來機器學習領(lǐng)域的一個新的研究方向,其目的在于建立模擬人腦進行分析學習的神經(jīng)網(wǎng)絡(luò)。它模仿人腦的機制來解釋數(shù)據(jù),例如圖像、聲音和文本。由于其在語音、文本、圖像、視頻等諸多方面較傳統(tǒng)方法取得了一定的進展和突破,深度學習已成為目前計算機科學中最引人注目的研究課題。深度學習通過低層的濾波器來獲取圖像的局部特征,利用高層的濾波器將這些局部特征組合成全局特征。整個過程都是通過網(wǎng)絡(luò)訓(xùn)練來獲得,不需要人工提取、設(shè)計目標特征。在目標識別方面,深度學習主要分為兩種:一種是基于候選區(qū)域的的方法,代表性的有R-CNN[14]、SPP[15]、Fast R-CNN[16]、Faster R-CNN[17];一種是基于回歸思想的方法,代表性的有YOLO[18]。在機場及機場內(nèi)飛機目標識別方面,受限于訓(xùn)練樣本量的缺乏,鮮有文獻可供參考。牛新等[12]對基于候選的方法進行了改進,主要針對候選區(qū)域利用機場的線特征進行了篩選。殷文斌等[13]采用AdaBoost分類器代替R-CNN的selective research(選擇性搜索)來獲取候選區(qū)域,兩者的思路都是通過減少預(yù)測網(wǎng)絡(luò)的輸入數(shù)量來加快檢測識別速度。基于深度學習的機場及飛機目標識別方法雖然克服了一般方法特征難以設(shè)計選取、泛化能力差等不足,但也面臨巨大的挑戰(zhàn),主要是訓(xùn)練樣本不足、網(wǎng)絡(luò)難以訓(xùn)練。同時,為了得到較高的識別率,網(wǎng)絡(luò)層設(shè)計越來越復(fù)雜,參數(shù)巨大,引起計算量的成倍增加。本文將深度卷積神經(jīng)網(wǎng)絡(luò)YOLO算法應(yīng)用到機場及機場內(nèi)飛機目標識別方面,使系統(tǒng)能在遠距離下對航拍的機場目標進行識別定位,待航拍器抵近機場時能識別定位機場內(nèi)飛機。在此基礎(chǔ)上,對YOLO的快速網(wǎng)絡(luò)進行精簡。實驗結(jié)果表明:該簡化網(wǎng)絡(luò)能在精度損失很小的情況下大大縮短預(yù)測識別處理時間。
YOLO算法是一種可以一次性檢測多個目標位置和類別的卷積神經(jīng)網(wǎng)絡(luò)模型。在訓(xùn)練和預(yù)測時將整張圖像直接輸入網(wǎng)絡(luò)模型回歸出目標中心位置、目標長寬和類別,能實現(xiàn)端到端的目標檢測和識別。YOLO模型的訓(xùn)練和預(yù)測舍棄了從圖像中提取目標候選區(qū)域的步驟,直接選用整張圖像訓(xùn)練網(wǎng)絡(luò),大大提升了速度。由于舍棄了候選區(qū)域這一步驟,YOLO算法在提升速度的同時犧牲了一部分目標識別檢測精度。
YOLO模型在訓(xùn)練網(wǎng)絡(luò)時首先將輸入的圖像規(guī)整到網(wǎng)絡(luò)要求的輸入尺度,然后將規(guī)整后的圖像分割成S×S的網(wǎng)格(圖1中左圖),采用有目標中心出現(xiàn)的網(wǎng)格來負責目標檢測。每個網(wǎng)格負責生成B個預(yù)測目標框和對應(yīng)的B個可信度分數(shù)(圖1中下圖)。每個輸出目標框包含4個參數(shù):目標框的中心坐標和目標框的長寬,其中目標框中心坐標的歸一化與網(wǎng)格的位置相關(guān),目標框的長寬與輸入圖像尺度相關(guān)??尚哦确謹?shù)反映了預(yù)測框包含目標的可能性與精確性,定義為概率P(object)*IOU。P(object)為網(wǎng)格是否含有目標中心的概率,若含有目標中心則概率為1,否則為0。IOU為該網(wǎng)格輸出的目標框與真實目標框的交集,見圖2。假設(shè)預(yù)測目標框的面積為S1,真實目標框的面積為S2,交集的面積為S,則IOU的計算如下:
(1)
同時,每個網(wǎng)格負責生成C類的條件類別概率(圖1中上圖),即在網(wǎng)格包含目標中心的條件下預(yù)測目標類別概率P(class|object)。由目標類別條件概率與可信度分數(shù)的乘積可以度量類別目標中心出現(xiàn)在網(wǎng)格中的情況,以及預(yù)測框與真實目標框的擬合情況,見式(2)。
P(class|object)·P(object)·IOU=P(class)·IOU
(2)
圖1所示為YOLO檢測算法流程。首先將輸入圖像規(guī)整到網(wǎng)絡(luò)要求的輸入尺度,符合S×S網(wǎng)格(圖1中S=7)的要求,然后輸入CNN網(wǎng)絡(luò),由CNN網(wǎng)絡(luò)輸出網(wǎng)格類別和每個網(wǎng)格的目標框及其對應(yīng)的可信度分數(shù);再對網(wǎng)格的目標框進行非極大抑制獲取可信度分數(shù)最高的預(yù)測框,最后通過式(2)的計算結(jié)果與閾值比較來篩選滿足要求的預(yù)測框以檢測定位目標。在之后的網(wǎng)絡(luò)模型構(gòu)建中,選取S=7、B=2的方案,類別C=2,這樣網(wǎng)絡(luò)輸出的目標框、可信度分數(shù)、條件概率等參數(shù)共計為7×7×(2×5+2)=588個。
圖1 YOLO檢測算法流程
圖2 IOU定義
首先將YOLO模型的快速網(wǎng)絡(luò)tiny-yolo應(yīng)用到機場及機場內(nèi)飛機目標識別的方向,快速YOLO模型的網(wǎng)絡(luò)結(jié)構(gòu)見圖3。
YOLO網(wǎng)絡(luò)tiny-yolo采用了8個卷積層,每個卷積層都采用批量歸一化,卷積核使用步長為1、大小為3的卷積核,每次卷積均采用了填充,特征圖卷積之后維度不變。在前6個卷積層后面使用步長和大小均為2的最大值池化層,最后一層為全連接輸出層。卷積層卷積核的個數(shù)借鑒使用了VGG-16網(wǎng)絡(luò)的2倍關(guān)系,網(wǎng)絡(luò)輸入圖像尺度為448×448。
網(wǎng)絡(luò)的最后一層即全連接層輸出為目標框的坐標、可信度分數(shù)、目標類別,輸出為588個。全連接層使用的激活函數(shù)為線性激活函數(shù),其他各卷積層使用的激活函數(shù)為泄露修正線性函數(shù)(leaky rectified linear):
(3)
在損失函數(shù)設(shè)計方面,網(wǎng)絡(luò)采用均方誤差和函數(shù):
(4)
圖3 tiny-yolo網(wǎng)絡(luò)
盡管快速YOLO網(wǎng)絡(luò)tiny-yolo相比YOLO網(wǎng)絡(luò)在速度方面有較大提升,但當其在無GPU的平臺上運行時仍然需要較長時間。同時,YOLO網(wǎng)絡(luò)要求的輸入圖像尺度為448×448,在實際特定應(yīng)用中這樣的大尺度圖像會帶來較大的計算量,因此利用YOLO模型原理重新設(shè)計了一個更快速的網(wǎng)絡(luò),見圖4。
本文設(shè)計的網(wǎng)絡(luò)共采用8個卷積層,除最后一個卷積層外其余卷積層均使用了批量歸一化。在第2~5個卷積層后都使用大小為3、步長為2的最大值重疊池化層。第1層卷積的卷積核大小為7×7,卷積不填沖。使用7×7的較大卷積核可以獲取更多圖像信息。其余各層卷積均采用3×3的卷積核進行卷積填充,以便在最后一層卷積后得到7×7的特征圖。在全連接層與最后卷積層之間加入dropout層。設(shè)計后的網(wǎng)絡(luò)要求輸入圖像尺度為113×113。
在目標檢測方面,常用精確率與召回率(precision and recall)兩個指標來衡量目標檢測系統(tǒng)的性能;精確率是正確檢測出的目標與被判定為目標的總數(shù)的比率,主要針對檢測結(jié)果,衡量的是查準率,用式(5)表示;召回率是指正確檢測出的目標與真實目標的總數(shù)的比率,主要針對測試樣本,衡量的是查全率,用式(6)表示。
(5)
(6)
其中:TP代表正確檢測出的目標個數(shù);FP代表錯誤判定為目標的個數(shù);FN代表真實目標被錯誤判定為非目標的個數(shù)。
圖4 實驗設(shè)計的網(wǎng)絡(luò)
在機場及機場內(nèi)飛機目標識別的應(yīng)用研究方面,目前幾乎沒有公開的符合深度學習訓(xùn)練的數(shù)據(jù)集,這也是制約該方向應(yīng)用的一個主要問題。本實驗所需數(shù)據(jù)主要包括兩類目標圖像:航拍機場跑道圖像以及航拍飛機的圖像,每類圖像有254幅。圖像均來自Google earth和互聯(lián)網(wǎng)。圖像約在(200×200)~(700×700)像素。這些圖像為含有不同顏色、背景、角度、大小的機場及機場內(nèi)飛機目標,且包含機場跑道和飛機目標數(shù)量等。首先對圖像進行統(tǒng)一格式的命名,然后利用labelimg圖片標注工具對每一張圖像進行標注,生成包含有目標類別位置信息的xml文件,之后從xml文件中提取目標的位置類別信息保存到對應(yīng)的txt文件中。本實驗標注的數(shù)據(jù)共分為2組:一組作為訓(xùn)練集,共408幅圖像;一組作為測試集,共100幅圖像。
實驗采用darknet架構(gòu)來訓(xùn)練網(wǎng)絡(luò)。在訓(xùn)練集的408幅圖像中,大約含有500架飛機和300個跑道目標。在訓(xùn)練時對訓(xùn)練集圖像進行預(yù)處理,主要是隨機選取部分圖像在其原圖大小的基礎(chǔ)上進行20%的縮放和旋轉(zhuǎn),并在圖像的HSV色彩空間中隨機調(diào)整圖像的飽和度與曝光。損失函數(shù)中取λcoord=5,λnoobj=0.5。為了解決訓(xùn)練樣本不足的問題,采用遷移學習的策略來訓(xùn)練網(wǎng)絡(luò)。卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)底層的卷積特征圖大部分表示的是圖像的邊緣信息,頂層特征圖與任務(wù)相關(guān)。在VOC2007和VOC2012數(shù)據(jù)集中,火車的線條特征和本實驗任務(wù)的飛機跑道線條檢測相似,飛機的邊緣特征與本實驗任務(wù)的飛機檢測相似。因此,提取VCO2007和VOC2012數(shù)據(jù)集中的火車和飛機來預(yù)訓(xùn)練網(wǎng)絡(luò)。為了使網(wǎng)絡(luò)模型穩(wěn)定,在預(yù)訓(xùn)練時先采用較小的學習率來預(yù)訓(xùn)練網(wǎng)絡(luò),然后再采用較大的學習率。學習率具體設(shè)置如下:首先選擇數(shù)值為10-4預(yù)訓(xùn)練網(wǎng)絡(luò),大約10個循環(huán),然后再選擇數(shù)值為10-3訓(xùn)練網(wǎng)絡(luò),直到損失函數(shù)不再下降,大約需要200個循環(huán)。當預(yù)訓(xùn)練完成后,選取損失函數(shù)值最小的對應(yīng)權(quán)重文件作為初始化網(wǎng)絡(luò)的值,訓(xùn)練集采用遷移學習的方式微調(diào)網(wǎng)絡(luò)。在微調(diào)網(wǎng)絡(luò)時,選取較小的學習率(10-4)進行訓(xùn)練,當損失函數(shù)值不再下降時停止訓(xùn)練,根據(jù)評價指標取結(jié)果最好的權(quán)重值。
實驗運行平臺中CPU為Intel core i5 3.3 GHz,操作系統(tǒng)為Windows 7 64位,軟件環(huán)境為 Mircrosoft Visual Studio 2013。為評價實驗設(shè)計模型的有效性,用含有100張圖像的測試集來測試tiny-yolo和本文設(shè)計的網(wǎng)絡(luò),其中包括機場跑道及其航拍飛機目標,目標總數(shù)共計231個。
圖5 P-R曲線
本次實驗中,只要預(yù)測的目標框與真實目標框的IOU大于0.5且目標類別正確,即認為目標被正確檢測定位。根據(jù)式(2)的計算結(jié)果與設(shè)定閾值相比較來判斷預(yù)測結(jié)果是否判定為目標。通過設(shè)置不同的閾值,與按照式(2)計算的預(yù)測結(jié)果比較,在測試集上可以獲取多組不同門限對應(yīng)的精確率與召回率。根據(jù)多組數(shù)據(jù),以召回率為橫坐標,精確率為縱坐標,可以畫出P-R曲線圖,見圖5。根據(jù)圖5可知:實驗設(shè)計的網(wǎng)絡(luò)相比tiny-yolo網(wǎng)絡(luò)在低召回率時精確率有所提升,數(shù)值為3%~5%;在高精確率的情況下,召回率大約有8%~10%的下降。
表1 網(wǎng)絡(luò)性能比較
表1為在閾值為0.2時各網(wǎng)絡(luò)在測試集上的精確率、召回率和預(yù)測時間。從表1可以看出:對tiny-yolo網(wǎng)絡(luò)結(jié)構(gòu)的精簡、網(wǎng)絡(luò)輸入圖像尺度的減小會帶來精確率和召回率的下降,但CPU 的識別預(yù)測時間大約縮短為原來的一半。本文設(shè)計的網(wǎng)絡(luò)可以有效減小卷積層之間的卷積計算量,有利于加快網(wǎng)絡(luò)的計算速度、縮短預(yù)測時間,適合在一些無GPU的平臺設(shè)備上運行。同時,采用該方式在訓(xùn)練計算過程中可以大大減少內(nèi)存的消耗。圖6給出本文設(shè)計的網(wǎng)絡(luò)對測試集部分圖像的識別效果。
圖6 本實驗識別結(jié)果
深度學習已經(jīng)成為機器學習的新熱點,而且在諸多方面取得了初步成效。為了達到更好的性能,近年來提出的深度學習模型網(wǎng)絡(luò)越來越復(fù)雜,輸入圖像分辨率也越來越高,這勢必會對運行平臺的計算能力提出更高的要求,對于沒有GPU的平臺來說是一種挑戰(zhàn)。本文將YOLO算法的快速網(wǎng)絡(luò)tiny-yolo應(yīng)用到機場及其機場內(nèi)飛機目標識別方面,克服了一般方法特征難以設(shè)計選取、泛化能力差等的不足,同時提出的模型簡化了tiny-yolo網(wǎng)絡(luò),減少了網(wǎng)絡(luò)參數(shù),大幅度減小了輸入網(wǎng)絡(luò)圖像尺度。雖然網(wǎng)絡(luò)犧牲了一些精度,但在CPU上運行的預(yù)測時間相比tiny-yolo網(wǎng)絡(luò)縮短了約一半,可以作為解決機場及機場內(nèi)飛機目標識別問題的方法之一。
參考文獻:
[1]張學峰,李麗娟,劉珂.基于直線提取的機場跑道識別方法[J].激光與紅外,2008,38(12):1277-1280.
[2]葉斌,彭嘉雄.基于結(jié)構(gòu)特征的軍用機場識別與理解[J].華中科技大學學報,2001,29(3):39-42.
[3]葉勤,李華光,張慶,等.機場目標檢索在雷達景象匹配數(shù)據(jù)庫中的應(yīng)用[J].同濟大學學報(自然科學版),2007,35 (4):547-550.
[4]陳韶斌,蔡超,丁明躍,等.基于知識推理的機場目標識別[J].紅外與激光工程,2011,40(3):548-552.
[5]趙丹培,肖騰蛟,史駿,等.基于顯著語義模型的機場與油庫目標的識別方法[J].計算機輔助設(shè)計與圖形學學報,2014,26(1):47-55.
[6]劉蒽蒽,桑農(nóng),曹治國,等.基于上下文的機場目標識別方法[J].紅外與激光工程,2004,33(1):67470.
[7]ZONGUR U,HALICI U,AYTEKIN O,et al.Airport runway detection in satellite imges by Adaboost learning[J].Proceedings of SPIE The International Society for Optical Engineering,2009,7477:747708-747708.
[8]馬洪超,郭麗艷.人工神經(jīng)網(wǎng)絡(luò)信息融合及其在機場識別中的應(yīng)用研究[J].武漢大學學報,2005,30(8):682-684.
[9]LI C,WANG S,PANG Z,et al.Coarse-to-fine wavelet-based airport detection[C]//Applied Optics and Photonics China.2015.
[10] 蔡棟,陳焱明,魏巍.基于骨架特征的多光譜遙感影像飛機目標識別方法研究[J].測繪通報,2014(2):50-54.
[11] 馬琦,馬蔚鵬,劉彥,等.基于支持向量機的圖像飛機目標自動識別算法研究[J].計算機測量與控制,2014,22(9):2851-2852.
[12] 牛新,竇勇,張鵬,等.基于深度學習的光學遙感機場與飛行器目標識別技術(shù)[J].大數(shù)據(jù),2016,2(5):54-67.
[13] 殷文斌,王成波,袁翠,等.一種飛機目標的遙感識別方法[J].測繪通報,2017(3):34-37.
[14] GIRSHICK R,DONAHUE J,DARRELL T,et al.Rich Feature Hierarchies for Accurate Object Detection and Semantic Segmentation[C]//IEEE Conference on Computer Vision and Pattern Recognition.USA:IEEE Computer Society,2014:580-587.
[15] HE K,ZHANG X,REN S,et al.Spatial Pyramid Pooling in Deep Convolutional Networks for Visual Recognition[J].IEETransactions on Pattern Analysis & Machine Intelligence,2014,37(9):1904.
[16] GIRSHICK R B.Fast R-CNN[Z].[S.l.]:CoRR,2015.
[17] REN S,HE K,GIRSHICK R,et al.Faster R-CNN:Towards Real-Time Object Detection with Region Proposal Networks[J].IEEE Transactions on Pattern Analysis & Machine Intelligence,2017,39(6):1137.
[18] REDMON J,DIVVALA S,GIRSHICK R,et al,You Only Look Once:Unified,Real-Time Object Detection[C]//IEEE Conference on Computer Vision and Pattern Recognition.USA:IEEE,2016:779-788.