于慧伶, 霍鏡宇, 張怡卓, 蔣 毅
(1.東北林業(yè)大學(xué) a.信息與計(jì)算機(jī)工程學(xué)院; b.機(jī)電工程學(xué)院,哈爾濱 150040; 2.黑龍江省計(jì)算中心,哈爾濱 150001)
城市植被是城市平衡、協(xié)調(diào)發(fā)展的重要組成部分,對(duì)構(gòu)建生態(tài)城市起著舉足輕重的作用。近年來(lái),隨著高光譜技術(shù)的發(fā)展,高光譜技術(shù)已經(jīng)廣泛地應(yīng)用于城市植被的精確獲取和動(dòng)態(tài)監(jiān)測(cè)[1]。高光譜圖像具有數(shù)據(jù)量大、數(shù)據(jù)維數(shù)高和數(shù)據(jù)冗余性強(qiáng)等特點(diǎn)[2]。如果直接對(duì)獲取的用于城市植被提取的高光譜圖像數(shù)據(jù)進(jìn)行分類,龐大的數(shù)據(jù)量不僅會(huì)影響運(yùn)行的速度,也會(huì)降低分類器的泛化能力,影響分類的精度,從而無(wú)法得到理想的分類結(jié)果[3]。高光譜圖像分類常常需要先進(jìn)行數(shù)據(jù)降維等預(yù)處理操作[4]。
目前,高光譜圖像降維主要分為線性降維和非線性降維兩類。線性降維主要包括主成分分析法(Principal Component Analysis,PCA)和線性判別式分析(Linear Discriminant Analysis,LDA)及相應(yīng)的改進(jìn)算法等[5]。非線性降維主要包括局部線性嵌入算法(Locally Linear Embedding,LLE)和等距離映射算法(Isometric Mapping,Isomap)及相應(yīng)的改進(jìn)算法等[6]。白楊等[7]提出了一種改進(jìn)的K2DPCA方法,但這種方法需要較多的主成分來(lái)重新構(gòu)建原始的高光譜圖像,降維效果并不理想。張鵬強(qiáng)等[8]提出了基于核半監(jiān)督判別分析的方法,在訓(xùn)練樣本較少的情況下可以將特征空間中的樣本數(shù)據(jù)更好地聚類,但是在訓(xùn)練樣本較多的情況下,該算法的分類精度不是很高。楊磊等[9]利用基于流形學(xué)習(xí)的非線性降維算法對(duì)高光譜圖像進(jìn)行特征提取,實(shí)驗(yàn)結(jié)果表明,Isomap算法降維時(shí)間較長(zhǎng),LLE和拉普拉斯特征映射算法(Laplacian Eigenmaps,LE)需要更多的特征波段才能得到較好的分類效果。吳東洋等[10]對(duì)于高光譜圖像降維和分類提出了多流形LE算法,但在度量同一類之間的權(quán)值時(shí)不準(zhǔn)確。
流形學(xué)習(xí)中的t-分布式隨機(jī)鄰域嵌入算法(t-Distributed Stochastic Neighbor Embedding,t-SNE)是可以用來(lái)可視化數(shù)據(jù)降維的一種方法[11]。該算法不僅能將流型上的附近點(diǎn)映射到低維表示中的附近點(diǎn),還能保留所有尺度的幾何形狀,即將附近的點(diǎn)映射到附近的點(diǎn),將遠(yuǎn)處的點(diǎn)映射到遠(yuǎn)處的點(diǎn),但是該算法內(nèi)存占用大,運(yùn)行時(shí)間較長(zhǎng)。如果在保持基本上不丟失信息的前提下,先利用PCA算法對(duì)高光譜圖像進(jìn)行初步的降維,然后再利用t-SNE算法進(jìn)行二次降維處理,可以提高運(yùn)算效率。本文將PCA與t-SNE降維方法融合用于城市植被信息提取的高光譜圖像降維,然后利用支持向量機(jī)(Support Vector Machine,SVM)分類,完成對(duì)城市植被分布信息的精準(zhǔn)獲取。
PCA可以將原始的高光譜圖像從多個(gè)波段轉(zhuǎn)化為少數(shù)幾個(gè)具有綜合性的波段,盡可能去除波段之間的相關(guān)性[12],減少波段的數(shù)目,從而實(shí)現(xiàn)高光譜圖像的降維處理。
給定高光譜圖像的樣本數(shù)為m,波段數(shù)目為n,可以用矩陣X來(lái)表示此m×n個(gè)數(shù)據(jù)。
(1)
式中,xmn代表第m個(gè)樣本中第n個(gè)波段的數(shù)值。
通過(guò)對(duì)X進(jìn)行標(biāo)準(zhǔn)化得到矩陣A;接著,計(jì)算A的協(xié)方差矩陣R;計(jì)算協(xié)方差矩陣R的特征值以及相應(yīng)的特征向量和確定所要降到的低維空間的維數(shù)w,從而輸出所要的主成分。
t-SNE算法是一種利用概率進(jìn)行降維分析的方法[13],它將高維空間中任意兩個(gè)數(shù)據(jù)點(diǎn)間的歐氏距離轉(zhuǎn)換為相似概率,并且用高維空間數(shù)據(jù)點(diǎn)和對(duì)應(yīng)低維空間模擬的數(shù)據(jù)點(diǎn)之間的聯(lián)合概率代替了隨機(jī)鄰域嵌入算法(Stochastic Neighbor Embedding,SNE)中的條件概率,從而解決SNE算法中不對(duì)稱的問(wèn)題[14]。另外,該算法在低維空間中采用t分布,t分布是一種典型的長(zhǎng)尾分布,可以使高維度下中低等距離的數(shù)據(jù)點(diǎn)在映射后有一個(gè)較大的距離,從而有效解決低維空間中數(shù)據(jù)點(diǎn)擁擠的問(wèn)題。
對(duì)于給定高光譜圖像數(shù)據(jù)X是m行n列的矩陣,它的另一種表現(xiàn)形式{x1,x2,…,xs,…,xm}。式中,xs=[xs1,xs2,…,xsn],s=1,2,…,m。
步驟1計(jì)算n維空間下高光譜圖像聯(lián)合概率pef。
n維空間的數(shù)據(jù)點(diǎn){x1,x2,…,xs,…,xm}兩兩之間的相似條件概率pe|f和pf|e:
(2)
(3)
式中,σe是以數(shù)據(jù)點(diǎn)xe為中心的高斯分布的方差。
高維空間聯(lián)合概率可以表示為:
(4)
步驟2計(jì)算低維空間下高光譜圖像聯(lián)合概率qef。
因?yàn)閠-SNE算法在低維空間采用的是t分布,自由度為1,低維空間的數(shù)據(jù)點(diǎn){z1,z2,…,zm}之間的聯(lián)合分布qef可以表示為
(5)
步驟3計(jì)算pef和qef之間的KL散度,將其設(shè)為目標(biāo)函數(shù)C,即:
(6)
步驟4用目標(biāo)函數(shù)C對(duì)輸入數(shù)據(jù)對(duì)應(yīng)的低維表達(dá)式進(jìn)行求導(dǎo),如式(7)所示,并把該低維表達(dá)式作為可優(yōu)化變量進(jìn)行尋優(yōu),得到輸入值在低維空間內(nèi)的最佳模擬點(diǎn)。
(7)
步驟5為了獲得最小的C,可以對(duì)原始數(shù)據(jù)進(jìn)行多次的迭代運(yùn)算,通過(guò)不斷調(diào)整迭代次數(shù)n_iter、學(xué)習(xí)率learning_rate,降低結(jié)果的誤差。
步驟6定義困惑度perplexity。
由步驟1可知,σe是以數(shù)據(jù)點(diǎn)xe為中心的高斯分布的方差,任何特定值σe在所有其他數(shù)據(jù)點(diǎn)上都會(huì)誘發(fā)概率分布Pe。該分布會(huì)隨著σe的增加而增加。t-SNE算法使用困惑度perplexity的概念,用二分搜索的方式尋找一個(gè)最佳的σe。其中困惑度定義為:
Perp(Pe)=2H(Pe)
(8)
式中,H(Pe)是以比特字節(jié)測(cè)量的香農(nóng)熵,
(9)
perplexity是控制擬合的主要參數(shù),會(huì)影響高維空間中高斯分布的復(fù)雜度,所以需要不斷調(diào)整perplexity的大小,輸出最優(yōu)的降維結(jié)果。
SVM的基本思想是尋找一個(gè)分類的最優(yōu)超平面,使得離最優(yōu)超平面比較近的點(diǎn)能有更大的間距[15],進(jìn)而將訓(xùn)練樣本中的兩類樣本能夠很好地分開(kāi)。
支持向量機(jī)中的核函數(shù)主要有線性核,多項(xiàng)式核,徑向基核以及Sigmoid核。在4種核函數(shù)中,RBF核函數(shù)可以應(yīng)用到低維、高維、小樣本、大樣本等情況[16],所以,本文實(shí)驗(yàn)選用徑向基函數(shù)(RBF),其核函數(shù)如下:
(10)
式中:a為空間中的任意一點(diǎn);a′為核函數(shù)的中心;b為函數(shù)的寬度參數(shù)。
步驟1采用PCA對(duì)X進(jìn)行初步的降維處理,設(shè)方差貢獻(xiàn)率為95%時(shí),得到d個(gè)特征值,將d個(gè)特征值對(duì)應(yīng)的特征向量(主成分)作為PCA算法的低維輸出數(shù)據(jù)Y。
步驟2然后,使用t-SNE算法二次降維處理,將d維特征向量映射到s維空間中得到低維數(shù)據(jù)T。
在實(shí)驗(yàn)的過(guò)程中,為了提高降維的效果,更好地提取城市植被高光譜圖像的本質(zhì)特征,通過(guò)多次試驗(yàn)尋找最優(yōu)的參數(shù)perplexity,learning_rate以及n_iter。
步驟3最后,將降維后的特征矩陣T作為SVM算法的輸入矩陣,選取RBF作為核函數(shù),通過(guò)gridsearch方法找到最優(yōu)參數(shù)c和gamma,最終得到泛化能力最好的分類結(jié)果。
該方法的流程圖如圖1所示。
圖1 流程圖
采用肯尼迪航天中心(Kennedy Space Center,KSC)的地物高光譜遙感影像數(shù)據(jù)集為實(shí)驗(yàn)對(duì)象。該地物高光譜遙感影像大小為512×614像素,其空間分辨率能夠達(dá)到18 μm,采用的光譜范圍為0.4~2.5 μm,共包含了176個(gè)波段,影像覆蓋了美國(guó)Florida Kennedy附近的地物信息。圖2是KSC高光譜遙感影像,圖3是KSC數(shù)據(jù)集地物理想分類以及各類地物分布和名稱。
圖2 KSC高光譜遙感影像
圖3 KSC數(shù)據(jù)集地物分類及名稱
KSC高光譜圖像類別信息如表1所示,標(biāo)記的樣本總數(shù)為5 211,樣本集共13類。
表1 KSC高光譜圖像類別信息
實(shí)驗(yàn)采用的計(jì)算機(jī)配置是i7-6700 CPU,12 G RAM,軟件為Spyder(3.2.6)。
(1) 高光譜圖像特征提取。圖4是基于PCA算法降維后的可視化結(jié)果,從中可以看出,雖然有一部分呈線性分布,但是仍出現(xiàn)嚴(yán)重重疊的情況,無(wú)任何規(guī)律,沒(méi)有明顯特征和聚類。PCA算法特征提取的運(yùn)行時(shí)間為8 s。
圖4 基于PCA算法降維后的可視化結(jié)果
圖5是基于t-SNE算法降維后的可視化結(jié)果。在運(yùn)用t-SNE進(jìn)行特征提取時(shí),perplexity,learning_rate以及n_iter會(huì)影響降維后的效果和結(jié)果的誤差。通常情況下,perplexity在5~50之間,learning_rate在10~1 000之間,n_iter至少為250,采用實(shí)驗(yàn)方法確定參數(shù)的取值,perplexity(per)的值選取為5、30、50,learning_rate(lr)的值選取為10、200、1 000,n_iter(ni)的值選取為250、1 000、3 000,總共對(duì)高光譜圖像進(jìn)行了27次的降維試驗(yàn)。圖5列出了部分降維后的圖像。
圖5 基于t-SNE算法降維后的可視化結(jié)果
從圖5可以看出,在perplexity=30,learning_rate=200,n_iter=1 000時(shí),同一類之間距離較近,聚集能力較強(qiáng);不同類之間的距離較遠(yuǎn),聚集能力較弱;重疊情況也不是很嚴(yán)重。由此可以看出,在此參數(shù)下的降維結(jié)果最為理想,t-SNE算法特征提取的運(yùn)行時(shí)間為94 s。
圖6是基于PCA-t-SNE算法降維后的可視化結(jié)果。首先,采用PCA算法進(jìn)行主成分分析,表2中顯示的是主成分貢獻(xiàn)率和累計(jì)貢獻(xiàn)率的值,可以看到第一階主成分貢獻(xiàn)率最高達(dá)到61.1%,此后各階主成分貢獻(xiàn)率逐漸遞減,當(dāng)累計(jì)貢獻(xiàn)率達(dá)到95%時(shí),階數(shù)達(dá)到11,從而獲取相應(yīng)的特征向量。
圖6 基于PCA-t-SNE算法降維后的可視化結(jié)果
階數(shù)貢獻(xiàn)率/%累計(jì)貢獻(xiàn)率/%階數(shù)貢獻(xiàn)率/%累計(jì)貢獻(xiàn)率/%161.161.170.992.4218.579.680.893.237.186.790.793.942.288.9100.694.551.590.4110.595.061.191.5
其次,運(yùn)用t-SNE算法再對(duì)11維特征向量進(jìn)行降維處理。在經(jīng)過(guò)27種不同參數(shù)組合的試驗(yàn)后,同樣在perplexity=30,learning_rate=200,n_iter=1 000時(shí),能很好地提取到高光譜圖像的本質(zhì)特征。由圖8可見(jiàn),類內(nèi)距離更小,類間距離更大,降維效果較為理想,圖6是PCA-t-SNE算法特征提取后的可視化結(jié)果,運(yùn)行時(shí)間為46 s。
綜上所述,由3種算法的降維運(yùn)行時(shí)間可以看出,PCA算法的運(yùn)算速率高、運(yùn)行時(shí)間短;t-SNE算法內(nèi)存占用大、運(yùn)行速率低、運(yùn)行時(shí)間長(zhǎng);PCA算法與t-SNE算法結(jié)合后,可以有效減少降維運(yùn)行時(shí)間,運(yùn)行時(shí)間為46 s,與t-SNE算法相比減少了48 s。
(2) 高光譜圖像分類。在樣本中隨機(jī)選取60%的標(biāo)記樣本作為訓(xùn)練樣本建立SVM城市植被識(shí)別模型,另外40%的標(biāo)記樣本作為測(cè)試樣本。其中,SVM算法的c和gamma均在{2-10,…,210}范圍內(nèi),在實(shí)驗(yàn)的過(guò)程中可以通過(guò)gridsearch方法獲得相應(yīng)的最優(yōu)參數(shù),參數(shù)如表3所示。
表3 SVM最優(yōu)參數(shù)
圖7是實(shí)際分類的效果圖,紅色框所圈區(qū)域?yàn)榉诸愬e(cuò)誤的主要區(qū)域。從圖7(a)中可以看出分類的效果不是很理想,存在很多的噪聲散點(diǎn);從圖7(b)中可以看出,噪聲散點(diǎn)相對(duì)減少,分類效果較為理想;從圖7(c)中可以看出,噪聲散點(diǎn)最少,分類效果最理想。實(shí)驗(yàn)表明PCA-t-SNE-SVM具有良好的識(shí)別效果。
圖7 實(shí)際分類效果圖
(3) 結(jié)果分析。OA定義為正確分類的樣本數(shù)與所有分類樣本數(shù)的比值。3種算法的OA如表4所示,PCA-t-SNE-SVM的總體分類精度最高,達(dá)到92.06%,與PCA-SVM,t-SNE-SVM相比,分別提高了13.51%,3.33%。t-SNE-SVM與PCA-SVM相比,總體的分類精度提高了10.18%。由此可以看出,t-SNE算法可以有效解決數(shù)據(jù)點(diǎn)在二維空間的擁擠問(wèn)題,進(jìn)而提高了高光譜圖像的分類精度。
Kappa系數(shù)表示的是地物分布結(jié)果與真實(shí)地物分布之間的相似度??傮w分類精度過(guò)于依賴類別數(shù)和樣本,而Kappa系數(shù)能夠考慮各種漏分和錯(cuò)分的樣本。公式如下:
(11)
式中:r為混淆矩陣的行數(shù)或者列數(shù);xi+和x+i分別代表各行與各列之和;xii是i行i列(混淆矩陣對(duì)角線)的值即被正確分類的樣本數(shù)。通常Kappa系數(shù)在0~1間。
PCA,t-SNE與融合算法下的Kappa系數(shù)值如表4所示。由表4可以看出,PCA-t-SNE-SVM錯(cuò)分的樣本數(shù)最少,Kappa系數(shù)最高,達(dá)到0.91,與PCA-SVM,t-SNE-SVM相比,分別提高了0.15,0.04。t-SNE-SVM與PCA-SVM相比,Kappa系數(shù)提高了0.11。由此可以看出,改進(jìn)的算法可以有效減少由“同物異譜”或“異物同譜”導(dǎo)致的錯(cuò)分現(xiàn)象的產(chǎn)生,進(jìn)而提高用于城市植被信息提取的高光譜圖像的分類效果。
表4 不同算法的分類結(jié)果
Ci為各類別的分類精度。在3種算法下的各類別Ci的分類精度如圖8所示,橫坐標(biāo)為類別,縱坐標(biāo)為各類別Ci的分類精度的百分比。
圖8 各類別Ci的分類精度
PCA-t-SNE-SVM最優(yōu)分類類別的分類精度與最差分類類別的分類精度相差31.58%,而t-SNE-SVM兩者相差41.23%,PCA-SVM兩者相差79.73%,這一定程度上說(shuō)明PCA-t-SNE-SVM對(duì)類間光譜特性差異性相對(duì)魯棒;從這13類分類性能變化趨勢(shì)來(lái)看,影響分類精度的一個(gè)關(guān)鍵因素是地物本身的光譜特性;從這3種分類算法中可以看出,對(duì)C1,C11,C13都具有較高的分類精度,而對(duì)于C5,C6都具有較低的分類精度。
本文根據(jù)PCA與t-SNE的問(wèn)題及自身的優(yōu)劣特點(diǎn),提出了將PCA與t-SNE算法結(jié)合對(duì)高光譜圖像進(jìn)行降維的方法,并建立了基于SVM的城市植被識(shí)別模型。該方法在保留有用信息的基礎(chǔ)上,利用PCA算法快速地實(shí)現(xiàn)一次降維,應(yīng)用t-SNE算法二次降維優(yōu)選出關(guān)鍵特征,運(yùn)用SVM算法實(shí)現(xiàn)城市植被的識(shí)別。實(shí)驗(yàn)結(jié)果表明: PCA-SVM雖然在特征提取的時(shí)間上有明顯優(yōu)勢(shì),但是對(duì)高光譜圖像的分類效果不好;t-SNE-SVM可以較好地實(shí)現(xiàn)對(duì)高光譜圖像的分類,但是特征提取時(shí)間長(zhǎng),運(yùn)算速率明顯下降;基于PCA與t-SNE特征降維的SVM城市植被識(shí)別方法可以有效地提取高光譜圖像的本質(zhì)特征,降低特征提取的時(shí)間,提高高光譜圖像的分類精度,通過(guò)與PCA-SVM和t-SNE-SVM進(jìn)行比較,驗(yàn)證了特征融合降維方法在時(shí)間和分類精度的明顯優(yōu)勢(shì)。
t-SNE算法中的perplexity,learning_rate,n_iter設(shè)置會(huì)對(duì)降維的效果造成影響,后續(xù)將會(huì)研究一種最優(yōu)參數(shù)自動(dòng)匹配的方法,能根據(jù)樣本的復(fù)雜性和特性自動(dòng)調(diào)整參數(shù)的大小,從而獲得更好的城市植被分類識(shí)別效果。