申奕涵,楊京輝,王 皓
(中國地質大學(北京)信息工程學院,北京 100083)
自20世紀80年代以來,高光譜遙感在測譜學的基礎上開創(chuàng)了新的對地觀測手段,這是遙感技術發(fā)展的一項重大進展。高光譜遙感產生的圖像是在連續(xù)幾十到上百個窄的波段上獲取的區(qū)域地物圖像數據,其圖像含有豐富的空間和光譜信息。利用圖像中每個像素點在不同波段上的不同特征信息,可以將其區(qū)分為不同的類別。這種特點為觀測地物分布、挖掘地物信息提供重要的數據支撐[1]。
目前,廣泛使用的高光譜圖像數據特征提取方法為線性特征提取算法,其中應用較多的方法包括主成分分析(Principal Component Analysis,PCA)[2-3]、線性判別分析(Linear Discriminant Analysis,LDA)[4-5]以及包括局部線性嵌入算法和拉普拉斯特征映射等方法在內的非線性特征提取方法。分類方法主要有支持向量機(Support Vector Machine,SVM)、貝葉斯方法、卷積神經網絡等[6-8]。雖然上述這些方法應用較多,但其能夠學習到的特征較為有限,在高光譜標記樣本缺少的情況下,上述方法的分類性能受到了一定的制約。
由于已有的分類器性能依賴于訓練樣本的數量及訓練樣本所含的信息量,因此選擇合適的樣本作為訓練樣本對分類器進行訓練是非常重要的[9-10]。然而,在隨機選擇樣本并對樣本進行標記時,一般是對場景進行視覺檢查并連續(xù)地對每個樣本進行標記。這樣標記樣本使得訓練集高度冗余,這是由于相鄰像素在很大程度上攜帶了相同的信息,而這種冗余又會延長訓練階段的時間,導致資源浪費。
針對目前高光譜圖像分類訓練樣本較少的問題,文獻[10]首次將主動學習用于了高光譜遙感影像的分類,提出了一種基于概率分類模型的主動學習方法;文獻[11]提出了一種基于深度貝葉斯的主動學習高光譜圖像分類算法;文獻[12]設計了一種多準則主動學習的解決方案,考慮多個標準來選擇信息豐富的樣本;文獻[13]提出了一種基于空-譜信息融合的主動學習與標簽傳遞算法相結合的分類框架;文獻[14]提出了一種結合卷積神經網絡的主動學習方法對高光譜圖像進行分類。實驗驗證表明,上述方法能在較少標注樣本的情況下有效提高高光譜圖像的分類精度。
針對圖像分類訓練樣本數量少、分類精度低及攜帶大量相同信息的問題,本文提出一種基于網格法分集和主動學習的高光譜圖像分類方法。該方法的主要創(chuàng)新點在于采用了網格法分集和主動學習的方法來選擇樣本,從而使選擇的樣本含有較高的信息量,在訓練集盡可能小的情況下可保證分類模型具有較好的性能。該方法既有效減少了高光譜圖像中的冗余信息,又進一步提高了分類的精確度和可靠性。此外,本文聯合運用主成分分析和線性判別分析對光譜數據進行降維,進一步提高了運算速度。
主動學習算法通過迭代抽樣,而不是被動地接受數據,主動選擇出具有典型特征的樣本與原有的有標記訓練樣本,將主動學習選擇出的有標記樣本反復迭代,優(yōu)化擴充訓練樣本集,以此達到最優(yōu)訓練樣本集的目的。
主動學習[10]在高光譜圖像分類領域得到了研究人員的廣泛關注。在遙感領域里常用的方法有:查詢專家委員會(Entropy Query by Bagging,EQB)、Breaking Ties(BT)、邊緣采樣策略(Margin Sampling,MS)[15-16]等。
在進行數據分類時,越靠近分類面的樣本,越具有不確定性,其含有的信息量也越大。將這樣的樣本作為訓練樣本,能夠訓練出更加準確的分類器。設未被標記的樣本集為U,可能的類標號為Y={1,2,…},則某未被標記的樣本屬于各個類別的概率為p。當此樣本屬于多個類別的概率相等時,說明此樣本屬于某個類別的不確定性越大,進而說明了它含有的信息量更適合作為訓練樣本。
支持向量機模型滿足核函數理論,是建立在統計學習理論基礎上的二分類器[17-19]。它將原始的低維空間上的非線性數據或線性不可分數據映射到高維空間中,以結構風險最小化為準則構建最優(yōu)分類超平面,使兩類數據具有最優(yōu)的分類結果。SVM在高維數據處理方面具有良好的分類性能,被廣泛應用在高光譜領域。
SVM的基本思想是求解分類超平面。設數據集I={(x1,y1),(x2,y2),…,(xn,yn)},其中xi(1≤i≤n)表示樣本的特征向量,yi(1≤i≤n)表示樣本的標簽,分類超平面函數為f(x)=ωTx+b。為了在保證間隔最大的情況下正確地分開訓練樣本,這個兩類分類問題被轉換成了一個帶約束的最小值問題,如式(1)、式(2)所示,其中l(wèi)為樣本數。
(1)
yi(ωTxi+b)-1≥0,i=1,…,l
(2)
求解過程中,可以引入拉格朗日(Lagrange)函數,如式(3)所示。
(3)
令θ(ω)=maxλ(ω,b,a),則在滿足所有約束條件的情況下,式(1)可等價于最小化θ(ω)。
事實上,所有非支持向量所對應的拉格朗日乘子都是等于0的,即只有支持向量落在ωTx+b=±1上的樣本點可以決定最優(yōu)超平面的計算。
首先,對高光譜數據進行平滑(九點窗)和標準化預處理。為了有效地從龐大的樣本集中選擇更具代表性的數據作為訓練集的數據,本文提出了網格法分集的方法:先對數據進行主成分分析,降低數據維數,考慮到前3個主成分的累積貢獻率已經較高,所以在三維主成分空間進行后續(xù)的操作。
將前3個主成分得分向量分別記為pc1、pc2、pc3,找出每個主成分得分向量中的最大值pcjmax和最小值pcjmin(j=1,2,3),兩者相減得到各自的范圍,即(pcjmax-pcjmin)。將(pcjmax-pccjmin)再除以正整數Rj(j=1,2,3),得到步長(pcjmax-pcjmin)/Rj。在每一個主成分得分軸上以上述步長分別劃分網格,如圖1所示,共得到R1×R2×R3個網格,每一個網格對應一個小長方體。
圖1 網格法分集挑選數據示例
圖1中,不同形狀的符號代表不同的地物類別,其中部分長方體沒有樣本落入其中,其余的長方體則有一個或多個樣本落入其中。若有多個樣本聚集在一起,則說明它們在很大程度上攜帶了相似的信息。為了避免這些樣本都被選擇進入訓練集而增加冗余度,本文在含有多個樣本的長方體中隨機選出一個樣本,并根據其序號將該序號對應的原始光譜數據歸入訓練集,然后將該網格內其余序號的光譜數據歸入測試集。
同時,網格法分集還考慮了不同類別的樣本數量差異。為了防止訓練集中沒有小樣本類別地物樣本,本方法針對不同類別的樣本劃分了不同疏密程度的網格,根據類別的不同,分別挑選數據。對于樣本數量較小的類別劃分更加密集的網格,以便讓更多此類別的數據落入長方體,并歸入訓練集中。網格法分集可以有效提高小樣本類別的訓練樣本數,降低大樣本類別的訓練樣本數,并在最大限度上保證每個類別的地物都有近似相同的訓練樣本數。
對訓練集進行PCA和LDA降維操作,取前q個主成分形成q維特征空間。LDA是一種有監(jiān)督的特征提取算法,對于給定的訓練集,LDA可以使類內方差最小,類間方差最大。LDA可有效提取不同類別的特征,并將所有樣本轉換到新的子空間中。
采用PCA得到的系數矩陣和訓練集的光譜均值對測試集的樣本進行仿真,得到其主成分得分矩陣。再用訓練集的LDA判別式系數矩陣處理測試集,得到測試集的LDA判別式得分矩陣。
隨后,利用訓練集和測試集的判別式得分矩陣及訓練集的標簽向量進行K-近鄰(K-Nearest Neighbor,KNN)分類概率預測。將未標注樣本加入到KNN分類器中進行訓練,并對未標記的樣本屬于各個類別的概率進行預測;然后,按照從大到小的順序對此概率排序,將最大概率與次大概率相減,記為P2;隨后對P2按照從小到大排列,按照數據的真實類別,對P2最小的w個樣本進行人工標注,歸入訓練集,并移出測試集;重新對新的訓練集和測試集進行PCA和LDA降維,再進行KNN分類概率預測。按照上述步驟循環(huán)進行,當歸入訓練集的數據達到所需數量時,退出循環(huán)。
考慮到高光譜空間特征對分類準確性的影響,本文在特征選擇的范疇,將其二維位置坐標作為有效特征,并將其合并在原有的d維特征空間中,則特征空間的維數變化為d+2。本文以主動學習后選出的樣本作訓練集,對所有樣本進行SVM分類測試,得到最終的分類結果。
基于網格法分集和主動學習的算法流程如圖2所示。
圖2 基于網格法分集和主動學習的算法流程圖
本實驗選取的高光譜圖像數據為Indian Pines數據,其波長覆蓋范圍為400~2 500 nm。剔除20個水吸收波段后剩余200個波段,每個波段包含145像素×145像素,共有16種地物類別。第115波段的灰度顯示圖如圖3所示。
圖3 第115波段的灰度顯示圖
選擇樣本數目較多的14個類別進行實驗,地物真實類別圖如圖4所示。
圖4 地物真實類別展示
3.2.1 評價指標
本文方法的實驗結果將通過下面3個標準進行評判,并將結果與其它方法的結果進行比較。評價指標的值越大說明模型的分類效果越強。
總體分類精度(Overall Accuracy,OA)的定義為:統計正確分類的樣本數目,與被標記的總體樣本數目作比值。該指標可以直觀地顯示分類效果的好壞,其計算式為
(4)
式中,N表示被標記的總體樣本數目;mi表示正確分類到第i類的樣本數量。
平均分類精度(Average Accuracy,AA)的定義為:將每一類別正確分類的樣本數目占該類別樣本數目的比值進行求和,并與被標記的總體樣本數目做比值。AA的計算式為
(5)
可以看出,當某一類分類精度過低時,OA就會被拉低。因此相比于OA,AA更加客觀。但當每個類別具有相同的樣本數目時,OA與AA相等。
Kappa分析是以分類混淆矩陣判定分類精度的評判指標,Kappa值越大代表分類圖像與監(jiān)督圖像的一致性越高,其計算式如(6)所示。
(6)
3.2.2 實驗對比方法
本文在Intel(R)Core(TM)i5-6200U CPU @ 2.30 GHz的PC機上利用MATLAB 2015b進行仿真。隨后,將本文方法得到的分類結果分別與以下幾種情況進行比較:
(1)隨機分集。在其他條件與本文算法流程相同的情況下,分集時不采用網格法分集的方式,而采用隨機分集的方式,從樣本集中隨機抽取與網格法分集相同數量的樣本作為訓練集樣本,再進行主動學習操作;
(2)省略LDA降維過程。在其他條件相同的情況下,降維時僅進行PCA操作而不進行LDA操作。通過PCA將數據降至20維;
(3)非主動學習。不進行主動學習操作,通過網格法分集中網格的疏密來控制選擇數據的數量,以保證最終的訓練集樣本數與本文算法相同;
(4)未合并二維坐標信息。在進行SVM分類操作時,不考慮高光譜圖像的空間信息,即不將地物的坐標信息并入訓練集和測試集的特征空間;
(5)本文方法。本文采用PCA+LDA+合并二維坐標+網格法分集+主動學習。
對原始數據進行主成分分析,將主成分空間劃分成若干網格,在每個含有樣本的網格中隨機挑選一個樣本,并將其原始光譜數據歸入訓練集;然后,對訓練集進行PCA和LDA降維,得到相應矩陣后,利用K-近鄰法進行主動學習,從中選擇不確定性最大的若干樣本歸入訓練集;最后,在原有d維特征空間的基礎上合并二維位置坐標,以主動學習后選出的樣本作訓練集,對所有樣本進行SVM分類測試,得到最終的分類結果。
3.3.1 參數設置
在網格法分集的時候,本實驗盡量提高小樣本類別的訓練樣本數,在pc1、pc2、pc3這3個主成分得分向量軸上盡可能多劃分網格,并降低大樣本類別的訓練樣本數,盡量減少網格劃分。通過觀察類別中的樣本總數量和挑選的初始樣本數量來決定所有的網格劃分粒度。通過網格法分集,從全部的10 320個樣本集中共挑出50個作為初始樣本,初始樣本數不超過樣本總數的0.5%。每一類的具體挑選情況如表1所示。
表1 不同類別的網格劃分情況
在用K-近鄰法預測未標記的樣本屬于各個類別的概率時,K值的選取也是決定分類精度的關鍵因素。從分類精度上考慮,實驗進行了訓練樣本為200時不同K值的分類精度比較,如表2所示。由結果可知,在K=2或K=4時,精度較高。從預測類別的可能性來說,當K=4時,預測結果要更加豐富,更具差異性。因此,本文選擇K=4作為K-近鄰的輸入參數。
表2 不同K值的分類精度比較
在主動學習的過程中,每次迭代選擇25個樣本進行標記。當訓練集樣本達到400時,每次迭代樣本量改為100,直到滿足訓練樣本數目不超過樣本總數的10%,即1 000個為止,其它的樣本均作為測試樣本。
在數據降維的過程中,本實驗先通過PCA將數據降成20維,再通過LDA將數據降為10維,進行SVM分類時合并地物的二維坐標后,總維數為12。
3.3.2 不同方法的分類性能分析與對比
本文中,5種不同方法的分類性能如圖5、表3和表4所示。
圖5為訓練集數量為200時的分類地物圖展示。由圖5可知,運用本文所提方法后,圖中的“斑點”現象得到了改善,可以更加清晰地看到多個類別的較為完整的分類。
圖5 不同方法的分類地物圖展示
如表3所示為在訓練集樣本數為200時,OA、AA和Kappa系數的表現情況。從表3的OA、AA及Kappa系數橫向比較中可以看出,本文提出算法的精度均高于對比方法。以OA為例,在訓練集樣本數為200時,本文方法比隨機分集高出12.24%,比省略LDA操作提高5.76%,比非主動學習高出19.76%,比未合并二維坐標提高了14.82%。
表3 不同方法的分類精度比較
表4展示了不同算法的運算效率。本文將每種方法在訓練集樣本數為200時的程序分別運行10次,再計算平均運行時間。結果表明,本文算法運行時間分別比隨機分集、未合并二維坐標減少了3.56 s和8.15 s,比省略LDA降維操作和非主動學習分別增加了1.03 s、5.28 s。
表4 不同方法的運算速度比較
綜上所述,本文方法雖在時間上略長于非主動學習和省略LDA降維操作,但在分類精度上較其他方法均有一定提升。綜合考慮,本文算法的效果最佳。
3.3.3 不同訓練樣本下網格法分集和隨機分集的分類性能分析
圖6展示了訓練樣本迭代過程中網格法分集和隨機分集的分類精度變化。由圖可知,網格法分集對精度有比較大幅的提升,這不受訓練樣本數量的影響,且其對平均分類精度提升最為明顯,例如在訓練樣本數僅為100的時候,其對AA有24.42%的精度提升;在訓練樣本數為400的時候,其對AA有20.94%的提升。造成該結果的主要原因為網格法分集盡可能照顧到了小樣本類別的分類情況,對樣本數量比較小的地物類別能夠起到更好的分類效果,進而提高了整體分類精度。
(a)
3.3.4 不同訓練樣本下僅PCA降維操作與PCA+LDA降維操作的分類性能分析
圖7展示了在訓練樣本迭代過程中,僅PCA降維操作與PCA+LDA降維操作后分類精度的變化情況。增加LDA降維后,OA、AA和Kappa系數均有提升,平均漲幅在2%左右。相較于PCA降維,LDA在降維過程中,可以使用類別的先驗知識經驗,且樣本分類信息依賴均值而不是方差,因此產生了更好的效果。
(a)
此外,本文還通過PCA將數據降成10維,并與聯合運用PCA和LDA將數據降為10維進行了性能對比,結果如圖8所示。直接用PCA降為10維,本文方法的OA平均提高了3.7%,平均運行時間僅增加了2.49 s,說明了加入LDA降維的必要性。
(a)
3.3.5 不同訓練樣本下非主動學習與主動學習的分類性能分析
不同訓練樣本下非主動學習與主動學習的分類精度如圖9所示。
(a)
在訓練樣本數為75時,相較于非主動學習,主動學習算法的OA、AA、Kappa系數分別增加了32.02%、8.92%和27.79%。在訓練樣本數為400時,主動學習算法的OA、AA、Kappa系數漲幅分別為17.24%、6.36%和18.99%??梢钥闯觯緦嶒炛兄鲃訉W習通過將更難分類的樣本歸入訓練集,在小樣本條件下對評價指標的提升更明顯,能夠呈現出更好、更可靠的分類性能。
3.3.6 不同訓練樣本下不合并二維坐標與合并二維坐標的分類性能分析
圖10展示了訓練樣本迭代過程中,合并二維坐標前后的分類精度變化。在SVM分類中加入地物的二維坐標后,3個分類精度的評價指標有較大幅度的增長。其中,無論訓練集樣本數量的多或少,其平均漲幅均保持在10%左右。在SVM分類中加入地物的二維坐標后,相當于加入了高光譜數據的空間特征,這對于分類精度的改善起到了至關重要的作用。
(a)
針對高光譜圖像分類中訓練樣本數量少、冗余度高的問題,本文提出了一種基于網格法分集和主動學習的算法。該算法首先將主成分空間劃分成若干網格,在每個含有樣本的網格中隨機挑選一個樣本;接著,對訓練集進行PCA和LDA降維;得到相應矩陣后,利用K-近鄰法進行主動學習,從中選擇不確定性大的樣本歸入訓練集,并進行了訓練集數據的篩選。在Indian Pines高光譜分類的仿真實驗結果表明,在訓練集樣本數相同的情況下,網格法分集、主動學習、LDA降維和合并二維坐標均能不同程度地提高高光譜分類精度。其中,LDA降維對精度有小幅度提高;網格法分集能夠更好地照顧到小樣本地物的分類準確度;主動學習在小樣本訓練集的情況下對精度提升更加明顯;合并二維坐標能夠大幅提高分類精度。
今后的研究重點集中在以下兩個方面:首先,在網格法分集的部分,將采用更加智能的方式對三維主成分空間進行粒度劃分;其次,考慮提取空間紋理、形狀、對象、語義等空間信息,以便更加有效地融合空間特征,從而進一步提高運行效率和分類精度。