許悅雷,朱明明,馬時(shí)平,唐 紅,馬紅強(qiáng)
(1. 空軍工程大學(xué) 航空工程學(xué)院,陜西 西安 710038;2. 西北工業(yè)大學(xué) 無(wú)人系統(tǒng)技術(shù)研究院,陜西 西安 710072)
高分辨率遙感圖像的廣泛獲取和使用[1]大大促進(jìn)了機(jī)場(chǎng)檢測(cè)的發(fā)展.然而,由于機(jī)場(chǎng)所處背景復(fù)雜、形狀和規(guī)模不盡相同等特點(diǎn),機(jī)場(chǎng)檢測(cè)的實(shí)時(shí)性和準(zhǔn)確性也面臨著重大的挑戰(zhàn).傳統(tǒng)機(jī)場(chǎng)檢測(cè)方法可以分為兩類(lèi):基于邊緣直線特征[2]和基于區(qū)域分割[3].前者速度快,復(fù)雜度低,但易受干擾.后者檢測(cè)性能有所提升,但存在滑動(dòng)窗口冗余的問(wèn)題.近年來(lái),深度學(xué)習(xí)的興起為機(jī)場(chǎng)檢測(cè)提供了新的思路: 利用卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network, CNN)來(lái)識(shí)別機(jī)場(chǎng)以及跑道區(qū)域[4-5].上述方法都只是利用CNN強(qiáng)大的分類(lèi)識(shí)別能力,機(jī)場(chǎng)候選框的獲取還是基于邊緣或區(qū)域分割的手工方法,因此,傳統(tǒng)方法的局限性依舊存在.
2014年,文獻(xiàn)[6]提出區(qū)域卷積神經(jīng)網(wǎng)絡(luò)(Region-based Convolutional Neural Networks, R-CNN)框架,使得目標(biāo)檢測(cè)取得巨大突破,開(kāi)啟了基于深度學(xué)習(xí)的目標(biāo)檢測(cè)熱潮.為進(jìn)一步提升R-CNN的準(zhǔn)確率和速度,文獻(xiàn)[7]提出了R-CNN的繼承者Fast R-CNN.Faster R-CNN[8]采用區(qū)域建議網(wǎng)絡(luò)(Region Proposal Networks, RPN)替代選擇性搜索(Selective Search, SS)算法[6]作為區(qū)域建議方法,同時(shí)使RPN和后續(xù)檢測(cè)網(wǎng)絡(luò)共享卷積層,大幅提升了算法的速度.深度學(xué)習(xí)模型的訓(xùn)練往往需要大量的樣本數(shù)據(jù),而機(jī)場(chǎng)遙感圖像的數(shù)量十分有限,不足以訓(xùn)練網(wǎng)絡(luò)模型.然而,遷移學(xué)習(xí)理論[9]在目標(biāo)識(shí)別和檢測(cè)任務(wù)中的大量成功應(yīng)用,為解決機(jī)場(chǎng)數(shù)據(jù)不足問(wèn)題指明了方向.
由于人工特征表征能力不足、魯棒性差和滑動(dòng)窗口冗余等問(wèn)題,現(xiàn)有機(jī)場(chǎng)檢測(cè)方法普遍檢測(cè)率較低、虛警率較高和時(shí)間較長(zhǎng).針對(duì)以上存在的問(wèn)題,決定拋棄以往滑動(dòng)窗口加手工提取特征的傳統(tǒng)方式,引入目前十分流行的深度學(xué)習(xí)算法.文中以Faster R-CNN作為基本架構(gòu),使用卷積神經(jīng)網(wǎng)絡(luò)進(jìn)行特征提取,利用RPN生成候選區(qū)域,整個(gè)框架具有端到端的特點(diǎn).利用預(yù)訓(xùn)練模型在機(jī)場(chǎng)圖像上遷移學(xué)習(xí),同時(shí),利用難分樣本挖掘使模型訓(xùn)練更加高效,最終實(shí)現(xiàn)機(jī)場(chǎng)的快速、準(zhǔn)確檢測(cè).
區(qū)域卷積神經(jīng)網(wǎng)絡(luò)Faster R-CNN的整體結(jié)構(gòu)如圖1所示,以一幅圖像作為輸入,以目標(biāo)類(lèi)別的預(yù)測(cè)概率值和目標(biāo)檢測(cè)框作為輸出.主要由區(qū)域建議網(wǎng)絡(luò)(RPN)和包含感興趣區(qū)域(Region of Interest, RoI)池化層、全連接層和分類(lèi)與回歸層的檢測(cè)網(wǎng)絡(luò)組成.由于兩個(gè)網(wǎng)絡(luò)共享卷積層,將目標(biāo)檢測(cè)統(tǒng)一到一個(gè)深度網(wǎng)絡(luò)框架之內(nèi),因此,整個(gè)網(wǎng)絡(luò)框架具有端到端的特點(diǎn).
圖1 Faster R-CNN示意圖
圖2 RPN示意圖
1.1.1 區(qū)域建議網(wǎng)絡(luò)
RPN采用一個(gè)大小為3×3的滑動(dòng)窗口在特征圖上卷積運(yùn)算,每個(gè)滑動(dòng)窗口映射到一個(gè)低維向量,如圖2所示.經(jīng)過(guò) 1×1 的卷積核卷積運(yùn)算后輸入到分類(lèi)層和回歸層,同時(shí)進(jìn)行目標(biāo)分類(lèi)和候選框的定位回歸.特別指出的是,這里的分類(lèi)只是判斷目標(biāo)的有無(wú),并不是具體的類(lèi)別,而定位回歸是指候選框的平移縮放參數(shù).
為適應(yīng)多尺度目標(biāo),對(duì)于卷積特征圖上的每個(gè)位置,考慮多個(gè)尺寸大小和長(zhǎng)寬比的候選框.將候選框的參數(shù)化表示稱(chēng)為一個(gè)錨(anchor),每個(gè)錨對(duì)應(yīng)一組尺寸大小和長(zhǎng)寬比.對(duì)于每個(gè)滑動(dòng)窗口,一般考慮3種尺寸大小 (128× 128,256× 256,512× 512(pixels)) 和3種長(zhǎng)寬比(1∶1,1∶2,2∶1),即9類(lèi)錨,以應(yīng)對(duì)圖像中的多尺度目標(biāo).
為了訓(xùn)練RPN,給每個(gè)錨分配一個(gè)二進(jìn)制標(biāo)簽.分配正標(biāo)簽(目標(biāo))給兩類(lèi)錨: 與某一個(gè)人工標(biāo)定框的交集并集之比(Intersection-over-Union,IoU)最高的錨;與任意人工標(biāo)定框的IoU大于0.7的錨.分配負(fù)標(biāo)簽(非目標(biāo))給與所有人工標(biāo)定框的IoU都小于0.3的錨.利用多任務(wù)損失原則[7]同時(shí)完成目標(biāo)分類(lèi)和候選框回歸兩個(gè)任務(wù),則RPN損失函數(shù)定義如下:
1.1.2 非極大值抑制
RPN網(wǎng)絡(luò)生成的候選框中,會(huì)出現(xiàn)多個(gè)候選框包圍同一個(gè)目標(biāo)且大量重疊的情況.因此,文中根據(jù)候選框的目標(biāo)分類(lèi)得分,使用非極大值抑制(Non-Maximum Suppression, NMS)剔除得分較低的候選框,以減少冗余.NMS具體實(shí)現(xiàn)流程為:將同一個(gè)目標(biāo)的分類(lèi)得分從高到低排序;選取一類(lèi)目標(biāo)中得分最高的候選框,與此目標(biāo)的其他候選框遍歷計(jì)算IoU值,若IoU大于閾值,則剔除得分較低的候選框,否則,認(rèn)為存在多個(gè)同一目標(biāo);排除步驟中得分最高的候選框,從剩余候選框中再選取得分最高的,重復(fù)步驟;重復(fù)步驟直到遍歷完所有候選框.上述抑制過(guò)程實(shí)質(zhì)上就是一個(gè)迭代—遍歷—剔除的過(guò)程,可以設(shè)置IoU的閾值來(lái)大幅減少候選框的數(shù)量,并且不會(huì)影響機(jī)場(chǎng)的檢測(cè)準(zhǔn)確率.
1.1.3 RoI池化層
實(shí)際上,由同一幅圖像生成的數(shù)千個(gè)候選區(qū)域(候選框包圍區(qū)域)之間重疊率很高,致使特征提取的時(shí)間成本很高.由于候選區(qū)域特征圖與完整特征圖存在一定的映射關(guān)系,可以先對(duì)整幅圖像進(jìn)行特征提取,再?gòu)耐暾卣鲌D上直接映射出候選區(qū)域特征圖,無(wú)需重復(fù)提取特征,從而大大降低了模型的時(shí)間成本.借鑒空間金字塔采樣網(wǎng)絡(luò)(Spatial Pyramid Pooling Network, SPP-Net)[10]的思路,上述操作可以通過(guò)RoI池化層實(shí)現(xiàn).為了共享候選區(qū)域的卷積運(yùn)算,采用小批量(mini-batch)抽樣訓(xùn)練.對(duì)于每個(gè)mini-batchB,N幅圖像的候選區(qū)域被抽樣.也就是說(shuō),共有B/N候選區(qū)域來(lái)自同一幅圖像,此時(shí)來(lái)自同一幅圖像的候選區(qū)域卷積運(yùn)算共享.
圖3 遷移學(xué)習(xí)示意圖
針對(duì)不同的目標(biāo)任務(wù),傳統(tǒng)的機(jī)器學(xué)習(xí)算法每次都要重新訓(xùn)練,而遷移學(xué)習(xí)可以學(xué)到多個(gè)任務(wù)的共同特征,并將其應(yīng)用到新的目標(biāo)任務(wù)中[9].卷積神經(jīng)網(wǎng)絡(luò)中較低的卷積層學(xué)到的是諸如邊緣、顏色等低級(jí)語(yǔ)義特征,這些特征在機(jī)場(chǎng)圖像與普通自然圖像中是相同的,如圖3所示.而較高的卷積層提取更加復(fù)雜和抽象的特征,如形狀和其他組合性特征,不同任務(wù)中起決定性作用的是最后的卷積層和全連接層.因此,對(duì)于新的機(jī)場(chǎng)檢測(cè)任務(wù),預(yù)訓(xùn)練模型中較低卷積層的參數(shù)保持不變或以較小的學(xué)習(xí)率進(jìn)行迭代,以保證之前學(xué)到的共同特征可以遷移到新的任務(wù)中.文中使用在大型識(shí)別數(shù)據(jù)庫(kù)ImageNe上的預(yù)訓(xùn)練網(wǎng)絡(luò)VGG16來(lái)初始化共享卷積層的權(quán)重參數(shù),然后使用機(jī)場(chǎng)數(shù)據(jù)庫(kù)進(jìn)行微調(diào)訓(xùn)練.實(shí)驗(yàn)最終證明,利用VGG16的初始值進(jìn)行遷移學(xué)習(xí)的方法十分有效.為了使網(wǎng)絡(luò)模型與機(jī)場(chǎng)檢測(cè)任務(wù)相匹配,根據(jù)數(shù)據(jù)集中機(jī)場(chǎng)尺寸和形狀的特點(diǎn)以及實(shí)驗(yàn)驗(yàn)證,對(duì)錨的尺寸和長(zhǎng)寬比進(jìn)行如表1所示的設(shè)定.
表1 參數(shù)設(shè)置
樣本訓(xùn)練集總是包含絕大多數(shù)的簡(jiǎn)單樣本(Easy Example)和少數(shù)的復(fù)雜樣本(Hard Example),簡(jiǎn)單樣本對(duì)于訓(xùn)練意義不大,而具有多樣性和高損失值特點(diǎn)的復(fù)雜樣本對(duì)分類(lèi)和檢測(cè)結(jié)果影響較大,充分利用復(fù)雜樣本能夠提高網(wǎng)絡(luò)對(duì)于目標(biāo)的判別能力.實(shí)際上,樣本數(shù)據(jù)的類(lèi)別不均衡問(wèn)題并不是一個(gè)全新的挑戰(zhàn),數(shù)據(jù)自舉[11](Dataset Bootstrapping)的思想已被成功應(yīng)用到許多檢測(cè)任務(wù)的訓(xùn)練中,該思想也被稱(chēng)為難分樣本挖掘(Hard Example Mining).甚至近來(lái)利用生成對(duì)抗網(wǎng)絡(luò)(Generative Adversarial Nets)產(chǎn)生遮擋和變形樣本的A-Fast-RCNN目標(biāo)檢測(cè)模型[12]也可以被看成是一種樣本挖掘的方式.而對(duì)于數(shù)據(jù)量較少的機(jī)場(chǎng)來(lái)說(shuō),樣本挖掘變得更加重要.因此,文中借鑒難分樣本挖掘的思想來(lái)使樣本訓(xùn)練更加高效.整體結(jié)構(gòu)如圖4所示.
圖4 文中方法的整體結(jié)構(gòu)
將原本的檢測(cè)網(wǎng)絡(luò)復(fù)制成兩個(gè),分別用網(wǎng)絡(luò)A和網(wǎng)絡(luò)B表示,且彼此共享網(wǎng)絡(luò)參數(shù).網(wǎng)絡(luò)A只有前向操作,而網(wǎng)絡(luò)B是一個(gè)標(biāo)準(zhǔn)的檢測(cè)網(wǎng)絡(luò),包括前向和后向操作.首先,所有候選區(qū)域經(jīng)過(guò)RoI池化層生成對(duì)應(yīng)的特征圖,輸入到網(wǎng)絡(luò)A進(jìn)行前向傳遞,并計(jì)算損失值; 然后,難分樣本采樣模塊將所有候選區(qū)域的損失值進(jìn)行排序,并篩選出損失值較大的B/N個(gè)樣本; 最后,B/N個(gè)復(fù)雜樣本輸入到網(wǎng)絡(luò)B進(jìn)行正常的模型訓(xùn)練.網(wǎng)絡(luò)A的輸入為N幅圖像的所有候選區(qū)域P,并不是mini-batchB,而網(wǎng)絡(luò)B的批量輸入為B.文中設(shè)定N=2 (同時(shí)P≈ 4 000),B= 128.
整個(gè)網(wǎng)絡(luò)采用開(kāi)源的深度學(xué)習(xí)Caffe框架,除共享的卷積層外,其余層的權(quán)重用均值為0、標(biāo)準(zhǔn)差為0.01的高斯分布隨機(jī)初始化.網(wǎng)絡(luò)的基本學(xué)習(xí)率為 0.000 1,動(dòng)量為0.9,權(quán)重衰減為 0.000 5.采用交替優(yōu)化策略訓(xùn)練整個(gè)網(wǎng)絡(luò),以實(shí)現(xiàn)RPN和檢測(cè)網(wǎng)絡(luò)共享卷積層.具體如下:
(1) 用預(yù)訓(xùn)練網(wǎng)絡(luò)VGG16初始化共享卷積層的權(quán)重,端到端地微調(diào)RPN權(quán)重參數(shù),最后輸出機(jī)場(chǎng)候選框集合.
(2) 同樣用VGG16網(wǎng)絡(luò)初始化檢測(cè)網(wǎng)絡(luò)的權(quán)重,利用第(1)步生成的機(jī)場(chǎng)候選框來(lái)訓(xùn)練檢測(cè)網(wǎng)絡(luò),此時(shí)兩個(gè)網(wǎng)絡(luò)沒(méi)有共享卷積層.
(3) 用第(2)步得到的檢測(cè)網(wǎng)絡(luò)來(lái)訓(xùn)練RPN,固定共享卷積層權(quán)重,僅微調(diào)RPN獨(dú)有的層,訓(xùn)練結(jié)束后再次輸出機(jī)場(chǎng)候選框集合.這個(gè)過(guò)程中兩個(gè)網(wǎng)絡(luò)共享卷積層.
(4) 保持共享的卷積層和RPN權(quán)重參數(shù)固定,再次微調(diào)檢測(cè)網(wǎng)絡(luò)的其他層.
實(shí)驗(yàn)使用的圖像數(shù)據(jù)均來(lái)自Google Earth, 大小為1 000×600 pixel,參照標(biāo)準(zhǔn)數(shù)據(jù)集V0C2007進(jìn)行機(jī)場(chǎng)數(shù)據(jù)集的制作.?dāng)?shù)據(jù)集總量為600張,其中有400張存在機(jī)場(chǎng)區(qū)域的圖像,剩余圖像主要為鐵路、公路、橋梁、建筑物等背景場(chǎng)景.隨機(jī)選取240張機(jī)場(chǎng)圖像和120張非機(jī)場(chǎng)圖像組成訓(xùn)練集,其余圖像組成測(cè)試集,訓(xùn)練時(shí)圖像以0.5的概率水平翻轉(zhuǎn)進(jìn)行數(shù)據(jù)增強(qiáng).實(shí)驗(yàn)環(huán)境為i7-7700處理器,主頻為 3.6 GHz,內(nèi)存為 16 GB,顯卡為NVIDIA GTX1070.
圖5 損失值對(duì)比
為了定量證明難分樣本挖掘方法的有效性,采用控制變量法進(jìn)行對(duì)比實(shí)驗(yàn).模型訓(xùn)練過(guò)程中,每 20 000 次迭代記錄一次損失平均值(所有候選區(qū)域的損失函數(shù)平均值),結(jié)果如圖5所示.從圖5可以看出,采用難分樣本挖掘方法的模型整個(gè)訓(xùn)練過(guò)程中損失值都較低,這充分表明難分樣本挖掘能夠有效降低訓(xùn)練過(guò)程中的損失值,使得模型訓(xùn)練更加高效.
為進(jìn)一步體現(xiàn)難分樣本挖掘?qū)μ岣邫z測(cè)性能的有效性,采用控制變量法在機(jī)場(chǎng)測(cè)試集上進(jìn)行對(duì)比實(shí)驗(yàn),兩種方法的惟一區(qū)別是有無(wú)難分樣本挖掘,選取檢測(cè)率(Detection Rate, DR)和平均運(yùn)行時(shí)間作為對(duì)比實(shí)驗(yàn)的評(píng)價(jià)指標(biāo),結(jié)果如表2所示.
表2 結(jié)果對(duì)比
由表2可知,采用難分樣本挖掘提高了約5%的檢測(cè)率,同時(shí)沒(méi)有增加額外的時(shí)間成本.究其原因是,訓(xùn)練過(guò)程中復(fù)雜樣本得到了充分利用,使得模型訓(xùn)練更加高效,而且難分樣本挖掘只是增加了模型的訓(xùn)練時(shí)間并不影響檢測(cè)時(shí)間.
圖6顯示了文中方法的部分檢測(cè)結(jié)果,其中包含道路、河流和山脈等多種機(jī)場(chǎng)背景類(lèi)型,最后一行展示了一些形狀較為獨(dú)特的機(jī)場(chǎng)圖像.從測(cè)試結(jié)果中可以看出,圖像中機(jī)場(chǎng)區(qū)域均被準(zhǔn)確地識(shí)別,說(shuō)明所提方法能在復(fù)雜背景下準(zhǔn)確地檢測(cè)出不同類(lèi)型的機(jī)場(chǎng).
圖6 檢測(cè)結(jié)果
為了證明所提方法的優(yōu)越性,將以往具有代表性的方法與文中方法進(jìn)行實(shí)驗(yàn)對(duì)比.所有方法的實(shí)驗(yàn)環(huán)境保持高度一致,選取檢測(cè)率、虛警率(False-Alarm Rate, FAR)和平均運(yùn)行時(shí)間作為對(duì)比實(shí)驗(yàn)的評(píng)價(jià)指標(biāo),實(shí)驗(yàn)中的所有數(shù)據(jù)結(jié)果都是多次隨機(jī)實(shí)驗(yàn)的平均值且均精確到小數(shù)點(diǎn)后一位,結(jié)果如表3所示.文獻(xiàn)[13]是基于邊緣的機(jī)場(chǎng)檢測(cè)方法,文獻(xiàn)[14]是基于區(qū)域分割的機(jī)場(chǎng)檢測(cè)方法,文獻(xiàn)[5]是基于卷積神經(jīng)網(wǎng)絡(luò)的機(jī)場(chǎng)檢測(cè)方法,F(xiàn)aster R-CNN是指區(qū)域卷積神經(jīng)網(wǎng)絡(luò)Faster R-CNN在機(jī)場(chǎng)數(shù)據(jù)庫(kù)上遷移學(xué)習(xí)并進(jìn)行相應(yīng)參數(shù)修改得到的結(jié)果.
表3 結(jié)果對(duì)比
從表3可以看出,F(xiàn)aster R-CNN和文中方法的各項(xiàng)性能均優(yōu)于其他方法,其中文中方法的檢測(cè)率最高,虛警率最低,平均運(yùn)行時(shí)間最短.究其原因是,以往的機(jī)場(chǎng)檢測(cè)方法采用滑動(dòng)窗口加手工設(shè)計(jì)特征的方式,其滑動(dòng)窗口遍歷圖像計(jì)算效率很低,手工設(shè)計(jì)特征的魯棒性不強(qiáng).而Faster R-CNN和文中方法均將圖像特征提取、候選框選擇和目標(biāo)分類(lèi)與回歸整合到一個(gè)端到端的深度網(wǎng)絡(luò)框架中,充分利用CNN強(qiáng)大的特征表達(dá)能力,并且區(qū)域建議網(wǎng)絡(luò)和檢測(cè)網(wǎng)絡(luò)間共享卷積層,從而大幅提高了機(jī)場(chǎng)檢測(cè)的準(zhǔn)確性和速度.文中方法充分挖掘了復(fù)雜樣本,使得模型訓(xùn)練更加高效,在不增加額外時(shí)間成本的前提下提高了檢測(cè)率.
文中拋棄以往滑動(dòng)窗口加手工設(shè)計(jì)特征的傳統(tǒng)方法,提出了一種遷移學(xué)習(xí)結(jié)合難分樣本挖掘的機(jī)場(chǎng)檢測(cè)方法.該方法以區(qū)域卷積神經(jīng)網(wǎng)絡(luò)為基本框架,采用RPN來(lái)代替以往的區(qū)域建議方法,使用非極大值抑制來(lái)進(jìn)一步減少候選框的冗余,以使獲取候選框的速度更快、質(zhì)量更高; 檢測(cè)網(wǎng)絡(luò)中的RoI池化層避免了候選框特征的重復(fù)提取; 利用預(yù)訓(xùn)練網(wǎng)絡(luò)進(jìn)行遷移學(xué)習(xí)來(lái)解決機(jī)場(chǎng)數(shù)據(jù)量不足的問(wèn)題; 訓(xùn)練中充分挖掘復(fù)雜樣本使得訓(xùn)練更加高效; RPN和檢測(cè)網(wǎng)絡(luò)共享卷積層,大大提高了檢測(cè)的效率.實(shí)驗(yàn)結(jié)果表明,文中方法在復(fù)雜背景下能準(zhǔn)確地檢測(cè)出不同類(lèi)型的機(jī)場(chǎng),且檢測(cè)性能均優(yōu)于其他方法,對(duì)機(jī)場(chǎng)的實(shí)時(shí)和精確檢測(cè)具有較強(qiáng)的理論和實(shí)際意義.