王港 吳金亮 陳金勇 高峰
隨著遙感技術的不斷進步,遙感圖像的空間分辨率也在穩步提高,人們可以獲得越來越多的高分辨率遙感圖像。因此,在海量數據條件下的高分辨率遙感圖像目標識別就顯得尤為重要。遙感圖像目標識別已被廣泛研究,許多研究學者主要使用人工提取圖像特征進行目標識別的方法[1][2],比如局部二值模式(LBP)、梯度方向直方圖(HOG)[3]、Gabor等特征[4],然后將這些特征以特征向量的形式輸入到一個傳統的分類器比如SVM、AdaBoost、決策樹等進行分類,在目標識別任務中取得了很好的效果,比如飛機識別,艦船識別等[5]。但是這種人工特征提取方法魯棒性方面、位移、旋轉等影響方面往往表現欠佳。
深度學習是近年來在大數據環境下興起的一門機器學習技術,其實質是通過構建具有多層結構的機器學習模型和海量的訓練數據來學習數據中的復雜特征,用于之后的分析、預測等應用。由于其具備海量數據的學習能力和高度的特征抽象能力,在諸多圖像應用領域都取得了相比傳統方法革命性的成功。
自2014年開始,基于深度學習(主要是卷積神經網絡(CNN)[6])的目標識別在自然圖像應用中也取得了巨大突破。例如,以R-CNN(region with CNN features)方法為代表的結合通用候選區域算法和CNN分類的目標識別框架(R-CNN[7]、SPPNET(spatial pyramid pooling net)[8]、Fast R-CNN(fast region with CNN features)方法[9]、Faster R-CNN(faster region with CNN features)方法[10])。其候選區域采用Selective Search[11]、EdgeBox[12]或BING特征[13]等通用目標候選方法。而這些通用區域候選算法本質上還是遍歷滑窗的方法。這些方法往往產生巨量的候選窗口(如在一幅遙感圖像上往往可以產生數百萬個候選目標區域),雖然類似SPPNET、Fast R-CNN等方法采用在卷積出的特征圖上直接提取特征,避免了對每個候選區域進行大量的重復卷積操作,但由于沒有減少非必要的目標搜索,其計算量依然很大。而且為了兼顧通用,目標的定位與框選并不十分準確,進而導致后期的CNN識別錯誤。后期的算法包括Fast R-CNN和Faster R-CNN等都采用回歸學習方法對目標的準確位置進行了修正,甚至有YOLO(you only look once)方法[14]、SSD(single shot multibox detector)方法等算法通過訓練直接給出定位與識別結果,但這些算法都需要大量的學習樣本用于預測準確的回歸位置,且大多設計為針對圖像中占比大的目標,對于“大范圍、小目標”的遙感識別效果并不理想。
上述深度學習算法模型,都是在ImageNet挑戰賽[15]上獲得過最高名次的算法。ImageNet挑戰賽極大地促進了計算機視覺領域目標檢測識別領域的發展。但是ImageNet所包含的自然圖像和衛星遙感影像,存在著一些關鍵性區別:(1)遙感影像中目標相對影像較小,而且其存在很多的旋轉、仿射等現象;(2)輸入圖像巨大,往往有數百萬像素甚至數億像素;(3)十分缺乏相關的訓練學習數據,尤其在深度學習的算法中,高質量高數量的訓練樣本對算法效果起到至關重要的作用;(4)欺騙性,遙感影像由于其拍攝高度原因,獲得的信息可能是不真實的。故將深度學習的算法模型借鑒到遙感影像處理領域,還需要做更多的工作。
針對遙感影像的具體情況,本文設計了基于Faster R-CNN模型的高分辨率遙感影像目標檢測算法。為解決訓練樣本少、目標小圖像大的問題,本文通過谷歌地圖建立了小圖像目標樣本庫;為解決輸入圖像巨大難以處理的問題,本文對檢測輸入的遙感影像進行分塊處理,使得每一塊都可以直接進行基于Faster R-CNN模型的高分辨率遙感影像目標檢測,同時針對重復區域建議的問題,進行了RPN優化,方便了并行化處理。實驗結果表明,本文算法很好解決了深度學習模型應用于遙感影像的諸多問題,其檢測的準確率、效率、實用性都較傳統方法有很好提高。

本文總體算法流程如圖1所示,首先對輸入的寬幅遙感影像進行分塊操作,然后通過公共卷積層(卷積層1)后,分兩條路線進行。路線1為Faster R-CNN分類過程,將所選區域進行分類處理,給出類別概率;路線2為區域建議網絡(RPN)過程,通過滑窗及后續網絡,給出包含目標的準確區域建議。路線1和路線2配合,得到被檢測影像包含的目標及其具體位置。
3.1 切分設計
高分辨率遙感影像目標檢測,有兩種情況:對小塊遙感影像進行檢測,小塊影像和訓練樣本大小類似,可直接作為檢測網絡的輸入;寬幅遙感影像檢測,考慮到直接輸入整幅影像而帶來的網絡參數增加、計算機內存限制等原因,現有條件無法直接處理,故在輸入到檢測網絡前,需要先對其進行分塊,針對每一塊進行目標檢測,再將檢測結果匯總到原圖中來。本節針對寬幅遙感影像的切分處理進行詳細說明。
具體分塊檢測方法如下:
1)設寬幅遙感影像長寬為H、W,擬分塊大小為M、N,切分重疊長寬均為l,影像左上角為坐標原點;
2)從坐標原點開始對寬幅遙感影像進行分塊,分塊采取交疊方式進行;
3)分塊的對角坐標為:{(0,0),(M,N)},{(M-l,0),(2M-l,N)}……{((i-1)(M-l),(j-1)(N-l)),((iM-(i-1)l),(jN-(j-1)l))}……{(H-l,W-l),(H, W)};
3.2 重疊設計
節提到的重疊區域的長寬均為l,在確定l的大小時,考慮到了檢測目標的大小以及算法模型的效率等問題,擬以目標長度的1.1倍作為l的大小。這樣選擇l的數值,可以使得總有一塊分塊完全包含目標,且使得重疊不至于太大而過多影響計算效率。因為無法預測目標的姿態,故重疊區的長寬都設置為l。
4.1 RPN
區域建議網絡(Region Proposal Network,RPN)將一幅圖輸入,得到一組方框目標區域以及對應的目標分數。此模型將以全卷積神經網絡(fullyconvolutionalnetwork, FCN)[16]的形式進行設計。設計的最終目標是為RPN與Faster R-CNN部分共享卷積層。本文采用VGG16[17]作為卷積層模型。RPN和Faster R-CNN可以共享13層卷積層。
RPN在13層卷積層后,加入一個滑窗網絡,這個滑窗網絡是一個 的全連接網絡。其后映射到一個512維的低維向量,這個向量分別連接兩個獨立的全連接層:方框回歸器層和框分類層。n的值為3,在每一個滑窗位置,選擇k個參考框作為候選對象,選擇3個尺度和3個比例作為候選框的參量,也就是選擇個參考框。RPN結構示意圖如圖2所示。

為了訓練RPN,給每一個參考框一個二類標簽(是目標或不是目標)。兩種情況,會設置為正標簽:(1)本參考框與真實框擁有最大的IoU(Intersection-over-Union);(2)本參考框與任何一個真實框擁有超過0.7的IoU。而候選框與任何一個真實框都沒有高于0.3的IoU,則被標為負標簽。兩種情況都不是的,則不被選為參考框。
本文定義了一個多任務目標函數,作為訓練時優化的對象,如式(1)所示。


4.2 重疊優化
從4.1介紹中可以看出,RPN網絡形成的區域建議候選框中有很多重疊部分。同時,在寬幅遙感影像上進行分塊處理,也存在一定的重疊,兩種重復造成處理的時間開銷和資源開銷增大,所以針對重疊復選框進行濾除。
針對這兩種情況形成的重疊候選框,在候選框匯總合并到原始寬幅影像后,統一進行濾除。方法采用效果良好的非極大值抑制(nonmaximumsuppression,NMS)。以候選框的類別可能性作為對比數值,進行非極大值抑制。具體算法步驟:
(1)在候選框領域中,判斷屬于同一類的幾個候選框是否存在交疊,若存在,置于同一個交疊集中;
(2)在交疊集中,設候選框可能性值為P(i)。對比P(i)和相鄰兩個P(i-1)、P(i+1)。若P(i)大于P(i-1)和P(i+1),則以P(i+1)為暫時局部極大值,跳到i+2,繼續比較;若P(i)大于P(i-1)而小于P(i+1),則加1,繼續進行P(i+1)與領域的比較。
(3)依次進行到最后,選擇類別可能性最大的候選框為本類在本位置的最終定位結果。
重疊區域優化之后,只針對優化結果進行目標分類,極大地節省了計算資源和時間。
5.1 訓練樣本庫
深度學習的所有算法都建立在大量數據的基礎上,算法都是在大量有效數據上進行特征和規律學習。遙感影像數量很多,但是包含有特定類別、且分辨率一致的影像數據并不夠多。本文中建立了高分辨率遙感影像的典型目標樣本庫,通過這個樣本庫進行典型目標的學習和檢測。
本文搜集的典型目標包括:艦船、飛機、機場三種。搜集包含目標的樣本,主要按照由大到小的范圍進行搜集,比如艦船樣本,即按照“國家——港口——艦船”的思路進行搜集。其余兩種樣本搜集思路與艦船類似。
搜集的高分辨率遙感影像數據分辨率在0.5米左右。搜集到的粗樣本數據再進行細加工。Faster R-CNN訓練的樣本數據一般要求在1000*1000像素左右,故制作細樣本時,也將樣本大小選定在1000*1000左右。每一幅細樣本中包含1到5個目標。典型樣本實例如圖3所示,(1)(2)(3)為艦船樣本示例,(4)(5)(6)為機場樣本示例,(7)(8)(9)為飛機樣本示例。
5.2 目標快速檢測
本文采用的模型為Faster R-CNN,其本質為RPN結合Fast R-CNN,其中RPN作為區域建議的部分而Fast R-CNN作為主體分類結構存在,二者共享VGG16網絡模型的卷積結構,從而減少計算。同時,Fast R-CNN檢測網絡不再采用Selective Search區域建議方法。具體Fast R-CNN結構,參見文獻[7]。
基于Faster R-CNN的目標檢測主要包括兩個步驟,訓練和檢測。其中訓練過程,由于RPN和Fast R-CNN都可以進行端到端訓練。在反向傳播中,采用隨機梯度下降法,結合損失函數進行網絡參數調節。同時,隨機采樣正樣本和負樣本的比例為1:1。
(1)網絡訓練
RPN和Fast R-CNN部分都可以獨立的進行訓練學習,但是這樣它們的卷積部分就會不同。本文設計一種訓練方法,使得RPN和Fast R-CNN可以共享卷積層,而非獨立訓練。本文采用四階段訓練算法,通過選擇性優化,實現了卷積層的共享。具體步驟總結如下:
1)按照3.1介紹RPN的方法,對RPN進行訓練。網絡初始化采用ImageNet預訓練模型,微調訓練采用端到端的訓練流程。
2)使用1)訓練好的RPN輸出區域建議,訓練獨立的Fast R-CNN目標檢測網絡。到此時,兩個網絡還沒有共享卷積層。
3)使用2)得到的Fast R-CNN檢測網絡初始化RPN訓練,訓練RPN時,保持卷積層不變,調節RPN獨有網絡部分的參數。
4)保證共享的卷積層不變,訓練Fast R-CNN檢測網絡,只調整Fast R-CNN的全連接層。
這樣,既訓練了兩個網絡共享的卷積層,也分別調整了兩個網絡各自的獨立部分。
(2)目標檢測
本文中寬幅遙感影像檢測,在輸入到檢測網絡前,需要先對其進行分塊,針對每一塊進行目標檢測,再將檢測結果匯總到原圖中來。
具體分塊檢測方法如下:
1)從坐標原點開始對寬幅遙感影像進行分塊,分塊采取交疊方式進行,分塊的對角坐標見3.1切分設計;
2)將分塊送入RPN網絡,得到區域建議,并匯總到原圖中,坐標轉化公式為:

3)對全圖進行非極大值抑制操作,濾除交疊建議區域;
4)將每一個去除交疊的分塊I(i,j)輸入到檢測網絡,檢測網絡給出類別和位置;
其中,n表示本塊中檢測到的第n個目標。X、Y表示目標的全局坐標,x、y表示目標在分塊中的局部坐標。
6.1 實驗數據集
利用從Google Earth上獲取的0.5m分辨率的光學遙感圖像進行實驗,包括艦船、機場、飛機3種目標。其中艦船樣本500幅,飛機樣本300幅,機場樣本118幅。隨機從帶有標簽的數據集中選出艦船樣本300幅,飛機樣本200幅,機場樣本90幅,作為訓練樣本;其余作為測試樣本,訓練樣本與測試樣本不重復。
6.2 實驗環境配置
本算法在Matlab2014b上進行編寫,采用Caffe深度學習開源庫作為模型構建基礎。計算機為聯想Think Station P100,至強E2630 v3(雙路),顯卡為英偉達Quadro M6000 24G。本算法訓練和測試均是在GPU加速下完成。
由于輸入的檢測影像大小不一,本文在輸入的第一步對其進行了尺度歸一,以600*600作為標準輸入大?。粚矸e特征圖進行滑窗處理時,以10像素作為滑窗步幅;訓練時學習率為0.001,學習動量為0.9,權重衰退率為0.0005,迭代次數為3000。
6.3 實驗分析
本文采用了三種典型目標作為測試對象,分別是艦船、飛機和機場。并對分塊后的遙感影像進行了準確率測試。分塊后平均檢測時間為0.2s。具體如表1所示。

?
傳統算法遙感影像目標檢測的準確率一般在80%左右。由表1可知,本文方法對于高分辨率遙感影像目標檢測準確率更高。
同時,本文進行了寬幅遙感影像的目標檢測測試,同樣取得了良好的檢測效果。圖4為港口內艦船檢測的結果示例,圖5為機場內飛機檢測的結果示例,圖6為機場檢測的結果示例。由三張圖可以看出,本文方法對典型目標的檢測效果十分良好,其復雜的環境背景并沒有對結果造成影響。
本文提出了一種基于深度學習模型(Faster R-CNN)的高分辨率遙感影像目標檢測方法。針對高分辨率遙感影像內容豐富、尺度大等問題,將計算機視覺領域目標檢測效果最好的模型通過寬幅遙感影像分塊、RPN優化等多處改進應用于遙感影像處理領域,并在寬幅高分辨率遙感影像目標檢測方面取得了很好的效果。
在整個實驗中,本文介紹了從樣本制作、模型結構、環境配置以及訓練參數等多方面的工程化應用實施細節,為接下來繼續開展高分辨率遙感影像處理打下了良好基礎。實驗表明,在高分辨率遙感影像典型目標檢測中,本文方法具有很好的效果,克服了目標復雜的環境背景。
[1]徐希孺,柳欽火,陳家宜.遙感陸面溫度[J].北京大學學報(自然科學版),1998,(Z1):116-121.
[2]韓啟金,傅俏燕,潘志強,楊磊,王愛春.利用HJ-1B星熱紅外遙感圖像研究城市熱島效應[J].航天返回與遙感,2012,(01):67-74.
[3]覃志豪,Zhang Minghua,ArnonKarnieli,Pedro Berliner.用陸地衛星TM6數據演算地表溫度的單窗算法[J].地理學報,2001,(04):456-466.
[4]Jimenez-Munoz J C,Sobrino J A.A Generalized Single-channel Method for Retrieving Land Surface Temperature from Remote Sensing Data[J].Journal of Geophysical Research: Atmospheres(1984-2012),2003,108(D22).
[5]Qin Z,Karnieli A.Progress in the Remote Sensing of Land Surface Temperature and Ground Emissivity Using NOAA-AVHRR Data[J].International Journal of Remote Sensing,1999,20(12):2367-2393.
[6]Wan Z,Li Z L.A Physics-based Algorithm for Retrieving Land-surface Emissity and Temperature from EOS/MODIS Data[J],IEEE Transaction on Geoscience and Remote Sensing,1997,35:980-996
[7]張玉君.Landsat8簡介[J].國土資源遙感,2013,(01):176-177.
[8]白潔,劉紹民,扈光.針對TM/ETM +遙感數據的地表溫度反演與驗證[J].農業工程學報,2008,(09):148-154+2.
[9]楊文.光譜比輻射率對衛星遙感地表溫度影響的研究[J].高原氣象1997,01.
[10]傅碧宏.Landsat TM熱紅外遙感數據定量反演地下水富集帶的溫度信息-以甘肅河西地區石羊河流域為例[J].遙感技術與應用,1999,02:456-460.
[11]江東.地面溫度的遙感反演:理論、推導及應用[J].甘肅科學學報,2001,04:146-152.
[12]劉志武.利用ASTER遙感數據反演陸面溫度的算法及應用研究[J].地理科學進展,2003,05:507-514.
[13]郭廣猛,楊青生.利用MODIS數據反演地表溫度的研究[J].遙感技術與應用,2004,19(1):34-36.