王云艷,羅冷坤,周志剛
1.湖北工業大學 電氣與電子工程學院,武漢430068
2.太陽能高效利用及儲能運行控制湖北省重點實驗室,武漢430068
多光譜遙感地物圖像處理作為遙感領域的重要研究內容之一,它不僅包含地物的光譜信息,同時容納了地物的空間幾何分布信息,對多光譜遙感地物圖像的準確分類已廣泛運用于農業[1]、天文[2]、環境科學[3]等重要領域。但進行地物精細分類時存在波段較多、數據量較大、波段間相關性較強、Hughes現象、維數災難、特征空間中數據非線性分布等系列問題,為了避免此類現象的發生,常對原始高維數據降維或者篩選出更具有判別依據的中層特征空間來分類。閻繼寧等人[4]提出考慮波譜矢量方向利用光譜角匹配技術(Spectral Angle Mapper,SAM)提取出有效的分類特征后結合SVM 來提高分類精確度;王明偉等人[5]結合最大似然(ML)算法來獲取中層特征向量;商宏濤等人[6]考慮利用編碼的方式來得到更加有利于分類的特征空間,提出一種基于堆疊稀疏自動編碼器(SSAE)和支持向量機分類器入圖像特征分類算法。雖然眾多的學者利用特征編碼方式來獲取更有利的中層特征信息實現分類效果的提高,但是遙感地物分類過程效果依然難以滿足檢測需求。
隨著卷積神經網絡(CNN)被大量引入遙感圖像處理領域,深度學習能在圖像分類中表現出更好的魯棒性和優越性。羅建華等人[7]提出了結合光譜信息和空間信息的深度卷積神經網絡(DCNN)模型,提取出具有高度不變性的有效底層特征;Zhang W等人[8]利用反卷積網絡結合R-CNN 模型實現小目標的遙感圖像分類;Zeiler 等人[9]發現一種自適應卷積神經網絡來獲取中層信息和高層信息特征分類;Oquab 等人[10]受此啟發利用反卷積神經網絡獲取中層特征后與遷移學習能一定程度上提高圖像分類精度;呂恩輝等人[11]對反卷積層設立整體目標函數修改為有監督狀態,找出最適合后端卷積神經網絡訓練的高層特征映射矩陣。通過傳統機器學習算法獲取或者深度學習算法獲取的單一特征與分類器集合能一定程度上提高精度,但也有可能造成特征信息的缺失,李暢等人[12]提出對樣本的獨立分量、紋理、各項指數等多特征結合多分類器來實現更為有效的分類算法。
傳統機器學習算法在特征提取和特征選擇上已經足夠完善,但是篩選的過程一方面避免了特征的冗余和降低特征復雜度,另一方面也造成了部分有效分類特征的丟失;深度學習算法通過監督學習底層信息空間,利用反向訓練權值來得到最優分類模型,雖然最大程度上保留了特征的完備性,但是對計算機硬件要求和訓練時間要求極大。針對上述問題,本文提出了一種結合高層特征空間[13]和遷移學習網絡的遙感地物圖像分類算法,首先利用兩層堆疊的反卷積網絡來提取目標數據集的高層特征,然后利用VGG16 模型的卷積層權重來構建遷移網絡模型,最后將高層特征導入遷移網絡[14]中加強訓練得到更加優越的訓練模型,利用訓練模型可對高光譜遙感[15]數據集更加準確分類。
遙感圖像特征工程作為圖像分類的重要環節主要包括特征提取、特征篩選、特征降維等過程,通過對原始數據特征重新排布獲取更為有利分類的空間序列。如圖1所示,通過一系列深度卷積池化層能獲取底層細粒特征,利用梯度下降法獲取最利于特征分類的權值;融合傳統機器學習HOG 特征、SIFT 特征、LBP 特征等,然后利用PCA、流行學習算法等降維組成中層特征;本文算法提出一種類別分塊明顯的高層特征,通過在卷積層、池化層后加入反卷積操作來將塊細粒特征重新組合為分類明顯的塊。
深度反卷積[16-18]特征提取過程由許多卷積、池化、反卷積、激活等單元構成。首先介紹輸入為3×3的圖片經過3×3的卷積核進行步長為3的反卷積的過程,開始對輸入圖片每個像素進行一次填充,根據填充步長m 大小計算可以知道每個像素的卷積后大小為3+(3+1)×m=7,即7×7大小的特征圖,由于輸入有4個像素,所以4個7×7的特征圖。如圖2反卷積過程中,然后將4個特征圖進行卷積核為3×3的反卷積,然后將反卷積結果像素進行疊加,重疊部分進行相加,即輸出的第1 行第4列是由第一層特陣圖的第一行第四列與第二層特征圖的第一行第一列相加得到,其他如此類推,如公式(1),可以看出反卷積的大小是由卷積核大小與填充步長m決定。

其中,In 是輸入大小,k 是卷積核大小,m 是填充步長,Out 是輸出大小。

圖1 圖像特征工程

圖2 反卷積過程
利用深度學習網絡中Alexnet和Vggnet來作為圖像分類已成為一種圖像流行的處理工具。如圖3 所示,Alexnet 網絡輸入數據集類型為227×227×3 的RGB 圖像,通過卷積層、池化層、激活層、Dropout 層、全連接層等大數據計算后成為1 000 維待分類向量,最后利用softmax分類器來實現分類效果。Vggnet修改池化層大小和卷積層個數來延伸網絡的深度,進一步提取更加細致的圖像特征,如圖4和圖5網絡結構所示,Vggnet網絡輸入數據類型為224×224×3 的尺寸,將每個卷積、池化層細化為A~E 過程,全連接層和softmax 分類過程直接沿用Alexnet網絡最后幾層結構。但是上面這種算法都是基于大數據計算下訓練得到訓練模型后進行模型測試,極大地消耗分類時間。遷移學習的目的是轉移相關源域和目標域之間的信息,當深度學習已被廣泛應用于計算機視覺中,引用大量訓練數據所得到的訓練模型的參數來對少量訓練數據作分類并得到理想的分類精度則成為新的熱點。原本的CNN網絡結構通過一系列卷積池化過程得到理想權值,其中卷積池化公式如式(2)~(4)所描述。

圖3 Alexnet網絡結構

圖4 Vggnet基本單元結構

圖5 Vggnet網絡結構
卷積過程如式(2)所示:

式中,K(m,n)為卷積核,A 為原始數據。池化過程如式(3)、(4)所示:

式中,D 為池化核,a 為卷積后feature圖像。利用理想權值來進行特征降維,最后利用分類器來對特征分類,遷移學習直接引用最后的理想參數,利用原始的大數據來訓練理想參數,將得到的參數直接應用到遷移網絡中對少量的訓練集進行再訓練得到遷移模型。
為了兼顧遙感數據分類時間和效果,本文算法利用堆疊卷積、池化、反卷積等構成高層特征提取過程,然后遷移Vgg16 官方模型的卷積層、池化層、激活層的權重W1~W5,最后結合支持向量機分類器來構建訓練模型,如圖6。利用梯度下降法來修正訓練過程中權值得到最優訓練模型。具體步驟如下:
步驟1 將冰川、巖石、城市、水域、農田、森林等數據分別放入高層特征提取網絡,經過反卷積層后恢復為3通道偽彩色圖,并將數據按照類別保存在相應標簽文件夾下。
步驟2 構建遷移學習訓練網絡,首先創建Vgg網絡連接SVM 分類器,將Vgg16 官方模型的卷積層、池化層、激活層的權重W1~W5 作為訓練網絡的初始權值,全連接初始層隨機取值。
步驟3 將偽RGB圖和單通道標簽圖像路徑制作相應路徑標簽。
步驟4 將數據集、標簽和Vgg16官方模型導入遷移網絡中訓練,保存權重模型和訓練損失。
步驟5 利用保存的模型對測試數據進行預測,并且計算誤差矩陣、漏分誤差、多分誤差和Kappa。
本文實驗分別對Satellite、NWPU-FACC45 和UC Merced Land Use Dataset 三組數據集進行實驗,三組數據集分別利用無人機搭載多光譜成像儀獲取,驗證數據類型為多光譜600×600 像素三通道圖像數據。從Satellite數據集中選取冰川、巖石、城市、水域、農田和森林6類樣本,每類訓練集800張,測試集200張。NWPUFACC45 數據集是西北工業大學創建的遙感圖像場景分類的一個公開的基準。該數據集包含31 500 個圖像,覆蓋45個場景類,每個類中有700個圖像;本實驗選取海灘、建筑群、沙漠、森林、湖泊和山區6類樣本,每類訓練集500 張,測試集200 張。UC Merced Land Use Dataset 是一個土地利用圖像數據集,每類有100 幅圖像,這些圖像是從美國地質勘探局國家地圖城市地區的大型圖像中手工提取出來的;本實驗選取海灘、建筑群、沙漠、森林、湖泊和山區6 類樣本,每類訓練集80 張,測試集20 張。實驗環境在WIN10 系統下,為了快速搭建訓練網絡,采用目前較為流行的深度學習框架Tensorflow,在實驗中,為了提高實驗網絡的訓練速度,采用單個8 GB容量GPU的計算模式,硬件上采用NVIDIA1080卡,利用GUP加速模式運行。
為了更好地評估算法的有效性,本實驗用Kappa系數(Kappa)、總體精度(PA)和漏分誤差的精度(OE)對實驗結果進行了評估。 Pab表示預測類別a 被分類到類別b 的像素點數,表示屬于a 類別的像素點總數,評級指標定義如下所示:
Kappa系數:Kappa是一個統計量,用來衡量預測和地面真相之間的一致性。


圖6 整體算法流程

其中k ∈[1,K],K 是類別數
總體精度:PA 是指在整個圖像中正確分類圖像和所有圖像的百分比。

漏分誤差的精度(OE)是指目標類別有多少被錯誤分到了其他類別的百分比。

Kappa、PA和OE值在0~1 之間,Kappa、OA的數值越大,分類性能越好。
分別采用LBP 編碼底層特征提取算法、改進型SLBP編碼底層特征提取算法、流行學習LE降維算法結合SVM、CRF 和KNN 分類器作對比實驗,充分說明高層特征提取算法的有效性。從表1的Satellite數據集實驗結果可以看出,本文提出的DF_Vgg16 算法,對于每類的樣本測試集的分類精度相對于其他幾種方法大部分都有提高,對比LBP+SVM、SLBP+SVM、SIFT結合流行學習這些傳統的算法提高了10%之多,相比底層特征和中層特征分類算法也有一定提高。表2和表3分別為NWPU 數據集和UC Merced 數據集的分類精度結果,引入多個數據集進行實驗使結果更有說服力,對于森林這種紋理特征豐富的樣本,其他方法也可達到較好的分類效果,但是對于海灘、沙漠這種特征較少的樣本,另外4組方法的精度就比較低了,而使用本文的分類算法可以有效地提高分類精度。如圖7所示,加入遷移學習后的訓練網絡能實現loss函數的快速收斂,同時校驗數據的準確率能適應目標模型要求。對三組數據計算用Kappa 系數(Kappa)、總體精度(PA)和漏分誤差的精度(OE)后取平均值,DF_Vgg16算法Kappa值能達到0.89,誤差精度OE 降到7.5%,總體精度(PA)達到92.06%,如表4。雖然本文算法測試時間相對來說較長,主要原因是深度學習過程訓練模型權重還原過程比較耗時,但是算法的精度上更為可觀。

表1 Satellite數據集分類精度 %

表2 NWPU數據集分類精度 %

表3 UC Merced數據集分類精度%

圖7 損失函數

表4 評價參數
遙感數據集的底層LBP特征集合SVM算法對6類數據集能實現一定程度的分類,SLBP 編碼利用一種新的特征編碼方式來提高了整體分類精度和Kappa值,但是對于水域、農田、建筑群等特征不夠顯著導致分類精度只有70%左右,流行學習LE算法針對SIFT特征在降低數據維度的同時盡可能地減少圖像信息的丟失,拉普拉斯特征映射從局部的角度處理數據,通過構建相似關系圖來重構數據流形的局部結構特征,將相似度較高的兩個樣本點在降維后的空間中距離較近,對于此類特殊遙感數據分類有更高效的分類結果。本文DF_Vgg16算法引入反卷積提取高層特征和遷移學習算法,極大地提高訓練時間,同時減小了誤分類精度。
本文提出了一種結合高層特征空間和遷移學習網絡的遙感地物圖像分類算法[19],首先利用兩層堆疊的反卷積網絡來提取目標數據集的高層特征,然后利用VGG16 模型的卷積層權重來構建遷移網絡模型,最后將高層特征導入遷移網絡中加強訓練得到更加優越的訓練模型。算法針對多光譜遙感數據集中部分數據底層特征和中層特征相似性過高問題,利用反卷積保留圖像的分塊信息,然后利用遷移網絡來提高訓練速率,最后利用SVM分類器來作分類處理。本文算法有望用于多波段醫學圖像處理、極化遙感數據集[20-22],反卷積層后期可設置可適應函數來修正反卷積的權重找到最適合分類的高層特征空間。