发明名称 基于神经网络的高光谱图像重构方法
摘要 本发明公开了一种基于神经网络的高光谱图像重构方法,主要解决现有技术重构的高光谱图像稳定性和精度不高的问题。其技术关键是利用神经网络训练拟合彩色图像和高光谱图像之间的非线性映射关系,包括:1)获取高光谱图像集和彩色图像集作为神经网络的训练样本;2)构建神经网络模型并利用训练样本训练神经网络的参数;3)将任给的一幅新彩色图像作为测试样本,输入到训练好的神经网络模型中,神经网络的输出结果即为重构的高光谱图像。本发明降低了高光谱图像重构的计算复杂度,提高了重构高光谱图像的稳定性和精度,可用于光谱检测、地质勘测、环境监测和农业遥感。
申请公布号 CN106485688A 申请公布日期 2017.03.08
申请号 CN201610846083.5 申请日期 2016.09.23
申请人 西安电子科技大学 发明人 董伟生;楼佳珍;石光明;袁明;谢雪梅
分类号 G06T5/50(2006.01)I 主分类号 G06T5/50(2006.01)I
代理机构 陕西电子工业专利中心 61205 代理人 王品华
主权项 基于神经网络的高光谱图像重构方法,包括:(1)对于给定包含N幅高光谱图像的哥伦比亚自动化视觉实验室公开的高光谱图像集<img file="FDA0001119529560000011.GIF" wi="587" he="62" />利用彩色图像变换矩阵F,将高光谱图像集<img file="FDA0001119529560000012.GIF" wi="54" he="47" />转换为彩色图像集<img file="FDA0001119529560000013.GIF" wi="505" he="63" />其中,<img file="FDA0001119529560000014.GIF" wi="219" he="63" />表示第i幅高光谱图像,<img file="FDA0001119529560000015.GIF" wi="198" he="71" />表示第i幅彩色图像,1≤i≤N,N表示高光谱图像集中高光谱图像的数量,M<sub>h</sub>表示高光谱图像的谱段数,M<sub>c</sub>表示彩色图像的谱段数,M<sub>c</sub>=3,且M<sub>h</sub>&gt;M<sub>c</sub>,L表示高光谱图像每个谱段的像素个数;(2)构建神经网络模型,并利用高光谱图像集和彩色图像集训练神经网络参数:(2a)确定神经网络输入层节点数、输出层节点数、隐藏层数和隐藏层节点数量,随机初始化各层连接权值W<sup>(t)</sup>和偏置b<sup>(t)</sup>,给定学习速率η,激活函数采用Sigmoid函数:<img file="FDA0001119529560000016.GIF" wi="300" he="115" />其中,z表示神经网络节点的输入值,t=1,2,…,n‑1,n表示神经网络的总层数;(2b)随机输入彩色图像集中的一个彩色图像y<sub>i</sub>作为输入训练样本,同时输入对应的高光谱图像集中的一个高光谱图像x<sub>i</sub>作为输出训练样本,使用前向传播方法计算神经网络每一层的激活值,计算得到:第1层即输入层的激活值为:a<sup>(1)</sup>=y<sub>i</sub>,第t'=2,3,…,n层的激活值为:a<sup>(t')</sup>=f(W<sup>(t'‑1)</sup>a<sup>(t'‑1)</sup>+b<sup>(t'‑1)</sup>),其中,f(·)表示Sigmoid激活函数,W<sup>(t'‑1)</sup>和b<sup>(t'‑1)</sup>分别表示第t'‑1层的权值和偏置,a<sup>(t'‑1)</sup>表示第t'‑1层的激活值;(2c)计算神经网络各层的学习误差:输出层即第n层的误差为:δ<sup>(n)</sup>=x<sub>i</sub>‑a<sup>(n)</sup>,第t”=n‑1,n‑2,…,2层的误差为:δ<sup>(t”)</sup>=((W<sup>(t”)</sup>)<sup>T</sup>δ<sup>(t”+1)</sup>).*f'(W<sup>(t”‑1)</sup>a<sup>(t”‑1)</sup>+b<sup>(t”‑1)</sup>),其中,W<sup>(t”)</sup>表示第t”层的权值,W<sup>(t”‑1)</sup>和b<sup>(t”‑1)</sup>分别表示第t”‑1层的权值和偏置,a<sup>(t”‑1)</sup>表示第t”‑1层的激活值,f'(·)表示函数f(·)的导数,(·)<sup>T</sup>表示转置变换;(2d)按误差梯度下降方法更新神经网络各层的权值和偏置:将权值更新为W<sup>(t)</sup>=W<sup>(t)</sup>‑ηδ<sup>(t+1)</sup>(a<sup>(t)</sup>)<sup>T</sup>,将偏置更新为b<sup>(t)</sup>=b<sup>(t)</sup>‑ηδ<sup>(t+1)</sup>,其中,δ<sup>(t+1)</sup>表示第t+1层的误差,a<sup>(t)</sup>表示第t层的激活值;(2e)反复执行步骤(2b)‑(2d),直到神经网络的输出层误差达到预设精度要求或训练次数达到最大迭代次数,结束训练,保存网络结构和参数,得到训练好的神经网络模型;(3)任给一幅新的彩色图像,输入到训练好的神经网络模型中,神经网络的输出即为重构的高光谱图像。
地址 710071 陕西省西安市雁塔区太白南路2号