基于卷积神经网络模型的惯性测量数据校正方法及装置转让专利
申请号 : CN202110429181.X
文献号 : CN112985462B
文献日 : 2021-07-23
发明人 : 费再慧 , 贾双成 , 朱磊 , 李成军
申请人 : 智道网联科技(北京)有限公司
摘要 :
权利要求 :
1.一种基于卷积神经网络模型的惯性测量数据校正方法,其特征在于,包括:初始化卷积神经网络模型,包括:定义卷积神经网络模型的卷积核大小为N,并为每个卷积核设定参数值,其中,N为大于1的整数;
以步长为1、长度为N的滑动窗口对一时间段的惯性测量单元的测量数据进行分割,以时刻I至时刻N+I‑1的惯性测量单元的测量数据为第I组测量数据序列,获得每组包括N个测量数据的K组测量数据序列,其中,K为大于等于N的整数,I=1,2,…,K;
向卷积神经网络模型输入所述K组测量数据序列,以及卫星定位模块的位置数据序列;
使卷积神经网络模型分别依据第I组测量数据序列输出时刻N+I‑1的IMU估计数据,并分别依据时刻N+I‑1的IMU估计数据推算获得时刻N+I‑1的轨迹点推算位置,由此获得K个轨迹点推算位置;
依据每个时刻N+I‑1的轨迹点推算位置与所述卫星定位模块的位置数据,获得每个时刻N+I‑1的轨迹点推算位置与所述卫星定位模块的位置数据的第I个差值,并获得K个差值的累积和;
如果K个差值的累积和小于设定的第一阈值或者循环次数超过设定的第二阈值,停止卷积神经网络模型的训练,获得训练好的卷积神经网络模型;
向训练好的卷积神经网络模型输入惯性测量单元的测量数据,获取训练好的卷积神经网络模型输出的每个时刻的IMU估计数据。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:如果K个差值的累积和大于或等于设定的第一阈值或者循环次数超过设定的第二阈值,并且K个差值的累积和小于卷积神经网络模型的损失值,将循环次数L更新为L+1,依据设定的卷积神经网络模型的学习率修改第j个卷积核的参数值,将卷积神经网络模型的损失值更新为K个差值的累积和,其中,j为L除N的余数。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:如果K个差值的累积和大于或等于设定的第一阈值或者循环次数没有超过设定的第二阈值,并且K个差值的累积和大于或等于卷积神经网络模型的损失值,将循环次数L更新为L+1,依据设定的卷积神经网络模型的学习率修改第j‑1个卷积核的参数值。
4.根据权利要求1至3任一项所述的方法,其特征在于,所述以步长为1、长度为N的滑动窗口对一时间段的惯性测量单元的测量数据进行分割,以时刻I至时刻N+I‑1的惯性测量单元的测量数据为第I组测量数据序列,获得每组包括N个测量数据的K组测量数据序列,其中,K为大于等于N的整数,I=1,2,…,K,包括:依据惯性测量单元的加速度的变化量的大小和/或惯性测量单元的角速度的变化量的大小调整滑动窗口的大小;
以步长为1、长度为N的滑动窗口对一时间段的惯性测量单元的测量数据进行分割,以时刻I至时刻N+I‑1的惯性测量单元的测量数据为第I组测量数据序列,获得每组包括N个测量数据的K组测量数据序列,其中,K为大于等于N的整数,I=1,2,…,K。
5.一种基于卷积神经网络模型的惯性测量数据校正装置,其特征在于,包括:初始模块,用于初始化卷积神经网络模型,包括:定义卷积神经网络模型的卷积核大小为N,并为每个卷积核设定参数值,其中,N为大于1的整数;
分割模块,用于以步长为1、长度为N的滑动窗口对一时间段的惯性测量单元的测量数据进行分割,以时刻I至时刻N+I‑1的惯性测量单元的测量数据为第I组测量数据序列,获得每组包括N个测量数据的K组测量数据序列,其中,K为大于等于N的整数,I=1,2,…,K;
输入模块,用于向卷积神经网络模型输入所述分割模块获得的K组测量数据序列,以及卫星定位模块的位置数据序列;
推算轨迹模块,用于使卷积神经网络模型分别依据所述输入模块输入的第I组测量数据序列输出时刻N+I‑1的IMU估计数据,并分别依据时刻N+I‑1的IMU估计数据推算获得时刻N+I‑1的轨迹点推算位置,由此获得K个轨迹点推算位置;
误差模块,用于依据所述推算轨迹模块获得的每个时刻N+I‑1的轨迹点推算位置与所述输入模块输入的所述卫星定位模块的位置数据,获得每个时刻N+I‑1的轨迹点推算位置与所述卫星定位模块的位置数据的第I个差值,并获得K个差值的累积和;
第一判断模块,用于判断所述误差模块获得的K个差值的累积和是否小于设定的第一阈值或者循环次数是否超过设定的第二阈值;
停止模块,用于如果所述第一判断模块判断K个差值的累积和小于设定的第一阈值或者循环次数超过设定的第二阈值,停止卷积神经网络模型的训练,获得训练好的卷积神经网络模型;
估计数据获取模块,用于向训练好的卷积神经网络模型输入惯性测量单元的测量数据,获取训练好的卷积神经网络模型输出的每个时刻的IMU估计数据。
6.根据权利要求5所述的装置,其特征在于,所述装置还包括:第二判断模块,用于如果所述第一判断模块判断K个差值的累积和大于或等于设定的第一阈值或者循环次数没有超过设定的第二阈值,判断K个差值的累积和是否小于卷积神经网络模型的损失值;
更新模块,用于如果所述第二判断模块判断K个差值的累积和小于卷积神经网络模型的损失值,将循环次数L更新为L+1,依据设定的卷积神经网络模型的学习率修改第j个卷积核的参数值,将卷积神经网络模型的损失值更新为K个差值的累积和,其中,j为L除N的余数。
7.根据权利要求6所述的装置,其特征在于:所述更新模块,还用于如果所述第二判断模块判断K个差值的累积和大于或等于卷积神经网络模型的损失值,将循环次数L更新为L+1,依据设定的卷积神经网络模型的学习率修改第j‑1个卷积核的参数值。
8.根据权利要求5‑7中任一项所述的装置,其特征在于,所述装置还包括:窗口调整模块,用于依据惯性测量单元的加速度的变化量的大小和/或惯性测量单元的角速度的变化量的大小调整滑动窗口的大小;
所述分割模块,用于以步长为1、长度为N的所述窗口调整模块调整大小的滑动窗口对一时间段的惯性测量单元的测量数据进行分割,以时刻I至时刻N+I‑1的惯性测量单元的测量数据为第I组测量数据序列,获得每组包括N个测量数据的K组测量数据序列,其中,K为大于等于N的整数,I=1,2,…,K。
9.一种电子设备,其特征在于,包括:处理器;以及
存储器,其上存储有可执行代码,当所述可执行代码被所述处理器执行时,使所述处理器执行如权利要求1‑4中任一项所述的方法。
10.一种非暂时性机器可读存储介质,其特征在于,非暂时性机器可读存储介质上存储有可执行代码,当所述可执行代码被电子设备的处理器执行时,使所述处理器执行如权利要求1‑4中任一项所述的方法。
说明书 :
基于卷积神经网络模型的惯性测量数据校正方法及装置
技术领域
背景技术
间等GPS信号不好的位置,相关技术的卫星定位模块的定位偏差很大,甚至无法提供定位结
果。而包含惯性测量单元(Inertial Measurement Unit,简称IMU)的惯性导航系统,可以利
用惯性测量单元的测量数据,能够推算出车辆准确的速度、姿态和位置信息。
段时间后,其参数和性能会发生变化,使得的测量数据会有所偏差,而且随着时间的推移积
累较大的误差,导致利用惯性测量单元的测量数据进行定位导航的进度降低。因此如何降
低惯性测量单元的测量误差,是一个亟待解决的技术问题。
发明内容
误差。
N个测量数据的K组测量数据序列,其中,K为大于等于N的整数,I=1,2,…,K;
K个轨迹点推算位置;
积和;
据设定的卷积神经网络模型的学习率修改第j个卷积核的参数值,将卷积神经网络模型的
损失值更新为K个差值的累积和,其中,j为L除N的余数。
新为L+1,依据设定的卷积神经网络模型的学习率修改第j‑1个卷积核的参数值。
得每组包括N个测量数据的K组测量数据序列,其中,K为大于等于N的整数,I=1,2,…,K,包
括:
N个测量数据的K组测量数据序列,其中,K为大于等于N的整数,I=1,2,…,K。
获得每组包括N个测量数据的K组测量数据序列,其中,K为大于等于N的整数,I=1,2,…,K;
时刻N+I‑1的轨迹点推算位置,由此获得K个轨迹点推算位置;
与所述定位模块的位置数据的第I个差值,并获得K个差值的累积和;
神经网络模型;
积神经网络模型的损失值;
卷积核的参数值,将卷积神经网络模型的损失值更新为K个差值的累积和,其中,j为L除N的
余数。
型的学习率修改第j‑1个卷积核的参数值。
的测量数据为第I组测量数据序列,获得每组包括N个测量数据的K组测量数据序列,其中,K
为大于等于N的整数,I=1,2,…,K。
络模型的训练样本,通过使卷积神经网络模型依据第I组加速度序列输出时刻N+I‑1的加速
度,依据第I组角速度序列输出时刻N+I‑1的角速度,增强训练样本的可信度,减少了训练样
本的误差;通过使卷积神经网络模型依据第I组加速度序列输出时刻N+I‑1的加速度,依据
第I组角速度序列输出时刻N+I‑1的角速度,推算获得时刻N+I‑1的轨迹点推算位置;依据时
刻N+I‑1的轨迹点推算位置与同一时间段的时刻N+I‑1的位置数据,获得时刻N+I‑1的轨迹
点推算位置与同一时间段的时刻N+I‑1的位置数据的第I个差值,获得K个差值的累积和;分
析K个差值的累积和与卷积神经网络模型的当前损失值,依据设定的卷积神经网络模型的
学习率,修改卷积神经网络模型的损失值和依次修改卷积神经网络模型的卷积核的参数
值,完成卷积神经网络模型的训练,能够提高卷积神经网络模型的训练精度和速率。向完成
训练的卷积神经网络模型输入惯性测量单元的加速度和角速度,使卷积神经网络模型输出
的降低测量误差的估计加速度和估计角速度。基于卷积神经网络模型的惯性测量数据校正
方法,能够基于卷积神经网络模型降低惯性测量单元的测量误差,获得降低测量误差的惯
性测量单元的校正测量数据,有助于提高惯性定位导航的精度。
附图说明
通常代表相同部件。
具体实施方式
相反,提供这些实施方式是为了使本申请更加透彻和完整,并且能够将本申请的范围完整
地传达给本领域的技术人员。
形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包
含一个或多个相关联的列出项目的任何或所有可能组合。
在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以
被称为第一信息。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更
多个该特征。在本申请的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限
定。
失值LOSS;设定卷积神经网络模型的学习率learn_rate。在一些实施例中,还可以定义循环
次数L=1。
小N,并为每个卷积核设定参数值,其中,N为大于1的整数。
率为100,N的取值可以是2、4、5、10、20……100、200等100的约数或倍数。在一些实施例中,N
的取值可以是10。
螺仪的角速度。可以通过惯性测量单元的加速度计获得的车辆的加速度、惯性测量单元的
陀螺仪获得的车辆的角速度。定位模块可以包括但不限于GPS模块、北斗卫星定位模块、RTK
(Real Time Kinematic,实时动态)定位模块等卫星定位模块中的至少一种。利用定位模块
可以获得车辆的定位信息,该定位信息可以包括但不限于位置信息、速度信息和姿态信息。
位置信息包括但不限于描述位置的经纬度坐标信息,姿态信息包括但不限于描述航向的航
向角信息。
在通过RTK定位模块获取车辆一个时间段的位置数据序列时,通过惯性测量单元的加速度
计获取同个一时间段的车辆的加速度,通过惯性测量单元的陀螺仪获取同一个时间段的车
辆的角速度。
序列,获得每组包括N个测量数据的K组测量数据序列,其中,K为大于等于N的整数,I=1,
2,…,K。
的K组加速度序列;以步长为1、长度为N的滑动窗口对同一个时间段的角速度进行分割,以
时刻I至时刻N+I‑1的角速度为第I组角速度序列,获得每组包括N个角速度的K组角速度序
列。
速度序列,直至获得包括N个加速度的K组加速度序列。将每N个角速度打包成一组,以时刻1
至时刻N的角速度为第一组角速度序列,时刻2至时刻N+1的角速度为第二组角速度序列,时
刻3至时刻N+2的角速度为第三组角速度序列,直至获得包括N个角速度的K组角速度序列。
推算位置,由此获得K个轨迹点推算数据。
I‑1的估计加速度和估计角速度,推算获得车辆在时刻N+I‑1的轨迹点推算位置,共获得K个
轨迹点推算数据,其中,I=1,2,…,K。
度为时刻N的估计角速度;以同一个时间段的RTK定位模块的时刻N‑1的位置数据为初始位
姿;以时刻N‑1的位置数据、时刻N的估计加速度和时刻N的估计角速度,推算得到时刻N的轨
迹点推算位置。
速度为时刻N+1的估计角速度;以同一个时间段的RTK定位模块的时刻N的位置数据为初始
位姿;以时刻N的位置数据、时刻N+1的估计加速度和时刻N+1的估计角速度,推算得到时刻N
+1的轨迹点推算位置。
输出的角速度为时刻N+I‑1的估计角速度;以同一个时间段的RTK定位模块的时刻N+I的位
置数据为初始位姿;以时刻N+I的位置数据、时刻N+I‑1的估计加速度和时刻N+I‑1的估计角
速度,推算得到时刻N+I‑1的轨迹点推算位置,推算获得K个轨迹点推算数据。
和。
刻N+1差值dp2;依此类推,依据同一个时间段的各时刻N+I‑1的轨迹点推算位置和定位模块
的位置数据,获得各时刻N+I‑1的差值dpI,其中,I=1,2,…,K,由此获得K个差值。可以理解
的是,时刻N+I‑1的轨迹点推算位置和定位模块的时刻N+I‑1位置数据在时间上是对齐的。
累计第一个差值dp1、第二个差值dp2……、第K个差值dpk的和,获得K个差值的累积和loss=
dp1+dp2+……+dpk。
有超过设定的第二阈值,执行步骤107;如果K个差值的累积和小于设定的第一阈值或者循
环次数超过设定的第二阈值,执行步骤108。
数;执行步骤104。
learn_rate修改第j个卷积核的参数值,其中,j=mod(L,N),即j为L除N的余数,然后将卷积
神经网络模型的损失值LOSS更新为K个差值的累积和loss。返回循环执行步骤104,对更新
损失值LOSS和修改卷积核的参数值后的卷积神经网络模型继续进行训练。
型的学习率learn_rate更新第j个卷积核的参数值xj,例如可以但不限于依据下列公式先
求解出第j个卷积核的新的参数值xj',然后将xj的值更新为xj'。
进行训练。
以依据设定的卷积神经网络模型的学习率learn_rate修改第N个卷积核的参数值xN,将卷
积神经网络模型当前的损失值LOSS更新为K个差值的累积和loss。返回循环执行步骤104,
对更新损失值LOSS和修改卷积核的参数值后的卷积神经网络模型继续进行训练。
得训练好的卷积神经网络模型。
阈值,并且,K个差值的累积和小于卷积神经网络模型的损失值,增加1次循环次数,将当前
的循环次数L更新为L+1,继续修改卷积神经网络模型的某个卷积核的下一个卷积核的参数
值,更新卷积神经网络模型的损失值;并再一次循环执行步骤104、105、106和107。如果循环
获得的K个差值的累积和小于设定的第一阈值,停止卷积神经网络模型的训练,即完成卷积
神经网络模型的训练,获得训练好的卷积神经网络模型。
列,通过循环获得的K个差值的累积和,循环修改卷积神经网络模型的卷积核的参数值和卷
积神经网络模型的当前损失值,对卷积神经网络模型进行训练。当超过设定的循环次数,例
如循环次数超过设定的第二阈值时,停止卷积神经网络模型的训练,即完成卷积神经网络
模型的训练,获得训练好的卷积神经网络模型。
累积和小于设定的第一阈值和循环次数超过设定的第二阈值两个条件都满足时,停止卷积
神经网络模型的训练。
在卷积神经网络模型的训练过程调整学习率。学习率自更新的方式可以参考相关技术,本
申请的实施例不再赘述。
况下,通过惯性测量单元的加速度计获取车辆的加速度,通过惯性测量单元的陀螺仪获取
车辆的角速度。向训练好的卷积神经网络模型输入车辆的加速度和角速度,使卷积神经网
络模型输出降低测量误差的每个时刻的估计加速度和估计角速度,以卷积神经网络模型输
出的估计加速度为校正后的加速度,以卷积神经网络模型输出的估计角速度为校正后的角
速度,完成惯性测量单元测量数据的校正。
每组包括N个角速度的K组角速度序列为卷积神经网络模型的训练样本,通过使卷积神经网
络模型依据第I组加速度序列输出时刻N+I‑1的加速度,依据第I组角速度序列输出时刻N+
I‑1的角速度,增强训练样本的可信度,减少了训练样本的误差;通过使卷积神经网络模型
依据第I组加速度序列输出时刻N+I‑1的加速度,依据第I组角速度序列输出时刻N+I‑1的角
速度,推算获得时刻N+I‑1的轨迹点推算位置;依据时刻N+I‑1的轨迹点推算位置与同一时
间段的时刻N+I‑1的位置数据,获得时刻N+I‑1的轨迹点推算位置与同一时间段的时刻N+I‑
1的位置数据的第I个差值,获得K个差值的累积和;分析K个差值的累积和与卷积神经网络
模型的当前损失值,依据设定的卷积神经网络模型的学习率,修改卷积神经网络模型的损
失值和依次修改卷积神经网络模型的卷积核的参数值,完成卷积神经网络模型的训练,能
够提高卷积神经网络模型的训练精度和速率。向完成训练的卷积神经网络模型输入惯性测
量单元的加速度和角速度,使卷积神经网络模型输出的降低测量误差的估计加速度和估计
角速度。基于卷积神经网络模型的惯性测量数据校正方法,能够基于卷积神经网络模型降
低惯性测量单元的测量误差,获得降低测量误差的惯性测量单元的校正测量数据,有助于
提高惯性定位导航的精度。
螺仪的角速度。可以通过惯性测量单元的加速度计获得的车辆的加速度、惯性测量单元的
陀螺仪获得的车辆的角速度。定位模块可以包括但不限于GPS模块、北斗卫星定位模块、RTK
定位模块等卫星定位模块中的至少一种。利用定位模块可以获得车辆的定位信息,该定位
信息可以包括但不限于位置信息、速度信息和姿态信息。位置信息包括但不限于描述位置
的经纬度坐标信息,姿态信息包括但不限于描述航向的航向角信息。
在通过RTK定位模块获取车辆一个时间段的位置数据序列时,通过惯性测量单元的加速度
计获取同个一时间段的车辆的加速度,通过惯性测量单元的陀螺仪获取同一个时间段的车
辆的角速度。
序列,获得每组包括N个测量数据的K组测量数据序列,其中,K为大于等于N的整数,I=1,
2,…,K。
的K组加速度序列;以步长为1、长度为N的滑动窗口对同一个时间段的角速度进行分割,以
时刻I至时刻N+I‑1的角速度为第I组角速度序列,获得每组包括N个角速度的K组角速度序
列。
速度序列,直至获得包括N个加速度的K组加速度序列。将每N个角速度打包成一组,以时刻1
至时刻N的角速度为第一组角速度序列,时刻2至时刻N+1的角速度为第二组角速度序列,时
刻3至时刻N+2的角速度为第三组角速度序列,直至获得包括N个角速度的K组角速度序列。
辆的加速度,获得车辆在设定时间段的加速度的变化量,依据加速度的变化量的大小调整
滑动窗口的大小。如果车辆在设定时间段的加速度的变化量大于或等于第一设定阈值,增
大滑动窗口;如果车辆在设定时间段的加速度的变化量小于第一设定阈值,减小滑动窗口。
例如,车辆在加速或者减速行驶时,车辆在设定时间段的加速度的变化量大于或等于第一
设定阈值,增大滑动窗口,即增多获得的惯性测量单元的测量数据,可以向卷积神经网络模
型输入的更多的每组包括N个加速度的加速度序列和每组包括N个角速度的角速度序列;车
辆在直线匀速行驶时,车辆在设定时间段的加速度的变化量小于第一设定阈值,减小滑动
窗口,即减少获得的惯性测量单元的测量数据,可以向卷积神经网络模型输入的较少的每
组包括N个加速度的加速度序列和每组包括N个角速度的角速度序列。
如果车辆在设定时间段的角速度的变化量大于或等于第二设定阈值,增大滑动窗口;如果
车辆在设定时间段的角速度的变化量小于第二设定阈值,减小滑动窗口。例如,车辆在多弯
路段转弯行驶时,车辆在设定时间段的角速度的变化量大于或等于第二设定阈值,增大滑
动窗口;车辆在直线路段行驶时,车辆在设定时间段的角速度的变化量小于第二设定阈值,
减小滑动窗口。
N个加速度的K组加速度序列;以步长为1、长度为N的调整大小的滑动窗口对同一个时间段
的角速度进行分割,以时刻I至时刻N+I‑1的角速度为第I组角速度序列,获得每组包括N个
角速度的K组角速度序列。
推算位置,由此获得K个轨迹点推算数据。
和。
有超过设定的第二阈值,执行步骤207;如果K个差值的累积和小于设定的第一阈值或者循
环次数超过设定的第二阈值,执行步骤210。
于或等于卷积神经网络模型的损失值,执行步骤209。
当前的损失值。如果K个差值的累积和小于卷积神经网络模型的损失值,执行步骤208;如果
K个差值的累积和大于或等于卷积神经网络模型的损失值,执行步骤209。
为L除N的余数;执行步骤204。
习率learn_rate更新第j(L+1)个卷积核的参数值xj,其中,j=mod(L,N) ,即j为L除N的余
数,例如可以但不限于依据下列公式先求解出第j个卷积核的新的参数值xj',然后将xj的值
修改为xj'。
进行训练。
型的学习率learn_rate更新第j‑1(L+1‑1)个卷积核的参数值xj‑1,其中,j=mod(L,N),即j为
L除N的余数,例如可以但不限于依据下列公式先求解出第j‑1个卷积核的新的参数值xj‑1',
然后将xj‑1的值修改为xj‑1'。
0,可以依据设定的卷积神经网络模型的学习率learn_rate修改第N个卷积核的参数值xN,
将卷积神经网络模型当前的损失值LOSS更新为K个差值的累积和loss。返回循环执行步骤
104,对更新损失值LOSS和修改卷积核的参数值后的卷积神经网络模型继续进行训练。如果
K个差值的累积和loss大于或等于卷积神经网络模型的损失值LOSS,增加1次循环次数,将
当前的循环次数L更新为L+1,如果循环次数L除N的余数为0,可以依据设定的卷积神经网络
模型的学习率learn_rate修改第N‑1个卷积核的参数值xN‑1。返回循环执行步骤104,对更新
损失值LOSS和修改卷积核的参数值后的卷积神经网络模型继续进行训练。
再判断K个差值的累积和loss是否小于卷积神经网络模型的损失值LOSS。如果K个差值的累
积和loss大于或等于卷积神经网络模型的损失值LOSS,将循环次数L更新为L+1=2,依据设
定的卷积神经网络模型的学习率learn_rate修改第1(1+1‑1)个卷积核的参数值x1,将第1
个卷积核的参数值x1修改为x1'。可以依据下列公式先求解出第1个卷积核的新的参数值x1,
然后将x1的值更新为x1'。
个卷积核的参数值进行修改。
参数值x2,将第2个卷积核的参数值x2修改为x2'。可以依据下列公式先求解出第2个卷积核
的新的参数值x2,然后将x1的值更新为x2'。
进行训练。如果K个差值的累积和loss大于或等于卷积神经网络模型的损失值LOSS,继续对
第2个卷积核的参数值进行修改;直至K个差值的累积和loss小于卷积神经网络模型的损失
值LOSS,继续对第3个卷积核的参数值进行修改和更新卷积神经网络模型的损失值LOSS;依
此类推,直至获得的K个差值的累积和loss小于设定的第一阈值。
得训练好的卷积神经网络模型。
值。如果K个差值的累积和Loss大于或等于设定的第一阈值,再判断K个差值的累积和loss
是否小于卷积神经网络模型的损失值LOSS。如果K个差值的累积和大于或等于卷积神经网
络模型的损失值,继续修改卷积神经网络模型当前的某个卷积核的参数值;循环执行步骤
204、205、206和207,直至获得的K个差值的累积和小于卷积神经网络模型的损失值。如果K
个差值的累积和小于卷积神经网络模型的损失值,修改卷积神经网络模型当前的某个卷积
核的下一个卷积和的参数值,然后更新卷积神经网络模型的当前损失值;循环执行步骤
204、205、206、207、208和209,直到循环获得的K个差值的累积和小于设定的第一阈值,停止
卷积神经网络模型的训练,即完成卷积神经网络模型的训练,获得训练好的卷积神经网络
模型。
循环利用包括N个加速度的K组加速度序列和包括N个角速度的K组角速度序列,通过循环获
得的K个差值的累积和,判断K个差值的累积和是否小于卷积神经网络模型的损失值,循环
修改卷积神经网络模型的卷积核的参数值和卷积神经网络模型的当前损失值,对卷积神经
网络模型进行训练。当超过设定的循环次数,例如循环次数超过设定的第二阈值时,停止卷
积神经网络模型的训练,即完成卷积神经网络模型的训练,获得训练好的卷积神经网络模
型。
累积和小于设定的第一阈值和循环次数超过设定的第二阈值两个条件都满足时,停止卷积
神经网络模型的训练。
动窗口的大小,在车辆转弯和/或加减速行驶时,增大滑动窗口;在车辆直线匀速行驶时,减
少滑动窗口,能够提高卷积神经网络模型的训练精度和速率。
判断模块307、第二判断模块308、更新模块309、停止模块310、估计数据获取模块311。
络模型的损失值LOSS;设定卷积神经网络模型的学习率learn_rate。在一些实施例中,初始
模块301还可以定义循环次数L=1。
的卷积核大小N,并为每个卷积核设定参数值,其中,N为大于1的整数。
元的采集频率为100,N的取值可以是2、4、5、10、20……100、200等100的约数或倍数。
列,获得每组包括N个测量数据的K组测量数据序列,其中,K为大于等于N的整数,I=1,2,…,
K。
螺仪的角速度。分割模块302可以通过惯性测量单元的加速度计获得的车辆的加速度、惯性
测量单元的陀螺仪获得的车辆的角速度。定位模块可以包括但不限于GPS模块、北斗卫星定
位模块、RTK(RealTimeKinematic,实时动态)定位模块等卫星定位模块中的至少一种。分割
模块302利用定位模块可以获得车辆的定位信息,该定位信息可以包括但不限于位置信息、
速度信息和姿态信息。位置信息包括但不限于描述位置的经纬度坐标信息,姿态信息包括
但不限于描述航向的航向角信息。
置数据序列。在通过RTK定位模块获取车辆一个时间段的位置数据序列时,分割模块302通
过惯性测量单元的加速度计获取同个一时间段的车辆的加速度,通过惯性测量单元的陀螺
仪获取同一个时间段的车辆的角速度。
N个加速度的K组加速度序列;分割模块302以步长为1、长度为N的滑动窗口对同一个时间段
的角速度进行分割,以时刻I至时刻N+I‑1的角速度为第I组角速度序列,获得每组包括N个
角速度的K组角速度序列。
为第三组加速度序列,直至获得包括N个加速度的K组加速度序列。分割模块302将每N个角
速度打包成一组,以时刻1至时刻N的角速度为第一组角速度序列,时刻2至时刻N+1的角速
度为第二组角速度序列,时刻3至时刻N+2的角速度为第三组角速度序列,直至获得包括N个
角速度的K组角速度序列。
惯性测量单元的加速度计获取的车辆的加速度,获得车辆在设定时间段的加速度的变化
量,依据加速度的变化量的大小调整滑动窗口的大小。如果车辆在设定时间段的加速度的
变化量大于或等于第一设定阈值,窗口调整模块303增大滑动窗口;如果车辆在设定时间段
的加速度的变化量小于第一设定阈值,窗口调整模块303减小滑动窗口。例如,车辆在加速
或者减速行驶时,车辆在设定时间段的加速度的变化量大于或等于第一设定阈值,窗口调
整模块303增大滑动窗口,即增多获得的惯性测量单元的测量数据,可以向卷积神经网络模
型输入的更多的每组包括N个加速度的加速度序列和每组包括N个角速度的角速度序列;车
辆在直线匀速行驶时,车辆在设定时间段的加速度的变化量小于第一设定阈值,窗口调整
模块303减小滑动窗口,即减少获得的惯性测量单元的测量数据,可以向卷积神经网络模型
输入的较少的每组包括N个加速度的加速度序列和每组包括N个角速度的角速度序列。
化量的大小调整滑动窗口的大小。如果车辆在设定时间段的角速度的变化量大于或等于第
二设定阈值,窗口调整模块303增大滑动窗口;如果车辆在设定时间段的角速度的变化量小
于第二设定阈值,窗口调整模块303减小滑动窗口。例如,车辆在多弯路段转弯行驶时,车辆
在设定时间段的角速度的变化量大于或等于第二设定阈值,窗口调整模块303增大滑动窗
口;车辆在直线路段行驶时,车辆在设定时间段的角速度的变化量小于第二设定阈值,窗口
调整模块303减小滑动窗口。
I组加速度序列,获得每组包括N个加速度的K组加速度序列;分割模块302以步长为1、长度
为N的窗口调整模块303调整大小的滑动窗口对同一个时间段的角速度进行分割,以时刻I
至时刻N+I‑1的角速度为第I组角速度序列,获得每组包括N个角速度的K组角速度序列。
数据序列。
得时刻N+I‑1的轨迹点推算位置,由此获得K个轨迹点推算位置。
组角速度序列输出时刻N+I‑1的估计角速度,并依据时刻N+I‑1的估计加速度和估计角速
度,推算获得车辆在时刻N+I‑1的轨迹点推算位置,共获得K个轨迹点推算数据,其中,I=1,
2,…,K。
为时刻N的估计加速度,以输出的角速度为时刻N的估计角速度;以同一个时间段的RTK定位
模块的时刻N‑1的位置数据为初始位姿;以时刻N‑1的位置数据、时刻N的估计加速度和时刻
N的估计角速度,推算得到时刻N的轨迹点推算位置。
为时刻N+1的估计加速度,以输出的角速度为时刻N+1的估计角速度;以同一个时间段的RTK
定位模块的时刻N的位置数据为初始位姿;以时刻N的位置数据、时刻N+1的估计加速度和时
刻N+1的估计角速度,推算得到时刻N+1的轨迹点推算位置。
加速度为时刻N+I‑1的估计加速度,以输出的角速度为时刻N+I‑1的估计角速度;以同一个
时间段的RTK定位模块的时刻N+I的位置数据为初始位姿;以时刻N+I的位置数据、时刻N+I‑
1的估计加速度和时刻N+I‑1的估计角速度,推算得到时刻N+I‑1的轨迹点推算位置,推算获
得K个轨迹点推算数据。
的第I个差值,并获得K个差值的累积和。
得的时刻N+1的轨迹点推算位置和定位模块的位置数据,获得时刻N+1差值dp2;依此类推,
依据推算轨迹模块305获得的同一个时间段的各时刻N+I‑1的轨迹点推算位置和定位模块
的位置数据,获得各时刻N+I‑1的差值dpI,其中,I=1,2,…,K,由此获得K个差值。可以理解
的是,推算轨迹模块305获得的时刻N+I‑1的轨迹点推算位置和定位模块的时刻N+I‑1位置
数据在时间上是对齐的。误差模块306累计第一个差值dp1、第二个差值dp2……、第K个差值
dpk的和,获得K个差值的累积和loss=dp1+dp2+……+dpk。
卷积神经网络模型的损失值。
个卷积核的参数值,将卷积神经网络模型的损失值更新为K个差值的累积和;如果第二判断
模块308判断K个差值的累积和大于或等于卷积神经网络模型的损失值,将循环次数L更新
为L+1,依据设定的卷积神经网络模型的学习率修改第j‑1个卷积核的参数值,其中,j为L除
N的余数。
积神经网络模型。
块308判断K个差值的累积和是否小于卷积神经网络模型的损失值。如果第二判断模块308
判断K个差值的累积和小于卷积神经网络模型的损失值,更新模块309增加1次循环次数,将
当前的循环次数L更新为L+1,依据设定的卷积神经网络模型的学习率learn_rate修改第j
个卷积核的参数值,其中,j=mod(L,N),即j为L除N的余数,然后将卷积神经网络模型的损失
值LOSS更新为K个差值的累积和loss。返回循环执行推算轨迹模块305、误差模块306、第一
判断模块307、第二判断模块308、更新模块309,对更新模块309更新损失值LOSS和修改卷积
核的参数值后的卷积神经网络模型继续进行训练。
L+1,依据设定的卷积神经网络模型的学习率learn_rate更新第j个卷积核的参数值xj,例
如可以但不限于依据下列公式先求解出第j个卷积核的新的参数值xj',然后将xj的值更新
为xj'。
308、更新模块309,对更新模块309更新损失值LOSS和修改卷积核的参数值后的卷积神经网
络模型继续进行训练。
L+1,依据设定的卷积神经网络模型的学习率learn_rate更新第j‑1(L+1‑1)个卷积核的参
数值xj‑1,其中,j=mod(L,N),即j为L除N的余数,例如可以但不限于依据下列公式先求解出
第j‑1个卷积核的新的参数值xj‑1',然后将xj‑1的值修改为xj‑1'。
行训练。
L+1,如果循环次数L除N的余数为0,可以依据设定的卷积神经网络模型的学习率learn_
rate修改第N个卷积核的参数值xN,将卷积神经网络模型当前的损失值LOSS更新为K个差值
的累积和loss。返回循环执行推算轨迹模块305、误差模块306、第一判断模块307、第二判断
模块308、更新模块309,对更新模块309更新损失值LOSS和修改卷积核的参数值后的卷积神
经网络模型继续进行训练。如果第二判断模块308判断K个差值的累积和loss大于或等于卷
积神经网络模型的损失值LOSS,更新模块309增加1次循环次数,将当前的循环次数L更新为
L+1,如果循环次数L除N的余数为0,可以依据设定的卷积神经网络模型的学习率learn_
rate修改第N‑1个卷积核的参数值xN‑1。返回循环执行推算轨迹模块305、误差模块306、第一
判断模块307、第二判断模块308、更新模块309,对更新模块309更新损失值LOSS和修改卷积
核的参数值后的卷积神经网络模型继续进行训练。
断模块307判断K个差值的累积和Loss大于或等于设定的第一阈值,第二判断模块308再判
断K个差值的累积和loss是否小于卷积神经网络模型的损失值LOSS。如果第二判断模块308
判断K个差值的累积和loss大于或等于卷积神经网络模型的损失值LOSS,更新模块309将循
环次数L更新为L+1=2,依据设定的卷积神经网络模型的学习率learn_rate修改第1(1+1‑1)
个卷积核的参数值x1,将第1个卷积核的参数值x1修改为x1'。更新模块309可以依据下列公
式先求解出第1个卷积核的新的参数值x1,然后将x1的值更新为x1'。
行训练。直至第二判断模块308判断获得的K个差值的累积和loss小于卷积神经网络模型的
损失值LOSS,更新模块309对第2个卷积核的参数值进行修改。
learn_rate修改第2(1+1)个卷积核的参数值x2,将第2个卷积核的参数值x2修改为x2'。更新
模块309可以依据下列公式先求解出第2个卷积核的新的参数值x2,然后将x1的值更新为
x2'。
308、更新模块309,对更新模块309更新损失值LOSS和修改卷积核的参数值后的卷积神经网
络模型继续进行训练。如果第二判断模块308判断K个差值的累积和loss大于或等于卷积神
经网络模型的损失值LOSS,更新模块309继续对第2个卷积核的参数值进行修改;直至第二
判断模块308判断K个差值的累积和loss小于卷积神经网络模型的损失值LOSS,更新模块
309继续对第3个卷积核的参数值进行修改和更新卷积神经网络模型的损失值LOSS;直至第
一判断模块307判断获得的K个差值的累积和loss小于设定的第一阈值。
完成卷积神经网络模型的训练,获得训练好的卷积神经网络模型。
块308、更新模块309。误差模块306获得K个差值的累积和;如果第一判断模块307判断误差
模块306循环获得的K个差值的累积和大于或等于设定的第一阈值,并且,第二判断模块308
判断K个差值的累积和小于卷积神经网络模型的损失值,更新模块309增加1次循环次数,将
当前的循环次数L更新为L+1,继续修改卷积神经网络模型的某个卷积核的下一个卷积核的
参数值,更新卷积神经网络模型的损失值。并再一次循环执行推算轨迹模块305、误差模块
306、第一判断模块307、第二判断模块308、更新模块309;如果第一判断模块307判断误差模
块306循环获得的K个差值的累积和小于设定的第一阈值,停止模块310停止卷积神经网络
模型的训练,即完成卷积神经网络模型的训练,获得训练好的卷积神经网络模型。
的K组加速度序列和包括N个角速度的K组角速度序列;误差模块306通过循环获得K个差值
的累积和;更新模块309循环修改卷积神经网络模型的卷积核的参数值和卷积神经网络模
型的当前损失值,对卷积神经网络模型进行训练。当第一判断模块307判断断超过设定的循
环次数,例如第一判断模块307判断循环次数超过设定的第二阈值时,停止模块310停止卷
积神经网络模型的训练,即完成卷积神经网络模型的训练,获得训练好的卷积神经网络模
型。
况下,估计数据获取模块311通过惯性测量单元的加速度计获取车辆的加速度,通过惯性测
量单元的陀螺仪获取车辆的角速度。估计数据获取模块311向训练好的卷积神经网络模型
输入车辆的加速度和角速度,使卷积神经网络模型输出降低测量误差的每个时刻的估计加
速度和估计角速度,以卷积神经网络模型输出的估计加速度为校正后的加速度,以卷积神
经网络模型输出的估计角速度为校正后的角速度,完成惯性测量单元测量数据的校正。
为卷积神经网络模型的训练样本,通过使卷积神经网络模型依据第I组加速度序列输出时
刻N+I‑1的加速度,依据第I组角速度序列输出时刻N+I‑1的角速度,增强训练样本的可信
度,减少了训练样本的误差;通过使卷积神经网络模型依据第I组加速度序列输出时刻N+I‑
1的加速度,依据第I组角速度序列输出时刻N+I‑1的角速度,推算获得时刻N+I‑1的轨迹点
推算位置;依据时刻N+I‑1的轨迹点推算位置与同一时间段的时刻N+I‑1的位置数据,获得
时刻N+I‑1的轨迹点推算位置与同一时间段的时刻N+I‑1的位置数据的第I个差值,获得K个
差值的累积和;分析K个差值的累积和与卷积神经网络模型的当前损失值,依据设定的卷积
神经网络模型的学习率,修改卷积神经网络模型的损失值和依次修改卷积神经网络模型的
卷积核的参数值,完成卷积神经网络模型的训练,能够提高卷积神经网络模型的训练精度
和速率。向完成训练的卷积神经网络模型输入惯性测量单元的加速度和角速度,使卷积神
经网络模型输出的降低测量误差的估计加速度和估计角速度。基于卷积神经网络模型的惯
性测量数据校正方法,能够基于卷积神经网络模型降低惯性测量单元的测量误差,获得降
低测量误差的惯性测量单元的校正测量数据,有助于提高惯性定位导航的精度。
和/或加减速行驶时,增大滑动窗口;在车辆直线匀速行驶时,减少滑动窗口,能够提高卷积
神经网络模型的训练精度和速率。
(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列 (Field‑
Programmable Gate Array,FPGA) 或者其他可编程逻辑器件、分立门或者晶体管逻辑器
件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理
器等。
令。永久存储装置可以是可读写的存储装置。永久存储装置可以是即使计算机断电后也不
会失去存储的指令和数据的非易失性存储设备。在一些实施方式中,永久性存储装置采用
大容量存储装置(例如磁或光盘、闪存)作为永久存储装置。另外一些实施方式中,永久性存
储装置可以是可移除的存储设备(例如软盘、光驱)。系统内存可以是可读写存储设备或者
易失性可读写存储设备,例如动态随机访问内存。系统内存可以存储一些或者所有处理器
在运行时需要的指令和数据。此外,存储器401可以包括任意计算机可读存储媒介的组合,
包括各种类型的半导体存储芯片(DRAM,SRAM,SDRAM,闪存,可编程只读存储器),磁盘和/或
光盘也可以采用。在一些实施方式中,存储器401可以包括可读和/或写的可移除的存储设
备,例如激光唱片(CD)、只读数字多功能光盘(例如DVD‑ROM,双层DVD‑ROM)、只读蓝光光盘、
超密度光盘、闪存卡(例如SD卡、min SD卡、Micro‑SD卡等等)、磁性软盘等等。计算机可读存
储媒介不包含载波和通过无线或有线传输的瞬间电子信号。
程序代码指令。
当可执行代码(或计算机程序、或计算机指令代码)被电子设备(或电子设备、服务器等)的
处理器执行时,使处理器执行根据本申请的上述方法的各个步骤的部分或全部。
术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨
在最好地解释各实施例的原理、实际应用或对市场中的技术的改进,或者使本技术领域的
其它普通技术人员能理解本文披露的各实施例。