劉萬軍, 李天慧, 曲海成
(遼寧工程技術大學軟件學院,葫蘆島 125105)
隨著衛星遙感技術的不斷發展,高光譜圖像的獲取變得更加容易。相對于多光譜遙感,高光譜遙感能夠獲得大量的波段信息,這些波段信息被廣泛應用于目標探測、環境監控和地物分類等方面[1],其中高光譜遙感圖像的分類問題一直是國內外學者研究的熱點。高光譜遙感圖像具有維數大和訓練樣本數量少的特點[2],在小樣本圖像分類情況下,維數過大易導致分類任務變得復雜,分類精度會因為波段數量的增加反而下降,從而產生Hughes現象[3]。其中支持向量機(support vector machine,SVM)的分類算法常用于解決此類問題[4]。楊凱歌等[5]將隨機子空間集成法結合SVM提出優化子空間SVM集成的分類算法,利用SVM對隨機子空間進行聚類,根據J-M距離準則對最優分類器進行集成,通過對比實驗證明該算法可以有效地解決小樣本情況下的分類問題;Persello等[6]通過對比主動學習策略和半監督學習方法的優缺點,結合2種方法應用在SVM上,解決了小樣本情況下未知樣本標注問題。
此外,遷移學習通過對同領域或者跨領域進行知識遷移也可以解決小樣本情況下的高光譜圖像分類問題,當源訓練樣本集包含的帶標簽樣本數量非常少時,遷移學習將與源訓練樣本集相似的樣本作為輔助樣本集,與源樣本集組成總訓練樣本集完成目標樣本集的分類、識別等任務[7]。吳田軍等[8]將遷移學習應用在高光譜圖像分類的樣本選擇中,將歷史的地物信息遷移到新的圖像中,建立一種新的特征映射關系,從而實現對目標高光譜圖像樣本的自動分類;Zhou等[9]將遷移學習應用在極限學習機中,并與最小二乘法結合,利用TrAdaboost算法的權重調整策略對樣本進行分類,最后經過對比實驗證明了該算法的有效性。其中TrAdaboost算法是Dai等[10]提出的一種基于實例的遷移學習算法,對Adaboost算法進行了改進,使之具有遷移能力,通過判別訓練樣本的可利用價值調整樣本的權重,完成小樣本情況下的文本分類任務。
綜上所述,SVM和遷移學習分類算法都能夠很好地解決小樣本問題。但對于高光譜圖像分類問題,隨著訓練樣本數目減少(小樣本情況),樣本維數大且存在冗余波段,相似類別樣本間的分類邊界變得模糊,導致分類精度大幅度降低。為了解決這個問題,本文提出了基于Fisher準則和TrAdaboost權重調整策略的H_TrAdaboost (Hyperspectral TrAdaboost)算法,利用Fisher準則放大樣本間的差異,完成相似樣本的劃分;結合TrAdaboost權重調整策略,動態調整樣本的權重,實現高光譜相似樣本的分類;最后,在AVIRIS高光譜數據集上進行對比實驗,驗證H_TrAdaboost算法的有效性。
1.1.1 遷移學習
傳統的機器學習方法對目標樣本分類具有一定的前提條件,要求訓練樣本和測試樣本必須符合相同的數據分布,并且需要足夠數量的訓練樣本才能進行學習。這導致了在小樣本情況下很多分類方法都不能取得很好的分類效果。遷移學習作為一種新的機器學習方法被提出,打破了傳統學習方法的束縛,可以通過確定輔助樣本集來解決樣本數量少的問題。為了更加清晰地解釋遷移學習,對樣本集進行如下描述。
定義1:訓練樣本數據集Da和Db
(1)
(2)
式中:Da表示輔助訓練樣本數據集;Db表示源訓練樣本數據集;Sa為Da的輔助樣本空間;Sb為Db的源樣本空間;M(x)表示一種映射關系,將樣本x映射到它所對應的類別標號上;{()}表示樣本和樣本對應的類標組成的數對集合。由于Da與Db來自于不同的類空間,表示數據分布是不相同的。
定義2:目標樣本數據集Dt
(3)
根據以上定義,遷移學習解決的問題可以描述為:源訓練樣本集Db含有少量有標簽樣本,不足以訓練出一個適于分類目標樣本集的分類器,此時利用遷移學習,可以得到與Db相似的輔助訓練集Da,最后合并Da與Db組成總訓練集訓練分類器,用于分類目標樣本集Dt。
由于本文研究的高光譜數據集,具有樣本維數大、標記樣本少的特點,而遷移學習可以有效解決小樣本問題。因此,利用遷移學習,通過確定輔助樣本集,將有利于目標分類的樣本遷移到訓練樣本集中,從而擴大總樣本數量,解決高光譜分類問題中由于訓練樣本過少導致的分類問題。
1.1.2 SID_SA結合法
為了擴大訓練樣本集數量,需要一種合適的光譜相似度測量方法,確定輔助樣本集。常規方法有光譜角法(spectral angle mapping,SAM)和光譜信息散度法(spectral information divergence,SID)[11]。SAM的原理是將目標光譜與測試光譜投影到空間中,計算其間的夾角,其值越小代表相似度越高。SID是一種基于信息論理念,通過計算信息熵來判斷光譜相似性的方法。而2種方法結合的SID_SA結合法[12]同時考慮到SAM和SID的優點,從光譜的形狀以及反射能量差異2方面入手,能有效計算光譜間的相似度。
假設x與y分別代表目標光譜與測試光譜,長度都為n1,則SID_SA結合法公式為
(4)

SID(x,y)=D(x‖y)+D(y‖x)
(5)
(6)
(7)

SID_SA(x,y)=SID(x,y)sin[SAM(x,y)] ,
(8)
式中SID_SA(x,y)是本文算法的光譜相似度度量值,值越小,證明光譜相似度越高,反之則說明光譜間相似度低,因此通過對比各光譜間的SID_SA值,確定輔助樣本集。
1.2.1 問題分析
為了更好地在小樣本條件下進行相似地物類間分類,需要使用一種特征提取的方法,幫助放大樣本間的差距,提高分類精度。高光譜圖像特征提取方法常用的主成分分析法(principal components analysis,PCA)[13],是通過數學變換來壓縮波段達到提取特征的目的,容易改變高光譜圖像的光譜物理意義。而波段選擇的方法是從大量波段中選擇出利于分類的波段數據,構成一個波段子集,這樣不會破壞物理結構而且可以達到數據降維的目的。因此本文在解決相似樣本劃分問題時采用的是波段選擇的方法。
以美國印第安納州高光譜數據集為例進行分析,從中選取名稱為corn-notill和corn-mintill的2類相似地物,分別從2類地物中隨機選取200個樣本點,計算2類光譜均值和標準差。對比結果分別如圖1所示。

(a) 光譜均值 (b) 光譜標準差
從圖1中可以得知,2類樣本在B2—B57和B64—B76等波段上的可分性比較大,在B54—B63和B77—B103等波段上的可分性比較小。這說明雖然相似樣本間的波段信息比較相近,但是樣本在各個波段上仍然具有可分性,如果在實驗中對樣本的所有波段進行相同的處理,則弱化了一些重要波段的信息。因此,在解決相似樣本劃分問題中進行波段選擇是必要的,需要秉承的原則是最大化樣本類間間距,最小化樣本類內間距,最終選擇可分性強的波段組成最優子集。Fisher準則作為一種直觀有效的類別可分性判據,是波段選擇的一個重要依據,因此利用改進的Fisher準則可解決相似樣本可分性問題。
1.2.2 改進的Fisher準則
改進的Fisher準則是對原始Fisher準則中的距離度量方法由簡單的歐氏距離變為馬氏距離。其中馬氏距離是表示數據的協方差距離[14],在相似度對比過程中,歐氏距離計算2個樣本在空間上的直接距離,而馬氏距離考慮的是樣本數據各種特性之間的關系與差異,放大個體的影響。在不同的總體樣本下,馬氏距離的計算結果是不同的,更加適合用于相似樣本的劃分。因此本文采用基于馬氏距離的改進Fisher準則對樣本進行可分性研究,具體計算公式為
(9)
式中:ai與aj分別代表2條光譜;d為馬氏距離。
根據最小化類內間距、最大化類間間距的原則,可以得出改進的Fisher準則Jp為
(10)
(11)
(12)
(13)

類間可分性越大,SB的值越大;類內可分性越小,Sw的值越小。因此通過最大化Jp可以得到類別可分性強的波段集合,從而嚴格控制了分類階段的樣本集輸入,為分類提供了足夠的且具有差別性的樣本集。
對于最后分類階段,由于每個訓練樣本在分類過程中的可利用價值有所不同,因此在迭代訓練過程中需要對每個樣本進行不同的權重控制。原始的TrAdaboost算法是用于文本分類的,對樣本進行權重分配時,分別調整輔助訓練樣本與源訓練樣本的權值,達到較好的分類效果。而本文在解決高光譜相似樣本分類問題時,同樣考慮到不同樣本的權重問題,因此采用TrAdaboost算法的權重調整策略對目標樣本進行分類。對于輔助訓練樣本,基本思想是如果樣本被錯誤分類,證明此樣本不利于分類,在下一次迭代過程中減少權重,主要通過參數βa實現,即
βa=1/(1+2 lnn/N)
(14)
式中:n代表輔助樣本數量;N代表迭代次數。
對于源訓練樣本,基本思想是如果樣本被錯誤分類,在下一次迭代過程中通過增加權重來強調此樣本,更正分類模型,主要通過參數βb實現,即
βb=εt/(1-εt)
(15)
式中εt為第t次迭代過程中分類器在源訓練樣本上的錯誤率。
綜上所述,如果在N次迭代過程中,分別對2個訓練樣本集的權重進行動態調整,可以更好地完成小樣本情況下相似樣本分類任務。
H_TrAdaboost算法流程如圖2所示。

圖2 H_TrAdaboost算法流程
本文提出的H_TrAdaboost算法的要點是:首先,利用SID_SA結合法確定輔助樣本集;然后,根據改進Fisher準則對波段進行可分性研究;最后,利用權重調整策略完成高光譜相似樣本分類。
1)根據小樣本的源訓練樣本數據Db,采用SAM與SID相結合的方法計算光譜間相似值,SID_SA值越小證明光譜越相似,利用式(4)—(8)選擇出與Db相似度最大的樣本作為輔助樣本集Da,合并輔助訓練樣本集Da與源訓練樣本集Db為總訓練樣本集Dt。并初始化樣本的權重,輔助訓練樣本的初始權重設置為1/n,源訓練樣本的初始權重設置為1/m,即
(16)
2)通過對高光譜相似地物的光譜特性進行分析,得知每個波段的可分性不同,采用基于馬氏距離的改進Fisher準則,利用式(12)—(13)對總訓練樣本Dt計算類內間距,利用式(11)計算類間間距,最后通過最大化類間間距和最小化類內間距,對波段進行最終篩選,將可分性較強的波段組成一個子集,達到放大相似類別樣本光譜間差異的目的。
3)已知輔助樣本數量n以及迭代次數N,利用式(14)得到輔助樣本權重調整參數βa。
4)輸入總訓練集,設置樣本權重為
(17)

(18)
式中Lt(xi)為樣本在第t次迭代后的分類結果。如果εt>0.5,則將εt設置為0.5,利用式(15)得到源訓練樣本的權重調整參數βb。
5)設置迭代過程中訓練樣本的權重更新策略,即
(19)

6)最終分類器設置為
(20)
式中:「?為向下求和;L(x)代表最終分類結果,如果分類正確分類器輸出1,分類錯誤輸出0。
實驗采用美國印第安納州實驗區(Indian Pines)的高光譜遙感圖像數據集,通過AVIRIS采集獲得,包含了145×145個樣本點,原始波段數有220個,除去其中水汽吸收及低信噪比的波段,剩余200個波段將作為實驗數據。原始圖像共有16種地物類別,真值圖如圖3所示。由于本文解決的是相似樣本分類問題,且其中一些類別樣本數量不足,因此選取了其中滿足實驗條件的8種地物類別,重新編號用于驗證實驗,具體的樣本信息統計見表1。

圖3 Indian Pines數據集真值

表1 實驗用Indian Pines數據集信息
為了驗證H_TrAdaboost算法的有效性,將表1的數據集作為實驗數據集,實驗環境為Matlab2012b。實驗過程中,采用隨機抽取的方式對源訓練樣本和輔助訓練樣本進行選擇,實驗中分類器參數C和gamma的數值通過十折交叉驗證獲得。通過前期實驗可以得出,當源訓練樣本集的樣本數量小于總訓練樣本集的15%時,相似地物分類問題變得模糊,精度降低明顯,因此本文實驗將低于總訓練樣本集15%的定義為小樣本條件。首先進行的實驗是采用SID_SA方法確定輔助樣本,從樣本集中隨機選取200個樣本作為本部分實驗數據,實驗得到各類地物之間的SID_SA值見表2。

表2 各類別之間的SID_SA值
從表2可以得知,每個類別的樣本都有與其相似的樣本,例如C1類與C2類、C5類間SID_SA值最小,為相似樣本集,同理C8類與C4類為相似樣本集,因此,通過對比波段間的SID_SA值可以得到最適合的相似樣本類別作為輔助樣本集。從實驗樣本中隨機選取測試樣本1%的樣本點作為源訓練樣本集,根據SID_SA算法確定輔助樣本進行實驗。將H_TrAdaboost算法與原始的TrAdaboost算法和SVM分類算法進行比較,分類精度對比結果見表3。

表3 算法間的分類精度對比
從表3中可以看出,當分類C1和C2類樣本時,輔助樣本類別分別選取為C5與C6類時,分類精度最高且提高較多;當分類C1和C6類樣本時,輔助樣本類別分別選取為C7與C2類時,分類精度最高且提高較多;從而驗證了SID_SA值越小,越適合做輔助樣本,幫助源訓練樣本進行分類。同時,當類別本身相似性很小的時候,例如C2和C8類的分類,3種分類算法的效果都很明顯,并且SVM算法、TrAdaboost算法與H_TrAdaboost算法分類精度呈上升趨勢。驗證了TrAdaboost算法經過數據處理后可以較好地應用在高光譜數據上,分類精度比SVM有所提高,將H_TrAdaboost算法與原始的TrAdaboost算法相比,分類精度也有顯著提升,證明此算法在非相似樣本分類問題上也具有較好的分類效果。
為了更直觀地表示本文算法的有效性,將不同算法對表3中幾種類別進行分類,效果分別展示如表4所示。從表4的幾組對比圖中可以清晰地看出,對C1,C2,C5和 C6等相似類別進行分類時,H_TrAdaboost算法比SVM算法和TrAdaboost算法噪聲點更少,分類效果更明顯。

表4 各算法在不同樣本上的分類精度對比
為了進一步驗證本文算法在不同程度小樣本情況下對相似樣本的分類效果,將源訓練樣本數量分別設置為占總樣本的1%,2%,3%,5%,10%,15%,對C1與C2類分類,輔助樣本選取C5與C6組成樣本1;對C1與C6類分類,輔助樣本選取C7與C2組成樣本2。則H_TrAadboost算法與TrAadboost算法和SVM分類算法的分類精度對比結果見表5與表6。為了便于比較各類算法在不同樣本數量下的分類效果,均采用相同的參數設置。

表5 樣本1上算法間的分類精度對比

表6 樣本2上算法間的分類精度對比
從表5與表6可以看出,樣本數量的大小對分類精度有所影響。當源訓練樣本數量不斷減少,分類精度隨之降低,即小樣本條件越苛刻,相似樣本分類效果越不明顯。但是實驗結果表明,隨著源樣本數量的降低,本文提出的H_TrAdaboost算法對比原始的TrAdaboost算法以及SVM算法,在對相似樣本進行分類時,分類精度仍然高于其他分類算法,說明基于改進的Fisher準則和TrAdaboost提出的算法,可以較好地解決分類問題中的由于相似樣本導致分類精度低的問題。
1)利用實例遷移思想,采用SID_SA結合法對高光譜波段進行相似度度量,達到了確定輔助樣本集的目的,解決小樣本問題。
2)改進的Fisher準則側重于高光譜數據整體特點,利用該準則從訓練樣本中選擇可分性強的波段,達到放大相似樣本波段間差異的目的。
3)利用TrAdaboost算法的權重調整策略為樣本分配合理權重,最終通過實驗表明,H_TrAdaboost算法可以很好地實現相似樣本的分類。
4)雖然本文算法對與相似地物分類精度上有了一定提高,但仍有可以改進的地方。下一步的研究方向是考慮結合空間信息,從光譜的空間特征方面進一步提升高光譜相似地物的分類精度問題。