馬 凱,羅 澤
1(中國科學院 計算機網絡信息中心,北京 100190)
2(中國科學院大學,北京 100049)
青海湖作為我國最大的內陸湖,其在維持當地的生態環境平衡以及人類正常的社會生產生活中都起到了非常重要的作用.因此,青海湖區域的土地利用覆蓋情況得到了許多研究人員的關注.
遙感影像分類是研究青海湖區域土地利用與覆蓋分類的一項非常重要的支撐技術.幾十年來,相關研究人員與機構不斷提出各種遙感影像分類算法,極大的推進了遙感數據處理與分析技術的進步.
上世紀80年代,研究人員主要是利用統計模式識別的方法進行遙感影像的分類研究.90年代起,出現了大量的機器學習遙感影像分類方法,機器學習分類算法在遙感領域的應用極大的推動了遙感影像分類技術的發展.2000年陳華[1]把K-means聚類方法應用于多光譜圖像分類,重點討論了算法的技術過程.尹世源[2]用最大似然分類算法對山東丁字灣遙感影像進行分類,并得到了較好的分類效果.楊育楨[3]基于TM影像的波段值與NDVI(歸一化植被指數)、DEM(數字高程模型)坡度分析使用決策樹分類算法進行地表覆蓋分類的分析,取得了比最大似然分類算法更好的分類效果.惠文華[4]提出一種基于SVM、光譜特征和紋理特征相結合的遙感圖像分類方法,取得了明顯優于最大似然分類的結果.劉志剛[5]探討了一種基于支持向量機的遙感影像半監督分類新方法.
2006年,多倫多大學的Geoff Hinton提出深度學習的概念,現在深度學習已經成為了機器學習、人工智能領域的研究熱點,尤其是在2012年的ImageNet LSVRC-2010比賽中,由Hinton教授及其學生提出的AlexNet模型[6]取得了驚人的效果,將to-5的錯誤率由25%降到了17%,由此,深度學習引起了學術界和工業界的廣泛關注.卷積神經網絡(Convolutional Neural Networks,CNN)是深度學習網絡的一種,AlexNet網絡模型就是CNN模型的一種.曹林林[7]將卷積神經網絡應用到高分辨率遙感影像的分類中,取得了比SVM更好的分類效果,證明了卷積神經網絡在高分辨率遙感影像分類中的可行性及精度優勢.
針對當前的研究現狀,本文借鑒GoogLeNet Inception結構,設計并提出了一種卷積神經網絡模型用于30米分辨率LandSat 8 OLI青海湖區域遙感影像的特征提取與分類,并設計實驗分析了生成樣本的鄰域窗口尺寸對分類結果的影響,以及本文模型與最大似然分類和SVM分類器對分類結果的對比.實驗結果表明窗口尺寸為9×9時,CNN的總體分類效果最好,且優于最大似然分類和SVM分類效果.證明了卷積神經網絡模型在30米分辨率LandSat 8 OLI青海湖區域遙感影像分類中特征提取與分類的有效性.
許多研究者對青海湖區域的土地覆蓋變化展開過研究,李小雁[8]以1977~2004年4期的遙感影像數據為基礎,采用土地利用轉移矩陣、動態度、利用程度等方法研究了青海湖流域1977年以來的土地利用變化特征及其空間分異規律.祁佳麗[9]選用2009~2011年的遙感影像數據,采用土地利用轉移矩陣研究分析方法對青海湖流域的土地利用類型進行了分析.劉娟[10]以青海湖的TM數據和地形數據為主要數據源,在GeoEye-1高分辨率影像和土壤圖的幫助下,采用最大似然的方法探討了遙感技術在青海湖流域土壤分類中的可行性.
卷積神經網絡在高分遙感影像分類的應用比較成熟,許多研究者提出了不同的數據處理方法.邢晨[11]考慮到提取空間信息的窗口大小可能會包含進來與中心像素點不同類別的干擾像素,其嘗試了一維卷積的方式,即將一個空間鄰域的數據串聯起來的光譜數據作為一個通道的圖像,然后將3×3窗口尺寸的空間的像素數作為通道數,其使用的INP數據有200個波段,就得到9通道1×200的圖像作為卷積神經網絡的輸入,這樣得到的圖像寬度就大大加寬.宋欣益[12]由原始高分數據得到某一個像元在所有波段的光譜數值,然后轉為二維矩陣,并灰度化得到二維圖像輸入卷積神經網絡.
適用于高分圖像的處理方法并不適用于中分遙感影像,因為這些處理方式得益于高分遙感影像具有非常多的波段數據,而LandSat8遙感影像只有11個波段的數據,即使全部利用也只能得到1×11的圖像.
付秀麗[13]在處理中分LandSat5遙感影像時,按照32×32大小的尺寸對TM影像進行裁剪,完成對數據的預處理及樣本生成.但是對于30分辨率的遙感影像來說,32×32的窗口實在太大,必然會導致線條特征提取不明顯,分類邊界不夠細膩,影響圖像分類效果.張偉[14]在進行16米空間分辨率多光譜影像的特征提取時,使用了動態窗口上采樣的方法做樣本生成,其使用預訓練的深度卷積神經網絡AlexNet模型進行特征提取,并用SVM進行分類,取得了優于基于光譜+紋理特征的分類結果.但是,上采樣的方法會額外增加計算量,此外,該方法也會給原始數據帶來冗余信息,擾亂圖像原始的紋理結構,在一定程度上會影響分類效果.
本文首次將卷積神經網絡應用于青海湖區域遙感影像分類,同時為了保持圖像原始的紋理結構,保證CNN提取到最準確的特征表示,本文不采用上采樣的方法做樣本生成,而是保持原始窗口大小的圖像樣本.同時為了能更好的提取到小窗口圖像的特征表示,本文借鑒GoogLeNet Inception結構設計并提出了自己的卷積神經網絡模型.
本文使用的實驗數據是成像于2016年10月17日的30米分辨率LandSat8 OLI青海湖區域遙感影像,云層覆蓋率低于1%.LandSat8共有11個波段的光譜數據,每個波段的說明見表1.
表1中波段1主要應用于海岸帶觀測;波段9又稱卷云波段,包含水汽強吸收特征,一般用于云層檢測;波段8、10、11的空間分辨率分別為15 m、100 m、100 m,一般不參與分類.對于一些傳統模型,通常會選擇波段信息量豐富、波段相關性小、地物光譜差異大、可分性好的最佳波段組合來進行特征圖像解譯和特征提取,但是考慮到深度學習網絡具有極其強大的學習及特征表達的能力,本文將把剩余的波段2~7全部利用起來,作為輸入樣本的6個通道.本文實驗利用了其中的6個波段,對TIF波段文件的讀取和處理使用的是Python GDAL庫以及Python Numpy庫.LandSat8 數據是16位的,最大值為65 535,本文實驗對每個波段的像元值做了層內歸一化,歸一化到[0,1].
根據實地考察及相關資料參考,本文把青海湖區域的地物覆蓋分為7類:草地、荒地、高寒草甸、農田、人工用地、沙地和水體.CNN訓練是一種有監督訓練,需要大量有標注的訓練樣本.本文利用Google Earth圈定了7類樣本數據,然后將標記導出并導入到ArcGis中.
不同類別的樣本數量有較大差異.其中沙地、水體、高寒草甸樣本數量較大,而人工用地等樣本數量較少.為了避免樣本不平衡帶來的模型預測偏移的情況,本文對每類樣本隨機選取了1.5萬個樣本,此舉也使得樣本分布更為分散,減少樣本重疊的情況.
圖1即為GoogLeNet Inception結構的v1版本,該結構將 1×1、3×3、5×5 的卷積操作與 3×3 的池化操作stack在一起,一方面增加了網絡的寬度,另一方面也有利于網絡充分提取多尺度感受野的特征.
本文借鑒GoogLeNet Inception結構設計并提出的的CNN網絡模型見圖2.
CNN能在圖像處理領域取得極大成功的一個特性就是感受野,感受野是指CNN結構中某個特征映射到輸入空間的區域大小.本文使用1×1、3×3、5×5不同大小的卷積核來提取不同大小的感受野特征,充分挖掘中心像元與鄰域空間的特征聯系,提取到相關的特征.本文設計的CNN模型包含兩個類Inception結構,每個類Inception之后有一個Batch Normalization層,BN是將該層的輸出歸一化為均值為0,方差為1,BN操作可以有效的加快模型訓練速度,提高模型精度.兩個類Inception之后是一個3×3的卷積層和一個512維的全連接層,最后是輸出層.
如2.1小節所述,為了選擇最優的鄰域窗口尺寸,本文選擇不同尺寸的ws做了實驗,選取的ws的尺寸為5、7、9、11、13.不同窗口尺寸的分類結果見圖3.

圖2 本文設計并提出的CNN模型結構
從圖3可以看到,ws較小時分類圖中出現了較多的“椒鹽噪聲”式的細碎圖斑,分類區塊多且不連續,觀察ws等于5時可以發現,模型較好的識別出了道路等細長的人工用地,這是因為窗口較小時,模型能較好的提取和表征狹小地物的特征,但同時對于區域面積較大的其他6個分類,小窗口能夠提取的特征較少,就非常容易出現錯分的情況,可以看到在高寒草甸內部出現了很多錯分的零散的人工用地.隨著窗口ws的增大,整體分類效果也在慢慢變得合理.但是當ws變大為11或13時,可以發現出現了非常大的連片區域,分類邊界模糊,也出現部分區域被整體錯分的情況;觀察人工用地,出現了人工用地被明顯加粗加寬的現象.這是因為太大的鄰域窗口會包含其他的地物信息或冗余信息,而不能使用模型提取出最能代表某一地物的特征,尤其是在邊界附近的像元,鄰域窗口越大,樣本所包含進去的冗余信息就越多,就越不利于分類.

圖3 不同鄰域窗口尺寸下的CNN分類結果
經過對比不同窗口尺寸的分類結果與實地地物覆蓋情況,本文認為在鄰域窗口ws等于9時,分類效果達到最好,分類結果與實地地物覆蓋分類最為吻合.
使用相同的訓練像元,本文又分別使用最大似然分類和SVM方法做了兩組對比實驗.本文采用混淆矩陣進行精度對比,結果如表2、表3和表4.
由表2、表3和表4可知,使用CNN模型計算得到的總體分類精度為80.97%,Kappa系數為0.778,使用最大似然分類計算得到的總體分類精度為54.46%,Kappa系數為0.469.由SVM方法得到的分類結果的總體分類精度55.26%,Kappa系數為0.478.

表2 CNN精度評價

表3 最大似然分類精度評價

表4 SVM精度評價
從以上結果可以看出,不論是總體的分類精度還是Kappa系數,本文設計的CNN模型都要高于最大似然分類和SVM.
最大似然分類方法假設數據服從正態分布或聯合正態分布,如果某一類的數據分布不服從正態分布,那么該方法就未必合適.我們觀察表3中,水體的預測準確率只有28.4%,而SVM和CNN關于水體的預測準確率都高達99%甚至100%.這是因為,遙感影像中的水體的光譜數據一般只在一個非常小的范圍內變化,其數據分布規律不符合正態分布,因此水體的預測準確率較低.此外,觀察SVM的分類結果發現,荒地和高寒草甸的分類結果非常不理想,兩者被更多的錯誤分類為草地和農田,本文使用的遙感影像成像時間為10月份,4000多米海拔的青海湖區域已經處于深秋季節,所以這幾類地物具有非常相似的景觀特征,非常難以識別.而CNN的分類結果卻好很多,這也說明了卷積神經網絡具有非常強大的特征提取與表達的能力.
圖4也直觀的展現最大似然分類、SVM分類與CNN分類效果的差異.
根據2.3.1及2.3.2兩小節對實驗過程及結果的描述與對比,卷積神經網絡在遙感影像分類中具有比最大似然分裂和SVM更好的分類效果,且對于中等分辨率的遙感影像,選擇鄰域窗口為9時,分類效果最好.圖5即為使用最優參數的卷積神經網絡在30米中分辨率青海湖區域遙感影像的分類結果圖.

圖4 CNN與最大似然分類、SVM分類結果對比
鑒于卷積神經網絡具有非常強大的特征學習和表達能力,本文提出并設計了一種卷積神經網絡模型,并將其應用到中分辨率青海湖區域遙感影像的分類中.同時本文針對樣本生成中鄰域窗口尺寸對分類效果的影響,以及CNN與最大似然分類和SVM分類效果的優劣,分別作了對比實驗.本文得出以下結論:
1)與最大似然分類和SVM方法相比,卷積神經網絡在遙感影像分類應用中具有更強的特征提取能力與更優的分類效果.

圖5 青海湖區域分類結果
2)針對30米分辨率的LandSat 8 OLI青海湖區域遙感影像,生成樣本時所需的鄰域窗口尺寸對最終的分類結果有一定的影響.尺寸太小,會產生很多“椒鹽噪聲”式的錯分點;尺寸太大,會導致部分整塊區域的錯分以及邊界模糊.鄰域窗口尺寸為9×9時取得最好的分類效果.
3)本文方法也存在不足:本文在選取最優鄰域窗口尺寸時,采用了與實際地物覆蓋人工對比的方法,而沒有找到一個可量化的衡量指標.此外,不論生成樣本的窗口尺寸有多大,實際分類結果的邊界都會存在邊界模糊的情況.
在今后的工作中,我們將繼續探索,力求找到能較好的解決3)中所提到問題的解決方案;我們還將在樣本生成方法、模型結構等方面繼續研究,努力為青海湖區域遙感影像分類提供新的更科學的技術方法.