一种用于多传感器的融合方法及系统与流程

文档序号:16883269发布日期:2019-02-15 22:23阅读:162来源:国知局
一种用于多传感器的融合方法及系统与流程
本发明属于传感器领域,具体涉及一种用于多传感器的融合方法及系统。
背景技术
:由于多传感器系统具有较高的精度和可靠性,其在农业、工业、军事等方面都有十分广泛的应用。但多传感器测量系统具有固有的不确定性,这种不确定性一是来自传感器本身精度的影响和测量的不精确和噪声,二是各个传感器的不一致性,当被测量处于一个相对封闭的环境中时,各待测量之间存在着内在的相互联系和交叉干扰。在实际应用中,多传感器系统的测量准确性会受到自身精度、环境噪声、传输误差、计算误差等的影响,从而降低了系统的可靠性和可信度。技术实现要素:为了解决现有技术存在的可靠性和可信度差的问题,本发明提供了一种用于多传感器的融合方法及系统,其具有可靠性和准确性更高等特点。本发明的目的是提供一种可靠性和准确度更高的用于多传感器系统的融合方法和系统。根据本发明的具体实施方式的一种用于多传感器的融合方法,包括:对单个传感器测量得到的多个数据进行像素级融合,得到该传感器的最优估计值;对得到的各传感器的最优估计值进行特征级融合,以消除各个传感器数据间的交叉干扰。进一步的,所述像素级融合过程包括:利用模糊集理论和容许函数剔除误差较大的数据;将剩余数据分组,进行分批估计得到该传感器的最优估计值。进一步的,所述误差较大数据的剔除过程包括:单个传感器得到的测量数据为x1、x2、…、xn,其中xi=(xix,xiy),xj=(xjx,xjy),定义容许函数为:r(xi,xj)=2arccotdij/π,其中则阈值函数为:其中,ε为允许的测量的最大距离,a(xi,xj)为1时表示采集的数据在误差容许的范围内予以保留,为0时表示误差较大剔除该数据。进一步的,所述分批估计的过程包括:将剔除较大误差的数据分组,进行分批估计:将单个传感器采集的n个数据平均分为三组,其中第i组为xi1、xi2、i=1,2,3,则三组平均值为:则三组的方差分别为该传感器的最优估计值为:进一步的,所述特征级融合基于自适应学习速率法改进的误差反向传播算法的多层前馈神经网络进行,其中:连接权值为:δkjh(m)=α(m)δh(m)yj;连接阈值为:δθh(m)=α(m)δh(m);其中,α(m)=γα(m-1),其中当mse(m)为其他值时γ=1,m表示第m次修正,α(m)为第m次修正的比例系数,δh(m)为输出层的调整误差,yj为中间层的输出。进一步的,γ通过对相邻两次误差的判断,选择对学习速率的调整,当后一次的误差小于前一次,则说明两次修正使系统输出逐步向期望值靠近,适当地增大学习速率加快算法收敛速度;当后一次修正的误差大于前一次,则说明修正值过大,则相应地减小学习速率。进一步的,所述神经网络的学习过程包括:计算所述神经网络的输出误差;计算输出层修正值;根据所述输出层修正值,重新计算输出误差;计算中间层修正值;根据所述中间层修正值,重新计算输出误差;检验输出误差是否已符合设定的误差要求;若误差已符合要求,保存权值,结束学习;若不符合要求,与前一次的最终输出误差进行比较,调整学习速率,重新计算输出误差。根据本发明的具体实施方式的一种用于多传感器的融合系统,包括:像素级融合模块,所述像素级融合模块用于对单个传感器测量得到的多个数据进行像素级融合,得到该传感器的最优估计值;以及特征级融合模块,所述特征级融合模块对得到的各传感器的最优估计值进行特征级融合,以消除各个传感器数据间的交叉干扰。进一步的,所述像素级融合模块基于模糊集理论和容许函数剔除误差较大的数据;并将剩余数据分组,进行分批估计得到该传感器的最优估计值。进一步的,所述特征级融合模块基于自适应学习速率法改进的误差反向传播算法的多层前馈神经网络消除各传感器的最优估计值间的交叉干扰。本发明的有益效果为:通过象素级融合采用多传感器冗余设计,得到单个传感器的最优输出值,改善传感器的测量中存在的可靠性、准确性、重复性不够高的问题,并结合特征级融合,消除生化量之间的交叉干扰,提高系统输出数据的准确性和可靠性。附图说明为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1是根据一示例性实施例提供的用于多传感器的融合方法的流程图;图2是根据一示例性实施例提供的多传感器数据融合模型示意图;图3是根据一示例性实施例提供的mfnn-bp神经网络算法的模型示意图;图4是根据一示例性实施例提供的mfnn-bp神经网络学习程序流程图;图5是根据一示例性实施例提供的matlab程序中构建的神经网络模型示意图;图6是根据一示例性实施例提供的用于多传感器的融合系统的结构示意图。附图标记1-像素级融合模块;2-特征级融合模块。具体实施方式为使本发明的目的、技术方案和优点更加清楚,下面将对本发明的技术方案进行详细的描述。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所得到的所有其它实施方式,都属于本发明所保护的范围。参照图1所示,本发明的实施例提供了一种用于多传感器的融合方法,包括以下步骤:101、对单个传感器测量得到的多个数据进行像素级融合,得到该传感器的最优估计值;102、对得到的各传感器的最优估计值进行特征级融合,以消除各个传感器数据间的交叉干扰。在本发明的一具体实施例中,多传感器数据融合技术可以提高多传感器系统的准确性和容错性能,来自多个传感器的数据具有冗余性和互补性,在数据处理中可以相互补充、相互印证,提高测量结果的准确性和可靠性,使系统具有良好的容错性能,在部分传感器故障的情况下也能正常运行。并且,由于多传感器数据融合对多个传感器的数据处理是并行的,所以使用数据融合技术可以减少获取信息所需的时间,以更少的时间、更少的成本获得更加准确、完备的系统信息,通过象素级融合可以为特征级融合提供更加准确可靠的待处理数据,而特征级融合可以对象素级融合的缺点与不足进行补偿。参照图2所示,在本发明的一具体实施例中,采用光寻址检测对多生化量进行测量,通过对多个传感器对多个待测量测量所得的数据的分析和处理,克服传感器本身精度、噪声干扰以及待测生化量之间的交叉干扰等问题,得到对待测量更加精确和完整的描述。在本发明的一具体实施例中,像素级融合过程包括:利用模糊集理论和容许函数剔除误差较大的数据;将剩余数据分组,进行分批估计得到该传感器的最优估计值。其中,误差较大数据的剔除过程包括:单个传感器得到的测量数据为x1、x2、…、xn,令xi=(xix,xiy),xj=(xjx,xjy),定义容许函数为:r(xi,xj)=2arccotdij/π,其中表示采集点值xi和xj间的距离,则阈值函数为:其中,ε为xi和xj允许的测量的最大距离,a(xi,xj)为1时表示采集的数据在误差容许的范围内予以保留,为0时表示误差较大剔除该数据。分批估计的过程包括:将剔除较大误差的数据分组,进行分批估计:将单个传感器采集的n个数据平均分为三组,其中第i组为xi1、xi2、i=1,2,3,则三组平均值为:则三组的方差分别为该传感器的最优估计值为:作为上述实施例的一种可行的实现方式,相对于物理量传感器而言,目前所有生化量传感器的测量都存在着可靠性、准确性、重复性还不够高的问题,这一方面是由于生化量传感器自身的工作机理、制作工艺方面的限制,另一方面是由于生化量传感器的测试对象复杂、工作环境恶劣所致。为提高生化量的测量精度,采用多传感器冗余设计,可以为象素级融合提供大量的丰富的原始数据资源。在象素级融合中,输入数据为三个传感器测量得到的三个待测生化量的三组数据,按照待测量的不同分别进行象素级融合。首先利用模糊集理论和容许函数剔除误差较大的数据,设一个传感器得到的测量数据为x1、x2、…、xn,其中xi=(xix,xiy),xj=(xjx,xjy),定义容许函数为:r(xi,xj)=2arccotdij/π,其中则阈值函数为:其中,ε为允许的测量的最大距离,与测量精度有关,a(xi,xj)为1时表示采集的数据在误差容许的范围内予以保留,为0时表示误差较大剔除该数据。数据预处理后,将数据分组,进行分批估计。将一个传感器采集的n个数据平均分为三组,其中第i组为xi1、xi2、i=1,2,3,则三组平均值为:则三组的方差分别为该传感器的最优估计值为:利用容许函数和分批估计算法进行象素级融合,可以剔除单个传感器自身精度不足和环境影响造成的大误差的数据,并由单个传感器测量得到的多个数据进行数据融合得到该单传感器的最优估计值,进入下一层的特征级数据融合,为特征级数据融合提供更为精确可靠的数据。在本发明的一具体实施例中,特征级融合基于自适应学习速率法改进的误差反向传播算法的多层前馈神经网络进行,多层前馈神经网络(multi-layerfeedforwardneuralnetworks,mfnn),是目前众多的神经网络结构中最成熟、应用也最广泛的一种。多层前馈神经网络具有一个输入层、一个输出层和一个或多个的中间层,每层具有一个或多个神经元。在多层前馈神经网络中,输入信号经过输入层传递到中间层,经过传递函数作用后,将中间层输出传递向输出层,最后得到输出结果。相同层神经元间没有连接,各相邻层的神经元之间以连接权相互全连接,神经网络的学习训练过程,就是这些连接权的权值的调整过程。多层前馈神经网络的学习算法最常用,也是最基本的是误差反向传播算法(back-propagationalgorithm,bp算法)。bp算法在输出层计算输出误差,并根据输出误差调整各层神经元的连接权值以及阈值,使输出逐步接近期望输出值。参照图3所示的mfnn-bp模型,在mfnn-bp神经网络算法中,计算过程有两个阶段。第一阶段是从输入层开始,根据神经元的输入输出特性和传递函数,逐层计算输入和输出,直到输出层为止,这一阶段为网络的信息前向传输阶段。第二阶段被称为误差反向传播阶段,是从输出层开始,计算各层输出的输出误差,根据输出误差,按照误差梯度下降原则,调整各层的连接权值和各神经元的阈值,使最终输出值逐步接近期望输出值。mfnn-bp算法需要不断重复上述两个阶段的计算过程,直到将连接权值和阈值调整到合适值,使神经网络的最终输出的输出误差达到允许范围为止。mfnn-bp神经网络算法能有效实现输入数据到输出数据之间的非线性映射,实现数据融合以得到对整体的准确、统一的描述,而不必依靠寻找输入数据之间的方程关系。但标准的bp神经网络算法存在一些缺陷:易形成局部极小而得不到整体最优,迭代次数多,收敛速度慢。而自适应学习速率法通过检查对连接权值和阈值的调整是否真的降低了系统误差,自行对学习速率进行调整,自适应学习速率法会根据修正值是否真正降低系统误差调整学习速率,当修正值确实使系统误差降低时,会增大学习速率,反之则减小学习速率。作为上述实施例的一种可行的实现方式,光寻址检测对环境中的多个生化量进行同时测量,几种生化量之间会存在交叉影响,一方面的原因是其在生理学上的相互关联和相互影响,另一方面在于传感器本身敏感单元的固有选择性不理想。运用多传感器数据融合技术的意义就在于利用数据分析处理的手段来弥补传感器本身设计和工艺上的缺陷所造成的固有的不足。采用基于自适应学习速率发的改进的mfnn-bp神经网络算法,进行特征级数据融合,可以有效地消除生化量之间的交叉干扰,提高了系统输出数据的准确度和可靠性。其中连接权值为:δkjh(m)=α(m)δh(m)yj;连接阈值为:δθh(m)=α(m)δh(m);其中,α(m)=γα(m-1),其中当mse(m)为其他值时γ=1,m表示第m次修正,α(m)为第m次修正的比例系数,δh(m)为输出层的调整误差,yj为中间层的输出。其中,γ通过对相邻两次误差的判断,选择对学习速率的调整,当后一次的误差小于前一次,则说明两次修正使系统输出逐步向期望值靠近,适当地增大学习速率加快算法收敛速度;当后一次修正的误差大于前一次,则说明修正值过大,则相应地减小学习速率。参照图4所示,在本发明的一具体实施例中,神经网络的学习过程包括:计算所述神经网络的输出误差;计算输出层修正值;根据所述输出层修正值,重新计算输出误差;计算中间层修正值;根据所述中间层修正值,重新计算输出误差;检验输出误差是否已符合设定的误差要求;若误差已符合要求,保存权值,结束学习;若不符合要求,与前一次的最终输出误差进行比较,调整学习速率,重新计算输出误差。在本发明的一具体实施例中,利用matlab的神经网络工具箱对象素级融合的自适应学习速率mfnn-bp算法进行实现。在matlab中,可使用其神经网络工具箱中的训练函数traingda.m实现自适应学习速率的bp算法,其学习速率增加系数lr-inc为1.05,学习速率减少系数lr-dec为0.7,符合对学习速率调整系数的要求。首先需要录入学习样本,可将实验数据存储在excel表中,在matlab中使用xlsread函数来读取这些数据,为样本的输入变量和输出变量赋值,将其一部分作为训练用的样本,一部分作为训练结束后用于验证的测试数据。num=xlsread('sample.xlsx','train','b2:p4')%读取数据为训练样本的输入变量、输出变量,测试数据的输入值赋值。train_input=num(1:3,1:14);train_output=num(4,1:14);test_input=num(1:3,12:14);对数据进行归一化处理。[inputn,inputps]=mapminmax(train_input);[outputn,outputps]=mapminmax(train_output);构建网络,设置中间层和输出层节点数,将中间层、输出层传递函数设为logsig函数,训练函数选择traingda函数。net=newff(minmax(train_input),[10,1],{'logsig','logsig'},'traingda');设置网络参数,包括训练次数、初始学习速率和训练目标。net.trainparam,epochs=1000;net.trainparam.lr=0.01;net.trainparam,goal=1e-7;进行网络训练。net=train(net,inputn,outputn);将测试数据归一化,利用网络计算输出值,反归一化后得到最终结果。[test_inputn,test_inputps]=mapminmax(test_input);ans=sim(net,test_inputn);output=mapminmax('reverse',ans,outputps);具体实验数据如下表所示:名称数值x17.155.990.749.262.396.325.046.981.767.588.175.270.560.63x26.823.174.665.347.842.438.727.011.322.175.598.299.417.62x38.293.540.124.723.882.930.890.647.757.155.595.237.72.35y105.7951.622.41119.0471.0148.84102.398.412.5869.28103.62101.6296.5960.74训练数据共14组,使用14组数据进行训练学习,训练结束后选取后三组数据进行测试,其神经网络模型参照图5所示,输入层、中间层、输出层的节点数分别为3、10、1,数据信息在中间层和输出层分别加权求和,在阈值作用后传递向下一层,在循环1000次后,达到预设训练步数,结束学习,保存权值。此时用第十二组到第十四组数据进行测试,输出结果分别为98.1903、97.5520、62.5159,与期望输出101.62、96.59、60.74非常接近。本发明实施例提供的融合方法在象素级融合,采用多传感器冗余设计,并用容许函数剔除误差较大的数据,之后利用分批估计法得到单个传感器的最优输出值,改善生化量传感器的测量中存在的可靠性、准确性、重复性不够高的问题,为下一层的特征级融合提供更为精确可靠的数据。在特征级融合,选用了自适应学习速率mfnn-bp算法,通过大量训练样本,使神经网络学习到生化量之间的内在相关性,通过特征级融合,可以有效地消除生化量之间的交叉干扰,提高系统输出数据的准确性和可靠性。参照图6所示,本发明的实施例还提供了一种用于多传感器的融合系统,包括:像素级融合模块1,像素级融合模块1用于对单个传感器测量得到的多个数据进行像素级融合,得到该传感器的最优估计值;以及特征级融合模块2,特征级融合模块2对得到的各传感器的最优估计值进行特征级融合,以消除各个传感器数据间的交叉干扰。其中,像素级融合模块1基于模糊集理论和容许函数剔除误差较大的数据;并将剩余数据分组,进行分批估计得到该传感器的最优估计值。特征级融合模块2基于自适应学习速率法改进的误差反向传播算法的多层前馈神经网络消除各传感器的最优估计值间的交叉干扰。以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本
技术领域
的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1