王立國, 池辛格
(1.大連民族大學(xué) 信息與通信工程學(xué)院,遼寧 大連 116600; 2.哈爾濱工程大學(xué) 信息與通信工程學(xué)院,黑龍江 哈爾濱 150001)
遙感(remote sensing, RS)技術(shù)從20世紀(jì)60年代左右開始發(fā)展,是一種綜合對地觀測技術(shù)。該技術(shù)要求以非接觸的方式借助設(shè)備獲取相關(guān)數(shù)據(jù)并分析得到有效信息。隨后誕生的高光譜遙感(hyperspectral remote sensing, HRS)技術(shù)融合了目標(biāo)探測和光譜成像技術(shù),因其能夠表征地物的多維特征信息,實(shí)現(xiàn)更詳細(xì)的地物分類而受到青睞,并逐漸成為遙感領(lǐng)域研究的熱點(diǎn)問題。如今高光譜遙感的各種技術(shù)被廣泛研究[1-4],并被應(yīng)用到軍事、農(nóng)業(yè)、工業(yè)等諸多領(lǐng)域,讓我們的生活工作更加便利。高光譜遙感可以獲取地物數(shù)百個(gè)連續(xù)的譜段信息,提供豐富的光譜信息,但存在著數(shù)據(jù)量大,波段互相重疊,有標(biāo)簽樣本數(shù)量少且獲取代價(jià)高等缺點(diǎn),對于高光譜圖像的分類有較大影響。
傳統(tǒng)的高光譜分類方法可分為無監(jiān)督分類和有監(jiān)督分類2種,通常情況下,無監(jiān)督分類方法,如K-均值(k-means)聚類算法、ISODATA等,利用樣本間的相似性或差異性進(jìn)行分類,因?yàn)槿鄙儆行У谋O(jiān)督信息導(dǎo)致分類精度不高;監(jiān)督分類方法,如K-鄰近算法、支持向量機(jī)(support vector machine, SVM)、最大似然算法等,需要獲取先驗(yàn)知識(shí),因此需要大量有標(biāo)記樣本,導(dǎo)致成本過高效率降低。因此能夠利用有標(biāo)簽和無標(biāo)簽樣本的半監(jiān)督分類方法受到了更多的歡迎并逐漸成為主流方向。目前,常用的半監(jiān)督分類方法有協(xié)同訓(xùn)練(co-training)、生成式模型算法(generative model)、半監(jiān)督支持向量機(jī)、基于圖的半監(jiān)督算法等幾種。
對于小樣本高維度的訓(xùn)練集,SVM算法是很好的選擇,該算法由Vapnik等提出[5],以VC維準(zhǔn)則和結(jié)構(gòu)風(fēng)險(xiǎn)最小化準(zhǔn)則作為理論依據(jù)來改進(jìn)分類器的泛化能力,改進(jìn)后的算法增強(qiáng)了推廣性,并在高光譜圖像分類中被廣泛應(yīng)用。針對SVM算法在精度、運(yùn)行速度和魯棒性等方面的不足,一些學(xué)者對其在泛化能力、運(yùn)算速度和精度方面進(jìn)行了改進(jìn),如Joachims[6]提出的直推式支持向量機(jī)(transductive support vector machine, TSVM) ;Javadava等[7]提出的孿生支持向量機(jī)(twin SVM,TWSVM);Kumar等[8]在TWSVM的基礎(chǔ)提出的最小二乘孿生支持向量機(jī)(least squares twin SVM,LSTSVM)等。
半監(jiān)督分類在挖掘無標(biāo)簽樣本的信息時(shí),需要區(qū)分哪些樣本有更高的信息量,對于提高分類性能有幫助。主動(dòng)學(xué)習(xí)[9]和差分進(jìn)化算法[10]均為能夠勝任這個(gè)工作的重要算法。主動(dòng)學(xué)習(xí)的概念最早由Simon等提出,如今已經(jīng)廣泛應(yīng)用于語音識(shí)別,圖像分類等技術(shù)領(lǐng)域。常見的主動(dòng)學(xué)習(xí)算法一般有如下4種:第1種是邊緣采樣策略(margin sampling, MS),第2種是多層次不確定性采樣策略(multi-class-level uncertainty,MCLU),第3種是基于后驗(yàn)概率估計(jì)的主動(dòng)學(xué)習(xí)方法;第4種是基于委員會(huì)[11]的主動(dòng)學(xué)習(xí)方法(query-by-committee,QBC)。差分進(jìn)化(differential evolution,DE)算法是一種模擬生物進(jìn)化的算法(evolutionary algorithms,EAs),由Storn等提出。DE算法因其原理簡單、控制參數(shù)少、魯棒性強(qiáng)等優(yōu)點(diǎn),已成為進(jìn)化計(jì)算領(lǐng)域的研究熱點(diǎn)之一。該算法采用基于種群的全局搜索策略,保留適應(yīng)環(huán)境的優(yōu)秀個(gè)體,達(dá)到優(yōu)化種群的目的,在求解高維非線性的復(fù)雜優(yōu)化問題方面有很好的表現(xiàn)。
經(jīng)典的半監(jiān)督算法已經(jīng)取得了很好的效果,但是與主動(dòng)學(xué)習(xí)方法和差分進(jìn)化算法結(jié)合后還有進(jìn)一步提升的空間,因此本文提出了一種將MCLU準(zhǔn)則和改進(jìn)后的自適應(yīng)差分進(jìn)化算法結(jié)合,尋找、標(biāo)記并擴(kuò)充高價(jià)值樣本,并應(yīng)用于半監(jiān)督分類的算法。實(shí)驗(yàn)表明,該算法能夠充分利用有限的有標(biāo)簽樣本,有效地對高光譜圖像的地物進(jìn)行分類。
多層次不確定性采樣(MCLU)準(zhǔn)則是一種基于SVM算法的幾何特點(diǎn)的,處理多分類問題的采樣策略。根據(jù)SVM理論,距離分類超平面越近的點(diǎn)越有可能成為支持向量,富含的信息量也就越多,這些樣本篩選后加入到訓(xùn)練樣本集對分類的最終結(jié)果有很強(qiáng)的改進(jìn)能力。MCLU準(zhǔn)則以每個(gè)點(diǎn)到每個(gè)分類超平面的距離為依據(jù),通過計(jì)算每個(gè)點(diǎn)的置信度來篩選信息量高的點(diǎn)。該算法處理在多分類問題時(shí)效果十分顯著。
設(shè)全部樣本的集合為:U={x1,x2…,xu}。MCLU的原理圖如圖1所示。
圖1 MCLU策略原理Fig.1 Schematic diagram of MCLU strategy
在多分類問題中首先使用一對余(one-against-rest)思想將只能進(jìn)行二分類的SVM構(gòu)建為多分類算法,得到每個(gè)樣本點(diǎn)到每個(gè)分類超平面的幾何距離fn(xu),然后通過每個(gè)點(diǎn)的距離集合衡量該點(diǎn)的置信價(jià)值c(x)。c(x)的值使用距離差值[12]策略求得,具體公式為:
c(x)值越小,表明該樣本點(diǎn)被劃分為r1 max和r2 max所屬類別的概率越相近,該樣本點(diǎn)的不確定性也就越高。這類點(diǎn)富含更多的信息量,對分類結(jié)果幫助更大。
差分進(jìn)化是一種基于群體進(jìn)化的全局搜索優(yōu)化算法,該算法隨機(jī)選取2個(gè)不同個(gè)體矢量作為父代,然后通過差分變異操作,交叉操作和選擇操作等步驟得到最優(yōu)解。DE算法的具體步驟如下:
1) 初始化種群,設(shè)置參數(shù)。
假設(shè)種群規(guī)模為NP,問題維數(shù)為D,在高光譜分類問題中即為波段數(shù),設(shè)置進(jìn)化代數(shù)G,種群經(jīng)過隨機(jī)初始化后服從均勻分布。則種群中第G代的第i個(gè)個(gè)體可以表示為:
xi,G(i=1,2,…,NP)
第G代的第i個(gè)種群矢量可以表示為:
Xi,G=[x1,i,Gx2,i,G…xD,i,G]
(1)
式中randi,j(0,1)為(0,1)的均勻隨機(jī)數(shù)。
2) 變異操作。
傳統(tǒng)差分進(jìn)化算法的矢量變異方程為:
(2)
3) 交叉操作。
交叉操作是將目標(biāo)個(gè)體向量Xi,G與變異個(gè)體向量Vi,G的信息成分互換得到試驗(yàn)向量Ui,G。Ui,G=[u1,i,Gu2,i,G…uj,i,G]。具體操作可表示為:
(3)
式中:jrand∈[1,2,…,D]表示隨機(jī)波段;Cr為交叉因子,用于控制個(gè)體參數(shù)的每個(gè)維度對交叉過程的參與程度,可以影響過程中的隨機(jī)性。
4) 選擇操作
差分進(jìn)化泛使用一對一的“貪婪”選擇策略,根據(jù)設(shè)定的適應(yīng)函數(shù)的大小選擇可以進(jìn)入下一代的個(gè)體:
(4)
差分進(jìn)化算法中的種群在不斷變化,在算法初期種群多樣性強(qiáng),隨著迭代次數(shù)增加,種群多樣性會(huì)降低。傳統(tǒng)的差分進(jìn)化算法的變異因子F和交叉因子Cr為固定值,對算法的性能產(chǎn)生了限制。針對傳統(tǒng)算法的缺點(diǎn),文獻(xiàn)[1]提出了一種針對變異因子F的自適應(yīng)改進(jìn)方法,使其后期隨種群數(shù)目的減少而增加,為后續(xù)的三重訓(xùn)練引入較強(qiáng)的差異性因素。但是改進(jìn)后算法后期擾動(dòng)過大導(dǎo)致局部探索能力不佳,很難得到最優(yōu)解。因此本文將自適應(yīng)變化因子定義為:
(5)
式中:F0為常數(shù);λ為經(jīng)驗(yàn)參數(shù);Gm為最大迭代次數(shù);G為當(dāng)前迭代次數(shù)。可以看出F隨G的增大而減小,最初G=1時(shí),變異因子F=2F0,變異因子較大,變異率較高,可以保證初期種群個(gè)體的多樣性,避免早熟;隨著迭代次數(shù)G的增加,經(jīng)驗(yàn)參數(shù)λ減小,變異因數(shù)減小,可以加強(qiáng)算法的搜索能力,在避免結(jié)果陷入局部最優(yōu)解的同時(shí),保持一定的收斂速度。同時(shí)為了進(jìn)一步增加變異的多樣性,將式(1)改進(jìn)為:
(6)
本文對交叉因子Cr也進(jìn)行了進(jìn)行自適應(yīng)改進(jìn),傳統(tǒng)的Cr設(shè)置,如果取值較小會(huì)減小種群多樣性導(dǎo)致過早收斂,如果取值較大會(huì)導(dǎo)致更新速度過快,破壞適應(yīng)度好的個(gè)體。因此將Cr改進(jìn)為自適應(yīng)參數(shù):
(7)
本文提出了一種使用自適應(yīng)差分進(jìn)化算法改進(jìn)主動(dòng)學(xué)習(xí),然后結(jié)合支持向量機(jī)進(jìn)行的高光譜圖像分類的算法MCLU_SADE_SVM。首先使用MCLU策略從無標(biāo)簽樣本中選取富含信息量的樣本點(diǎn)和標(biāo)簽確定的點(diǎn),用后者對前者進(jìn)行標(biāo)記,然后使用自適應(yīng)差分進(jìn)化算法進(jìn)行尋優(yōu)操作,擴(kuò)充有標(biāo)簽樣本點(diǎn),將其加入有標(biāo)簽樣本,最后使用SVM訓(xùn)練分類器,對無標(biāo)簽樣本進(jìn)行分類。具體實(shí)現(xiàn)步驟如下:
1)使用多層次不確定性采樣策略從SU中選取一定量富含信息量的樣本UMCLU和可以確定標(biāo)簽類別的樣本UL。
4) 將SDE加入已標(biāo)記訓(xùn)練樣本集SL,新的訓(xùn)練集記作SLDE;
5) 以新樣本集SLDE作為訓(xùn)練樣本訓(xùn)練SVM分類器h。
6) 使用分類器h對測試樣本進(jìn)行分類,測評分類精度。
仿真實(shí)驗(yàn)在2個(gè)常用的高光譜數(shù)據(jù)集進(jìn)行:第1張監(jiān)督圖像AVIRIS data展示了美國印第安納州農(nóng)林實(shí)驗(yàn)場的一部分,第2張監(jiān)督圖像Pavia data展示了帕維亞大學(xué)上空獲得的部分地物。2張圖像均為144×144像素,前者的光譜值區(qū)間約為0.41~2.45 μm,空間分辨率20 m,光譜分辨率10 nm,圖像的原始波段為220個(gè),去除低信噪比和不能被水反射的波段后實(shí)際參與仿真的波段共200個(gè)。后者光譜值區(qū)間約在0.43~0.86 μm,空間分辨率1.3 m,原始波段115個(gè),去除噪聲波段后實(shí)際參與仿真的波段共103個(gè)。
圖2 實(shí)驗(yàn)數(shù)據(jù)集示意Fig.2 Image of experimental data set
仿真條件:電腦CPU為Intel(R) Core(TM) i7-2630QM,6 G RAM,64位Windows10系統(tǒng),Matlab版本為Matlab2019b。
混淆矩陣多用于表示高光譜圖像分類精度,其形式為:
式中:mij(i=1,2,…,N,j=1,2,…,N)表示第i類樣本被錯(cuò)分為第j類的總像元個(gè)數(shù),N為總類別數(shù);mii(i=1,2,…,N)為被準(zhǔn)確劃分的像元數(shù),可知mii越大分類精度越高。通過混淆矩陣可得到3個(gè)評價(jià)指標(biāo):總體分類精度OA(overall accuracy)、平均分類精度AA(average accuracy)和Kappa系數(shù)。
設(shè)n為樣本總數(shù),mi+表示第i行的所有m值求和,根據(jù)混淆矩陣可知OA計(jì)算方法為:
AA計(jì)算方法為:
Kappa系數(shù)的計(jì)算方法為:
OA、AA和Kappa系數(shù)越大,說明分類效果越好。
為了驗(yàn)證本文所提方法的有效性,在上述2個(gè)高光譜數(shù)據(jù)集上進(jìn)行仿真,共對4種算法進(jìn)行了對比,包括經(jīng)典的SVM算法,結(jié)合邊緣采樣策略和傳統(tǒng)差分進(jìn)化的算法MSDE_SVM,結(jié)合多層次不確定性采樣策略和傳統(tǒng)差分進(jìn)化的算法MCLUDE_SVM算法和本文算法。2個(gè)數(shù)據(jù)集均選取8類地物。標(biāo)準(zhǔn)SVM采用徑向基核函數(shù),采用“one-againest-rest”多分類算法,懲罰因子C及核參數(shù)σ通過網(wǎng)格搜索法在 [10,103] 和 [10-2,102]中選最優(yōu)值。自適應(yīng)差分進(jìn)化中的參數(shù)為:種群初始規(guī)模NP=20,F(xiàn)0=0.8,交叉參數(shù)Cr的上限取1,下限取0,綜合實(shí)驗(yàn)精度和實(shí)驗(yàn)效率將迭代次數(shù)設(shè)定為10次,所有實(shí)驗(yàn)重復(fù)10次取平均值。
表1為4種算法在AVIRIS數(shù)據(jù)集分類中的性能對比,評價(jià)標(biāo)準(zhǔn)為OA、AA、Kappa系數(shù)和運(yùn)行時(shí)間。實(shí)驗(yàn)取總樣本的10%作為訓(xùn)練樣本,其余為測試樣本,每類訓(xùn)練樣本中取10個(gè)作為有標(biāo)簽訓(xùn)練樣本用于模擬小樣本條件。圖3顯示了4種方法的分類結(jié)果。
表1 AVIRIS高光譜圖像分類結(jié)果
可以看出,本文算法相對于傳統(tǒng)SVM算法有明顯的性能優(yōu)勢,OA提高了約13.2%,AA提高了約1.25%,Kappa系數(shù)提高了約0.036 7。通過對比MSDE_SVM算法和MCLUDE_SVM算法可以看出,MCLU采樣策略相對于MS采樣策略在多類別問題中表現(xiàn)更為優(yōu)秀,OA提高了約0.44%,AA提高了約0.38%,Kappa系數(shù)提高了約0.005,時(shí)間減少了約125 s。通過對比MCLUDE_SVM算法和本文算法可以看出,對DE算法的改進(jìn)使得算法性能有所提升,OA提高了約1.19%,AA提高了約0.49%,Kappa系數(shù)提高了約0.013 8,而運(yùn)行時(shí)間僅增加了約9 s。
表2為上述4種算法在Pavia數(shù)據(jù)集分類中的性能對比,評價(jià)標(biāo)準(zhǔn)和取樣方式與表1相同。圖4顯示了4種方法的分類結(jié)果。
表2 Pavia高光譜圖像分類結(jié)果Table 2 Classification results of hyperspectral image Pavia
可以看出,在該數(shù)據(jù)集上,本文算法與傳統(tǒng)SVM算法相比,效果提升明顯,OA提高了約8.44%,AA提高了約8.53%,Kappa系數(shù)提高了約0.112 8。與MCLUDE_SVM算法對比,OA提高了約2.54%,AA提高了約0.44%,Kappa系數(shù)提高了約0.029 8,證明了對DE自適應(yīng)改進(jìn)的有效性。MSDE_SVM算法相比于MCLUDE_SVM算法性能有所提升,OA提高了約0.97%,AA提高了約0.13%,Kappa系數(shù)提高了約0.018 7,運(yùn)行時(shí)間減少了約106 s,證明了在該數(shù)據(jù)集上MCLU采樣策略相比MS策略表現(xiàn)更優(yōu)秀。
圖3 AVIRIS數(shù)據(jù)集分類結(jié)果Fig.3 Classification results of the data set AVIRIS
圖4 Pavia數(shù)據(jù)集分類結(jié)果Fig.4 Classification results of the data set Pavia
上述2組實(shí)驗(yàn)證明了本文算法在不同數(shù)據(jù)集上的適應(yīng)性。在AVIRIS數(shù)據(jù)集和Pavia數(shù)據(jù)集上,本文采用的MCLU采樣策略和對自適應(yīng)參數(shù)的改進(jìn)相對傳統(tǒng)算法很好地提升了高光譜圖像的分類精度。
圖5展示了2數(shù)據(jù)集有標(biāo)簽樣本數(shù)目和總體分類精度OA的關(guān)系。有標(biāo)簽樣本數(shù)取值:3,5,10,15,20,25。折線圖清晰地反映出,在接近實(shí)際工作條件的小樣本條件下,本文提出的算法相較于其他3種算法表現(xiàn)更佳。
圖5 帶標(biāo)簽樣本數(shù)與OA的關(guān)系曲線Fig.5 The relationship lines between the number of labeled samples and OA
1) 相比于SVM,MSDE_SVM和MCLUDE_SVM 3種方法,在未大幅度增加運(yùn)行時(shí)間的情況下有效提高了分類精度,證明了本文提出的方法能夠充分利用高光譜圖像中的無標(biāo)簽樣本,擴(kuò)充訓(xùn)練樣本集;
2) MCLU策略在多分類情況下相比MS策略表現(xiàn)更好;
3) 對于DE算法的自適應(yīng)改進(jìn)使得圖像分類精度相對于傳統(tǒng)的固定參數(shù)的DE算法有所提高。
本文算法能夠在小樣本情況下對高光譜圖像進(jìn)行高效分類,顯示出較高的應(yīng)用價(jià)值,但是對某些類別的分類精度依然有提升空間,值得未來進(jìn)一步研究。