舒振宇,王典洪,周 城,海濤洋
(1中南民族大學 電信學院,武漢 430074; 2中國地質(zhì)大學 地球物理與空間信息學院,武漢 430074)
基于DLSVM算法的高分辨率遙感圖像分類研究
舒振宇1,2,王典洪2,周 城1,海濤洋1
(1中南民族大學 電信學院,武漢 430074; 2中國地質(zhì)大學 地球物理與空間信息學院,武漢 430074)
為了進一步提高高分辨率遙感圖像的分類精度及效率,融合支持向量機SVM及局部支持向量機KNNSVM算法,借助主動學習相關(guān)理論,提出了基于距離的局部支持向量機算法(DLSVM).該算法通過對未標記樣本和超平面之間的距離與預(yù)先設(shè)定的距離閾值相比較,判斷是否需要進一步建立局部支持向量機KNNSVM來確定樣本的類標.對實際的高分辨率遙感圖像分類的實驗結(jié)果顯示:在合適的距離閾值與K值的設(shè)置下,該算法能夠提高支持向量機SVM的分類精度,同時大大降低KNNSVM算法的時間消耗.
高分辨率遙感圖像分類;支持向量機;局部支持向量機
近年來,分辨率越來越高的衛(wèi)星不斷被送上太空,高分辨率地面圖像的獲取也越來越容易.然而空間分辨率與時間分辨率的不斷提高也使得遙感圖像的數(shù)量呈指數(shù)級不斷增加,給遙感圖像的處理帶來越來越嚴峻的挑戰(zhàn).面對遙感圖像的海量數(shù)據(jù),利用機器學習及數(shù)據(jù)挖掘技術(shù)實現(xiàn)計算機自動處理圖像數(shù)據(jù)成為主要方法.其中,具有分類精度較高、魯棒性好、支持小樣本訓(xùn)練集及稀疏性好等特點的支持向量機技術(shù)[1]是遙感圖像分類的重要方法之一,并在實踐中得到廣泛應(yīng)用[2,3].然而,Steinwart[4]證明傳統(tǒng)的支持向量機SVM模型是不滿足全局一致性要求的,這使得其分類效果在面對某些訓(xùn)練集時分類精度不高.為了提高SVM的分類表現(xiàn),彌補其不滿足全局一致性的不足,局部支持向量機技術(shù)(Local SVM)由Brailovsky等[5]于1999年提出,通過給傳統(tǒng)支持向量機的核函數(shù)添加兩個乘子使其具有了局部性.但是添加乘子的局部支持向量機因為在樣本空間計算距離,導(dǎo)致算法的性能對不同的數(shù)據(jù)集差異較大.Zhang等人[6]提出了SVM-KNN算法,將KNN算法與SVM算法進行了融合.SVM-KNN也是在樣本空間尋找近鄰,因此,算法的性能也不太穩(wěn)定.為了彌補SVM-KNN存在的不足,Blanzicrii和Melgani[7]提出了K近鄰局部支持向量機算法(KNNSVM),該算法在核空間尋找待分類樣本的近鄰,提高了局部支持向量機算法性能的穩(wěn)定性,成為了局部支持向量機的代表性算法.后來,LSVM[8]、PSVM[8]、Falk-SVM[9]以及協(xié)同聚類等[10]優(yōu)化KNNSVM的算法相繼被提出.
通過SVM對4幅高分辨率遙感圖像分類結(jié)果的統(tǒng)計分析,發(fā)現(xiàn)錯誤樣本的分布都在距離超平面較近的地方,而這些位置上的樣本點如果用局部支持向量機算法KNNSVM進行分類則正確率較高,因此考慮借鑒主動學習的理論,通過計算待分類樣本與超平面的距離考慮對距離不同的待分類樣本選擇SVM或KNNSVM進行分類來進一步提高遙感圖像的分類精度.
支持向量機的構(gòu)建是基于支持向量而不是所有訓(xùn)練樣本,因此,其運算速度快,魯棒性好,被廣泛運用于海量數(shù)據(jù)的遙感圖像分類領(lǐng)域.為了深入分析支持向量機SVM分類器分類錯誤樣本的分布特點,我們運用4幅由Quickbird得到的高分辨率兩類遙感圖像進行實驗.
根據(jù)支持向量機原理,分類器是由與超平面距離為1的被稱之為支持向量的訓(xùn)練樣本建立的.因此,對已有的4幅高分辨率遙感圖像運用支持向量機SVM進行分類,對每一個測試樣本計算其與超平面的距離,并根據(jù)距離統(tǒng)計被錯分的樣本數(shù).
表1統(tǒng)計了離超平面的距離小于1和離超平面距離大于1的兩類樣本利用SVM分類的精度情況.從表中可以看出,與超平面距離大于1的樣本分類的正確率遠大于距離小于1的樣本分類的正確率.在錯分樣本中,距離小于1的樣本數(shù)也多于距離大于1的樣本數(shù).這說明采用SVM進行分類時,離超平面越近,樣本的被錯分的概率就越大.
為了進一步說明錯分樣本的分布情況,我們對錯誤樣本離超平面距離的不同區(qū)間進行了樣本數(shù)量的統(tǒng)計,如圖1所示,橫坐標表示離超平面的距離,縱坐標表示該區(qū)間錯分樣本數(shù)占總錯分樣本數(shù)的百分比.從圖中可以看到,錯誤樣本主要堆積在離超平面距離較近的范圍,特別是在區(qū)間[0,1]之內(nèi).從數(shù)據(jù)值大小來看,數(shù)據(jù)A中在小于1的范圍內(nèi)集中了近80%的錯分樣本,數(shù)據(jù)B和C在離超平面小于2的距離范圍內(nèi)集中了近80%的錯分樣本,而數(shù)據(jù)D在此距離內(nèi)也集中了72%的錯分樣本.因此,說明當樣本離超平面距離越近時,其被錯分的概率越大,也就是說,離超平面越近的點其類標歸屬的不確定性越大.另一方面,當樣本點遠離超平面時,其被錯分的可能性將大大減少.
為了驗證對于這些SVM容易錯分的樣本,KNNSVM算法是否會有更好的表現(xiàn),我們比較了與超平面距離小于1的樣本利用SVM和KNNSVM分類的精度情況,如圖2所示.
圖2中,橫坐標表示K值的大小,縱坐標表示分類的精度,其中三條曲線分別代表SVM,KNNSVM和KNNSVM在不同K值中精度的平均值.對于數(shù)據(jù)A、B和C,KNNSVM的分類精度值高于SVM,僅在數(shù)據(jù)D中,SVM大于KNNSVM.說明當樣本距離超平面小于1時,KNNSVM的分類精度高于SVM.因此,可以考慮對這些樣本建立局部支持向量機KNNSVM以提高樣本的分類精度.
基于上述分析可知,利用SVM分類器,超平面附近的點其類標的不確定性最大,最容易被錯分,而局部支持向量機KNNSVM算法對這類樣本分類的精度更高,效果更好,因此找到這些易錯分的樣本,并對它們建立局部支持向量機有利于進一步提高支持向量機SVM的分類表現(xiàn).傳統(tǒng)SVM錯分樣本更多地集中在離超平面較近的范圍,這類樣本就是信息量較大、錯分可能性較大的樣本.主動學習方法就是一種尋找信息量最大的未標記樣本,然后通過對其進行標注后將其加入到訓(xùn)練集,以得到更優(yōu)化的分類器.而主動學習中常用的方法之一就是尋找不確定性最大的未標記樣本(信息量最大),即最容易被錯分的未標記樣本.對這種未標記樣本的搜尋與我們想要找的最容易錯分的未標記樣本一致,因此,我們將借助于主動學習的理論來尋找這些容易錯分的樣本.
基于不確定性選擇訓(xùn)練樣本是運用最廣泛,也是最簡單的主動學習樣本采樣策略.其核心理念是選擇分類器認為最難分的訓(xùn)練樣本,然后獲取其類標后,將其加入到訓(xùn)練集.對于二分類問題,找到的訓(xùn)練樣本是屬于正類或負類概率最接近于0.5 的樣本.常用的不確定性的計算有兩種方法,基于邊緣的方法和后驗概率的方法.基于邊緣的方法主要針對支持向量機模型,后驗概率主要是計算測試樣本屬于某一類概率值的大小.圍繞本文的研究問題,選擇基于邊緣的不確定性樣本采樣策略.
基于邊緣的不確定性樣本選擇策略是基于SVM分類器提出的,計算訓(xùn)練樣本的不確定性的方法是通過計算每個訓(xùn)練樣本到分類邊緣的距離.對二分類問題,不確定性計算函數(shù)可以表示為(1)式:
(1)
其中,SV表示支持向量,αj為非零的系數(shù),yj表示支持向量xj的類標,其中+1為正類,-1為負類,K(xj,xi)表示xj,xi的內(nèi)積.
Tong和Chang[13]提出了邊緣樣本選擇方法(MS),即按照每一個未標記樣本離分類面的距離來判定該未標記樣本是否被選擇加入到訓(xùn)練集中,他們認為包含最大信息量的未標記樣本就是離分類面距離最近的樣本,因此,這個樣本應(yīng)該被找出來向?qū)<以儐柶漕悩耍⒃诘玫狡渌鶎兕悇e后將其加入到訓(xùn)練集中.因此,MS策略可以表示為(2)式:
(2)
綜上所述,從分類精度分析,支持向量機SVM算法對距離超平面較近的樣本分類精度較低,而對遠離超平面的樣本的分類表現(xiàn)較好;同時,局部支持向量機KNNSVM在這些離超平面較近的點上的分類精度較高.融合SVM及KNNSVM兩個分類器的優(yōu)勢,為了進一步提高支持向量機SVM的分類性能,同時優(yōu)化KNNSVM的分類時間,借助于主動學習基于邊緣的采樣策略,我們提出了基于距離感知的局部支持向量機算法(DLSVM).
3.1 DLSVM算法描述
DLSVM算法的核心就是利用主動學習中基于邊緣不確定性的采樣策略,尋找離超平面距離在設(shè)置的距離閾值THRE內(nèi)的未標記樣本xi,在支持向量中尋找xi的K個近鄰建立局部支持向量機得到xi的類標記.公式描述如(3)式.因為錯分樣本點主要集中在超平面附近,而支持向量是與超平面距離為1的點,因此在支持向量集中尋找的近鄰更能代表該未標記樣例的分布特點,節(jié)省搜尋近鄰的時間.
(3)
其中,SV是支持向量集,N是所有訓(xùn)練集的樣本個數(shù),k是近鄰個數(shù),THRE是距離閾值.K個近鄰的選取公式如(4)式:
(4)
該公式對K個近鄰進行排序,其中xrxi(1)是核空間中距離未標記樣例xi最近的支持向量,而xrxi(j)是特征空間中距離排名第j的支持向量.
3.2 DLSVM的算法流程
基于距離的局部支持向量機(DLSVM)算法的核心思想,通過對傳統(tǒng)SVM分類易錯的近距離樣本建立局部支持向量機,來提高分類器對近距離樣本的分類精度,從而提高整體分類效果.因此,DLSVM的算法具體描述如下.
(1)在整個訓(xùn)練集學習SVM分類器模型M.
(2)對輸入樣本xi,先采用模型M對其分類,得到分類結(jié)果標簽A;同時計算樣本xi到超平面的距離Dist.
(3)比較距離Dist與閾值Thre的大小,如果Dist (4)對于支持向量機模型M,建立支持向量的集合C,以集合C為訓(xùn)練集對樣本xi進行KNNSVM分類,得到類結(jié)果.進入第(6)步. (5)模型M對樣本xi的分類結(jié)果A即為xi的最終分類結(jié)果.進入下一步. (6)是否還有樣本需要分類,有就跳轉(zhuǎn)到第一步進行下一樣本的分類;否則結(jié)束. 為了測試DLSVM算法的分類表現(xiàn),我們利用該算法對實踐中的高分辨率遙感圖像進行了分類,具體的實驗方案及結(jié)果分析如下. 4.1 實驗數(shù)據(jù)及方案 實驗采用的遙感圖像如圖3所示. 選擇的訓(xùn)練樣本數(shù)據(jù)以及測試樣本數(shù)據(jù)如表2所示.實驗從算法的運行時間及分類精度等兩個維度對算法進行了測試.同時,為了對比實驗效果,將距離閾值設(shè)定為從0開始以0.5遞增直至2.5,大于2.5作為一個單獨的步長.實驗結(jié)果記錄了算法精度、算法運行時間以及采用KNNSVM分類的樣本比例等參數(shù).所有的支持向量機算法及KNNSVM的核函數(shù)均采用RBF核函數(shù). 4.2 實驗結(jié)果 DLSVM算法在不同距離閾值Thre以及不同近鄰K值下的運行時間變化曲線如圖4所示,圖5是不同距離閾值Thre以及不同近鄰K值下的精度變化曲線,而表3則統(tǒng)計了4幅遙感圖像的樣本在不同距離閾值下采用KNNSVM分類的樣本比例.實驗結(jié)果分析如下. 4.2.1 算法的運行時間 圖4是DLSVM算法隨不同的距離閾值以及不同近鄰K值算法運行時間變化的曲線圖,圖中橫坐標是不同的近鄰數(shù)K值,縱坐標是DLSVM算法運行時間,圖中的不同曲線表示在不同距離閾值下DLSVM的時間變化.其中,當距離閾值Trhe=0時,所有的樣本都采用傳統(tǒng)的SVM算法分類,因此其結(jié)果與傳統(tǒng)的SVM一致;當閾值Trhe=∞時,所有樣本都采用KNNSVM算法,但不同的是,KNNSVM尋找近鄰是在全部訓(xùn)練集中進行的,而這里是只在支持向量集中尋找K個近鄰.分析圖中曲線可以得到如下結(jié)論. (1)隨著K值的增加,除了傳統(tǒng)的SVM曲線外,其他的曲線全部隨之增加,特別是,曲線的斜率也不斷增加.說明當K值增大時,運行時間的消耗增長速度不是一定的,而是不斷增加的.因此,K值越大,時間的消耗增長得越快. (2)當距離閾值THRE從0到2.5,再到∞時,總體上,時間的消耗也越來越大.并且,THRE=2.5的曲線與THRE=∞的曲線之間的差值特別小,在數(shù)據(jù)A、B和D中,兩條曲線甚至出現(xiàn)部分重合.說明,利用局部支持向量機KNNSVM分類的樣本點幾乎都集中于距離超平面2.5以內(nèi)的范圍內(nèi).并且,基于距離感知的局部支持向量機DLSVM的時間消耗是小于KNNSVM的(除Trhe=∞的情況). (3)當選擇的K值較小時,如K≤25時,不同距離閾值的曲線差值非常小,即當K比較小時,由KNNSVM算法增加的時間消耗很小. 為了進一步證明樣本采用不同算法的比例,除了測試DLSVM算法的運行時間外,我們還計算了不同距離閾值下利用KNNSVM分類的樣本數(shù),如表3所示. 從表3中可知,當距離閾值從THRE=0到THRE=2.5時,利用KNNSVM分類的樣本數(shù)持續(xù)增加,特別是到THRE=2.5時,對數(shù)據(jù)A和B,90%以上的樣本點都是采用KNNSVM,說明訓(xùn)練樣本點基本集中于距離超平面2.5的距離以內(nèi). 4.2.2 算法的精度分析 圖5是DLSVM在不同距離閾值Thre及不同近鄰K值情況下,算法精度的變化曲線.圖中橫坐標是不同的近鄰數(shù)K值,縱坐標是DLSVM算法精度的百分比表示,圖中的不同曲線表示在不同距離閾值Thre下DLSVM的精度變化.其中,當閾值Trhe=0時,所有的樣本都采用傳統(tǒng)的SVM算法分類,因此其精度不隨近鄰K值的變化而變化,是一個定值;當閾值Trhe=∞時,所有樣本都采用KNNSVM算法,但不同的是,KNNSVM尋找近鄰不是在全部訓(xùn)練集中進行的,而這里是在支持向量集中尋找K個近鄰.根據(jù)圖中顯示結(jié)果,可以得到如下的實驗結(jié)論. (1)當K ≤45,Thre≤1.0時,DLSVM精度高于傳統(tǒng)的SVM算法. (2)當THRE不變時,在數(shù)據(jù)B、C和D中,DLSVM的精度在K值從0開始增加時,開始會隨之增加,達到一個高峰后慢慢趨于平緩. (3)當K值一定時,且K≤45時,A、B、C和D數(shù)據(jù)基本呈現(xiàn)出THRE≤1.0時的精度曲線在傳統(tǒng)SVM的曲線之上,THRE≥1.0的精度曲線在SVM以下,同時也高于KNNSVM(Thre=∞).其原因在于當距離閾值Thre取較大值時(Thre>1.5),近鄰由于是在支持向量集中搜索,此時找到的近鄰可能不是真正離樣本最近的樣本,特別是在K值很小的時候.此時導(dǎo)致算法精度有明顯的下降.而當K>45時,THRE的曲線從0.5到2.5基本高于或趨近于傳統(tǒng)SVM的精度值;另一方面,THRE從0.5到2.5的精度曲線也趨近于KNNSVM(Thre=∞),說明基于距離感知的局部支持向量機DLSVM的精度與KNNSVM相當.同時,由于K值較大,尋找到的近鄰更多,更能代表訓(xùn)練樣本的真實特征,因此,Thre取較大值時(Thre>1.5),分類精度比K值小的時候更高. 4.2.3 算法結(jié)果綜合分析 結(jié)合DLSVM算法的精度和時間兩個方面,可以看到當K值增加時,時間消耗增大;同時距離閾值THRE增加時,時間消耗也是增加的.但是在K值偏小時,不同距離閾值THRE的消耗時間差值較小.另一方面,當K值較小時,且距離閾值THRE ≤1.0時,在4個高分辨率遙感圖像分類中都顯示了基于距離感知的局部支持向量機DLSVM的算法精度明顯高于傳統(tǒng)SVM.因此,我們認為設(shè)定較小的K值,和距離閾值THRE ≤1.0,既能提高傳統(tǒng)SVM分類器的分類精度,同時在時間消耗上與傳統(tǒng)支持向量機SVM差別不大,這樣的DLSVM優(yōu)于傳統(tǒng)的SVM,又比局部支持向量機KNNSVM算法耗費的時間更短. 因此,綜合對傳統(tǒng)支持向量機SVM錯分樣本的特征分析,基于距離感知的局部支持向量機DLSVM算法在實際應(yīng)用中可以選擇較小的距離THRE和K值.如本實驗中的高分辨率數(shù)據(jù)A、B、C和D可以選擇THRE=1.0,K≤45,這樣設(shè)置后得到的DLSVM算法的運行結(jié)果優(yōu)于傳統(tǒng)的SVM且與KNNSVM的精度相當,但在時間消耗上遠小于局部支持向量機KNNSVM. 高分辨率遙感圖像分類是遙感圖像處理的第一步,直接影響遙感圖像在實踐運用中的效果,因此,提高高分辨率遙感圖像的分類精度與效率對進一步發(fā)揮遙感圖像的巨大價值具有重要作用.支持向量機SVM技術(shù)具有分類精度較高、支持小樣本訓(xùn)練集及魯棒性好的特點,但對距離超平面近的樣本分類精度不高;而局部支持向量機KNNSVM分類器滿足局部一致性的條件,與SVM相比具有分類精度更高,分類時間更長.因此,借助于主動學習理論,融合SVM及KNNSVM優(yōu)勢的DLSVM算法能夠發(fā)揚兩種算法的長處.通過對實際高分辨率遙感圖像分類的實驗證明,在設(shè)定合適的閾值與K值的條件下,該算法的分類精度能夠高于SVM,和KNNSVM保持一致,而分類時間遠遠小于KNNSVM. [1] Cortes C, Vapnik V. Support-vector networks[J]. Machine learning, 1995, 20(3): 273-297. [2] 樊利恒, 呂俊偉, 于振濤, 等. 基于核映射多光譜特征融合的高光譜遙感圖像分類法[J]. 光子學報, 2014, 43(6): 630001-630001. [3] Moustakidis S, Mallinis G, Koutsias N, et al. SVM-based fuzzy decision trees for classification of high spatial resolution remote sensing images[J]. Geoscience and Remote Sensing, IEEE Transactions on, 2012, 50(1): 149-169. [4] Steinwart I. Support vector machines are universally consisitent[J]. Jounal of Complexity, 2002,18(3):768-791 [5] Brailovsky V L, Barzilay O, Shahave R. On global, local, mixed and neighborhood kernels for support vector machines[J]. Pattern Recognition Letters, 1999, 20(11): 1183-1190. [6] Zhang H, Berg A C, Maire M, et al. SVM-KNN: Discriminative nearest neighbor classification for visual category recognition[C]//Computer Vision and Pattern Recognition. 2006 IEEE Computer Society Conference on. New Jersey:IEEE, 2006: 2126-2136. [7] Blanzieri E, Melgani F. Nearest neighbor classification of remote sensing images with the maximal margin principle[J]. Geoscience and Remote Sensing, IEEE Transactions on, 2008, 46(6): 1804-1811. [8] Cheng H, Tan P N, Jin R. Efficient algorithm for localized support vector machine[J]. Knowledge and Data Engineering, IEEE Transactions on, 2010, 22(4): 537-549. [9] Segata N, Blanzieri E. Fast and scalable local kernel machines[J]. The Journal of Machine Learning Research, 2010, 11: 1883-1926. [10] 尹傳環(huán), 牟少敏, 田盛豐,等. 局部支持向量機的研究進展[J]. 計算機科學, 2012, 39(1): 170-174. [11] Lewis D D, Catlett J. Heterogeneous uncertainty sampling for supervised learning[C]//IEEE. Proceedings of the eleventh international conference on machine learning.New Jersey: IEEE, 1994: 148-156. [12] 吳偉寧, 劉 揚, 郭茂祖, 等. 基于采樣策略的主動學習算法研究進展[J]. 計算機研究與發(fā)展, 2015, 49(6): 1162-1173. [13] Tong S, Chang E. Support vector machine active learning for image retrieval[C]// ACM. Proceedings of the ninth ACM international conference on Multimedia. Texas: ACM, 2001: 107-118. Research on the Classification of the High Resolution Shu Zhenyu1,2, Wang Dianhong2,Zhou Cheng2,Hai Taoyang1 (1 College of Electronics and Information, South-Central University for Nationalities, Wuhan 430074, China;2 Institute of Geoscience & Geomatics, China University of Geosciences, Wuhan 430074, China) In order to further improve the classification accuracy and efficiency of the high resolution remote sensing images, a local support vector machine algorithm based on distance (DLSVM) with combining the algorithms of the Support Vector Machine (SVM) and the Local Support Vector Machine (KNNSVM) under the assistance of the Active Learning theory is proposed. Through comparing the distance from the unlabeled samples and the hyper plane with the threshold, the label of the unlabeled samples are determined by building a KNNSVM classifier or not. Experimental results on the real high resolution remote sensing images classification show that the proposed algorithm can improve the accuracy of the SVM and decrease time consuming of the algorithm KNNSVM greatly with the right threshold and K. high resolution remote sensing images; SVM; KNNSVM 2015-09-02 *通信作者 周 城(1978-),男,講師,博士,研究方向:圖像處理,E-mail:czhou@scuec.edu.cn 舒振宇(1978-),男,講師,博士,研究方向:圖像處理,E-mail:zhenyushu@scuec.edu.cn 湖北省自然科學基金資助項目(BZY14019) TP39 A 1672-4321(2015)04-0078-074 實驗及實驗結(jié)果分析
5 結(jié)語
Remote Sensing Images Based on DLSVM