APP下载

基于网格法分集和主动学习的高光谱图像分类方法

2022-11-11申奕涵杨京辉

电子科技 2022年11期
关键词:训练样本降维类别

申奕涵,杨京辉,王 皓

(中国地质大学(北京)信息工程学院,北京 100083)

自20世纪80年代以来,高光谱遥感在测谱学的基础上开创了新的对地观测手段,这是遥感技术发展的一项重大进展。高光谱遥感产生的图像是在连续几十到上百个窄的波段上获取的区域地物图像数据,其图像含有丰富的空间和光谱信息。利用图像中每个像素点在不同波段上的不同特征信息,可以将其区分为不同的类别。这种特点为观测地物分布、挖掘地物信息提供重要的数据支撑[1]。

目前,广泛使用的高光谱图像数据特征提取方法为线性特征提取算法,其中应用较多的方法包括主成分分析(Principal Component Analysis,PCA)[2-3]、线性判别分析(Linear Discriminant Analysis,LDA)[4-5]以及包括局部线性嵌入算法和拉普拉斯特征映射等方法在内的非线性特征提取方法。分类方法主要有支持向量机(Support Vector Machine,SVM)、贝叶斯方法、卷积神经网络等[6-8]。虽然上述这些方法应用较多,但其能够学习到的特征较为有限,在高光谱标记样本缺少的情况下,上述方法的分类性能受到了一定的制约。

由于已有的分类器性能依赖于训练样本的数量及训练样本所含的信息量,因此选择合适的样本作为训练样本对分类器进行训练是非常重要的[9-10]。然而,在随机选择样本并对样本进行标记时,一般是对场景进行视觉检查并连续地对每个样本进行标记。这样标记样本使得训练集高度冗余,这是由于相邻像素在很大程度上携带了相同的信息,而这种冗余又会延长训练阶段的时间,导致资源浪费。

针对目前高光谱图像分类训练样本较少的问题,文献[10]首次将主动学习用于了高光谱遥感影像的分类,提出了一种基于概率分类模型的主动学习方法;文献[11]提出了一种基于深度贝叶斯的主动学习高光谱图像分类算法;文献[12]设计了一种多准则主动学习的解决方案,考虑多个标准来选择信息丰富的样本;文献[13]提出了一种基于空-谱信息融合的主动学习与标签传递算法相结合的分类框架;文献[14]提出了一种结合卷积神经网络的主动学习方法对高光谱图像进行分类。实验验证表明,上述方法能在较少标注样本的情况下有效提高高光谱图像的分类精度。

针对图像分类训练样本数量少、分类精度低及携带大量相同信息的问题,本文提出一种基于网格法分集和主动学习的高光谱图像分类方法。该方法的主要创新点在于采用了网格法分集和主动学习的方法来选择样本,从而使选择的样本含有较高的信息量,在训练集尽可能小的情况下可保证分类模型具有较好的性能。该方法既有效减少了高光谱图像中的冗余信息,又进一步提高了分类的精确度和可靠性。此外,本文联合运用主成分分析和线性判别分析对光谱数据进行降维,进一步提高了运算速度。

1 算法基础

1.1 主动学习

主动学习算法通过迭代抽样,而不是被动地接受数据,主动选择出具有典型特征的样本与原有的有标记训练样本,将主动学习选择出的有标记样本反复迭代,优化扩充训练样本集,以此达到最优训练样本集的目的。

主动学习[10]在高光谱图像分类领域得到了研究人员的广泛关注。在遥感领域里常用的方法有:查询专家委员会(Entropy Query by Bagging,EQB)、Breaking Ties(BT)、边缘采样策略(Margin Sampling,MS)[15-16]等。

在进行数据分类时,越靠近分类面的样本,越具有不确定性,其含有的信息量也越大。将这样的样本作为训练样本,能够训练出更加准确的分类器。设未被标记的样本集为U,可能的类标号为Y={1,2,…},则某未被标记的样本属于各个类别的概率为p。当此样本属于多个类别的概率相等时,说明此样本属于某个类别的不确定性越大,进而说明了它含有的信息量更适合作为训练样本。

1.2 支持向量机

支持向量机模型满足核函数理论,是建立在统计学习理论基础上的二分类器[17-19]。它将原始的低维空间上的非线性数据或线性不可分数据映射到高维空间中,以结构风险最小化为准则构建最优分类超平面,使两类数据具有最优的分类结果。SVM在高维数据处理方面具有良好的分类性能,被广泛应用在高光谱领域。

SVM的基本思想是求解分类超平面。设数据集I={(x1,y1),(x2,y2),…,(xn,yn)},其中xi(1≤i≤n)表示样本的特征向量,yi(1≤i≤n)表示样本的标签,分类超平面函数为f(x)=ωTx+b。为了在保证间隔最大的情况下正确地分开训练样本,这个两类分类问题被转换成了一个带约束的最小值问题,如式(1)、式(2)所示,其中l为样本数。

(1)

yi(ωTxi+b)-1≥0,i=1,…,l

(2)

求解过程中,可以引入拉格朗日(Lagrange)函数,如式(3)所示。

(3)

令θ(ω)=maxλ(ω,b,a),则在满足所有约束条件的情况下,式(1)可等价于最小化θ(ω)。

事实上,所有非支持向量所对应的拉格朗日乘子都是等于0的,即只有支持向量落在ωTx+b=±1上的样本点可以决定最优超平面的计算。

2 基于网格法分集和主动学习的高光谱图像分类方法

2.1 网格法分集

首先,对高光谱数据进行平滑(九点窗)和标准化预处理。为了有效地从庞大的样本集中选择更具代表性的数据作为训练集的数据,本文提出了网格法分集的方法:先对数据进行主成分分析,降低数据维数,考虑到前3个主成分的累积贡献率已经较高,所以在三维主成分空间进行后续的操作。

将前3个主成分得分向量分别记为pc1、pc2、pc3,找出每个主成分得分向量中的最大值pcjmax和最小值pcjmin(j=1,2,3),两者相减得到各自的范围,即(pcjmax-pcjmin)。将(pcjmax-pccjmin)再除以正整数Rj(j=1,2,3),得到步长(pcjmax-pcjmin)/Rj。在每一个主成分得分轴上以上述步长分别划分网格,如图1所示,共得到R1×R2×R3个网格,每一个网格对应一个小长方体。

图1 网格法分集挑选数据示例

图1中,不同形状的符号代表不同的地物类别,其中部分长方体没有样本落入其中,其余的长方体则有一个或多个样本落入其中。若有多个样本聚集在一起,则说明它们在很大程度上携带了相似的信息。为了避免这些样本都被选择进入训练集而增加冗余度,本文在含有多个样本的长方体中随机选出一个样本,并根据其序号将该序号对应的原始光谱数据归入训练集,然后将该网格内其余序号的光谱数据归入测试集。

同时,网格法分集还考虑了不同类别的样本数量差异。为了防止训练集中没有小样本类别地物样本,本方法针对不同类别的样本划分了不同疏密程度的网格,根据类别的不同,分别挑选数据。对于样本数量较小的类别划分更加密集的网格,以便让更多此类别的数据落入长方体,并归入训练集中。网格法分集可以有效提高小样本类别的训练样本数,降低大样本类别的训练样本数,并在最大限度上保证每个类别的地物都有近似相同的训练样本数。

2.2 主动学习+PCA+LDA

对训练集进行PCA和LDA降维操作,取前q个主成分形成q维特征空间。LDA是一种有监督的特征提取算法,对于给定的训练集,LDA可以使类内方差最小,类间方差最大。LDA可有效提取不同类别的特征,并将所有样本转换到新的子空间中。

采用PCA得到的系数矩阵和训练集的光谱均值对测试集的样本进行仿真,得到其主成分得分矩阵。再用训练集的LDA判别式系数矩阵处理测试集,得到测试集的LDA判别式得分矩阵。

随后,利用训练集和测试集的判别式得分矩阵及训练集的标签向量进行K-近邻(K-Nearest Neighbor,KNN)分类概率预测。将未标注样本加入到KNN分类器中进行训练,并对未标记的样本属于各个类别的概率进行预测;然后,按照从大到小的顺序对此概率排序,将最大概率与次大概率相减,记为P2;随后对P2按照从小到大排列,按照数据的真实类别,对P2最小的w个样本进行人工标注,归入训练集,并移出测试集;重新对新的训练集和测试集进行PCA和LDA降维,再进行KNN分类概率预测。按照上述步骤循环进行,当归入训练集的数据达到所需数量时,退出循环。

考虑到高光谱空间特征对分类准确性的影响,本文在特征选择的范畴,将其二维位置坐标作为有效特征,并将其合并在原有的d维特征空间中,则特征空间的维数变化为d+2。本文以主动学习后选出的样本作训练集,对所有样本进行SVM分类测试,得到最终的分类结果。

基于网格法分集和主动学习的算法流程如图2所示。

图2 基于网格法分集和主动学习的算法流程图

3 算法实验及结果分析

3.1 实验数据集

本实验选取的高光谱图像数据为Indian Pines数据,其波长覆盖范围为400~2 500 nm。剔除20个水吸收波段后剩余200个波段,每个波段包含145像素×145像素,共有16种地物类别。第115波段的灰度显示图如图3所示。

图3 第115波段的灰度显示图

选择样本数目较多的14个类别进行实验,地物真实类别图如图4所示。

图4 地物真实类别展示

3.2 实验仿真

3.2.1 评价指标

本文方法的实验结果将通过下面3个标准进行评判,并将结果与其它方法的结果进行比较。评价指标的值越大说明模型的分类效果越强。

总体分类精度(Overall Accuracy,OA)的定义为:统计正确分类的样本数目,与被标记的总体样本数目作比值。该指标可以直观地显示分类效果的好坏,其计算式为

(4)

式中,N表示被标记的总体样本数目;mi表示正确分类到第i类的样本数量。

平均分类精度(Average Accuracy,AA)的定义为:将每一类别正确分类的样本数目占该类别样本数目的比值进行求和,并与被标记的总体样本数目做比值。AA的计算式为

(5)

可以看出,当某一类分类精度过低时,OA就会被拉低。因此相比于OA,AA更加客观。但当每个类别具有相同的样本数目时,OA与AA相等。

Kappa分析是以分类混淆矩阵判定分类精度的评判指标,Kappa值越大代表分类图像与监督图像的一致性越高,其计算式如(6)所示。

(6)

3.2.2 实验对比方法

本文在Intel(R)Core(TM)i5-6200U CPU @ 2.30 GHz的PC机上利用MATLAB 2015b进行仿真。随后,将本文方法得到的分类结果分别与以下几种情况进行比较:

(1)随机分集。在其他条件与本文算法流程相同的情况下,分集时不采用网格法分集的方式,而采用随机分集的方式,从样本集中随机抽取与网格法分集相同数量的样本作为训练集样本,再进行主动学习操作;

(2)省略LDA降维过程。在其他条件相同的情况下,降维时仅进行PCA操作而不进行LDA操作。通过PCA将数据降至20维;

(3)非主动学习。不进行主动学习操作,通过网格法分集中网格的疏密来控制选择数据的数量,以保证最终的训练集样本数与本文算法相同;

(4)未合并二维坐标信息。在进行SVM分类操作时,不考虑高光谱图像的空间信息,即不将地物的坐标信息并入训练集和测试集的特征空间;

(5)本文方法。本文采用PCA+LDA+合并二维坐标+网格法分集+主动学习。

对原始数据进行主成分分析,将主成分空间划分成若干网格,在每个含有样本的网格中随机挑选一个样本,并将其原始光谱数据归入训练集;然后,对训练集进行PCA和LDA降维,得到相应矩阵后,利用K-近邻法进行主动学习,从中选择不确定性最大的若干样本归入训练集;最后,在原有d维特征空间的基础上合并二维位置坐标,以主动学习后选出的样本作训练集,对所有样本进行SVM分类测试,得到最终的分类结果。

3.3 仿真结果分析

3.3.1 参数设置

在网格法分集的时候,本实验尽量提高小样本类别的训练样本数,在pc1、pc2、pc3这3个主成分得分向量轴上尽可能多划分网格,并降低大样本类别的训练样本数,尽量减少网格划分。通过观察类别中的样本总数量和挑选的初始样本数量来决定所有的网格划分粒度。通过网格法分集,从全部的10 320个样本集中共挑出50个作为初始样本,初始样本数不超过样本总数的0.5%。每一类的具体挑选情况如表1所示。

表1 不同类别的网格划分情况

在用K-近邻法预测未标记的样本属于各个类别的概率时,K值的选取也是决定分类精度的关键因素。从分类精度上考虑,实验进行了训练样本为200时不同K值的分类精度比较,如表2所示。由结果可知,在K=2或K=4时,精度较高。从预测类别的可能性来说,当K=4时,预测结果要更加丰富,更具差异性。因此,本文选择K=4作为K-近邻的输入参数。

表2 不同K值的分类精度比较

在主动学习的过程中,每次迭代选择25个样本进行标记。当训练集样本达到400时,每次迭代样本量改为100,直到满足训练样本数目不超过样本总数的10%,即1 000个为止,其它的样本均作为测试样本。

在数据降维的过程中,本实验先通过PCA将数据降成20维,再通过LDA将数据降为10维,进行SVM分类时合并地物的二维坐标后,总维数为12。

3.3.2 不同方法的分类性能分析与对比

本文中,5种不同方法的分类性能如图5、表3和表4所示。

图5为训练集数量为200时的分类地物图展示。由图5可知,运用本文所提方法后,图中的“斑点”现象得到了改善,可以更加清晰地看到多个类别的较为完整的分类。

图5 不同方法的分类地物图展示

如表3所示为在训练集样本数为200时,OA、AA和Kappa系数的表现情况。从表3的OA、AA及Kappa系数横向比较中可以看出,本文提出算法的精度均高于对比方法。以OA为例,在训练集样本数为200时,本文方法比随机分集高出12.24%,比省略LDA操作提高5.76%,比非主动学习高出19.76%,比未合并二维坐标提高了14.82%。

表3 不同方法的分类精度比较

表4展示了不同算法的运算效率。本文将每种方法在训练集样本数为200时的程序分别运行10次,再计算平均运行时间。结果表明,本文算法运行时间分别比随机分集、未合并二维坐标减少了3.56 s和8.15 s,比省略LDA降维操作和非主动学习分别增加了1.03 s、5.28 s。

表4 不同方法的运算速度比较

综上所述,本文方法虽在时间上略长于非主动学习和省略LDA降维操作,但在分类精度上较其他方法均有一定提升。综合考虑,本文算法的效果最佳。

3.3.3 不同训练样本下网格法分集和随机分集的分类性能分析

图6展示了训练样本迭代过程中网格法分集和随机分集的分类精度变化。由图可知,网格法分集对精度有比较大幅的提升,这不受训练样本数量的影响,且其对平均分类精度提升最为明显,例如在训练样本数仅为100的时候,其对AA有24.42%的精度提升;在训练样本数为400的时候,其对AA有20.94%的提升。造成该结果的主要原因为网格法分集尽可能照顾到了小样本类别的分类情况,对样本数量比较小的地物类别能够起到更好的分类效果,进而提高了整体分类精度。

(a)

3.3.4 不同训练样本下仅PCA降维操作与PCA+LDA降维操作的分类性能分析

图7展示了在训练样本迭代过程中,仅PCA降维操作与PCA+LDA降维操作后分类精度的变化情况。增加LDA降维后,OA、AA和Kappa系数均有提升,平均涨幅在2%左右。相较于PCA降维,LDA在降维过程中,可以使用类别的先验知识经验,且样本分类信息依赖均值而不是方差,因此产生了更好的效果。

(a)

此外,本文还通过PCA将数据降成10维,并与联合运用PCA和LDA将数据降为10维进行了性能对比,结果如图8所示。直接用PCA降为10维,本文方法的OA平均提高了3.7%,平均运行时间仅增加了2.49 s,说明了加入LDA降维的必要性。

(a)

3.3.5 不同训练样本下非主动学习与主动学习的分类性能分析

不同训练样本下非主动学习与主动学习的分类精度如图9所示。

(a)

在训练样本数为75时,相较于非主动学习,主动学习算法的OA、AA、Kappa系数分别增加了32.02%、8.92%和27.79%。在训练样本数为400时,主动学习算法的OA、AA、Kappa系数涨幅分别为17.24%、6.36%和18.99%。可以看出,本实验中主动学习通过将更难分类的样本归入训练集,在小样本条件下对评价指标的提升更明显,能够呈现出更好、更可靠的分类性能。

3.3.6 不同训练样本下不合并二维坐标与合并二维坐标的分类性能分析

图10展示了训练样本迭代过程中,合并二维坐标前后的分类精度变化。在SVM分类中加入地物的二维坐标后,3个分类精度的评价指标有较大幅度的增长。其中,无论训练集样本数量的多或少,其平均涨幅均保持在10%左右。在SVM分类中加入地物的二维坐标后,相当于加入了高光谱数据的空间特征,这对于分类精度的改善起到了至关重要的作用。

(a)

4 结束语

针对高光谱图像分类中训练样本数量少、冗余度高的问题,本文提出了一种基于网格法分集和主动学习的算法。该算法首先将主成分空间划分成若干网格,在每个含有样本的网格中随机挑选一个样本;接着,对训练集进行PCA和LDA降维;得到相应矩阵后,利用K-近邻法进行主动学习,从中选择不确定性大的样本归入训练集,并进行了训练集数据的筛选。在Indian Pines高光谱分类的仿真实验结果表明,在训练集样本数相同的情况下,网格法分集、主动学习、LDA降维和合并二维坐标均能不同程度地提高高光谱分类精度。其中,LDA降维对精度有小幅度提高;网格法分集能够更好地照顾到小样本地物的分类准确度;主动学习在小样本训练集的情况下对精度提升更加明显;合并二维坐标能够大幅提高分类精度。

今后的研究重点集中在以下两个方面:首先,在网格法分集的部分,将采用更加智能的方式对三维主成分空间进行粒度划分;其次,考虑提取空间纹理、形状、对象、语义等空间信息,以便更加有效地融合空间特征,从而进一步提高运行效率和分类精度。

猜你喜欢

训练样本降维类别
混动成为降维打击的实力 东风风神皓极
基于数据降维与聚类的车联网数据分析应用
论陶瓷刻划花艺术类别与特征
一起去图书馆吧
大气腐蚀数据降维最优维度研究
人工智能
降维打击
基于小波神经网络的网络流量预测研究
宽带光谱成像系统最优训练样本选择方法研究
选相纸 打照片