謝奇芳, 姚國清, 張猛
(中國地質(zhì)大學(北京)信息工程學院,北京 100083)
隨著遙感圖像空間分辨率的不斷提升,對高分辨率遙感圖像中的地物目標進行快速而準確的識別和檢測成為遙感應用領(lǐng)域的研究熱點。傳統(tǒng)的目標檢測方法[1-3]依靠人工提取圖像特征,導致特征通用性差。深度學習目標檢測框架依靠卷積神經(jīng)網(wǎng)絡(luò)(convolutional neural netwok,CNN)提取圖像特征,在圖像識別和檢測任務(wù)上取得了重大突破[4-5]。
2014年Girshick等[6]提出區(qū)域卷積神經(jīng)網(wǎng)絡(luò)(regions with CNN,R-CNN)框架,第一次成功將深度學習引入到目標檢測領(lǐng)域,首次實現(xiàn)使用搜索選擇算法產(chǎn)生候選窗口以及使用CNN提取圖像特征,極大提高了檢測精度。但R-CNN框架要對每一個候選窗口進行特征提取,大量的重復計算導致檢測效率低下[7]。為解決效率問題,2015年Girshick[8]提出快速區(qū)域卷積神經(jīng)網(wǎng)絡(luò)(Fast R-CNN)框架,該框架直接將整幅圖像輸入深度網(wǎng)絡(luò)進行訓練。在網(wǎng)絡(luò)的最后一個卷積層,借鑒He等[9]的思路提出獨特的感興趣區(qū)域池化(region of interest pooling,ROI Pooling)層[10],根據(jù)候選窗口的位置將對應的特征從整個卷積層中裁剪出來,消除了大量的重復運算。此外,F(xiàn)ast R-CNN框架使用多任務(wù)損失函數(shù)對目標分類和邊框回歸進行聯(lián)合訓練,進一步提升了模型的檢測效果。隨著目標檢測框架的發(fā)展,速度瓶頸集中在生成候選窗口的問題上,2016年Ren等[11]提出的Faster R-CNN框架使用區(qū)域推薦網(wǎng)絡(luò)(region proposal network,RPN)代替搜索選擇算法產(chǎn)生候選窗口,并實現(xiàn)了RPN和目標檢測網(wǎng)絡(luò)共享原始圖像的特征圖。至此,F(xiàn)aster R-CNN框架將特征提取、候選窗口生成、目標分類和邊框回歸4個步驟統(tǒng)一到一個深度網(wǎng)絡(luò)框架之內(nèi),使得目標檢測流程更為簡潔,檢測精度得到大幅提升[12]。
高分辨率遙感圖像具有目標物體體積小、數(shù)量多、位置多樣、地物干擾性大等特點,本文以高分辨率遙感圖像中的機場為檢測場景、飛機為檢測目標,訓練Faster R-CNN模型對飛機目標進行識別和檢測。飛機識別實驗分別對完整飛機圖像和殘缺飛機圖像進行識別,驗證CNN在特征提取方面的優(yōu)勢。飛機檢測實驗對大范圍機場中的多架飛機進行目標檢測,驗證Faster R-CNN模型能否適應復雜的檢測環(huán)境并達到實際應用性檢測效果。特征提取網(wǎng)絡(luò)是模型檢測效果的重要影響因素,本文分別使用VGG網(wǎng)絡(luò)[13]、Resnet-101網(wǎng)絡(luò)[14]和Inception-Resnet-v2網(wǎng)絡(luò)[15]作為Faster R-CNN模型中的特征提取網(wǎng)絡(luò),并通過制作相應數(shù)據(jù)集和調(diào)整模型超參數(shù),使Faster R-CNN模型達到本文實驗條件下的最佳檢測效果。
Faster R-CNN框架分為圖像特征提取、候選窗口生成、目標分類和邊框回歸4個主要部分,首先,將原始圖像輸入網(wǎng)絡(luò),由特征提取網(wǎng)絡(luò)提取特征圖; 然后,將提取到的特征圖分別輸入到RPN網(wǎng)絡(luò)和ROI Pooling層,由RPN網(wǎng)絡(luò)產(chǎn)生候選窗口,并將生成的候選窗口映射到特征圖上; 接著,ROI Pooling層將每個候選窗口中的特征圖固定為統(tǒng)一尺寸; 最后,通過全連接層對目標分類和邊框回歸進行聯(lián)合訓練,得到最終目標檢測結(jié)果。Faster R-CNN框架如圖1所示。
圖1 Faster R-CNN框架
RPN網(wǎng)絡(luò)結(jié)構(gòu)如圖2所示,其中紅色框代表卷積核,灰色網(wǎng)格代表特征圖上的每一個像素點。卷積核在特征圖上以劃窗的形式進行卷積,經(jīng)過一個全連接層后分別進入分類層和回歸層。具體過程為: 首先,將特征圖上的每一個點映射回原圖作為整個感受野的中心點,根據(jù)網(wǎng)絡(luò)預設(shè)的面積和長寬比產(chǎn)生候選窗口; 然后,比較候選窗口與目標真實位置的重疊度,把與目標真實位置重疊度最大的候選窗口和重疊度超過70%的候選窗口記為正樣本,與目標真實位置重疊度小于30%的候選窗口記為負樣本; 最后,以正負樣本1∶1的比例來訓練RPN網(wǎng)絡(luò),其他候選窗口不參加訓練。
圖2 RPN網(wǎng)絡(luò)結(jié)構(gòu)
使用上述樣本進行RPN網(wǎng)絡(luò)訓練,經(jīng)過訓練后的RPN網(wǎng)絡(luò)輸出每一個候選窗口中存在檢測目標的概率pi和候選窗口的寬高及其中心坐標ti,RPN網(wǎng)絡(luò)的總損失函數(shù)為
(1)
(2)
(3)
本文實驗采用VGG,Resnet-101和Inception-Resnet-v2這3種CNN提取圖像特征,CNN的基本結(jié)構(gòu)包括輸入層、卷積層、池化層、全連接層和輸出層,隨著網(wǎng)絡(luò)層次結(jié)構(gòu)不斷加深,特征提取能力也在不斷增強。VGG網(wǎng)絡(luò)使用一組堆疊起來的小卷積核代替原始的大卷積核,有效減少了網(wǎng)絡(luò)參數(shù)和計算復雜度; Resnet-101網(wǎng)絡(luò)通過添加自身映射層保持網(wǎng)絡(luò)在層數(shù)很深時仍可以得到有效訓練,避免了網(wǎng)絡(luò)訓練時的梯度消失; Inception-Resnet-v2網(wǎng)絡(luò)用已有的稠密連接層來近似一個稀疏的結(jié)構(gòu),避免了參數(shù)增加帶來的過擬合問題。
實驗基于Ubuntu 16.0.4操作系統(tǒng),使用圖形處理器(graphics processing unit,GPU)版Tensorflow 作為深度學習框架,GPU型號為Tesla k80。
實驗數(shù)據(jù)信息如表1所示。
表1 實驗數(shù)據(jù)信息
本文目標檢測實驗流程如圖3所示。
圖3 高分辨率遙感圖像目標檢測實驗流程
首先對高分辨率遙感圖像進行裁剪和數(shù)據(jù)預處理,飛機識別實驗和飛機檢測實驗均使用0.5 m空間分辨率的全色遙感圖像制作訓練集,其中飛機識別實驗訓練集采用大小為200×200的圖像160張,飛機檢測實驗訓練集采用大小為900×900的圖像340張。分別將2個實驗的訓練集輸入Faster R-CNN模型進行訓練,飛機識別實驗采用VGG網(wǎng)絡(luò)作為模型的特征提取網(wǎng)絡(luò),飛機檢測實驗采用Resnet-101網(wǎng)絡(luò)和Inception-Resnet-v2網(wǎng)絡(luò)作為模型的特征提取網(wǎng)絡(luò)。訓練結(jié)束后保存模型并制作高分辨率遙感圖像測試集,飛機識別實驗的測試集采用大小為200×200的0.5 m空間分辨率全色遙感圖像40張,飛機檢測實驗測試集分別采用大小為4 000×2 500的0.5 m空間分辨率全色遙感圖像24張和大小為1 600×1 000的2 m空間分辨率多光譜彩色遙感圖像10張。使用訓練好的模型對測試集進行飛機識別和檢測,并對最終結(jié)果進行目視解譯和評價指標計算。
采用F1分數(shù)作為Faster R-CNN模型檢測性能的評價指標,它同時兼顧了檢測模型的準確率和召回率。準確率指正確檢測的飛機數(shù)與所有檢測到的飛機數(shù)之間的比率,衡量模型的查準率; 召回率指正確檢測到的飛機數(shù)與圖像中所有飛機數(shù)之間的比率,衡量模型的查全率。一般情況下,隨著召回率的上升,準確率會有所下降,F(xiàn)1分數(shù)可以看作是模型準確率和召回率的一種加權(quán)平均,其取值在0~1之間,數(shù)值越接近1說明模型的檢測性能越好。
本部分對實驗數(shù)據(jù)集、實驗參數(shù)進行介紹,并使用評價指標對實驗結(jié)果進行了分析,在保證合理性的情況下對模型的適用性進行了拓展。
2.3.1 飛機識別實驗
飛機識別實驗訓練集部分圖像如圖4所示。
(a) 完整飛機(b) 殘缺飛機 (c) 多架飛機
訓練集圖像包含以下3種情況: 完整飛機圖像(圖4(a)); 將完整飛機圖像分割為機頭、機尾和機翼的殘缺飛機圖像(圖4(b)); 包含多架不規(guī)則殘缺飛機的圖像(圖4(c))。
模型訓練過程中使用經(jīng)過COCO(common objects in context)數(shù)據(jù)集[16]預訓練的參數(shù)進行初始化,設(shè)置Faster R-CNN模型每次訓練3個樣本,學習率為0.000 3。Faster R-CNN模型的初始損失值為1.859 8,經(jīng)過1 000次訓練后損失值開始收斂,經(jīng)過4 000次訓練后損失值穩(wěn)定在0.164 3。
飛機識別實驗結(jié)果(圖5)表明,F(xiàn)aster R-CNN模型能夠準確地識別出圖像中的完整飛機和殘缺飛機,CNN提取到的特征具有平移旋轉(zhuǎn)不變性并且Faster R-CNN模型能夠通過局部特征識別目標物體,克服了傳統(tǒng)方法由于物體特征不完整導致識別失敗的難題。
(a) 完整飛機(b) 殘缺飛機 (c) 多架飛機
2.3.2 飛機檢測實驗
飛機檢測實驗訓練集部分圖像如圖6所示。
(a) 場景1 (b) 場景2 (c) 場景3
圖像展示了較大的機場范圍,每張圖像中包含30架以上不同大小和不同停放位置的飛機。圖像中存在大量干擾物,其中房屋、道路、汽車和登機橋等干擾物與飛機特征存在一定的相似性。
模型訓練過程中使用經(jīng)過COCO數(shù)據(jù)集預訓練的模型參數(shù)進行初始化,訓練時設(shè)置Faster R-CNN模型每次訓練1個樣本,學習率為0.000 2,使用Inception-Resnet-v2網(wǎng)絡(luò)的Faster R-CNN模型初始損失值為2.013 4,經(jīng)過4 000次訓練后損失值開始收斂,經(jīng)過8 000次訓練后損失值穩(wěn)定在0.313 0。使用Resnet-101網(wǎng)絡(luò)的Faster R-CNN模型初始損失值為1.423 0,經(jīng)過3 000次訓練后損失值開始收斂,經(jīng)過8 000次訓練后損失值穩(wěn)定在0.275 0。
使用Inception-Resnet-v2網(wǎng)絡(luò)和Resnet-101網(wǎng)絡(luò)的Faster R-CNN模型在全色遙感圖像測試集上的檢測結(jié)果如圖7所示。
(a) Inception-Resnet-v2網(wǎng)絡(luò)場景1 (b) Resnet-101網(wǎng)絡(luò)場景1
(c) Inception-Resnet-v2網(wǎng)絡(luò)場景2 (d) Resnet-101網(wǎng)絡(luò)場景2
(e) Inception-Resnet-v2網(wǎng)絡(luò)場景3 (f) Resnet-101網(wǎng)絡(luò)場景3
場景1圖像中包含房屋、道路和植被等多種干擾物,共有21架飛機,飛機輪廓完整,??课恢帽容^集中,與背景的對比度較高,檢測難點在于飛機的體積較小以及其他地物干擾性較大。從檢測結(jié)果可以看到,使用2種特征提取網(wǎng)絡(luò)的Faster R-CNN模型均能達到良好的檢測效果,其中使用Inception-Resnet-v2網(wǎng)絡(luò)的模型檢測出了圖中所有的飛機,使用Resnet-101網(wǎng)絡(luò)的模型對于體積較小的飛機存在漏檢現(xiàn)象,2個模型均沒有發(fā)生誤檢情況。檢測結(jié)果如圖7(a)和(b)所示。
場景2圖像中包括登機橋、跑道和房屋等干擾物,共有50架飛機,有2架殘缺飛機,飛機體積差別較大,飛機與背景的對比度較低。檢測難點在于模型能否檢測到圖中所有的飛機并且成功識別出殘缺飛機。從檢測結(jié)果可以看到使用2種特征提取網(wǎng)絡(luò)的Faster R-CNN模型均能達到良好的檢測效果,其中使用Inception-Resnet-v2網(wǎng)絡(luò)的模型成功識別出2架殘缺飛機并且無誤檢情況,模型對目標物體定位準確,對比度對于檢測結(jié)果影響較小。使用Resnet-101網(wǎng)絡(luò)的模型漏檢了2架體積較大的飛機,檢測結(jié)果受目標與背景對比度影響較大。此外,可以明顯地觀察到使用Resnet-101網(wǎng)絡(luò)的模型對目標的定位不夠準確,候選窗口與飛機的真實位置存在的偏差,其中一架飛機的機頭位于候選窗口之外。檢測結(jié)果如圖7(c)和(d)所示。
場景3圖像中飛機體積小,有大量的房屋并存在與飛機形態(tài)具有相似性的地物。檢測難點在于對小飛機的準確定位和區(qū)分與飛機形態(tài)具有相似性的地物。從檢測結(jié)果可以看到使用Inception-Resnet-v2網(wǎng)絡(luò)的模型對于小飛機的檢測效果較好,但是存在2處將其他地物誤檢為飛機的情況,使用Resnet-101網(wǎng)絡(luò)的模型無法準確定位小飛機的位置,檢測效果較差。檢測結(jié)果如圖7(e)和(f)所示。
Faster R-CNN模型基于全色遙感圖像數(shù)據(jù)集的評價指標如表2所示。
表2 Faster R-CNN模型基于全色遙感圖像數(shù)據(jù)集評價指標
測試集共有24張圖像,包含338架飛機,使用Inception-Resnet-v2網(wǎng)絡(luò)的模型總共檢測出330架飛機,其中正確檢測326架,誤檢4架,漏檢12架,準確率為98.79%,召回率為96.45%,F(xiàn)1分數(shù)值為0.976 3,在高準確率的情況下保證了良好的召回率,模型檢測效果可以達到實際應用性水平。使用Resnet-101網(wǎng)絡(luò)的模型總共檢測出292架飛機,其中正確檢測291架飛機,誤檢1架,漏檢47架,準確率為99.66%,召回率為86.09%,F(xiàn)1分數(shù)值為0.923 8。相比于使用Inception-Resnet-v2網(wǎng)絡(luò)模型的檢測結(jié)果,該模型召回率有所下降,但仍認為其具有較好的檢測水平。
為進一步驗證2個模型的適用性,使用Faster R-CNN模型對2 m空間分辨率的多光譜遙感圖像進行檢測,均得到了良好的檢測效果,部分檢測結(jié)果如圖8所示。
(a) Inception-Resnet-v2網(wǎng)絡(luò) (b) Resnet-101網(wǎng)絡(luò)
本文使用Faster R-CNN模型對高分辨率遙感圖像中的飛機目標進行識別和檢測,由實驗結(jié)果得到以下結(jié)論:
1)經(jīng)過訓練的Faster R-CNN模型能夠成功檢測飛機目標,在目前的實驗條件下,使用Inception-Resnet-v2網(wǎng)絡(luò)的Faster R-CNN模型取得了最好的檢測效果,F(xiàn)1分數(shù)為0.976 3,高準確率的同時也保證了良好的召回率,解決了傳統(tǒng)方法中準確率和召回率相互影響的難題。
2)特征提取網(wǎng)絡(luò)能夠快速有效地提取圖像特征,克服了人工提取特征的不確定性,并且可以通過部分特征完成對目標物體的識別。
3)特征提取網(wǎng)絡(luò)具有各自的適用性,VGG網(wǎng)絡(luò)結(jié)構(gòu)簡單,運行速度快,能夠完成簡單的目標識別任務(wù),但是無法在復雜的環(huán)境中達到優(yōu)秀的目標檢測效果。Resnet-101網(wǎng)絡(luò)和Inception-Resnet-v2網(wǎng)絡(luò)具有更深的網(wǎng)絡(luò)結(jié)構(gòu)和更強的特征提取能力,能夠在復雜的機場環(huán)境中準確而全面地檢測飛機目標。實驗結(jié)果表明,使用更深層的特征提取網(wǎng)絡(luò)可以有效提升Faster R-CNN模型的目標檢測水平,但復雜的網(wǎng)絡(luò)結(jié)構(gòu)時間成本大,對于實驗的硬件水平有更高的要求。
4)經(jīng)過訓練的Faster R-CNN模型可以成功地對高分辨率遙感圖像進行目標檢測,并且模型具有較強的魯棒性,能夠適應不同空間分辨率和類別的高分辨率遙感圖像。