0 引 言
近年來,遙感技術和機器學習的進步使高光譜數據得到了廣泛應用。其中,高光譜圖像分類是遙感領域研究的重要問題之一。在實際應用中,由於大量樣本的標記難以獲取,未標記的樣本有很多且更易獲得。因此,如何利用大量未標記樣本信息進行分類器的學習,提高其泛化能力,成為當前的研究熱點。半監督分類由於能夠充分利用少量標記樣本和大量無標記樣本,並獲得更高的分類精度,引起了研究者的高度關注。半監督分類在實踐中具有很大的應用價值,一般來說,在半監督學習中,5種模型被廣泛使用。主要包括生成式模型、自訓練、協同訓練、直推式支持向量機和基於圖的方法。
上述這些半監督分類方法,通常假設數據的生成機制不隨環境改變,即訓練樣本和測試樣本概率分布一致或者位於同一特徵空間。若數據分布有差異會造成這些方法的分類效果變差。而我們獲得的許多有標記樣本的遙感圖像可能不滿足這個條件,直接用於構建待分類遙感圖像的分類器效果不是很理想,若重新標記新的數據來訓練模型以適應新的數據分布,代價太高且費時費力。針對這一問題,本文提出了一種基於同質區和遷移學習的半監督高光譜圖像分類方法。首先對高光譜圖像進行分割獲取純度較高的同質區斑塊,然後將有標記樣本點所在斑塊作為源域,剩餘未標記樣本作為目標域,實現多次遷移,減少同一圖像中各地物的分布差異,最終完成對目標域中大量未標記樣本的分類。實驗結果表明,可以得到較好的分類效果。
1 同質區獲取
本文是以圖像分割生成的同質區斑塊為基礎,基於同質區特性,可以在少量標記樣本的基礎上獲取大量可靠的擴展訓練樣本,實現對分類器的有效訓練。首先,本文通過波段選擇的方法選出高光譜圖像中3個差異性最大的波段,利用這3個波段對高光譜圖像進行Meanshift初始分割,該算法是一種特徵空間分析方法,其顯著優點是計算量小且簡單易實現,是一種有效的統計迭代算法。得到圖像的初始分割斑塊後,分析斑塊的分割純度不夠高,故對這些斑塊進行進一步的提純,算法流程如下(其中center代表中心點,value代表偏移矩陣,S代表中心點的偏移之和):
1)以光譜特徵為計算標準,計算所有像素點的特徵均值,作為中心點center1;
2)依次計算各像素點和中心點的特徵差,並由低到高進行排序得到偏移矩陣;
3)選取偏移矩陣的前40%的像素點,計算其特徵均值作為新的中心點center2;
4)計算center2與center1的特徵差值的和S;
5)若S大於,則重複步驟2)~4),直至S達到收斂;
6)最後選取與特徵中心點差值不超過最大差值的60%的點作為斑塊的同質點。
高光譜圖像經過初始分割和提純後,剩餘殘留的影像部分大多是比較雜亂的地物區和類別邊界處,故對於剩餘被剔除的遺留影像,採用超像素分割(Simpl Linear Iterative Clustering,SLIC),將分割數目增多,使得生成的超像素尺寸足夠小,從而確保同質區斑塊的分割純度。最終,將像素小於2的斑塊與鄰近相似度最高的斑塊進行合併,得到最終的同質區斑塊。
2 結合同質區和遷移學習的半監督分類
2.1 遷移成分分析
本文選取的遷移學習方法是遷移成分分析(Transfer Component Analysis,TCA),其主要解決遷移學習中概率分布問題,是領域自適應(Domain Adaptation,DA)的基本方法之一,該方法基於這一假設:源域和目標域邊緣分布不同,即P (XS )≠P (XT ),直接用傳統的機器學習方法會導致最終的分類效果較差。故假設存在一個特徵映射,使得映射後數據的邊緣分布P (Φ(XS))≈P (Φ(XT)),更進一步,條件分布P (YS|Φ(XS))≈P (YT|Φ(XT )),從而實現源域和目標域的適配,最小化兩者之間的距離,最終得到各自表達的新特徵。在此基礎上,便可利用傳統的SVM分類器,訓練有標註的源域數據DS ={XS ,P (XS)},標定完全無標註的目標域DT ={XT ,P(XT)}。
其中,TCA利用了一個經典的距離叫做最大均值差異(Maximum Mean Discrepancy,MMD)。它是再生希爾伯特空間中兩個分布之間距離的度量,其計算公式如下:
將該式平方展開後如下:
式中,引入了核矩陣:以及L矩陣:,這是一個數學的半定規劃(Semi-definite Programming,SDP)問題,解決起來非常耗時,為了減少運算時間,TCA的第一作者SinnoJialin Pan採用了降維的思想:
這裡的W 矩陣是比K 更低維度的矩陣,即為最後所求。
最終,TCA的優化目標如下:
式中,H為中心矩陣:。通過求解該式的拉格朗日對偶,最後轉化為求解的前m 個特徵值,即為W 矩陣的解。最終得到源域和目標域降維後的數據,即經過變換後的新特徵。
2.2 本文算法Semi-TCA
本文將同質區與遷移成分分析算法結合進行改進,完成對高光譜圖像的半監督分類。基於同質區特性,各同質區斑塊均屬於同一類別,故將有標記樣本點所在斑塊點全部賦予該類標籤,即可得到大量擴展訓練樣本,並將其作為源域;剩餘斑塊均不含有標記樣本,作為目標域。其中,目標域樣本遠超過源域樣本,若直接參與遷移成分分析變換,會由於兩邊樣本不均衡,造成遷移效果變差;同時,TCA需要計算大的核矩陣,核矩陣大小是由源域和目標域數據共同定義的,目標域樣本數太大也會造成TCA的計算複雜度變高。
基於此,本文將目標域中各同質區斑塊視為一個整體,從各斑塊中隨機選取任一樣本代替所在同質區,從而將目標域樣本數減少為同質區的斑塊數,大大減少了遷移成分分析變換的計算量。由於隨機選取一點的穩定性不高,故採取多次遷移的方法增加實驗的穩定性,並獲得目標域各同質區的預測標籤集,採取最大投票法,選擇類別佔比最多的那一類作為各斑塊的最終標籤值。最終,將各斑塊的標籤全部賦予給斑塊裡所有的樣本,由此獲得目標域所有樣本點的預測標籤,完成全圖分類。
本文算法的具體實現步驟如下所示:
基於同質區和遷移學習的半監督分類算法(Semi-TCA):
輸入:源域數據集(Xs ,Ys ),目標域同質區斑塊Block ,投影子空間維數m ,正則化係數μ ,基分類器ƒ,目標域斑塊隨機選點次數T。
輸出:目標域所有樣本點的預測標籤Yt。
1)for i =1 to T do;
2)在目標域各同質區斑塊中隨機取一點構成目標同質區樣本集: Xb;
3)計算核矩陣K ,根據式(4)求解投影變換矩陣W;
4)將源域數據集特徵Xs 和目標同質區樣本特徵Xb進行TCA變換,映射到m維子空間中,從而得到變換後的新特徵Xs '和Xb ';
5)在數據集(Xs ',Ys )上訓練基分類器ƒ,利用訓練得到的分類器對Xb '進行標記,得到目標同質區斑塊本次訓練對應的預測標籤Ybi;
6)end for;
7)最終得到目標同質區T 次遷移的預測標籤集Yb _set={Yb 1,Yb 2,...,YbT };
8)採取最大投票算法,得出同質區各斑塊的最終標籤Yb _last=Moore's voting(Yb _set);
9)將同質區預測標籤Yb _last分別賦予給所在斑塊內所有樣本點,求得目標域所有樣本的預測標籤Yt。
3 實驗結果與分析
3.1 實驗環境
實驗均在Matlab 2017b軟體平臺下進行,作業系統為Windows 10 64位系統,處理器為Intel(R)Core(TM)i5-8400,CPU:@2.80Ghz 2.81 Gh,內存為32 GB。
3.2 實驗數據
1)Indian Pines數據
該數據是於1992年在美國印第安納州西北部的印第安松樹林試驗區通過AVIRIS傳感器獲取的。圖像尺寸為145×145 pixel,光譜範圍0.4~2.5μm,空間解析度為20 m。該數據包含220個波段,去除20個水汽吸收波段、低信噪比波段,保留其中的200個波段進行分類。該數據共包含16類地物共10 249個標記樣本,各類標記樣本個數見表1。圖1為Indian Pines高光譜圖像的假彩色合成圖像及地面真實標記數據。
表1 Indian Pines數據的地物類別及樣本數目
Tab.1 Species and sample sizes of Indian Pines data
圖1 AVIRIS Indian Pines數據集
Fig.1 AVIRIS Indian Pines dataset
2)Pavia University 數據
本文採用的數據是由成像光譜儀ROSIS-3採集的義大利帕維亞大學高光譜遙感圖像。該數據的空間解析度為1.3 m,光譜範圍0.43~0.86μm。該數據包含115個光譜波段,圖像尺寸為610×340 pixel,實際使用去除噪聲波段後的103個波段進行分類。該高光譜圖像的假彩色合成圖像及參考分類圖像如圖2所示,從圖2中可以看出該數據包括9種地物類別,該數據的地物類別具體情況見表2,共42 776個樣本。
圖2 ROSIS帕維亞大學數據集
Fig.2 ROSIS Pavia University dataset
表2 Pavia University數據的地物類別及樣本數目
Tab.2 Species and sample sizes of Pavia University data
3.3 實驗設置
本次實驗主要分為兩部分:一是對兩種高光譜圖像進行相應的圖像分割,從而獲取較純的同質區分割斑塊。二是基於分割好的同質區進行相關實驗,將本文算法Semi-TCA與SVM、Semi-HRS以及Binge Cui等人提出的ELP-RGF方法進行對比。
1)SVM是第一個基準對比方法,直接利用初始標記樣本訓練SVM分類器,對全圖未標記樣本進行測試得到分類結果。
2)Semi-HRS是第二個基準對比方法,訓練樣本為基於同質區得到的擴展訓練樣本,將除初始標記樣本剩餘的未標記樣本作為測試樣本。
3)ELP-RGF是一種基於圖的半監督分類算法,首先將標記樣本信息傳播到相鄰的未標記樣本,其次使用超像素將相同的標籤分配給超像素內的所有像素,以此來增大訓練樣本的數量。
在圖像分割實驗中,由於IP圖像較小,故對IP圖像最終進行超像素分割的斑塊數設為1 000,而PU圖像較大,故設為8 000。
在分類實驗中,每類分別隨機選取5、10、15個有標記樣本點作為初始訓練樣本。本文算法Semi-TCA主要涉及3個參數,正則化係數λ、映射後的空間維度dim和目標域各斑塊隨機選點的次數T ,根據參數調優實驗得出最優參數λ 為0.1,dim 設為90,選點次數T 設為11。訓練樣本和Semi-HRS一致,均為擴展訓練樣本,除去初始訓練樣本,剩餘有標記的樣本點全部作為評價樣本進行測試。其中,所有算法均採用線性的支持向量機分類器(LinearSVM),並採用總體分類精度(Overall Accuracy,OA)、平均精度(Average Accuracy,AA)和Kappa 係數作為評價指標,為提高實驗的精確度和可靠性,獨立重複進行10次實驗,每次均隨機選取初始訓練樣本,將10次實驗結果的分類精度求取平均值作為各類算法的最終的分類精度。
3.4 實驗結果與分析
3.4.1 Indian Pines數據集實驗結果與分析
在該數據集下,圖像分割的過程如圖3所示,其中,在超像素分割之後,又將像素小於2的斑塊與鄰近相似度最高的斑塊進行了合併,從而得到最終的同質區,同質區斑塊數為842,分割精度為98.02%。
表3為Indian Pines數據在選定標記點相同的情況下不同方法得到的分類結果的總體精度,其表達形式是平均值±標準差。經過對比分析發現:隨著每類標記樣本個數的增加,各算法的分類精度也在不斷提升,而本文提出的半監督分類方法在選定標記點數目不同時,其分類精度總是優於其他對比方法。
圖3 Indian Pines圖像分割形成同質區斑塊的過程
Fig.3 The process of Indian Pines image segmentation to form plaques in homogeneous regions
表3 Indian Pines數據集在不同標記樣本下的總體分類精度(分類精度±標準差)(%)
Tab.3 Overall classification accuracy of the Indian Pines dataset under different labeled samples (classification accuracy ± standard deviation)(%)
為了證明本文提出的算法的有效性,我們考慮最困難的情況,即每類地物僅只有5個有標記樣本的情況。因為有標記樣本點越少,分類就越難。從表4中可以看出,當每類只選取5個標記點時,本文算法Semi-TCA總體分類精度OA相比SVM、Semi-HRS和ELP-RGF分別高24%、2%和2%。此外,Kappa 係數也為最高,圖4為該情況下各算法的全圖分類效果圖。紅色圓圈內區域,可以看出本文算法的錯分噪聲點明顯減少,在一定程度上體現了本文算法的優勢。
表4 Indian Pines各類地物在不同算法下的分類精度(分類精度±標準差)(%)
Tab.4 Classification accuracy of various species of Indian Pines by different algorithms (classification accuracy ± standard deviation) (%)
圖4 各算法在Indian Pines上的一組實驗的分類識別圖
Fig.4 Classification identification map of a set of experiments for each algorithm on Indian Pines
3.4.2 Pavia University數據集實驗結果與分析
Pavia University數據集的圖像分割的過程如圖5所示,與Indian Pines數據集不同的是合併了像素小於5的斑塊,從而增加各同質區的面積,最終分得的同質區斑塊數為6 325,分割精度為99.79%。
圖5 Pavia University圖像分割形成同質區斑塊的過程
Fig.5 The process of Pavia University image segmentation to form plaques in homogeneous regions
表5為Pavia University數據在每類地物取5、10、15個標記樣本情況下各算法的平均總體精度。經過對比分析發現:在不同的標記樣本數目下,本文算法Semi-TCA的分類精度總是優於其他對比方法,當每類標記樣本為15時,達到93%較好的總體分類精度。
表5 Pavia University數據集在不同標記樣本下的總體分類精度(分類精度±標準差)(%)
Tab.5 Overall classification accuracy of the Pavia University dataset under different labeled samples (classification accuracy ± standard deviation)(%)
表6為每類只選取5個標記點時,各類地物的分類精度,本文算法的總體分類精度OA、平均精度AA和Kappa係數相比其他3種對比方法均為最高。其中,本文算法對於瀝青路、草地、砂礫等地物的分類精度都比其餘3種算法高約3%~20%,這是因為這類地物在圖像中呈現大片塊狀均勻分布,非常有利於構建源域和目標域的相關聯繫,減少兩者之間的差異,從而提取出更有判別力的低維特徵。圖6為各算法的全圖分類效果圖。紅色圓圈內區域,可以看出本文算法的錯分點最少,分類效果最好。
表6 Pavia University數據數據集各類地物在不同算法下的分類精度(分類精度±標準差)(%)
Tab.6 Classification accuracy of various species of Pavia University by different algorithms (classification accuracy ± standard deviation) (%)
圖6 各算法在 Pavia University 上一組實驗的分類識別圖
Fig.6 Classification identification map of a set of experiments for each algorithm on Pavia University
4 結束語
針對高光譜圖像中標記樣本點少,無法訓練出完備分類器這一問題,本文提出了一種基於同質區和遷移學習的半監督分類方法。
1)同質區的使用,可以克服標記樣本數量少的困難,利用同質區特性可以擴展大量訓練樣本,充分利用無標記樣本信息參與分類器的訓練,從而構建出更完備,泛化性能更好的分類器。
2)在同一幅高光譜圖像中,採取遷移學習的方法,將圖中有標記樣本區域遷移至無標記樣本區域,最小化它們之間的分布差異,可以在原有較好的分類效果上進一步提升。
實驗結果表明,本文算法在兩組實際高光譜圖像分類中都取得優於其他對比方法的分類精度。由於本文算法需要多次遷移且計算複雜度較高,故存在運行時間較長的缺點,進一步的研究可以針對遷移學習算法的計算量做一些改進,同時,如何更好地減少同一幅影像上的分布差異也有待探索。