基于神经网络的高光谱图像重构方法技术

技术编号:14771563 阅读:249 留言:0更新日期:2017-03-08 15:06
本发明专利技术公开了一种基于神经网络的高光谱图像重构方法,主要解决现有技术重构的高光谱图像稳定性和精度不高的问题。其技术关键是利用神经网络训练拟合彩色图像和高光谱图像之间的非线性映射关系,包括:1)获取高光谱图像集和彩色图像集作为神经网络的训练样本;2)构建神经网络模型并利用训练样本训练神经网络的参数;3)将任给的一幅新彩色图像作为测试样本,输入到训练好的神经网络模型中,神经网络的输出结果即为重构的高光谱图像。本发明专利技术降低了高光谱图像重构的计算复杂度,提高了重构高光谱图像的稳定性和精度,可用于光谱检测、地质勘测、环境监测和农业遥感。

【技术实现步骤摘要】

本专利技术涉及图像处理
,具体涉及一种高光谱图像的重构方法,可用于光谱检测、地质勘测、环境监测和农业遥感。
技术介绍
高光谱图像不但包含了被观测目标的空间信息,而且图像中的每个像素都有几十个甚至数百个窄波段的丰富光谱信息,具备“图谱合一”的性质。由于高光谱图像可以把反映物质性质的光谱特性和呈现物质几何空间信息的图像信息维系在一起,因此极大地提高了人类认知客观世界的能力,在遥感、军事、农业、医学、生物化学等领域都被证明有着巨大的应用价值。利用高光谱成像设备获取精密的高光谱图像成本很高,而且受到传感器和光学器件制造工艺的限制,为了提高成像图像的光谱分辨率,通常需要以牺牲光谱图像的空间分辨率和时间分辨率为代价,这显然难以满足科学研究和大规模实际应用的需求。所以利用信号处理技术从多光谱图像或彩色图像中重建出高光谱图像成为高光谱图像获取的一个重要途径。AdamS.Charles等人在“SpectralSuperresolutionofHyperspectralImageryUsingReweightedL1SpatialFiltering,2014”中提出了一种采用稀疏表示的方法从多光谱图像中重构高光谱图像的算法。该光谱重建问题是一个病态逆问题,其利用光谱的稀疏性并结合图像的空间信息来重建高光谱图像,但是由于没有充分利用光谱图像中存在的较强的局部和非局部的空间结构相似性,使得重建的高光谱图像稳定性和精度难以满足科学研究和大规模实际应用的要求。
技术实现思路
本专利技术的目的在于针对上述现有技术的不足,提出一种基于神经网络的高光谱图像重构方法,以提高重建高光谱图像的稳定性和精度,满足大规模实际应用的要求。本专利技术的技术方案是这样实现的:将彩色图像和高光谱图像分别作为神经网络的输入训练样本和输出训练样本,通过神经网络训练拟合彩色图像和高光谱图像之间的非线性映射关系,并以这种关系为指导进行测试样本的光谱维超分辨率重构,从而达到利用神经网络进行高光谱图像重建的目的,其具体步骤包括如下:(1)对于给定包含N幅高光谱图像的哥伦比亚自动化视觉实验室公开的高光谱图像集利用彩色图像变换矩阵F,将高光谱图像集转换为彩色图像集其中,表示第i幅高光谱图像,表示第i幅彩色图像,1≤i≤N,N表示高光谱图像集中高光谱图像的数量,Mh表示高光谱图像的谱段数,Mc表示彩色图像的谱段数,Mc=3,且Mh>Mc,L表示高光谱图像每个谱段的像素个数;(2)构建神经网络模型,并利用高光谱图像集和彩色图像集训练神经网络参数:(2a)确定神经网络输入层节点数、输出层节点数、隐藏层数和隐藏层节点数量,随机初始化各层连接权值W(t)和偏置b(t),给定学习速率η,激活函数采用Sigmoid函数:其中,z表示神经网络节点的输入值,t=1,2,…,n-1,n表示神经网络的总层数;(2b)随机输入彩色图像集中的一个彩色图像yi作为输入训练样本,同时输入对应的高光谱图像集中的一个高光谱图像xi作为输出训练样本,使用前向传播方法计算神经网络每一层的激活值,计算得到:第1层即输入层的激活值为:a(1)=yi,第t'=2,3,…,n层的激活值为:a(t')=f(W(t'-1)a(t'-1)+b(t'-1)),其中,f(·)表示Sigmoid激活函数,W(t'-1)和b(t'-1)分别表示第t'-1层的权值和偏置,a(t'-1)表示第t'-1层的激活值;(2c)计算神经网络各层的学习误差:输出层即第n层的误差为:δ(n)=xi-a(n),第t”=n-1,n-2,…,2层的误差为:δ(t”)=((W(t”))Tδ(t”+1)).*f'(W(t”-1)a(t”-1)+b(t”-1)),其中,W(t”)表示第t”层的权值,W(t”-1)和b(t”-1)分别表示第t”-1层的权值和偏置,a(t”-1)表示第t”-1层的激活值,f'(·)表示函数f(·)的导数,(·)T表示转置变换;(2d)按误差梯度下降方法更新神经网络各层的权值和偏置:将权值更新为W(t)=W(t)-ηδ(t+1)(a(t))T,将偏置更新为b(t)=b(t)-ηδ(t+1),其中,δ(t+1)表示第t+1层的误差,a(t)表示第t层的激活值;(2e)反复执行步骤(2b)-(2d),直到神经网络的输出层误差达到预设精度要求或训练次数达到最大迭代次数,结束训练,保存网络结构和参数,得到训练好的神经网络模型;(3)任给一幅新的彩色图像,输入到训练好的神经网络模型中,神经网络的输出即为重构的高光谱图像。本专利技术与现有技术相比,具有以下优点:1)本专利技术由于利用神经网络进行高光谱图像的光谱重构,相比现有技术降低了计算复杂度,提高了高光谱图像重构的稳定性;2)本专利技术所设计的神经网络模型,由于充分考虑了人眼感知外界场景的分层机制,提高了高光谱图像重构的精度。附图说明图1为本专利技术的实现流程图;图2为本专利技术构建的神经网络结构图;图3为本专利技术仿真实验所用的flowers彩色图像;图4为用现有的加权一范数方法RWL1-SF以及本专利技术方法对flowers彩色图像的光谱恢复结果。具体实施方式以下结合附图对本专利技术的实施例和效果做进一步详细描述。参照图1,本专利技术基于神经网络的高光谱图像重构方法,其实现步骤如下:步骤1,获取高光谱图像集和彩色图像集(1a)将包含32幅高光谱图像的哥伦比亚自动化视觉实验室公开的高光谱图像集作为本专利技术实施例中的高光谱图像集其中,表示第i幅高光谱图像,1≤i≤32,Mh表示高光谱图像的谱段数,Mh=31,L表示高光谱图像每个谱段的像素个数,L=512×512;(1b)利用彩色图像变换矩阵F,将高光谱图像集转换为彩色图像集其中,表示第i幅彩色图像,Mc表示彩色图像的谱段数,Mc=3,转化公式为:Yi=FXi其中,步骤2,构建神经网络模型,并利用高光谱图像集和彩色图像集训练神经网络参数。本步骤的具体实现如下:(2a)初始化神经网络参数:(2a1)将彩色图像集中的彩色图像作为输入训练样本,将高光谱图像集中的高光谱图像作为输出训练样本;(2a2)确定输入层节点数:神经网络的输入层节点数是根据输入训练样本的谱段数来确定的,本实施例中,输入层节点数等于彩色图像的谱段数Mc,即输入层节点数为3;(2a3)确定输出层节点数:神经网络的输出层节点数是根据输出训练样本的谱段数来确定的,本实施例中,输出层节点数等于高光谱图像的谱段数Mh,即输出层节点数为31;(2a4)确定隐藏层数和隐藏层节点数:神经网络的隐藏层数和隐藏层节点数决定了神经网络的规模,在保证能够解决问题的前提下,神经网络的规模应力求简单,本实施例中,神经网络的隐藏层数直接确定为2层,隐藏层节点数采用逐步增长法通过实验调节确定为200个;(2a5)随机初始化各层连接权值W(t)和偏置b(t),t=1,2,3;(2a6)给定学习速率η=0.1;(2a7)激活函数采用Sigmoid函数:其中,z表示神经网络节点的包括偏置在内的输入加权和;(2b)随机输入一个输入训练样本yi,使用前向传播方法计算神经网络每一层的激活值,计算得到:第1层即输入层的激活值为:a(1)=yi,第t'=2,3,4层的激活值为:a(t')=f(W(t'-1)a(t'-1)+b(t'-1)),其中,本文档来自技高网...
基于神经网络的高光谱图像重构方法

【技术保护点】
基于神经网络的高光谱图像重构方法,包括:(1)对于给定包含N幅高光谱图像的哥伦比亚自动化视觉实验室公开的高光谱图像集利用彩色图像变换矩阵F,将高光谱图像集转换为彩色图像集其中,表示第i幅高光谱图像,表示第i幅彩色图像,1≤i≤N,N表示高光谱图像集中高光谱图像的数量,Mh表示高光谱图像的谱段数,Mc表示彩色图像的谱段数,Mc=3,且Mh>Mc,L表示高光谱图像每个谱段的像素个数;(2)构建神经网络模型,并利用高光谱图像集和彩色图像集训练神经网络参数:(2a)确定神经网络输入层节点数、输出层节点数、隐藏层数和隐藏层节点数量,随机初始化各层连接权值W(t)和偏置b(t),给定学习速率η,激活函数采用Sigmoid函数:其中,z表示神经网络节点的输入值,t=1,2,…,n‑1,n表示神经网络的总层数;(2b)随机输入彩色图像集中的一个彩色图像yi作为输入训练样本,同时输入对应的高光谱图像集中的一个高光谱图像xi作为输出训练样本,使用前向传播方法计算神经网络每一层的激活值,计算得到:第1层即输入层的激活值为:a(1)=yi,第t'=2,3,…,n层的激活值为:a(t')=f(W(t'‑1)a(t'‑1)+b(t'‑1)),其中,f(·)表示Sigmoid激活函数,W(t'‑1)和b(t'‑1)分别表示第t'‑1层的权值和偏置,a(t'‑1)表示第t'‑1层的激活值;(2c)计算神经网络各层的学习误差:输出层即第n层的误差为:δ(n)=xi‑a(n),第t”=n‑1,n‑2,…,2层的误差为:δ(t”)=((W(t”))Tδ(t”+1)).*f'(W(t”‑1)a(t”‑1)+b(t”‑1)),其中,W(t”)表示第t”层的权值,W(t”‑1)和b(t”‑1)分别表示第t”‑1层的权值和偏置,a(t”‑1)表示第t”‑1层的激活值,f'(·)表示函数f(·)的导数,(·)T表示转置变换;(2d)按误差梯度下降方法更新神经网络各层的权值和偏置:将权值更新为W(t)=W(t)‑ηδ(t+1)(a(t))T,将偏置更新为b(t)=b(t)‑ηδ(t+1),其中,δ(t+1)表示第t+1层的误差,a(t)表示第t层的激活值;(2e)反复执行步骤(2b)‑(2d),直到神经网络的输出层误差达到预设精度要求或训练次数达到最大迭代次数,结束训练,保存网络结构和参数,得到训练好的神经网络模型;(3)任给一幅新的彩色图像,输入到训练好的神经网络模型中,神经网络的输出即为重构的高光谱图像。...

【技术特征摘要】
1.基于神经网络的高光谱图像重构方法,包括:(1)对于给定包含N幅高光谱图像的哥伦比亚自动化视觉实验室公开的高光谱图像集利用彩色图像变换矩阵F,将高光谱图像集转换为彩色图像集其中,表示第i幅高光谱图像,表示第i幅彩色图像,1≤i≤N,N表示高光谱图像集中高光谱图像的数量,Mh表示高光谱图像的谱段数,Mc表示彩色图像的谱段数,Mc=3,且Mh>Mc,L表示高光谱图像每个谱段的像素个数;(2)构建神经网络模型,并利用高光谱图像集和彩色图像集训练神经网络参数:(2a)确定神经网络输入层节点数、输出层节点数、隐藏层数和隐藏层节点数量,随机初始化各层连接权值W(t)和偏置b(t),给定学习速率η,激活函数采用Sigmoid函数:其中,z表示神经网络节点的输入值,t=1,2,…,n-1,n表示神经网络的总层数;(2b)随机输入彩色图像集中的一个彩色图像yi作为输入训练样本,同时输入对应的高光谱图像集中的一个高光谱图像xi作为输出训练样本,使用前向传播方法计算神经网络每一层的激活值,计算得到:第1层即输入层的激活值为:a(1)=yi,第t'=2,3,…,n层的激活值为:a(t')=f(W(t'-1)a(t'-1)+b(t'-1)),其中,f(·)表示Sigmoid激活函数,W(t'-1)和b(t'-1)分别表示第t'-1层的权值和偏置,a(t'-1)表示第t'-1层的激活值;(2c)计算神经网络各层的学习误差:输出层即第n层的误差为:δ(n)=xi-a(n),第t”=n-1,n-2,…,2层的误差为:δ(t”)=((W(t”))Tδ(t”+1)).*f'(W(t”-1)a(t”-1)+b(t”...

【专利技术属性】
技术研发人员:董伟生楼佳珍石光明袁明谢雪梅
申请(专利权)人:西安电子科技大学
类型:发明
国别省市:陕西;61

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1