基于多分支与改进的Dense2Net的高光谱图像分类方法及系统
未命名
10-19
阅读:113
评论:0
基于多分支与改进的dense2net的高光谱图像分类方法及系统
技术领域
1.本发明属于信息技术服务技术领域,尤其涉及一种基于多分支与改进的dense2net的小样本高光谱图像分类方法、系统及终端。
背景技术:
2.高光谱图像(hyperspectral images,hsi)同时包含了丰富的空间信息和光谱信息,其中光谱信息的分辨率极高,一般可达到纳米级别,可以准确区分相似的土地覆盖类型。高光谱图像分类就是对图像中的每一个像素进行确定的类别标注。由于高光谱图像具有较高的光谱分辨率,形成的三维的高光谱图像数据块可以有效反映成像目标的信息。因此,高光谱图像分类已被广泛应用于医学影像分析、环境监测和精细农业等领域。
3.传统的基于机器学习的分类方法,如支持向量机svm、随机森林rf、多项逻辑回归等,只能提取浅层的光谱特征或者空间特征,特征提取不完整,导致分类精度不高。深度学习具有强大的特征提取能力,可以有效提升分类精度。因此,各类基于深度学习的分类方法逐渐被应用到高光谱图像分类任务中,特别是卷积神经网络(convolutional neural network,cnn)。由于高光谱图像的高维特性容易引发休斯现象,且光谱波段的冗余信息较多,使高光谱图像分类成为一个极具挑战的任务。另外,基于深度学习的网络模型在进行分类任务时一般需要大量的已标记样本数据,如果训练样本过少会使网络模型发生过拟合。然而,高光谱数据获取困难,样本标记耗时耗力,训练样本匮乏。因此,解决小样本高光谱图像分类具有极大的实用价值。
4.通过上述分析,现有技术存在的问题及缺陷为:
5.(1)基于传统的机器学习方法由于只能提取浅层特征,特征提取不完整导致分类精度较低;另外,需要花费大量的人力和时间成本去手动设计分类特征。
6.(2)由于高光谱图像数据获取困难,而基于深度学习的网络模型一般需要大量的训练样本,样本不足会影响网络的分类性能。因此,如何改进网络结构提升小样本下的分类精度至关重要,具有极大的实用价值。
7.(3)基于光谱和空间特征的cnn具有更好的分类性能,这需要设计更复杂的网络结构,以便于有效提升分类精度。
技术实现要素:
8.针对现有技术存在的问题,本发明提供了一种基于多分支与改进的dense2net的小样本高光谱图像分类方法、系统及终端。
9.本发明是这样实现的,一种基于多分支与改进的dense2net的小样本高光谱图像分类方法,包括:
10.步骤一,数据集生成,获取高光谱图像数据集,将数据集随机划分为训练集、验证集和测试集;
11.步骤二,构建tbta-d2net网络模型;
12.步骤三,利用训练集训练tbta-d2net网络模型,更新多次迭代的参数;利用验证集监测模型的性能并选择出最优模型;
13.步骤四,利用最优模型对测试样本进行测试,实现对高光谱数据每个像素点的分类。
14.进一步,所述步骤一中数据集的具体生成过程为:
15.步骤1.1:假设hsi数据集a由n个标记像素组成,其中p为光谱波段;对应的类别标签集为其中q为土地覆盖类别数;从原始数据中选取中心像素ai的b
×
b邻近像素,生成三维立方块的集合如果目标像素位于图像的边缘,则将缺失的相邻像素值设置为零;b的大小设置为9,b为光谱带的数量,然后,将三维立方块集k随机划分为训练集x
train
、验证集x
val
和测试集x
test
。相应的标签向量分为y
train
、y
val
和y
test
;
16.步骤1.2:将训练集x
train
中每一个像素点ai,以及其周围9
×
9大小的邻域像素点,输入到步骤二中的tbta-d2net网络模型中。
17.进一步,所述步骤二为tbta-d2net网络模型的构建过程,具体步骤如下:
18.步骤2.1:首先经过一个1
×1×
7大小的3d-cnn对输入特征图进行降维处理,然后将降维后的特征图分别输入到光谱分支、空间x分支和空间y分支,分别提取光谱特征、空间x特征和空间y特征;
19.3d-cnn进行卷积操作的计算如下:
[0020][0021]
其中,表示第i层的第j个特征图在(x,y,z)位置上的输出;si是卷积核的宽,ti是卷积核的高,ri是光谱维数;表示第i层第j个卷积核在(s,t,r)位置上的输出;表示上一层第m个特征图在(x+s,y+t,z+r)位置上的输出值;
[0022]
步骤2.2:在光谱分支中,首先经过一个卷积核大小为1
×1×
7的dense2net bottleneck;然后,经过一个带bn的3d-cnn层和mish激活函数,将得到的特征图变形为(9
×9×
1,192)大小;接着,经过光谱注意块对特征图进行细化;最后,经过带mish的bn层、dropout层和全局平均池化层,得到大小为1
×
192的光谱特征图;
[0023]
步骤2.3:在空间x分支中,首先经过一个卷积核大小为3
×1×
1的dense2net bottleneck;然后,经过一个带bn的3d-cnn层和mish激活函数,将得到的特征图变形为(9
×9×
1,192)大小;接着,经过空间x注意块对特征图进行细化;最后,经过带mish的bn层、dropout层和全局平均池化层,得到大小为1
×
192的空间x特征图;
[0024]
步骤2.4:在空间y分支中,首先经过一个卷积核大小为1
×3×
1的dense2net bottleneck;然后,经过一个带bn的3d-cnn层和mish激活函数,将得到的特征图变形为(9
×9×
1,192)大小;接着,经过空间y注意块对特征图进行细化;最后,经过带mish的bn层、dropout层和全局平均池化层,得到大小为1
×
192的空间y特征图;
[0025]
步骤2.5:拼接三个分支上输出的大小为1
×
192的光谱特征图、空间x特征图和空间y特征图,拼接操作后的特征图大小为1
×
576;接着,经过一个全连接层、softmax函数,得到最终的分类结果。
[0026]
进一步,所述步骤2.2包括:
[0027]
(1)dense2net bottleneck:包含3组improved res2net模块,bn和mish;其中,光谱分支在improved res2net模块中卷积核的大小为1
×1×
7,空间x分支在improved res2net模块中卷积核的大小为3
×1×
1,空间y分支在improved res2net模块中卷积核的大小为1
×3×
1;res2net在单个残差块内构造具有等级制的类似残差连接,取代了通用的单个3
×
3卷积核;在res2net块中,一个单独残差块中的分层的残差连接使感受野在更细粒度级别上的变化能够捕获细节和全局特性;假设输入特征数据为为了实现分层操作,将特征按通道数平分为4个部分,每个特征图子集xi(i=1,2,3,4)的空间大小相同;将xi(i=2,3,4)分别与p
×q×
r的卷积核进行卷积,每个部分的输出为:
[0028][0029]
其中,k(
·
)表示卷积操作;然后对yi进行逐一级联,通过一个1
×1×
1卷积核的卷积层得到res2net模块的输出y;
[0030]
(2)mish激活函数:mish是一个自正则化的非单调激活函数,mish为上界无界,下界范围为[≈-0.31,∞];mish的计算公式是:
[0031][0032]
(3)三重注意力机制:用于细化光谱、空间x和空间y分支上提取的特征,首先,分别对输入特征a做reshape、和reshape&transpose;reshape中光谱注意块:c
×
n,空间x注意块:h
×
n,空间y注意块:w
×
n;reshape&trans pose中光谱注意块:n
×
c;空间x注意块:n
×
h;空间y注意块:n
×
w;然后,将得到的两个特征图相乘,再通过softmax得到注意力映射x,注意力映射x中光谱注意块:c
×
c,空间x注意块:h
×
h,空间y注意块:w
×
w,计算注意力映射x的公式如下:
[0033][0034]
其中x
ji
衡量了第i个通道对第j个通道的影响;接着把x的转置与reshape的a做矩阵乘法,再乘以尺度系数α,再reshape为原来形状;最后与a相加得到最后的输出b;其中α初始化为0,并逐渐的学习得到更大的权重:
[0035][0036]
进一步,所述步骤三中最优模型的选择策略为:在训练过程中,输出在验证集上分类准确率最高的模型;如若在验证集上的分类准确率一致,则输出在验证集上损失最小的
模型;迭代过程中,保存最优模型。
[0037]
进一步,步骤四为预测过程,将测试集x
test
中的每个像素点ai,以及其周围9
×
9邻域的大小,输入到最优模型中,最终输出测试样本的类别标签y
pre
,完成高光谱图像中地物的分类;然后,通过(y
pre
,y
test
)计算tbta-d2net模型的3个分类评价指标:oa、aa和kappa系数。
[0038]
本发明的另一目的在于提供一种应用所述的基于多分支与改进的dense2net的小样本高光谱图像分类系统包括:
[0039]
三分支前特征提取模块,从原始输入高光谱数据中选取大小为9
×9×
200的样本立方块作为输入特征a;如果目标像素位于图像的边缘,则将缺失的相邻像素值设置为0;然后,使用一个卷积核大小为1
×1×
7的3d-cnn对输入特征a进行降维操作,得到(9
×9×
97,24)大小的特征图作为光谱分支、空间x分支和空间y分支的输入特征图;
[0040]
光谱分支特征提取模块,将(9
×9×
97,24)的特征图输入到光谱分支。首先,经过dense2net bottleneck模块,它由3组improved res2net和带mish的bn层组成,每个improved res2net的卷积核大小为1
×1×
7,具体计算如公式(2)所示。经过dense2net bottleneck模块后,输出特征图的大小变为(9
×9×
97,192)。然后,经过卷积核大小为1
×1×
97的3d-cnn将特征图降维为(9
×9×
1,192)大小,再使用光谱注意块细化光谱特征。最后,经过带mish的bn层、dropout层和全局平均池化层,得到1
×
192的光谱特征图;
[0041]
空间x分支特征提取模块,空间x分支的步骤与光谱分支相同,不同的是improved res2net卷积核的大小为3
×1×
1,经过空间x注意块;最后,得到1
×
192的空间x特征图;
[0042]
空间y分支特征提取模块,空间y分支的步骤与光谱分支和空间x分支相同,不同的是improved res2net卷积核的大小为1
×3×
1,经过空间y注意块;最后,得到1
×
192的空间y特征图;
[0043]
光谱、空间x和空间y特征融合模块,采用拼接操作将光谱特征图、空间x特征图和空间y特征图融合,经过全连接层和softmax层得到分类结果;由于光谱特征、空间x特征和空间y特征都在不相关的域中,采用拼接操作可以使三个特征之间保持独立性。
[0044]
本发明的另一目的在于提供一种计算机设备,计算机设备包括存储器和处理器,存储器存储有计算机程序,计算机程序被处理器执行时,使得处理器执行所述的基于多分支与改进的dense2net的小样本高光谱图像分类方法的步骤。
[0045]
本发明的另一目的在于提供一种计算机可读存储介质,存储有计算机程序,计算机程序被处理器执行时,使得处理器执行所述的基于多分支与改进的dense2net的小样本高光谱图像分类方法的步骤。
[0046]
本发明的另一目的在于提供一种信息数据处理终端,信息数据处理终端用于实现所述的基于多分支与改进的dense2net的小样本高光谱图像分类系统。
[0047]
结合上述的技术方案和解决的技术问题,本发明所要保护的技术方案所具备的优点及积极效果为:
[0048]
第一,为了解决现有技术类中存在的问题,有效提高小样本下高光谱图像的分类精度。本发明提出了一种基于多分支与改进的dense2net的小样本高光谱图像分类方法,简称tbta-d2net。tbta-d2net网络分三个分支:光谱分支、空间x分支和空间y分支分别提取三个分支上的特征,并在三个分支上分别应用了光谱注意块,空间x注意块和空间y注意块,通
过注意力权重对空谱信息丰富的区域重新赋予更多的关注,增强光谱和空间特征的可判别性。最后将三个分支上提取到的特征融合进行分类。
[0049]
为了抑制因网络加深出现的网络退化问题,本发明结合densenet和res2net方法的优点,设计了dense2net bottleneck模块。dense2net bottleneck模块加强了densenet的特征传播和特征重用,并结合了res2net模块的多尺度特征提取优势。除此之外,本发明还采用了一种新的深度模型优化器adan。adan结合了自适应优化器,nesterov冲量,以及解耦的权重衰减策略的优点,可以有效提升网络模型的训练速度。
[0050]
第二,把技术方案看做一个整体或者从产品的角度,本发明所要保护的技术方案具备的技术效果和优点,具体描述如下:
[0051]
(1)本发明能够根据训练好的深度学习模型,自动进行分类,无需输入任何参数和耗费大量的时间成本和人力成本去标注数据。
[0052]
(2)对res2net进行了改进,设计了dense2net bottleneck模块,能够提取出光谱和空间中更细粒度的特征。
[0053]
(3)解决了小样本问题,在训练样本数量非常有限的情况下,有效提高了分类精度。
[0054]
第三,作为本发明的权利要求的创造性辅助证据,还体现在以下几个重要方面:
[0055]
(1)本发明的技术方案转化后的预期收益和商业价值为:
[0056]
本发明方法提高了小样本下高光谱遥感图像的分类精度,可将其应用于许多不同的领域,比如精细农业、医学诊断、地质勘测、军事侦察等。
[0057]
(2)本发明的技术方案是否解决了人们一直渴望解决、但始终未能获得成功的技术难题:
[0058]
目前,高光谱图像智能识别主要面临两大核心难题:一是如何准确提取复杂的空谱特征;二是小样本情形下如何精确分类。本发明技术成功提高了小样本下的分类精度。
附图说明
[0059]
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例中所需要使用的附图做简单的介绍,显而易见地,下面所描述的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下还可以根据这些附图获得其他的附图。
[0060]
图1是本发明实施例提供的基于多分支与改进的dense2net的小样本高光谱图像分类方法流程图;
[0061]
图2是本发明实施例提供的res2net与improved res2net的网络结构对比图;其中,(a)为res2net示意图;(b)为improved res2net示意图;
[0062]
图3是本发明实施例中三重注意力机制的示意图;
[0063]
图4是本发明实施例提供的tbta-d2net的网络结构示意图;
[0064]
图5是本发明实施例提供的不同训练样本比例下各方法在ip,up和sv数据集上的oa结果对比示意图;其中,(a)为ip数据集;(b)为up数据集;(c)为sv数据集。
具体实施方式
[0065]
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
[0066]
针对现有技术存在的问题,本发明提供了一种基于多分支与改进的dense2net的小样本高光谱图像分类方法、系统及终端,下面结合附图对本发明作详细的描述。
[0067]
为了解决现有技术类中存在的问题,有效提高小样本下高光谱图像的分类精度。本发明提出了一种基于多分支与改进的dense2net的小样本高光谱图像分类方法,简称tbta-d2net。tbta-d2net网络分三个分支:光谱分支、空间x分支和空间y分支分别提取三个分支上的特征,并在三个分支上分别应用了光谱注意块,空间x注意块和空间y注意块,通过注意力权重对空谱信息丰富的区域重新赋予更多的关注,增强光谱和空间特征的可判别性。最后将三个分支上提取到的特征融合进行分类。
[0068]
为了抑制因网络加深出现的网络退化问题,本发明结合densenet和res2net方法的优点,设计了dense2net bottleneck模块。dense2net bottleneck模块加强了densenet的特征传播和特征重用,并结合了res2net模块的多尺度特征提取优势。除此之外,本发明还采用了一种新的深度模型优化器adan。adan结合了自适应优化器,nesterov冲量,以及解耦的权重衰减策略的优点,可以有效提升网络模型的训练速度。
[0069]
tbta-d2net算法的具体实现过程可分为以下4个步骤:
[0070]
步骤1:数据集生成。获取高光谱图像数据集,将数据集随机划分为训练集、验证集和测试集。
[0071]
步骤2:构建tbta-d2net网络模型。
[0072]
步骤3:利用训练集训练tbta-d2net网络模型,更新多次迭代的参数。利用验证集监测模型的性能并选择出最优模型。
[0073]
步骤4:利用最优模型对测试样本进行测试,实现对高光谱数据每个像素点的分类。
[0074]
基于多分支与改进的dense2net的小样本高光谱图像分类方法(以下简称为tbta-d2net)是一种针对小样本高光谱图像数据进行分类的深度学习方法。其主要特征包括多分支结构和改进的dense2net结构,使其在处理高光谱图像分类任务时具有更高的性能。以下是详细的信号数据处理过程以及方法的优点和积极效果。
[0075]
本发明实施例的信号数据处理过程:
[0076]
1)数据集生成:首先,获取高光谱图像数据集,将数据集随机划分为训练集、验证集和测试集。这个过程可以通过数据增强方法(如旋转、翻转、裁剪等)来扩充数据集,提高模型的泛化能力。
[0077]
2)构建tbta-d2net网络模型:tbta-d2net网络模型主要由多分支结构和改进的densenet结构组成。多分支结构可以捕捉不同尺度的特征,提高模型的表达能力;改进的densenet结构则利用密集连接、跳跃连接等技术,提高了网络的信息传播效率。
[0078]
3)训练与验证:利用训练集对tbta-d2net网络模型进行训练,通过多次迭代更新模型参数。在训练过程中,利用验证集监测模型的性能,根据验证集上的准确率、损失等指标选择出最优模型。
[0079]
4)测试与分类:利用最优模型对测试样本进行测试,实现对高光谱数据每个像素点的分类。可以通过混淆矩阵、分类准确率等指标来评估模型的分类性能。
[0080]
本发明实施例的优点和积极效果:
[0081]
1)通过多分支结构捕捉不同尺度的特征,提高模型的表达能力,使其在处理高光谱图像分类任务时具有更高的性能。
[0082]
2)改进的densenet结构利用密集连接和跳跃连接等技术,提高了网络的信息传播效率,有助于解决梯度消失和梯度爆炸等问题。
[0083]
3)适用于小样本高光谱图像分类任务,降低了大量标注数据的需求,减轻了数据标注的工作量。
[0084]
4)结合数据增强方法,提高模型的泛化能力,使其在不同场景下的高光谱图像分类任务中具有较好的适应性。
[0085]
总之,tbta-d2net方法在高光谱图像分类任务中具有较高的性能和较好的泛化能力,为小样本高光谱图像分类提供了一种有效的解决方案。
[0086]
步骤1中数据集的具体生成过程为:
[0087]
步骤1.1:假设hsi数据集a由n个标记像素组成,其中p为光谱波段,对应的类别标签集为其中q为土地覆盖类别数。从原始数据中选取中心像素ai的b
×
b邻近像素,生成三维立方块的集合如果目标像素位于图像的边缘,则将缺失的相邻像素值设置为零。本研究中b的大小设置为9,b为光谱带的数量。然后,将三维立方块集k随机划分为训练集x
train
、验证集x
val
和测试集x
test
。相应的标签向量分为y
train
、y
val
和y
test
。
[0088]
步骤1.2:将训练集x
train
中每一个像素点ai,以及其周围9
×
9大小的邻域像素点,输入到步骤2中的tbta-d2net网络模型中。
[0089]
步骤2为tbta-d2net网络模型的构建过程,具体如下:
[0090]
步骤2.1:首先经过一个1
×1×
7大小的3d-cnn对输入特征图进行降为处理,然后将降维后的特征图分别输入到光谱分支、空间x分支和空间y分支,分别提取光谱特征、空间x特征和空间y特征。
[0091]
3d-cnn进行卷积操作的计算如下:
[0092][0093]
式(1)表示第i层的第j个特征图在(x,y,z)位置上的输出。其中,si是卷积核的宽,ti是卷积核的高,ri是光谱维数。表示第i层第j个卷积核在(s,t,r)位置上的输出。表示上一层第m个特征图在(x+s,y+t,z+r)位置上的输出值。
[0094]
步骤2.2:在光谱分支中,首先经过一个卷积核大小为1
×1×
7的dense2net bottleneck。然后,经过一个带bn的3d-cnn层和mish激活函数,将得到的特征图变形为(9
×9×
1,192)大小。接着,经过光谱注意块对特征图进行细化。最后,经过带mish的bn层、dropout层和全局平均池化层,得到大小为1
×
192的光谱特征图。
[0095]
(1)dense2net bottleneck:包含3组improved res2net模块,bn和mish。其中,光
bottleneck。然后,经过一个带bn的3d-cnn层和mish激活函数,将得到的特征图变形为(9
×9×
1,192)大小。接着,经过空间y注意块对特征图进行细化。最后,经过带mish的bn层、dropout层和全局平均池化层,得到大小为1
×
192的空间y特征图。
[0106]
步骤2.4:拼接三个分支上输出的大小为1
×
192的光谱特征图、空间x特征图和空间y特征图,拼接操作后的特征图大小为1
×
576。接着,经过一个全连接层、softmax函数,得到最终的分类结果。
[0107]
步骤3中最优模型的选择策略为:在训练过程中,输出在验证集上分类准确率最高的模型。如若在验证集上的分类准确率一致,则输出在验证集上损失最小的模型。迭代过程中,保存最优模型。
[0108]
步骤4为预测过程。将测试集x
test
中的每个像素点ai,以及其周围9
×
9邻域的大小,输入到最优模型中,最终输出测试样本的类别标签y
pre
,完成高光谱图像中地物的分类。然后,通过(y
pre
,y
test
)计算tbta-d2net模型的3个分类评价指标:oa、aa和kappa系数。
[0109]
本发明提出了一种基于多分支与改进的dense2net的小样本高光谱图像分类方法:首先将原始的高光谱数据输入,然后选择每一个像素点及其周围邻域9
×
9大小的三维立方块输入,随后通过本研究方法tbta-d2net,提取光谱特征、空间x特征和空间y特征,训练网络模型,并通过验证集和最优模型选择策略输出最优模型。最后,输入测试样本预测分类结果,并输出预测结果的oa指标、aa指标和kappa系数。
[0110]
tbta-d2net网络具体实施步骤
[0111]
tbta-d2net的网络结构如图4所示。以indian pines(ip)数据集为例,tbta-d2net网络的特征提取与分类识别步骤如下。
[0112]
(1)三分支前特征提取
[0113]
从原始输入高光谱数据中选取大小为9
×9×
200的样本立方块作为输入特征a。如果目标像素位于图像的边缘,则将缺失的相邻像素值设置为0。然后,使用一个卷积核大小为1
×1×
7的3d-cnn对输入特征a进行降维操作,得到(9
×9×
97,24)大小的特征图作为光谱分支、空间x分支和空间y分支的输入特征图。
[0114]
(2)光谱分支特征提取
[0115]
将(9
×9×
97,24)的特征图输入到光谱分支。首先,经过dense2net bottleneck模块,它由3组improved res2net和带mish的bn层组成,每个improved res2net的卷积核大小为1
×1×
7,具体计算如公式(2)所示。经过dense2net bottleneck模块后,输出特征图的大小变为(9
×9×
97,192)。然后,经过卷积核大小为1
×1×
97的3d-cnn将特征图降维为(9
×9×
1,192)大小,再使用光谱注意块细化光谱特征。最后,经过带mish的bn层、dropout层和全局平均池化层,得到1
×
192的光谱特征图。光谱分支的实施细节如下表所示:
[0116]
表1在光谱分支上的实施细节
[0117][0118]
(3)空间x分支特征提取
[0119]
空间x分支的实施步骤与光谱分支相同。不同的是improved res2net卷积核的大小为3
×1×
1,经过空间x注意块。最后,得到1
×
192的空间x特征图。空间x分支的实施细节如下表所示:
[0120]
表2在空间x分支上的实施细节
[0121][0122]
(4)空间y分支特征提取
[0123]
空间y分支的实施步骤与光谱分支和空间x分支相同。不同的是improved res2net卷积核的大小为1
×3×
1,经过空间y注意块。最后,得到1
×
192的空间y特征图。空间y分支的实施细节如下表所示:
[0124]
表3在空间y分支上的实施细节
[0125][0126]
(5)光谱、空间x和空间y特征融合
[0127]
采用拼接操作将光谱特征图、空间x特征图和空间y特征图融合,经过全连接层和softmax层得到分类结果。由于光谱特征、空间x特征和空间y特征都在不相关的域中,采用拼接操作可以使三个特征之间保持独立性。
[0128]
本发明的应用实施例提供了一种计算机设备,计算机设备包括存储器和处理器,存储器存储有计算机程序,计算机程序被处理器执行时,使得处理器执行所述的基于多分支与改进的dense2net的小样本高光谱图像分类方法的步骤。
[0129]
本发明的应用实施例提供了一种计算机可读存储介质,存储有计算机程序,计算机程序被处理器执行时,使得处理器执行所述的基于多分支与改进的dense2net的小样本高光谱图像分类方法的步骤。
[0130]
本发明的应用实施例提供了一种信息数据处理终端,信息数据处理终端用于实现所述的基于dense2net的小样本高光谱图像分类系统。
[0131]
本发明实施例在研发或者使用过程中取得了一些积极效果,和现有技术相比的确具备很大的优势,下面内容结合试验过程的数据、图表等进行描述。
[0132]
本发明方法在3个公开的高光谱数据集上进行了实验,即indian pines(ip)数据集、pavia university(up)数据集、和salinas valley(sv)数据集。对比了其他5种目前分类效果比较好的、基于深度学习的方法,这5种方法分别是:
[0133]
1)lee和kwon在其发表的论文“going deeper with contextual cnn for hyperspectral image classification[j].ieee trans image process.2017,26(10):4843-4855.”中提出的cdcnn方法。
[0134]
2)zhong等在其发表的论文“spectral-spatial residual network for hyperspectral image classification:a 3-d deep learning framework[j].ieee trans geosci remote sens.2018,56(2):847-858.”中提出的ssrn方法。
[0135]
3)wang等在其发表的论文“a fast dense spectral-spatial convolution network frame work for hyperspectral images classification[j].remote sens.2018,10(7):1068.”中提出的fdssc方法。
[0136]
4)ma等在其发表的论文“double-branch multi-attention mechanism network for hyperspectral image classification[j].remote sens.2019,11(11):1307.”中提
出的dbma方法。
[0137]
5)li等在其发表的论文“classification of hyperspectral image based on double-branch dual-attention mechanism network[j].remote sens.2020,12(3):582.”中提出的dbda方法。
[0138]
实验都在相同的平台上执行,所有方法均使用pytorch实现,配置16gb内存和nvidia geforce rtx 1080ti gpu。批处理大小均设为16,优化器设为adan,学习率为0.0005。epoch总数设置为150。每种方法独立进行10次迭代,实验结果取10次迭代结果的平均值。输入大小均为9
×9×
p,其中p为光谱带的数量。
[0139]
在深度学习中,随着网络深度的增加,网络模型的训练速度便会下降。为了提升网络模型的收敛速度,本研究采用了一种新的深度学习优化器:自适应nesterov动量算法,简称adan。adan通过重新制定vanilla nesterov加速度提出了一种新的nesterov动量估计(nme)方法,这消除了在外推点计算梯度的需要。然后将该方法应用于估计自适应梯度算法中梯度的一阶和二阶矩,从而加快收敛速度。adan的算法流程如下:
[0140][0141]
实验结果
[0142]
在indian pines(ip)数据集上,去除水汽影响严重的波段,有效样本数为10249个。其中3%为训练集,3%为验证集,其余94%为测试集。各方法在ip数据集上的分类结果如表4所示,每类中最佳分类结果加粗表示。
[0143]
表4不同方法在ip数据集上的分类结果(训练样本比例为3%)
[0144][0145][0146]
在pavia university(up)数据集上,有效样本数为42776个。其中0.5%为训练集,0.5%为验证集,其余99%为测试集。各方法在up数据集上的分类结果如表5所示,每类中最佳分类结果加粗表示。
[0147]
表5不同方法在up数据集上的分类结果(训练样本比例为0.5%)
[0148][0149]
在salinas valley(sv)数据集上,有效样本数为54129个。其中0.5%为训练集,0.5%为验证集,其余99%为测试集。各方法在sv数据集上的分类结果如表6所示,每类中最佳分类结果加粗表示。
[0150]
表6不同方法在sv数据集上的分类结果(训练样本比例为0.5%)
[0151][0152][0153]
从表4-表6中可以看出,与cdcnn,ssrn,fdssc,dbma和dbda相比,本发明提出的方法tbta-d2net在ip,up和sv三个数据集上,oa,aa和kappa指标均取得了最佳结果。因此,tbta-d2net网络有效提升了小样本下高光谱图像分类的精度。
[0154]
不同训练样本比例下,各方法在ip,up和sv数据集上的oa结果对比如图5所示。其中,在ip数据集上训练样本比例分别为0.5%,1%,3%和5%。在up和sv数据集上训练样本比例分别为0.1%,0.5%,1%和5%。由于up和sv数据集比较大,所以训练样本比例最小为0.1%。从图中可以看出,随着训练样本比例增加,各方法的oa结果也随之提高。在三个数据集上,本发明提出的方法tbta-d2net在不同训练样本比例下,均优于其他方法,尤其是在训练样本有限的情况下对比明显。
[0155]
本发明提供的实施例1:
[0156]
在本实施例中,假设我们有一个高光谱遥感图像数据集,用于进行农作物种类识别。我们的目标是利用基于多分支与改进的dense2net(tbta-d2net)的小样本高光谱图像分类方法,对农作物种类进行分类。
[0157]
步骤1.1:获取高光谱图像数据集,例如indian pines数据集。该数据集包含224个光谱波段,土地覆盖类别数为16。从原始数据中选取中心像素的邻近像素,生成三维立方块的集合。假设邻域大小为9,将三维立方块集随机划分为训练集、验证集和测试集。
[0158]
步骤1.2:将训练集中每一个像素点,以及其周围大小为9的邻域像素点,输入到tbta-d2net网络模型中。
[0159]
步骤2:构建tbta-d2net网络模型,包括多分支与改进的dense2net结构。这使得模型可以更好地捕捉到高光谱图像的空间信息和光谱信息。
[0160]
步骤3:利用训练集训练tbta-d2net网络模型,更新多次迭代的参数。利用验证集
监测模型的性能并选择出最优模型。
[0161]
步骤4:利用最优模型对测试样本进行测试,实现对高光谱数据每个像素点的农作物种类分类。
[0162]
本发明提供的实施例2:
[0163]
在本实施例中,假设我们有一个高光谱遥感图像数据集,用于进行城市土地覆盖分类。我们的目标是利用基于多分支与改进的dense2net(tbta-d2net)的小样本高光谱图像分类方法,对城市土地覆盖进行分类。
[0164]
步骤1.1:获取高光谱图像数据集,例如pavia university数据集。该数据集包含103个光谱波段,土地覆盖类别数为9。从原始数据中选取中心像素的邻近像素,生成三维立方块的集合。假设邻域大小为9,将三维立方块集随机划分为训练集、验证集和测试集。
[0165]
步骤1.2:将训练集中每一个像素点,以及其周围大小为9的邻域像素点,输入到tbta-d2net网络模型中。
[0166]
步骤2:构建tbta-d2net网络模型,包括多分支与改进的dense2net结构。这使得模型可以更好地捕捉到高光谱图像的空间信息和光谱信息。
[0167]
步骤3:利用训练集训练tbta-d2net网络模型,更新多次迭代的参数。利用验证集监测模型的性能并选择出最优模型。
[0168]
步骤4:利用最优模型对测试样本进行测试,实现对高光谱数据每个像素点的城市土地覆盖分类。
[0169]
这两个实施例展示了如何使用基于多分支与改进的dense2net的小样本高光谱图像分类方法进行不同应用场景下的高光谱图像分类。
[0170]
应当注意,本发明的实施方式可以通过硬件、软件或者软件和硬件的结合来实现。硬件部分可以利用专用逻辑来实现;软件部分可以存储在存储器中,由适当的指令执行系统,例如微处理器或者专用设计硬件来执行。本领域的普通技术人员可以理解上述的设备和方法可以使用计算机可执行指令和/或包含在处理器控制代码中来实现,例如在诸如磁盘、cd或dvd-rom的载体介质、诸如只读存储器(固件)的可编程的存储器或者诸如光学或电子信号载体的数据载体上提供了这样的代码。本发明的设备及其模块可以由诸如超大规模集成电路或门阵列、诸如逻辑芯片、晶体管等的半导体、或者诸如现场可编程门阵列、可编程逻辑设备等的可编程硬件设备的硬件电路实现,也可以用由各种类型的处理器执行的软件实现,也可以由上述硬件电路和软件的结合例如固件来实现。
[0171]
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,都应涵盖在本发明的保护范围之内。
技术特征:
1.一种基于多分支与改进的dense2net的小样本高光谱图像分类方法,其特征在于,包括:步骤一,数据集生成,获取高光谱图像数据集,将数据集随机划分为训练集、验证集和测试集;步骤二,构建tbta-d2net网络模型;步骤三,利用训练集训练tbta-d2net网络模型,更新多次迭代的参数;利用验证集监测模型的性能并选择出最优模型;步骤四,利用最优模型对测试样本进行测试,实现对高光谱数据每个像素点的分类。2.如权利要求1所述的基于多分支与改进的dense2net的小样本高光谱图像分类方法,其特征在于,所述步骤一中数据集的具体生成过程为:步骤1.1:假设hsi数据集a由n个标记像素组成,其中p为光谱波段;对应的类别标签集为其中q为土地覆盖类别数;从原始数据中选取中心像素a
i
的b
×
b邻近像素,生成三维立方块的集合如果目标像素位于图像的边缘,则将缺失的相邻像素值设置为零;b的大小设置为9,b为光谱带的数量,然后,将三维立方块集k随机划分为训练集x
train
、验证集x
val
和测试集x
test
;相应的标签向量分为y
train
、y
val
和y
test
;步骤1.2:将训练集x
train
中每一个像素点a
i
,以及其周围9
×
9大小的邻域像素点,输入到步骤二中的tbta-d2net网络模型中。3.如权利要求1所述的基于多分支与改进的dense2net的小样本高光谱图像分类方法,其特征在于所述步骤二为tbta-d2net网络模型的构建过程,具体步骤如下:步骤2.1:首先经过一个1
×1×
7大小的3d-cnn对输入特征图进行降维处理,然后将降维后的特征图分别输入到光谱分支、空间x分支和空间y分支,分别提取光谱特征、空间x特征和空间y特征;3d-cnn进行卷积操作的计算如下:其中,表示第i层的第j个特征图在(x,y,z)位置上的输出;s
i
是卷积核的宽,t
i
是卷积核的高,r
i
是光谱维数;表示第i层第j个卷积核在(s,t,r)位置上的输出;表示上一层第m个特征图在(x+s,y+t,z+r)位置上的输出值;步骤2.2:在光谱分支中,首先经过一个卷积核大小为1
×1×
7的dense2net bottleneck;然后,经过一个带bn的3d-cnn层和mish激活函数,将得到的特征图变形为(9
×9×
1,192)大小;接着,经过光谱注意块对特征图进行细化;最后,经过带mish的bn层、dropout层和全局平均池化层,得到大小为1
×
192的光谱特征图;步骤2.3:在空间x分支中,首先经过一个卷积核大小为3
×1×
1的dense2net bottleneck;然后,经过一个带bn的3d-cnn层和mish激活函数,将得到的特征图变形为(9
×9×
1,192)大小;接着,经过空间x注意块对特征图进行细化;最后,经过带mish的bn层、
dropout层和全局平均池化层,得到大小为1
×
192的空间x特征图;步骤2.4:在空间y分支中,首先经过一个卷积核大小为1
×3×
1的dense2net bottleneck;然后,经过一个带bn的3d-cnn层和mish激活函数,将得到的特征图变形为(9
×9×
1,192)大小;接着,经过空间y注意块对特征图进行细化;最后,经过带mish的bn层、dropout层和全局平均池化层,得到大小为1
×
192的空间y特征图;步骤2.5:拼接三个分支上输出的大小为1
×
192的光谱特征图、空间x特征图和空间y特征图,拼接操作后的特征图大小为1
×
576;接着,经过一个全连接层、softmax函数,得到最终的分类结果。4.如权利要求1所述的基于多分支与改进的dense2net的小样本高光谱图像分类方法,其特征在于所述步骤2.2包括:(1)dense2net bottleneck:包含3组improved res2net模块,bn和mish;其中,光谱分支在improved res2net模块中卷积核的大小为1
×1×
7,空间x分支在improved res2net模块中卷积核的大小为3
×1×
1,空间y分支在improved res2net模块中卷积核的大小为1
×3×
1;res2net在单个残差块内构造具有等级制的类似残差连接,取代了通用的单个3
×
3卷积核;在res2net块中,一个单独残差块中的分层的残差连接使感受野在更细粒度级别上的变化能够捕获细节和全局特性;假设输入特征数据为为了实现分层操作,将特征按通道数平分为4个部分,每个特征图子集x
i
(i=1,2,3,4)的空间大小相同;将x
i
(i=2,3,4)分别与p
×
q
×
r的卷积核进行卷积,每个部分的输出为:其中,k(
·
)表示卷积操作;然后对y
i
进行逐一级联,通过一个1
×1×
1卷积核的卷积层得到res2net模块的输出y;(2)mish激活函数:mish是一个自正则化的非单调激活函数,mish为上界无界,下界范围为[≈-0.31,∞];mish的计算公式是:(3)三重注意力机制:用于细化光谱、空间x和空间y分支上提取的特征,首先,分别对输入特征a做reshape和reshape&transpose;reshape中光谱注意块:c
×
n,空间x注意块:h
×
n,空间y注意块:w
×
n;reshape&transpose中光谱注意块:n
×
c;空间x注意块:n
×
h;空间y注意块:n
×
w;然后,将得到的两个特征图相乘,再通过softmax得到注意力映射x,注意力映射x中光谱注意块:c
×
c,空间x注意块:h
×
h,空间y注意块:w
×
w,计算注意力映射x的公式如下:其中x
ji
衡量了第i个通道对第j个通道的影响;接着把x的转置与reshape的a做矩阵乘
法,再乘以尺度系数α,再reshape为原来形状;最后与a相加得到最后的输出b;其中α初始化为0,并逐渐的学习得到更大的权重:5.如权利要求1所述的基于多分支与改进的dense2net的小样本高光谱图像分类方法,其特征在于所述步骤三中最优模型的选择策略为:在训练过程中,输出在验证集上分类准确率最高的模型;如若在验证集上的分类准确率一致,则输出在验证集上损失最小的模型;迭代过程中,保存最优模型。6.如权利要求1所述的基于多分支与改进的dense2net的小样本高光谱图像分类方法,其特征在于步骤四为预测过程,将测试集x
test
中的每个像素点a
i
,以及其周围9
×
9邻域的大小,输入到最优模型中,最终输出测试样本的类别标签y
pre
,完成高光谱图像中地物的分类;然后,通过(y
pre
,y
test
)计算tbta-d2net模型的3个分类评价指标:oa、aa和kappa系数。7.一种应用如权利要求1~6所述的高光谱图像分类方法的基于多分支与改进的dense2net的小样本高光谱图像分类系统,其特征在于,包括:三分支前特征提取模块,从原始输入高光谱数据中选取大小为9
×9×
200的样本立方块作为输入特征a;如果目标像素位于图像的边缘,则将缺失的相邻像素值设置为0;然后,使用一个卷积核大小为1
×1×
7的3d-cnn对输入特征a进行降维操作,得到(9
×9×
97,24)大小的特征图作为光谱分支、空间x分支和空间y分支的输入特征图;光谱分支特征提取模块,将(9
×9×
97,24)的特征图输入到光谱分支;首先,经过dense2net bottleneck模块,它由3组improved res2net和带mish的bn层组成,每个improved res2net的卷积核大小为1
×1×
7,经过dense2net bottleneck模块后,输出特征图的大小变为(9
×9×
97,192);然后,经过卷积核大小为1
×1×
97的3d-cnn将特征图降维为(9
×9×
1,192)大小,再使用光谱注意块细化光谱特征;最后,经过带mish的bn层、dropout层和全局平均池化层,得到1
×
192的光谱特征图;空间x分支特征提取模块,空间x分支的步骤与光谱分支相同,不同的是improved res2net卷积核的大小为3
×1×
1,经过空间x注意块;最后,得到1
×
192的空间x特征图;空间y分支特征提取模块,空间y分支的步骤与光谱分支和空间x分支相同,不同的是improved res2net卷积核的大小为1
×3×
1,经过空间y注意块;最后,得到1
×
192的空间y特征图;光谱、空间x和空间y特征融合模块,采用拼接操作将光谱特征图、空间x特征图和空间y特征图融合,经过全连接层和softmax层得到分类结果;由于光谱特征、空间x特征和空间y特征都在不相关的域中,采用拼接操作可以使三个特征之间保持独立性。8.一种计算机设备,计算机设备包括存储器和处理器,存储器存储有计算机程序,计算机程序被处理器执行时,使得处理器执行如权利要求1~6所述的基于多分支与改进的dense2net的小样本高光谱图像分类方法的步骤。9.一种计算机可读存储介质,存储有计算机程序,计算机程序被处理器执行时,使得处理器执行如权利要求1~6所述的基于多分支与改进的dense2net的小样本高光谱图像分类方法的步骤。10.一种信息数据处理终端,信息数据处理终端用于实现如权利要求7所述的基于多分
支与改进的dense2net的小样本高光谱图像分类系统。
技术总结
本发明属于信息技术服务技术领域,公开了一种基于多分支与改进的Dense2Net的高光谱图像分类方法、系统及终端,包括数据集生成,获取高光谱图像数据集,将数据集随机划分为训练集、验证集和测试集;构建TBTA-D2Net网络模型;利用训练集训练TBTA-D2Net网络模型,更新多次迭代的参数;利用验证集监测模型的性能并选择出最优模型;利用最优模型对测试样本进行测试,实现对高光谱数据每个像素点的分类。本发明的Dense2Net bottleneck模块加强了DenseNet的特征传播和特征重用,并结合了Res2Net模块的多尺度特征提取优势。除此之外,本发明还采用了一种新的深度模型优化器Adan。Adan结合了自适应优化器,Nesterov冲量,以及解耦的权重衰减策略的优点,可以有效提升网络模型的训练速度。模型的训练速度。模型的训练速度。
技术研发人员:潘新 唐婷 罗小玲
受保护的技术使用者:内蒙古农业大学
技术研发日:2023.06.25
技术公布日:2023/10/15
版权声明
本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
飞行汽车 https://www.autovtol.com/
