公开/公告号CN113850202A
专利类型发明专利
公开/公告日2021-12-28
原文格式PDF
申请/专利权人 中国地质大学(武汉);
申请/专利号CN202111142946.8
申请日2021-09-28
分类号G06K9/00(20060101);G06K9/62(20060101);G06N3/04(20060101);G06N3/08(20060101);
代理机构11368 北京世誉鑫诚专利代理有限公司;
代理人任欣生
地址 430074 湖北省武汉市洪山区鲁磨路388号
入库时间 2023-06-19 13:26:15
技术领域
本发明属于高光谱影像混合像元分解技术领域,特别涉及一种基于深度学习的半监督高光谱影像混合像元分解方法。
背景技术
随着遥感成像技术的发展,高光谱影像能收集到上百个波段的光谱特征,已经被广泛地应用在农业监测、军事预警、地物探测等领域。然而,由于较低的空间分辨率和复杂的地物分布,混合像元在高光谱影像中广泛存在,很大程度地阻碍了对高光谱图像地进一步地探索。混合像元分解技术的出现极大地克服了这一弊端,为定量遥感和像素级分类打下基础。深度学习方法以其强大的特征提取能力目前被广泛应用于多种遥感图像处理场景,使用深度学习方法进行高光谱混合像元分解也受到了广泛的关注。
基于深度学习理论的高光谱影像混合像元分解目前取得了一定进展,通过网络模型的学习,获得了较传统方式的精确度更高的丰度图。然而,现有的基于深度学习的混合像元分解方法,存在以下缺点:
(1)基于监督学习的方法需要率先获得大量观测光谱的丰度标签用于训练,然而大量带有标签的数据并不容易获得;
(2)无监督学习的方式需要借助传统的端元提取方法获取端元,所得的端元与真实端元之间还存在一定差距;
(3)模型层数不够深,对于深度学习模型潜力的利用还不够。
发明内容
针对相关技术中的上述技术问题,本发明提出一种基于深度学习的半监督高光谱影像混合像元分解方法,能够克服现有技术的上述不足。
为实现上述技术目的,本发明的技术方案是这样实现的:
一种基于深度学习的半监督高光谱影像混合像元分解方法,该方法包括:
依照端元信息,手工获取端元光谱数据;
将高光谱影像中的光谱经过若干网络块,对光谱数据降维,光谱数据维数降至与端元数目相等;
以手工获得的端元光谱数据作光谱重构层的初始值,将降维后的光谱数据通过光谱重构层,得到重构的像元光谱;
最小化重构的像元光谱与输入的光谱之间的误差,利用Adadelta算法更新网络参数。
进一步的,所述依照端元信息,手工获取端元光谱数据,包括:
依据数据集的真实标签,确定高光谱影像的端元数目n,其中,数据集包括原始高光谱数据、端元光谱,其中,对于每种端元i,从原始数据中获取端元丰度值为1的像元的光谱m
进一步的,所述以手工获得的端元光谱数据作光谱重构层的初始值中,将M作为光谱重构层网络权重的初始值
进一步的,所述将高光谱影像中的光谱经过若干网络块,包括:高光谱影像中的像元光谱经过若干个以卷积层、非线性激活层和批归一化层为基础网络单元的网络块,其中,所述卷积层的参数随着网络块输入输出特征的维度变化而变化。
进一步的,所述对光谱数据降维,光谱数据维数降至与端元数目相等,包括:
每个输入的像元光谱经过若干个网络块的处理之后,通过全连接层,将特征连接起来,降维至与端元数目相等,其中,全连接层的计算公式为:
Linear(x)=wx+b,
w为此全连接层的权重,采用随机初始化的方式,b表示偏置值,x表示特征提取网络从光谱中提取的深层特征;
全连接层之后,通过神经网络的Softmax层对全连接层的输出进行归一化计算,其中,归一化计算公式为:
R为端元数目,h为Softmax的输入,r表示丰度对应的索引;
由输入数据y降维至与端元数目一致的过程计算公式为:
a=Softmax(Linear(B(y))),其中,
B(·)来表示连续多个网络块的计算过程,а表示每一个输入光谱对应的丰度向量。
进一步的,所述网络块的设计,进一步包括:
卷积层的设计采用重叠的策略,即卷积核移动的步长小于卷积核大小,卷积层的计算公式为:
N为批大小,
非线性激活层采用线性修正单元,非线性激活层的计算公式为:
x为线性修正单元层的输入,即线性修正单元层的上一层卷积层的输出,if表示判断;
批归一化层位于线性修正单元层之后,用于加速网络的训练,批归一化层计算公式为:
其中,E[x]为批数据的均值,Var[x]为批数据的方差,γ和β是大小为通道数目的可学习参数,γ的默认值为1,β的默认值为0,x为批归一化层的输入,∈表示接近0的数;
基于卷积层、非线性激活层和批归一化层,计算所述网络快,其中所述网络块的计算公式为:
B
x表示每一个网络块的输入,B
进一步的,所述以手工获得的端元光谱数据作光谱重构层的初始值,将降维后的光谱数据通过光谱重构层,得到重构的像元光谱中,
重构的像元光谱的计算公式为:
进一步的,所述最小化重构的像元光谱与输入的光谱之间的误差,利用Adadelta算法更新网络参数中,当网络模型达到收敛状态时,从网络模型中获得混合像元分解结果。
进一步的,所述当网络模型达到收敛状态时,从网络模型中获得混合像元分解结果,包括:
当
本发明的有益效果:通过手工选取端元光谱,获得更为准确的端元初始值,加速模型收敛,获得更为精确的丰度值;通过利用较深的深度学习网络模型,提取更深层次的特征信息,学习像元光谱内在的相关性;通过使用全连接层将数据与线性混合模型结合,并通过初始化网络参数来加速模型收敛,提升分解精度;通过余弦相似度来度量输入输出数据的相似性,获得更高的计算效率和精度。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出了根据本发明实施例的一种基于深度学习的半监督高光谱影像混合像元分解方法的步骤流程图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地说明,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示,一种基于深度学习的半监督高光谱影像混合像元分解方法,该方法包括:
依照端元信息,手工获取端元光谱数据;
将高光谱影像中的光谱经过若干网络块,对光谱数据降维,光谱数据维数降至与端元数目相等;
以手工获得的端元光谱数据作光谱重构层的初始值,将降维后的光谱数据通过光谱重构层,得到重构的像元光谱;
最小化重构的像元光谱与输入的光谱之间的误差,利用Adadelta算法更新网络参数。
在本发明的一些实施例中,所述依照端元信息,手工获取端元光谱数据,包括:
依据数据集的真实标签,确定高光谱影像的端元数目n,其中,数据集包括原始高光谱数据、端元光谱,其中,对于每种端元i,从原始数据中获取端元丰度值为1的像元的光谱m
在本发明的一些实施例中,所述以手工获得的端元光谱数据作光谱重构层的初始值中,将M作为光谱重构层网络权重的初始值
在本发明的一些实施例中,所述将高光谱影像中的光谱经过若干网络块,包括:高光谱影像中的像元光谱经过若干个以卷积层、非线性激活层和批归一化层为基础网络单元的网络块,其中,所述卷积层的参数随着网络块输入输出特征的维度变化而变化。
在本发明的一些实施例中,所述对光谱数据降维,光谱数据维数降至与端元数目相等,包括:
每个输入的像元光谱经过若干个网络块的处理之后,通过全连接层,将特征连接起来,降维至与端元数目相等,其中,全连接层的计算公式为:
Linear(x)=wx+b,
w为此全连接层的权重,采用随机初始化的方式,b表示偏置值,x表示特征提取网络从光谱中提取的深层特征;
全连接层之后,通过神经网络的Softmax层对全连接层的输出进行归一化计算,其中,归一化计算公式为:
R为端元数目,h为Softmax的输入,r表示丰度对应的索引;
由输入数据y降维至与端元数目一致的过程计算公式为:
a=Softmax(Linear(B(y))),其中,
B(·)来表示连续多个网络块的计算过程,а表示每一个输入光谱对应的丰度向量。
在本发明的一些实施例中,所述网络块的设计,进一步包括:
卷积层的设计采用重叠的策略,即卷积核移动的步长小于卷积核大小,卷积层的计算公式为:
N为批大小,
非线性激活层采用线性修正单元,非线性激活层的计算公式为:
x为线性修正单元层的输入,即线性修正单元层的上一层卷积层的输出,if表示判断;
批归一化层位于线性修正单元层之后,用于加速网络的训练,批归一化层计算公式为:
其中,E[x]为批数据的均值,Var[x]为批数据的方差,γ和β是大小为通道数目的可学习参数,γ的默认值为1,β的默认值为0,x为批归一化层的输入,∈表示接近0的数;
基于卷积层、非线性激活层和批归一化层,计算所述网络快,其中所述网络块的计算公式为:
B
x表示每一个网络块的输入,B
在本发明的一些实施例中,所述以手工获得的端元光谱数据作光谱重构层的初始值,将降维后的光谱数据通过光谱重构层,得到重构的像元光谱中,
重构的像元光谱的计算公式为:
在本发明的一些实施例中,所述最小化重构的像元光谱与输入的光谱之间的误差,利用Adadelta算法更新网络参数中,当网络模型达到收敛状态时,从网络模型中获得混合像元分解结果。
在本发明的一些实施例中,所述当网络模型达到收敛状态时,从网络模型中获得混合像元分解结果,包括:
当
在本发明的一些实施例中,所述最小化重构的像元光谱与输入的光谱之间的误差,利用Adadelta算法更新网络参数,包括:
对于输入数据y,网络模型的输出
输入光谱y与输出光谱
arccos(·)用来计算两向量的余弦相似性;
采用Adadelta算法更新网络参数;
当
网络训练完成之后,光谱重构层的权重即为端元光谱的估计值;将高光谱影像中的像元光谱逐个输入网络模型中,降维的结果即为对应的丰度的估计值。
所述采用Adadelta算法更新网络参数进一步包括以下步骤:
t表示迭代的时间步,t>0;
g
随机梯度g
用Δx
时间步为0时,Δx
更新自变量:x
使用Δx
Δx
0<ρ<1,表示随机梯度的倒数g′
在本发明的一些实施例中,参照已有的端元信息,从原始数据中手工获得端元光谱数据;高光谱影像中的光谱逐个经过多个以卷积层、非线性激活层和批归一化层为基础网络单元的网络块,数据维数被降至与端元数目一致;降维后的光谱数据再通过光谱重构层,被还原重构至与输入时相同的维数;最小化重构的像元光谱与输入的光谱之间的误差,利用Adadelta算法来更新网络参数,当网络模型达到收敛状态时,从网络模型中获得最终的混合像元分解结果。
在本发明的一些实施例中,所述参照已有的端元信息,从原始数据中手工获得端元光谱数据的步骤包括以下步骤:依据数据集的真实标签,确定该高光谱影像的端元数目n;对于每种端元i,从原始数据中获取该端元丰度值为1的像元的光谱m
在本发明的一些实施例中,所述高光谱影像中的光谱逐个经过多个以卷积层、非线性激活层和批归一化层为基础网络单元的网络块,数据维数被降至与端元数目一致的步骤包括以下步骤:
每个网络块主要包括三层网络结构:卷积层、非线性激活层和批归一化层,每个网络块的不同之处在于其卷积层的参数需要随着网络块输入输出特征的维度变化而变化;
每个输入的像元光谱经过多个网络块的处理之后,通过一个全连接层,将所有特征连接起来,降维至与端元数目相同,完成特征提取任务,其计算方式如下:
Linear(x)=wx+b,其中,
W为此全连接层的权重,采用随机初始化的方式;
全连接层之后通过一个Softmax层,对全连接层的输出进行归一化计算,其计算方式如下:
R为端元数目,h为Softmax的输入,Softmax层的输出在满足非负性的同时也满足和为一约束,当模型收敛时,用来实现对丰度的估计;
由输入数据y降维至与端元数目一致的过程计算方式如下:
a=Softmax(Linear(B(y))),其中,
B(·)来表示连续多个网络块的计算过程。
在本发明的一些实施例中,卷积层的设计采用重叠(overlap)的策略,即卷积核移动的步长小于卷积核大小,在实现深层特征提取的同时,兼顾数据降维,减少特征的丢失。
在本发明的一些实施例中,所述降维后的光谱数据再通过光谱重构层,被还原重构至与输入时相同的维数的步骤包括以下步骤:此深度网络的光谱重构层由一个线性的全连接层实现,其计算方式如下:
y=Wa+n,其中,
W表示该全连接层的权重,其初始值为端元光谱字典M,n为全连接层的偏置值,与光谱重构过程中的随机噪声对应,通过光谱重构层的学习将和实际的光谱越来越接近。
通过手工选取端元光谱,获得更为准确的端元初始值,加速模型收敛,获得更为精确的丰度值;通过利用较深的深度学习网络模型,提取更深层次的特征信息,学习像元光谱内在的相关性;通过使用全连接层将数据与线性混合模型结合,并通过初始化网络参数来加速模型收敛,提升分解精度;通过余弦相似度来度量输入输出数据的相似性,获得更高的计算效率和精度。
尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
机译: 使用深受基于深度学习的概率生成模型的无监督,半监督和监督学习
机译: RNA-一种基于深度学习的系统,用于通过深度学习评估RNA引导的核酸酶活性
机译: RNA-一种基于深度学习的系统,用于通过深度学习评估RNA引导的核酸酶活性