传感器算法参数调优的分布式系统和调优方法与流程

文档序号:15694749发布日期:2018-10-19 18:51阅读:176来源:国知局

本发明涉及参数调优技术领域,具体涉及一种传感器算法参数调优的分布式系统和调优方法。



背景技术:

dr(deadreckoning,航位推算,也叫惯性导航或惯导)算法基于滤波算法与gps信号及其他外部信号输入做组合,可以在信号遮挡严重的区域(高架下、隧道、高楼旁等)输出推算的位置与姿态信息,是一种重要的定位技术,然而dr算法中的参数个数多达数十个,每个参数针对不同的设备型号、传感器型号、不同的使用场景、不同性能指标要求,需要作出相应的调整,不同的参数取值对dr算法的性能有较大影响。为挑选最优的参数取值组合,需要进行大量不同场景的测试与数据采集,并使用高精度设备获得参考值(包含经纬度、高度、航向等),以不同参数取值、相同的采集数据运行算法,得到dr输出结果,与参考值进行对比,二者误差越小则参数越优。

现有方案使用单节点计算不同参数下dr算法的输出与参考间误差,在大量参数取值组合、采集数据下受限于单机cpu与内存,计算过程耗时极长且需要人工干预,在算法研发过程中,一旦算法发生变化,参数取值组合也发生相应变化,需要重新进行参数调优,又需要重复上述过程,使得算法适配终端效率低下;同时如何对dr算法结果与参考值之间的误差进行统计,缺乏统一、有效的模型。



技术实现要素:

本发明提出了一种分布式系统和调优方法,可以快速从大量的参数取值组合中挑选最优解,缩短了调优时间,并提出了一种衡量dr算法性能的统计模型,从而加快dr算法适配多种终端的速度。

本发明采用的技术方案如下:

一种传感器算法参数调优的分布式系统,所述分布式系统包括:

权重系数配置模块,用于在评估算法参数时对权重系数进行配置,所述权重系数包括场景系数、隧道系数和误差项系数;

算法参数组合模块,用于基于权重系数配置结果对算法参数取值进行组合,对参数组合计算量进行评估,根据评估结果调整算法参数取值组合方式;

算法输入配置模块,用于在权重系数配置和算法参数取值组合配置完成后,选择算法分支,编译算法分支为动态链接库,选择测试数据,配置运行参数;

分布式调度框架,用于将运行参数、测试数据作为输入,多任务并行调动动态链接库,并将算法输出结果存储于分布式文件系统中;

调优调度模块,用于分析存储于分布式文件系统中的算法输出,并将算法输出作为新的输入进行分布式分析。

进一步地,调优调度模块分布式分析包括依次进行误差计算、误差统计、归一计算、最优选取、场景权衡和参数验证。

进一步地,算法参数组合模块根据测试数据量、参数取值组合数目、集群大小对参数组合计算量进行评估。

进一步地,算法分支由统一代码运行仓库管理,从代码仓库拉取指定算法分支,编译算法分支为动态链接库;测试数据由实际数据而来,存于分布式文件系统中;运行参数由管理控制台配置。

进一步地,所述分布式调度框架为支持mapreduce模型的集群或者spark分布式集群。

进一步地,所述误差计算将不同参数组合、测试数据分发到集群中不同任务执行,将各任务计算得到算法结果与参考数据比较,输出误差值,存于分布式文件系统中;

所述误差统计根据误差计算中得到的误差值,统计不同场景、不同算法参数组合、不同误差类型的误差,并将结果存于分布式文件系统中;

所述归一计算使用所配置的权重系数调整误差统计的结果,得到不同算法参数组合的最终综合误差;

所述最优选取是将归一计算中得到的综合误差进行排序,按照实际需要选取算法参数组合作为候选;

所述场景权衡是根据算法应用场景,从候选中挑选最优参数;

所述参数验证是将所挑选的最优参数应用于新采集的测试数据或未参与调优的测试数据,验证所选参数是否具有普适性。

本发明还提供了一种传感器算法参数调优方法,所述方法包括以下步骤:

在设备端运行算法,得到测试数据,存储于分布式文件系统中;

进入管理控制台,配置权重系数,所述权重系数包括场景系数、隧道系数和误差项系数;

在管理控制台中配置算法参数组合,对参数组合计算量进行评估,根据评估结果调整算法参数取值组合方式;

从管理控制台中选择代码仓库中算法分支,编译算法分支为动态链接库,上传至分布式文件系统中;指定分布式文件系统中数据集为算法输入数据集;配置运行参数;

启动集群任务,使用配置的参数、分布式文件系统中的输入数据集运行动态链接库,并将结果存于分布式文件系统中;

将分布式文件系统中的算法输出与测试时得到的参考数据做对比,计算相同时间下,算法输出与参考之间的误差,先后执行误差计算、误差统计、归一计算、最优选取、场景权衡、参数验证;

输出最终算法参数,使用该算法参数运行设备端算法;如果不满足要求,则重复执行上述步骤,直到输出满足要求的算法参数。

进一步地,所述测试数据包括gnss数据、传感器数据、参考设备采集数据。

进一步地,所述算法输出与参考之间的误差包括绝对平面位置误差、法向位置误差、纵向位置误差。

本发明还提供了一种存储器,所述存储器存储有计算机程序,所述计算机程序被处理器执行如下步骤:

在设备端运行算法,得到测试数据,存储于分布式文件系统中;

进入管理控制台,配置权重系数,所述权重系数包括场景系数、隧道系数和误差项系数;

在管理控制台中配置算法参数组合,对参数组合计算量进行评估,根据评估结果调整算法参数取值组合方式;

从管理控制台中选择代码仓库中算法分支,编译算法分支为动态链接库,上传至分布式文件系统中;指定分布式文件系统中数据集为算法输入数据集;配置运行参数;

启动集群任务,使用配置的参数、分布式文件系统中的输入数据集运行动态链接库,并将结果存于分布式文件系统中;

将分布式文件系统中的算法输出与测试时得到的参考数据做对比,计算相同时间下,算法输出与参考之间的误差,先后执行误差计算、误差统计、归一计算、最优选取、场景权衡、参数验证;

输出最终算法参数,使用该算法参数运行设备端算法;如果不满足要求,则重复执行上述步骤,直到输出满足要求的算法参数。

本发明的有益效果在于,提出了一种多维度的算法性能衡量模型,并使用分布式计算缩短参数调优过程,可将调优周期由周、月缩短到天、小时。

附图说明

图1为本发明传感器算法参数调优的分布式系统架构图。

具体实施方式

本发明提出了一种dr算法调优的分布式架构,该架构利用分布式计算框架,并行处理不同的算法参数与测试数据组成的算法输入,分布式统计每种输入对应的输出结果,并挑选得到算法运行的最优参数,极大的缩短了算法调优耗时,同时提出了一种衡量算法性能的统计模型,量化了dr算法在不同场景下的性能与综合性能。下文中,结合附图和实施例对本发明作进一步阐述。

实施例一:

图1为本发明传感器算法参数调优的分布式系统架构图,系统一共分为五个部分,按参数调优过程分为权重系数配置模块、算法参数组合模块、算法输入配置模块、分布式调度框架、调优调度模块;

1)权重系数配置模块

dr算法性能与场景、误差类型紧密相关,在评估算法参数优劣时,不同场景所占权重不同、不同误差类型所占权重不同;例如若算法偏向于提升高架下定位性能,则统计误差时可以增加高架下误差所占权重,若算法偏向于减小定位法向位置误差,则统计误差时可以增加法向位置误差所占权重。

权重系数一共分为三类,分别是场景系数、隧道系数、误差系数。

场景系数:细分dr算法性能所关注的场景类型,根据应用需求,针对每种场景配置权重系数,场景包括但不仅限于,隧道、高楼旁、高架(上城市)、高架(下)、低矮楼/高架旁、空旷、地下车库、不评估场景、密集等;各场景系数相加值为1。

隧道系数:隧道场景是dr算法最重要的场景之一,设备在隧道中运行不同时长,其误差统计权重不同,按不同应用对dr算法在隧道中的性能要求不同,将隧道中运行时长分为30s、60s、120s、180s、240s等。

误差系数:误差可以用不同的统计方式进行衡量,同时对不同应用,不同误差类型所占权重不同,其中,

统计方式包括,平均值,最大值,最小值,rmse(均方根误差亦称标准误差)、cep997(cep,圆概率误差)、历元分布(误差值小于1m、3m、10m等,误差角度小于5度、10度、20度等);

误差类型包括:绝对平面位置误差、法向误差、纵向误差、高程误差、地速误差、俯仰角误差、航向角误差、横滚角误差等。

2)算法参数组合模块

dr算法运行时的控制参数、卡尔曼滤波矩阵初始值等约数十个参数,不同取值,会对算法性能产生不同影响

参数取值组合:即dr算法待调优参数及取值范围的笛卡尔积,例如dr算法一共有n个参数,构成集合sn,sn={p1,p2,p3...pi...pn},其中pi为第i个参数,且pi的取值种类为pi,则所有参数组合种类n为:

其中任意一种组合称为一个算法参数,算法参数调优过程即为从n种参数中挑选最优者;

参数组合计算量评估:根据测试数据量、参数取值组合数目、集群大小,给出算法运行时长评估值,每m原始数据、一组参数、一个cpu下运行时长为基本单位t,则原始数据大小为q,参数种类为n,集群cpu核数为x时,运行时长t=α*q*n*x*t,其中α为系数,根据实际集群网络、内存等调整;若运行耗时过长,则可以扩大集群规模或调整参数取值组合方式。

3)算法输入配置模块

权重系数、算法参数配置后,需要选择算法代码分支、测试数据集,配置其他运行参数。

其中算法代码分支由统一代码运行仓库管理,例如gitlab(一种代码分支与版本管理的工具平台),从代码仓库拉取指定分支算法代码,编译为动态链接库;测试数据由实际测试而来,存于dfs(distributefilesystem,分布式文件系统)中;其他运行参数由管理控制台配置;

4)分布式调度框架

调度框架为支持mapreduce(一种编程模型,用于大规模数据集的并行运算)模型的集群或其他分布式集群,例如spark等;将上述所配置参数、测试数据作为输入,多任务并行调度动态链接库,并将算法输出结果存储于集群的dfs中用于分析。

5)调优调度模块

分析存储于集群dfs中的算法输出,并将输出作为新的输入,按步骤进行分布式分析,步骤包括:

误差计算:利用集群调度功能,将不同参数组合、测试数据集元信息分发到集群中不同任务执行,例如参数组合数为n,测试数据集大小为m,集群任务数为ttask,则每个任务处理的输入参数种类为(m*n)/ttask;

将各任务计算得到dr算法结果与参考数据比较,按不同场景、不同算法参数组合、不同设备、不同误差类型输出误差值,存于dfs中。

误差统计:根据误差计算中得到的误差值,按设备id聚合,统计不同场景、不同算法参数组合、不同误差类型的误差平均值、最大值、最小值、rmse、cep99.7、不同取值区间的历元分布等,结果存于dfs中。

归一计算:使用所配置的场景系数、隧道系数、误差系数调整误差统计结果(不包括平均值、最大值、最小值,仅限于rmse、cep99.7、不同取值区间的历元分布,例如高楼旁场景系数为g,绝对平面位置误差系数为j,误差统计中得到的某组测试数据对应的高楼旁绝对平面位置误差rmse为r,则调整后rmse为g*j*r),得到不同算法参数组合的最终综合误差。

最优选取:将归一计算中得到的综合误差进行排序,按照实际需要,取综合误差较小k个算法参数组合做候选。

场景权衡:根据算法应用场景,例如是否侧重于隧道性能、是否侧重高架下性能等,从k个候选中挑选最优参数。

参数验证:将所挑选的最优参数应用于新采集的测试数据或未参与调优的测试数据,查看误差统计结果、轨迹图等,验证所选参数是否具有普适性(即在应用所需要的场景下,轨迹误差小、综合误差小)。

实施例二:

本发明还提供了一种参数调优方法,包括以下步骤:

步骤s1,在设备端运行dr算法(算法参数为未调优参数),和高精度设备一同进行测试,得到测试数据(包括gnss数据、传感器数据、参考设备采集数据等),存储于dfs中。

步骤s2,进入管理控制台,配置权重系数,场景系数中场景个数为e,高楼旁、高架上、高架下、地下车库等分别为α1,α2,α3...αi...αe,其中设置隧道30s,60s,120s权重系数分别为τ1,τ2,τ3,设置不同误差类型权重系数,例如绝对平面位置误差、法向位置误差、高程误差等权重系数分别为ε1,ε2,ε3等。

步骤s3,在管理控制台中配置算法参数组合,例如参数陀螺x轴零偏不稳定性原始值为gx,取值为gx*2f,f∈{-3,-2,-1,0,1,2},即共有6中取值可能;相应的陀螺y轴零偏不稳定性、陀螺x轴角度随机游走、加计零偏相关时间等参数都有不同的取值可能,所有参数组合可能性为n,评估计算量在合理区间后执行步骤s4。

步骤s4,从管理控制台中选择代码仓库中算法分支,编译算法分支为动态链接库,上传至dfs中;指定dfs中数据集为算法输入数据集;配置运行参数,例如计算频率、传感器频率、输出频率等、输出路径等。

步骤s5,启动多个集群任务,使用步骤s2-步骤s4中配置的参数、dfs中的输入数据集运行动态链接库,并将结果存于dfs中。

步骤s6,将步骤s4中的算法输出与测试时得到的参考数据做对比,计算相同时间下,算法输出与参考之间的误差,包括绝对平面位置误差、法向位置误差、纵向位置误差等,按照前述调优调度模块中所述,先后执行误差计算、误差统计、归一计算、最优选取、场景权衡、参数验证。

步骤s7,输出最终算法参数,使用该算法参数运行设备端算法;若效果不佳,则重复步骤s1-步骤s6,直到输出符合要求的算法参数。

在本实施的另一变形方案中,使用单节点计算不同参数下dr算法的输出与参考间误差,并用matlab或其他工具统计不同场景误差,并挑选最优参数组合

实施例三:

本发明还提供了一种存储器,所述存储器存储有计算机程序,所述计算机程序被处理器执行如下步骤:

在设备端运行算法,得到测试数据,存储于分布式文件系统中;

进入管理控制台,配置权重系数,所述权重系数包括场景系数、隧道系数和误差项系数;

在管理控制台中配置算法参数组合,对参数组合计算量进行评估,根据评估结果调整算法参数取值组合方式;

从管理控制台中选择代码仓库中算法分支,编译算法分支为动态链接库,上传至分布式文件系统中;指定分布式文件系统中数据集为算法输入数据集;配置运行参数;

启动集群任务,使用配置的参数、分布式文件系统中的输入数据集运行动态链接库,并将结果存于分布式文件系统中;

将分布式文件系统中的算法输出与测试时得到的参考数据做对比,计算相同时间下,算法输出与参考之间的误差,先后执行误差计算、误差统计、归一计算、最优选取、场景权衡、参数验证;

输出最终算法参数,使用该算法参数运行设备端算法;如果不满足要求,则重复执行上述步骤,直到输出满足要求的算法参数。

本发明虽然已以较佳实施例公开如上,但其并不是用来限定本发明,任何本领域技术人员在不脱离本发明的精神和范围内,都可以利用上述揭示的方法和技术内容对本发明技术方案做出可能的变动和修改,因此,凡是未脱离本发明技术方案的内容,依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化及修饰,均属于本发明技术方案的保护范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1