池 濤 , 王 洋, 陳 明
(1.上海海洋大學(xué) 農(nóng)業(yè)部漁業(yè)信息重點(diǎn)實(shí)驗(yàn)室, 上海 201306;2. 喀什大學(xué)計(jì)算機(jī)科學(xué)技術(shù)學(xué)院, 喀什 944104)
高光譜影像HSI(hyperspectral image)[1]含有豐富的光譜信息和空間信息在空間觀測和目標(biāo)識(shí)別中有著重要地位. 它廣泛使用在現(xiàn)代軍事、精準(zhǔn)農(nóng)業(yè)以及環(huán)境監(jiān)控等諸多領(lǐng)域.
高光譜圖像分類[2]是高光譜影像處理和應(yīng)用的重要組成部分. 高光譜圖像包含了上百個(gè)光譜通道,并且具有高維特性、波段間高度相關(guān)性以及光譜混合等特性. 這使得高光譜圖像分類成為一個(gè)巨大的挑戰(zhàn). 由于光譜信號(hào)的高維度、不確定性、信息冗余以及表面覆蓋的異構(gòu)性和同質(zhì)性,使得高光譜數(shù)據(jù)結(jié)構(gòu)具有高度非線性的特征,這導(dǎo)致基于統(tǒng)計(jì)模式識(shí)別的分類模型難以直接分類和識(shí)別高光譜數(shù)據(jù). 同時(shí),樣本數(shù)量有限并且質(zhì)量好壞不一,從而導(dǎo)致分類器模型的參數(shù)難以估計(jì)或者估計(jì)不準(zhǔn)確. 在這些情況下,高光譜圖像的準(zhǔn)確分類需要建立復(fù)雜的數(shù)學(xué)模型,從而可以真實(shí)的反映數(shù)據(jù)的內(nèi)在本質(zhì). 模型訓(xùn)練過程需要繁瑣的預(yù)處理和后處理. 通過研究和實(shí)踐表明,傳統(tǒng)的遙感影像技術(shù)在分析高光譜圖像時(shí)無法解決高維數(shù)據(jù)小樣本識(shí)別、高光譜圖像分類精度等問題,目前機(jī)器學(xué)習(xí)、計(jì)算機(jī)視覺以及模式識(shí)別的理論和方法成為高光譜圖像分類的重要技術(shù)手段.
為了實(shí)現(xiàn)高效、高精度的高光譜圖像分類,曾在高光譜圖像上采用K鄰近算法、主成分分析(principal components analysis, PCA)、支持向量機(jī)SVM(support vector machine)等方法. 隨著特征提取和分類方法改進(jìn),提出了光譜空間分類法、局部Fisher判別法、U-Net卷積神經(jīng)網(wǎng)絡(luò)分割圖像法[2]等多種方法,取得了較好的結(jié)果. 其中,支持向量機(jī)SVM[3]被認(rèn)為是高效和魯棒性良好的方法,適用于小規(guī)模訓(xùn)練樣本. 它是一種監(jiān)督學(xué)習(xí)模型,通過非線性映射將樣本空間映射到一個(gè)高維甚至無窮維的特征空間(Hilbert空間)中. 將原始樣本空間中的非線性可分問題變成比原始樣本空間更高維度空間中的線性可分問題,并在高光譜圖像分類中有著良好的效率和正確率.
以卷積神經(jīng)網(wǎng)絡(luò)CNN(convolutional neural network)[4]為代表的深度學(xué)習(xí)技術(shù)在圖像分類和模式識(shí)別方面具有良好的性能. 隨著神經(jīng)網(wǎng)絡(luò)的發(fā)展,CNN越來越多的被應(yīng)用于高光譜數(shù)據(jù)的分類. 例如,多層感知器MLP(multilayer perception)[5]和徑向基函數(shù)RBF(radial basis function)[6]的應(yīng)用.
CNN方法在機(jī)器視覺方面分類效果優(yōu)于傳統(tǒng)的SVM分類器. 實(shí)際上,在高光譜圖像分類任務(wù)中,SVM在分類精度、時(shí)間復(fù)雜度和空間復(fù)雜度方面優(yōu)于傳統(tǒng)的神經(jīng)網(wǎng)絡(luò)的,但不能因此放棄神經(jīng)網(wǎng)絡(luò)這樣強(qiáng)大的工具. 在本文實(shí)驗(yàn)過程中,當(dāng)訓(xùn)練數(shù)據(jù)足夠大時(shí),本文提出的改進(jìn)型卷積神經(jīng)網(wǎng)絡(luò)的精度可以優(yōu)于SVM.
文獻(xiàn)[7]提出的卷積神經(jīng)網(wǎng)絡(luò)網(wǎng)絡(luò),只有Alexnet網(wǎng)絡(luò)參數(shù)的10%大小,在計(jì)算機(jī)視覺上的分類精度和算法效率上優(yōu)于Alexnet網(wǎng)絡(luò). 文獻(xiàn)[1]中將CNN直接應(yīng)用于高光譜分類中,本文通過實(shí)現(xiàn)該論文中方法作為改進(jìn)前CNN網(wǎng)絡(luò). 本文通過文獻(xiàn)[7]中提高卷積神經(jīng)網(wǎng)絡(luò)的非線性特征學(xué)習(xí)能力的改進(jìn)策略應(yīng)用對(duì)高光譜影像分類的CNN方法改進(jìn),改進(jìn)后的網(wǎng)絡(luò)結(jié)構(gòu)能夠有效提高對(duì)高光譜影像非線性特征的學(xué)習(xí)能力,有效提高分類精度[7].
針對(duì)高光譜圖像每個(gè)像素的不同頻譜的特征具有非線性,本文提出在傳統(tǒng)CNN網(wǎng)絡(luò)的基礎(chǔ)上通過改變卷積層感知器和激活函數(shù),并且引入批標(biāo)準(zhǔn)化層,實(shí)現(xiàn)多層局部感知網(wǎng)絡(luò)結(jié)構(gòu),增強(qiáng)其對(duì)非線性特征的學(xué)習(xí)能力.
2.1.1 多層感知器卷積層(Mlpconv layer) 經(jīng)典卷積神經(jīng)網(wǎng)絡(luò)中的卷積層實(shí)際使用線性濾波器對(duì)圖像進(jìn)行內(nèi)積運(yùn)算,與單層神經(jīng)網(wǎng)絡(luò)類似,卷積濾波器實(shí)際就是一種廣義線性模型GLM(generalize linear model), GLM的抽象能力相對(duì)較低. 例如Lenet-5[8]是一個(gè)經(jīng)典的卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),它的卷積層為線性濾波器.
線性卷積層假設(shè)其上層一個(gè)輸入為xm,步長為s,卷積核大小為k,激活函數(shù)為f,輸出為n(指代由一個(gè)樣本數(shù)據(jù)通過n個(gè)神經(jīng)元輸出n個(gè)數(shù)據(jù),在這里沒有給定具體數(shù)值僅僅代表這個(gè)變量與圖1中下標(biāo)n對(duì)應(yīng),以更好描述一個(gè)線性卷積層結(jié)構(gòu)和運(yùn)算過程,在2.2節(jié)中給出模型的具體數(shù)值),i代表0~n之間的第i個(gè)輸出數(shù)據(jù)或第i個(gè)神經(jīng)元;j代表輸出數(shù)據(jù)中第j個(gè)基本數(shù)據(jù);神經(jīng)元激活函數(shù)為f;權(quán)重矩陣W;偏置為b(每個(gè)神經(jīng)元由激活函數(shù)、權(quán)重矩陣和偏置三部分組成);T為轉(zhuǎn)置,該卷積層的過程如圖1所示.
圖1 線性卷積層Fig.1 Linear convolution layer
則線性卷積層中第i個(gè)神經(jīng)元的計(jì)算公式如下.
(1)
本文對(duì)卷積神經(jīng)網(wǎng)絡(luò)的卷積層進(jìn)行了較大的改進(jìn),使用MLP(多層感知器)作為卷積層模型,從而提高非線性特征學(xué)習(xí)能力. 在實(shí)際使用過程中,通過在經(jīng)典卷積層后增加兩層卷積核為1*1的卷積層實(shí)現(xiàn). 由于采用了Mlpconv卷積層,網(wǎng)絡(luò)在前面卷積階段特征提取效果提高,極大地減少了參數(shù)和過擬合風(fēng)險(xiǎn).
圖2 多層感知器卷積層Fig.2 Mlpconv layer
從圖2可以看到,Mlpconv卷積層網(wǎng)絡(luò)結(jié)構(gòu)就是在圖1的基礎(chǔ)上增加兩層卷積核為1*1,輸出為n,步長為1,相同激活函數(shù)的卷積層. 簡而言之,多層感知器卷積層使用Mlp網(wǎng)絡(luò)結(jié)構(gòu),對(duì)局部感受野的神經(jīng)元進(jìn)行更復(fù)雜的運(yùn)算操作,可以對(duì)非線性特征更加敏感,而線性卷積層,局部感受野的運(yùn)算僅僅只是一個(gè)單層的神經(jīng)網(wǎng)絡(luò).
2.1.2 激活函數(shù)層(activation function layer)所謂激活函數(shù)(activation function),就是在人工神經(jīng)網(wǎng)絡(luò)的神經(jīng)元上運(yùn)行的函數(shù),負(fù)責(zé)將神經(jīng)元的輸入映射到輸出端. 通過在激活函數(shù)給神經(jīng)元引入了非線性因素,從而使得神經(jīng)網(wǎng)絡(luò)可以更加逼近任何非線性函數(shù),這樣的神經(jīng)網(wǎng)絡(luò)就可以被應(yīng)用于更多的非線性模型中.
常用的Relu激活函數(shù)(the rectified linear unit),被使用于隱藏層神經(jīng)元輸出. 與線性激活函數(shù)相比,Relu激活函數(shù)克服了梯度消失、訓(xùn)練速度等問題,但在實(shí)驗(yàn)過程中,大量局部神經(jīng)元出現(xiàn)飽和情況(也稱神經(jīng)元死亡),無法有效學(xué)習(xí)特征. 因而本文方法采取Relu激活函數(shù)(the rectified linear unit)的變種,帶泄露線性整流(Leaky ReLU)[9]. 當(dāng)輸入x為負(fù)時(shí),帶泄露線性整流函數(shù)(Leaky ReLU)的梯度為一個(gè)常數(shù)λ∈(0,1),而不是0. 當(dāng)輸入為正時(shí),帶泄露線性整流函數(shù)和Relu激活函數(shù)保持一致. 數(shù)學(xué)表達(dá)方式:
(2)
本文使用MATLAB神經(jīng)網(wǎng)絡(luò)工具箱函數(shù)提供的默認(rèn)值0.01作為常數(shù)λ的取值,同時(shí)參考多數(shù)神經(jīng)網(wǎng)絡(luò)模型取較小的數(shù)值作為常數(shù)λ的取值就可以避免飽和現(xiàn)象. 通過實(shí)驗(yàn)測試,當(dāng)常數(shù)λ∈(0.005,0.1)時(shí)既可以避免飽和現(xiàn)象,同時(shí)加速模型收斂. 當(dāng)取值過大訓(xùn)練時(shí)間增加,當(dāng)取值過小則無法避免飽和現(xiàn)象影響正確率.
2.1.3 批標(biāo)準(zhǔn)化層(batch normalization) 本文在每個(gè)卷積層中激活函數(shù)層之前增加批標(biāo)準(zhǔn)化層(batch normalization)[10],實(shí)際過程表現(xiàn)為對(duì)卷積層的神經(jīng)元批量標(biāo)準(zhǔn)化處理,對(duì)于在非線性函數(shù)映射后不斷向取值區(qū)間飽和區(qū)靠攏的輸入分布強(qiáng)行映射到比較標(biāo)準(zhǔn)的正態(tài)分布,使非線性變換函數(shù)的輸入落入對(duì)輸入值比較敏感的取值區(qū)間,從而解決梯度消失問題. 設(shè)同一最小批次B有m個(gè)樣本:B={x1...m};神經(jīng)元激活函數(shù)為f;權(quán)重矩陣W; 偏置為b; 左箭頭符號(hào)為命題的“條件”運(yùn)算,一般可以根據(jù)實(shí)際數(shù)據(jù)再做調(diào)整,在本文中該符號(hào)與等號(hào)含義相同. 本文通過實(shí)驗(yàn)測試最小批次樣本數(shù)為96個(gè),可以使多數(shù)樣本數(shù)值調(diào)整到合理區(qū)間范圍內(nèi),能有效提取特征,提高訓(xùn)練模型分類精度.
最小批次B均值如下式.
(3)
最小批次B方差如下式.
(4)
標(biāo)準(zhǔn)化處理如下式.
(5)
卷積激活如下式
(6)
傳統(tǒng)線性卷積層中神經(jīng)元做卷積和激活操作,改進(jìn)后卷積層對(duì)同一神經(jīng)元同一批次做批標(biāo)準(zhǔn)化處理、然后在標(biāo)準(zhǔn)化后的樣本上進(jìn)行卷積和激活操作. 本文將批標(biāo)準(zhǔn)化層(batch normalization)引入卷積層中,可以增加訓(xùn)練速度,加快收斂過程,減小局部神經(jīng)元死亡風(fēng)險(xiǎn).
2.2.1 多層局部感知CNN網(wǎng)絡(luò)模型 卷積神經(jīng)網(wǎng)絡(luò)是一種人工神經(jīng)網(wǎng)絡(luò). 它實(shí)際上是一種前饋式神經(jīng)網(wǎng)絡(luò),一般包含卷積層(convolutional layers)、池化層(pooling layers)和全連接層(fully connect layers). 每個(gè)隱藏層神經(jīng)元通過連接輸入的一部分并非全連接,通過利用過濾器的局部敏感性實(shí)現(xiàn)模型對(duì)于目標(biāo)不同空間域的相關(guān)性的學(xué)習(xí). 經(jīng)典的卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)為LeNet-5,每個(gè)隱藏層連接一部分輸入圖像區(qū)域. 該網(wǎng)絡(luò)結(jié)構(gòu)受貓的腦部視覺皮層工作原理啟發(fā),通過模擬視覺皮層細(xì)胞對(duì)局部的視野非常敏感,敏感區(qū)域也是感受野,大量的感受野感受整個(gè)視野,同時(shí)這也會(huì)造成神經(jīng)元過多,參數(shù)過大問題,這些感受野通過共享權(quán)重的方式解決該問題. 對(duì)于大多數(shù)二維圖像識(shí)別的卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),輸入層之后是由卷積層和最大池化層交替疊加構(gòu)成,接近輸出層由全連接層構(gòu)成. 典型的卷積網(wǎng)絡(luò)結(jié)構(gòu)如圖3所示.
圖3 典型的卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)
在卷積神經(jīng)網(wǎng)絡(luò)中用多層感知器卷積層(Mlpconv Layer)代替線性卷積層(linear convolution layer)提高卷積神經(jīng)網(wǎng)絡(luò)對(duì)于非線性特征的學(xué)習(xí)能力. 改進(jìn)后卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)如圖4所示.
圖4 改進(jìn)后卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)Fig.4 Improved convolutional neural network structure
2.2.2 構(gòu)建增強(qiáng)非線性學(xué)習(xí)的CNN分類器 本文構(gòu)建的卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)如圖5,其中共包含7層,分別是輸入層、卷積層C1、卷積層C2、卷積層C3、最大池化層M4、全連接層FC5、輸出層. 設(shè)輸入尺寸為1*m1*1,其他各層輸出尺寸1*m2*1、1*m3*1、1*m4*1、1*m5*1、m6、m7.
圖5 多層局部感知CNN分類器Fig.5 Multi-layer local perceptual CNN classifier
高光譜圖像中的每一個(gè)像素樣本是一個(gè)三維矩陣,該矩陣的列數(shù)為1,行數(shù)m1為高光譜圖像頻譜的個(gè)數(shù)(以Pavia University數(shù)據(jù)為例,該數(shù)據(jù)集頻譜個(gè)數(shù)為115,但采用良好的103個(gè)頻段,所以行數(shù)為103),該數(shù)據(jù)同時(shí)是單通道所以通道數(shù)為1. 這樣構(gòu)造方式將一個(gè)像素點(diǎn)作為一張圖片識(shí)別. 因此輸入層為(1*m1*1),m1為頻譜的個(gè)數(shù). 卷積層C1是n個(gè)大小為(1*k)的卷積核構(gòu)成. 因此,該卷積層輸出1*m2*1*n. 最后輸出層n’,由識(shí)別物體種類決定;詳細(xì)網(wǎng)絡(luò)結(jié)構(gòu)及計(jì)算過程如表1和式(7)所示.
表1 多層局部感知CNN分類器
以下是各層尺寸計(jì)算公式.
(7)
本文提出的多層局部感知卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)有利于高效并且準(zhǔn)確地提取非線性特征. 但對(duì)于高光譜圖像分類,面臨另一個(gè)主要問題是如何建模和調(diào)整輸入層的數(shù)據(jù)格式.
在圖6~圖8中所展示的光譜信息,將Pavia University數(shù)據(jù)中每個(gè)像素點(diǎn)所包含的所有光譜通道融合成一條曲線反應(yīng)在二維坐標(biāo)值上. 橫坐標(biāo)表示103個(gè)譜段,縱坐標(biāo)代表每一個(gè)像素點(diǎn)該波段的幅值. 在圖6~圖8中很難直觀上判別不同地物的頻譜特征差別,但可以觀察到每一種地物的光譜曲線明顯不同于其他地物的光譜曲線.
圖6 瀝青道路像素的光譜信息Fig.6 Spectral information of asphalt road pixels
圖7 牧場像素的光譜信息Fig.7 Spectral information of pasture pixels
本文對(duì)高光譜圖像數(shù)據(jù)的分類處理方式為硬分類[11],將高光譜圖像中每個(gè)像素都賦予單個(gè)類別,劃分方式只要是通過像素的光譜特征和已知每個(gè)類別光譜特征的相似性來區(qū)分.
基于像素分類策略,通過各種方法分析和提取不同目標(biāo)物之間光譜域特征,調(diào)整數(shù)據(jù)輸入格式,對(duì)不同方法進(jìn)行測試.
以Pavia University數(shù)據(jù)集為例,對(duì)于該圖像640*340中的每個(gè)像素的103個(gè)譜段上的幅值組成1*103*1的矩陣作為輸入. 這種提取像素的方式,不考慮像素間的空間關(guān)系,僅僅通過每個(gè)像素在不同譜段的光譜信息特征提取用于分類.
2.4.1 正向傳播 多層局部感知卷積網(wǎng)絡(luò)結(jié)構(gòu)包含7層,輸入單元n1構(gòu)成輸入層,輸出單元n7構(gòu)成輸出層,此外隱藏單元包含卷積層C1、卷積層C2、卷積層C3、最大池化層M4和全連接層FC5. 設(shè)第i層的輸入為xi,也是第(i-1)層的輸出,數(shù)學(xué)表示如下式.
(8)
式(8)中,W是第i層的權(quán)重矩陣,對(duì)輸入進(jìn)行權(quán)重相乘;b為第i層的偏置矩陣;f為第i層的激活函數(shù). 卷積層C1、卷積層C2、卷積層C3和全連接層FC5適用.
2.4.2 動(dòng)量梯度下降方式反向傳播誤差更新權(quán)重 本文使用梯度下降算法反向傳播誤差進(jìn)行權(quán)重和偏置的更新. 首先我們先定義一個(gè)代價(jià)函數(shù)(誤差定義),如下.
(9)
式中,C被稱為二次代價(jià)函數(shù),也稱均分誤差或者M(jìn)SE;m為訓(xùn)練數(shù)據(jù)集的個(gè)數(shù);a:目標(biāo)值(對(duì)應(yīng)輸入x).
綜上,訓(xùn)練卷積神經(jīng)網(wǎng)絡(luò)的最終目標(biāo)是求出最小化二次代價(jià)函數(shù)C(w,b)的權(quán)重和偏置梯度下降算法對(duì)權(quán)重和偏置進(jìn)行訓(xùn)練使得代價(jià)函數(shù)最小化. 簡化的更新公式如下所示.
(10)
式中,右箭頭符號(hào)為命題的“條件”運(yùn)算;η為學(xué)習(xí)率.
同過迭代上述更新權(quán)重和偏置的公式,對(duì)每一 個(gè)輸入和目標(biāo)不斷訓(xùn)練參數(shù),從而使得最終代價(jià)函數(shù)最小化. 一般學(xué)習(xí)率設(shè)置在0.01左右,學(xué)習(xí)率過大或者過小都會(huì)使得模型無法達(dá)到預(yù)想的精度,當(dāng)加入batch normalization層后,可以增大學(xué)習(xí)率對(duì)精度影響變小,本文通過實(shí)驗(yàn)測試,將學(xué)習(xí)率調(diào)整為0.035.
為進(jìn)一步提高本文方法分類精度,引入加入動(dòng)量的梯度下降算法,從而進(jìn)一步提高訓(xùn)練出模型的精度. 改進(jìn)后的更新公式如下.
(11)
式中,t為更新的次數(shù),公式指代當(dāng)前更新的權(quán)重和偏置;γ為動(dòng)量,為考慮上次更新的權(quán)重、偏置與這次權(quán)重、偏置之間的因素對(duì)更新權(quán)重、偏置的影響. 增加動(dòng)量這個(gè)常數(shù). 本文采用默認(rèn)值0.9,通過增加動(dòng)量優(yōu)化后,進(jìn)一步提高了訓(xùn)練模型的分類精度.
本文算法在MATLAB2018b上運(yùn)行,PC機(jī)配置Intel(R)Core(TM)2 Duo CPU E7500,2.93 GHz處理器,ATI Radeon HD 3400 Series顯卡.
本文實(shí)驗(yàn)選用的常用的高光譜數(shù)據(jù)集為Pavia University數(shù)據(jù)和Salinas數(shù)據(jù)集[12]. 通過這種小訓(xùn)練樣本的方式,檢測該方法是否能夠提取不同目標(biāo)物像素點(diǎn)光譜域的有效特征. 在輸入前數(shù)據(jù)做z-score標(biāo)準(zhǔn)化,提高其他算法的計(jì)算速度和精度,同時(shí)加快神經(jīng)網(wǎng)絡(luò)梯度訓(xùn)練時(shí)候的收斂速度.
3.1.1 Pavia University數(shù)據(jù) Pavia University數(shù)據(jù)是由德國的機(jī)載反射光學(xué)光譜成像儀(reflective optics spectrographic imaging system,ROSIS-03)對(duì)帕維亞大學(xué)所拍攝的一部分高光譜數(shù)據(jù). 其中,光譜成像儀在0.43~0.86 μm 波長范圍內(nèi)的115個(gè)波段連續(xù)成像,空間分辨率為1.3 m. 其中剔除了12個(gè)受噪聲影響的波段,因此采用剩余103個(gè)光譜波段所呈的圖像. 該圖像的尺寸為 610×340,包含207 400個(gè)像素,但是其中包含164 624個(gè)背景像素,因而只有 42 776個(gè)包含地物的像素,這些像素中共有9類地物,包括樹(tree)、瀝青道路(asphalt)、牧場(meadows)、彩繪金屬板(painted metal sheets)等,詳細(xì)數(shù)據(jù)信息見表2.
表2 Pavia University高光譜數(shù)據(jù)集
3.1.2 Salinas數(shù)據(jù) Salinas數(shù)據(jù)是由 AVIRIS成像光譜儀所拍攝的美國加利福尼亞州的 Salinas山谷圖像. 該圖像的空間分辨率為3.7 m. 該圖像原本有 224個(gè)波段,因?yàn)樵肼曁蕹说?08~112,154~167,還有不能被水反射的第224個(gè)波段后剩下的204個(gè)波段的圖像. 該圖像的尺寸為512×217,因此包含 111 104個(gè)像素,其中包含56 975個(gè)背景像素,可用于分類的像素有54 129個(gè),這些像素總共分為 16類,包括休耕地(Fallow)、芹菜(Celery)等,詳細(xì)數(shù)據(jù)見表3.
本文為測試各個(gè)模型的時(shí)間與空間復(fù)雜度、過擬合程度和精度三個(gè)方面,從而設(shè)計(jì)了以下實(shí)驗(yàn).
(1) 實(shí)驗(yàn)中所用到的訓(xùn)練集的選擇方式如下.
訓(xùn)練集1 在每一類目標(biāo)物當(dāng)中隨機(jī)挑選400個(gè)像素點(diǎn)作為訓(xùn)練集.
訓(xùn)練集2 在每一類目標(biāo)物當(dāng)中隨機(jī)挑選一半像素作為訓(xùn)練集.
(2) 實(shí)驗(yàn)中所用到的測試集的選擇方式如下.
測試集1 在訓(xùn)練集1隨機(jī)挑選完后剩余像素中的每一類目標(biāo)物當(dāng)中隨機(jī)挑選200個(gè)像素點(diǎn)作為測試集.
測試集2 所有目標(biāo)物像素點(diǎn)作為測試集.
本文提出的多層感知卷積神經(jīng)網(wǎng)絡(luò)、改進(jìn)前原型和Linear-SVM三種方法形成對(duì)比,本文方法與改進(jìn)前原型的卷積核大小、參數(shù)設(shè)置、訓(xùn)練方法、訓(xùn)練批次、批次大小等方面完全一致. Linear-SVM和其他方法未進(jìn)行參數(shù)優(yōu)化. Linear-SVM和RBF-SVM使用的是MATLAB中統(tǒng)計(jì)和機(jī)器學(xué)習(xí)工具箱實(shí)現(xiàn).
卷積神經(jīng)網(wǎng)絡(luò)都采用動(dòng)量梯度下降算法,圖9展示本文方法在訓(xùn)練集1上的訓(xùn)練過程,其中包含正確率和損失率.
表3 Salinas高光譜數(shù)據(jù)集
表4表明,在小樣本分類中,本文方法相對(duì)于改進(jìn)前CNN在精度上有著明顯提高,同時(shí)略微優(yōu)于傳統(tǒng)高光譜分類的Linear-SVM方法. 測試結(jié)果說明,在小規(guī)模訓(xùn)練樣本情況下,本文改進(jìn)策略有效提高了卷積神經(jīng)網(wǎng)絡(luò)高光譜分類的精度. 同時(shí)說明本文改進(jìn)策略提高了模型對(duì)非線性特征的提取能力.
表4不同數(shù)據(jù)集的三種算法對(duì)比結(jié)果測試結(jié)果(訓(xùn)練集1和測試集1)
Tab.4Threealgorithmcomparisonresultstestresultsofdifferentdatasets
數(shù)據(jù)集1改進(jìn)前CNN精度/%Linear-SVM精度/%本文方法精度/%Pavia University86.3290.0090.23Salinas87.2191.0091.52
圖9 本文方法訓(xùn)練過程Fig.9 Method training process
表5對(duì)于訓(xùn)練集1和測試集1各個(gè)方法的性能對(duì)比(PaviaUniversity數(shù)據(jù)集)
Tab.5Performancecomparisonofeachmethodoftrainingset1andtestset1
方法訓(xùn)練時(shí)間 /s測試時(shí)間 /s精度 /%本文方法132.000.3190.23改進(jìn)前CNN86.000.2886.34LeNet-561.000.2987.94KNN(k=7最優(yōu))031.4283.86Linear-SVM11.150.4890.00RBF-SVM4.063.2582.39
在表5中,本文方法相對(duì)于改進(jìn)前CNN訓(xùn)練時(shí)間增加,有更多的網(wǎng)絡(luò)參數(shù)需要計(jì)算. 在僅增加0.03 s情況下提高了模型的分類精度. 同時(shí)在分類時(shí)間幾乎相等情況下,在精度上擊敗了經(jīng)典的卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)LeNet-5. 相對(duì)于傳統(tǒng)的SVM在小樣本分類中不僅分類速度上和分類精度上都有明顯改進(jìn).
表6對(duì)于訓(xùn)練集1和測試集2各個(gè)方法的性能對(duì)比(PaviaUniversity數(shù)據(jù)集)
Tab.6Performancecomparisonofeachmethodoftrainingset1andtestset2
方法訓(xùn)練時(shí)間/s測試時(shí)間/s精度/%本文方法180.068.4686.52改進(jìn)前CNN87.566.5280.66LeNet-565.004.0279.49Linear-SVM7.925.8787.74
將測試集1替換成測試集2得出的表6實(shí)驗(yàn)結(jié)果. 在表6中,所有模型的分類精度都有下降,出現(xiàn)不同程度過擬合現(xiàn)象. 本文方法,隨著測試集增大,測試時(shí)間相對(duì)于其他模型增長稍大,實(shí)際使用過程中依然可以接受. 傳統(tǒng)SVM依然能保持良好高效的性能.
表7量化過擬合現(xiàn)象,過擬合程度數(shù)值由第二列減第三列的差值然后與第三列的比值得出. 在小樣本訓(xùn)練集情況下,傳統(tǒng)SVM能有效提取數(shù)據(jù)特征,本文方法相對(duì)于其他傳統(tǒng)卷積神經(jīng)網(wǎng)絡(luò)大大減小了過擬合程度,多層局部感知結(jié)構(gòu)能有效提高對(duì)非線性特征的提取能力.
表7 對(duì)于訓(xùn)練集1各個(gè)方法的過擬合程度
表8對(duì)于訓(xùn)練集2和測試集2各個(gè)方法的性能對(duì)比(PaviaUniversity數(shù)據(jù)集)
Tab.8Performancecomparisonofeachmethodoftrainingset2andtestset2
訓(xùn)練2測試得到表8實(shí)驗(yàn)結(jié)果,通過增大訓(xùn)練集卷積神經(jīng)網(wǎng)絡(luò)可以達(dá)到更高的分類精度,多層局部感知神經(jīng)網(wǎng)絡(luò)相對(duì)于其他神經(jīng)網(wǎng)絡(luò)在高光譜圖像分類上有著更高的精度,有著更好的非線性特征提取能力. SVM依然有著高效性能和分類精度,但無法提取更多的特征.
圖10 Pavia University數(shù)據(jù)集目標(biāo)可視化Fig.10 Pavia University dataset target visualization
綜合上述實(shí)驗(yàn)結(jié)果說明,SVM在小規(guī)模訓(xùn)練樣本上的計(jì)算成本和訓(xùn)練時(shí)間都是有著較高優(yōu)勢,但是隨著訓(xùn)練集增大,精度無法做到最優(yōu),并且需要參數(shù)優(yōu)化,才能達(dá)到較好的精度. 改進(jìn)前CNN方法和LeNet-5在小規(guī)模訓(xùn)練樣本上,不能達(dá)到良好的分類精度. 在較大規(guī)模訓(xùn)練樣本情況下,神經(jīng)網(wǎng)絡(luò)有著更高的分類精度. 隨著訓(xùn)練集增大,可以學(xué)習(xí)到更多的有效特征. 本文提出多層局部感知神經(jīng)網(wǎng)絡(luò)能更加有效提取樣本光譜特征,同時(shí)也隨著訓(xùn)練集增大,精度能有效提高. 相比傳統(tǒng)的LeNet-5深度學(xué)習(xí)網(wǎng)絡(luò)和SVM,本文提出的方法無論在小樣本分類和大樣本分類都能有效提取特征,相對(duì)于改進(jìn)前的CNN分類器和LeNet-5在精度上有著明顯提升[13].
圖11~圖13展示各種方法在訓(xùn)練集2訓(xùn)練下的測試集2的測試可視化結(jié)果.
圖11 Linear-SVM預(yù)測結(jié)果92.40%精確度
Fig.11 Linear-SVM prediction results 92.40% accuracy
圖12 LeNet-5預(yù)測結(jié)果96.64%精確度Fig.12 LeNet-5 forecast results 96.64% accuracy
圖13 本文方法預(yù)測結(jié)果97.23%精確度Fig.13 This method predicts 97.23% accuracy
本文在Pavia University數(shù)據(jù)和Salinas數(shù)據(jù)集上進(jìn)行多種方法測試,SVM在小樣本訓(xùn)練中有著有效提取特征的能力,本文通過對(duì)傳統(tǒng)卷積神經(jīng)網(wǎng)絡(luò)進(jìn)行改進(jìn)確實(shí)有效提高了在小樣本和大樣本訓(xùn)練時(shí)的非線性特征學(xué)習(xí)能力,都達(dá)到最佳的精度. 在較大規(guī)模訓(xùn)練樣本時(shí),卷積神經(jīng)網(wǎng)絡(luò)有著良好的進(jìn)一步學(xué)習(xí)能力. LeNet-5網(wǎng)絡(luò)結(jié)構(gòu)在大訓(xùn)練樣本時(shí)表現(xiàn)出高效的分類精度,表明深度學(xué)習(xí)網(wǎng)絡(luò)在高光譜圖像分類上有著良好的潛力[14].
下一步,將U-net網(wǎng)絡(luò)和NIN網(wǎng)絡(luò)結(jié)構(gòu)應(yīng)用于高光譜分類中,進(jìn)一步提高分類精度同時(shí)避免過擬合,在考慮新的分類策略,通過軟分類方式考慮像素空間域和光譜域相關(guān)性特征,更進(jìn)一步提高分類精度[15].