基于对比生成对抗网络的高光谱图像分类方法

文档序号:26835847发布日期:2021-10-02 09:37阅读:199来源:国知局
基于对比生成对抗网络的高光谱图像分类方法

本发明属于图像处理技术领域,更进一步涉及图像分类技术领域中的一种对比生成对抗网络的高光谱图像分类方法。本发明可以在采集的高光谱图像中对地物进行分类。。

背景技术

高光谱图像可获取目标地物在紫外、可见光、近红外和中红外等大量波段内近似连续的光谱信息,并以图像的形式描述地物的空间分布关系,从而建立“图谱合一”的数据,可以实现对地物精确的辨别与细节提取,对于认识客观世界提供了有利条件。近年来,基于向量的机器学习算法如随机森林、支撑向量机,以及基于深度学习的卷积神经网络算法等已经应用在高光谱图像的分类上,均取得了不错的效果。然而,随着高光谱成像技术的进一步发展和应用程度的不断深入,高光谱图像分类领域依然存在以下一些问题,一方面随着空间和光谱分辨率的提高,高光谱图像的空间信息和光谱信息量猛增,传统的方法不能充分提取这两类信息中的特征,导致分类精度不高,另一方面,目前已有的深度学习方法需要大量的有标签数据作为训练样本,而在高光谱图像中,难以收集到足够的有标签数据,因此在基于深度学习的高光谱图像分类中,高光谱图像小样本问题严重限制了高光谱图像的分类精度。

武汉大学在其申请的专利文献“一种基于自适应空谱多尺度网络的高光谱图像分类方法”(专利申请号:201911336874.3,专利公布号:CN111126256A)中提出了一种基于自适应空谱多尺度网络的高光谱图像分类方法。该方法首先将高光谱图像进行降维处理,然后进行样本选取,从原始和降维高光谱图像上每类随机选取适当比例的带有标记的样本,最后使用设计好网络进行训练。该方法虽然能在光谱上下文信息提取的基础上获得多尺度特征,提升了模型鲁棒性,但是,该方法仍然存在的不足之处是,高光谱图像具有标签样本少的特点,该方法提出的网络层数较深、网络参数多导致网络训练时间长,且样本数目相对于网络参数数目过少,导致网络容易出现过拟合,从而导致该方法不能进行精准分类。

Lin Zhu;Yushi Chen等人在其发表的论文“Generative Adversarial Networks for Hyperspectral Image Classification”(IEEE Transactions on Geoscience and Remote Sensing,2018,Volume:56,Issue:9,)中提出了一种基于生成对抗网络的高光谱分类方法。该方法设计一个卷积神经网络(判别网络)来判断输入是否真实并进行分类,设计另一个卷积神经网络(生成网络)来生成尽可能真实的虚假样本。两个网络进行交替训练,这种对抗性训练的方法在高光谱图像样本有限的情况下提高了判别网络的泛化能力和分类能力。但是该方法的不足之处是,高光谱图像具有同类像素光谱差异性大,而不同类像素空间特征差异小的的特点,该方法网络特征提取的不充分,生成网络和判别网络不能充分的学习和利用类别间的特征差异,从而导致分类准确性不高。



技术实现要素:

本发明的目的是针对上述现有技术的不足,提出了一种基于对比生成对抗网络的高光谱图像分类方法,用于解决网络容易过拟合、没有充分学习和利用不同类别间的特征差异的问题。

实现本发明目的的思路是,构造对比生成对抗网络,包括生成网络和判别网络,生成网络生成虚假样本,判别网络对训练样本和虚假样本分类,同时提取高光谱图像的类别特征,交替训练生成网络和判别网络。提出了一种新的损失函数,通过计算不同样本类别特征之间的余弦相似度构建对比损失,并构造生成网络和判别网络新的的损失函数,通过迭代学习,使同类样本特征分布更加聚合,不同类别样本之间特征分布更加分散,提升判别网络的特征提取能力,使得生成网络生成的样本更加真实,克服了现有技术针对高光谱图像同类像素光谱差异性大,而不同类像素空间特征差异小的现象,网络对样本特征提取的不充分,生成网络和判别网络不能充分地学习和利用类别间的特征差异,从而导致分类准确性不高的问题,使得本发明充分利用了高光谱图像的类别特征,提高了对高光谱图像分类的准确性。

本发明构建的对比生成对抗网络的网络层数更少,对应的网络训练参数也更少更少,针对高光谱图像具有标签样本少的特点,克服了现有技术中网络层数较深以及相应网络参数过多导致网络训练时间长,且样本数目相对于网络参数数目过少,导致网络容易出现过拟合,从而导致该方法不能进行精准分类问题,使得本发明缓解了在样本数量较少的情况下出现的网络过拟合现象,提高了分类精度。

本发明的具体步骤如下方法:

步骤1,生成样本集:

(1a)从同一区域中选取至少包含五种类别、且光谱分辨率在10-2λ数量级范围内的一张高光谱图像,λ表示高光谱图像的波长;

(1b)利用主成分分析方法,对高光谱数据进行降维;

(1c)从降维后的高光谱图像中提取包含标签的所有像素点,以每个所提取的像素点为中心,将其周围27×27个像素点空间窗中所有的像素点,组成一个数据立方体,将所有的数据立方体组成高光谱图像的样本集;

(1d)随机选取高光谱图像的样本集中5%的样本,组成训练样本;

步骤2,构建对比生成对抗网络:

(2a)搭建一个生成网络,其结构依次为:全连接层,第一逆卷积层,第二逆卷积层,第三逆卷积层,第四逆卷积层,将全连接层的输入和输出节点个数分别为100+类别数、512,第一至第四逆卷积层的卷积核大小均设置为3×3,步长均设置为2;

(2b)搭建一个判别网络,其结构依次为:第一卷积层,第二卷积层,第三卷积层,第四卷积层,两个并列的全连接层:第一全连接层和第二全连接层,其中,第一至第四卷积层的卷积核大小均设置为3×3,步长均设置为2,第一和第二全连接层的输入节点个数均设置为512,第一全连接层的输出节点个数与高光谱图像类别数相等,第二全连接层的输出节点个数设置为2;

(2c)将生成网络和判别网络组成多类生成对抗网络;

步骤3,用生成网络生成虚假样本:

(3a)从高斯分布中随机采样生成100维的高斯噪声向量;

(3b)通过生成网络,对高斯噪声向量和类别标签向量进行非线性映射,转换成高光谱图像虚假样本;

步骤4,用判别网络对训练样本和虚假样本进行非线性映射:

将训练样本和虚假样本同时输入到判别网络中进行非线性映射,输出训练样本和虚假样本的类别预测标签、真假预测标签、特征向量;

步骤5,构造生成网络和判别网络的对比损失函数:

(5a)构造生成网络的对比损失函数LG_con

其中,Σ表示求和操作,i表示虚假样本中的第i个样本,N表示一次训练中投入的训练样本数,j表示训练样本中的第j个样本,ln表示以e为底的对数操作,exp表示以e为底的指数操作,zi表示虚假样本特征向量中第i个特征向量,·表示余弦相似度计算,zj表示训练样本特征向量中与zi同类别的第j个特征向量,τ表示温度系数,k表示训练样本中的第k个样本,zk表示训练样本特征向量中的第k个特征向量;

(5a)构造判别网络的对比损失函数LD_con

其中,N表示一次训练中投入的训练样本数,v表示训练样本中的第v个样本,Σ表示求和操作,p表示训练样本中的第p个样本,ln表示以e为底的对数操作,exp表示以e为底的指数操作,zv表示真实样本特征向量中第v个特征向量,·表示余弦相似度计算,zp表示训练样本特征向量中与zv同类别的第p个特征向量,τ表示温度系数,q表示训练样本中的第q个样本,zq表示训练样本特征向量中的第q个特征向量;

步骤6,构造生成网络和判别网络的损失函数:

(6a)构造生成网络的损失函数LG

其中,Σ表示求和操作,表示虚假样本的标签向量,ln表示以e为底的对数操作,表示虚假样本预测类别标签向量,表示训练样本的真假标签向量,表示虚假样本预测真假标签向量,LG_con表示生成网络的对比损失损失函数;

(6b)构造判别网络的损失函数LD

其中,Σ表示求和操作,表示虚假样本的标签向量,ln表示以e为底的对数操作,表示虚假样本预测类别标签向量,表示训练样本的标签向量,表示训练样本预测类别标签向量,表示训练样本的真假标签向量,表示虚假样本预测真假标签向量,表示训练样本的真假标签向量,表示训练样本预测真假标签向量,LD_con表示判别网络的对比损失函数;

步骤7,利用梯度下降方法,用生成网络的损失函数迭代更新生成网络的参数,判断损失函数是否收敛,若收敛,则执行步骤8,否则,执行步骤3;

步骤8,利用梯度下降方法,用判别网络的损失函数迭代更新判别网络的参数,判断损失函数是否收敛,若收敛,则得到训练好的对比生成对抗网络后执行步骤9,否则,执行步骤3;

步骤9,对高光谱图像进行分类:

采用与步骤(1b)与(1c)相同的方法,对待分类的高光谱图像进行预处理后再输入到训练好的对比生成对抗网络的判别网络中,输出待分类的高光谱图像的预测标签。

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

第一,由于本发明构建的对比生成对抗网络中的判别网络,在每次训练的过程中,判别网络在进行类别预测的同时提取高光谱图像的类别特征,利用不同样本类别特征的余弦相似度构建新的对比损失函数,克服了现有技术针对高光谱图像同类像素光谱差异性大,而不同类像素空间特征差异小的现象,网络对样本特征提取的不充分,生成网络和判别网络不能充分地学习和利用类别间的特征差异,从而导致分类准确性不高的问题,使得本发明充分利用了高光谱图像的类别特征,提高了对高光谱图像分类的准确性。

第二,由于本发明所构建的对比生成对抗网络的网络层数和训练参数更少,针对高光谱图像具有标签样本少的特点,克服了现有技术中网络层数较深、网络参数多导致网络训练时间长,且样本数目相对于网络参数数目过少,导致网络容易出现过拟合,从而导致该方法不能进行精准分类问题,使得本发明缓解了在样本数量较少的情况下出现的网络过拟合现象,提高了分类精度。

附图说明

图1是本发明的流程图;

图2是本发明的仿真图。

具体实施方式

下面结合附图对本发明做进一步的描述。

参照图1,对本发明的具体步骤做进一步的描述。

步骤1,生成样本集。

从同一区域中选取至少包含五种类别、且光谱分辨率在10-2λ数量级范围内的一张高光谱图像,λ表示高光谱图像的波长。

利用主成分分析方法,对高光谱数据进行降维。

从降维后的高光谱图像中提取包含标签的所有像素点,以每个所提取的像素点为中心,将其周围27×27个像素点空间窗中所有的像素点,组成一个数据立方体,将所有的数据立方体组成高光谱图像的样本集。

随机选取高光谱图像的样本集中5%的样本,组成训练样本。

步骤2,构建对比生成对抗网络。

搭建一个生成网络,其结构依次为:全连接层,第一逆卷积层,第二逆卷积层,第三逆卷积层,第四逆卷积层,将全连接层的输入和输出节点个数分别为100+类别数、512,第一至第四逆卷积层的卷积核大小均设置为3×3,步长均设置为2。

搭建一个判别网络,其结构依次为:第一卷积层,第二卷积层,第三卷积层,第四卷积层,两个并列的全连接层:第一全连接层和第二全连接层,其中,第一至第四卷积层的卷积核大小均设置为3×3,步长均设置为2,第一和第二全连接层的输入节点个数均设置为512,第一全连接层的输出节点个数与高光谱图像类别数相等,第二全连接层的输出节点个数设置为2。

将生成网络和判别网络组成多类生成对抗网络。

步骤3,用生成网络生成虚假样本。

从高斯分布中随机采样生成100维的高斯噪声向量。

通过生成网络,对高斯噪声向量和类别标签向量进行非线性映射,转换成高光谱图像虚假样本。

所述高斯噪声向量通过生成网络进行非线性映射的步骤如下:

第一步,将训练样本的类别标签作为同一批次虚假样本的类别标签。

第二步,将100维的高斯噪声向量和虚假样本的类别标签输入生成器的全连接层,依次进行线性的全连接变换、矩阵形状变换、批标准化、非线性Relu变换,得到2×2×128个像素大小的全连接层输出特征图。

第三步,将全连接层输出特征图输入到生成网络的第一个逆卷积层,依次进行卷积操作、批标准化、非线性Relu变换,得到4×4×64个像素大小的第一个逆卷积层的输出特征图。

第四步,将第一个逆卷积层的输出特征图输入到生成器的第二个逆卷积层,依次进行逆卷积操作、非线性Relu变换、批标准化,得到7×7×32个像素大小的第二个逆卷积层的输出特征图。

第五步,将第二个逆卷积层的输出特征图输入到生成器的第三个逆卷积层,依次进行逆卷积操作、非线性Relu变换、批标准化,得到14×14×16个像素大小的第三个逆卷积层的输出特征图。

第六步,将第三个逆卷积层的输出特征图输入到生成器的第四个逆卷积层,依次进行逆卷积操作、非线性Relu变换、批标准化,得到27×27×3个像素大小的生成样本。

步骤4,用判别网络对训练样本和虚假样本进行非线性映射。

将训练样本和虚假样本同时输入到判别网络中进行非线性映射,输出训练样本和虚假样本的类别预测标签、真假预测标签、特征向量。

所述将训练样本和虚假样本输入到判别器中进行非线性映射的步骤如下:

第一步,将27×27×3个像素大小的高光谱图像训练样本和虚假样本输入到判别网络的第一个卷积层,依次进行卷积操作、非线性Relu变换、批标准化,得到14×14×16个像素大小的第一个卷积层的输出特征图。

第二步,将第一个卷积层的输出特征图输入到判别网络的第二个卷积层,依次进行卷积操作、非线性Relu变换、批标准化,输出7×7×64个像素大小的判别网络第二个卷积层的输出特征图。

第三步,将第二个卷积层的输出特征图输入到判别网络的第三个卷积层,依次进行卷积操作、非线性Relu变换、批标准化,输出4×4×256个像素大小的判别网络第三个卷积层的输出特征图。

第四步,将第三个卷积层的输出特征图输入到判别网络的第四个卷积层,依次进行卷积操作、非线性Relu变换、批标准化,输出1×1×512个像素大小的第四个卷积层的输出特征图,得到特征向量。

第五步,将第四个卷积层的输出特征图输入到判别网络的全层,依次进行矩阵形状变换、并列的第一线性全连接变换和第二线性全连接变换,得到训练样本和虚假样本的类别预测标签、真假预测标签。

所述训练样本和虚假样本的类别预测标签均为一个向量,向量中的元素总数均等于高光谱图像类别数,每个向量中的单个元素值等于样本属于某一类地物的概率值。

所述训练样本和虚假样本的真假预测标签均为一个向量,向量中的元素总数均等于2,两个元素分别代表样本属于虚假样本的概率值和训练样本的概率值。

所述训练样本和虚假样本的特征向量分别为一个向量,向量中的元素总数均等于512,向量代表网络提取到该样本的类别特征信息。

步骤5,构造生成网络和判别网络的对比损失函数。

构造生成网络的对比损失函数LG_con:

其中,Σ表示求和操作,i表示虚假样本中的第i个样本,N表示一次训练中投入的训练样本数,j表示训练样本中的第j个样本,ln表示以e为底的对数操作,exp表示以e为底的指数操作,zi表示虚假样本特征向量中第i个特征向量,·表示余弦相似度计算,zj表示训练样本特征向量中与zi同类别的第j个特征向量,τ表示温度系数,k表示训练样本中的第k个样本,zk表示训练样本特征向量中的第k个特征向量。

构造判别网络的对比损失函数LD_con:

其中,N表示一次训练中投入的训练样本数,v表示训练样本中的第v个样本,Σ表示求和操作,p表示训练样本中的第p个样本,ln表示以e为底的对数操作,exp表示以e为底的指数操作,zv表示真实样本特征向量中第v个特征向量,·表示余弦相似度计算,zp表示训练样本特征向量中与zv同类别的第p个特征向量,τ表示温度系数,q表示训练样本中的第q个样本,zq表示训练样本特征向量中的第q个特征向量。

步骤6,构造生成网络和判别网络的损失函数。

构造生成网络的损失函数LG:

其中,Σ表示求和操作,表示虚假样本的标签向量,ln表示以e为底的对数操作,表示虚假样本预测类别标签向量,表示训练样本的真假标签向量,表示虚假样本预测真假标签向量,LG_con表示生成网络的对比损失损失函数。

构造判别网络的损失函数LD:

其中,Σ表示求和操作,表示虚假样本的标签向量,ln表示以e为底的对数操作,表示虚假样本预测类别标签向量,表示训练样本的标签向量,表示训练样本预测类别标签向量,表示训练样本的真假标签向量,表示虚假样本预测真假标签向量,表示训练样本的真假标签向量,表示训练样本预测真假标签向量,LD_con表示判别网络的对比损失函数。

步骤7,利用梯度下降方法,用生成网络的损失函数迭代更新生成网络的参数,判断损失函数是否收敛,若收敛,则执行步骤8,否则,执行步骤3。

步骤8,利用梯度下降方法,用判别网络的损失函数迭代更新判别网络的参数,判断损失函数是否收敛,若收敛,则得到训练好的对比生成对抗网络后执行步骤9,否则,执行步骤3。

步骤9,对高光谱图像进行分类。

采用与步骤1相同的预处理方法,对待分类的高光谱图像进行预处理后再输入到训练好的对比生成对抗网络的判别网络中,输出待分类的高光谱图像的预测标签。

下面结合仿真实验对本发明的效果做进一步的说明:

1.仿真实验条件:

本发明的仿真实验的硬件平台为:处理器为Intel i7 5930k CPU,主频为3.5GHz,内存16GB。

本发明的仿真实验的软件平台为:Windows 10操作系统和python 3.6。

本发明仿真实验所使用的输入图像为印第安松树Indian Pines高光谱图像,该高光谱数据采集自美国印第安纳州西北部印第安遥感试验区,成像时间为1992年6月,图像大小为145×145×200个像素,图像共包含220个波段和16类地物,图像格式为mat。

2.仿真内容与结果分析:

本发明仿真实验是采用本发明和两个现有技术(支撑向量机SVM分类方法、卷积神经网络CNN分类方法)分别对输入的印第安松树Indian Pines高光谱图像进行分类,获得分类结果图。

在仿真实验中,采用的两个现有技术是指:

现有技术支撑向量机SVM分类方法是指,Melgani等人在“Classification of hyperspectral remote sensing images with support vector machines,IEEE Trans.Geosci.Remote Sens.,vol.42,no.8,pp.1778–1790,Aug.2004”中提出的高光谱图像分类方法,简称支撑向量机SVM分类方法。

现有技术卷积神经网络CNN分类方法是指,Yu等人在“Convolutional neural networks for hyperspectral image classification,”Neurocomputing,vol.219,pp.88-98,2017”中提出的高光谱图像分类方法,简称卷积神经网络CNN分类方法。

图2为仿真图,其中,图2(a)为由高光谱图像波段中第50个,第27个和第17个波段构成的伪彩色图像。图2(b)为输入的高光谱图像印第安松树Indian Pines的真实地物分布图,其大小为145×145个像素。图2(c)为采用现有技术支撑向量机SVM分类方法,对印第安松树Indian Pines高光谱图像进行分类的结果图。图2(d)为采用现有技术卷积神经网络CNN方法,对印第安松树Indian Pines高光谱图像进行分类的结果图。图2(e)为利用本发明的方法,对印第安松树Indian Pines高光谱图像进行分类的结果图。

由附图2(c)可以看出,现有技术的支撑向量机SVM分类结果噪点较多,边缘平滑性不好,主要因为该方法只提取了高光谱图像像元的光谱特征,没有提取空间特征,使得分类准确性不高。

由附图2(d)可以看出,现有技术的卷积神经网络方法分类结果,相比于支撑向量机SVM分类结果,其噪点较少,但是卷积神经网络方法分类仍然存在样本数目相对于参数数目过少,导致网络出现过拟合,以及类别特征提取不够充分的问题,使得样本错分较多。

由附图2(e)可以看出,本发明的分类结果相比于支撑向量机SVM分类结果和卷积神经网络方法分类结果,其噪点较少,且具有较好的区域一致性和边缘平滑性,证明本发明的分类效果优于前两种现有技术分类方法,分类效果较理想。

利用两个评价指标(总精度OA、平均精度AA)分别对分类结果进行评价。利用下式,以像素为基本单位,分别计算本发明和两个现有技术的高光谱图像分类结果的总体分类精度OA和平均分类精度AA:

总体分类精度

平均分类精度

表1.仿真实验中本发明和各现有技术分类结果的定量分析表

将图2(c)、2(d)、2(e)中以每个像素点为基本单位,利用下述的16类地物的分类精度的计算公式,分别计算16类地物的分类精度,总精度OA,平均精度AA,将所有计算结果绘制成表1。

结合表1可以看出,本发明的总体分类精度OA为94.4%,平均分类精度AA为2.1%,这两个指标均高于2种现有技术方法,证明本发明可以得到更高的高光谱图像分类精度。

以上仿真实验表明:本发明方法利用构建的对比生成对抗网络,能够充分提取高光谱图像的类别特征特征,利解决了现有技术方法中存在网络不能充分地学习和利用类别间的特征差异、样本数目相较于网络层数和参数数量少导致的网络过拟合、图像分类精度低的问题,使得本发明提高了在样本数量较少的情况下分类的准确性,是一种非常实用的高光谱图像分类方法。

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