辛 鵬, 許悅雷, 馬時平, 李 帥, 呂 超
(1. 空軍工程大學(xué) 航空航天工程學(xué)院,陜西 西安 710038;2. 中國人民解放軍95876部隊,甘肅 張掖 734100)
在軍事領(lǐng)域,機場具有能量補給、交通中轉(zhuǎn)、飛機停靠等戰(zhàn)略功能,是被敵方打擊的重要目標.在民事領(lǐng)域,機場作為運輸、能源配給的重要節(jié)點,對于促進經(jīng)濟發(fā)展起到十分重要的作用.遙感圖像或光學(xué)圖像中機場的檢測與識別可以為整個圖像的理解與應(yīng)用提供參考,是良好的信息提取切入點.因此,研究圖像中機場的搜索、檢測和識別提取具有重大的意義,其成果在軍事領(lǐng)域可用于戰(zhàn)場監(jiān)測、定位導(dǎo)航、任務(wù)規(guī)劃等,在民事領(lǐng)域可用于地圖繪制、飛機降落引導(dǎo)等.
早期的機場圖像檢測方法大致分兩類[1]: 基于跑道直線特性的線段檢測法以及基于機場紋理特征的場景分割和區(qū)域分析法.第1類方法原理簡單,軟件實現(xiàn)容易,但容易被具有類直線特征的目標如河流、道路等干擾,造成檢測的虛警率較高; 第2類方法通常和滑動窗搜索等有關(guān),得到的特征很復(fù)雜,計算量大,效率低,難以達到實時檢測的要求.有人將遷移學(xué)習(xí)方法應(yīng)用到機場檢測中[2],取得了不錯的效果,但只把深度學(xué)習(xí)用作特征提取的工具,區(qū)域的定位仍采用傳統(tǒng)方法;也有人將卷積神經(jīng)網(wǎng)絡(luò)與其他方法結(jié)合起來進行道路提取[3],同樣取得了良好的結(jié)果.最近,深度學(xué)習(xí)在區(qū)域提取領(lǐng)域也有了很大的突破,取得了優(yōu)于傳統(tǒng)方法的效果.考慮將機場檢測的整個過程都用深度學(xué)習(xí)方法實現(xiàn),筆者提出一種改進的區(qū)域提取網(wǎng)絡(luò)和自適應(yīng)池化網(wǎng)絡(luò)結(jié)合的機場快速檢測方法.
加快檢測速度的方法大致分兩類: 第1類方法著眼于硬件加速,主要是使用圖形處理單元(Graphics Processing Unit,GPU)來進行大規(guī)模、并行運算及采用先進的中央處理器(Central Processing Unit, CPU)和更快的內(nèi)存單元等來加速網(wǎng)絡(luò)的計算速度; 第2類方法致力于優(yōu)化網(wǎng)絡(luò)結(jié)構(gòu),通過對卷積神經(jīng)網(wǎng)絡(luò)模型進行任務(wù)特異的修改、優(yōu)化,引入一些特殊策略以減少計算量.針對機場檢測任務(wù),在圖形處理單元加速的基礎(chǔ)上,主要對網(wǎng)絡(luò)結(jié)構(gòu)進行改進、優(yōu)化以達到機場快速檢測的目的.
筆者通過復(fù)用區(qū)域提取網(wǎng)絡(luò)和檢測網(wǎng)絡(luò)的卷積層對機場圖像進行檢測.其中區(qū)域提取階段加入一個二分類分類器對候選區(qū)域進行優(yōu)化,進一步提高網(wǎng)絡(luò)的性能.
區(qū)域提取網(wǎng)絡(luò)[4]通過復(fù)用檢測網(wǎng)絡(luò)的卷積層提取的特征進行區(qū)域提取,節(jié)約了計算量,加快了提取速度.
圖1 區(qū)域提取網(wǎng)絡(luò)結(jié)構(gòu)示意圖
1.1.1 網(wǎng)絡(luò)結(jié)構(gòu)和特點
區(qū)域提取網(wǎng)絡(luò)在最后一層卷積層提取的特征圖上,運行一個滑動窗口(尺寸自定,設(shè)為 3×3) 來生成候選區(qū)域.每個滑動窗口映射到一個低維向量上,該向量輸入兩個同級的全連接層——邊界框分類層(cls)和邊界框回歸層(reg),前者對候選區(qū)域是否含有目標進行預(yù)測,后者依據(jù)目標的人工標定邊界框?qū)︻A(yù)測邊界框位置進行修正.網(wǎng)絡(luò)結(jié)構(gòu)如圖1所示.
為適應(yīng)不同大小、不同形狀的目標,每一個滑動窗口的位置同時預(yù)測多個不同大小和長寬比的候選邊界框.每個框以滑動窗口的中心為中心,由兩個點(框的左上角和右下角點)的坐標確定.命名每個框為一個錨,每個滑窗中心定義3種尺度和3種長寬比(共9類錨),因此網(wǎng)絡(luò)的回歸層有36個輸出,即9種錨的坐標編碼; 分類層輸出18個得分,即每個錨是否包含目標的概率(可用二類的softmax層或logistic回歸實現(xiàn)).由于卷積和池化的降維特性,特征圖層面上每個錨在原始圖像中對應(yīng)的有效感受野很大.通過定義不同尺度的錨并經(jīng)過位置修正,以達到預(yù)測圖像中不同尺寸的機場的目的.
圖2 邊界框回歸示意圖
1.1.2 邊界框回歸和多任務(wù)損失
滑動窗口處的預(yù)測的錨尺寸和形狀是固定的,但目標尺寸是多變的.為了能對不同尺寸目標的位置框定的更加準確,增加一個邊界框回歸層對候選區(qū)域的預(yù)測邊界框進行修正.如圖2所示,其中方框為人工標注的邊界框,方框為預(yù)測的邊界框,方框為經(jīng)過修正后的邊界框.注意:只有當(dāng)預(yù)測的邊界框和人工標定的邊界框比較接近時,才近似把兩者視為線性關(guān)系,能將其作為訓(xùn)練樣本訓(xùn)練線性回歸模型.具體細節(jié)參照文獻[5].
為訓(xùn)練該網(wǎng)絡(luò),給每個錨分配一個二進制的標簽.分配正標簽給兩類錨:與任意人工標定邊界框有大于0.7的交集并集之比(Intersection-over-Union,IoU)的錨;與某個人工標定的邊界框有最高的交集并集之比的錨(也許不到0.7).一個人工標定的邊界框可能給多個錨分配正標簽.給與所有人工標定的邊界框的交集并集之比都低于0.3的錨分配負標簽.其余的錨對訓(xùn)練不起作用.
訓(xùn)練目標有兩個:一是預(yù)測候選區(qū)域含有目標的概率,另一個是對目標的邊界框位置進行調(diào)整.遵循文獻[5]中的多任務(wù)損失,定義一個候選區(qū)域的損失函數(shù)為
(1)
分類損失Lcls定義為Lcls(p,u)=-logpu,(2)
其中,R是文獻[5]中定義的函數(shù):
(4)
研究發(fā)現(xiàn),多任務(wù)損失的聯(lián)合訓(xùn)練可以使多個任務(wù)的信息互相補充,讓公用特征提取得更好,從而提高整體效果.為減少冗余區(qū)域的數(shù)量,在區(qū)域提取結(jié)束后用非極大值抑制的方法對區(qū)域進行篩選.
圖3 改進的區(qū)域提取網(wǎng)絡(luò)方法示意圖
實驗中發(fā)現(xiàn),區(qū)域提取網(wǎng)絡(luò)提取的候選區(qū)域中存在大量定位較差的區(qū)域和背景區(qū)域,有很大的優(yōu)化空間.文獻[6]發(fā)現(xiàn)用卷積神經(jīng)網(wǎng)絡(luò)可以減少用聚類方法生成的候選區(qū)域的數(shù)量,提高檢測性能;文獻[7]用一個4層的級聯(lián)卷積神經(jīng)網(wǎng)絡(luò)對候選區(qū)域重新排序,提升候選區(qū)域的質(zhì)量.受此啟發(fā),借鑒分治策略[8],在區(qū)域提取網(wǎng)絡(luò)后加一個二類分類器,對定位較差的區(qū)域和背景區(qū)域進行篩除,提出一種改進的區(qū)域提取網(wǎng)絡(luò).其中“二類”指目標和背景,該分類器參照自適應(yīng)池化檢測網(wǎng)絡(luò)的結(jié)構(gòu)(見1.3節(jié))設(shè)計,以區(qū)域提取網(wǎng)絡(luò)提取的候選區(qū)域為輸入(正負樣本的設(shè)置參照區(qū)域提取網(wǎng)絡(luò))進行訓(xùn)練,網(wǎng)絡(luò)結(jié)構(gòu)如圖3所示.
二分類網(wǎng)絡(luò)也包含邊界框回歸層,因為重復(fù)的邊界框回歸能進一步提高候選區(qū)域的定位精度.從網(wǎng)絡(luò)結(jié)構(gòu)上分析,新增加的二分類網(wǎng)絡(luò)除了能篩除背景和一些定位較差的區(qū)域外,還能融合不同方法提取的候選區(qū)域,達到吸收不同區(qū)域提取方法的優(yōu)勢的目的.
傳統(tǒng)的卷積網(wǎng)絡(luò)只能輸入固定尺寸的圖像.為適應(yīng)不同尺寸的輸入,早期大多采用拉伸、縮放等形變方法,雖然能得到不錯的準確率,但造成了目標及其特征的失真,對檢測結(jié)果有一定影響.筆者在文獻[9]提出的空間金字塔池化的基礎(chǔ)上,借鑒自適應(yīng)池化窗口大小和滑動步長的方法,將不同大小的特征圖整合到同一尺度.為加快計算速度,將金字塔的層數(shù)減少至一層.
檢測任務(wù)中每張圖片產(chǎn)生數(shù)以千計的候選區(qū)域,許多區(qū)域重疊程度很高,它們均被送入同一網(wǎng)絡(luò)進行檢測,造成了相似特征的重復(fù)提取,大大增加了計算量.觀察來自同一圖像的多個候選區(qū)域,其特征都是整張圖像特征的一部分,且空間位置是一一對應(yīng)的.受此啟發(fā),考慮只提取整張圖像的特征,候選區(qū)域的特征通過空間的對應(yīng)關(guān)系映射得到.事實證明這是可行的,且檢測速度得到了極大提升.
自適應(yīng)池化層之后是幾個全連接層,最后再經(jīng)過兩個同級的全連接層——分類層和回歸層,如圖4所示.網(wǎng)絡(luò)結(jié)構(gòu)與區(qū)域提取網(wǎng)絡(luò)類似,區(qū)別是此時的分類為多目標分類.
圖4 檢測網(wǎng)絡(luò)結(jié)構(gòu)示意圖
一個標準的神經(jīng)網(wǎng)絡(luò)的訓(xùn)練需要大量的標定數(shù)據(jù),但筆者提供的數(shù)據(jù)量遠遠不夠,考慮使用在大型數(shù)據(jù)集ImageNet[10]上預(yù)訓(xùn)練的網(wǎng)絡(luò)作為模型的初始值,用筆者擁有的數(shù)據(jù)集再訓(xùn)練以微調(diào)網(wǎng)絡(luò)權(quán)值.這樣做是可行的,因為不同目標提取出的低級特征是相似的.有人采用類似的網(wǎng)絡(luò)初始化方法[2],取得了不錯的效果.具體到機場的檢測任務(wù),為避免過擬合,選擇小型的預(yù)訓(xùn)練網(wǎng)絡(luò)Zeiler and Fergus nets (ZF nets)[11]的最后一個卷積層及其之前的部分作為復(fù)用的卷積層,其余用均值為零、方差為 0.000 1 的高斯函數(shù)隨機初始化.
筆者提出模型的訓(xùn)練不能簡單地用反向傳播算法將兩部分視為整體聯(lián)合訓(xùn)練,原因是檢測網(wǎng)絡(luò)的訓(xùn)練依賴于區(qū)域提取網(wǎng)絡(luò)的提取區(qū)域.為了達到復(fù)用卷積層的目的,根據(jù)不同子網(wǎng)絡(luò)輸入輸出的差異,按邏輯順序采用一種交叉優(yōu)化的訓(xùn)練策略[4],將區(qū)域提取網(wǎng)絡(luò)和檢測網(wǎng)絡(luò)分開獨立訓(xùn)練.具體分4步:
第1步 單獨訓(xùn)練區(qū)域提取網(wǎng)絡(luò),微調(diào)網(wǎng)絡(luò)權(quán)值并產(chǎn)生若干機場候選區(qū)域; 用產(chǎn)生的候選區(qū)域(也可以選擇加入其他方法提取的候選區(qū)域)作為輸入,訓(xùn)練二分類網(wǎng)絡(luò)(網(wǎng)絡(luò)初始化方式與區(qū)域提取網(wǎng)絡(luò)相同),微調(diào)網(wǎng)絡(luò)權(quán)值并產(chǎn)生優(yōu)化后的機場候選區(qū)域;
第2步 用第1步產(chǎn)生的優(yōu)化候選區(qū)域訓(xùn)練檢測網(wǎng)絡(luò),微調(diào)網(wǎng)絡(luò)權(quán)值,注意此時檢測網(wǎng)絡(luò)的初始化卷積層并非第1步微調(diào)過的,而是采用原始的預(yù)訓(xùn)練卷積層;
第3步 把第2步微調(diào)過的檢查網(wǎng)絡(luò)卷積層權(quán)重作為初始化的卷積層并固定不變,用和第1步相同的方法重新訓(xùn)練區(qū)域提取網(wǎng)絡(luò)和二分類網(wǎng)絡(luò),只微調(diào)兩個網(wǎng)絡(luò)獨有的層,同時產(chǎn)生新的機場候選區(qū)域;
第4步 保持第3步中的卷積層不變,用第3步產(chǎn)生的新機場候選區(qū)域微調(diào)檢測網(wǎng)絡(luò),此時網(wǎng)絡(luò)訓(xùn)練結(jié)束且達到了復(fù)用卷積層的目的.
以Matlab 2014b作為仿真平臺,用Visual Studio 2013編譯的caffe作為神經(jīng)網(wǎng)絡(luò)的框架,電腦配置的中央處理器為I7-7700 3.6 GHz,內(nèi)存為 16 GB,顯卡為NVIDIA GTX 1060.選取600張不同分辨率和不同尺寸的機場圖像作為訓(xùn)練數(shù)據(jù)集,使模型學(xué)習(xí)多樣的特征,同時在一定程度上防止過擬合.
圖像中機場邊界框的標注是用軟件Labelimg實現(xiàn)的,選擇8類場景作為訓(xùn)練目標,包括1個感興趣場景(即機場)和7個背景場景(即山脈、建筑物、河流、森林、農(nóng)場、道路和島嶼),每張圖像可以標注多個場景,也可以只標注一類場景.每張圖像都至少包含一個機場目標,因此機場類的訓(xùn)練樣本比背景類的訓(xùn)練樣本多,這也使得檢測模型對機場的檢測性能優(yōu)于其他背景場景.
為防止過擬合,以0.5的概率將訓(xùn)練圖像水平翻轉(zhuǎn)來進行數(shù)據(jù)擴張,訓(xùn)練和測試集的比例設(shè)為6∶4,區(qū)域提取過程使用改進的區(qū)域提取網(wǎng)絡(luò)并融合了選擇性搜索方法[12]提取的區(qū)域.經(jīng)過4個步驟的交叉優(yōu)化訓(xùn)練,得到了實驗的結(jié)果和訓(xùn)練好的機場檢測網(wǎng)絡(luò)模型.實驗結(jié)果如表1所示.為證明改進的區(qū)域提取網(wǎng)絡(luò)能提高檢測性能,用控制變量法做了一組對比實驗,結(jié)果如表2所示.
表1中的結(jié)果說明筆者提出的方法對機場這一目標有較好的檢測性能,而且能區(qū)分與機場相似的場景,如道路、河流等.道路、河流等的平均檢測率(Average Precision,AP)不夠高,是因為訓(xùn)練樣本不足,只有少部分的圖像中存在這些場景.該結(jié)果是基于600張訓(xùn)練圖像得到的.相信隨著訓(xùn)練樣本數(shù)量的增加,每類場景都能得到理想的平均檢測率.
表1 網(wǎng)絡(luò)訓(xùn)練和測試后每類的平均檢測率
表2 區(qū)域提取方法的對比實驗
表2中3個對比實驗用到了控制變量法.改進區(qū)域提取方法的目的是提高檢測性能,故選擇最終檢測網(wǎng)絡(luò)的平均準確率的均值(mean Average Precision,mAP)和在10幅尺寸為 800× 600的測試圖像上的平均檢測時間作為評價指標.表2的結(jié)果顯示,改進的區(qū)域提取網(wǎng)絡(luò)能在不增加檢測時間的前提下提高平均準確率的均值.在改進的區(qū)域提取網(wǎng)絡(luò)的基礎(chǔ)上增加選擇性搜索能進一步提高平均準確率的均值,但相應(yīng)的檢測時間有明顯增加,這是因為選擇性搜索很耗時.以上實驗說明,改進的區(qū)域提取網(wǎng)絡(luò)能在提高候選區(qū)域質(zhì)量的基礎(chǔ)上提高檢測網(wǎng)絡(luò)的性能,而且通過與其他區(qū)域提取方法的融合,能進一步提高檢測方法的性能.
圖5 筆者提出的方法對一些典型的機場檢測效果圖
圖6 兩個未檢測出的機場示例
圖5顯示了筆者提出方法的幾個成功的檢測結(jié)果,圖6顯示了兩個未能檢測出的機場圖像.比較發(fā)現(xiàn),由于數(shù)據(jù)庫中大多是“常規(guī)”的機場圖像,因此對一些外形比較特別的機場(如圖6)無法檢測.為解決這一問題,可以考慮將檢測對象進一步細化到跑道這一層面,或嘗試增加相關(guān)的訓(xùn)練數(shù)據(jù)集來讓網(wǎng)絡(luò)學(xué)習(xí)這些特征,這些思路將作為下一步的研究內(nèi)容.
為檢驗筆者提出方法的性能,選取兩種典型的機場檢測方法作為對照,隨機選取200張機場圖像作為測試數(shù)據(jù)集,對機場的檢測率、虛警率和檢測時間進行統(tǒng)計.表3中“基于邊緣”指基于邊緣的機場檢測方法,如文獻[13]等;“基于SIFT(Scale Invariant Feature Transform)”指基于尺度不變特征轉(zhuǎn)換特征的機場檢測方法,如文獻[14]等.為復(fù)現(xiàn)這兩種方法,對網(wǎng)絡(luò)上下載的相關(guān)的公開代碼根據(jù)論文思路進行修改,每種方法取多次實驗的均值,結(jié)果如表3所示.
表3 筆者提出的方法與兩種經(jīng)典方法的對比
在對比實驗中,筆者提出的方法選擇改進的區(qū)域提取網(wǎng)絡(luò)但不融合其他方法提取的區(qū)域以加快檢測速度.從表3看出,筆者提出的方法在測試數(shù)據(jù)集上的檢測率最高,虛警率最低,平均檢測時間也最短,各方面性能都有了很大的提升.這說明與這文獻[13-14]中的方法相比,筆者提出的方法提取的特征對機場的表達能力更強.
筆者提出一種改進的區(qū)域提取網(wǎng)絡(luò)和自適應(yīng)池化網(wǎng)絡(luò)結(jié)合的機場快速檢測方法,提高了檢測識別率,降低了虛警率,縮短了檢測時間.改進的區(qū)域提取網(wǎng)絡(luò)通過一個二分類網(wǎng)絡(luò)篩除了提取較差的機場候選區(qū)域和背景區(qū)域;檢測網(wǎng)絡(luò)中通過復(fù)用來自同一圖片的候選區(qū)域的特征,大大減少了計算代價; 自適應(yīng)池化使不同尺寸的候選區(qū)域能在特征圖層面上調(diào)整至同一尺度,打破了傳統(tǒng)網(wǎng)絡(luò)只能適應(yīng)固定尺寸輸入的限制;復(fù)用區(qū)域提取和檢測網(wǎng)絡(luò)的卷積層,使得區(qū)域提取的時間幾乎忽略不計.筆者提出的方法為機場實時、精確檢測做了有效的探索,有較強的理論和實用價值.提取機場更加魯棒、高效的特征,創(chuàng)建更加完備的機場數(shù)據(jù)庫,將筆者提出方法應(yīng)用到實時機場檢測中,是今后努力的方向.
[1] ZHU D, WANG B, ZHANG L M. Airport Detection Based on Near Parallelity of Line Segments and GBVS Saliency[J]. Journal of Infrared and Millimeter Waves, 2015, 34(3): 375-384.
[2] ZHANG P, NIU X, DOU Y, et al. Airport Detection from Remote Sensing Images Using Transferable Convolutional Neural Networks[C]//Proceedings of the 2016 International Joint Conference on Neural Networks. Piscataway: IEEE, 2016: 2590-2595.
[3] 劉如意, 宋建鋒, 權(quán)義寧, 等. 一種自動的高分辨率遙感影像道路提取方法[J]. 西安電子科技大學(xué)學(xué)報, 2017, 44(1): 100-105.
LIU Ruyi, SONG Jianfeng, QUAN Yining, et al. Automatic Road Extraction Method for High-resolution Remote Sensing Images[J]. Journal of Xidian University, 2017, 44(1): 100-105.
[4] REN S, HE K, GIRSHICK R, et al. Faster R-CNN: towards Real-time Object Detection with Region Proposal Networks[C]//Proceedings of the Advances in Neural Information Processing Systems. Vancouver: Neural Information Processing Systems Foundation, 2015: 91-99.
[5] GIRSHICK R. Fast r-cnn[C]//Proceedings of the 2015 IEEE International Conference on Computer Vision. Piscataway: IEEE, 2015: 1440-1448.
[6] YAN J, YU Y, ZHU X, et al. Object Detection by Labeling Superpixels[C]//Proceedings of the 2015 IEEE Computer Society Conference on Computer Vision and Pattern Recognition. Piscataway: IEEE, 2015: 5107-5116.
[7] KUO W, HARIHARAN B, MALIK J. Deepbox: Learning Objectness with Convolutional Networks[C]//Proceedings of the 2015 IEEE International Conference on Computer Vision. Piscataway: IEEE, 2015: 2479-2487.
[8] YANG B, YAN J, LEI Z, et al. Craft Objects from Images[C]//Proceedings of the 2016 IEEE Computer Society Conference on Computer Vision and Pattern Recognition. Piscataway: IEEE, 2016: 6043-6051.
[9] HE K, ZHANG X, REN S, et al. Spatial Pyramid Pooling in Deep Convolutional Networks for Visual Recognition[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2015, 37(9): 1904-1916.
[10] DENG J, DONG W, SOCHER R, et al. Imagenet: a Large-scale Hierarchical Image Database[C]//Proceedings of the 2009 IEEE Computer Society Conference on Computer Vision and Pattern Recognition. Piscataway: IEEE, 2009: 248-255.
[11] ZEILER M D, FERGUS R. Visualizing and Understanding Convolutional Networks[C]//Lecture Notes in Computer Science: 8689. Heidelberg: Springer Verlag, 2014: 818-833.
[12] UIJLINGS J R R, van de SANDE K E A, GEVERS T, et al. Selective Search for Object Recognition[J]. International Journal of Computer Vision, 2013, 104(2): 154-171.
[13] QU Y, LI C, ZHENG N. Airport Detection Base on Support Vector Machine from a Single Image[C]//Proceedings of the 2005 Fifth International Conference on Information, Communications and Signal Processing. Piscataway: IEEE, 2005: 546-549.
[14] TAO C, TAN Y, CAI H, et al. Airport Detection from Large IKONOS Images Using Clustered SIFT Keypoints and Region Information[J]. IEEE Geoscience and Remote Sensing Letters, 2011, 8(1): 128-132.