一種用于遙感圖像分類的基于類心對齊的遷移學習方法
【技術領域】
[0001] 本發(fā)明涉及一種用于遙感圖像分類的基于類心對齊的迀移學習方法,屬于遙感圖 像分類技術領域。
【背景技術】
[0002] 遙感影像分類中存在著這樣的難題:標記樣本的獲取非常困難,需要花費大量的 人力、物力和財力。假如我們對一幅影像已經(jīng)有足夠多的標記樣本,那么如果能夠重新利用 這些舊的知識,對新來的缺乏標記樣本的遙感影像進行分類,這對于減少新影像分類的人 工成本,提高圖像分類的自動化水平是非常有意義的。但是,直接利用舊影像中的標記樣本 對新影像進行分類,會存在問題,因為同一類地物在不同影像中的光譜特征會發(fā)生變化,這 些差異是由于植被密度和組成、土壤水分、地形和照明變化或者太陽高度角等因素造成的。 迀移學習算法可以解決這個問題,能夠有效的將已有知識運用到新的環(huán)境中。
[0003] 在迀移學習算法中,已有的具有充分標記樣本的舊影像數(shù)據(jù)稱為源域數(shù)據(jù),缺乏 標記樣本的新影像數(shù)據(jù)稱為目標域數(shù)據(jù),并且假設源域數(shù)據(jù)和目標域數(shù)據(jù)的地物特征是相 關但是不同的。在遙感圖像分類中,迀移學習算法可以分為基于特征的算法和基于實例的 算法?;谔卣鞯霓|移學習算法將源域數(shù)據(jù)和目標域數(shù)據(jù)映射到一個新的空間,如核空間, 在該特征空間里,目標域圖像和源域圖像的特征變得相似,從而達到迀移學習的目的。但是 大多基于特征的迀移學習算法需要對很大的拉普拉斯矩陣或核矩陣進行特征值分解,計算 復雜?;趯嵗霓|移學習算法主要包括領域適應支持向量機算法,迀移adaboost算法等, 這些算法通過尋找與源域數(shù)據(jù)相似的目標域數(shù)據(jù)或者尋找目標域偽標簽數(shù)據(jù)來逐漸調(diào)整 分類面,但是由于需要多次訓練分類器,所以計算時間復雜度高,并且有些算法要求目標域 已知少量標記樣本。
【發(fā)明內(nèi)容】
[0004] 為了解決現(xiàn)有技術的不足,本發(fā)明提供了一種用于遙感圖像分類的基于類心對齊 的迀移學習方法(Class Centroid Alignment,CCA),屬于基于實例的算法,只需要訓練一 次分類器,計算復雜度低,算法簡單高效,并且不要求目標域數(shù)據(jù)有任何的標記樣本,因而 可以獲得對目標域圖像的全自動分類。
[0005] 本發(fā)明為解決其技術問題所采用的技術方案是:提供了一種用于遙感圖像分類的 基于類心對齊的迀移學習方法,包括以下步驟:
[0006] (1)選取源域圖像中的訓練數(shù)據(jù)Xs以及目標域圖像數(shù)據(jù)Xt;
[0007] 其中1是源域圖像中的Μ個標記數(shù)據(jù)點的集合,每個數(shù)據(jù)點的維數(shù)是0丄的標記信 息表示為Ys,用MX 1的向量表示,假設Xs數(shù)據(jù)集中包含C種地物類型,其中第i種地物類型數(shù) 據(jù)組成集合表示為Xsi,包含Mi個數(shù)據(jù)點,那么X s = [Xsl,…,XsC],Μ=M4M2+…+MC; Xt是目標域 圖像中N個數(shù)據(jù)點的集合,每個數(shù)據(jù)點的維數(shù)是D,Xt數(shù)據(jù)集中也包含C種地物類型,其中第i 種地物類型數(shù)據(jù)組成集合表示為Xti,包含Ni個數(shù)據(jù)點,那么X t = [Xti,…,Xtc],N=N1+N2+…+ Nc;
[0008] (2)用源域訓練數(shù)據(jù)Xs及其標記信息1訓練分類器;
[0009] (3)利用訓練好的分類器對Xt中的全部數(shù)據(jù)點進行預測,得到N個目標域圖像數(shù)據(jù) Xt的分類結果Yt 1,Yt1是N X 1的向量,其中1為當前迭代次數(shù),初始值為1;
[0010] ⑷利用源域訓練數(shù)據(jù)Xs及其標記信息Ys,計算源域訓練數(shù)據(jù)的C個類別數(shù)據(jù)的類 心,表示SU s=[Usl,…,usC],其中第i類類別數(shù)據(jù)的類心usl的計算包括以下過程:
[0011] 首先根據(jù)源域訓練數(shù)據(jù)Xs的標記信息Ys,找出屬于第i個類別數(shù)據(jù)對應的所有源域 訓練數(shù)據(jù)點,組成集合X S1=[X1,…,XMl],i = l,…,C,然后通過以下公式計算集合XS1的平均 光譜usl做為源域第i類類別數(shù)據(jù)類心:
[0012]
[0013]其中,Xsj為集合xsi中的數(shù)據(jù)點;
[0014] (5)利用目標域圖像數(shù)據(jù)Xt和其預測結果Yt1,計算C個類別數(shù)據(jù)的類心υ^ = [Utl,…,Utc],包括以下過程:
[0015] 首先根據(jù)目標域圖像數(shù)據(jù)Xt的預測標記信息Yt1,找出屬于第i個類別數(shù)據(jù)的所有 目標域圖像數(shù)據(jù)點,組成集合1 1 =卜1,一,幼1],1 = 1,一,(:,然后通過以下公式計算集合11 的平均光譜utl做為目標域第i類類心:
[0016]
[0017]其中,Xtj為集合xti中的數(shù)據(jù)點;
[0018] (6)通過以下公式計算源域和目標域每個類別數(shù)據(jù)的類心差:
[0019] di = Uti-Usi,i = l,-",C
[0020] 其中cU為第i個類別數(shù)據(jù)的類心差;
[0021] (7)對于目標域內(nèi)任一樣本點xt,t = l,-_,N,利用基于光譜角制圖距離度量方法 在目標域圖像數(shù)據(jù)中搜索xt的k個近鄰點構成xt的近鄰點集X=[xi,. . .,xk],xt的近鄰點集X 包括xt本身,這k個近鄰點的預測標記結果為Y=[yi,. . .,yk];
[0022] (8)對于目標域任一樣本點Xt,t=l,-_,N,計算其移動方向d:
[0023]
[0024] 其中δ為克
羅內(nèi)克函數(shù),^是^的第i個近鄰點^的預測標簽,山是第j個類別數(shù)據(jù) 的類心差,如果 Xl被預測為第j類,即yi等于j,那么函數(shù)s(yij) = i,否則等于〇;
[0025] (9)將目標域樣本點xt,t = l,…,N,按照其移動方向d移動,移動后的目標域樣本 點的光譜特征xts為xts = xt_d,t = l,…,N;
[0026] (10)更新迭代參數(shù)1使其累加1,利用步驟(2)訓練得到的分類器對移動后的目標 域圖像數(shù)據(jù)x ts,t = 1,…,N進行預測,得到新的分類結果Yt1;
[0027] (11)重復步驟(5)到步驟(10)至少5次,直到達到收斂條件,輸出最后一次分類結 果 Yt1;
[0028] 所述收斂條件為:連續(xù)5次分類結果Yt1對應的總體分類精度的變化小于閾值T,總 體分類精度為Yt1和Yt中相同元素的個數(shù)除以N,閾值T在0.001~0.01范圍內(nèi)選擇。
[0029] 步驟(2)所述的分類器為SVM分類器,采用libSVM工具箱中的svmtrain函數(shù)對SVM 分類器進行訓練。
[0030] 步驟(3)中采用libSVM工具箱中的svmpredict函數(shù)對Xt中的全部數(shù)據(jù)點進行預 測。
[0031] 步驟(11)中,閾值T設置為0 · 005。
[0032] 本發(fā)明基于其技術方案所具有的有益效果在于:
[0033] (1)本發(fā)明計算復雜度低,SVM分類器只需要訓練一次,迀移學習過程只涉及到向 量之間的加減操作;
[0034] (2)本發(fā)明不要求目標域圖像有任何的標記樣本,因而可以獲得對目標域圖像的 全自動分類;
[0035] (3)本方法基于地物光譜變化和數(shù)據(jù)鄰域信息,來求取移動方向,使得目標域數(shù)據(jù) 移動后,不僅能夠與源域數(shù)據(jù)變得相似,而且能夠保持原目標域數(shù)據(jù)之間的各局部相似性 關系。
【附圖說明】
[0036] 圖1為本發(fā)明提供的遙感圖像分類方法的流程圖。
[0037] 圖2為本發(fā)明實施例中對算法中參數(shù)k的敏感性分析,(a)5月-6月,(b)6月-5月, (c)5月-7月,(d)7月-5月,(e)6月-7月,(f)7月-6月。
【具體實施方式】
[0038]下面結合附圖和實施例對本發(fā)明作進一步說明。
[0039]本發(fā)明提供了一種用于遙感圖像分類的基于類心對齊的迀移學習方法,該方法充 分利用源域和目標域的地物光譜的變化規(guī)律,并考慮鄰域信息,將目標域數(shù)據(jù)按照其鄰域 內(nèi)數(shù)據(jù)點的預測標簽所對應的類心差方向向源域進行移動,從而使得移動后的目標域數(shù)據(jù) 和源域數(shù)據(jù)光譜特征相似,參照圖1,該方法包括以下步驟:
[0040] (1)準備源域訓練數(shù)據(jù)和目標域圖像數(shù)據(jù),其中源域訓練數(shù)據(jù)包含標記信息,目標 域圖像數(shù)據(jù)沒有標記信息,選取源域圖像中的訓練數(shù)據(jù)Xs以及目標域圖像Xt;
[0041] 其中1是源域圖像中的Μ個標記數(shù)據(jù)點的集合,每個數(shù)據(jù)點的維數(shù)是0,1的標記信 息表示為Ys,用MX 1的向量表示,假設Xs數(shù)據(jù)集中包含C種地物類型,其中第i種地物類型數(shù) 據(jù)組成集合表示為Xsi,包含Mi個數(shù)據(jù)點,那么X s = [Xsl,…,XsC],M=Mi+M2+…+MC;X t是目標域 圖像中N個數(shù)據(jù)點的集合,每個數(shù)據(jù)點的維數(shù)是D,Xt數(shù)據(jù)集中也包含C種地物類型,其中第i 種地物類型數(shù)據(jù)組成集合表示為Xti,包含Ni個數(shù)據(jù)點,那么X t = [Xti,…,Xtd,N=N1+N2+…+ Nc;
[0042] 例如,Xs中包含10個點(M=10),其中前面4個點是屬于"道路"這個類別(M1 = 4), 后面6個點是屬于"草地"這個類別(M2 = 6),那么C = 2,只有2個類別,是"道路"和"草地",數(shù) 據(jù)點數(shù)目是Μ = 10,每個類別地物可能包含多個點(M=Mi+M2 = 4+6);
[0043] (2)用源域訓練數(shù)據(jù)Xs及其標簽信息Ys訓練SVM(Support Vector Machine,支持向 量機)分類器;其中SVM分類器使用libSVM工具箱中的svmtrain函數(shù)進行訓練;
[0044] (3)利用訓練好的SVM分類器,采用1 ibSVM工具箱中的svmpredi ct函數(shù)對Xt中的全 部數(shù)據(jù)點進行預測,得到N個目標域圖像數(shù)據(jù)Xt的分類結果ΥΛΥ*1是NX 1的向量,其中1為當 前迭代次數(shù),初始值為1;
[0045] (4)利用源域訓練數(shù)據(jù)Xs及其標記信息Ys,計算源域訓練數(shù)據(jù)的C個類別數(shù)據(jù)的類 心,表示SUs=[Usl,…,usC],其中第i類類別數(shù)據(jù)的類心u sl的計算包括以下過程:
[0046] 首先根據(jù)源域訓練數(shù)據(jù)Xs的標記信息Ys,找出屬于第i個類別數(shù)據(jù)對應的所有源域 訓練數(shù)據(jù)點,組成集合X S1=[X1,…,XMl],i = l,…,C,然后通過以下公式計算集合XS1的平均 光譜usl做為源域第i類類別數(shù)據(jù)類心:
[0047]
[0048]其中,xsj為集合Xsi中的數(shù)據(jù)點;
[0049] (5)利用目標域圖像數(shù)據(jù)Xt和其預測結果Yt1,計算C個類別數(shù)據(jù)的類心υ^ = [Utl,…,Utc],包括以下過程:
[0050] 首先根據(jù)目標域圖像數(shù)據(jù)Xt的預測標記信息Yt1,找出屬于第i個類別數(shù)據(jù)的所有 目標域圖像數(shù)據(jù)點,組成集合1 1 =卜1,一,幼1],1 = 1,一,(:,然后通過以下公式計算集合11 的平均光譜utl做為目標域第i類類心:
[0051]
[0052] 其中,xtj為集合Xti中的數(shù)據(jù)點;
[0053] (6)通過以下公式計算源域和目標域每個類別的類心差:
[0054] di = Uti-Usi,i = l,-",C<