主权项 |
基于神经网络的高光谱图像重构方法,包括:(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>>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)任给一幅新的彩色图像,输入到训练好的神经网络模型中,神经网络的输出即为重构的高光谱图像。 |