一种半监督协同训练高光谱图像分类方法与流程

文档序号:14271222阅读:293来源:国知局
一种半监督协同训练高光谱图像分类方法与流程

本发明属于图像处理技术领域,具体涉及一种高光谱遥感图像半监督分类方法。



背景技术:

高光谱遥感图像是按照一定的比例,客观真实地记录和反映地表物体的电磁辐射的强弱信息,是遥感探测所获得的遥感信息资料的一种表示,因此遥感高光谱技术应用的核心问题是根据地物电磁辐射的强弱在遥感图像上表现的特征,判读识别地面物体的类属及其分布特征。

高光谱遥感图像是一种高维图像,可直接反映地物的空间信息和光谱信息,其数据量庞大。随着传感器的不断更新,人们已经可以在不同的航空航天遥感平台上获取不同时空分辨率和光谱分辨率的遥感图像。根据各自在图像信息中所反映的不同特征,把不同类别的目标区分开来的图像处理方法叫做图像分类。遥感高光谱图像分类主要的依据是地物的光谱特征,即地物电磁波辐射的多波段测量值,这些测量值可以用作遥感图像分类的原始特征变量。

遥感图像分类的主要依据是地物的光谱特征,即地物电磁波辐射的多波段测量值,由于同物异谱和同谱异物现象的普遍存在,原始亮度值并不能很好地表达类别特征,需要对数字图像进行运算处理,以寻找能有效描述地物类别特征的模式变量,然后利用这些特征变量对数字图像进行分类。分类是对图像上每个像素按照亮度接近程度给出对应类别,以达到大致区分遥感图像中多种地物的目的。分类基本过程为:收集与分析地面参考信息与有关数据,对数字图像进行辐射校正和几何纠正;根据应用目的及图像数据的特征制定分类系统,确定分类类别;找出代表这些类别的统计特征;对遥感图像中各像素进行分类;分类精度检查;分类后处理。

计算机分类实现的思想基础:同类地物具有相同(似)的光谱特征,不同地物的光谱特征具有明显的差别,但由于影响地物光谱特征的因素很多,所以影像的判读分类都是建立在统计分析的基础上的;同类地物的图像灰度概率在单波段(一维空间)符合正态分布规律;多维图像(即多波段)中的一个像元值(灰度)向量,在几何上相当于多维空间中的一个点,而同类地物的像元值,既不集中于一点,也绝非是杂乱无章的分布,而是相对地密集在一起,形成一个点群(也就是地物的一种类别),一般情况下,点群的边界不是截然的,有少部分重叠和交错的情况。高光谱图像的分类主要有两种方法,即基于地物光谱特征的分类识别方法和基于统计的分类识别方法。前者是利用光谱库中已知的光谱数据,采用匹配算法来鉴别图像中地区类别。

后者又分为非监督和监督两种方法来完成分类。非监督分类主要有K均值聚类、谱聚类等。由于无监督分类完全不利用样本先验标记信息,在特征维数高且地物类别繁多的情况下应用效果不佳。监督分类主要有:神经网络、支持向量机、决策树、高斯过程分类等方法。

这些算法都需要利用部分地物的先验信息,通过决策和机器学习的方式完成分类目标。由于获取地物先验信息成本高昂,如果在需要大量先验样本的情况下,监督分类方法效果较好,但成本太高。综合两种传统分类方法的优点,半监督分类在获取少数先验样本的情况下达到了较好的分类效果。但是传统协同训练算法主要是利用交叉验证的思想,增加基分类器之间的独立性完成分类,在交叉验证过程中存在大量误分样本,造成错误累积的现象,影响分类精度。目前,尚未提出有效防止迭代中错误累积的半监督协同训练分类方法。

图1中的Co-training算法本质上是一个交叉训练(cross training)的过程,算法训练集的数据必须满足以下冗余视图条件:1、对同一目标的刻画可以提取两个相互独立的数据集;2、两个数据集都能够充分描述该目标。算法中假定的两个子视图条件是相互独立的,如果不符合这样的假设,一个基分类器判断为置信度高的样本加入到另一基分类器中就没有意义,也就不能起到优化训练其它分类器的作用。实际实验中的数据自身并不具备这样的条件,这就导致算法在迭代训练中精度受到影响。

图2中Tri-training算法为了避免交叉验证带来的耗时和误差累积问题,对未标记样本置信度的估计采用三个分类器隐形投票的方式。算法摒弃了Co-training算法增量式的学习方式,它的未标记数据集的大小始终不变。在Tri-training算法中,由于在未标记数据分类标记时采用隐式投票方式,没能有效防止误分数据进入迭代,对最终的分类效果影响很大。



技术实现要素:

本发明需要解决的技术问题在于,针对现有半监督协同训练分类方法中的上述缺陷,提出一种可行的、性能稳定的半监督协同训练高光谱图像分类方法。

本发明解决上述技术问题的技术方案是,提出一种半监督协同训练高光谱图像分类方法,包括步骤:读取高光谱遥感图像,确定图像中地物类别,分别从各类别图像中随机抽取样本;设置多个分类器对高光谱图像样本粗分类,图像样本通过分类器得到分类标记,得到联合训练集;初始联合训练集训练子分类器,获得分类标记构成码书;利用码书码字计算码距,确定未标记数据临时类别;利用标记数据聚类中心与未标记数据的距离,将测试样本加入标记样本集和对应类别的训练集,更新训练集,直到当前训练集与上一轮训练集相同。

具体包括以下几个阶段:

读取高光谱图像数据,确定图像中地物类别,分别从各类别图像中随机选取一定数量的标记样本。同一类别标记样本构成子集Ln(n=1,…,N),其中N为类别数量;将Ln不重复穷尽排列组合,得到集合为初始联合训练集其中代表子分类器的个数,l为组合类别数目,代表子分类器的分类数,通常选取l=1/2N。

监督分类器(本发明可选取有差异的神经网络分类器)作为系统中的子分类器,固定子分类器排列顺序。初始联合训练集对子分类器进行训练,初始联合训练集对应第i个训练子分类器hi,将标记样本通过训练好的子分类器分类,每个子分类器输出样本的分类结果,记为一位标记mark,则每个样本会得到个分类标记mark。通过公式code=mark-1,将每个标记mark编成一位码code,按子分类器排列顺序,将得到的全部码排列为一个码字codeword。所有标记样本集共得到k(k≤|L|)个码字。其中,不同类别的标记样本可能会获得相同的码字,将重复的码字codeword删除。删除后codeword总数变为p(p≤k)个,得到的码字集合作为码书codebook。

将测试样本向训练好的子分类器集合依次顺序输入,每个测试样本得到个分类标记mark,将个分类标记mark对应类别编成一位码,然后组合得到一个码字。所得码字与码书codebook中任一码字做异或运算,运算结果中1的个数为两个码字的汉明距离(码距)。计算所得码字与码书中各码字的码距,选出最小码距,将测试样本的类别标号定为该码距所对应的码书码字的类别。每个测试样本在一轮迭代中都会得到一个临时的唯一的类别标号。

确定各类别训练样本聚类中心,可将各类训练样本均值作为该类训练样本的聚类中心,或者各类别训练样本密集的区域作为聚类中心。根据公式计算当前各类训练样本均值(可作为聚类中心),其中,xm为训练样本,m为该类训练样本个数。再通过公式计算i类中各训练样本到i类中心的平均距离;根据公式:Ri=||ri-yj||计算与聚类中心ri类别相同的测试样本集中第i个样本yj与ri的距离。根据距离设置筛选半径R″i,和筛选条件Rii<R″i。满足筛选条件的测试样本y根据公式TrainSet‘i={TrainSeti∪y}加入相同类别的训练集,在下一次迭代中使用新的训练集代替上一次的训练集,即TrainSeti=TrainSet′i,则对测试样本联合训练集进行了更新。当本轮迭代完成后,删除所有未进入到标记样本集的测试样本的类别标号。然后判断训练集与迭代前训练集是否相同,如果相同,停止迭代;如果不同,迭代继续。

最终,已经加入训练样本集的测试样本的类别为对应训练样本集类别,而未加入训练样本集的测试样本类别为最后一轮迭代中,最小码距对应码字类别。

本发明通过将较低分类精度的单一分类器的多分类问题转换为较高精度的分散的多个子分类器的分类问题,利用码字匹配判决和聚类筛选的方案,完成多个子分类器分类结果的融合,这样就可以达到提高单一分类器在大量类别划分问题中效果不佳的问题。

附图说明

图1是传统的co-training算法流程框图;

图2是传统的tri-training算法流程框图;

图3是本发明方案流程框图。

具体实施方式

以下使用具体事例和附图对本发明作进一步说明。本发明提出的半监督协同训练高光谱图像分类方法,主要步骤包括:

读取高光谱遥感图像,确定图像中地物类别数目,各类别分别从图像中随机抽取相同或不同数目的样本点,将标记样本集按照同类别聚集为一个集合的方式,组成N个标记数据子集Ln,(n=1,…,N)。剩余的样本点作为测试样本。将标记数据子集Ln按不重复穷尽排列组合,得到的数据集合为个初始联合训练集其中l为组合类别数目,通常选取l=1/2N,N为标记数据子集数。采用个有差异的监督分类器组成子分类器集,固定子分类器顺序。使用初始联合训练集TrainSeti训练子分类器,保存训练好的子分类器hi。将每个标记样本分别通过训练好的子分类器hi分类,一个子分类器得到一个分类结果,记为一位分类标记mark。一个样本对应得到个mark。将同一样本得到的个mark转换为位码,转换公式为code=mark-1。按子分类器排列顺序,将各位码组合起来,得到的组合结果就是该样本当前分类结果所对应的码字codeword。将所有标记样本的码字组合起来,形成码书。删除码书中重复的所有码字,得到系统的初始码书。每个测试样本依次通过排列好的子分类器hi,一个样本得到个分类标记mark,将分类标记转换为码字。将测试样本码字与码书中某个码字做异或运算,计算运算结果中1的个数,得到的结果为两码字的码距。查找每个测试样本与码书中码字的最小距离,将该码书中码字的类别赋予该测试样本。计算当前各类训练样本聚类中心。当前测试样本中与聚类中心ri相同类别的所有样本与ri计算距离R=||ri-yj||。设定筛选半径R′,符合条件R<R′的测试样本加入对应类别训练集TrainSet‘i={TrainSeti∪y}。更新标记样本集与训练样本集。当本轮迭代训练集与上一轮训练集相同时,停止迭代。

以下具体描述本发明的实现方式:

数据粗分类编码阶段:读取高光谱遥感图像,从图像中随机抽取部分标记样本,将标记样本集按照同类别聚集为一个集合的方式,划分为N个类别的子集Ln,(n=1,…,N)。同一类别标记样本构成子集Ln,(n=1,…,N),其中N为类别数量;将Ln不重复穷尽排列组合,得到集合为初始联合训练集其中代表子分类器的个数,l为组合类别数目,代表子分类器的分类数,通常选取l=1/2N。例如:当前分类数为4,即N=4;标记样本子集为{L1,L2,L3,L4};组合类别数目l=2;则子分类器的个数为个,得到对应的初始联合训练集分别是{TrainSet1(L1∪L2);TrainSet2(L1∪L3);TrainSet3(L1∪L4);TrainSet4(L2∪L3);TrainSet5(L2∪L4);TrainSet6(L3∪L4)}。

选取一种高效的监督分类器(如:神经网络分类器、支持向量机等)作为系统的子分类器hi,并且固定各子分类器的顺序。每个联合训练集对应训练一个子分类器hi。其中,每个子分类器中的神经元结构或核函数可以有差异,这样就形成多视图的分类器集合,可以增强子分类器之间的独立性。将标记样本集的每个样本分别通过训练好的子分类器hi,则一个样本通过一个子分类器都会得到一位分类标记mark,一个分类标记mark编成一位码code=mark-1,总共得到位码。按照子分类器排列顺序将各位码组合起来,将组合结果定义为一个码字codeword。码字codeword的长度等于子分类器数目码字中每位码取值范围可为code∈{0,1,2…l-1}。假设此阶段共得到k(k≤L)个码字,其中,属于不同类别的标记样本可能会获得相同码字。如属于不同类别的样本经此过程,得到了同一码字codeword,将此码字codeword删除。删除后,码字的数目变为p(p≤k)个。这p个码字组成的集合构成初始码书codebook。

码字匹配判决阶段:从高光谱遥感图像中选取一定数量的样本点作为测试样本。将每个测试样本依次通过训练好的子分类器hi,每个样本都得到个分类标记mark,通过算式code=mark-1,将个分类标记mark编成位码。按子分类器排列顺序组合各位码,组合结果就是该测试样本当前得到的一个码字codeword。将该码字与码书codebook中的任一个码字做异或运算,所得到的运算结果中1的个数就是两个码字的汉明距离距(码距)。遍历整个码书,得到了测试样本码字与码书码字的p个汉明距离,取最小汉明距离的码书码字所对应类别的标号,赋予该测试样本。将所有测试样本都通过此阶段,则每个测试样本得到一个唯一的类别标号。

样本聚类筛选阶段:按照公式取当前各类训练样本均值,其中xm为训练样本,m为该类训练样本个数,可将所得均值作为该类训练样本的聚类中心。通过公式计算i类中,各训练样本到i类中心的平均距离。将测试样本中当前类别标号相同的样本合并为一个集合,计算集合中样本yj与对应类别的训练样本聚类中心ri的距离Ri=||ri-yj||,其中,yj的类别标号与ri类别相同。选取R′i<R″i的测试样本加入对应训练集TrainSeti,其中,R′为筛选半径,可以设置为R′i<R″i。最后,根据公式TrainSet‘i={TrainSeti∪y}将通过筛选的测试样本y加入训练集。在下一次迭代中使用新的训练集代替上一次的训练集,即TrainSeti=TrainSet′i,则对测试样本联合训练集进行了更新。

通过重复迭代过程,每轮迭代中训练样本集的更新导致训练的子分类器性能得到提升,码书中会出现新的码字。由于通过删除相同码字,确保码书中码字的唯一性,所以测试样本通过码字匹配后得到的类别标号也是唯一的。通过计算最小码距确定测试样本类别,然后经过聚类中心距离筛选保证进入到标记样本集中的测试样本尽可能地靠近已知标记样本,避免当前迭代的错误信息进入到下一次迭代,防止错误累积。直到训练集停止更新,保存最终测试样本的类别标号,方法就完成了对测试样本的分类。

在MATLABR2011b软件平台下结合附图和实验对本发明方案的实例进行详细说明。本发明使用美国印第安纳州印第安农林高光谱遥感试验区(AVIRIS)的一部分作为实验材料。其图像大小为145×145,共220个波段,16类标记地物。选取其中的Corn-notill、Grass/Trees、Soybeans-min、Woods四种地物信息作为分类目标。本方案的具体实施步骤如下:

数据粗分类编码阶段:

步骤1:利用MATLAB函数库中的imread函数读取高光谱数据源和对应地表真实标记数据,得到高光谱数据源的3维矩阵A(包含145行,145列,220个波段,简记为A(145,145,220))和地表真实数据B;由于波段数量太多,数据量过大,利用主成分分析方法(PCA)提取99%能量比例的主成分特征量,记为X(145,145,4)。按照选取的四种地物类别标号,对应地表真实数据B,每类别提取50个样本点作为标记数据子集Ln,(n=1,…,4)。

步骤2:设置类别组合数l=2,类别总数n=4,排列组合结果将标记数据子集Ln按不重复穷尽排列方式组合,得到6个初始联合训练集TrainSeti(i=1,…,6)。

步骤3:对应建立6个神经网络分类器作为子分类器集,其中每个分类器的网络节点数和映射函数设置不完全相同。按照初始训练集中子集的组合标记子分类器,那么6个子分类器的标记结果表示为{[1,2];[1,3];[1,4];[2,3];[2,4];[3,4]},按照标记顺序固定子分类器排列方式。使用对应的初始联合训练集TrainSeti训练这6个子分类器(如:联合训练集TrainSet1={L1,L2}对应训练子分类器[1,2]),保存训练好的子分类器。

步骤4:将每个标记样本通过训练好的6个子分类器分类,每个子分类器得到一个分类结果,记为标记mark。一个标记样本总共得到6个mark。

步骤5:将样本得到的6个mark通过算式code=mark-1转换为6位码,每位码取值范围为code∈{0,1}。按子分类器排列顺序将排列各位码,排列结果为该样本分类对应的码字codeword(如:011001)。

步骤6:将所有标记样本的码字组成码书,删除码书中重复的所有码字,剩余码字集合为系统的初始码书codebook。

码字匹配判决阶段:

步骤1:测试样本依次通过排列好的子分类器,每个样本得到6个分类结果,记为标记mark。根据code=mark-1将分类标记转换为6位码。

步骤2:将测试样本码字与码书中码字做异或运算,计算运算结果中1的个数,得到的结果为两码字的码距。将测试样本码字与码书各码字的码距记录下来。

步骤3:查找每个测试样本与码书中码字的码距最小值,将该码书中码字的类别作为该测试样本的类别标号。每个测试样本获得一个唯一的类别标号。

样本聚类筛选阶段:

步骤1:计算并保存当前各训练样本聚类中心ri

步骤2:通过公式Ri=||ri-yj||计算每个测试样本与相同类别训练样本聚类中心ri的距离。通过公式计算i类中各训练样本到i类中心的平均距离。设置筛选半径为R″i(一般可设为平均距离的一半),如果Ri<R″i,则将该测试样本加入标记样本集和对应类别的训练集,根据公式:TrainSet‘i={TrainSeti∪y}更新训练集;如果Ri≥R″i,删去该测试样本的类别标号,将该样本留在测试样本集中。

步骤3:判断当前训练集与上一轮迭代训练集是否相同,如果相同,停止迭代;如果不同,返回到数据粗分类编码阶段的步骤2继续迭代。

高光谱遥感图像分类的性能主要用生产者精度,用户精度,总体精度以及Kappa系数四种参数来综合评价。本实施例中选取神经网络分类器作为子分类器,子分类器的参数设置如下:最大迭代次数Epochs=200,隐含层节点数根据经验公式(m:隐含层节点数,n:输入层节点数,l:输出层节点数)计算得出。实验在选取5%、10%和20%样本作为初始训练集的三种情况下,利用上述四种参数综合评估传统的Co-training、Tri-training算法和本发明方法的性能。

表1生产者精度

表2用户精度

表3整体分类精度

表4Kappa系数

由表1可以看出,本发明方法的生产者精度全部高于Co-training和Tri-training算法,且平均分别高出两种算法9.33%和6.42%。实验结果表明,在低抽样率的情况下,本发明方法生产者精度较高;随着抽样率增加,对比Co-training和Tri-training算法的生产者精度增加幅度下降。由表2可以看出,本发明方法除在初始训练集为10%时,Woods的用户精度分别比Tri-training算法低0.17%,其余平均分别高出两种算法15.01%和7.75%。且同样在低抽样率时,本发明的用户精度已经较高,在抽样率较高时,本发明的用户精度趋于稳定。由表3可以看出,本发明方法的总体分类精度在不同抽样率条件下较高,对比两种算法平均分别高出21.30%和10.99%。由表4可以看出,本发明方法的Kappa系数在不同抽样率条件下较高,平均分别高出两种算法0.26和0.13,说明本发明方法具有很好的分类性能。

由上述试验结果可以看出,本发明的处理数据能力具有很高的工程应用价值。随着高光谱技术的发展和广泛应用,高光谱遥感图像的波段数不断增加,成像光谱仪获取的数据量越来越大,这给数据分析、地物分类数据带来了巨大的支持。但数据过多的数据特征对高光谱图像分类而言也可能带来干扰。因此,对新的高光谱遥感图像分类方法的研究显得非常迫切,这也使高光谱遥感图像分类成为一直受关注的研究领域。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1