运动轨迹的重构方法和装置、存储介质、电子装置与流程

文档序号:18516640发布日期:2019-08-24 09:30阅读:197来源:国知局
运动轨迹的重构方法和装置、存储介质、电子装置与流程

本发明涉及电子地图领域,具体而言,涉及一种运动轨迹的重构方法和装置、存储介质、电子装置。



背景技术:

随着车辆的增多和出行需求的增加,人们对车载导航的依赖越来越强。导航定位是否准确已成为人们选择车载导航装置的最重要因素。

相关技术中的车辆定位系统一般依赖于gps信号或网络信号,车辆定位系统的定位模块只有通过gps信号或网络信号传输或者网络传输才能获取定位结果。然而,当车辆行驶到隧道或者地下车库等没有gps信号或者网络信号的位置,车辆无法通过gps采集到的定位数据实现精准的定位,只能根据速度来做位置轨迹的估算。

从上述可知,从而导致车辆监控系统存在两个技术缺陷。一方面,当行驶车辆进入车辆定位信号微弱或无车辆定位信号的区域时,行驶车辆处于“暂时丢失”的状态,由于无法获取到准确的车辆定位信号导致无法对行驶车辆进行准确定位;另一方面,由于民用车载导航终端采用的定位芯片的定位精度较差,车辆监控中心不可避免地接收到漂移的定位数据(即表示的车辆当前位置相比车辆实际位置发生偏移的车辆位置数据),最终导致车辆行驶轨迹监控系统监控界面上的车辆行驶曲线相比车辆实际行驶轨迹出现偏离,由此造成了对车辆驾驶人员的误导,降低了用户的导航体验。

针对上述的问题,目前尚未提出有效的解决方案。



技术实现要素:

本发明实施例提供了一种运动轨迹的重构方法和装置、存储介质、电子装置,以至少解决相关技术中对车辆的运动轨迹进行重构的准确率较低的技术问题。

根据本发明实施例的一个方面,提供了一种运动轨迹的重构方法,包括:获取数据集合,其中,数据集合中保存有在目标对象的运动过程中对目标对象的所在位置进行定位得到的定位数据;通过对数据集合中的一部分定位数据进行数据拟合,得到多段第一曲线,其中,第一曲线是对采集时间相邻的多个定位数据进行拟合得到的,数据集合的另一部分定位数据中噪声数据所占的比例高于数据集合的一部分定位数据中噪声数据所占的比例;基于多段第一曲线确定目标对象的运动轨迹。

根据本发明实施例的另一方面,还提供了一种运动轨迹的重构装置,包括:获取单元,用于获取数据集合,其中,数据集合中保存有在目标对象的运动过程中对目标对象的所在位置进行定位得到的定位数据;拟合单元,用于通过对数据集合中的一部分定位数据进行数据拟合,得到多段第一曲线,其中,第一曲线是对采集时间相邻的多个定位数据进行拟合得到的,数据集合的另一部分定位数据中噪声数据所占的比例高于数据集合的一部分定位数据中噪声数据所占的比例;确定单元,用于基于多段第一曲线确定目标对象的运动轨迹。

根据本发明实施例的另一方面,还提供了一种存储介质,该存储介质包括存储的程序,程序运行时执行上述的方法。

根据本发明实施例的另一方面,还提供了一种电子装置,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器通过计算机程序执行上述的方法。

在本发明实施例中,获取数据集合,数据集合中保存有在目标对象的运动过程中对目标对象的所在位置进行定位得到的定位数据;通过对数据集合中的一部分定位数据进行数据拟合,得到多段第一曲线,第一曲线是对采集时间相邻的多个定位数据进行拟合得到的,数据集合的另一部分定位数据中噪声数据所占的比例高于数据集合的一部分定位数据中噪声数据所占的比例;基于多段第一曲线确定目标对象的运动轨迹,由于在轨迹重构的过程中使用的是过滤后的数据,所使用的定位数据不包括噪声数据或只包括少量噪声数据,从而可以使得重构的运动轨迹与原始运动轨迹更为接近,可以解决相关技术中对车辆的运动轨迹进行重构的准确率较低的技术问题,进而达到了准确重构车辆的运动轨迹的技术效果。

附图说明

此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:

图1是根据本发明实施例的运动轨迹的重构方法的硬件环境的示意图;

图2是根据本发明实施例的一种可选的运动轨迹的重构方法的流程图;

图3是根据本发明实施例的一种可选的运动轨迹的重构方法的流程图;

图4是根据本发明实施例的一种可选的滤波结果的示意图;

图5是根据本发明实施例的一种可选的最优轨迹曲线的示意图;

图6是根据本发明实施例的一种可选的欧拉曲线的示意图;

图7是根据本发明实施例的一种可选的最优轨迹曲线的示意图;

图8是根据本发明实施例的一种可选的地图重构轨迹曲线的示意图;

图9是根据本发明实施例的一种可选的自动驾驶轨迹调整的示意图;

图10是根据本发明实施例的一种可选的运动轨迹的重构装置的示意图;以及,

图11是根据本发明实施例的一种终端的结构框图。

具体实施方式

为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。

需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

首先,在对本发明实施例进行描述的过程中出现的部分名词或者术语适用于如下解释:

自动驾驶汽车(autonomousvehicles;self-pilotingautomobile):又称无人驾驶汽车、电脑驾驶汽车、或轮式移动机器人,是一种通过电脑系统实现无人驾驶的智能汽车。

卡尔曼滤波(kalmanfiltering):一种利用线性系统状态方程,通过系统输入输出观测数据,对系统状态进行最优估计的算法。由于观测数据中包括系统中的噪声和干扰的影响,所以最优估计也可看作是滤波过程。

根据本发明实施例的一方面,提供了一种运动轨迹的重构方法的方法实施例。

可选地,在本实施例中,上述运动轨迹的重构方法可以应用于如图1所示的由服务器101和/或终端103所构成的硬件环境中。如图1所示,服务器101通过网络与终端103进行连接,可用于为终端或终端上安装的客户端提供服务(如游戏服务、应用服务、地图服务、自动驾驶等),可在服务上或独立于服务器设置数据库105,用于为服务器101提供数据存储服务,上述网络包括但不限于:广域网、城域网或局域网,终端103并不限定于pc、手机、平板电脑等。

本发明实施例的运动轨迹的重构方法可以由终端103来执行,图2是根据本发明实施例的一种可选的运动轨迹的重构方法的流程图,如图2所示,该方法可以包括以下步骤:

步骤s202,终端获取数据集合,数据集合中保存有在目标对象的运动过程中对目标对象的所在位置进行定位得到的定位数据。

上述的终端为随动于目标对象的智能终端,目标对象可以为车辆、人、飞机等可移动的对象,为了描述方便,后续以目标对象为车辆、智能终端为车载终端为例进行说明。

数据集合中保存的元素为定位数据,如车辆进行定位得到的全球定位系统gps(globalpositioningsystem)的定位数据、惯性制导数据等,例如,车辆在行驶的过程中,可以采用定时(如每隔1秒)的方式对车辆所在位置进行定位,即可以采集车辆在运动轨迹上的多个点的定位数据,而不用持续一直对其进行定位,以便节约定位设备的能效、降低定位过程对车载设备的硬件消耗量。

步骤s204,终端通过对数据集合中的一部分定位数据进行数据拟合,得到多段第一曲线,第一曲线是对采集时间相邻的多个定位数据进行拟合得到的,数据集合的另一部分定位数据中噪声数据所占的比例高于数据集合的一部分定位数据中噪声数据所占的比例。

在通过对数据集合中的一部分定位数据进行数据拟合得到多段第一曲线时,所使用的为不包括噪声数据或者包括相对更少噪声数据的定位数据,相当于在进行轨迹重构前对数据集中的定位数据进行过滤,其目的是过滤掉为噪声数据的定位数据(即另一部分数据),而尽量包括定位较准确的数据(即一部分定位数据),另一部分数据主要包括噪声数据,而一部分定位数据基本不包括噪声数据,或者理解为另一部分数据中噪声数据所占的比例(100%或者接近于100%)远大于一部分定位数据中噪声数据所占的比例(0%或者接近于0%),即本申请的技术方案相当于是在滤波的基础上对目标对象的运动轨迹进行了分段重构,可以大幅降低对gps噪声和数据缺失的影响,恢复后的轨迹线与真实行驶数据误差达到工业级质量,数据是自适应分段,有效降低了数据量。

上述的曲线拟合(curvefitting)是指用连续曲线近似地刻画或比拟平面上一组离散点所表示的坐标(即定位数据所指示的点)之间的函数关系,是一种用解析表达式逼近离散数据的方法,曲线拟合通俗的说法就是“拉曲线”,也就是将已有数据透过数学方法来代入一条数学方程式的表示方法。如通过诸如采样、实验等方法获得若干离散的定位数据,根据这些定位数据,找到一个连续的函数(也就是曲线)或者更加密集的离散方程,使得定位数据与方程的曲线能够在最大程度上近似吻合。

步骤s206,终端基于多段第一曲线确定目标对象的运动轨迹。

在上述实施例中,以本发明实施例的运动轨迹的重构方法由终端103来执行为例进行说明,本发明实施例的运动轨迹的重构方法也可以由服务器101来执行,其与上述实施例的区别在于,执行主体由终端103替换为了服务器101,本发明实施例的运动轨迹的重构方法还可以是由服务器101和终端103共同执行,由终端执行其中的一个或两个步骤(如步骤s202),而服务器执行剩余步骤(如步骤s204和步骤s206)。其中,终端103执行本发明实施例的运动轨迹的重构方法也可以是由安装在其上的客户端(如地图应用的客户端或者内置地图服务的应用的客户端)来执行。

通过上述步骤s202至步骤s206,通过对数据集合中的一部分定位数据进行数据拟合,得到多段第一曲线,第一曲线是对采集时间相邻的多个定位数据进行拟合得到的;基于多段第一曲线确定目标对象的运动轨迹,由于数据集合的另一部分定位数据中噪声数据所占的比例高于数据集合的一部分定位数据中噪声数据所占的比例,即在轨迹重构的过程中使用的是过滤后的数据,所使用的定位数据不包括噪声数据或只包括少量噪声数据,从而可以使得重构的运动轨迹与原始运动轨迹更为接近,可以解决相关技术中对车辆的运动轨迹进行重构的准确率较低的技术问题,进而达到了准确重构车辆的运动轨迹的技术效果。

在本申请的技术方案中,可采用卡尔曼滤波等滤波方案来获取分段欧拉缓和曲线(即第一曲线),以自适应恢复行车轨迹线(即运动轨迹),有效地重构城市道路路况下车辆行驶的复杂的直线行驶几何轨迹、曲线拐弯掉头几何轨迹,和两种状态之间衔接的行驶几何轨迹,本申请的方案可以大幅降低gps噪声和数据缺失对轨迹重构的影响,此处的gps噪声主要是处于gps信号不好的位置(如车库、城市建筑密集区域、地下通道等)时定位得到的gps定位信息,而数据缺失主要是指在缺少gps定位装置的地方间歇性地无法获取gps定位信息(如顺序穿过多个山洞时,处于洞中时无法采集到gps定位信息,仅仅在山洞之间的位置能够采集少量gps定位信息),相关技术中在存在gps噪声数据的情况下所重构的轨迹会存在较大误差,而在缺少gps信息的情况由于定位数据量较少会导致无法恢复行驶轨迹,而本申请的技术方案可在gps等定位信号较弱或缺失的情况下实现,如在噪声数据较多时过滤掉属于噪声数据的定位数据,仅仅采用其中定位较准确的定位数据进行轨迹重构,而由于采用本申请的分段重构所使用的定位数据量较少,可以实现在无gps信号的情况下利用少量gps定位数据和惯性制导数据(惯性制导数据可利用进洞前的gps定位数据和车辆的惯性制导单元测得的加速度等推导出车辆进入山洞中后所处的位置)实现轨迹重构,解决在gps等定位信号较弱或缺失的情况下的轨迹重构问题,重构后的轨迹线与真实行驶数据误差达到工业级质量,数据是自适应分段,有效降低了数据处理量。下面结合图2所示的步骤进一步详述本申请的技术方案。

在步骤s202提供的技术方案中,终端获取数据集合,数据集合中保存有在目标对象的运动过程中对目标对象的所在位置进行定位得到的定位数据。

在一个可选地实施例中,上述数据集合中的元素可以为gps定位数据、惯性导航imu(inertialmeasurementunit)的数据(如三轴加速度、三轴角速度等)以及车轮编码器的信息(如实测的车轮速度)中的一种或多种,还可以为根据gps、惯性导航imu以及车轮编码器的信息中的至少一种解算后的行车轨迹点数据。

在步骤s204提供的技术方案中,终端通过对数据集合中的一部分定位数据进行数据拟合,得到多段第一曲线,第一曲线是对采集时间相邻的多个定位数据进行拟合得到的,数据集合的另一部分定位数据中噪声数据所占的比例高于数据集合的一部分定位数据中噪声数据所占的比例。

在上述实施例中,通过对数据集合中的一部分定位数据进行数据拟合,得到多段第一曲线主要包括如下步骤1-步骤2:

步骤1,按照第一参数所指示的段数对数据集合中的一部分定位数据进行数据拟合,得到多段第二曲线,第一参数用于指示多段第二曲线的段数。

上述的第二曲线和第一曲线可以欧拉曲线,欧拉曲线是曲率随曲线长度线性变化的参数曲线,定义如下,其中b为起始点(x0,y0)处的曲率,a为曲率线性变化的斜率,(vx,vy)为起始点处的单位方向向量:

x(s)=x0+∫cos(a*s*s+b*s+vx)ds,

y(s)=y0+∫cos(a*s*s+b*s+vy)ds,

曲率变化k=a*s+b,

拟合的方案采用随机几何模型,即采用分段欧拉曲线,分段曲线的个数,起始点(x0,y0)、参数a和b、单位向量(vx,vy)可以为随机变量,通过优化这些随机变量,使得总的拟合误差最小,s表示曲线或者轨迹中待确定曲率的位置,ds表示对曲线或者轨迹的积分。

可选地,按照第一参数对数据集合中的一部分定位数据进行数据拟合,得到多段第二曲线可包括:过滤数据集合中属于噪声数据(即前述的另一部分定位数据)的定位数据,得到目标数据(即前述的一部分定位数据),属于噪声数据的定位数据所表示的定位点与运动轨迹之间的距离大于不属于噪声数据的定位数据所表示的定位点与运动轨迹之间的距离,换言之,噪声数据是一些偏离较远的数据;按照第一参数所指示的段数,对目标数据进行拟合得到多段第二曲线,即多段第二曲线的段数即第一参数所指示的段数。

如采用卡尔曼滤波来实现过滤,以(k-1)时刻的最优估计x(k-1)(如k-1时刻的定位数据)为准,预测k时刻的状态变量进而可以根据(k-1)时刻的最优估计和状态变量确定k时刻的最优状态估计xk(即理想的k时刻的定位数据),同时又对该状态进行观测,得到观测变量zk(即实际的k时刻的定位数据),再在预测与观测之间进行分析,如比较二者之间的差值是否达到某个阈值,以此来确定观测变量是否为噪声,如达到了某个阈值则认为是噪声,反之则不是。

在一个可选地实施例中,可以计算某个定位数据与相邻定位数据之间的方差,并计算与所有相邻定位数据之间的方差之和,当该和值与所有相邻定位数据之间的比值大于某个阈值时,可认为该定位数据为噪声数据(即另一部分定位数据),否则不为噪声数据(即一部分定位数据)。

可选地,可按照如下方式确认多段第二曲线是否满足目标条件:根据多段第二曲线的数据拟合参数、第二参数、第三参数以及第四参数确定多段第二曲线是否满足目标条件,其中,第二参数为角度超过第一阈值的两个相邻的第二曲线之间的夹角,第三参数为相邻的第二曲线之间的曲率超过第二阈值的个数,第四参数为长度超过第三阈值的第二曲线的段数。第一阈值、第二阈值以及第三阈值为预先设定的数值,具体是可以根据实际情况来设定,例如,第一阈值为90度,第二阈值为3,第三阈值为5。

上述的拟合参数也可称为拟合优度(goodnessoffit),是回归直线(即拟合得到的曲线)对观测值(即定位数据)的拟合程度,度量拟合优度的统计量是可决系数(亦称确定系数)r2,r2最大值为1,r2的值越接近1,说明回归直线对观测值的拟合程度越好;反之,r2的值越小,说明回归直线对观测值的拟合程度越差。可运用判定系数和回归标准差,检验模型对样本观测值的拟合程度。

在一种可选的实施方式中,根据多段第二曲线的数据拟合参数、第二参数、第三参数以及第四参数确定多段第二曲线是否满足目标条件可包括步骤11-步骤13:

步骤11,获取多段第二曲线的数据拟合参数(或称数据拟合程度data_fitting)与第一权重α之间的第一乘积、第二参数#angle_diff与第二权重β之间的第二乘积、第三参数#curvagture_diff与第三权重γ之间的第三乘积以及第四参数(或称超过允许最大长度的曲线个数#length)与第四权重ε之间的第四乘积,其中,第一权重、第二权重、第三权重以及第四权重之和为1。

步骤12,在第五参数大于第四阈值的情况下,确定多段第二曲线不满足目标条件,第五参数为第一乘积、第二乘积、第三乘积以及第四乘积之和。第四阈值可以为经验值,或者试验出来的数据,可以根据实际情况进行取值,如取值为10。

步骤13,在第五参数不大于第四阈值的情况下,确定多段第二曲线满足目标条件。

在又一个可选的实施例中,在根据多段第二曲线的数据拟合参数、第二参数、第三参数以及第四参数确定多段第二曲线是否满足目标条件的过程中,可以按照如下步骤14-步骤15所示的方案进行优化:

步骤14,在第五参数不大于第四阈值的情况下,对多段第二曲线执行调整操作,调整操作包括以下至少之一:在第一范围内调整第二曲线的起始位置的单位方向向量(其相当于调整了相邻曲线的夹角)、在第二范围内调整第二曲线与第二曲线覆盖内的定位数据之间的拟合参数、在第三范围内调整相邻的第二曲线之间的曲率,第一范围是为单位方向向量设置的取值范围,第二范围是为拟合参数设置的取值范围,第三范围是为目标曲率设置的取值范围。可选地,在执行调整操作时,可以随机执行上述调整中的一种,也可执行其中的多种,甚至全部。

可选地,在第三范围内调整相邻的第二曲线之间的目标曲率可包括:根据第三范围调整第一变量a和第二变量b的取值;将第五乘积与第二变量之和作为目标曲率的取值k,第五乘积为第一变量a与第六参数s(用于表示曲线中待确定曲率的位置)之间的乘积。

步骤15,获取执行调整操作后的多段第二曲线的第五参数,并利用第五参数确定多段第二曲线是否满足目标条件,具体参照前述步骤11-步骤13。

需要说明的是,在经过步骤14的多次调整的情况下,若继续调整会导致超出相应的取值范围的情况下,则调整第一参数的取值,然后再次进入步骤11至步骤15,直至找到最优的分段方式。

步骤2,在多段第二曲线满足目标条件的情况下,将多段第二曲线作为多段第一曲线。

步骤3,在多段第二曲线不满足目标条件的情况下,调整第一参数的取值,并按照调整取值后的第一参数对数据集合中的一部分定位数据进行数据拟合,得到多段第二曲线。

在步骤s206提供的技术方案中,终端基于多段第一曲线确定目标对象的运动轨迹。

在上述实施例中,基于多段第一曲线确定目标对象的运动轨迹可包括:按照多段第二曲线满足目标条件时的相邻的第二曲线之间的目标夹角和目标曲率;按照相邻的第二曲线之间的目标夹角和目标曲率对相邻的第二曲线进行连接,得到运动轨迹,换言之,即将前述的最优线段组合作为运动轨迹。

可选地,可以将本申请的技术方案应用于自动驾驶领域,此时的目标对象相当于自动驾驶车辆,在基于多段第一曲线确定目标对象的运动轨迹之后,可以采用本申请的技术方案对车辆的行驶姿态进行调整:根据运动轨迹和目标轨迹对自动驾驶车辆的行驶姿态进行调整,以使调整后的自动驾驶车辆在目标轨迹上行驶,其中,目标轨迹是为自动驾驶车辆设定的行驶轨迹。

可选地,参见图9,根据运动轨迹和目标轨迹对自动驾驶车辆的行驶姿态进行调整包括如下所示的步骤1-步骤3:

步骤1,获取自动驾驶车辆在运动轨迹l1上行驶时的行驶速度v和调整时间t,如位于a时的行驶速度,调整时间可以是用户设定的、系统默认的、服务器设定的等;

步骤2,按照行驶速度和调整时间确定第一位置c和第二位置d,其中,第一位置为自动驾驶车辆在运动轨迹上按照行驶速度和调整时间行驶至的位置(即根据上述行驶速度v继续行驶时间t所到达的位置c),第二位置为目标轨迹上的与第一位置在第一方向y上坐标相同的位置,相当于穿越c做与x平行的线,该线与目标轨迹l2的交点即第二位置d;

步骤3,根据坐标差的二倍2(xd-xc)与调整时间的平方之间t2的比值2(xd-xc)/t2确定自动驾驶车辆在第二方向上的加速度a,坐标差为第二位置在第二方向x上的坐标xd和第一位置在第二方向上的坐标xc之间的差值,第二方向与第一方向不同,自动驾驶车辆的行驶姿态包括加速度。

在一个可选地的实施例中,a可以为2(xd-xc)/t2,车辆可以按照加速度a行驶至d点,然后将该加速度a导致的在第二方向x上的速度归零。

考虑到将该加速度a导致的在第二方向x上的速度归零需要时间,可以采用如下方式进行优化,a可以为4(xd-xc)/t2,先控制车辆按照加速度a行驶t/2,然后再控制车辆按照-a行驶t/2,从而使得车辆到达d时不会因为a产生在第二方向上的速度,相当于车辆会从a点(b点与之具有相同的y轴坐标)开始由原来的行驶轨迹ac转变为ad,最终在d点与规划的行驶轨迹相交。

作为一种可选的实施例,下面以将本申请的技术方案应用于车辆的行驶轨迹(即运动轨迹)的重构为例详述本申请的技术方案。

普通导航应用的测绘车辆,配备有车载的差分gps接收机,惯性导航模块以及车轮编码器来记录车辆测绘作业中的车辆位置和姿态信息。高精度测绘车辆,往往还会在测绘道路附近架设gps基站,还会使用一些辅助定位服务用以提高定位精度。根据车辆位置和姿态信息,和这些辅助定位信息,车辆在测绘过程中的位置可以初步恢复成为一些离散的车辆轨迹点。

根据这些车辆轨迹点,往往受到gps观测噪声的污染,使用卡尔曼滤波对车辆运行的轨迹进行状态空间方程建模,通过运动方程约束来降低噪声影响,然后,使用最小二乘原则下的曲线拟合,通过曲线几何的约束,如连续性和光滑性等约束,来进一步降低观测噪声,重构车辆的轨迹线。

用来拟合的曲线,可以是直线和圆的组合曲线,或者是三阶贝塞尔分段曲线,以及三阶b样条曲线。一种拟合的方法或者是迭代性凑试法,即逐个数据点用不同参数的拟合元素去拟合,考察最小二乘意义下的拟合误差,当达到一定拟合误差或者迭代步骤个数之后,得到拟合结果。另一种拟合方法,是整体考虑所有数据点作为观测点,计算拟合曲线上对应点与这些观测点的最小二乘误差,通过调整拟合曲线参数,求得在最小二乘误差下的拟合曲线,作为拟合结果。

可见,相关技术中是根据gps、惯性导航imu以及车轮编码器的信息解算后的行车轨迹点,通过卡尔曼滤波先降低gps观测误差,再采用最小二乘法来拟合重构行车线轨迹。拟合的曲线可以是圆和直线的组合的分段曲线,三次贝塞尔分段曲线或者三次b样条曲线。由于城市环境路况复杂、道路几何短促而多变,受空间限制的突然的转向非常普遍,对拟合的曲线灵活度有较高要求,导致拟合的分段曲线分段数较大,或这样条曲线控制点较多,从而使数据量较大。此外,城市道路由于遮挡较多、gps信号强度较弱、车辆轨迹点噪声和缺失较多,使得最小二乘拟合算法往往难以保证可靠性和精度。

相关技术中存在三方面的问题:一方面,拟合算法将全部的数据都作为拟合数据,导致引入了噪声,而且也没有考虑由于城市环境、gps信号质量不好导致数据缺失的问题,从而使得拟合的结果的可靠性和精度较低;另一方面,城市道路环境复杂,受周边建筑、植被、地形和人为特殊因素影响,道路几何一致性较差,突然的转向和变化非常剧烈,这样导致常用的拟合曲线分段数较多,数据量大,并且拟合的质量不固定,较平缓的部分较好,而急剧突变的地方较差,拟合的误差性能也不固定;且,最小二乘拟合算法只能保证拟合误差的数学期望较低,而拟合误差的方差较大,即为了保证拟合的稳定性而牺牲了拟合精度。

本方案采用了采用卡尔曼滤波辅助下的分段欧拉缓和曲线自适应恢复行车轨迹线,有效解决了这三方面的问题:第一,拟合算法自适应选取数据中的点参与拟合,采用类似ransac(随机抽样一致性)的原则,自适应去除了误差较大的点对于拟合影响;第二,拟合的元素是欧拉缓和曲线,灵活度较高,直线、圆都是它的特殊条件下情况,可以拟合复杂道路几何,而不用较多的分段曲线组合来拟合,这样拟合后的数据量较小;第三,拟合误差采用拟合数据向拟合曲线做直接投影的欧式距离定义,直接对应最终拟合误差,拟合优化的过程直接降低拟合误差,从而提高了拟合精度。

本方案适用于城市环境下高精度地图采集中的车辆轨迹重建,以及城市环境自动驾驶中的车辆轨迹建模,采用本方案重构车辆轨迹,可以有效提升轨迹重建的精度和可靠性,从而使城市环境下的高精度地图采集数据品质更高,进一步提升高精度地图的品质。对于车辆轨迹建模,可以更有效的构建车辆行驶行为模型,使自动驾驶更柔和,更符合真实情况,舒适度更高。

本方案主要分为两个主要步骤,具体参见图3:

步骤s302,对gps/imu解算后车辆轨迹点(即数据集合中)进行卡尔曼滤波,滤波的结果参见图4,红色点(图4中以黑色圆点示出)为结算后的点,蓝色折线(图4中以黑色折线)为卡尔曼滤波结果。

步骤s304,按照优化分段段数和每段的曲线参数进行自适应欧拉分段曲线拟合,得到最优轨迹曲线,参见图5,蓝色线(图5中以曲线501示出)为卡尔曼滤波结果,红色线(图5中以曲线503示出)为曲线拟合结果。

参见图6,欧拉曲线是曲率随曲线长度线性变化的参数曲线,可以使用如下所示的公式进行描述,其中b为起始点(x0,y0)处的曲率,a为曲率线性变化的斜率,(vx,vy)为起始点处的单位方向向量:

x(s)=x0+∫cos(a*s*s+b*s+vx)ds

y(s)=y0+∫cos(a*s*s+b*s+vy)ds

拟合的方案采用随机几何模型,即采用分段欧拉曲线,分段曲线的个数,起始点(x0,y0),a和b,单位向量(vx,vy)均是随机变量,通过优化这些随机变量,使得总的拟合误差最小。

拟合误差代价函数定义为,每条分段曲线与其覆盖范围内的数据样品点的拟合程度,以及每两组相邻的拟合曲线之间的切向量的跳变大小,曲率跳变大小,曲线长度是否较长,均作为考虑的因素。具体定义如下公式:α、β、γ、ε均为权重系数,data_fitting为数据拟合程度,#angle_diff为相邻分段曲线在连接处的切线角度跳变超过最大允许角度跳变的个数,#curvagture_diff为相邻分段曲线在连接处的曲率跳变超过最大允许曲率跳变的个数,#length为超过允许最大长度的曲线个数:

e1=α*data_fitting+β*#angle_diff+γ*#curvagture_diff+ε*#length,

由于需要优化的参数较多,曲线的个数不固定,参数范围大,所以总体的优化参数维度非常巨大,为了克服这个问题,本申请采用可跳转维度的蒙特卡洛仿真rjmcmc(reversiblejumpmcmc)的方法,配合模拟退火,来实现最优解。

优化过程首先设定一个固定分段数,和默认的曲线参数,通过不断变化分段曲线的组合,来进行优化。变化分段曲线组合的方法为,随机选定一下步骤,合并和打断分段曲线,改变相邻分段曲线连接点位置,改变每个分段曲线的起始点的方向向量,以及改变曲率参数a和b。每次迭代随机选取一个步骤,计算变化后的拟合误差代价函数是否降低,如果降低,则接受;否则,则按照一定概率接受或拒绝,这样迭代一定次数之后,就达到收敛状态,这时的分段曲线组合就是最优的拟合曲线(如图7所示),即精度和分段个数都是最优。

本方案可满足工业级精度的车辆轨迹线重构,满足高精度地图采集和车辆行驶轨迹的建模,参见图8,有效提升自动驾驶产品质量。

需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。

根据本发明实施例的另一个方面,还提供了一种用于实施上述运动轨迹的重构方法的运动轨迹的重构装置。图10是根据本发明实施例的一种可选的运动轨迹的重构装置的示意图,如图10所示,该装置可以包括:

获取单元901,用于获取数据集合,其中,数据集合中保存有在目标对象的运动过程中对目标对象的所在位置进行定位得到的定位数据。

上述的终端为随动于目标对象的智能终端,目标对象可以为车辆、人、飞机等可移动的对象,为了描述方便,后续以目标对象为车辆、智能终端为车载终端为例进行说明。

数据集合中保存的元素为定位数据,如对车辆进行定位得到的全球定位系统gps的定位数据、惯性制导数据等,例如,车辆在行驶的过程中,可以采用定时(如每隔1秒)的方式对车辆所在位置进行定位,即可以采集车辆在运动轨迹上的多个点的定位数据,而不用持续一直对其进行定位,可以节约定位设备的能效、降低定位过程对车载设备的硬件消耗量。

拟合单元903,用于通过对数据集合中的一部分定位数据进行数据拟合,得到多段第一曲线,其中,第一曲线是对采集时间相邻的多个定位数据进行拟合得到的,数据集合的另一部分定位数据中噪声数据所占的比例高于数据集合的一部分定位数据中噪声数据所占的比例。

在通过对数据集合中的一部分定位数据进行数据拟合得到多段第一曲线时,所使用的为不包括噪声数据或者包括相对更少噪声数据的定位数据,相当于在进行轨迹重构前对数据集中的定位数据进行过滤,其目的是过滤掉为噪声数据的定位数据(即另一部分数据),而尽量包括定位较准确的数据(即一部分定位数据),另一部分数据主要包括噪声数据,而一部分定位数据基本不包括噪声数据,或者理解为另一部分数据中噪声数据所占的比例(100%或者接近于100%)远大于一部分定位数据中噪声数据所占的比例(0%或者接近于0%),即本申请的技术方案相当于是在滤波的基础上对目标对象的运动轨迹进行了分段重构,可以大幅降低对gps噪声和数据缺失的影响,恢复后的轨迹线与真实行驶数据误差达到工业级质量,数据是自适应分段,有效降低了数据量。

确定单元905,用于基于多段第一曲线确定目标对象的运动轨迹。

需要说明的是,该实施例中的获取单元901可以用于执行本申请实施例中的步骤s202,该实施例中的拟合单元903可以用于执行本申请实施例中的步骤s204,该实施例中的确定单元905可以用于执行本申请实施例中的步骤s206。

此处需要说明的是,上述模块与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在如图1所示的硬件环境中,可以通过软件实现,也可以通过硬件实现。

通过上述模块,获取数据集合,数据集合中保存有在目标对象的运动过程中对目标对象的所在位置进行定位得到的定位数据;通过对数据集合中的一部分定位数据进行数据拟合,得到多段第一曲线,第一曲线是对采集时间相邻的多个定位数据进行拟合得到的,数据集合的另一部分定位数据中噪声数据所占的比例高于数据集合的一部分定位数据中噪声数据所占的比例;基于多段第一曲线确定目标对象的运动轨迹,由于在轨迹重构的过程中使用的是过滤后的数据,所使用的定位数据不包括噪声数据或只包括少量噪声数据,从而可以使得重构的运动轨迹与原始运动轨迹更为接近,可以解决相关技术中对车辆的运动轨迹进行重构的准确率较低的技术问题,进而达到了准确重构车辆的运动轨迹的技术效果。

在本申请的技术方案中,可采用卡尔曼滤波等滤波方案辅助下的分段欧拉缓和曲线(即第一曲线)自适应恢复行车轨迹线(即运动轨迹),有效地重构城市道路路况下车辆行驶的复杂的直线行驶几何轨迹、曲线拐弯掉头几何轨迹,和两种状态之间衔接的行驶几何轨迹,本申请的方案可以大幅降低gps噪声和数据缺失对轨迹重构的影响,恢复后的轨迹线与真实行驶数据误差达到工业级质量,数据是自适应分段,有效降低了数据处理量。

可选地,上述的拟合单元可包括:拟合模块,用于按照第一参数对数据集合中的一部分定位数据进行数据拟合,得到多段第二曲线,其中,第一参数用于指示多段第二曲线的段数;第一确定模块,用于在多段第二曲线满足目标条件的情况下,将多段第二曲线作为多段第一曲线;第一调整模块,用于在多段第二曲线不满足目标条件的情况下,调整第一参数的取值,并按照调整取值后的第一参数对数据集合中的一部分定位数据进行数据拟合,得到多段第二曲线。

上述的拟合单元还用于按照如下方式确认多段第二曲线是否满足目标条件:根据多段第二曲线的数据拟合参数、第二参数、第三参数以及第四参数确定多段第二曲线是否满足目标条件,其中,第二参数为角度超过第一阈值的两个相邻的第二曲线之间的夹角,第三参数为相邻的第二曲线之间的曲率超过第二阈值的个数,第四参数为长度超过第三阈值的第二曲线的段数。

可选地,拟合单元可包括:第一获取模块,用于获取多段第二曲线的数据拟合参数与第一权重之间的第一乘积、第二参数与第二权重之间的第二乘积、第三参数与第三权重之间的第三乘积以及第四参数与第四权重之间的第四乘积,其中,第一权重、第二权重、第三权重以及第四权重之和为1;第二确定模块,用于在第五参数大于第四阈值的情况下,确定多段第二曲线不满足目标条件,其中,第五参数为第一乘积、第二乘积、第三乘积以及第四乘积之和;第三确定模块,用于在第五参数不大于第四阈值的情况下,确定多段第二曲线满足目标条件。

上述的拟合单元可包括:第二调整模块,用于在第五参数不大于第四阈值的情况下,对多段第二曲线执行调整操作,其中,调整操作包括以下至少之一:在第一范围内调整第二曲线的起始位置的单位方向向量、在第二范围内调整第二曲线与第二曲线覆盖内的定位数据之间的拟合参数、在第三范围内调整相邻的第二曲线之间的曲率,第一范围是为单位方向向量设置的取值范围,第二范围是为拟合参数设置的取值范围,第三范围是为曲率设置的取值范围;第二调整模块,用于获取执行调整操作后的多段第二曲线的第五参数,并利用第五参数确定多段第二曲线是否满足目标条件。

可选第,第二调整模块在第三范围内调整相邻的第二曲线之间的目标曲率时,可根据第三范围调整第一变量和第二变量的取值;将第五乘积与第二变量之和作为目标曲率的取值,第五乘积为第一变量与第六参数之间的乘积。

上述拟合模块在按照第一参数对数据集合中的一部分定位数据进行数据拟合,得到多段第二曲线时,可过滤数据集合中属于噪声数据的定位数据,得到目标数据,其中,属于噪声数据的定位数据所表示的定位点与运动轨迹之间的距离大于不属于噪声数据的定位数据所表示的定位点与运动轨迹之间的距离;并通过对目标数据进行拟合得到多段第二曲线。

上述的确定单元还可用于:获取多段第二曲线满足目标条件时的相邻的第二曲线之间的目标夹角和目标曲率;按照相邻的第二曲线之间的目标夹角和目标曲率对相邻的第二曲线进行连接,得到运动轨迹。

本方案采用了采用卡尔曼滤波辅助下的分段欧拉缓和曲线自适应恢复行车轨迹线,有效解决了这三方面的问题。第一,拟合算法自适应选取数据中的点参与拟合,采用类似ransac(随机抽样一致性)的原则,自适应去除了误差较大的点对于拟合影响。第二,拟合的元素是欧拉缓和曲线,灵活度较高,直线、圆都是它的特殊条件下情况,可以拟合复杂道路几何,而不用较多的分段曲线组合来拟合。这样拟合后的数据量较小。第三,拟合误差采用拟合数据向拟合曲线做直接投影的欧式距离定义,直接对应最终拟合误差。拟合优化的过程直接降低拟合误差,从而提高了拟合精度。

本方案适用于城市环境下高精度地图采集中的车辆轨迹重建,以及城市环境自动驾驶中的车辆轨迹建模。采用本方案重构车辆轨迹,可以有效提升轨迹重建的精度和可靠性,从而使城市环境下的高精度地图采集数据品质更高,进一步提升高精度地图的品质。对于车辆轨迹建模,可以更有效的构建车辆行驶行为模型,使自动驾驶更柔和,更符合真实情况,舒适度更高。

此处需要说明的是,上述模块与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在如图1所示的硬件环境中,可以通过软件实现,也可以通过硬件实现,其中,硬件环境包括网络环境。

根据本发明实施例的另一个方面,还提供了一种用于实施上述运动轨迹的重构方法的服务器或终端。

图11是根据本发明实施例的一种终端的结构框图,如图11所示,该终端可以包括:一个或多个(图11中仅示出一个)处理器1001、存储器1003、以及传输装置1005,如图11所示,该终端还可以包括输入输出设备1007。

其中,存储器1003可用于存储软件程序以及模块,如本发明实施例中的运动轨迹的重构方法和装置对应的程序指令/模块,处理器1001通过运行存储在存储器1003内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的运动轨迹的重构方法。存储器1003可包括高速随机存储器,还可以包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器1003可进一步包括相对于处理器1001远程设置的存储器,这些远程存储器可以通过网络连接至终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。

上述的传输装置1005用于经由一个网络接收或者发送数据,还可以用于处理器与存储器之间的数据传输。上述的网络具体实例可包括有线网络及无线网络。在一个实例中,传输装置1005包括一个网络适配器(networkinterfacecontroller,nic),其可通过网线与其他网络设备与路由器相连从而可与互联网或局域网进行通讯。在一个实例中,传输装置1005为射频(radiofrequency,rf)模块,其用于通过无线方式与互联网进行通讯。

其中,具体地,存储器1003用于存储应用程序。

处理器1001可以通过传输装置1005调用存储器1003存储的应用程序,以执行下述步骤:

获取数据集合,其中,数据集合中保存有在目标对象的运动过程中对目标对象的所在位置进行定位得到的定位数据;

通过对数据集合中的一部分定位数据进行数据拟合,得到多段第一曲线,其中,第一曲线是对采集时间相邻的多个定位数据进行拟合得到的,数据集合的另一部分定位数据中噪声数据所占的比例高于数据集合的一部分定位数据中噪声数据所占的比例;

基于多段第一曲线确定目标对象的运动轨迹。

处理器1001还用于执行下述步骤:

在第五参数不大于第四阈值的情况下,对多段第二曲线执行调整操作,其中,调整操作包括以下至少之一:在第一范围内调整第二曲线的起始位置的单位方向向量、在第二范围内调整第二曲线与第二曲线覆盖内的定位数据之间的拟合参数、在第三范围内调整相邻的第二曲线之间的曲率,第一范围是为单位方向向量设置的取值范围,第二范围是为拟合参数设置的取值范围,第三范围是为曲率设置的取值范围;

获取执行调整操作后的多段第二曲线的第五参数,并利用第五参数确定多段第二曲线是否满足目标条件。

采用本发明实施例,获取数据集合,数据集合中保存有在目标对象的运动过程中对目标对象的所在位置进行定位得到的定位数据;通过对数据集合中的一部分定位数据进行数据拟合,得到多段第一曲线,第一曲线是对采集时间相邻的多个定位数据进行拟合得到的,数据集合的另一部分定位数据中噪声数据所占的比例高于数据集合的一部分定位数据中噪声数据所占的比例;基于多段第一曲线确定目标对象的运动轨迹,由于在轨迹重构的过程中使用的是过滤后的数据,所使用的定位数据不包括噪声数据或只包括少量噪声数据,从而可以使得重构的运动轨迹与原始运动轨迹更为接近,可以解决相关技术中对车辆的运动轨迹进行重构的准确率较低的技术问题,进而达到了准确重构车辆的运动轨迹的技术效果。

可选地,本实施例中的具体示例可以参考上述实施例中所描述的示例,本实施例在此不再赘述。

本领域普通技术人员可以理解,图11所示的结构仅为示意,终端可以是智能手机(如android手机、ios手机等)、平板电脑、掌上电脑以及移动互联网设备(mobileinternetdevices,mid)、pad等终端设备。图11其并不对上述电子装置的结构造成限定。例如,终端还可包括比图11中所示更多或者更少的组件(如网络接口、显示装置等),或者具有与图11所示不同的配置。

本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令终端设备相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:闪存盘、只读存储器(read-onlymemory,rom)、随机存取器(randomaccessmemory,ram)、磁盘或光盘等。

本发明的实施例还提供了一种存储介质。可选地,在本实施例中,上述存储介质可以用于执行运动轨迹的重构方法的程序代码。

可选地,在本实施例中,上述存储介质可以位于上述实施例所示的网络中的多个网络设备中的至少一个网络设备上。

可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:

s12,获取数据集合,其中,数据集合中保存有在目标对象的运动过程中对目标对象的所在位置进行定位得到的定位数据;

s14,通过对数据集合中的一部分定位数据进行数据拟合,得到多段第一曲线,其中,第一曲线是对采集时间相邻的多个定位数据进行拟合得到的,数据集合的另一部分定位数据中噪声数据所占的比例高于数据集合的一部分定位数据中噪声数据所占的比例;

s16,基于多段第一曲线确定目标对象的运动轨迹。

可选地,存储介质还被设置为存储用于执行以下步骤的程序代码:

s22,在第五参数不大于第四阈值的情况下,对多段第二曲线执行调整操作,其中,调整操作包括以下至少之一:在第一范围内调整第二曲线的起始位置的单位方向向量、在第二范围内调整第二曲线与第二曲线覆盖内的定位数据之间的拟合参数、在第三范围内调整相邻的第二曲线之间的曲率,第一范围是为单位方向向量设置的取值范围,第二范围是为拟合参数设置的取值范围,第三范围是为曲率设置的取值范围;

s24,获取执行调整操作后的多段第二曲线的第五参数,并利用第五参数确定多段第二曲线是否满足目标条件。

可选地,本实施例中的具体示例可以参考上述实施例中所描述的示例,本实施例在此不再赘述。

可选地,在本实施例中,上述存储介质可以包括但不限于:u盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。

上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。

上述实施例中的集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在上述计算机可读取的存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在存储介质中,包括若干指令用以使得一台或多台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。

在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。

在本申请所提供的几个实施例中,应该理解到,所揭露的客户端,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

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