基于孪生网络的高光谱图像分类方法

文档序号:30962578发布日期:2022-07-30 14:21阅读:510来源:国知局
基于孪生网络的高光谱图像分类方法

1.本发明属于计算机视觉技术领域,具体涉及一种基于孪生网络的高光谱图像分类方法。


背景技术:

2.高光谱图像(hyperspectral image,hsi)是由搭载高光谱成像仪的航空航天飞行器采集可见光区域到短红外光区域的光谱而得的三维立体图像,通常图像中的每个像素均含有上百个连续的光谱通道,蕴含丰富的反映地表物体的空间及光谱信息。高光谱遥感与以往遥感技术相比,具有空间和光谱合一的特征,以从可见光到红外甚至热红外的一系列波段,是一种综合性的遥感技术手段。高光谱技术将确定物质或地物物质的光谱与揭示其空间和几何关系的图像结合在了一起,实现了获取地物光谱特征的同时又不失其整体形态及其与周围地物的关系。特别在地面信息较为微弱的情况下,高光谱遥感具有识别微弱信息和定量探测的优势。基于这一特性,高光谱图像可以准确地识别和分类地表物质,多应用于军事目标检测、矿物勘探和农业生产等。
3.高光谱图像分类(hyperspectral image classification)是利用图像中的影像信息准确识别成像场景中的不同地物,是高光谱数据分析过程中重要的任务之一。不同于自然图像的分类,高光谱图像分类的对象是图像中的每一个像元,依据样本特征为图像中的每个像元赋予类别标签。但高光谱图像数据量大、波段多,波段间相关性强,存在混合像元和样本标注困难等使得图像分类面临较大的挑战,因此高光谱图像分类成为当前遥感领域的研究热点之一。高光谱图像分类有基于数理统计的传统分类方法和基于深度学习的方法。基于深度学习的方法通常需要大量标记样本,而高光谱图像分类可用的标记数据少。
4.孪生网络(siamese network)是一种相似性度量模型,从数据中学习度量,进而利用学习到的度量比较和匹配未知类别的样本。孪生网络的两个孪生分支网络共享一套参数和权重,通过嵌入函数将输入映射到目标空间,使用简单的距离函数进行相似度计算。在训练阶段最小化一对相同类别样本的损失,最大化一对不同类别样本的损失。在测试阶段,使用孪生网络进行计算相似度或距离预测样本类别。因此,可用于类别数多但各类别样本数少的分类任务。孪生卷积神经网络,应用小样本学习的方法,进行高光谱图像分类,能够利用很少的标记样本得到很高的分类精度。


技术实现要素:

5.本发明为更好地解决光谱数据冗余和小样本下高光谱图像分类问题,提供了一种基于孪生网络的高光谱图像分类方法。孪生网络模型主要包含三个部分:
6.1)设计基于空间光谱信息的孪生残差网络分类模型
7.孪生残差网络分类模型以残差网络为主要特征提取网络,构建孪生分支采用空谱分离特征提取进而特征级融合的方式。该模型主要由两个孪生分支组成,每个孪生分支包括一个基于空间信息二维特征提取残差网络和一个基于光谱信息一维特征提取残差网络。
将高光谱图像的空间几何信息、光谱信息分别进行处理,先对光谱特征进行提取,再对空间特征进行提取,然后将两种特征进行叠加以形成一个长特征向量,最后将叠加后的特征向量反馈给分类器中,最终得到分类结果。
8.2)设计基于多尺度特征融合并行分支的孪生残差特征提取网络
9.根据高光谱图像数据集的数据分布特点合理设计高光谱图像采样像素块尺寸大小,采用多尺度特征融合模块。模块由四个并行分支结构组成,分别是三种不同的卷积核,使用1
×
1,3
×
3,5
×
5这三种卷积核尺寸大小,其中5
×
5卷积使用两步3
×
3卷积代替,最后对四个通道进行组合。
10.3)设计基于空间和通道注意力机制的孪生残差特征提取网络
11.二维空间信息高层特征提取时使用空间注意力机制,一维光谱信息低层特征提取时使用通道注意力机制。通道注意力模块通过建模各个特征通道的重要程度,然后针对不同的任务增强或者抑制光谱信息的不同的波段。空间注意力模块利用了交替的卷积核相同的卷积层来提取通道内部像素位置之间的注意力信息,获得通道内部不同像素位置之间的相关性与重要程度等信息。
12.本发明与现有技术相比有益效果如下:构建基于空谱分离的孪生残差网络结构在保留原有光谱特征信息的同时减少空间特征提取的参数量,提高了分类精度。利用多尺度特征融合扩大特征提取网络的感受野,能够捕获像素之间的全局依赖性,同时增加网络的宽度获得更多的非线性特征,进而得到更好的分类效果。利用基于空间和通道注意力的特征提取网络,应用通道注意力、空间注意力模块于高光谱图像光谱、空间信息的特征提取网络上,通过使用注意力机制增强空间或光谱重要特征抑制不必要的特征,在增加少量计算量的情况下获得更明显的性能提升。
附图说明
13.图1是本发明的孪生残差网络分类模型整体结构图
14.图2是本发明的多尺度特征融合孪生残差特征提取网络结构图
15.图3是本发明的多尺度特征融合模块结构图
16.图4是本发明的注意力机制模块结构图
17.图5是本发明的基本流程图
18.图6(a)是salinas数据集高光谱图像分类效果图
19.图6(b)是2-dcnn方法salinas数据集高光谱图像分类效果图
20.图6(c)是3-dssrn方法salinas数据集高光谱图像分类效果图
21.图6(d)是dscnn方法salinas数据集高光谱图像分类效果图
22.图6(e)是本发明dsssrn方法下salinas数据集高光谱图像分类效果图
23.图7(a)是ksc数据集高光谱图像分类效果图
24.图7(b)是2-dcnn方法ksc数据集高光谱图像分类效果图
25.图7(c)是3-dssrn方法ksc数据集高光谱图像分类效果图
26.图7(d)是dscnn方法ksc数据集高光谱图像分类效果图
27.图7(e)是本发明dsssrn方法下ksc数据集高光谱图像分类效果图
具体实施方式
28.如附图5所示,基于孪生网络的高光谱图像分类方法实现可以分为以下四个步骤:高光谱图像数据预处理,构建孪生网络模型,训练孪生网络模型,应用孪生网络模型于高光谱图像分类。为便于理解,结合说明书附图,下面对本发明实施例的具体步骤进行描述。
29.步骤一、高光谱图像数据预处理
30.1.数据读取
31.高光谱图像读取后设置像素邻域图像块大小,比如邻域像素块尺寸patchsize分别为7
×
7、27
×
27。然后,经过pca主成分分析后再进行emp扩展形态学剖面,高光谱图像数据降维生成低光谱图像用作空间信息特征提取。
32.本发明实施例设置patchsize为27
×
27,pca主成分分析设置为4,经emp扩展形态学剖面后为36。
33.2.数据采样
34.对高光谱图像非零像素随机采样,随机选取每类6至8个点作为训练集样本,同时随机选取每类6至8个点作为验证集样本,其余像素点作为测试集样本。
35.本发明实施例设置数据集每类采样点8个作为训练集样本。
36.3.样本配对
37.根据像素点的地物类别标签对训练集样本配对,正负样本对的比例为1:1。同时,对每个样本分别获取中心像素向量和像素邻域图像块,邻域图像块尺寸为超参数,具体设置参照具体数据集。
38.本发明实施例设置邻域图像块尺寸为27
×
27。
39.4.数据封装
40.对高光谱图像训练集、验证集、测试集分别进行数据集封装和加载。将训练集批处理块尺寸为超参数,具体设置可参照该高光谱数据集地物类别数;验证集和测试集批处理块尺寸则设置为1。
41.本发明实施例设置训练集批处理块尺寸为16。
42.步骤二、构建孪生网络模型
43.1.孪生网络结构
44.如附图1所示,孪生网络模型由两个相同神经网络结构的孪生分支组成,每个孪生分支包括一个基于空间信息的二维特征提取网络和一个基于光谱信息的一维特征提取网络。该孪生网络模型以残差网络为主要特征提取网络,采用空谱分离特征提取后特征级融合的方式。
45.2.孪生分支网络结构
46.如附图2所示,孪生分支网络以轻量卷积神经网络模型为残差网络的基础框架,并引入多尺度特征融合模块和注意力机制模块进行改进。孪生分支网络主要由这几类层构成:输入层(input),卷积层(conv),池化(pooling)层和全连接层(fullconnection),通过将这些层叠加起来构建一个完整的残差网络。如附图3所示,残差网络由第一个卷积层和3个残差块组成,每个残差块均使用多尺度特征融合的方式。如附图4所示,在多尺度特征融合模块之前,使用注意力机制进行权重分配,增强空间光谱重要特征抑制不必要的特征。
47.3.卷积层
48.基于空间信息特征提取的二维残差网络高光谱图像输入为27
×
27
×
36。第一个卷积层使用4
×
4大小的卷积核,卷积核个数为32,步长stride=1,边缘填充padding=0。即第一个卷积层由32个特征图(featuremap)构成,特征图中每个神经元与输入中4
×
4的邻域相连,输出得到的特征图大小为24
×
24
×
32。第一个卷积层有640个可训练参数(每个卷积核4
×
4=16个unit参数和一个bias参数,一共32个卷积核,共(4
×
4+1)
×
32=544个参数),共(27
×
27)
×
544=396576个连接。然后进行批标准化和relu激活,加快收敛速度。
49.第一个卷积层后是连续3个残差块,残差块卷积核个数为32,32,64。每个残差块分别使用1
×
1,3
×
3,5
×
5这三种卷积核尺寸大小,其中5
×
5卷积使用两步3
×
3卷积代替以减少参数计算量。设定卷积步长stride=1之后,只要分别设定padding=0、1、2,采用边缘填充可以得到相同维度的特征,三种尺度特征提取融合进行批标准化和relu激活后拼接在一起。然后将上一个残差块的输入相加,再进行relu激活得到新的特征图。第1个残差块卷积层得到32个特征图,再进行下一个多尺度残差块卷积。第2个残差块卷积层得到32个特征图,继续进行下一个多尺度残差块卷积。第3个残差块卷积层得到64个特征图,再进行下一个多尺度残差块卷积得到1
×1×
64的特征图。
50.基于光谱信息特征提取的一维残差网络结构与二维残差网络结构类似,其中一维残差网络使用一维卷积,且每层卷积核个数分别为16,16,16,32。一维残差网络的高光谱图像输入为1
×
bands,其中bands为数据集光谱波段数,例如ksc数据集bands=176。
51.4.池化层
52.池化层使用2
×
2大小的过滤器,步长stride=2,边缘填充padding=0。即池化层特征图中的每个单元与最后一个卷积层中相对应特征图的2
×
2邻域相连接,有64个2
×
2的特征图,输出得到的特征图大小为1
×1×
64,没有需要学习的参数。
53.5.全连接层
54.如同全卷积神经网络,本发明未使用全连接层来计算输入向量和权重向量之间的点积,而是全部用卷积层连接。
55.步骤三、训练孪生网络模型
56.1.前向传播
57.本发明构建的孪生网络模型有两个孪生分支,输入为一组样本对,每个样本由一个中心像素向量和一个相应的邻域像素块组成。首先对高光谱图像数据预处理,通过随机采样并样本配对后形成比例均衡的正负输入样本对。训练集样本数为高光谱图像数据集每类6至8个样本。接着,样本对的两个输入分别进入两个孪生分支进行空间、光谱特征提取。孪生分支采用二维卷积神经网络进行空间信息特征提取,一维卷积神经网络进行光谱信息特征提取,在分别特征提取之后再进行空间光谱信息特征级融合。在空间光谱信息特征级融合后,通过l1距离函数逻辑回归计算输出,公式如下。
[0058][0059]
式中d1是孪生分支网络的输出,i1和i2是输入样本对。
[0060]
2.损失函数
[0061]
构建模型后,训练孪生网络时,采用二分类交叉熵损失函数(bceloss)计算二元分类器的误差,公式如下。
[0062][0063]
式中n是样本总数,yi是第i个样本所属的类别,pi是第i个样本的类别预测值,在这里它是一个概率值。损失函数能使输出向量足够接近期望分类结果,这是基于实际不相似但网络认为是相当相似的来优化网络。
[0064]
3.优化器
[0065]
随机梯度下降算法(stochasticgradientdescent,sgd)每次选择一个mini-batch,而不是全部样本,使用梯度下降来更新模型参数。参数更新步骤如下:计算目标函数关于当前参数的梯度,计算当前时刻的下降梯度,根据下降梯度进行更新参数。设定待优化参数为ω,目标函数为f(x),初始学习率为α,迭代期数为epoch,其中g
t
是当前参数的梯度。参数更新公式如下:
[0066]wt+1
=w
t-α
·gt
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
式(3)
[0067]
孪生网络模型使用梯度下降进行优化,批处理大小batchsize设为类别数,迭代期数epoch设为200,学习率α初始化为0.001,后续学习率将会随着epoch的变化而自动调整。优化器指引损失函数(目标函数)的各个参数往正确的方向更新合适的大小,使得更新后的各个参数让损失函数值不断逼近全局最小。
[0068]
步骤四、应用孪生网络模型进行高光谱图像分类
[0069]
在测试阶段,测试样本与每个可能的已知标签样本构成一组样本对,孪生网络模型通过计算并比较样本对相似度大小来确定预测样本的类别标签,相似度通过距离计算公式得到。
[0070]
下面简要描述实验配置以及分析,通过实验结果比较分析实际分类效果得到了提高。
[0071]
1.实验条件
[0072]
本发明的硬件测试平台为处理器intel(r)core(tm)i7-10700fcpu,主频为2.90hz,内存为16gb,显卡为nvidiageforcegtx3060。软件平台为windows10操作系统,开发环境为pycharm2021。编程语言为python,深度学习网络架构为pytorch。
[0073]
2.实验数据
[0074]
本发明的性能评价主要用到两个数据集:美国salinas山谷数据集和美国ksc佛罗里达州肯尼迪数据集。
[0075]
美国salinas山谷数据集大小为512217,有204个可用波段,共包含111104个像素点,其中有56975个像素点是背景像素,可应用于分类的像素点有54129个,这些像素点总共分为16类。每类取8个样本点共取128个像素点作为训练集,128个像素点作为验证集,54001个像素点作为测试集。表1是本发明对美国salinas山谷数据集的训练与测试样本的选取。注:下表所列测试数据包括验证集与测试集。
[0076]
表1
[0077][0078]
美国ksc佛罗里达州肯尼迪数据集有176个可用波段,共包含314368个像素点,其中有309157个像素点是背景像素,可应用于分类的像素点有5211个,这些像素点总共分为13类。每类取8个样本点共取104个像素点作为训练集,104个像素点作为验证集,5107个像素点作为测试集。表2是本发明对美国ksc佛罗里达州肯尼迪数据集的训练与测试样本的选取。注:下表所列测试数据包括验证集与测试集。
[0079]
表2
[0080]
[0081][0082]
3.性能比较
[0083]
本发明用到的三个现有技术对比分类的方法如下:
[0084]
(1)camps-valls等人在“composite kernels for hyperspectral image classification”提出的基于空谱联合的二维卷积神经网络高光谱图像分类方法,简称2-dcnn方法。
[0085]
(2)zilong zhong等人在“spectral

spatial residual network for hyperspectral image classification:a 3-d deep learning framework”提出的基于空谱联合的三维卷积神经网络高光谱图像分类方法,简称3-dssrn方法。
[0086]
(3)lingbo huang等人在“dual-path siamese cnn for hyperspectral image classification with limited training samples”提出了基于空谱分离的双路径孪生网络,简称dscnn方法。
[0087]
在实验中,采用以下三个指标来评价本发明的性能:
[0088]
第一个评价指标是总体精度(oa),表示正确分类的样本占所有样本的比例,值越大,说明分类效果越好。第二个评价指标是平均精度(aa),表示每一类分类精度的平均值,值越大,说明分类效果越好。第三个评价指标是卡方系数(kappa),表示混淆矩阵中不同的权值,值越大,说明分类效果越好。
[0089]
表3是本发明以及另外三种方法对美国salinas数据集高光谱图像分类的准确率。
[0090]
表3
[0091][0092]
表4是本发明对美国ksc佛罗里达州肯尼迪高光谱图像分类的准确率以及对比。
[0093]
表4
[0094]
[0095][0096]
从表3和表4可以看出,对于相同的高光谱图像数据集,本发明提出的分类方法,其分类精度要优于其他分类方法。另外图6、图7展示了各个分类方法的分类图,其可视化的分类效果图与表3和表4所列出的结果相同。从图像可以看出,在小样本学习时,本发明实现的分类图误差较小,更优于2-d cnn、3-d ssrn、dscnn分类方法。
[0097]
综上所述,本发明为了更好地解决光谱数据冗余和小样本下高光谱图像分类问题,提出了一种基于孪生网络的高光谱图像分类方法。构建基于空间光谱信息的孪生残差网络结构,空谱分离特征提取网络结构在保留原有光谱特征信息的同时减少空间特征提取的参数量,从而提高了分类精度和速度。采用基于多尺度特征融合并行分支的特征提取网络,通过扩大特征提取网络的感受野和增加网络的宽度。采用基于空间和通道注意机制的特征提取网络,通过使用注意力机制增强空间光谱重要特征抑制不必要的特征,从而提高了分类精度。通过真实实验数据分析,本发明所提出的方法能够有效实现小样本情况下高光谱图像分类,且分类精度更优于同类其他网络。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1