基于小样本学习的高光谱图像半监督分类方法

文档序号:8607 发布日期:2021-09-17 浏览:35次 英文

基于小样本学习的高光谱图像半监督分类方法

技术领域

本发明属于图像处理

技术领域

,进一步涉及一种高光谱图像分类方法,可用于地质勘探、城市遥感和海洋探测。

背景技术

高光谱图像分类是图像处理领域研究的重点。高光谱图像具有数据量大、波段多、波段间相关性强的特性,这些特点虽然给分类过程带来了诸多便利,但由于其标记样本少而会导致模型容易过拟合,使得高光谱图像在实际分类和识别应用中面临许多挑战。

现有的高光谱图像分类方法按照无标记样本是否参与训练,分为无监督型、半监督型和监督型分类方法。半监督分类方法从无标记样本参与训练方式不同可以分为五类:基于图的方法、生成式方法、协同学习方法、半监督聚类方法和自训练方法。

基于图的方法,是利用图的数据形式建模个体之间的连接关系,其主要包括图卷积神经网络和标签传播两种方法。基于图的高光谱图像分类方法利用图模型表示样本之间的相似性关系,可以获得较高的分类精度,但存在运算量大的问题。

生成式模型,顾名思义就是生成一种可观测数据的模型。典型的生成模型包括生成对抗网络GAN、变分自编码器等。生成式方法能够通过潜在模型的参数将未标记样本与学习目标联系起来,但此类方法假定样本数据服从一个潜在分布,需要充分可靠的先验知识建模,使用门槛较高。

协同训练方法,是指通过两个相互独立分类器,为彼此选择较为可靠的样本来扩展训练集,达到提高分类精度目的。该方法简单,但分类器相互独立的假设条件在实际应用中很难满足,训练前期容易将错误标签引入到另一分类器中。

半监督聚类方法中最典型的算法是直推式支持向量机,本质上属于支持向量机的推广形式,其目的仍然是寻找一个超平面用于对未标记样本的划分。该方法可以处理大的和高维的数据集,操作容易,但容易陷入局部最优解而非全局最优解。

自训练方法,是另一种高效学习方法。其首先使用标记样本数据训练一个分类器;其次,利用训练好的分类器对未标记样本生成“伪标签”;再次,将“伪标记”数据和标记样本数据结合,重新训练标记样本;最后,使用经过训练的分类器来预测测试样本的类标签,完成分类过程。这种学习方法,由于简单有效,不需要特定的假设条件,得到广泛应用,但当足够多的“伪标签”不正确时,会强化糟糕的分类决策,而分类器的性能实际上会变得更糟。针对这一问题,学者们提出了不同的技术方案。

Lu等人在A novel synergetic classification approach for hyperspectraland panchromatic images based on self-learning中提出一种自训练方法,该方法结合了标准的主动学习和基于主动学习的图像分割模型,学习时根据空-谱特征和来自光谱分类器的预测信息自动选择未标记样本,参与训练并完成分类过程。本发明虽然操作简单,但由于其光谱相似度的阈值和未标记样本的数量是人工确定的,很难取到学习过程中的最优解。

Li等人在Semisupervised hyperspectral image classification using softsparse multinomial logistic regression提出一种基于软标签稀疏多项式逻辑回归模型,其对未标记样本依次分配硬标签和多个软标签,经过多次迭代后最终确定未标记样本标签类别。该方法使用了多个软标签,虽然可以减缓“伪标签”不正确的问题,但实验结果可能会出现不稳定的问题。

Fang等人在Multiscale CNNs Ensemble Based Self-Learning forHyperspectral Image Classification提出一种基于多尺度卷积神经网络集成的自学习方法。该方法首先从有限的标记训练样本中提取不同尺度的空间信息,然后训练多个CNN模型,最后利用训练好的多尺度神经网络对未标记样本进行分类。该方法使用了多个分类器,虽然可以缓解标签部分不正确的问题,但时间和内存损耗较大。

发明内容

本发明的目的在于针对上述现有自训练方法的不足,提供一种基于小样本学习的高光谱图像半监督分类方法,以减小参与训练过程中置信度较低的“伪标记”样本对模型的影响,使得模型更好的表示数据的类别分布,缓解在小样本场景下容易出现过拟合问题,提高网络的分类性能。

本发明的技术思路是:使用原型网络为基本模型,将通过设置阈值选择最可信的未标记样本及其预测的标签反复添加到训练集中,更新类别原型并完成分类。其实现方案包括:

获取五个公开的高光谱数据集;分别对数据集进行预处理;采用非重复采样方法得到训练集和测试集;构建一个高光谱图像原型分类网络并设置各层参数;训练高光谱图像原型分类网络;将测试集输入到训练好的高光谱图像原型分类网络中,利用查询集修正类别原型,使用原型对查询集的类别进行预测,其实现包括如下:

(1)从高光谱数据库中挑选出Indian Pines、KSC、Salinas、Pavia University和Botswana五个数据集,分别进行读取,得到每个数据集中的三维矩阵数据域为m×n×h,标签域为二维矩阵m×n,其中h代表高光谱图像的光谱维度,(m,n)表示某一光谱上像元的位置;

(2)对(1)中获取的五个数据集,分别利用每个数据集中三维矩阵数据域进行数据归一化处理、去除背景类和降维操作的预处理,以消除噪声和冗余信息带来的影响;

(3)划分训练集和测试集:在预处理后的五个数据集中,随机选择一个数据集作为测试集;从剩余四个数据集中随机抽取出ζ个类别作为训练集,ζ的取值根据不同的训练集分别设置;

(4)构建依次由输入数据→第一卷积层→第一线性整流函数RELU操作→第二卷积层→第二线性整流函数RELU操作→全连接层组成的高光谱图像原型分类网络;

(5)对高光谱图像原型分类网络进行训练,即将训练集中未标记样本到各个原型欧氏距离的负对数形式作为损失函数,使用随机梯度下降方法迭代更新损失函数对网络进行优化,直到损失函数值最小,得到训练好的分类网络;

(6)对测试集进行预测,完成分类:

(6a)将测试集中所有共K个类别分别选取3个样本作为测试支持集S2,剩余样本作为测试查询集Q2

(6b)计算每一类中测试支持集经过网络映射后的重心ck,并将其作为每一类测试支持集原型的初始值ck

(6c)对测试查询集中每一个数据到所有测试支持集原型ck的距离做softmax逻辑回归操作,得到所有测试查询集数据的类别概率

(6d)在类别概率中通过设置的阈值筛选出具有高置信度的测试查询集数据,并计算筛选出的测试查询集与测试支持集经过网络映射后的重心,作为修正后的测试支持集原型

(6e)对未被筛选的测试查询集中的每个数据,分别计算其到所有原型的距离,并依次进行softmax逻辑回归与arg max操作,得到预测类别标签完成分类。

本发明与现有技术相比,具有如下优点:

1.本发明在现有原型网络高光谱图像分类模型的基础上,采用基于自训练的闭环分类网络,可充分利用分类网络所生成的未标记样本后验信息,使得分类网络可以更好地表示数据分布,缓解了分类网络模型的过拟合问题,有效提高了分类精度。

2.本发明通过设置阈值筛选出高置信度的“伪标记”样本,并使其参与各个类别原型的更新过程,使得原型计算过程更加合理,降低了在训练初期分类网络训练不充分时,不可靠的“伪标记”样本对分类网络训练过程中造成的不良影响,进一步提高了分类精度。

附图说明

图1为本发明的实现流程图。

图2为本发明中训练高光谱图像原型分类网络子流程图。

具体实施方式

以下结合附图对本发明的实施例和效果作进一步详细描述。

参照图1,本发明的实施步骤包括如下:

步骤1,获取五个公开的高光谱数据集。

从高光谱数据库中挑选出Indian Pines、KSC、Salinas、Pavia University和Botswana五个数据集,分别进行读取,得到每个数据集中三维矩阵数据域为m×n×h,其标签域为二维矩阵m×n,其中h代表高光谱图像的光谱维度,(m,n)表示某一光谱上像元的位置。

步骤2,分别对获取的五个数据集中的三维矩阵数据域进行数据预处理,以消除噪声和冗余信息带来的影响。

(2.1)将三维矩阵数据域m×n×h变换为二维矩阵[(m×n),h];

(2.2)采用Max-Min归一化操作,遍历h个光谱,并将每一个光谱中的m×n个数据,都映射到[0,1]范围内,得到归一化后的像元值xijs′:

其中,s表示高光谱图像中的一个光谱段,(i,j)表示光谱段s中的一个像元的坐标,xijs表示光谱段s中的一个像元值,x..s max,x..s min分别表示在光谱段s中所有像元的最大值和最小值;

(2.3)进行去除背景类操作,即去除数据集中类别为0的样本与标签;

(2.4)进行降维操作,即对去除背景类后的五个数据集进行主成分分析,取前pn个主成分数据作为光谱信息,将原h维数据降维到pn维,得到预处理后的三维矩阵m×n×pn,本实例设但不限于pn设为50。

步骤3,划分训练集和测试集。

(3.1)在预处理后的五个数据集中,随机选取其中一个数据集作为待测试集,剩余四个数据集作为待训练集,该待测试集中含由K个类别,该待训练集中含有Z个类别,Z>K;

(3.2)从待训练集的Z个类别中随机抽取出ζ个样本数大于200的类,将这ζ个类别中的所有样本作为训练集;

(3.3)将待测试集K个类别中的所有样本作为测试集。

步骤4,构建高光谱图像原型分类网络。

(4.1)网络结构:

该高光谱图像原型分类网络的结构依次为输入数据→第一卷积层→第一线性整流函数RELU操作→第二卷积层→第二线性整流函数RELU操作→全连接层;

(4.2)设置网络各层参数:

在第一卷积层中,设特征映射图总数为50,卷积核大小为3×3,卷积步长为1,为了保证经过第一卷积层后输出数据大小不发生改变,对输入到第一卷积层的数据进行填充,填充值设为1;

在第二卷积层中,设特征映射图总数为100,卷积核大小为3×3,卷积步长为1;

在全连接层中,设输入宽度为200,输出宽度为9。

步骤5,对高光谱图像原型分类网络进行自训练学习,得到训练好的分类网络。

参照图2,本步骤的具体实现如下:

(5.1)在训练集中,分别从ζ个类别中挑选3个样本作为训练支持集S1,剩余样本作为训练查询集Q1

(5.2)利用训练支持集S1计算训练支持集的原型cξ

其中,xi表示第i个训练支持集,fφ(xi)表示经过网络映射后的训练支持集,Nξ表示第ξ类训练支持集的个数,fφ为网络的映射函数;

(5.3)通过训练支持集原型cξ依次预测训练查询集Q1的类别概率

其中,xj表示第j个训练查询集,fφ(xj)表示经过网络映射后的训练查询集,d(fΦ(xj),cξ)表示经过网络映射后的训练查询集样本xj到原型cξ的距离;

(5.4)设置阈值p1=0.9,将类别概率值与阈值p1进行比较确定原型更新时训练查询集的权重wj,ξ

如果大于p1,则将wj,ξ设置为

否则,将wj,ξ设置为0;

(5.5)根据下式依次更新ζ个训练支持集原型

(5.6)预测未被筛选的训练查询集中每个数据的标签

其中,表示样本xj被赋予标签ξ的概率值;

(5.7)计算当前网络的目标函数Jq(Φ):

其中,q=1,2,…,Q表示分类网络的第q次训练,Q表示训练的总次数,Jq-1(Φ)表示上一轮训练中得到的目标函数,N表示训练查询集中样本总数;

(5.8)循环执行(5a)到(5g)直到达到总的训练次数Q=1000次后结束训练,得到目标函数J(Φ)值最小时的网络模型,作为训练好的分类网络。

步骤6,对测试集进行分类,输出分类结果。

(6.1)从测试集中所有共K个类别中分别选取3个样本作为测试支持集S2,剩余样本作为测试查询集Q2

(6.2)计算每一类中测试支持集经过网络映射后的重心ck,并将其作为每一类测试支持集原型的初始值ck

其中,zi表示第i个测试支持集数据,fφ(zi)表示经过网络映射的测试支持集,Nk为第k类测试支持集个数。

(6.3)对测试查询集中每一个数据到所有测试支持集原型ck的距离做softmax逻辑回归操作,得到所有测试查询集数据的类别概率

其中,zj表示第j个测试查询集数据,fφ(zj)表示经过网络映射的测试查询集,d(fΦ(zj),ck)表示经过网络映射后的测试查询集样本zj到原型ck的距离;

(6.4)在类别概率中通过设置的阈值筛选出具有高置信度的测试查询集数据,设置阈值p2=0.9,将类别概率值与阈值p2进行比较确定原型更新时训练查询集的权重wj,k

如果大于p2,则将wj,k设置为

否则,将wj,k设置为0;

(6.5)计算筛选出的测试查询集与测试支持集经过网络映射后的重心,作为修正后的测试支持集原型

(6.6)对未被筛选的测试查询集中的每个数据,分别计算其到所有原型的距离,并对求得的距离进行softmax逻辑回归操作,计算未被筛选的测试查询集样本zj被赋予标签k的概率值p(y=k|zj):

其中,表示经过网络映射后的测试查询集样本zj到更新后的原型的距离,表示经过网络映射后的测试查询集样本zj到第k'个更新后的测试查询集原型的距离;

(6.7)对标签概率值p(y=k|zj)进行argmax操作,得到预测未被筛选的测试查询集中每个数据的标签

本发明的效果可通过以下测试结果进行说明:

测试1,选取Salinas作为待测试集,训练类别ζ取值为25,测试类别K取值为16,在每类仅有三个带标签的样本可供使用的场景下,分别用本发明与现有的SVM,EMP,CNN,SVM-CK,EPF,PN这6种方法分别进行测试,得到分类精度如表1。

表1基于测试集Salinas的分类精度

SVM EMP CNN SVM-CK EPF PN 本发明
Salinas 71.02 72.78 75.43 72.03 72.75 75.60 77.93

表1中SVM表示现有的基于支持向量机的高光谱图像分类模型,EMP表示现有的基于扩展形态学剖面的高光谱图像分类模型,CNN表示现有二维卷积神经网络的高光谱图像分类模型,SVM-CK表示现有的基于复合核的支持向量机的高光谱图像分类模型,EPF表示现有的基于边缘保留滤波的高光谱图像分类模型,PN表示现有的基于原型网络的高光谱图像监督分类模型。

从表1可见:基于测试集Salinas,使用SVM分类模型对高光谱图像分类的总体分类精度为71.02%,使用EMP分类模型对高光谱图像分类的总体分类精度为72.78%,使用CNN分类模型对高光谱图像分类的总体分类精度为75.43%,使用SVM-CK分类模型对高光谱图像分类的总体分类精度为72.03%,使用EPF分类模型对高光谱图像分类的总体分类精度为72.75%,使用PN分类模型对高光谱图像分类的总体分类精度为75.60%,使用本发明对高光谱图像总体分类精度为77.93%。表明本发明比现有技术在处理小样本问题上更具有优势。

从表1还可以看出:本发明与现有的基于原型网络监督分类模型PN相比,虽然二者均使用原型网络作为基本模型,但本发明由于使用了闭环的自训练方法,在分类网络训练过程种使用了来自未标记样本的后验信息,使得分类网络可以更准确的表示实际数据分布,分类结果也更高。

测试2,选取Pavia University作为待测试集,训练类别ζ取值为30,测试类别K取值为9,在每类仅有三个带标签的样本可供使用的场景下,分别用本发明与现有的SVM,EMP,CNN,SVM-CK,EPF,PN这6种方法分别进行测试,其分类精度如表2。

表2基于测试集Pavia University的分类精度

SVM EMP CNN SVM-CK EPF PN 本发明
Pavia University 46.99 60.64 67.22 49.21 48.93 67.12 67.36

从表2可见:基于测试集Pavia University,使用SVM分类模型对高光谱图像分类的总体分类精度为46.99%,使用EMP分类模型对高光谱图像分类的总体分类精度为60.64%,使用CNN分类模型对高光谱图像分类的总体分类精度为67.22%,使用SVM-CK分类模型对高光谱图像分类的总体分类精度为49.21%,使用EPF分类模型对高光谱图像分类的总体分类精度为48.93%,使用PN分类模型对高光谱图像分类的总体分类精度为67.12%。表明本发明比现有技术在处理小样本问题更具有优势。

从表2还可以看出:本发明与现有的基于原型网络监督分类模型PN相比,虽然二者均使用原型网络作为基本模型,但本发明由于采用了闭环的自训练方法,在分类网络训练过程种使用了来自未标记样本的后验信息,使得分类网络可以更准确的表示实际数据分布,分类结果也更高。

测试3,选取Botswana作为待测试集,训练类别ζ取值为50,测试类别K取值为11,在每类仅有三个带标签的样本可供使用的场景下,分别用本发明SPN与现有的SVM,EMP,CNN,SVM-CK,EPF,PN进行测试,其分类精度如表3。

表3基于测试集Botswana的分类精度

SVM EMP CNN SVM-CK EPF PN 本发明
Botswana 68.93 69.23 72.07 70.56 77.85 80.78 81.37

从表3可见:基于测试集Botswana,使用SVM分类模型对高光谱图像分类的总体分类精度为68.93%,使用EMP分类模型对高光谱图像分类的总体分类精度为69.23%,使用CNN分类模型对高光谱图像分类的总体分类精度为72.07%,使用SVM-CK分类模型对高光谱图像分类的总体分类精度为70.56%,使用EPF分类模型对高光谱图像分类的总体分类精度为77.85%,使用PN分类模型对高光谱图像分类的总体分类精度为80.78%,本发明使用SPN分类模型对高光谱图像总体分类精度为81.37%。表明本发明比现有技术在处理小样本问题更具有优势。

从表3还可以看出:本发明与现有的基于原型网络监督分类模型PN相比,虽然二者均使用原型网络作为基本模型,但本发明由于使用了闭环的自训练方法,在分类网络训练过程种使用了来自未标记样本的后验信息,使得分类网络可以更准确的表示实际数据分布,分类结果也更高。

综上,本发明以总体分类精度作为评价指标,验证了通过设置阈值选择具有高置信度的“伪标记”样本参与训练的半监督学习方法在小样本场景下对高光谱图像进行分类,可以使得分类网络模型更好地表示数据的类别分布,也可以缓解在小样本场景下容易出现过拟合问题,提高网络的分类性能;同时,本发明使用的分类模型也具有良好的泛化能力,在Pavia University、Salinas和Botswana数据集上分类效果较好。

完整详细技术资料下载
上一篇:石墨接头机器人自动装卡簧、装栓机
下一篇:基于图协同训练的半监督小样本图像分类方法

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!