张金盈,姚光虎,林 琳,郭怀轩
(1. 山东省国土测绘院遥感技术部,山东 济南 250013; 2. 神舟航天软件(济南)有限公司卫星应用中心,山东 济南 250013; 3. 山东省水利科学研究院水资源与水环境省重点实验室, 山东 济南 250013)
我国遥感技术的发展,使得遥感影像空间分辨率越来越高,这极大地便利了城区土地利用覆盖制图的研究,为城镇发展规划、应急响应和灾害评估等领域的应用提供了重要的参考数据支持。高空间分辨率的遥感影像伴随着丰富的光谱和纹理信息,同类地物内的光谱差异增大,类间的光谱差异减少,同物异谱及同谱异物的现象也变得更加严重,导致目前的分类方法正确率不高[1],因此,基于高分辨率影像的分类具有一定的研究价值。
大量细节信息和复杂的光谱特征导致基于光谱统计特征进行分类的方法正确率下降[2]。近年来,一些学者在分类过程中加入影像的纹理、空间结构等特征[3],然后利用神经网络和支持向量机等分类高分辨率影像。文献[4]利用自适应级联分类器分类高分二号遥感影像。文献[5]则利用高分二号影像进行大麻地块提取方法研究。文献[6]从高分二号遥感影像中自动提取云南松林区域。文献[7]从多尺度的分割对象中提取纹理、颜色和形状特征实现高分辨率影像的分类。文献[8]将CART决策树和面向对象的分类方法相结合分类高分辨率遥感影像,进行土地利用监测。文献[9]则提出融合像素和分割对象特征分类高分辨率遥感影像。这些浅层视觉特征往往存在于低层高维特征空间,带有很多冗余信息和杂点。而且,这些监督方法往往是人工选择训练样本,分类器的性能很大程度上取决于样本的选取质量。
针对目前高分辨率影像分类中存在的问题,本文提出一种结合主动学习和词袋模型的高分二号遥感影像分类方法。图1为本文方法的流程。文中首先以多尺度分割算法得到多尺度的影像分割对象作为基元;其次,考虑同一影像分割对象中视觉特征的相似性,基于词袋模型来组织影像对象中的局部特征,以生成具有一定表达能力的视觉单词,建立影像分割对象的高层次语义表达,以提高影像分割对象视觉特征的表达能力;最后,充分考虑位于分类边界的不确定性样本分布,迭代选择最优和最优价值的样本用于训练支持向量机[10],用于分类遥感影像。
现实世界地物目标复杂多变,不同地物类型需要适当的距离和比例尺才能有效完整地呈现,因此应用单一的分割尺度很难实现,要充分描述和表达不同的地物类型需要在不同的分割尺度下才能进行。多尺度分割算法通过分割参数的设定,不同的参数设定决定了分割结果的尺度和质量,进一步会直接影响对象分类的精度。本文采用基于分型网络演化算法[11]生成影像分割对象。这种分割算法具有良好的稳健性,有效地改善了影像信息萃取的信噪比。文中首先对研究区域遥感数据进行多尺度分割,基于多尺度分割结果选择最佳的分割尺度。
在利用机器学习分类之前,需要对影像分割对象建立具有良好表达能力且稳健的视觉特征表达。由于高分二号遥感影像空间分辨率的提高,导致同物异谱和同谱异物现象变得更加严重,这些存在于底层高维空间的视觉特征通常带有大量的信息冗余和噪声问题[12],使得基于这些底层视觉特征进行分类的方法正确率不高。为了实现遥感影像信息解译中影像分割对象的表达和分类,文中通过词袋模型来提取影像分割对象中局部视觉特征的统计信息,实现影像分割对象的词袋表示。图2为影像分割对象的词袋表达构建示意图,影像分割对象的词袋表示构建的具体过程如下:
(1) 基于像素提取每个像素的光谱和纹理信息[13],构建像素的视觉特征向量并归一化。
(2) 视觉词典的构建。利用K-means聚类算法计算n个聚类中心,每个聚类中心被看作一个“视觉单词”,则n个“视觉单词”组成了视觉词典。
(3) “视觉单词”的表示。将影像分割对象内所有像素的视觉特征向量用离它最近的“视觉单词”代替,统计当前影像分割对象内每个“视觉单词”出现的频率,构建影像分割对象的词袋表示。这个基于影像分割对象的词袋表示将作为SVM分类器的输入,对其对应的影像分割对象进行分类。
影像分割对象的词袋表达构建之后,文中采用SVM模型实现影像分类。由于SVM模型对于分类非线性高维数据通常表现出良好的性能。SVM模型[14]是一个二分类器(如图3所示)。假设数据集D={(x1,y1),(x2,y2),…,(xn,yn)},其中,xi(1≤i≤n)表示影像分割对象的词袋表示,yi(1≤i≤n)表示对应影像对象的标签,分类超平面函数为f(x)=ωTx+b。对于分类超平面的求解通常被转换为优化问题
(1)
式(1)等价于
(2)
通过给每一个约束条件加上一个拉格朗日乘子α,将约束条件融合到目标函数中,即
(3)
令
(4)
然而,传统的SVM模型是针对二分类问题的。对于遥感影像的分类,往往涉及多种地物类型,因此,需要将遥感影像的分类方法转化为多类问题。目前最简单的方法是将多类问题直接分解为若干个两类问题。在SVM分类问题中,可采用一对一法和一对余[15]进行多类分类,其中一对余的扩展方法目前已经在广泛应用于遥感影像分类中,因此本文采用此方法。
对于监督方法而言,训练样本的数量和质量对分类器的性能起决定性作用。对于SVM分类器而言,离分类超平面越远的样本,其分类置信度越高。主动学习可以在SVM模型训练过程中根据学习进程,根据一定的规则(如边缘采样[16])主动选择最有利于分类器性能的样本进行学习,提高训练模型的泛化能力。因此,本文采用主动学习的策略[17]训练最优的SVM分类器。主动学习从形式上说是一个循环迭代的过程,具体过程如下:
(1) 将已知样本集分成3个集合,分别为初始训练样本集U0、候选样本集UC和测试样本集UT。
(2) 进行第i(i≥1)次循环,利用训练样本集Ui-1训练得到分类超平面fi-1。利用当前分类超平面fi-1识别测试样本集UT,记录当前分类超平面fi-1的正确率。然后利用当前超平面fi-1识别候选样本集UC,选择新样本,记作UN。样本选择准则是:①添加错误检测的样本。②对一个数据点进行分类,当数据点离超平面的距离越大,分类结果的确信度也越大。因此如果没有错误检测的样本则按样本点到超平面的距离远近添加样本。执行Ui=Ui-1∪UN,UC=UC-UN。
(3) 重复步骤(2),直到UC为空或正确率不再变化为止(在所允许的误差范围内)。
为了验证本文方法的有效性,采用山东省某市的高分二号遥感影像作为验证数据集,同时将试验结果与传统的基于像素的方法得到的分类结果进行对比分析。场景Ⅰ和场景Ⅱ的大小均为1110×1105像素,空间分辨率为1 m。试验中主要将场景分类为地面、建筑物、植被和水体4大类,以验证本文方法的有效性。文中采用精确率(P)、召回率(R)、F1-score和总正确率评价分类结果的优劣。
对于传统的被动学习而言,训练样本的选择是人为确定的训练样本。而本文利用边缘采样的主动学习方式优化SVM模型的训练过程。为了验证该方法的有效性,文中将最大边界采样的策略和随机采样策略进行对比分析。试验中训练样本库分别采用两种采样方式进行更新。从图4可以看出,随着训练样本库的不断更新,采用本文策略的样本库更新方式可以得到更优的训练模型。
为了处理低维空间不可分的数据,SVM通常利用核函数的方法将低维向量升维至高维空间。为了验证不同核函数对分类精度的影响,试验结果如图5所示。与其他核函数相比,使用径向基核函数的分类结果在总正确率上要高出2%以上。
视觉词典中视觉单词的个数决定了词典的表达能力。为了验证视觉单词个数对分类结果的影响,文中分别设置视觉单词个数为100、200、300、400和500进行对比试验。图6中柱状图表示的不同地物类型的分类精度受视觉单词个数的影响,而折线图则反映的是分类总正确率受视觉单词个数的影响。试验结果表明,视觉单词个数对分类精度有较大影响,正确率的波动大于4%。
为了进一步验证本文方法的优势,将本文方法与传统的基于像素的方法进行对比分析。表1给出了两种方法分类场景Ⅰ和场景Ⅱ的精度对比。可以得出,本文方法在分类正确率上要高出基于像素的方法6%以上。图7中灰色表示建筑物区,白色表示地面区,黑色表示水体区,浅灰色表示植被区。从图中可以看出,本文方法可以有效抑制分类结果中的椒盐现象。
表1 不同方法分类结果的对比 (%)
本文提出了一种结合主动学习和词袋模型的高分二号遥感影像分类方法。首先基于多尺度分割算法获取最优的影像分割对象集合;其次在提取影像的光谱和纹理信息基础上,利用词袋模型建立影像分割对象的语义表达,以解决低层视觉特征与语义特征之间的语义鸿沟问题;最后基于边缘采样的方法获取最有价值的训练样本,以训练最优的SVM模型。对高分二号卫星的分类结果验证了本文方法的有效性。下一步将融合多源数据,如多光谱的数据进行融合处理和分类,以提高分类结果的正确性。