基于神经网络的多传感器姿态数据融合方法及系统转让专利

申请号 : CN201811264585.2

文献号 : CN109409431B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 孙锋原杰郑玲玲唐国峰陈祖斌

申请人 : 吉林大学

摘要 :

本发明公开了一种基于神经网络的多传感器姿态数据融合方法及系统。该方法包括:通过多个传感器产生原始姿态数据;将原始姿态数据作为卷积神经网络输入,经过卷积层、池化层、全连接层和第一激活函数后输出的姿态数据作为卷积神经网络输出进行输出;将卷积神经网络输出作为人工神经网络输入,根据预设的通用核结构对人工神经网络任一隐含层对应的预设节点的输入不通过第二激活函数输出,以及对任一隐含层对应的剩余节点的输入通过第二激活函数输出,将最末端隐含层的神经元节点输出的姿态角度数据作为人工神经网络输出进行输出。本发明的融合方法,通过将卷积神经网络和优化的人工神经网络有效结合,提高了姿态角度数据的测量精度。

权利要求 :

1.一种基于神经网络的多传感器姿态数据融合方法,其特征在于,包括:通过多个传感器产生原始姿态数据;

构建卷积神经网络,以将所述原始姿态数据作为所述卷积神经网络的输入,将经过卷积层、池化层、全连接层和第一激活函数后输出的姿态数据作为所述卷积神经网络的输出进行输出;

构建人工神经网络,以将所述卷积神经网络的输出作为所述人工神经网络的输入,以及根据预设的通用核结构对人工神经网络的任一隐含层对应的预设节点的输入不通过第二激活函数参与运算进行输出,以及对所述任一隐含层对应的剩余节点的输入通过第二激活函数参与运算进行输出,以使得最末端隐含层的神经元节点的输出为姿态角度数据;

以及

将所述姿态角度数据作为所述人工神经网络的输出进行输出;

所述预设的通用核结构为:

(1)

其中, 为所述人工神经网络的输入,i=1,2,3…k; 经过线性叠加W*X+b,输出为 ,i=1,2,3…2n;2n表示任一隐含层的神经元节点的总个数,任一隐含层的每个神经元节点的输入为前一层网络的各个神经元的输出组成,超参数m是随机选择的任一隐含层的预设节点的个数;以及所述根据预设的通用核结构对人工神经网络的任一隐含层对应的预设节点的输入不通过第二激活函数参与运算进行输出,以及对所述任一隐含层对应的剩余节点的输入通过第二激活函数参与运算进行输出,以使得最末端隐含层的神经元节点的输出为姿态角度数据,具体包括:根据式(1)对人工神经网络的任一隐含层的m个节点的输入不通过所述激活函数参与运算直接进行输出,以及对所述任一隐含层的剩余的( )个节点的输入通过所述激活函数参与运算进行输出,以使得最末端隐含层的神经元节点的输出为姿态角度数据。

2.根据权利要求1所述的基于神经网络的多传感器姿态数据融合方法,所述第一激活函数和第二激活函数均为tanh,所述tanh的函数表达式为:                                              (2)其中,z为所述第一激活函数和第二激活函数的输入;以及

所述z的函数表达式为:

                                        (3)其中, 表示第(l-1)层的第k个神经元连接到第l层的第j个神经元的权重; 表示第l层的第j个神经元的偏置; 表示第l层的第j个神经元的输入。

3.根据权利要求2所述的基于神经网络的多传感器姿态数据融合方法,其特征在于,前一隐含层的超参数m的数值与后一隐含层的超参数m的数值相同或不同;以及前一隐含层的超参数m对应的预设节点与后一隐含层的超参数m对应的预设节点相同或不同。

4.根据权利要求1至3中任一项所述的基于神经网络的多传感器姿态数据融合方法,其特征在于,所述构建卷积神经网络,以将所述原始姿态数据作为所述卷积神经网络的输入,将经过卷积层、池化层、全连接层和第一激活函数后输出的姿态数据作为所述卷积神经网络的输出,具体包括:构建卷积神经网络的输入层,所述输入层的输入数据为所述多个传感器产生的原始姿态数据,所述原始姿态数据为m×n矩阵,m为传感器的个数,n为时间序列采样数;

构建卷积神经网络的第一卷积层,并设置所述第一卷积层的过滤器大小和数量,通过所述第一卷积层的过滤器对所述输入层的输入数据进行卷积运算;

构建卷积神经网络的第一池化层,并设置所述第一池化层的过滤器大小和数量,采用均值池化对所述第一卷积层输出的数据进行运算;

构建卷积神经网络的第二卷积层,设置所述第二卷积层的过滤器大小和数量,通过所述第二卷积层的过滤器对所述第一池化层的输出数据进行卷积运算;

构建卷积神经网络的第二池化层,设置所述第二池化层的过滤器大小和数量,采用均值池化对所述第二卷积层输出的数据进行运算;

构建卷积神经网络的输出层,通过所述输出层的全连接层和所述第一激活函数将所述第二池化层输出的数据转化为一维向量进行输出。

5.一种基于神经网络的多传感器姿态数据融合系统,其特征在于,包括:采集单元,用于通过多个传感器产生原始姿态数据;

卷积神经网络构建单元,用于构建卷积神经网络,以将所述原始姿态数据作为所述卷积神经网络的输入,将经过卷积层、池化层、全连接层和第一激活函数后输出的姿态数据作为所述卷积神经网络的输出进行输出;

人工神经网络构建单元,用于构建人工神经网络,以将所述卷积神经网络的输出作为所述人工神经网络的输入,以及所述人工神经网络构建单元,还用于根据预设的通用核结构对人工神经网络的任一隐含层对应的预设节点的输入不通过第二激活函数参与运算进行输出,以及对所述任一隐含层对应的剩余节点的输入通过第二激活函数参与运算进行输出,以使得最末端隐含层的神经元节点的输出为姿态角度数据;以及所述人工神经网络构建单元,还用于将所述姿态角度数据作为所述人工神经网络的输出进行输出;

所述预设的通用核结构为:

(1)

其中, 为所述人工神经网络的输入,i=1,2,3…k; 经过线性叠加W*X+b,输出为 ,i=1,2,3…2n;2n表示任一隐含层的神经元节点的总个数,任一隐含层的每个神经元节点的输入为前一层网络的各个神经元的输出组成,超参数m是随机选择的任一隐含层的预设节点的个数;以及所述人工神经网络构建单元,具体用于:

根据式(1)对人工神经网络的任一隐含层的m个节点的输入不通过所述激活函数参与运算进行输出,以及对所述任一隐含层的剩余的( )个节点的输入通过所述激活函数参与运算直接进行输出,以使得最末端隐含层的神经元节点的输出为姿态角度数据。

6.根据权利要求5所述的基于神经网络的多传感器姿态数据融合系统,其特征在于,所述第一激活函数和第二激活函数均为tanh,所述tanh的函数表达式为:                                                    (2)其中,z为所述激活函数的输入;以及

所述z的函数表达式为:

                                        (3)其中, 表示第(l-1)层的第k个神经元连接到第l层的第j个神经元的权重; 表示第l层的第j个神经元的偏置; 表示第l层的第j个神经元的输入。

7.根据权利要求5所述的基于神经网络的多传感器姿态数据融合系统,其特征在于,前一隐含层的超参数m的数值与后一隐含层的超参数m的数值相同;以及前一隐含层的超参数m对应的预设节点与后一隐含层的超参数m对应的预设节点相同或不同。

8.根据权利要求5至7中任一项所述的基于神经网络的多传感器姿态数据融合系统,其特征在于,所述卷积神经网络构建单元,具体用于:构建卷积神经网络的输入层,所述输入层的输入数据为所述多个传感器产生的原始姿态数据,所述原始姿态数据为m×n矩阵,m为传感器的个数,n为时间序列采样数;

构建卷积神经网络的第一卷积层,并设置所述第一卷积层的过滤器大小和数量,通过所述第一卷积层的过滤器对所述输入层的输入数据进行卷积运算;

构建卷积神经网络的第一池化层,并设置所述第一池化层的过滤器大小和数量,采用均值池化对所述第一卷积层输出的数据进行运算;

构建卷积神经网络的第二卷积层,设置所述第二卷积层的过滤器大小和数量,通过所述第二卷积层的过滤器对所述第一池化层的输出数据进行卷积运算;

构建卷积神经网络的第二池化层,设置所述第二池化层的过滤器大小和数量,采用均值池化对所述第二卷积层输出的数据进行运算;

构建卷积神经网络的输出层,通过所述输出层的全连接层和所述第一激活函数将所述第二池化层输出的数据转化为一维向量进行输出。

说明书 :

基于神经网络的多传感器姿态数据融合方法及系统

技术领域

[0001] 本发明涉及多传感器数据融合的技术领域,具体而言,涉及一种基于神经网络的多传感器数据融合方法及系统。

背景技术

[0002] 多传感器数据融合是对多种信息的获取、表示及其内在联系进行综合处理和优化的技术。它从多信息的视角进行处理及综合,得到各种信息的内在联系和规律,从而剔除无用的和错误的信息,保留正确的和有用的成分,最终达到信息优化的目的。而针对多传感器姿态数据的融合方法也已经成为许多工业应用领域最关键的问题之一。
[0003] 相关技术中公开了一种微型捷联航姿系统及其工作方法,其涉及一种基于MEMS(微机电系统,Micro-Electro-Mechanical System)器件的多传感器数据融合技术,通过捷联航姿系统解算航姿信息,同时用补偿后的磁场信息和加速度信息解算出三维磁姿态角,两者经过卡尔曼数据融合算法,最终得到稳定的航姿信息。
[0004] 相关技术中又公开了一种基于四元数和神经网络的无人机空中姿态识别和控制方法,该控制方法使用基于梯度下降的四元数算法得到更新的四元数方程,以此作为神经网络的输入,经过三层神经网络计算得到修正的输出值。
[0005] 上述相关技术具有以下缺陷:(1)卡尔曼过滤器只有在系统噪声和测量噪声已知的情况下才能达到最优的结果,并且使用卡尔曼过滤器的方法在泰勒展开后,需要忽略2阶及以上高阶项,在复杂模型中误差相对较大;(2)基于神经网络的四元数算法,其传感器数据类型较少,姿态检测的误差较大,数据融合精度有待进一步的提高。而对于一般的神经网络算法,在实际应用中,随着传感器数量的增加,会产生由于参数量增大而引起计算量变大的问题,在神经网络的收敛性和时间特性上无法达到最优。

发明内容

[0006] 本发明旨在至少解决现有技术或相关技术中存在的技术问题之一。
[0007] 为此,本发明的第一目的在于提出一种基于神经网络的多传感器姿态数据融合方法。
[0008] 本发明的第二目的在于提出一种基于神经网络的多传感器姿态数据融合系统。
[0009] 为了实现上述目的,本发明第一方面的技术方案,提供了一种基于神经网络的多传感器姿态数据融合方法,包括:通过多个传感器产生原始姿态数据;构建卷积神经网络,以将所述原始姿态数据作为所述卷积神经网络的输入,将经过卷积层、池化层、全连接层和第一激活函数后输出的姿态数据作为所述卷积神经网络的输出进行输出;构建人工神经网络,以将所述卷积神经网络的输出作为所述人工神经网络的输入,以及根据预设的通用核结构对人工神经网络的任一隐含层对应的预设节点的输入不通过第二激活函数参与运算进行输出,以及对所述任一隐含层对应的剩余节点的输入通过第二激活函数参与运算进行输出,以使得最末端隐含层的神经元节点的输出为姿态角度数据;以及将所述姿态角度数据作为所述人工神经网络的输出进行输出。
[0010] 优选地,所述预设的通用核结构为:
[0011]
[0012] 其中,xi为所述人工神经网络的输入,i=1,2,3…k;xi经过线性叠加W*X+b,输出为Zi,i=1,2,3…2n;2n表示任一隐含层的神经元节点的总个数,任一隐含层的每个神经元节点的输入为前一层网络的各个神经元的输出组成,超参数m是随机选择的任一隐含层的预设节点的个数;以及所述根据预设的通用核结构对人工神经网络的任一隐含层对应的预设节点的输入不通过第二激活函数参与运算进行输出,以及对所述任一隐含层对应的剩余节点的输入通过第二激活函数参与运算进行输出,以使得最末端隐含层的神经元节点的输出为姿态角度数据,具体包括:根据式(1)对人工神经网络的任一隐含层的m个节点的输入不通过所述激活函数参与运算进行输出,以及对所述任一隐含层的剩余的(2n-m)个节点的输入通过所述激活函数参与运算进行输出,以使得最末端隐含层的神经元节点的输出为姿态角度数据。
[0013] 优选地,所述第一激活函数和第二激活函数均为tanh,所述tanh的函数表达式为:
[0014]
[0015] 其中,z为所述第一激活函数和第二激活函数的输入;以及所述z的函数表达式为:
[0016]
[0017] 其中, 表示第(l-1)层的第k个神经元连接到第l层的第j个神经元的权重; 表示第l层的第j个神经元的偏置; 表示第l层的第j个神经元的输入。
[0018] 优选地,前一隐含层的超参数m的数值与后一隐含层的超参数m的数值相同或不同;以及前一隐含层的超参数m对应的预设节点与后一隐含层的超参数m对应的预设节点相同或不同。
[0019] 优选地,所述构建卷积神经网络,以将所述原始姿态数据作为所述卷积神经网络的输入,将经过卷积层、池化层、全连接层和第一激活函数后输出的姿态数据作为所述卷积神经网络的输出,具体包括:构建卷积神经网络的输入层,所述输入层的输入数据为所述多个传感器产生的原始姿态数据,所述原始姿态数据为m×n矩阵,m为传感器的个数,n为时间序列采样数;构建卷积神经网络的第一卷积层,并设置所述第一卷积层的过滤器大小和数量,通过所述第一卷积层的过滤器对所述输入层的输入数据进行卷积运算;构建卷积神经网络的第一池化层,并设置所述第一池化层的过滤器大小和数量,采用均值池化对所述第一卷积层输出的数据进行运算;构建卷积神经网络的第二卷积层,设置所述第二卷积层的过滤器大小和数量,通过所述第二卷积层的过滤器对所述第一池化层的输出数据进行卷积运算;构建卷积神经网络的第二池化层,设置所述第二池化层的过滤器大小和数量,采用均值池化对所述第二卷积层输出的数据进行运算;构建卷积神经网络的输出层,通过所述输出层的全连接层和所述第一激活函数将所述第二池化层输出的数据转化为一维向量进行输出。
[0020] 本发明第二方面的技术方案,提供了一种基于神经网络的多传感器姿态数据融合系统,包括:采集单元,用于通过多个传感器产生原始姿态数据;卷积神经网络构建单元,用于构建卷积神经网络,以将所述原始姿态数据作为所述卷积神经网络的输入,将经过卷积层、池化层、全连接层和第一激活函数后输出的姿态数据作为所述卷积神经网络的输出进行输出;人工神经网络构建单元,用于构建人工神经网络,以将所述卷积神经网络的输出作为所述人工神经网络的输入,以及所述人工神经网络构建单元,还用于根据预设的通用核结构对人工神经网络的任一隐含层对应的预设节点的输入不通过第二激活函数参与运算进行输出,以及对所述任一隐含层对应的剩余节点的输入通过第二激活函数参与运算进行输出,以使得最末端隐含层的神经元节点的输出为姿态角度数据;以及所述人工神经网络构建单元,还用于将所述姿态角度数据作为所述人工神经网络的输出进行输出。
[0021] 优选地,所述预设的通用核结构为:
[0022]
[0023] 其中,xi为所述人工神经网络的输入,i=1,2,3…k;xi经过线性叠加W*X+b,输出为n nZi,i=1,2,3…2 ;2表示任一隐含层的神经元节点的总个数,任一隐含层的每个神经元节点的输入为前一层网络的各个神经元的输出组成,超参数m是随机选择的任一隐含层的预设节点的个数;以及所述人工神经网络构建单元,具体用于:根据式(1)对人工神经网络的任一隐含层的m个节点的输入不通过所述激活函数参与运算进行输出,以及对所述任一隐n
含层的剩余的(2-m)个节点的输入通过所述激活函数参与运算进行输出,以使得最末端隐含层的神经元节点的输出为姿态角度数据。
[0024] 优选地,所述第一激活函数和第二激活函数均为tanh,所述tanh的函数表达式为:
[0025]
[0026] 其中,z为所述激活函数的输入;以及所述z的函数表达式为:
[0027]
[0028] 其中, 表示第(l-1)层的第k个神经元连接到第l层的第j个神经元的权重; 表示第l层的第j个神经元的偏置; 表示第l层的第j个神经元的输入。
[0029] 优选地,前一隐含层的超参数m的数值与后一隐含层的超参数m的数值相同;以及前一隐含层的超参数m对应的预设节点与后一隐含层的超参数m对应的预设节点相同或不同。
[0030] 优选地,所述卷积神经网络构建单元,具体用于:构建卷积神经网络的输入层,所述输入层的输入数据为所述多个传感器产生的原始姿态数据,所述原始姿态数据为m×n矩阵,m为传感器的个数,n为时间序列采样数;构建卷积神经网络的第一卷积层,并设置所述第一卷积层的过滤器大小和数量,通过所述第一卷积层的过滤器对所述输入层的输入数据进行卷积运算;构建卷积神经网络的第一池化层,并设置所述第一池化层的过滤器大小和数量,采用均值池化对所述第一卷积层输出的数据进行运算;构建卷积神经网络的第二卷积层,设置所述第二卷积层的过滤器大小和数量,通过所述第二卷积层的过滤器对所述第一池化层的输出数据进行卷积运算;构建卷积神经网络的第二池化层,设置所述第二池化层的过滤器大小和数量,采用均值池化对所述第二卷积层输出的数据进行运算;构建卷积神经网络的输出层,通过所述输出层的全连接层和所述第一激活函数将所述第二池化层输出的数据转化为一维向量进行输出。
[0031] 本发明的有益效果:
[0032] (1)本发明提供的基于神经网络的多传感器姿态数据融合方法及系统,通过将卷积神经网络和人工神经网络进行有效结合,并通过预设的通用核结构对人工神经网络的任一隐含层的部分节点含有激活函数参与运算,以及任一隐含层的剩余节点不含有激活函数参与运算,最终提高了姿态角度数据的测量精度;与传统的数据融合方法相比,本发明采用人工神经网络(Artificial Neural Networks,简写为ANNs),通过对已知数据集的反复学习训练,逐步调整改变神经元的连接权重,达到处理信息、模拟输入输出之间关系的目的,实现不同传感器数据的融合,解决了传统多姿态传感器融合存在的精度低、数据融合误差较大等缺点。
[0033] (2)本发明提供的基于神经网络的多传感器姿态数据融合方法及系统,与传统的数据融合方法相比,有较好的鲁棒适应性,可以根据不同的传感器组合,形成多样化的数学模型;
[0034] (3)本发明提供的基于神经网络的多传感器姿态数据融合方法及系统,对于多个传感器产生的原始姿态数据,其既包含线性关系也包含非线性关系,可以有选择地对任一隐含层对应的预设节点的输入不通过第二激活函数参与运算进行输出,以及对任一隐含层对应的剩余节点的输入通过第二激活函数参与运算进行输出,以使得最末端隐含层的神经元节点的输出为姿态角度数据,降低了额外增加的训练层数和训练难度,实现在较少参数设计下,达到更优的神经网络模型,并且可以减少部分的计算量。
[0035] 本发明的附加方面和优点将在下面的描述中变得明显,或通过本发明的实践了解到。

附图说明

[0036] 图1示出了本发明的一个实施例的基于神经网络的多传感器姿态数据融合方法的示意流程图;
[0037] 图2示出了本发明的一个实施例的基于神经网络的多传感器姿态数据融合系统的示意框图;
[0038] 图3示出了本发明的另一个实施例的基于神经网络的多传感器姿态数据融合方法的总体设计示意图;
[0039] 图4示出了本发明的一个实施例的卷积神经网络的结构示意图;
[0040] 图5示出了本发明的一个实施例的人工神经网络算法的结构示意图;
[0041] 图6示出了ReLU函数、PReLU函数、softmax函数和tanh函数的四种激活函数的曲线示意图。

具体实施方式

[0042] 为了能够更清楚地理解本发明的上述目的、特征和优点,下面结合附图和具体实施方式对本发明进行进一步的详细描述。需要说明的是,在不冲突的情况下,本申请的实施例及实施例中的特征可以相互结合。
[0043] 在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是,本发明还可以采用其他不同于在此描述的其他方式来实施,因此,本发明的保护范围并不限于下面公开的具体实施例的限制。
[0044] 图1示出了本发明的一个实施例的基于神经网络的多传感器姿态数据融合方法的示意流程图。如图1所示,一种基于神经网络的多传感器姿态数据融合方法,包括:
[0045] 步骤102,通过多个传感器产生原始姿态数据;
[0046] 步骤104,构建卷积神经网络,以将原始姿态数据作为卷积神经网络的输入,将经过卷积层、池化层、全连接层和第一激活函数后输出的姿态数据作为卷积神经网络的输出进行输出;
[0047] 步骤106,构建人工神经网络,以将卷积神经网络的输出作为人工神经网络的输入,以及
[0048] 步骤108,根据预设的通用核结构对人工神经网络的任一隐含层对应的预设节点的输入不通过第二激活函数参与运算进行输出,以及对任一隐含层对应的剩余节点的输入通过第二激活函数参与运算进行输出,以使得最末端隐含层的神经元节点的输出为姿态角度数据;
[0049] 步骤110,将所述姿态角度数据作为人工神经网络的输出进行输出。
[0050] 本发明提供的基于神经网络的多传感器姿态数据融合方法及系统,通过将卷积神经网络和人工神经网络进行有效结合,并通过预设的通用核结构对人工神经网络的任一隐含层的部分节点含有激活函数参与运算,以及任一隐含层的剩余节点不含有激活函数参与运算,最终提高了姿态角度数据的测量精度;与传统的数据融合方法相比,本发明采用人工神经网络(Artificial Neural Networks,简写为ANNs),通过对已知数据集的反复学习训练,逐步调整改变神经元的连接权重,达到处理信息、模拟输入输出之间关系的目的,实现不同传感器数据的融合,解决了传统多姿态传感器融合存在的精度低、数据融合误差较大等缺点;
[0051] 本发明提供的基于神经网络的多传感器姿态数据融合方法及系统,与传统的数据融合方法相比,有较好的鲁棒适应性,可根据不同的传感器组合,形成多样化的数学模型;
[0052] 本发明提供的基于神经网络的多传感器姿态数据融合方法及系统,对于多个传感器产生的原始姿态数据,其既包含线性关系也包含非线性关系,可以有选择地对任一隐含层对应的预设节点的输入不通过第二激活函数参与运算进行输出,以及对任一隐含层对应的剩余节点的输入通过第二激活函数参与运算进行输出,以使得最末端隐含层的神经元节点的输出为姿态角度数据,降低了额外增加的训练层数和训练难度,实现在较少参数设计下,达到更优的神经网络模型,并且可以减少部分的计算量。
[0053] 在本发明的一个实施例中,所述预设的通用核结构为:
[0054]
[0055] 其中,xi为所述人工神经网络的输入,i=1,2,3…k;xi经过线性叠加W*X+b,输出为Zi,i=1,2,3…2n;2n表示任一隐含层的神经元节点的总个数,任一隐含层的每个神经元节点的输入为前一层网络的各个神经元的输出组成,超参数m是随机选择的任一隐含层的预设节点的个数;以及所述根据预设的通用核结构对人工神经网络的任一隐含层对应的预设节点的输入不通过第二激活函数参与运算进行输出,以及对所述任一隐含层对应的剩余节点的输入通过第二激活函数参与运算进行输出,以使得最末端隐含层的神经元节点的输出为姿态角度数据,具体包括:根据式(1)对人工神经网络的任一隐含层的m个节点的输入不通过所述激活函数参与运算进行输出,以及对所述任一隐含层的剩余的(2n-m)个节点的输入通过所述激活函数参与运算进行输出,以使得最末端隐含层的神经元节点的输出为姿态角度数据。
[0056] 在本实施例中,任一隐含层的每个神经元节点的输入为前一层网络的各个神经元的输出组成,以及对于多个传感器产生的原始姿态数据,其既包含线性关系也包含非线性关系,可以有选择地对任一隐含层m个节点的的输入不通过激活函数参与运算进行输出,以n及对任一隐含层的剩余的(2-m)个节点的输入通过激活函数参与运算进行输出,以使得最末端隐含层的神经元节点的输出为姿态角度数据,与传统的数据融合方法相比,本发明的基于神经网络的多传感器姿态数据融合方法有较好的鲁棒适应性,可以根据不同的传感器组合,形成多样化的数学模型,同时降低了额外增加的训练层数和训练难度,实现了在较少参数设计下,达到更优的神经网络模型,并且可以减少部分的计算量。具体实施例中,所述多个传感器包括:陀螺仪、加速度计和磁力计,所述姿态角度数据包括:俯仰角、横滚角和航向角。
[0057] 在本发明的一个实施例中,所述第一激活函数和第二激活函数均为tanh,所述tanh的函数表达式为:
[0058]
[0059] 其中,z为所述第一激活函数和第二激活函数的输入;以及所述z的函数表达式为:
[0060]
[0061] 其中, 表示第(l-1)层的第k个神经元连接到第l层的第j个神经元的权重; 表示第l层的第j个神经元的偏置; 表示第l层的第j个神经元的输入。
[0062] 在本发明的一个实施例中,前一隐含层的超参数m的数值与后一隐含层的超参数m的数值相同或不同;以及前一隐含层的超参数m对应的预设节点与后一隐含层的超参数m对应的预设节点相同或不同。
[0063] 在本实施例中,通过对人工神经网络的任一隐含层的部分节点含有激活函数参与运算,以及任一隐含层的剩余节点不含有激活函数参与运算,进一步地,通过设置前一隐含层的超参数m的数值与后一隐含层的超参数m的数值相同或不同,以及前一隐含层的超参数m对应的预设节点与后一隐含层的超参数m对应的预设节点相同或不同,达到了形成多样化的数学模型的目的,使得本发明的基于神经网络的多传感器姿态数据融合方法有较好的鲁棒适应性。
[0064] 在本发明的一个实施例中,所述构建卷积神经网络,以将所述原始姿态数据作为所述卷积神经网络的输入,将经过卷积层、池化层、全连接层和第一激活函数后输出的姿态数据作为所述卷积神经网络的输出,具体包括:构建卷积神经网络的输入层,所述输入层的输入数据为所述多个传感器产生的原始姿态数据,所述原始姿态数据为m×n矩阵,m为传感器的个数,n为时间序列采样数;构建卷积神经网络的第一卷积层,并设置所述第一卷积层的过滤器大小和数量,通过所述第一卷积层的过滤器对所述输入层的输入数据进行卷积运算;构建卷积神经网络的第一池化层,并设置所述第一池化层的过滤器大小和数量,采用均值池化对所述第一卷积层输出的数据进行运算;构建卷积神经网络的第二卷积层,设置所述第二卷积层的过滤器大小和数量,通过所述第二卷积层的过滤器对所述第一池化层的输出数据进行卷积运算;构建卷积神经网络的第二池化层,设置所述第二池化层的过滤器大小和数量,采用均值池化对所述第二卷积层输出的数据进行运算;构建卷积神经网络的输出层,通过所述输出层的全连接层和所述第一激活函数将所述第二池化层输出的数据转化为一维向量进行输出。
[0065] 在本实施例中,通过构建卷积神经网络的核心层数为4层,包括第一卷积层、第一池化层、第二卷积层和第二池化层,再通过将多个传感器产生的原始姿态数据作为卷积神经网络的输入,最后构建卷积神经网络的输出层,通过对卷积池化后的特征数据经过该输出层的全连接层和第一激活函数,将二维特征数据转化为一维的向量进行输出,使得卷积神经网络的输出数据为特征更加明显的传感器数据,并将此输出层输出的特征数据作为后续的人工神经网络的输入。具体实施例中,卷积神经网络的输入经过卷积层、池化层和全连接层之后,输出一个N×1的一维向量,其中N为从中选择的分类数,每个数字代表属于某个类别的概率。
[0066] 图2示出了本发明的一个实施例的基于神经网络的多传感器姿态数据融合系统的示意框图。如图2所示,一种基于神经网络的多传感器姿态数据融合系统200,包括:
[0067] 采集单元202,用于通过多个传感器产生原始姿态数据;
[0068] 卷积神经网络构建单元204,用于构建卷积神经网络,以将所述原始姿态数据作为所述卷积神经网络的输入,将经过卷积层、池化层、全连接层和第一激活函数后输出的姿态数据作为所述卷积神经网络的输出进行输出;
[0069] 人工神经网络构建单元206,用于构建人工神经网络,以将所述卷积神经网络的输出作为所述人工神经网络的输入,以及
[0070] 人工神经网络构建单元206,还用于还用于根据预设的通用核结构对人工神经网络的任一隐含层对应的预设节点的输入不通过第二激活函数参与运算进行输出,以及对所述任一隐含层对应的剩余节点的输入通过第二激活函数参与运算进行输出,以使得最末端隐含层的神经元节点的输出为姿态角度数据;以及
[0071] 所述人工神经网络构建单元206,还用于将所述姿态角度数据作为所述人工神经网络的输出进行输出。
[0072] 本发明提供的基于神经网络的多传感器姿态数据融合系统200,通过卷积神经网络构建单元204,将采集单元202采集的原始姿态数据作为卷积神经网络的输入,将经过卷积层、池化层、全连接层和第一激活函数后输出的姿态数据作为卷积神经网络的输出,通过人工神经网络构建单元206,将卷积神经网络的输出作为人工神经网络的输入,以及根据预设的通用核结构对人工神经网络的任一隐含层的部分节点含有激活函数参与运算,以及任一隐含层的剩余节点不含有激活函数参与运算,达到了将卷积神经网络和人工神经网络进行有效结合的目的,最终提高了姿态角度数据的测量精度;与传统的数据融合方法相比,本发明采用人工神经网络(Artificial Neural Networks,简写为ANNs),通过对已知数据集的反复学习训练,逐步调整改变神经元的连接权重,达到处理信息、模拟输入输出之间关系的目的,实现不同传感器数据的融合,解决了传统多姿态传感器融合存在的精度低、数据融合误差较大等缺点;
[0073] 本发明提供的基于神经网络的多传感器姿态数据融合系统200,与传统的数据融合方法相比,有较好的鲁棒适应性,可以根据不同的传感器组合,形成多样化的数学模型;
[0074] 本发明提供的基于神经网络的多传感器姿态数据融合系统200,对于多个传感器产生的原始姿态数据,其既包含线性关系也包含非线性关系,可以有选择地对任一隐含层对应的预设节点的输入不通过激活函数参与运算进行输出,以及对任一隐含层对应的剩余节点的输入通过激活函数参与运算进行输出,以使得最末端隐含层的神经元节点的输出为姿态角度数据,降低了额外增加的训练层数和训练难度,实现在较少参数设计下,达到更优的神经网络模型,并且可以减少部分的计算量。
[0075] 在本发明的一个实施例中,所述预设的通用核结构为:
[0076]
[0077] 其中,xi为所述人工神经网络的输入,i=1,2,3…k;xi经过线性叠加W*X+b,输出为Zi,i=1,2,3…2n;2n表示任一隐含层的神经元节点的总个数,任一隐含层的每个神经元节点的输入为前一层网络的各个神经元的输出组成,超参数m是随机选择的任一隐含层的预设节点的个数;以及所述激活函数优化单元210,具体用于:根据式(1)对人工神经网络的任一隐含层的m个节点的输入不通过所述激活函数参与运算进行输出,以及对所述任一隐含层的剩余的(2n-m)个节点的输入通过所述激活函数参与运算进行输出,以使得最末端隐含层的神经元节点的输出为姿态角度数据。
[0078] 在本实施例中,任一隐含层的每个神经元节点的输入为前一层网络的各个神经元的输出之和,以及对于多个传感器产生的原始姿态数据,其既包含线性关系也包含非线性关系,通过激活函数优化单元210,有选择地对任一隐含层m个节点的的输入不通过激活函数参与运算进行输出,以及对任一隐含层的剩余的(2n-m)个节点的输入通过激活函数参与运算进行输出,以使得最末端隐含层的神经元节点的输出为姿态角度数据,与传统的数据融合系统相比,本发明的基于神经网络的多传感器姿态数据融合系统有较好的鲁棒适应性,可以根据不同的传感器组合,形成多样化的数学模型,同时降低了额外增加的训练层数和训练难度,实现了在较少参数设计下,达到更优的神经网络模型,并且可以减少部分的计算量。具体实施例中,所述多个传感器包括:陀螺仪、加速度计和磁力计,所述姿态角度数据包括:俯仰角、横滚角和航向角。
[0079] 在本发明的一个实施例中,所述第一激活函数和第二激活函数均为tanh,所述tanh的函数表达式为:
[0080]
[0081] 其中,z为所述第一激活函数和第二激活函数的输入;以及所述z的函数表达式为:
[0082]
[0083] 其中, 表示第(l-1)层的第k个神经元连接到第l层的第j个神经元的权重; 表示第l层的第j个神经元的偏置; 表示第l层的第j个神经元的输入。
[0084] 在本发明的一个实施例中,前一隐含层的超参数m的数值与后一隐含层的超参数m的数值相同或不同;以及前一隐含层的超参数m对应的预设节点与后一隐含层的超参数m对应的预设节点相同或不同。
[0085] 在本实施例中,通过对人工神经网络的任一隐含层的部分节点含有激活函数参与运算,以及任一隐含层的剩余节点不含有激活函数参与运算,进一步地,通过设置前一隐含层的超参数m的数值与后一隐含层的超参数m的数值相同或不同,以及前一隐含层的超参数m对应的预设节点与后一隐含层的超参数m对应的预设节点相同或不同,达到了形成多样化的数学模型的目的,使得本发明的基于神经网络的多传感器姿态数据融合方法有较好的鲁棒适应性。
[0086] 在本发明的一个实施例中,所述卷积神经网络构建单元204,具体用于:构建卷积神经网络的输入层,所述输入层的输入数据为所述多个传感器产生的原始姿态数据,所述原始姿态数据为m×n矩阵,m为传感器的个数,n为时间序列采样数;构建卷积神经网络的第一卷积层,并设置所述第一卷积层的过滤器大小和数量,通过所述第一卷积层的过滤器对所述输入层的输入数据进行卷积运算;构建卷积神经网络的第一池化层,并设置所述第一池化层的过滤器大小和数量,采用均值池化对所述第一卷积层输出的数据进行运算;构建卷积神经网络的第二卷积层,设置所述第二卷积层的过滤器大小和数量,通过所述第二卷积层的过滤器对所述第一池化层的输出数据进行卷积运算;构建卷积神经网络的第二池化层,设置所述第二池化层的过滤器大小和数量,采用均值池化对所述第二卷积层输出的数据进行运算;构建卷积神经网络的输出层,通过所述输出层的全连接层和所述第一激活函数将所述第二池化层输出的数据转化为一维向量进行输出。
[0087] 在本实施例中,通过构建卷积神经网络的核心层数为4层,包括第一卷积层、第一池化层、第二卷积层和第二池化层,再通过将多个传感器产生的原始姿态数据作为卷积神经网络的输入,最后构建卷积神经网络的输出层,通过对卷积池化后的特征数据经过该输出层的全连接层和第一激活函数,将二维特征数据转化为一维的向量进行输出,使得卷积神经网络的输出数据为特征更加明显的传感器数据,并将此输出层输出的特征数据作为后续的人工神经网络的输入。具体实施例中,卷积神经网络的输入经过卷积层、池化层和全连接层之后,输出一个N×1的一维向量,其中N为从中选择的分类数,每个数字代表属于某个类别的概率。
[0088] 图3示出了本发明的另一个实施例的基于神经网络的多传感器姿态数据融合方法的总体设计示意图;如图3所示,通过加速度计、磁力计和陀螺仪产生原始姿态数据;进一步地,构建卷积神经网络(Convolutional Neural Network,简称CNN),以将所述原始姿态数据作为所述卷积神经网络的输入,将经过卷积层、池化层、全连接层和第一激活函数后输出的姿态数据作为所述卷积神经网络的输出进行输出;构建人工神经网络(Artificial Neural Networks,简写ANNs,即本实施例中的优化的ANN),以将所述卷积神经网络的输出作为所述人工神经网络的输入,以及根据预设的通用核结构对人工神经网络的任一隐含层对应的预设节点的输入不通过第二激活函数参与运算进行输出,以及对所述任一隐含层对应的剩余节点的输入通过第二激活函数参与运算进行输出,以使得最末端隐含层的神经元节点的输出为姿态角度数据;以及将所述姿态角度数据作为所述人工神经网络的输出进行输出,最后输出包括俯仰角、横滚角和航向角的姿态角度数据,通过将卷积神经网络和优化的人工神经网络进行有效结合,并通过预设的通用核结构对人工神经网络的任一隐含层的部分节点含有激活函数参与运算,以及任一隐含层的剩余节点不含有激活函数参与运算,最终提高了姿态角度数据的测量精度;
[0089] 进一步地,图4示出了本发明的一个实施例的卷积神经网络的结构示意图。如图4所示,卷积神经网络的层数共有4层,具体包括:层1、层2、层3和层4。层1为卷积神经网络的输入层,层2包括:第一卷积层和第一池化层,层3包括:第二卷积层和第二池化层,层4为卷积神经网络的输出层,该卷积神经网络的输出层包括全连接层,通过输出层的全连接层将第二池化层输出的数据转化为一维向量进行输出,最后通过输出层的第一激活函数与后面优化的人工神经网络进行有效结合;
[0090] 进一步地,图4所示的卷积神经网络的算法的设计过程如下:
[0091] (1)输入层:输入数据为M,具体为多个传感器产生地原始姿态数据,定义为m×n矩阵,m取值9,为传感器数(包括3个陀螺仪,3个加速度计、3个磁力计),n取值9,为时间序列采样数,所以输入数据大小为(9×9)矩阵。
[0092] (2)输入层到第一卷积层:过滤器C1(f1×f1×1)对输入数据M进行卷积运算。设置过滤器数量为4,每个大小为3×3。则单个过滤器卷积运算输出矩阵的元素计算表达式为:
[0093]
[0094] 其中,C1ij为过滤器内第i行第j个元素,Mc1ij为输入数据对应框内第i行第j个元素,n1为卷积输出矩阵的一个元素。通过一定的卷积步长s,重复公式(1),输出新的二维矩阵。
[0095] 矩阵大小计算公式为:
[0096]
[0097] 其中,n为输入数据矩阵大小;此处为9,p为对输入数据填充(padding)大小,在卷积神经网络进行卷积或者池化操作时,操作过程中过滤器可能不能将某个方向上的数据刚好处理完,造成部分原始数据的丢失,所以需要对输入数据的矩阵边缘进行补“0”操作,但是在本网络结构中不存在上述部分数据尚未利用的情况。所以不需要进行填充操作,即此处p的值为0;f为过滤器大小,此处为3;s为卷积步长,此处为1;c1为输出矩阵大小。
[0098] 所以, 输出矩阵大小为(7×7×4)。
[0099] (3)第一卷积层到第一池化层:由于在相邻时间段内的姿态数据是类似或近乎不变,因此采用均值池化,在缩减数据量的同时保留该时间段内主要数据特征。在此ANN结构中本池化层过滤器大小为(2×2),则输出矩阵元素的计算表达式为:
[0100]
[0101] 其中,P1ij为池化过滤器内第i行第j个元素,Mp1ij为输入数据对应框内第i行第j个元素。p1为池化输出矩阵的一个元素。通过一定的步长s,重复公式(6),输出新的二维矩阵。池化层通道数为4,由公式(5)可得池化后输出矩阵大小为:
[0102] 即(6×6×4)。
[0103] (4)第一池化层到第二卷积层:以第一池化层的输出作为该层输入,每个过滤器(3×3×4)对其进行卷积。其矩阵元素和大小计算与卷积层1一致。本层过滤器个数为8,由公式(5)可得输出矩阵大小为:
[0104] 即(4×4×8)。
[0105] (5)卷积层2到池化层2:与池化层1相同,也为均值池化,其矩阵元素和大小计算与池化层1一致。本层过滤器个数为8,设置过滤器大小为2,步长为2;由公式(5)计算,池化后输出矩阵大小为:
[0106] 即(2×2×8)。
[0107] (6)全连接层:将上述输出的数据集(2×2×8)转化为一维向量,即(32×1),并经过第一激活函数进行输出。
[0108] 进一步地,图6示出了ReLU函数、PReLU函数、softmax函数和tanh函数的四种激活函数的曲线示意图。由于本实施例中的多个传感器产生的原始姿态数据作为输入时,其对应的陀螺仪、加速度计和磁力计等传感器的测量值有正有负,而图6中只有tanh函数具有有正有负的函数特点,因此本实施例中的所述第一激活函数为tanh。
[0109] 图5示出了本发明的一个实施例的优化的人工神经网络的结构示意图;如图5所示,该优化的人工神经网络包括一个输入层、一个输出层和5个隐藏层,输入层的输入数据为卷积神经网络的全连接层映射产生的一维特征数据,输出结果是姿态角度数据。
[0110] 进一步地,图5所示的优化的人工神经网络的算法的设计过程如下:
[0111] (1)预设的通用核结构为:
[0112]
[0113] 其中,xi为所述人工神经网络的输入,i=1,2,3…k;xi经过线性叠加W*X+b,输出为Zi,i=1,2,3…2n;2n表示任一隐含层的神经元节点的总个数,任一隐含层的每个神经元节点的输入为前一层网络的各个神经元的输出组成,超参数m是随机选择的任一隐含层的预设节点的个数;
[0114] (2)根据式(1)对人工神经网络的任一隐含层的m个节点的输入不通过所述激活函数参与运算进行输出,以及对所述任一隐含层的剩余的(2n-m)个节点的输入通过所述激活函数参与运算进行输出,以使得最末端隐含层的神经元节点的输出为姿态角度数据;
[0115] (3)由于本实施例中的多个传感器产生的原始姿态数据作为输入时,其对应的陀螺仪、加速度计和磁力计等传感器的测量值有正有负,而图6中只有tanh函数具有有正有负的函数特点,因此本实施例中的所述第二激活函数也为tanh,所述tanh的函数表达式为:
[0116]
[0117] 其中,z为所述第二激活函数的输入;以及
[0118] 所述z的函数表达式为:
[0119]
[0120] 其中, 表示第(l-1)层的第k个神经元连接到第l层的第j个神经元的权重; 表示第l层的第j个神经元的偏置; 表示第l层的第j个神经元的输入。
[0121] (4)优化后的人工神经网络的前向传播过程:
[0122] 各层输入量依然为上一层输出的线性组合,即:
[0123]
[0124] 其中, 表示第(l-1)层的第k个神经元连接到第l层的第j个神经元的权重; 表示第l层的第j个神经元的偏置; 表示第l层的第j个神经元的输入; 表示第l层的第j个神经元的输出,即:
[0125]
[0126] 其中,σ为激活函数。
[0127] 对于m个未经过激活函数的输入量,其计算公式为:
[0128]
[0129] 由此得第l层的输出为两部分组成:
[0130]
[0131] 进一步地,在神经网络模型中,本实施只是搭建了该模型结构,而神经网络的层与层的神经元之间的连接权值w和各层偏置b是需要确定和优化的参数,通过对以上参数的修正和确定,才能对测试的输入数据得到更加准确的输出。而上述参数的确定和优化需要通过反向传播算法,不断通过训练集实际输出与预期输出的误差来实现的。
[0132] (5)优化后的人工神经网络反向传播过程:
[0133] 误差函数用来计算输出值与预期值之间的误差:
[0134]
[0135] 其中,x表示输入的样本,y表示预期输出值,xL表示实际输出,L表示神经网络的最大层数,此处为5层。
[0136] 利用期望输出和实际输出,定义误差函数对于各神经元输入的偏导数:
[0137]
[0138] 此处以一个样本为例进行说明,此时误差函数表示为:
[0139]
[0140] 计算最后一层神经网络对输入的偏导数,对于通过激活函数的神经元:
[0141]
[0142]
[0143]
[0144] 所以 , 其中 ⊙ 为Hadamard乘积,用于矩阵或向量之间点对点的乘法运算。
[0145] 由后往前,计算每一层神经网络对输入的偏导数:
[0146]
[0147]
[0148] 对于未通过激活函数的输入,其对输入偏导数计算为:
[0149]
[0150] 所以,由后往前计算为:
[0151]
[0152] 对于经过激活函数的权重梯度计算:
[0153]
[0154] 即:
[0155] 偏置梯度的计算:
[0156]
[0157] wl→wl-α∑xδl(al-1)T  (24)
[0158] bl→bl-α∑xδx,l  (25)
[0159] 同样的:对未经过激活函数权值梯度的计算:
[0160]
[0161] 对于未经过激活函数权值梯度的计算:
[0162]
[0163] wld→wld-α∑xδld(al-1)T  (27)
[0164] bld→bld-α∑xδld  (28)
[0165] 由上述优化的ANN结构可知,对于生成的线性组合 在ANN前向传播和反向传播n中,区别于一般的ANN神经网络过程,选择其中(2-m)个节点将其通过第二激活函数,而对剩余的m个节点,不进行第二激活函数的相关运算。这样根据不同的传感器特性可以有不同的表达形式,被激活的参数的个数也作为新的超参数参与调节。整个优化的ANN过程可以在较少的参数设计下,达到更优的神经网络模型,并且可以减少部分的计算量。
[0166] 以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。