肖 菊,謝曉春
(贛南師范大學(xué) 物理與電子信息學(xué)院,江西 贛州 341000)
高光譜圖像(Hyper Spectral Image,HSI)是包含光譜和空間信息的三維圖像,具有光譜分辨率高、信息豐富的優(yōu)點[1].HSI圖像分類因其在土地利用和土地覆蓋應(yīng)用中的重要作用而備受關(guān)注.HIS圖像分類方法大都起源于計算機視覺和模式識別領(lǐng)域的算法和技術(shù),可以分為監(jiān)督分類和非監(jiān)督分類2類.以卷積神經(jīng)網(wǎng)絡(luò)為代表的監(jiān)督分類方法使用一組稱為訓(xùn)練樣本的代表性樣本對每個類別的輸入數(shù)據(jù)進行分類.通常需要通過手動標記圖像中的少量像素或基于某些野外測量來收集訓(xùn)練樣本.相反,以支持向量機為代表的無監(jiān)督分類方法則不考慮訓(xùn)練樣本,僅根據(jù)用戶指定或隨意選擇的任意數(shù)量的初始聚類中心對數(shù)據(jù)進行分類.由于監(jiān)督分類方法通過訓(xùn)練樣本獲取有關(guān)類的特定信息,因此比無監(jiān)督方法更容易實現(xiàn)精確的分類映射[2].
由于高光譜圖像的具有光譜通道數(shù)目多、標記的樣本數(shù)量有限、光譜特征的空間變異性等特點,使得高光譜圖像分類工作存在著一些困難[2].高光譜圖像光譜通道數(shù)多,可以提供豐富的細節(jié)信息,但是模型提取出的特征維數(shù)增加了,而可用來訓(xùn)練的樣本量又少,會導(dǎo)致分類精度無法提高.而光譜特征的空間變異性會出現(xiàn)同物異譜,同譜異物的現(xiàn)象,這也會降低分類的精度.近年來興起的深度學(xué)習(xí)方法被越來越多的運用到了高光譜圖像的分類當(dāng)中,深度學(xué)習(xí)能夠提取高光譜圖像深層次的特征,并且減少了人工選取的工作量,高效完成分類任務(wù),也很好的改善了高光譜圖像分類的性能.
卷積神經(jīng)網(wǎng)絡(luò)(convolutional neural network,CNN)是一種完全監(jiān)督的深度學(xué)習(xí)方法,由于它將特征提取和分類器自然地集成到一個框架中,因此具有更強大的分類能力.胡偉等人[3]首次提出將CNN運用到高光譜分類中.早期的一維CNN(1D-CNN)方法不考慮像元的空間關(guān)系,只根據(jù)光譜信息結(jié)合基于正則的多元化的深度置信網(wǎng)絡(luò)進行無監(jiān)督特征提取后進行有監(jiān)督的端到端的微調(diào),但這種方法仍使用了較多的訓(xùn)練樣本.因為卷積神經(jīng)網(wǎng)絡(luò)能夠處理二維輸入而不破環(huán)數(shù)據(jù)原始結(jié)構(gòu),所以Chen[4]等人提出了使用二維CNN(2D-CNN)來改善上述問題,它允許數(shù)據(jù)以二維或者三維的形式作為輸入,實驗也證明2D-CNN對高光譜圖像的分類準確率明顯高于1D-CNN的方法.大部分使用深度學(xué)習(xí)的方法中空間特征和光譜特征與傳統(tǒng)方法一樣還是分開提取的,它們不能充分利用空間和光譜的相關(guān)信息,于是Li等人[5]提出將三維卷積神經(jīng)網(wǎng)絡(luò)(3D-CNN)引入到高光譜圖像分類中,三維卷積神經(jīng)網(wǎng)絡(luò)可以了解空間和光譜中的局部信號變化,利用重要的判別信息進行分類,而且沒有任何的預(yù)處理和后處理操作,直接將圖像塊輸入網(wǎng)絡(luò)得到分類結(jié)果.
本文設(shè)計了一種三維全卷積網(wǎng)絡(luò)模型(3D-Fully Convolutional Neural Networks,3D-FCNN),通過使用卷積層替代池化層和全連接層減少模型的參數(shù),能夠在較少的訓(xùn)練樣本量下再提高分類精度.在Indian Pines高光譜數(shù)據(jù)集上的實驗結(jié)果表明,在10%、15%、20%、30%、50%的訓(xùn)練樣本量下,3D-FCNN的總體分類精度等參數(shù)均優(yōu)于其他方法.
本文提出的3D-FCNN框架如圖1所示,主要由輸入層、3D卷積層、步長為S的3D卷積層和輸出層構(gòu)成,除去一層輸入層和一層輸出層,網(wǎng)絡(luò)其余部分就是由多個3D卷積層和步長為S的3D卷積層組合而成.其與傳統(tǒng)CNN主要有以下幾點不同:將傳統(tǒng)CNN結(jié)構(gòu)中的池化層用步長為S的卷積層替代,能夠避免特征提取過程中信息的丟失;將全連接層也用卷積層替代,有效避免信息冗余,減少訓(xùn)練參數(shù);使用3D卷積,更符合HSI三維數(shù)據(jù)的特點,能有效同步提取光譜-空間信息.
圖1 用于HSI分類的3D-FCNN框架
3D-FCNN通過堆疊的三維卷積層來提取在HSI中空間譜和光譜維度上的特征.每層3D卷積層通過三維卷積核對上一層輸出的三維特征數(shù)據(jù)(或原始數(shù)據(jù))做如圖2所示的卷積操作來獲得三維特征數(shù)據(jù)作為的下一層輸入.
圖2 三維卷積操作
假定l表示第l層卷積層,νlj表示第l層卷積層輸出的第j個三維特征數(shù)據(jù),HI、WI、RI分別表示三維特征數(shù)據(jù)的長、寬和光譜維度,Ml是第l層卷積核的個數(shù).那么,νlj在(x,y,z)位置上的特征值為:
(1)
在每一層卷積操作完后都需要通過一個激活函數(shù)來輸出下一層卷積的輸入數(shù)據(jù),激活函數(shù)的作用是能夠給神經(jīng)網(wǎng)絡(luò)加入一些非線性因素,使得網(wǎng)絡(luò)可以更好的解決較為復(fù)雜的問題.本文中采用的激活函數(shù)是是由Krizhevsky等人[6]提出ReLU(Rectified Linear Units).ReLU是最近幾年非常受歡迎的激活函數(shù),它相比sigmoid、tanH等其他激活函數(shù),能夠在梯度下降過程中快速收斂,并且能夠有效緩解梯度消失的問題.所以采樣ReLU可以改善模型擬合,而無需額外的計算成本和過擬合風(fēng)險,ReLU激活函數(shù)可以表示為:
f(ν)=max(0,ν)
(2)
3D-FCNN網(wǎng)絡(luò)中除了三維卷積層外,還有用于取代池化層的步長為S的三維卷積層,其輸出為:
(3)
式(3)中采用的激活函數(shù)也是ReLU.
由于3D-FCNN是前饋網(wǎng)絡(luò),即第(n-1)層的輸出用作第n層的輸入,對于整個網(wǎng)絡(luò)其映射函數(shù)f為f=φ(L)(φ(L-1)(…φ(1))),其中φ(l)表示來自第l個卷積層的映射函數(shù).來自不同層的參數(shù)卷積核權(quán)重k和偏置b決定了映射函數(shù)f,所以首先要解決這些參數(shù)的有效設(shè)置.本文使用交叉熵損失函數(shù)來訓(xùn)練這些參數(shù),其表達式為:
(4)
網(wǎng)絡(luò)訓(xùn)練時,隨機初始化各層的卷積核權(quán)重k和偏置b之后,迭代地通過前向傳播和反向傳播策略以更新那些參數(shù)直到收斂.對于前向傳播,首先計算每個輸入數(shù)據(jù)的類標簽y′,然后計算y′與真實類標簽y之間的交叉熵.最后,累積了訓(xùn)練集中所有數(shù)據(jù)的交叉熵.對于反向傳播,將所有卷積核權(quán)重k和偏置b的交叉熵損失(即累積交叉熵)最小化,采用具有最小損失值的那些作為更新的核權(quán)重和偏差.網(wǎng)絡(luò)測試時確定了核權(quán)重k和偏置b,將測試數(shù)據(jù)送入網(wǎng)絡(luò)并獲得輸出.
實驗是基于Tensorflow和Keras的開源框架下進行進行的,計算機配置為E5-2690十核CPU、Ubuntu16.04操作系統(tǒng)、128 G內(nèi)存以及3個NVIDIA Tesla K40 GPU計算節(jié)點.實驗是在高光譜遙感領(lǐng)域內(nèi)經(jīng)典的數(shù)據(jù)集Indian Pines數(shù)據(jù)集上進行的.Indian Pines是包含16類地物目標的高光譜圖像,由145×145個像素組成,每個像素包含200個光譜帶.實驗中所有網(wǎng)絡(luò)采用Adam[7]算法進行網(wǎng)絡(luò)參數(shù)的更新,初始化學(xué)習(xí)率為0.000 1,每當(dāng)25次迭代內(nèi)的損失函數(shù)不再下降,學(xué)習(xí)率降低10%,直到損失函數(shù)完全收斂.訓(xùn)練共迭代100次,每次批量處理32個樣本.每次實驗重復(fù)10,最后結(jié)果取10次的平均,避免一次實驗帶來的偶然性.
實驗將用3D-FCNN模型與目前高光譜圖像分類領(lǐng)域常用的傳統(tǒng)方法和已有的深度學(xué)習(xí)模型對比.對比所采用的傳統(tǒng)方法將使用SVM分類器,通過學(xué)習(xí)最佳決策超平面來分離高維特征空間中的訓(xùn)練樣本.使用神經(jīng)網(wǎng)絡(luò)的方法,構(gòu)造一個含有4個全連接層的神經(jīng)網(wǎng)絡(luò),相當(dāng)于一個多層感知器.最后還有卷積神經(jīng)網(wǎng)絡(luò)的方法,主要包括1D-CNN[3],2D-CNN[4]和3D-CNN[5].實驗還將采用不同的訓(xùn)練樣本數(shù)訓(xùn)練觀察3D-FCNN在不同訓(xùn)練樣本數(shù)量下的分類效果.對于IndianPines數(shù)據(jù)集,由于某些類別的樣本數(shù)量不足,我們采用從每一類中隨機抽取10%、15%、20%、30%、50%的訓(xùn)練樣本進行訓(xùn)練.
在不同模型對比實驗這組實驗中,3D-FCNN與傳統(tǒng)高光譜分類方法和其他深度模型方法進行了比較,對于IndianPines數(shù)據(jù)集,實驗結(jié)果如表1和圖3所示,表1給出了IndianPines數(shù)據(jù)集中16個類別中每一個類別的分類精度,還給出了OA、AA、K這3個指標的數(shù)值,圖3則是將分類結(jié)果直觀的顯示了出來.結(jié)合表1和圖3可以明顯看出本章提出的分類模型的得到的分類總體精度是最高的,達到了99.25%的分類精度.比另外一種使用三維卷積的方法(3D-CNN-98.66%)提升0.59%的分類精度,比2D-CNN、1D-CNN、NN、SVM分別高出3.98%、13.05%、14.48%、17.98%的分類精度.表1中分別列出了Indian Pines場景數(shù)據(jù)集中16個類別的單個分類精度、總體分類精度(OA)、平均準確度(AA)和Kappa統(tǒng)計量(K),從單個類別的分類精度來看,大多數(shù)類別的分類精度在使用本章分類方法時效果達到最佳,并且有7個類別的分類精度達到100%,總體分類精度(OA)、平均準確度(AA)和Kappa統(tǒng)計量(K)同樣高于其他幾種分類方法.從圖3也可以直觀的看出使用本文的方法獲得的分類錯誤的樣本數(shù)也是最少的.
圖3 50%訓(xùn)練樣本量下分類效果對比
表1 不同方法對Indian Pines場景數(shù)據(jù)集的分類效果
在不同訓(xùn)練樣本下各模型分類精度對比實驗中,采用不同的訓(xùn)練樣本量對模型進行訓(xùn)練然后測試,對比多種方法在相同訓(xùn)練樣本下的分類效果.IndianPines數(shù)據(jù)集在不同訓(xùn)練樣本下各個模型的分類結(jié)果如圖4所示.
圖4 不同訓(xùn)練樣本量下分類總體精度對比
從圖4可以看出,基于深度學(xué)習(xí)與非深度學(xué)習(xí)的方法隨著訓(xùn)練樣本量的增加,分類結(jié)果都不斷提高,這是很自然的事情,因為分類器可以訓(xùn)練更多的訓(xùn)練樣本,從而可以從數(shù)據(jù)中尋找更多的樣本之間的信息,信息的增多無疑是對提高精度非常有幫助的.然而,本文提出的模型在給定任何數(shù)量的訓(xùn)練樣本的情況下都能穩(wěn)定的優(yōu)于所有對比方法.從上述結(jié)果可以得出結(jié)論,所提出的方法具有優(yōu)于其方法的性能.
本文設(shè)計了一種3D-FCNN 的網(wǎng)絡(luò)框架,該框架包含卷積層和步長為S的卷積層,并將該框架用于高光譜圖像識別中,提出了一種基于3D-FCNN的高光譜目標識別方法.框架中使用的三維卷積相比二維卷積在提取光譜空間特征方面表現(xiàn)的效果更好,其次,用步長為S的卷積層替代池化層能有效減少信息丟失,用卷積層替代全連接層能減少訓(xùn)練的參數(shù),且易于模型收斂.為了進一步驗證模型的有效性,還針對Indian Pines高光譜數(shù)據(jù)進行了訓(xùn)練以及測試,實驗結(jié)果表明3D-FCNN模型能夠表現(xiàn)出比其他深度模型更好的識別性能.