1.一种基于神经网络及宽带滤波调制的分光方法,包括如下步骤:(1)设计一组n A 个作用于n λ 个波段的光谱透过率不同的调制片,并将其制作成滤镜,将这些滤镜安装在n A 个相应的探测器上,组成探测器阵列;(2)用探测器阵列分别探测m个已知入射光源,得到m个光谱经过各个滤镜调制后的数据矩阵 并将m个已知入射光源光谱向量I (1) ,I (2) ,...,I (m) 按照与滤镜调制后的数据矩阵 相同的顺序排列成光谱矩阵 (3)对滤镜调制后的数据矩阵 进行归一化预处理,得到预处理后的数据矩阵F;(4)将预处理后的数据矩阵F作为训练的输入数据和将光谱矩阵 作为训练标签,共同传入神经网络进行有监督训练,得到训练好的模型;(5)用探测器阵列探测未知光源,得到未知光源经n A 个滤镜调制后的探测数据 并对 进行归一化预处理,得到预处理后的未知光源探测数据向量F test ,再将预处理后的未知光源探测数据向量F test 传入到训练好的模型,计算得到未知光源的光谱数据I test ,实现分光。
2.根据权利要求1所述的方法,其中(1)中设计一组n A 个作用于n λ 个波段的光谱透过率不同的调制片,并将其制作成滤镜,其实现如下:(1a)生成一个n λ 个谱段都为0的初始透过率向量A init ;(1b)生成3到12范围内的随机数p作为高斯峰的个数,生成p个2到22范围内的随机数σ 1 ,σ 2 ,...,σ p ,并在应用的波段中采用随机抽取不放回的方式生成p个位置;(1c)在初始透过率向量A init 的p个位置上分别加上标准差为随机数σ 1 ,σ 2 ,...,σ p 的高斯峰,得到处理后的透过率向量A,将其线性缩放到0.1到1之间,得到第一个设计好的调制片透过率向量a (1) ;(1d)重复(1a)到(1c)操作,生成n A 个设计好的调制片的透过率向量 (1e)应用微纳结构技术,依照n A 个设计好的调制片的透过率向量 制作n A 个滤镜。
3.根据权利要求1所述的方法,其中(2)中用探测器阵列分别探测m个已知入射光源,得到m个光谱经过各个滤镜调制后的数据矩阵 其实现如下:(2a)第i个已知光源的光谱数据经探测器阵列中n A 个滤镜分别调制,得到第i个光源光谱数据I (i) 经n A 个滤镜调制后的探测数据 其中i=1,2,...,m;(2b)将第i个已知光源光谱经过n A 个滤镜调制后的探测数据 组成第i个光谱经探测器阵列调制后的探测数据向量 (2c)将m个光谱经探测器矩阵调制的探测数据向量F (1) ,F (2) ,...,F (m) ,按如下公式排列,得到m个光谱经过各个滤镜调制后的数据矩阵
4.根据权利要求1所述的方法,其中(3)中对滤镜调制后的数据矩阵 进行归一化预处理,得到预处理后的数据矩阵F,按如下步骤进行:(3a)将n λ 个波段光谱数据全为1的光谱I 1 经n A 个滤镜调制,得到I 1 经n A 个滤镜调制的探测数据 (3b)按如下公式,对滤镜调制后的数据矩阵 进行最大最小值归一化处理,得到预处理后的数据矩阵F:其中,j=1,2,...,n A , 为滤镜调制后的数据矩阵 中的第j列。
5.根据权利要求1所述的方法,其中所述步骤(4)按如下步骤进行:(4a)按如下公式建立一个由隐藏层和输出层两层结构的神经网络模型:H=tanh(X·W (1) +b (1) ),I p =H·W (2) +b (2) ,其中,H表示隐藏层的输出结果,X表示神经网络接收的训练的输入数据,I p 表示经神经网络计算的输出数据;W (1) 为输入与隐藏层之间的权重矩阵,其维度为n A ×N,N为隐藏层的神经元个数;W (2) 为隐藏层与输出层之间的权重矩阵,其维度为N×n λ ;b (1) 为隐藏层的偏置值,b (2) 为输出层的偏置值,tanh(·)为双曲正切函数;(4b)用截断的正太分布随机初始化(4a)中的两个权重矩阵W (1) 、W (2) 和两个偏置值b (1) 、b (2) ;(4c)用预处理后的数据矩阵F作为训练的输入数据,输入到(4a)构建的神经网络模型的X中,得到经神经网络计算的输出数据I p ;(4d)用传入的光谱矩阵 按如下公式,计算代价函数J:其中,i=1,2,...,m, 表示经神经网络计算的输出数据I p 的第i行, 表示传入的光谱矩阵 的第i行,||·|| 2 表示2范数;(4e)使用学习率为0.001的Adam优化算法对代价函数J进行最小化优化,以更新两个权重矩阵W (1) 、W (2) 和两个偏置值b (1) 和b (2) ;(4f)重复(4c)到(4e)操作,直至代价函数J小于0.002,得到输入与隐藏层之间训练好的权重矩阵θ (1) 、隐藏层与输出层之间训练好的权重矩阵θ (2) 、隐藏层训练好的偏置值B (1) 和输出层训练好的偏置值B (2) ;(4g)用训练好的权重矩阵θ (1) 、θ (2) 分别替换神经网络模型中的W (1) 、W (2) ,用训练好的偏置值B (1) 、B (2) 替换神经网络模型中的b (1) 、b (2) ,得到如下训练好的神经网络模型:L=tanh(Y·θ (1) +B (1) ),I=L·θ (2) +B (2) ,其中,L表示训练好的神经网络模型中隐藏层的输出结果,Y表示训练好的神经网络模型接收的输入数据,I表示接收的输入数据Y经训练好的神经网络模型计算的输出结果。
6.根据权利要求1所述的方法,所述步骤(5)得到预处理后的未知光源探测数据向量F test ,表示如下:其中, 为未知光源经n A 个滤镜调制后的数据, 为I 1 经n A 个滤镜调制后的探测数据。