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