一种遥感图像分类方法
技术领域
本发明涉及图像信息处理技术领域,尤其涉及一种遥感图像分类方法。
背景技术
卫星遥感系统的空间分辨率和光谱分辨率的提高使得我们能够从遥感图像中辨识出更细小的物体,例如居民房屋、商业建筑、公交系统和公共事业设备等。从遥感图像中挖掘出的大量信息可以被应用到诸如灾害监测和评估、城市和区域规划、环境监测等领域。
遥感图像的分类是信息提取的一种方法,是指根据遥感图像中地物的光谱特征、空间特征、时相特征等,对地物目标进行识别的过程,通常是基于图像像元的光谱值,将像素归并成有限几种类型(用类标进行标注)。近年来,基于核的方法,特别是支持向量机,在多光谱和超光谱的图像分类中取得了很多进展。但是,和所有监督学习一样,支持向量机的分类准确率依赖于训练样本的好坏。事实上,专家对训练样本的标注过程通常是根据场景的视觉特征来完成的,因此,如果样本在未加筛选之前就直接交给专家进行标注,带来的后果是专家会花费大量的宝贵时间对具有类似信息量的样本进行充分标注,这样会使得训练集的信息非常冗余,这种冗余信息大大降低了训练速度,甚至会产生过拟合的现象,特别是对于上百万甚至是上千万像素的高分辨图像。所以,对于卫星遥感图像而言,我们需要一个自动的定义有效训练集的过程。这个训练集的样本数量要尽可能的少而且能有效地提高分类模型的准确率。
在机器学习领域,我们可以通过主动学习来解决这样的问题。图1(a)、图1(b)分别显示了主动学习和被动学习的原理,从图中我们可以发现,主动学习和被动学习相比,多了一个人机交互的过程(虚线框部分),模型返回给用户那些分类结果最不确定的样本,由用户对这些样本进行准确的标注后再添加到训练集中,通过这些筛选出来的样本,模型被不断的优化,从而提高了模型的泛化能力。
到目前为止,人们已经提出了许多主动学习的方法,这些方法大致的可以分为三大类。
第一类主动学习方法是和支持向量机相结合的。这类方法已经被广泛的应用到物种识别,图像检索和文本分类中。这些主动学习的方法主要利用了支持向量机的几何特征。例如,边缘采样(margin sampling)策略通过计算未标注的候选样本到当前分类超平面的距离来采样那些位于分类超平面边缘的样本,Tong和Koller从理论上证明了这些方法的有效性。最近,E.Pasolli利用两个支持向量机来构建一个典型的空间模型,然后直接用这个模型来选择信息量较大的样本。D.Tuia提出了对边缘采样获得的样本之间增加差异性约束的采样方法,从而使得每次迭代所获得的样本之间的信息量没有冗余。
第二类主动学习方法依赖于后验概率。一种方法是采样那些最大化改变后验分布的样本,后验分布的改变可通过KL差异性来计算添加样本前后的变化。在遥感图像应用中,S.Rajan等人基于这个想法提出了一种利用最大似然分类器的概率方法,这种方法需要对每一个未标注的样本添加前后都进行一次计算,计算比较复杂。另一种方法是将支持向量机的输出通过sigmoid函数来拟合成一个概率输出,从而估计出每一类的后验分布,然后再根据熵的大小来筛选样本。
第三类主动学习是基于委员会(多个分类器)的测试方案。通过学习委员会来量化所有的未标注样本。每一个委员会成员探索不同的假设,然后对未标注池中的样本进行标注。主动学习选择那些委员会中不同分类模型之间不同意性最高的样本,这类主动学习的难点就在于如何构造委员会。最近,基于boosting和bagging的方法被提出来了,但是只适用于二类分类。这种类型的方法的好处就在于它可以应用到任意一个模型或者模型的组合中。在遥感图像的分析中,提出了两种基于委员会的主动学习方法:第一,利用同一个模型、同一个样本集中不同的样本成员来构建委员会,被称作query-by-bagging策略;第二,利用不同的特征空间子集来构建委员会。
大部分现有的主动学习方法都是基于像素点的光谱信息,很少会考虑像素点的空间信息,由此带来的主要缺点是生成的分类图中存在大量的异常点。另外,在许多遥感图像中,地面上目标的尺寸远大于图像中像素点的尺寸,所以相邻的像素点更可能属于同一类,以此来形成一个均匀的区域。因此,同时利用光谱信息和上下文空间信息的监督分类器更容易区分那些具有类似光谱值却位于不同区域的像素点。例如,如果只使用光谱信息,那么私人房屋的屋顶和大型建筑物的屋顶将会被划分成同一种结构;但是当我们考虑空间信息时,例如屋顶的大小,就很可能将它们区分成两种不同的类型。
发明内容
本发明所要解决的技术问题在于克服现有技术不足,提供一种遥感图像分类方法,充分利用了基于光谱-空间信息的描述模型(即基于图像块的分类器)和基于光谱信息的描述模型(即基于像素点的分类器)的优点,能够更好地对像素点进行分类,提高了分类准确率,并使得最终得到的分类结果图具有更好的视觉效果。
本发明的遥感图像分类方法,包括以下步骤:
步骤1、对遥感图像的每个像素,构造包含该像素以及以该像素为中心的邻域的N×N的图像块,得到一组重叠的图像块集合,其中N为大于1的奇数。
步骤2、从所述图像块集合中选择少量图像块进行人工标注,以这一部分图像块样本作为初始块训练样本集,以这一部分图像块中所有的像素点作为初始点训练样本集。
步骤3、利用当前块训练样本集和点训练样本集分别对块分类器和点分类器进行训练。
步骤4、利用训练好的块分类器对当前剩余的未标注图像块进行分类,得到未标注图像块的类标;并利用以下方法将图像块分类结果转换为像素点分类结果:对于未标注图像块中的任意一个像素点,以包含该像素点的所有图像块中出现次数最多的类标作为该像素点的类标;同时,利用训练好的点分类器对当前剩余的未标注像素点进行分类;然后对所得到的两个像素点分类结果进行比较,将分类结果不一致的像素点添加到矛盾样本池中。
步骤5、利用边缘采样主动学习方法从当前矛盾样本池中选择部分信息量最大的像素点,并对所选择的像素点进行人工标注;同时,对未标注图像块中包含这些像素点的图像块也进行人工标注。
步骤6、将步骤5得到的已标注像素点和图像块分别加入当前点训练样本集和块训练样本集,以新得到的点/块训练样本集作为当前点/块训练样本集,然后转至步骤3。
步骤7、循环执行步骤3-步骤6,直到满足训练终止条件。
步骤8、利用步骤7训练好的点分类器模型,重新对步骤2未选择的图像块中剩余的未标注像素点进行分类,从而最终完成遥感图像的分类。
为了围绕图像边缘部分的像素构造正常的图像块,本发明进一步采用以下改进方案:在构造图像块集合时,对于遥感图像边缘的像素,通过在遥感图像的四边分别填充行/列像素,实现图像块的构造。所填充的像素灰度值优选为0。
相比现有技术,本发明方法具有以下有益效果:
⑴在同样的实验条件下,经过相同次数的迭代,本发明方法的分类准确率比随机采样和经典的边缘采样主动学习分类方法的准确率高。
⑵不会增加过多的计算负担,能够快速提供分类结果,兼顾了分类系统对计算复杂度的要求。
附图说明
图1(a)、图1(b)分别为主动学习和被动学习的原理示意图。
图2为本发明遥感图像分类方法的流程示意图。
图3为本发明方法与随机采样和经典的边缘采样主动学习方法的分类准确率随迭代次数的变化曲线。
具体实施方式
下面结合附图对本发明的技术方案进行详细说明:
本发明的思路是充分利用基于光谱-空间信息的描述模型(即基于图像块的分类器)和基于光谱信息的描述模型(即基于像素点的分类器)的优点,结合基于图像块的分类器和基于像素点的分类器这两个模型的分类结果,充分挖掘未标注样本的信息,以此来联合测试信息量较大的样本,从而能够更好地对像素点进行分类,提高了分类准确率,并使得最终得到的分类结果图具有更好的视觉效果。
本发明方法的基本流程如图2所示,具体包括以下步骤:
步骤1、遥感图像的分块:对遥感图像的每个像素,构造包含该像素以及以该像素为中心的邻域的N×N的图像块,N为大于1的奇数,得到一组重叠的图像块集合。
N的取值可根据传感器空间分辨率以及遥感图像中目标物体的大小等因素来决定。具体实施时,为了使遥感图像边缘的像素点构造相同的邻域,本发明采用“填充”的方式,在构造图像块集合时,对于遥感图像边缘的像素,通过在遥感图像的四边分别填充行/列像素,实现图像块的构造。以N的值为3为例,在原始遥感图像的顶部和底部分别填充1行灰度值为0或与边缘像素灰度值相同的像素点,相应地,在图像左侧和右侧分别填充1列灰度值为0或与边缘像素灰度值相同的像素点,这样图像的边缘像素点便可以构造出以其自身为中心的3×3的图像块。通过上述“填充”方式即可构造出一组图像块集合,遥感图像中的每个像素均与一个图像块唯一对应,图像块之间存在部分重叠。
步骤2、初始样本的选择:从所述图像块集合中选择少量图像块进行人工标注(即确定所属类别并加注相应的类标),以这一部分图像块样本作为初始块训练样本集,以这一部分图像块中所有的像素点作为初始点训练样本集。
初始样本的选择方式及数量可以根据实际需要确定,例如可以根据先验知识或者采用随机选择的方式。
步骤3、分类器的训练:利用当前块训练样本集和点训练样本集分别对块分类器和点分类器进行训练。
本发明方法中的分类器可采用现有的各种分类器模型,例如神经网络模型、支持向量机(SVM)模型等。下面以最常使用的支持向量机分类模型为例来进行简要说明。
由于SVM只能处理二类分类问题,对于多类分类问题,通过一对多的方式,将多个二类SVM分类器联合起来,以完成多类分类任务。
首先简单说明二类SVM分类器的基本原理及训练过程。给定一个标注集其中xi∈Rd,yi∈{-1,1}。xi为反馈样本的底层视觉特征矢量,yi为类别标注,正反馈样本的类别标注为1,负反馈样本的类别标注为-1,Rd为实数域上R上的d维向量空间。为了更好的解决非线性问题,在本发明中采用带有核函数的支持向量机,利用一个非线性映射将样本映射到高维空间中,如下所示:
Φ:Rd→F x→Φ(x)。
其中,F是映射到的高维空间,Φ是对应的映射函数。决策函数表示为以下形式:
g(x)=w·Φ(x)+b (1)。
相应地,支持向量机分类面可以写成:
w·Φ(x)+b=0 (2)。
其中,w为权值向量,b为偏移常量。
落在w·Φ(x)+b=±1这两个超平面上的点称为支持向量,支持向量到分类面的距离称为分类间隔,大小为分类间隔的大小表示了分类器的泛化能力,因此我们要使分类器的间隔最大化:
subject to:
yi(w·Φ(xi)+b)≥1,i=1,Λ,N (3)。
根据(3)式的求解即可得到支持向量机分类面。通过拉格朗日乘子法对(3)式中的二次规划问题进行求解,可以得到:
其中,xi为支持向量,yi和αi分别为该支持向量对应的类别标注和拉格朗日系数。样本x通过二类SVM分类器得到的输出为:
利用核函数避开非线性映射的显示表达,图像样本通过二类SVM分类器得到的输出可以改写为:
其中,K(·)为核函数,且K(xi,x)=Φ(xi)T·Φ(x),上标T表示转置矩阵。根据(6)式,对于任意一个为标准的样本,如果f(x)的值大于0,则该样本的类标为1,f(x)的值小于0则类标为-1。
对于多类分类,通过一对多的方式对多个二分类器进行联合,每个二类分类器产生一个分类超平面,图像有多少类便可生成多少个分类超平面,然后计算每个未标注样本到所有分类超平面的距离,样本属于距离最大的那一类。
步骤4、矛盾样本池的构造:利用训练好的点分类器和块分类器分别对遥感图像中当前剩余的未标注像素点、未标注图像块进行分类,并对两者的分类结果进行比较,将分类结果不一致的像素点添加到矛盾样本池中。
由于块分类器得到的是图像块的分类结果,因此需要将其转换为像素点的分类结果,本发明具体采用以下方法进行图像块至像素点分类结果的转换:对于未标注图像块中的任意一个像素点,以包含该像素点的所有图像块中出现次数最多的类标作为该像素点的类标。这样,块分类器的图像块分类结果即可转换为像素点分类结果,从而可与点分类器得到的分类结果进行比较。
步骤5、信息量最大样本的选择:从当前矛盾样本池中选择部分信息量最大的像素点,并对所选择的像素点进行人工标注;选择信息量最大的部分像素点可采用现有各种方法,例如,query-by-bagging法(详见文献“Query learning strategies using boosting andbagging”),multiclass level uncertainty法(详见文献“A survey ofactive learning algorithmsfor supervised remote sensing image classification”)等。本发明优选采用边缘采样(MS)主动学习方法,如D.Tuia在文章Active learning Methods for Remote Sensing ImageClassification中提到的那样;同时,对未标注图像块中包含这些信息量最大的像素点的图像块也进行人工标注。
具体实施时,MS是指对于当前分类模型而言,计算出每个未标注的样本到当前分类超平面的距离,距离最小的样本即为信息量最大的样本;
假设是给定标注的训练集,为未标注集,其中xi∈Rd,yi={1,ΛN},u>>l。
对于MS的主动学习策略,筛选样本的标准为:
其中,f(xi,w)是样本xi到w类的分类超平面的距离。
步骤6、训练样本集及分类器模型更新:将步骤5得到的新的已标注像素点样本和图像块样本分别加入当前点训练样本集和块训练样本集,以新得到的训练样本集作为当前训练样本集,然后转至步骤3。
具体实施时,除了将步骤5中获得的已标注像素点和图像块样本加入到当前的点训练样本集和块训练样本集,对训练样本进行更新外,同时也需要将这部分像素点和图像块样本分别从相应的未标注像素点和图像块样本集中去除,即未标注样本集也需要做相应的更新。
步骤7、分类过程迭代:循环执行步骤3-步骤6,直到满足训练终止条件,得到训练好的点分类器。
步骤3-步骤6是一个反复迭代过程,不断地提高分类模型的泛化能力,直到满足分类要求或者收敛。此时即得到训练好的点分类器模型。
步骤8、遥感图像的分类:利用步骤7训练好的点分类器模型,重新对步骤2未选择的图像块中剩余的未标注像素点进行分类,从而最终完成遥感图像的分类。
以剩余的未标注像素点作为测试样本集,利用训练好的点分类器对其进行分类,即可预测出每个未标注图像像素点的类标,完成剩余未标注图像像素点的标注,再结合已进行人工标注的点训练样本集,即完成了整个遥感图像的分类(标注)。
为了便于公众理解本发明技术方案,下面给出一个具体实施例。
本实施例将本发明所提供的技术方案应用在Indian Pines遥感图像分类中。该图像由AVIRIS传感器所获得,图像中包含16类不同的物体,其中三分之二为农作物,其余三分之一为树木和植被;图像大小为145×145,原始图像共有224个光谱波段,我们去除掉4个全是0和20个被噪声污染的波段,剩余200个波段用于实验。利用本发明所提出的基于委员会主动学习算法的遥感图像分类方法,将同一类型的像素点标注成同一个类标,以此来得到一个遥感图像的分类图。
本实施例中,分类模型选用支持向量机(SVM),为了验证本发明的有效性,分类结果分别与随机采样和边缘采样主动学习方法进行对比,图像块的大小为3×3。分类过程中采用以下方法来提取每个像素点和每个图像块的底层特征:将每个像素点的各个通道的光谱值作为该像素点的特征,构成一个长度为200的特征向量;将每个块中所包含的9个像素点各个通道的平均值作为该图像块的特征,同样构成一个长度为200个特征向量。
本实施例的分类过程具体如下:
1、遥感图像的分块:
以遥感图像的每个像素点和以该像素点为中心的八邻域来构造一个3×3的图像块,以此来将图像分成若干个重叠的图像块。
2、初始样本的选择:
将图像块训练样本集和图像块未标注样本集分别记为和相应的,图像像素点训练集和未标注集分别记为L和U。在初始分类时,从中每一类样本中随机选择2个图像块样本,由用户对这32个块样本进行人工标注,将该样本集合记为对这些块中的所有像素点进行标注,将该样本集合记为Lnew。对图像块训练样本集点训练样本集L和图像块未标注样本集点未标注样本集U进行更新: L=Lnew,U→U\Lnew。
3、分类器模型训练:
分别用块训练集和点训练集X训练块SVM分类器和点SVM分类器,在本实施例中,训练支持向量机分类器时采用的核函数均为径向基核函数,K(xi,xj)=exp(-γ||xi-xj||2),参数γ和惩罚系数C通过交叉检验的方式由网格寻优法获得。
4、矛盾样本池的构造:
利用训练好的点分类器和块分类器分别对遥感图像中当前剩余的未标注像素点、未标注图像块进行分类,将块分类器的分类结果转换为像素点分类结果,然后对两组像素点分类结果进行比较,将分类结果不一致的像素点添加到矛盾样本池中。
5、信息量最大样本的选择:
根据当前支持向量机的块分类模型,利用式(7)计算出矛盾样本池中所有的未标注像素点的值,该值即为其信息量的大小。选择信息量最大的前10个像素点样本,记为Lnew,然后对其进行人工标注。同时,对未标注图像块中包含这些像素点的图像块也进行人工标注,记为
6、训练样本集及分类器模型更新:
将步骤5中筛选出的图像块和像素点样本,连同人工标注,分别加入到当前块训练样本集和点训练样本集中,对训练集进行更新;同时,将这些新选出的样本,从当前的未标注样本集中去除:L=L∪Lnew,U→U\Lnew;用更新后的训练样本集重新训练SVM分类器模型。
7、分类过程迭代:
在本实施例中,设置最大迭代次数为145(将初始随机样本选择及分类器训练作为第1次迭代),通过最大迭代次数来控制是否对分类过程进行继续迭代。若当前迭代次数小于最大迭代次数,则继续进行迭代;当迭代次数达到最大迭代次数时,则停止迭代。
8、遥感图像的分类:
利用训练好的点分类器对遥感图像中剩余的未标注像素点进行分类,从而最终完成遥感图像的分类。
为了验证本发明方法的效果,分别将本发明提出的主动学习方法与随机采样和经典的边缘采样主动学习方法进行比较。
图3分别为本发明方法与随机采样和边缘采样主动学习方法下的分类准确率随迭代次数的变化曲线。从图中可以看出,对于三种主动学习方法而言,采用本发明的主动学习分类方法,其准确率高于其他两种方法。这说明当进行同样次数的迭代时,本发明方法可以获得更高的分类准确率;从另一个角度说,当获得相似的分类性能时,本发明方法所需的迭代次数更少。
表1给出了最后一次迭代时3种分类方法对每一类的分类准确率、整体分类准确率以及平均分类准确率的比较。
表1分类准确率对比
类 |
本发明的主动学习方法 |
边缘采样主动学习方法 |
随机采样方法 |
Alfalfa |
87.5000 |
81.2500 |
87.5000 |
Corn-notill |
86.6084 |
84.2795 |
86.1718 |
Corn-mintill |
81.8898 |
66.1417 |
56.9554 |
Corn |
72.8155 |
78.6408 |
72.8155 |
Grass-pasture |
92.1659 |
93.0876 |
87.0968 |
Grass-trees |
97.7465 |
99.4366 |
95.7746 |
Grass-pasture-mowed |
80 |
80 |
60 |
Hay-windrowed |
99.1525 |
98.3051 |
98.3051 |
Oats |
80 |
100 |
90 |
Soybean-notill |
88.1319 |
88.5714 |
81.7582 |
Soybean-mintill |
84.9832 |
82.9698 |
80.6208 |
Soybean-clean |
92.1233 |
90.4110 |
86.3014 |
Wheat |
97.5000 |
97.5000 |
97.5000 |
Woods |
98.1636 |
97.6628 |
98.3306 |
Buildings-Grass-Trees-Drives |
78 |
65.3333 |
63.3333 |
Stone-Steel-Towers |
92.5000 |
100 |
92.5000 |
整体准确率 |
89.0732 |
86.8132 |
84.1385 |
平均准确率 |
88.0800 |
87.7243 |
83.4352 |
从表1可以看出,本发明方法的整体和平均分类准确率明显高于其他两种主动学习分类方法。
此外,根据最后一次迭代时3种分类方法所得到的分类结果图可以发现,本发明方法分类结果图视觉效果更好,异常点减少了。
综上可知,和随机采样以及经典的边缘采样主动学习相比,本发明方法无论是从准确率还是从视觉效果上来看,都具有明显的优势。