一种轨迹预测方法、装置、电子设备及存储介质与流程

文档序号:25871428发布日期:2021-07-16 16:25阅读:88来源:国知局
一种轨迹预测方法、装置、电子设备及存储介质与流程

1.本发明涉及智能驾驶技术领域,尤其涉及一种轨迹预测方法、装置、电子设备及存储介质。


背景技术:

2.移动目标轨迹预测是智能驾驶中的重要组成部分,对移动目标未来的轨迹进行预测,可以保证智能驾驶系统能够提前做出正确的决策,降低交通中发生意外的可能性。目前,相关技术通过卡尔曼滤波算法根据当前车辆接收的数据预测前方车辆的行驶轨迹,但是卡尔曼滤波器算法没有考虑到驾驶员驾驶动机和意图的不确定性,轨迹预测的准确率较低。


技术实现要素:

3.为了解决上述问题,本发明实施例提供了一种轨迹预测方法、装置、电子设备及存储介质,以至少解决相关技术卡尔曼滤波器算法轨迹预测的准确率较低的问题。
4.本发明的技术方案是这样实现的:
5.第一方面,本发明实施例提供了一种轨迹预测方法,该方法包括:
6.基于第一地图数据确定移动目标在当前时间之后的第一设定时间段内的位置分布;所述第一地图数据表征所述移动目标在当前时间之前的第二设定时间段内的移动轨迹;
7.基于所述位置分布对所述移动目标在所述第一设定时间段的终点位置进行预测,得到至少两个终点位置;
8.基于所述至少两个终点位置生成至少两条第一轨迹。
9.上述方案中,所述方法还包括:
10.确定所述至少两条第一轨迹中的每条第一轨迹的第一概率值;所述第一概率值表征第一轨迹与所述移动目标在所述第一设定时间段内的真实移动轨迹的相似程度;
11.基于所述第一概率值从所述至少两条第一轨迹中确定第二轨迹;所述第二轨迹表征预测的所述移动目标在第一设定时间段内的移动轨迹。
12.上述方案中,所述基于第一地图数据确定移动目标在第一设定时间段内的位置分布,包括:
13.对所述第一地图数据进行上下文编码,得到编码向量;
14.将所述编码向量输入设定的第一模型,得到所述设定的第一模型输出的所述位置分布;所述设定的第一模型表征为多层感知器。
15.上述方案中,所述对所述第一地图数据进行上下文编码,得到编码向量,包括:
16.确定所述第一地图数据对应的至少两条折线;所述至少两条折线中的每条折线表征所述第二设定时间段内的一个时间点对应的向量;
17.基于所述至少两条折线进行建模,建模得到的模型输出具有上下文特性的所述编
码向量。
18.上述方案中,所述基于所述位置分布对所述移动目标在所述第一设定时间段的终点位置进行预测,得到至少两个终点位置,包括:
19.基于设定的第二模型对所述位置分布进行特征提取;所述设定的第二模型表征为残差神经网络模型;
20.基于从所述位置分布中提取的特征对所述移动目标在所述第一设定时间段的终点位置进行预测。
21.上述方案中,所述基于所述至少两个终点位置生成至少两条第一轨迹,包括:
22.基于所述至少两个终点位置和设定的三次样条曲线函数生成至少两条三次样条曲线;
23.在设定网格间隔的区域内基于枚举法生成所述至少两条三次样条曲线对应的所述至少两条第一轨迹。
24.上述方案中,所述确定所述至少两条第一轨迹中的每条第一轨迹的第一概率值,包括:
25.将所述至少两条第一轨迹中的所有第一轨迹输入设定的分类模型,得到所述设定的分类模型输出的所述至少两条第一轨迹中的每条第一轨迹的第一概率值。
26.上述方案中,所述方法还包括:
27.在训练所述设定的分类模型之前,确定所述设定的分类模型对应的至少两个训练数据中的每个训练数据的第一参数;所述训练数据表征移动目标在第三设定时间段内的真实轨迹和预测轨迹;所述第一参数表征所述真实轨迹的采样点和所述预测轨迹的采样点之间的平均距离;
28.基于所述第一参数确定对应的训练数据的标签;所述标签表征对应的训练数据中的预测轨迹的准确度。
29.上述方案中,所述方法还包括:
30.在所述设定的分类模型的训练过程中,基于衰减因子和第二参数更新所述设定的分类模型;所述第二参数表征训练数据中的预测轨迹的采样点在所述移动目标的可移动区域外的比率;所述训练数据表征移动目标在第三设定时间段内的真实轨迹和预测轨迹。
31.第二方面,本发明实施例提供了一种轨迹预测装置,该装置包括:
32.位置确定模块,用于基于第一地图数据确定移动目标在当前时间之后的第一设定时间段内的位置分布;所述第一地图数据表征所述移动目标在当前时间之前的第二设定时间段内的移动轨迹;
33.终端预测模块,用于基于所述位置分布对所述移动目标在所述第一设定时间段的终点位置进行预测,得到至少两个终点位置;
34.轨迹生成模块,用于基于所述至少两个终点位置生成至少两条第一轨迹。
35.第三方面,本发明实施例提供了一种电子设备,包括处理器和存储器,所述处理器和存储器相互连接,其中,所述存储器用于存储计算机程序,所述计算机程序包括程序指令,所述处理器被配置用于调用所述程序指令,执行本发明实施例第一方面提供的轨迹预测方法的步骤。
36.第四方面,本发明实施例提供了一种计算机可读存储介质,包括:所述计算机可读
存储介质存储有计算机程序。所述计算机程序被处理器执行时实现如本发明实施例第一方面提供的轨迹预测方法的步骤。
37.本发明实施例基于第一地图数据确定移动目标在当前时间之后的第一设定时间段内的位置分布,第一地图数据表征移动目标在当前时间之前的第二设定时间段内的移动轨迹,然后基于位置分布对移动目标在所述第一设定时间段的终点位置进行预测,得到至少两个终点位置,基于至少两个终点位置生成至少两条第一轨迹。本发明实施例通过第一地图数据确定移动目标的位置分布,根据位置分布预测移动目标的移动轨迹,考虑到了移动目标的意图和交通规则的物理约束,提高了移动轨迹预测的准确度。
附图说明
38.图1是本发明实施例提供的一种轨迹预测方法的实现流程示意图;
39.图2是本发明实施例提供的另一种轨迹预测方法的实现流程示意图;
40.图3是本发明实施例提供的一种2层的多层感知器的示意图;
41.图4是本发明实施例提供的另一种轨迹预测方法的实现流程示意图;
42.图5是本发明实施例提供的一种resnet50网络结构示意图;
43.图6是本发明实施例提供的一种三次样条曲线的示意图;
44.图7是本发明实施例提供的另一种轨迹预测方法的实现流程示意图;
45.图8是本发明应用实施例提供的一种轨迹预测流程的示意图;
46.图9是本发明应用实施例提供的另一种轨迹预测流程的示意图;
47.图10是本发明应用实施例提供的一种轨迹预测能力对比表格示意图;
48.图11是本发明应用实施例提供的一种轨迹预测能力对比表格示意图;
49.图12是本发明应用实施例提供的一种轨迹预测能力对比表格示意图;
50.图13是本发明应用实施例提供的一种轨迹预测能力对比表格示意图;
51.图14是本发明应用实施例提供的一种轨迹预测的实验结果的示意图;
52.图15是本发明实施例提供的一种轨迹预测装置的示意图;
53.图16是本发明一实施例提供的电子设备的示意图。
具体实施方式
54.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
55.在自动驾驶状态下,能够对周围车辆的行驶轨迹进行准确预测是至关重要的,这样当紧急情况发生时,自动驾驶系统能准确地根据情况作出反应。自动驾驶的一个挑战是未来预测的高度不确定性,这些未来预测里面包含大量的意图信息和潜在的数据特征。
56.相关技术提出了关于轨迹预测的方法,其中最经典的是卡尔曼滤波(kf,kalman filter)的方法。在自动驾驶的状态下,卡尔曼滤波器可根据当前车辆接收的数据预测自动驾驶车辆前方的车辆将采取的下一组动作。但是卡尔曼滤波器算法没有考虑到驾驶员驾驶动机和意图的不确定性,卡尔曼滤波算法的预测范围太长,准确率太低。相关技术随后提出
了基于数据驱动的深度学习网络的方法,如循环神经网络(rnn,recurrent neural network)、变分自动编码器(vae,variational auto encoder)等。但是现有的端到端深度学习方法缺乏安全保证,其输出遵循严格的交通约束,因此无法融入到周围的物理约束里面。
57.针对上述相关技术的缺点,本发明实施例提供了一种轨迹预测方法,至少能够提高轨迹预测的准确率。为了说明本发明所述的技术方案,下面通过具体实施例来进行说明。
58.图1是本发明实施例提供的一种轨迹预测方法的实现流程示意图,所述轨迹预测方法的执行主体为电子设备,电子设备包括台式电脑、笔记本电脑和服务器等。参考图1,轨迹预测方法包括:
59.s101,基于第一地图数据确定移动目标在当前时间之后的第一设定时间段内的位置分布;所述第一地图数据表征所述移动目标在当前时间之前的第二设定时间段内的移动轨迹。
60.这里,第二设定时间段是在当前时间之前的历史时间段,例如当前时间的前5秒钟。第一设定时间段是在当前时间之后的未来时间,例如当前时间的后5秒钟。
61.其中,移动目标可以是汽车、人等处于移动状态的物体。第一地图数据可以表征移动目标在第二设定时间段内的移动轨迹,第一地图数据体现了移动目标在第二设定时间段内的行驶场景,第一地图数据包括移动目标所在环境下的高清地图(包括车道线、斑马线、红绿灯、速度标示、停车指示牌等)、移动目标的传感器数据(比如gps坐标、陀螺仪数据)等,传感器数据包括移动目标自身的行驶数据,也包括移动目标周围车辆的行驶数据,比如行驶速度、加速度等。
62.根据第一地图数据对移动目标在第一设定时间段的位置分布进行预测,可以理解为根据历史坐标预测未来坐标。这里需要使用到第一模型进行位置预测,第一模型是位置预测模型,这里的位置分布指移动目标在第一设定时间段内的每个时间点所在的位置,比如5s内每秒钟所在的位置。位置可以指移动目标在地图上的坐标。例如,将地图转换为一个xy平面坐标系,位置指移动目标在地图上的坐标(x,y),位置分布即为移动目标在第一设定时间段内每个时间点所在的坐标的集合。
63.参考图2,在一实施例中,所述基于第一地图数据确定移动目标在第一设定时间段内的位置分布,包括:
64.s201,对所述第一地图数据进行上下文编码,得到编码向量。
65.对第一地图数据进行上下文编码,也就是将第一地图数据进行向量化的过程。这里,使用vectornet模型对第一地图数据进行上下文编码,vectornet是一个分层图神经网络(gnn,graph neural network),vectornet旨在通过构建模型,对地图信息进行编码,从而帮助预测道路使用者的移动。vectornet模型用向量(vector)来简化地表达地图信息和移动物体,这一做法抛开了传统的用图片渲染的方式,达到了降低数据量、计算量的效果。
66.vectornet首先获取折线级别的信息,然后将其传递给图形,以建模折线之间的高阶交互。vectornet使用全局图来相互建模各个折线,并输出具有上下文特性的编码向量。
67.在一实施例中,所述对所述第一地图数据进行上下文编码,得到编码向量,包括:
68.步骤一:确定所述第一地图数据对应的至少两条折线;所述至少两条折线中的每条折线表征所述第二设定时间段内的一个时间点对应的向量。
69.这里,首先分别用向量表示不同局部空间的道路组成成员,道路组成成员包括动态交通参与者和静态道路环境,动态交通参与者包括车辆,静态道路环境包括人行横道、车道边界、道路标识等。
70.用向量表示不同局部空间的道路组成成员,例如,车道边界包含可以构成样条曲线的多个控制点;人行横道可以是由几个点定义的多边形;道路标识可以通过一个点来表示。将相邻的点相连为向量,通过向量化的过程,可以得到折线,这个折线和轨迹、地图元素之间是一一对应的。所有的地理实体都可以被近似为多个控制点定义的折线,动态交通参与者也可以通过他们的运动轨迹被近似为折线,所有的这些折线都可以表示为矢量的集合。
71.这里,同一条折线上的点对应的是第二设定时间段内的同一个时间点的向量。
72.步骤二:基于所述至少两条折线进行建模,建模得到的模型输出具有上下文特性的所述编码向量。
73.这里,vectornet模型使用全局图来相互建模各个折线,建模得到的模型输出具有上下文特性的编码向量。上下文特性指的是多个交通参与者之间的交互关系,以及他们和道路环境之间的交互关系。
74.s202,将所述编码向量输入设定的第一模型,得到所述设定的第一模型输出的所述位置分布;所述设定的第一模型表征为多层感知器。
75.这里,设定的第一模型用于预测移动目标在第一设定时间段的位置分布,首先需要对设定的第一模型进行训练,使用历史地图数据训练设定的第一模型,历史地图数据是已经发生过的真实数据,对历史地图数据进行上下文编码,将编码向量和历史地图数据对应的真实位置分布输入设定的第一模型进行迭代训练。
76.在实际应用中,定义预测的移动目标是在一个固定时间范围t内可能会出现的位置坐标(x,y)。在对移动目标在第一设定时间段的位置分布进行预测时,可以得到移动目标的一个位置分布本发明实施例通过n个离散的集合进行位置分布预测:位置分布通过离散

连续因子分解来建模:其中是广义正态分布,t指时间、n指坐标数量,x指编码向量。
77.其中d(
·
)由一个2层的多层感知器(mlp)实现,如图3所示,图3是本发明实施例提供的一种2层的多层感知器的示意图,在设定的第一模型训练时,将历史地图数据对应的位置分布(x,y)和vectornet输出的编码向量作为多层感知器d(
·
)的输入,输出为离散分布的位置分布以及偏移量。
78.这里,设定的第一模型的损失函数为:
[0079][0080]
对设定的第一模型进行训练,直至上述损失函数收敛,设定的第一模型训练完成。
[0081]
将编码向量输入训练好的设定的第一模型,得到设定的第一模型输出的位置分布。
[0082]
s102,基于所述位置分布对所述移动目标在所述第一设定时间段的终点位置进行
预测,得到至少两个终点位置。
[0083]
这里,终点位置指移动目标在第一设定时间段结束之后的所在位置,根据位置分布对终点位置进行预测,可以得到至少两个终点位置。
[0084]
参考图4,在一实施例中,所述基于所述位置分布对所述移动目标在所述第一设定时间段的终点位置进行预测,得到至少两个终点位置,包括:
[0085]
s401,基于设定的第二模型对所述位置分布进行特征提取;所述设定的第二模型表征为残差神经网络模型。
[0086]
这里,设定的第二模型为残差神经网络模型,具体可以为resnet50网络模型,本发明实施例对resnet50网络模型进行了改进。
[0087]
参考图5,图5是本发明实施例提供的一种resnet50网络结构示意图,本发明实施例对resnet50网络做出了以下改进:(1)将第一个卷积层的滤波器尺寸增大为9*9,这样做的目的主要是为了增大感受野,可以增大可行驶区域的检测,增强网络的学习能力。(2)将每个残差块内的卷积核的卷积核数目降为原始resnet50网络的一半,整个网络从前到后的卷积核数目依次为32,64,128,256。这样做是为了降低模型的复杂度,使得模型更加轻量化。(3)将原始resnet50网络的中间卷积层的3*3卷积改为5*5卷积,这样做是为了减少非线性变换的次数,也是为了减少网络的复杂度。两个3*3的卷积层串联相当于1个5*5的卷积层,但是两个3*3的卷积层比1个5*5的卷积层的非线性变换次数更多。引文两个3*3的卷积层使用2次激活函数,而1个5*5的卷积层只使用1次激活函数。
[0088]
基于本发明实施例提供的resnet50网络模型对位置分布进行特征提取,提取得到的特征包含了大量特征信息,比如车道线、斑马线、红绿灯、速度标示、停车指示牌、车辆传感器数据等。
[0089]
s402,基于从所述位置分布中提取的特征对所述移动目标在所述第一设定时间段的终点位置进行预测。
[0090]
根据从位置分布中提取的特征对移动目标在第一设定时间段的终点位置进行预测,得到至少两个终点位置。
[0091]
s103,基于所述至少两个终点位置生成至少两条第一轨迹。
[0092]
至少两个终点位置分别是至少两条第一轨迹的轨迹终点,根据至少两个终点位置可以生成至少两条第一轨迹。
[0093]
本发明实施例可以使用三次样条插值方法来生成至少两条第一轨迹。在一实施例中,所述基于所述至少两个终点位置生成至少两条第一轨迹,包括:
[0094]
步骤一:基于所述至少两个终点位置和设定的三次样条曲线函数生成至少两条三次样条曲线。
[0095]
三次样条插值是一种已知路径点生成移动目标运动轨迹的方法,由于已知移动目标的轨迹终点和当前位置点,因此可以根据三次样条插值方法来生成移动目标的移动轨迹,即第一轨迹。插值(interpolation)是在已知部分数据节点(knots)的情况下,求解经过这些已知点的曲线。样条(spline)是软尺(elastic ruler)的术语说法,在技术制图中,使用软尺连接两个相邻数据点。样条插值是一种工业设计中常用的、得到平滑曲线的一种插值方法,三次样条又是其中用的较为广泛的一种。
[0096]
本发明实施例根据移动目标的至少两个终点位置和设定的三次样条曲线函数,通
过改变三次样条曲线的控制点来生成至少两条三次样条曲线。
[0097]
步骤二:在设定网格间隔的区域内基于枚举法生成所述至少两条三次样条曲线对应的所述至少两条第一轨迹。
[0098]
本发明使用连续曲线来代替离散点的序列预测表示,这样能够使得表示方法更加鲁棒,更好地反映多个意图和运动倾向。本发明实施例采用三次样条曲线来表示移动目标的移动轨迹,参考图6,图6是本发明实施例提供的一种三次样条曲线的示意图,图6中三次样条曲线有四个控制点p0,p1,p2,p3,设定的三次样条曲线函数为其中b是三次样条曲线函数的基函数本发明实施例根据移动目标历史位置坐标、当前的位置坐标和至少两个终点位置,通过改变三次样条曲线的控制点来生成至少两条三次样条曲线。
[0099]
本发明实施例采用枚举法(m*m区域)来生成第一轨迹:p
m
=(x+i*ζ,y+j*ζ)
i,j∈[

m/2,m/2]
,其中,m*m区域是地图上的一个设定网格间隔的区域,ζ是设定网格间隔。本发明实施例还设置了一个曲率参数θ来生成不同的曲率点,最终生成的第一轨迹为p
f
={f(p
m
,θ)},其中f是三次多项式拟合函数,θ的取值范围是{

3,

2,

1,0,1,2,3}。
[0100]
通过上述方法可以根据设定的三次样条曲线函数和至少两个终点位置生成至少两条第一轨迹。在实际应用中,可以使用c++来完成这些工作,不需要自己实现三次样条插值,相关技术有很多成熟的三次样条插值开源代码,可以使用相关技术提供的代码迅速的实现c++的三次样条插值,只需要输入设置的设定的三次样条曲线函数和至少两个终点位置即可。
[0101]
参考图7,在一实施例中,所述方法还包括:
[0102]
s701,确定所述至少两条第一轨迹中的每条第一轨迹的第一概率值;所述第一概率值表征第一轨迹与所述移动目标在所述第一设定时间段内的真实移动轨迹的相似程度。
[0103]
这里得到了至少两条第一轨迹,由于最终只需要输出一条预测的第一轨迹即可,对至少两条第一轨迹中的每条第一轨迹进行分析,确定其中最可能接近移动目标的真实轨迹的第一轨迹。
[0104]
在一实施例中,所述确定所述至少两条第一轨迹中的每条第一轨迹的第一概率值,包括:
[0105]
将所述至少两条第一轨迹中的所有第一轨迹输入设定的分类模型,得到所述设定的分类模型输出的所述至少两条第一轨迹中的每条第一轨迹的第一概率值。
[0106]
在一实施例中,在设定的分类模型的训练过程中,所述方法还包括:
[0107]
步骤一:在训练所述设定的分类模型之前,确定所述设定的分类模型对应的至少两个训练数据中的每个训练数据的第一参数;所述训练数据表征移动目标在第三设定时间段内的真实轨迹和预测轨迹;所述第一参数表征所述真实轨迹的采样点和所述预测轨迹的采样点之间的平均距离。
[0108]
至少两个训练数据用于训练设定的分类模型,每个训练数据都包括移动目标在第三设定时间段内的真实轨迹和预测轨迹。
[0109]
在训练设定的分类模型之前,确定至少两个训练数据中的每个训练数据的第一参
数,第一参数表征所述真实轨迹的采样点和所述预测轨迹的采样点之间的平均距离。第一参数的计算公式如下:
[0110][0111]
其中,p
t
是真实轨迹的采样点,p
p
是预测轨迹的采样点,m是采样点的数目。采样点指轨迹上的坐标点,轨迹是由一系列采样点构成的。
[0112]
步骤二:基于所述第一参数确定对应的训练数据的标签;所述标签表征对应的训练数据中的预测轨迹的准确度。
[0113]
每一个训练数据都需要打上标签,标签表征对应的训练数据中的预测轨迹的准确度。比如,在第一参数大于设定值的情况下,为对应的训练数据打上“不好”的标签,“不好”表示预测轨迹的准确度差。
[0114]
本发明实施例将真实轨迹采样点p
t
与预测轨迹采样点p
p
之间的平均距离作为判断预测轨迹的标准:然后进行候选区域的修正,采用修正后的点的坐标来生成轨迹:r(x
t

x
p
,y

y
p
,θ
t

θ
p
)。
[0115]
在一实施例中,设定的分类模型的损失函数为:
[0116][0117]
其中,c
i
是每个训练轨迹预测结果的置信度,是训练轨迹预测结果的标签。
[0118]
在上述损失函数收敛时,设定的分类模型训练完成。将至少两条第一轨迹输入训练好的设定的分类模型,设定的分类模型输出至少两条第一轨迹中的每条第一轨迹的第一概率值。这里,第一概率值表示第一轨迹与移动目标的真实轨迹的接近程度,第一概率值越大,第一轨迹越可能接近移动目标的真实轨迹。
[0119]
在一实施例中,所述方法还包括:
[0120]
在所述设定的分类模型的训练过程中,基于衰减因子和第二参数更新所述设定的分类模型;所述第二参数表征训练数据中的预测轨迹的采样点在所述移动目标的可移动区域外的比率;所述训练数据表征移动目标在第三设定时间段内的真实轨迹和预测轨迹。
[0121]
对模型进行训练的过程即是对模型的参数进行学习更新的过程,在本发明实施例中使用衰减因子和第二参数更新所述设定的分类模型。第二参数表征训练数据中的预测轨迹的采样点在所述移动目标的可移动区域外的比率,移动目标具有对应的可移动区域,例如,如果一共有5个采样点,其中3个采样点在移动目标的可移动区域外,则第二参数为3/5。
[0122]
在设定的分类模型的训练过程中,通常使用梯度下降方法使得设定的分类模型收敛,通过不断往负梯度方向更新模型参数,其中,学习率用来确定每次更新多大的梯度步长。在相关技术中很难选择一个合适的学习率,学习率太小则模型收敛很慢,学习率太大,会导致在最优解附近震荡。
[0123]
本发明实施例在设定的分类模型的训练过程中,采用衰减因子调整学习率。衰减
因子可以自适应学习率调度,能够在训练过程中不断调整学习率,可以在训练的不同阶段,递减的降低学习率的大小。
[0124]
本发明实施例中设定的分类模型的损失函数如下所示:
[0125][0126]
其中,移动目标具有对应的可移动区域,ε是预测轨迹的采样点在移动目标的可移动区域外的比率,σ为衰减因子,e为自然数指数,g为分类分数,动区域外的比率,σ为衰减因子,e为自然数指数,g为分类分数,加上衰减系数后的分类分数能显著提高分类模型分类的准确率和分类效率。
[0127]
s702,基于所述第一概率值从所述至少两条第一轨迹中确定第二轨迹;所述第二轨迹表征预测的所述移动目标在第一设定时间段内的移动轨迹。
[0128]
第一概率值表示第一轨迹与移动目标的真实轨迹的接近程度,第一概率值越大,第一轨迹越可能接近移动目标的真实轨迹,因此将第一概率值最大的第一轨迹作为第二轨迹。
[0129]
本发明实施例基于第一地图数据确定移动目标在当前时间之后的第一设定时间段内的位置分布,第一地图数据表征移动目标在当前时间之前的第二设定时间段内的移动轨迹,然后基于位置分布对移动目标在所述第一设定时间段的终点位置进行预测,得到至少两个终点位置,基于至少两个终点位置生成至少两条第一轨迹。本发明实施例通过第一地图数据确定移动目标的位置分布,根据位置分布预测移动目标的移动轨迹,考虑到了移动目标的意图和交通规则的物理约束,提高了移动轨迹预测的准确度。
[0130]
参考图8,图8是本发明应用实施例提供的一种轨迹预测流程的示意图,轨迹预测流程分为3个阶段,第一阶段通过对移动目标所在的地图数据进行采集,将地图数据通过vectornet模型进行上下文编码,得到编码向量,根据编码向量预测移动目标的位置分布。第二阶段通过对移动目标的位置分布进行特征提取,基于从位置分布中提取的特征对移动目标的终点位置进行预测。第三阶段根据移动目标的终点位置生成至少两条移动轨迹,并对至少两条移动轨迹进行修正,得到一条最终的移动轨迹作为预测轨迹。
[0131]
参考图9,图9是本发明应用实施例提供的另一种轨迹预测流程的示意图,第一阶段获取移动目标所在的地图数据,地图数据包括移动目标所在环境下的高清地图(包括车道线、斑马线、红绿灯、速度标示、停车指示牌等)、移动目标的传感器数据(比如gps坐标、陀螺仪数据)等。通过vectornet模型对地图数据进行上下文编码得到编码向量,将编码向量输入设定的第一模型,得到设定的第一模型输出的位置分布。第二阶段基于设定的第二模型对位置分布进行特征提取,设定的第二模型为resnet50网络模型,根据从位置分布中提取的特征对移动目标在第一设定时间段的终点位置进行预测,预测得到至少两个终点位置。第三阶段根据至少两个终点位置生成至少两条第一轨迹,将至少两条第一轨迹中的所有第一轨迹输入设定的分类模型,得到设定的分类模型输出的至少两条第一轨迹中的每条第一轨迹的第一概率值。设定的分类模型为resnet100网络模型,将第一概率值最大的第一轨迹作为第二轨迹,第二轨迹即为移动目标的预测轨迹。
[0132]
本发明应用实施例综合考虑了移动目标的移动意图和周围交通规则的物理约束,
提高了移动轨迹预测的准确度。
[0133]
本发明实施例提供的轨迹预测网络在eth、ucy、apolloscape和argoverse四个公开数据集上进行了测试。eth和ucy是行人轨迹预测数据集,apolloscape包含目标车辆的运动轨迹及鸟瞰图坐标,预测对象为车辆、行人和自行车/电动车。argoverse数据集除了提供车辆的鸟瞰图坐标,还提供了高清地图。
[0134]
本发明采用平均位移误差(ade)、最终位移误差(fde)、ade的加权和(wsade)、fde的加权和(wsfde)、最小ade(minade)、最小fde(minfde)和可驾驶区域依赖性(dac)来评价所提出的算法。本发明将所提出的轨迹预测算法与social lstm、social gan、最近邻(nn)和lstm ed算法进行比较。
[0135]
在eth,ucy和apollo数据集上,以目标车辆的鸟瞰图位置坐标作为输入,在图10和图11上评估了本发明应用实施例中轨迹预测算法的有效性。为了验证本发明应用实施例所提出算法的多意图轨迹预测能力,在argoverse数据集上进行了实验,结果如图12所示。在图10、图11和图12中mitnet(ours)代表本发明应用实施例提供的轨迹预测算法,可见,本发明应用实施例提供的轨迹预测算法的轨迹预测能力是几种轨迹预测算法中最强的,本发明应用实施例提供的轨迹预测算法误差最小,可驾驶区域依赖性最小。
[0136]
除了通过上述公开数据集进行测试,还通过本发明实施例采集的数据集进行了实验,本发明实施例的数据集是由位于江苏常熟中国智能车综合技术研发与测试中心的装有多个rgb摄像头、激光雷达的自动驾驶物流小车收集的。本发明使用3秒的历史数据来预测接下来的5秒的车辆轨迹。本发明实施例提取了大约200000条轨迹,并使用其中的80%数据进行训练,20%数据进行测试。本发明实施例也使用相同的评价指标(ade,fde,minade,minfde和dac)来比较所提出方法与一些基准方法(s

lstm,s

gan,lstm ed)的区别。数据集的实验结果如图13所示,mitnet(ours)代表本发明实施例提供的轨迹预测算法,可见,本发明应用实施例提供的轨迹预测算法的轨迹预测能力是几种轨迹预测算法中误差最小、可驾驶区域依赖性最小的。
[0137]
图14是本发明应用实施例提供的一种轨迹预测的实验结果的示意图,从图14可以看出,本发明实施例所提出的轨迹预测方法可以生成准确的轨迹预测结果。
[0138]
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
[0139]
应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
[0140]
需要说明的是,本发明实施例所记载的技术方案之间,在不冲突的情况下,可以任意组合。
[0141]
另外,在本发明实施例中,“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
[0142]
参考图15,图15是本发明实施例提供的一种轨迹预测装置的示意图,如图15所示,该装置包括:位置确定模块、终端预测模块和轨迹生成模块。
[0143]
位置确定模块,用于基于第一地图数据确定移动目标在当前时间之后的第一设定
时间段内的位置分布;所述第一地图数据表征所述移动目标在当前时间之前的第二设定时间段内的移动轨迹;
[0144]
终端预测模块,用于基于所述位置分布对所述移动目标在所述第一设定时间段的终点位置进行预测,得到至少两个终点位置;
[0145]
轨迹生成模块,用于基于所述至少两个终点位置生成至少两条第一轨迹。
[0146]
所述装置还包括:
[0147]
概率确定模块,用于确定所述至少两条第一轨迹中的每条第一轨迹的第一概率值;所述第一概率值表征第一轨迹与所述移动目标在所述第一设定时间段内的真实移动轨迹的相似程度;
[0148]
第二轨迹确定模块,用于基于所述第一概率值从所述至少两条第一轨迹中确定第二轨迹;所述第二轨迹表征预测的所述移动目标在第一设定时间段内的移动轨迹。
[0149]
所述位置确定模块具体用于:
[0150]
对所述第一地图数据进行上下文编码,得到编码向量;
[0151]
将所述编码向量输入设定的第一模型,得到所述设定的第一模型输出的所述位置分布;所述设定的第一模型表征为多层感知器。
[0152]
所述位置确定模块具体用于:
[0153]
确定所述第一地图数据对应的至少两条折线;所述至少两条折线中的每条折线表征所述第二设定时间段内的一个时间点对应的向量;
[0154]
基于所述至少两条折线进行建模,建模得到的模型输出具有上下文特性的所述编码向量。
[0155]
终端预测模块具体用于:
[0156]
基于设定的第二模型对所述位置分布进行特征提取;所述设定的第二模型表征为残差神经网络模型;
[0157]
基于从所述位置分布中提取的特征对所述移动目标在所述第一设定时间段的终点位置进行预测。
[0158]
轨迹生成模块具体用于:
[0159]
基于所述至少两个终点位置和设定的三次样条曲线函数生成至少两条三次样条曲线;
[0160]
在设定网格间隔的区域内基于枚举法生成所述至少两条三次样条曲线对应的所述至少两条第一轨迹。
[0161]
概率确定模块具体用于:
[0162]
将所述至少两条第一轨迹中的所有第一轨迹输入设定的分类模型,得到所述设定的分类模型输出的所述至少两条第一轨迹中的每条第一轨迹的第一概率值。
[0163]
所述装置还包括:
[0164]
第一参数确定模块,用于在训练所述设定的分类模型之前,确定所述设定的分类模型对应的至少两个训练数据中的每个训练数据的第一参数;所述训练数据表征移动目标在第三设定时间段内的真实轨迹和预测轨迹;所述第一参数表征所述真实轨迹的采样点和所述预测轨迹的采样点之间的平均距离;
[0165]
标签确定模块,用于基于所述第一参数确定对应的训练数据的标签;所述标签表
征对应的训练数据中的预测轨迹的准确度
[0166]
所述装置还包括:
[0167]
更新模块,用于在所述设定的分类模型的训练过程中,基于衰减因子和第二参数更新所述设定的分类模型;所述第二参数表征训练数据中的预测轨迹的采样点在所述移动目标的可移动区域外的比率;所述训练数据表征移动目标在第三设定时间段内的真实轨迹和预测轨迹。
[0168]
实际应用时,所述位置确定模块、终端预测模块和轨迹生成模块可通过电子设备中的处理器,比如中央处理器(cpu,central processingunit)、数字信号处理器(dsp,digital signal processor)、微控制单元(mcu,microcontroller unit)或可编程门阵列(fpga,field-programmable gate array)等实现。
[0169]
需要说明的是:上述实施例提供的轨迹预测装置在进行轨迹预测时,仅以上述各模块的划分进行举例说明,实际应用中,可以根据需要而将上述处理分配由不同的模块完成,即将装置的内部结构划分成不同的模块,以完成以上描述的全部或者部分处理。另外,上述实施例提供的轨迹预测装置与轨迹预测方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
[0170]
基于上述程序模块的硬件实现,且为了实现本申请实施例的方法,本申请实施例还提供了一种电子设备。图16为本申请实施例电子设备的硬件组成结构示意图,如图16所示,电子设备包括:
[0171]
通信接口,能够与其它设备比如网络设备等进行信息交互;
[0172]
处理器,与所述通信接口连接,以实现与其它设备进行信息交互,用于运行计算机程序时,执行上述电子设备侧一个或多个技术方案提供的方法。而所述计算机程序存储在存储器上。
[0173]
当然,实际应用时,电子设备中的各个组件通过总线系统耦合在一起。可理解,总线系统用于实现这些组件之间的连接通信。总线系统除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图16中将各种总线都标为总线系统。
[0174]
本申请实施例中的存储器用于存储各种类型的数据以支持电子设备的操作。这些数据的示例包括:用于在电子设备上操作的任何计算机程序。
[0175]
可以理解,存储器可以是易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(rom,read only memory)、可编程只读存储器(prom,programmable read

only memory)、可擦除可编程只读存储器(eprom,erasable programmable read

only memory)、电可擦除可编程只读存储器(eeprom,electrically erasable programmable read

only memory)、磁性随机存取存储器(fram,ferromagnetic random access memory)、快闪存储器(flash memory)、磁表面存储器、光盘、或只读光盘(cd

rom,compact disc read

only memory);磁表面存储器可以是磁盘存储器或磁带存储器。易失性存储器可以是随机存取存储器(ram,random access memory),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的ram可用,例如静态随机存取存储器(sram,static random access memory)、同步静态随机存取存储器(ssram,synchronous static random access memory)、动态随机存取存储器(dram,
dynamic random access memory)、同步动态随机存取存储器(sdram,synchronous dynamic random access memory)、双倍数据速率同步动态随机存取存储器(ddrsdram,double data rate synchronous dynamic random access memory)、增强型同步动态随机存取存储器(esdram,enhanced synchronous dynamic random access memory)、同步连接动态随机存取存储器(sldram,synclink dynamic random access memory)、直接内存总线随机存取存储器(drram,direct rambus random access memory)。本申请实施例描述的存储器旨在包括但不限于这些和任意其它适合类型的存储器。
[0176]
上述本申请实施例揭示的方法可以应用于处理器中,或者由处理器实现。处理器可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器可以是通用处理器、dsp,或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。处理器可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合本申请实施例所公开的方法的步骤,可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于存储介质中,该存储介质位于存储器,处理器读取存储器中的程序,结合其硬件完成前述方法的步骤。
[0177]
可选地,所述处理器执行所述程序时实现本申请实施例的各个方法中由电子设备实现的相应流程,为了简洁,在此不再赘述。
[0178]
在示例性实施例中,本申请实施例还提供了一种存储介质,即计算机存储介质,具体为计算机可读存储介质,例如包括存储计算机程序的第一存储器,上述计算机程序可由电子设备的处理器执行,以完成前述方法所述步骤。计算机可读存储介质可以是fram、rom、prom、eprom、eeprom、flash memory、磁表面存储器、光盘、或cd

rom等存储器。
[0179]
在本申请所提供的几个实施例中,应该理解到,所揭露的装置、电子设备和方法,可以通过其它的方式实现。以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个单元或组件可以结合,或可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性的、机械的或其它形式的。
[0180]
上述作为分离部件说明的单元可以是、或也可以不是物理上分开的,作为单元显示的部件可以是、或也可以不是物理单元,即可以位于一个地方,也可以分布到多个网络单元上;可以根据实际的需要选择其中的部分或全部单元来实现本实施例方案的目的。
[0181]
另外,在本申请各实施例中的各功能单元可以全部集成在一个处理单元中,也可以是各单元分别单独作为一个单元,也可以两个或两个以上单元集成在一个单元中;上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
[0182]
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、rom、ram、磁碟或者光盘等各种可以存储程序代码的介质。
[0183]
或者,本申请上述集成的单元如果以软件功能模块的形式实现并作为独立的产品
销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机、服务器、或者网络设备等)执行本申请各个实施例所述方法的全部或部分。而前述的存储介质包括:移动存储设备、rom、ram、磁碟或者光盘等各种可以存储程序代码的介质。
[0184]
需要说明的是,本申请实施例所记载的技术方案之间,在不冲突的情况下,可以任意组合。
[0185]
另外,在本申请实例中,“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
[0186]
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1