田洪晨,王立國,趙亮,陳春雨
哈爾濱工程大學(xué) 信息與通信工程學(xué)院,黑龍江 哈爾濱 150001
高光譜遙感是用數(shù)十至數(shù)百個連續(xù)且細分的光譜波段對地物持續(xù)遙感成像的技術(shù)。隨著高光譜遙感技術(shù)的不斷發(fā)展和成熟,高光譜遙感技術(shù)在軍事偵查,礦產(chǎn)勘探偵測,農(nóng)業(yè)、林業(yè)病蟲害監(jiān)測,漁業(yè)、畜牧業(yè)養(yǎng)殖等方面都取得了很大突破[1]。高光譜遙感具有波段多、獲得的數(shù)據(jù)量大、相鄰波段間相關(guān)性強的特點,導(dǎo)致數(shù)據(jù)之間冗余量大,從而給高光譜遙感圖像分類帶來了很大的困難[2]?;谶@些難點,國內(nèi)外學(xué)者就如何快速、準(zhǔn)確地對高光譜遙感圖像地物目標(biāo)分類進行了一系列的研究[3-5]。常用的高光譜遙感圖像分類按照對于地物分類時是否需要訓(xùn)練樣本,可以大致分為無監(jiān)督分類[6]、監(jiān)督分類[7]與半監(jiān)督分類[8]。對于無監(jiān)督分類,其優(yōu)點為不需要標(biāo)記與訓(xùn)練。這使得無監(jiān)督分類在對于數(shù)據(jù)處理上比較快速。但是由于高光譜數(shù)據(jù)波段間相關(guān)性強,只進行無監(jiān)督分類,會造成高光譜數(shù)據(jù)所含大量信息未被完全使用,分類效果并不理想。而監(jiān)督分類需要的標(biāo)記訓(xùn)練樣本較多,并且標(biāo)記過程繁瑣、耗時,成本昂貴[9]。針對此類問題,半監(jiān)督分類在已知類別標(biāo)記的訓(xùn)練樣本不足的情況下,將未知類別的樣本引入訓(xùn)練過程,自動地利用未標(biāo)記樣本提升分類性能[10]。
就分類器而言,支持向量機(support vector machine,SVM)[11]是基于統(tǒng)計學(xué)習(xí)理論的基礎(chǔ)上于1995年提出的,其效果得到廣泛好評。SVM的核心思想是把樣本通過非線性映射方式將其投影到高維特征空間,以結(jié)構(gòu)風(fēng)險最小化原理為其原則,在高維特征空間中構(gòu)造一個最優(yōu)分類超平面。最小二乘孿生支持向量機算法(least squares twin support vector machines,LSTSVM)[12]是在 SVM的基礎(chǔ)上發(fā)展起來的分類工具,打破SVM類別邊界平行分布的限制,尋找2個不平行的分類超平面,并使用等式代替不等式,分類效果得到進一步提升。
高光譜圖像維數(shù)高、數(shù)據(jù)計算量大,給后續(xù)的分類處理造成困難。針對此問題,本文提出了一種融合波段選擇和半監(jiān)督分類的分類算法GADE_LSTSVM,使用LSTSVM作為分類工具,并在分類前加入波段選擇過程,減少樣本冗余波段,從而能夠更快地從無標(biāo)記樣本中選取信息量豐富的樣本。該算法使用遺傳算法(genetic algorithm,GA)全局搜索最優(yōu)波段組合,再使用差分進化算法(differential evolution,DE)選取未標(biāo)記樣本內(nèi)信息量豐富的樣本添加標(biāo)記。波段選擇方法減少冗余波段,提高了無標(biāo)記樣本中信息量豐富的樣本的選取速率;輔助差分進化算法選取出的信息量豐富的未標(biāo)記樣本放入訓(xùn)練樣本集,進而提高整個算法的分類精度。
LSTSVM算法是在SVM的基礎(chǔ)上找出2個相對較小且不相互平行的分類超平面,并使得每個超平面各與其中一類樣本盡可能近,與另一類樣本盡可能遠。把2個凸優(yōu)化問題轉(zhuǎn)變?yōu)?個線性方程問題,降低算法復(fù)雜度,減少計算量:
式中:A為訓(xùn)練樣本集內(nèi)正樣本集;B為訓(xùn)練樣本集內(nèi)負樣本集;C為正樣本與負樣本的組合;e1、e2為單位向量;r1,r2為偏移量;ξ為松弛變量;c為懲罰因子。K(·)為映射到高維空間的高斯徑向基核函數(shù):
問題的解為:
在本文所提GADE_LSTSVM算法中,首先利用遺傳算法從高光譜圖像的全部波段中優(yōu)選出信息量豐富的波段,然后再使用差分進化算法將用于訓(xùn)練的無標(biāo)記樣本中信息量豐富樣本篩選出來,最終與用于訓(xùn)練的有標(biāo)記樣本集相結(jié)合,使用LSTSVM進行訓(xùn)練。
由于高光譜圖像的已標(biāo)記樣本數(shù)量較少,所以在高光譜圖像分類中,需要將無標(biāo)記信息利用起來。因為高光譜圖像所含波段較多,使用全部波段來選取信息量豐富的無標(biāo)記樣本所需時間較長,且易造成過擬合現(xiàn)象。所以我們需要去除冗余信息,將信息量豐富的波段選出并加以應(yīng)用。為了有效利用無標(biāo)記樣本信息,本文采用差分進化算法對來自無標(biāo)記樣本的有價值樣本進行過濾,以擴充有限的帶標(biāo)簽樣本集,構(gòu)造具有代表性的訓(xùn)練集,極大減少人工標(biāo)記的成本。
遺傳進化與差分進化都是啟發(fā)式隨機搜索算法,并且原理簡單易于操作,容易求得全局最優(yōu)解。經(jīng)過波段選擇后,差分進化算法再利用LSTSVM算法進行分類,有效地解決了由于標(biāo)簽不足造成的欠擬合問題。因此,DE算法結(jié)合LSTSVM算法是本文算法的關(guān)鍵。
遺傳算法利用種群進化來搜索最優(yōu)解,且具有全局收斂性[13]。在本算法中,處理高光譜數(shù)據(jù)主要分為五步。
1)編碼
對于高光譜圖像所含有的所有已剔除噪聲的波段進行編碼。對于高光譜圖像來說,其所含有的波段數(shù)多,使用常規(guī)的二進制編碼得到的編碼位數(shù)會很大,之后再將這個編碼進行遺傳交叉變異的時候會十分復(fù)雜,對計算量造成影響。所以用四進制編碼代替二進制編碼對高光譜圖像的波段進行編碼,減少編碼長度。將編碼設(shè)為L位,并且將高光譜圖像的每個波段與L位四進制數(shù)一一對應(yīng)。
2)初始化
控制參數(shù):設(shè)初始種群中共有m1個染色體,其上各有n1個基因(n1是L的整數(shù)倍);交叉、變異概率分別設(shè)為Pc、Pm;終止迭代次數(shù)設(shè)為N1。
初始種群:隨機生成m1×n1位四進制數(shù),每一行中從起始位置順次L位即為一個單位,并對應(yīng)高光譜中的一個波段。該L位四進制數(shù)轉(zhuǎn)換成的十進制數(shù)即為高光譜圖像的的波段序號。
3)適應(yīng)度函數(shù)
因為Jeffries-Matusita(JM)距離可以得到各類別樣本之間的可分離性,所以在對高光譜圖像中的兩類進行距離統(tǒng)計時能發(fā)揮很好的作用[14]。因此,將JM距離Jij作為使用遺傳算法進行波段選擇的適應(yīng)度函數(shù)。計算高光譜圖像各類樣本間的平均JM距離需要使用第i類和第j類樣本在波段組合上的度量均值矢量μi、μj和第i類和第j類樣本在波段組合上的協(xié)方差矩陣進行計算。
式中:
式中s為類別數(shù)。
4)遺傳算子操作
選擇操作:分別求出種群中的每個個體的JM距離并進行對比,將JM距離大的波段保留,并復(fù)制到下一代。
交叉、變異操作:以一定概率(Pm),從個體中隨機選擇用于交叉的基因,并再以一定的概率(Pc)實施變異。
5)終止條件
設(shè)置終止條件為最大迭代次數(shù)N1。最后,得到一個波段組合成的矩陣M。
與遺傳算法不同的是,差分進化算法根據(jù)父代個體間的差分矢量進行編譯、交叉、選擇操作[15-16]。
在本算法中所選高光譜波段數(shù)D即為問題維數(shù),經(jīng)過G次迭代后第i個種群向量為
式中:i=1,2,···,N。其中N為種群規(guī)模。
2.2.1 差分變異
基本變異方式的基本方程為:
由式(1)可以看出差分進化算法中差分變異的基本方式。將種群中的某一個體疊加經(jīng)縮放后另外2個的差分向量。為了使變異更加多樣,本文算法將2個個體縮放因子F、λ加入到差分操作中,對式(1)加以改進得到:
2.2.2 交叉操作
與遺傳算法的交叉變異有所不同,差分進化算法的交叉操作是通過在種群內(nèi)隨機選擇個體來進行的。
式中:jrand∈M為隨機波段;為交叉概率;uj,i,G的集合即為Ui,G。
2.2.3 選擇
在本算法中將經(jīng)過差分變異與交叉操作后的向量Ui,G與原向量通過比較適應(yīng)度,留下適應(yīng)度較高的個體。
式中f(X)為適應(yīng)度函數(shù),在高光譜圖像中即為個體距離LSTSVM超平面的距離。
對于高光譜圖像的多分類問題,由于SVM是一個二分類器,所以常通過組合的形式將其加以應(yīng)用。應(yīng)用的方法主要有一對多和一對一兩種策略。本算法中LSTSVM屬于SVM的改進算法,所以也通過一對多將之轉(zhuǎn)化為多個二分類問題。
1)使用遺傳算法從高光譜圖像的所有波段中選取出信息量較為豐富的20個波段參與訓(xùn)練;
2)選取有標(biāo)記樣本集ML和不參與測試的無標(biāo)記樣本集Up;
3)利用差分進化算法從Up中篩選出一定量信息量豐富的樣本,樣本記為UpDE;
4)對UpDE進行標(biāo)記,加入到有標(biāo)記樣本集中,訓(xùn)練LSTSVM分類模型;
5)利用已經(jīng)訓(xùn)練好的LSTSVM分類器開始對測試樣本進行標(biāo)記,測評該分類器的分類精度。
為驗證算法有效性,本文選取2個高光譜圖像數(shù)據(jù),分別是Indian pines數(shù)據(jù)集和Pavia大學(xué)數(shù)據(jù)集,從中選取8個主要類別參與分類實驗。2個數(shù)據(jù)集的地物圖如圖1所示。為了更好地進行比較,2個高光譜圖像的大小均設(shè)為144×144,其中,Indian pines原始數(shù)據(jù)集包含總波段數(shù)為200個,Pavia大學(xué)原始數(shù)據(jù)集包含125個波段,去除噪聲后的波段數(shù)為103。
圖1 監(jiān)督信息
Indian pines數(shù)據(jù)集中地物的分布比較規(guī)則,每類地物的分布整體性好;而Pavia大學(xué)數(shù)據(jù)集中的同類地物分布較為分散,涉及區(qū)域較大。
本實驗中用于仿真的電腦其處理器為Intel(R)Core(TM)i7-4720HQ,RAM大小為8 GB,采用64位的windows10系統(tǒng)作為操作系統(tǒng),具體用于仿真的軟件為matlab2018a。
將總體分類精度(overall accuracy,OA)、平均分類精度 (average accuracy,AA)、Kappa系數(shù)作為評價高光譜圖像分類精度的準(zhǔn)則。
設(shè)N是樣本總數(shù),mii是第i類正確分類的樣本數(shù),Ai為第i類的分類精度。
總體分類精度的值OA為:
第i類分類精度為:
平均分類精度的值為AA:
Kappa系數(shù):
在實驗中,遺傳進化設(shè)置的參數(shù)為NP=20、四進制染色體編碼長度為L=4、最大進化代數(shù)N1=200、交叉概率Pc=0.75、變異概率Pm=0.01。同理,差分進化算法的參數(shù)為NP=20、F=0.5、λ=0.5、Cr=0.8。并將LSTSVM作為基分類器,設(shè)置LSTSVM的核函數(shù)為高斯核函數(shù),其懲罰因子C、核參數(shù)σ通過交叉驗證法從中選取最優(yōu)值。多分類方法選取一對余方法。
通過實驗對比標(biāo)準(zhǔn)SVM、DE_LSTSVM、SVM_MS(SVM_margin sampling)和本文算法4種分類算法的優(yōu)劣。實驗隨機選取10%的樣本作為訓(xùn)練樣本,其中10個為已標(biāo)記樣本,其他為無標(biāo)記樣本;其余90%的樣本作為測試樣本。首先對Indian pines數(shù)據(jù)集高光譜圖像進行分類。表1給出了AA、OA、Kappa系數(shù)以及運行時間。
表1 Indian pines高光譜圖像分類精度
從表1可以看出DE_LSTSVM算法與SVM_MS算法的分類性能明顯好于SVM。與DE_LSTSVM算法相比,本文的GADE_LSTSVM算法分類速度提升了62.742 0 s,而分類精度只有略微降低。與SVM_MS算法相比,本文算法在分類精度上有明顯提高,OA提高了5.91%,AA提高了4.76%,Kappa提高了0.069 6。GADE_LSTSVM算法通過GA算法進行波段選擇,DE算法又對信息量豐富的無標(biāo)記樣本進行篩選引入到已標(biāo)記的訓(xùn)練樣本集中,明顯提高了分類速度。圖2為4種算法分類結(jié)果的灰度圖表示。
圖2 Indian pines數(shù)據(jù)集高光譜圖像4種算法的分類結(jié)果
我們可以觀察出圖2(b)、(c)、(d)的錯分樣本數(shù)量與圖2(a)有明顯差別。由圖可知,本文算法以損失小部分分類精度為代價,使高光譜圖像的分類速度有了顯著提高。
用Pavia大學(xué)數(shù)據(jù)集高光譜圖像再次驗證。選取10%的樣本作為訓(xùn)練樣本,其中10個為已標(biāo)記樣本,其他為無標(biāo)記樣本;其余90%的樣本作為測試樣本。表2記錄了4種算法的仿真結(jié)果,從表2可以看出本文所提出的算法比DE_LSTSVM算法的分類速度提高了26.442 0 s,而分類精度基本一致;比SVM_MS算法OA提高了7.24%,AA提高了3.99%,Kappa系數(shù)提高了0.092 4。
表2 Pavia大學(xué)高光譜圖像分類精度
標(biāo)準(zhǔn) SVM、DE_LSTSVM算法、SVM_MS算法和本文算法的仿真結(jié)果灰度圖如圖3所示。
圖3 Pavia大學(xué)數(shù)據(jù)集高光譜圖像4種算法的分類結(jié)果
此外為了更直觀地展現(xiàn)用于訓(xùn)練的帶標(biāo)簽樣本數(shù)目s與總體分類精度和分類速度之間的關(guān)系,圖4、5將代表精度的折線圖與代表速度的柱狀圖相結(jié)合進行對比。帶標(biāo)簽樣本數(shù)目s取3、5、10、15、20、25。從曲線圖部分可以看出,本文所提算法在樣本數(shù)目很少的情況下分類精度的優(yōu)勢更為明顯。從柱狀圖部分可以看出,本文所提算法具有明顯的分類速度優(yōu)勢。
圖4 帶標(biāo)簽樣本數(shù)與OA的關(guān)系曲線(Indian pines數(shù)據(jù)集高光譜圖像)
圖5 帶標(biāo)簽樣本數(shù)與OA的關(guān)系曲線(Pavia大學(xué)數(shù)據(jù)集高光譜圖像)
1)本文算法在分類之前進行波段選擇,有效地減少有標(biāo)簽樣本中的冗余信息對學(xué)習(xí)過程造成的計算量。
2)在帶標(biāo)記樣本少的情況下,本文算法能夠快速地選取信息量豐富的無標(biāo)簽樣本擴充入訓(xùn)練樣本集中,有效地提升了分類器的性能。
3)本文算法在已標(biāo)記樣本數(shù)量較少時優(yōu)勢十分明顯。
今后的研究工作可以集中在嘗試?yán)靡褬?biāo)記樣本的空間信息提高對小樣本數(shù)據(jù)分類性能的改善方面。