一种用于遥感图像分类的基于类心对齐的迁移学习方法

文档序号:9708801阅读:797来源:国知局
一种用于遥感图像分类的基于类心对齐的迁移学习方法
【技术领域】
[0001] 本发明涉及一种用于遥感图像分类的基于类心对齐的迀移学习方法,属于遥感图 像分类技术领域。
【背景技术】
[0002] 遥感影像分类中存在着这样的难题:标记样本的获取非常困难,需要花费大量的 人力、物力和财力。假如我们对一幅影像已经有足够多的标记样本,那么如果能够重新利用 这些旧的知识,对新来的缺乏标记样本的遥感影像进行分类,这对于减少新影像分类的人 工成本,提高图像分类的自动化水平是非常有意义的。但是,直接利用旧影像中的标记样本 对新影像进行分类,会存在问题,因为同一类地物在不同影像中的光谱特征会发生变化,这 些差异是由于植被密度和组成、土壤水分、地形和照明变化或者太阳高度角等因素造成的。 迀移学习算法可以解决这个问题,能够有效的将已有知识运用到新的环境中。
[0003] 在迀移学习算法中,已有的具有充分标记样本的旧影像数据称为源域数据,缺乏 标记样本的新影像数据称为目标域数据,并且假设源域数据和目标域数据的地物特征是相 关但是不同的。在遥感图像分类中,迀移学习算法可以分为基于特征的算法和基于实例的 算法。基于特征的迀移学习算法将源域数据和目标域数据映射到一个新的空间,如核空间, 在该特征空间里,目标域图像和源域图像的特征变得相似,从而达到迀移学习的目的。但是 大多基于特征的迀移学习算法需要对很大的拉普拉斯矩阵或核矩阵进行特征值分解,计算 复杂。基于实例的迀移学习算法主要包括领域适应支持向量机算法,迀移adaboost算法等, 这些算法通过寻找与源域数据相似的目标域数据或者寻找目标域伪标签数据来逐渐调整 分类面,但是由于需要多次训练分类器,所以计算时间复杂度高,并且有些算法要求目标域 已知少量标记样本。

【发明内容】

[0004] 为了解决现有技术的不足,本发明提供了一种用于遥感图像分类的基于类心对齐 的迀移学习方法(Class Centroid Alignment,CCA),属于基于实例的算法,只需要训练一 次分类器,计算复杂度低,算法简单高效,并且不要求目标域数据有任何的标记样本,因而 可以获得对目标域图像的全自动分类。
[0005] 本发明为解决其技术问题所采用的技术方案是:提供了一种用于遥感图像分类的 基于类心对齐的迀移学习方法,包括以下步骤:
[0006] (1)选取源域图像中的训练数据Xs以及目标域图像数据Xt;
[0007] 其中1是源域图像中的Μ个标记数据点的集合,每个数据点的维数是0丄的标记信 息表示为Ys,用MX 1的向量表示,假设Xs数据集中包含C种地物类型,其中第i种地物类型数 据组成集合表示为Xsi,包含Mi个数据点,那么X s = [Xsl,…,XsC],Μ=M4M2+…+MC; Xt是目标域 图像中N个数据点的集合,每个数据点的维数是D,Xt数据集中也包含C种地物类型,其中第i 种地物类型数据组成集合表示为Xti,包含Ni个数据点,那么X t = [Xti,…,Xtc],N=N1+N2+…+ Nc;
[0008] (2)用源域训练数据Xs及其标记信息1训练分类器;
[0009] (3)利用训练好的分类器对Xt中的全部数据点进行预测,得到N个目标域图像数据 Xt的分类结果Yt 1,Yt1是N X 1的向量,其中1为当前迭代次数,初始值为1;
[0010] ⑷利用源域训练数据Xs及其标记信息Ys,计算源域训练数据的C个类别数据的类 心,表示SU s=[Usl,…,usC],其中第i类类别数据的类心usl的计算包括以下过程:
[0011] 首先根据源域训练数据Xs的标记信息Ys,找出属于第i个类别数据对应的所有源域 训练数据点,组成集合X S1=[X1,…,XMl],i = l,…,C,然后通过以下公式计算集合XS1的平均 光谱usl做为源域第i类类别数据类心:
[0012]
[0013]其中,Xsj为集合xsi中的数据点;
[0014] (5)利用目标域图像数据Xt和其预测结果Yt1,计算C个类别数据的类心υ^ = [Utl,…,Utc],包括以下过程:
[0015] 首先根据目标域图像数据Xt的预测标记信息Yt1,找出属于第i个类别数据的所有 目标域图像数据点,组成集合1 1 =卜1,一,幼1],1 = 1,一,(:,然后通过以下公式计算集合11 的平均光谱utl做为目标域第i类类心:
[0016]
[0017]其中,Xtj为集合xti中的数据点;
[0018] (6)通过以下公式计算源域和目标域每个类别数据的类心差:
[0019] di = Uti-Usi,i = l,-",C
[0020] 其中cU为第i个类别数据的类心差;
[0021] (7)对于目标域内任一样本点xt,t = l,-_,N,利用基于光谱角制图距离度量方法 在目标域图像数据中搜索xt的k个近邻点构成xt的近邻点集X=[xi,. . .,xk],xt的近邻点集X 包括xt本身,这k个近邻点的预测标记结果为Y=[yi,. . .,yk];
[0022] (8)对于目标域任一样本点Xt,t=l,-_,N,计算其移动方向d:
[0023]
[0024] 其中δ为克
罗内克函数,^是^的第i个近邻点^的预测标签,山是第j个类别数据 的类心差,如果 Xl被预测为第j类,即yi等于j,那么函数s(yij) = i,否则等于〇;
[0025] (9)将目标域样本点xt,t = l,…,N,按照其移动方向d移动,移动后的目标域样本 点的光谱特征xts为xts = xt_d,t = l,…,N;
[0026] (10)更新迭代参数1使其累加1,利用步骤(2)训练得到的分类器对移动后的目标 域图像数据x ts,t = 1,…,N进行预测,得到新的分类结果Yt1;
[0027] (11)重复步骤(5)到步骤(10)至少5次,直到达到收敛条件,输出最后一次分类结 果 Yt1;
[0028] 所述收敛条件为:连续5次分类结果Yt1对应的总体分类精度的变化小于阈值T,总 体分类精度为Yt1和Yt中相同元素的个数除以N,阈值T在0.001~0.01范围内选择。
[0029] 步骤(2)所述的分类器为SVM分类器,采用libSVM工具箱中的svmtrain函数对SVM 分类器进行训练。
[0030] 步骤(3)中采用libSVM工具箱中的svmpredict函数对Xt中的全部数据点进行预 测。
[0031] 步骤(11)中,阈值T设置为0 · 005。
[0032] 本发明基于其技术方案所具有的有益效果在于:
[0033] (1)本发明计算复杂度低,SVM分类器只需要训练一次,迀移学习过程只涉及到向 量之间的加减操作;
[0034] (2)本发明不要求目标域图像有任何的标记样本,因而可以获得对目标域图像的 全自动分类;
[0035] (3)本方法基于地物光谱变化和数据邻域信息,来求取移动方向,使得目标域数据 移动后,不仅能够与源域数据变得相似,而且能够保持原目标域数据之间的各局部相似性 关系。
【附图说明】
[0036] 图1为本发明提供的遥感图像分类方法的流程图。
[0037] 图2为本发明实施例中对算法中参数k的敏感性分析,(a)5月-6月,(b)6月-5月, (c)5月-7月,(d)7月-5月,(e)6月-7月,(f)7月-6月。
【具体实施方式】
[0038]下面结合附图和实施例对本发明作进一步说明。
[0039]本发明提供了一种用于遥感图像分类的基于类心对齐的迀移学习方法,该方法充 分利用源域和目标域的地物光谱的变化规律,并考虑邻域信息,将目标域数据按照其邻域 内数据点的预测标签所对应的类心差方向向源域进行移动,从而使得移动后的目标域数据 和源域数据光谱特征相似,参照图1,该方法包括以下步骤:
[0040] (1)准备源域训练数据和目标域图像数据,其中源域训练数据包含标记信息,目标 域图像数据没有标记信息,选取源域图像中的训练数据Xs以及目标域图像Xt;
[0041] 其中1是源域图像中的Μ个标记数据点的集合,每个数据点的维数是0,1的标记信 息表示为Ys,用MX 1的向量表示,假设Xs数据集中包含C种地物类型,其中第i种地物类型数 据组成集合表示为Xsi,包含Mi个数据点,那么X s = [Xsl,…,XsC],M=Mi+M2+…+MC;X t是目标域 图像中N个数据点的集合,每个数据点的维数是D,Xt数据集中也包含C种地物类型,其中第i 种地物类型数据组成集合表示为Xti,包含Ni个数据点,那么X t = [Xti,…,Xtd,N=N1+N2+…+ Nc;
[0042] 例如,Xs中包含10个点(M=10),其中前面4个点是属于"道路"这个类别(M1 = 4), 后面6个点是属于"草地"这个类别(M2 = 6),那么C = 2,只有2个类别,是"道路"和"草地",数 据点数目是Μ = 10,每个类别地物可能包含多个点(M=Mi+M2 = 4+6);
[0043] (2)用源域训练数据Xs及其标签信息Ys训练SVM(Support Vector Machine,支持向 量机)分类器;其中SVM分类器使用libSVM工具箱中的svmtrain函数进行训练;
[0044] (3)利用训练好的SVM分类器,采用1 ibSVM工具箱中的svmpredi ct函数对Xt中的全 部数据点进行预测,得到N个目标域图像数据Xt的分类结果ΥΛΥ*1是NX 1的向量,其中1为当 前迭代次数,初始值为1;
[0045] (4)利用源域训练数据Xs及其标记信息Ys,计算源域训练数据的C个类别数据的类 心,表示SUs=[Usl,…,usC],其中第i类类别数据的类心u sl的计算包括以下过程:
[0046] 首先根据源域训练数据Xs的标记信息Ys,找出属于第i个类别数据对应的所有源域 训练数据点,组成集合X S1=[X1,…,XMl],i = l,…,C,然后通过以下公式计算集合XS1的平均 光谱usl做为源域第i类类别数据类心:
[0047]
[0048]其中,xsj为集合Xsi中的数据点;
[0049] (5)利用目标域图像数据Xt和其预测结果Yt1,计算C个类别数据的类心υ^ = [Utl,…,Utc],包括以下过程:
[0050] 首先根据目标域图像数据Xt的预测标记信息Yt1,找出属于第i个类别数据的所有 目标域图像数据点,组成集合1 1 =卜1,一,幼1],1 = 1,一,(:,然后通过以下公式计算集合11 的平均光谱utl做为目标域第i类类心:
[0051]
[0052] 其中,xtj为集合Xti中的数据点;
[0053] (6)通过以下公式计算源域和目标域每个类别的类心差:
[0054] di = Uti-Usi,i = l,-",C<
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1