一种障碍物的轨迹预测方法及装置与流程

文档序号:23900838发布日期:2021-02-09 13:33阅读:106来源:国知局
一种障碍物的轨迹预测方法及装置与流程

[0001]
本说明书涉及计算机技术领域,尤其涉及一种障碍物的轨迹预测方法及装置。


背景技术:

[0002]
目前,在无人驾驶技术领域,通常会为无人驾驶设备规划出未来一段时间的参考轨迹,以使无人驾驶设备沿着参考轨迹行驶。
[0003]
而由于道路上障碍物的存在,为无人驾驶设备所规划出的参考轨迹需要保证无人驾驶设备能够避开障碍物行驶。对于能够参与到交通中,并且自身位置会随着时间不断改变的障碍物,为了使无人驾驶设备能够精准避开,通常需要对障碍物未来的轨迹进行预测。
[0004]
在现有技术中,往往仅分别根据每个障碍物的在历史上的状态信息,预测该障碍物的未来轨迹。但是在真实世界中,每个障碍物在考虑未来如何行驶时,并不仅仅考虑自身(例如,如何以最短的距离抵达目的地),还会考虑躲避其他障碍物,也就是说,障碍物之间客观上存在着相互影响,因此,仅根据障碍物历史上的状态信息进行预测的方法,由于无法刻画出障碍物之间的交互,所预测出的障碍物的轨迹精度较差。


技术实现要素:

[0005]
本说明书实施例提供一种障碍物的轨迹预测方法及装置,以部分解决上述现有技术存在的问题。
[0006]
本说明书实施例采用下述技术方案:一种障碍物的轨迹预测方法,包括:确定各障碍物在历史上的历史运动轨迹;针对每个障碍物,将该障碍物在预设时长内的历史运动轨迹输入预先训练的第一模型,通过所述第一模型的特征提取子网络,提取该障碍物的运动特征;将各障碍物的运动特征输入所述第一模型的注意力子网络,得到各障碍物两两之间的交互权重;以确定出的交互权重对各障碍物的运动特征加权,将加权后的各障碍物的运动特征作为各障碍物的空间交互特征;将所述各障碍物的空间交互特征输入所述第一模型的循环神经子网络,得到各障碍物的时空交互特征;将所述第一模型输出的时空交互特征输入预先训练的第二模型,通过所述第二模型,确定各障碍物的预测运动轨迹。
[0007]
可选地,提取该障碍物的运动特征,具体包括:提取该障碍物的位置特征和速度特征;将各障碍物的运动特征输入所述第一模型的注意力子网络,具体包括:将各障碍物的位置特征输入所述第一模型的注意力子网络;将所述各障碍物的空间交互特征输入所述第一模型的循环神经子网络,得到各障碍物
的时空交互特征,具体包括:将所述各障碍物的空间交互特征输入所述第一模型的循环神经子网络,得到各障碍物的时空交互粗特征;根据各障碍物的位置特征、速度特征以及时空交互粗特征,确定各障碍物的时空交互特征。
[0008]
可选地,所述循环神经子网络为第一lstm长短期记忆网络;根据各障碍物的位置特征、速度特征以及时空交互粗特征,确定各障碍物的时空交互特征,具体包括:根据各障碍物的位置特征以及时空交互粗特征,确定位置时空交互特征;根据各障碍物的速度特征以及时空交互粗特征,确定速度时空交互特征;根据位置时空交互特征以及速度时空交互特征,确定各障碍物的时空交互特征。
[0009]
可选地,所述第二模型具体包括:编码端和解码端;将所述第一模型输出的时空交互特征输入预先训练的第二模型,通过所述第二模型,确定各障碍物的预测运动轨迹,具体包括:将所述第一模型输出的时空交互特征输入所述编码端,得到所述编码端输出编码特征;将所述编码特征输入所述解码端,通过所述解码端,预测各障碍物在目标时刻的轨迹点。
[0010]
可选地,各障碍物的历史运动轨迹为各障碍物在基准时刻之前的各历史时刻的轨迹点;所述目标时刻为所述基准时刻之后的未来时刻;所述第一模型输出的时空交互特征为各历史时刻的时空交互特征。
[0011]
可选地,所述编码端为第二lstm;将所述第一模型输出的时空交互特征输入所述编码端,得到所述编码端输出编码特征,具体包括:将各历史时刻的时空交互特征输入所述第二lstm,得到所述第二lstm中的隐藏层根据各历史时刻的时空交互特征输出的隐层特征,作为所述编码端输出编码特征。
[0012]
可选地,将所述编码特征输入所述解码端,通过所述解码端,预测各障碍物在目标时刻的轨迹点,具体包括:将所述编码特征以及所述基准时刻的上一历史时刻的时空交互特征输入所述解码端,通过所述解码端,预测各障碍物在目标时刻的轨迹点。
[0013]
可选地,所述解码端为第三lstm;预测各障碍物在目标时刻的轨迹点之后,所述方法还包括:重新确定基准时刻,并根据重新确定出的基准时刻,重新确定目标时刻;将重新确定的基准时刻的上一历史时刻解码端输出的隐层特征,以及重新确定的基准时刻的上一历史时刻的时空交互特征输入所述解码端,以通过所述解码端,预测各障碍物在重新确定的目标时刻的轨迹点。
[0014]
可选地,通过所述解码端,预测各障碍物在目标时刻的轨迹点,具体包括:针对每个障碍物,将所述各障碍物在所述基准时刻的上一历史时刻的时空交互特征中
对应于该障碍物的时空交互向量,分别与预先确定的若干个随机噪声拼接,并将拼接后的若干个时空交互向量输入所述解码端;针对每个拼接后的时空交互向量,根据该时空交互向量,以及编码端输出的所述编码特征,通过所述解码端,确定出该障碍物在目标时刻的轨迹点。
[0015]
可选地,其中预先训练第一模型和第二模型,具体包括:确定各样本障碍物,以及各样本障碍物对应的样本轨迹;根据预先设定的基准时刻,针对每个样本障碍物,将该样本障碍物对应的样本轨迹中,在所述基准时刻前的轨迹作为该样本障碍物的初始轨迹,在所述基准时刻后的轨迹作为该样本障碍物的标注轨迹;针对每个样本障碍物,将该样本障碍物的初始轨迹输入第一模型,通过所述第一模型的特征提取子网络,提取该样本障碍物的运动特征;将各样本障碍物的运动特征输入所述第一模型的注意力子网络,得到各样本障碍物两两之间的交互权重;以确定出的交互权重对各样本障碍物的运动特征加权,将加权后的各样本障碍物的运动特征作为各样本障碍物的空间交互特征;将所述各样本障碍物的空间交互特征输入所述第一模型的循环神经子网络,得到各样本障碍物的时空交互特征;将所述第一模型输出的时空交互特征输入第二模型,通过所述第二模型,确定各样本障碍物的预测轨迹;以各样本障碍物的预测轨迹与标注轨迹之间的差异最小为目标,调整所述第一模型和第二模型中的参数。
[0016]
可选地,通过所述第二模型,确定各样本障碍物的预测轨迹,具体包括:针对每个样本障碍物,通过所述第二模型,确定该样本障碍物的若干个预测轨迹;以各样本障碍物的预测轨迹与标注轨迹之间的差异最小为目标,调整所述第一模型和第二模型中的参数,具体包括:针对每个样本障碍物,确定与该样本障碍物的标注轨迹差异最小的预测轨迹,作为该样本障碍物的目标轨迹;以各样本障碍物的目标轨迹与标注轨迹之间的差异最小为目标,调整所述第一模型和第二模型中的参数。
[0017]
本说明书提供了一种障碍物的轨迹预测装置,包括:轨迹确定模块,用于确定各障碍物在历史上的历史运动轨迹;特征提取模块,用于针对每个障碍物,将该障碍物在预设时长内的历史运动轨迹输入预先训练的第一模型,通过所述第一模型的特征提取子网络,提取该障碍物的运动特征;注意力权重模块,用于将各障碍物的运动特征输入所述第一模型的注意力子网络,得到各障碍物两两之间的交互权重;空间特征模块,用于以确定出的交互权重对各障碍物的运动特征加权,将加权后的各障碍物的运动特征作为各障碍物的空间交互特征;时空特征模块,用于将所述各障碍物的空间交互特征输入所述第一模型的循环神经子网络,得到各障碍物的时空交互特征;
轨迹预测模块,用于将所述第一模型输出的时空交互特征输入预先训练的第二模型,通过所述第二模型,确定各障碍物的预测运动轨迹。
[0018]
本说明书提供的一种计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述的障碍物的轨迹预测方法。
[0019]
本说明书提供的一种无人驾驶设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述的障碍物的轨迹预测方法。
[0020]
本说明书采用的上述至少一个技术方案能够达到以下有益效果:根据从各障碍物历史运动轨迹中所提取出的运动特征,确定出各障碍物两两之间的交互权重,并以所确定出的交互权重加权对应的运动特征,得到加权后的空间交互特征,循环神经子网络根据所输入的空间交互特征得到各障碍物的时空交互特征,预先训练的第二模型根据各障碍物的时空交互特征确定出各障碍物的预测运动轨迹,其中,交互权重反映了各障碍物与每个其他障碍物之间的影响程度,因此,空间交互特征在运动特征的基础上还刻画出了障碍物之间的交互,所预测出的障碍物未来的轨迹精度更高。
附图说明
[0021]
此处所说明的附图用来提供对本说明书的进一步理解,构成本说明书的一部分,本说明书的示意性实施例及其说明用于解释本说明书,并不构成对本说明书的不当限定。在附图中:图1为本说明书中一种障碍物的轨迹预测方法的流程示意图;图2为本说明书中一种轨迹预测模型的结构示意图;图3为本说明书中一种轨迹预测模型中第二模型的结构示意图;图4为本说明书中一种重新确定目标时刻的方法示意图;图5为本说明书中一种选取解码端中隐层特征的方法示意图;图6a和图6b为本说明书中两种为障碍物预测若干条运动轨迹的方法示意图;图7为本说明书中一种轨迹预测模型训练方法的流程示意图;图8为本说明书提供的一种障碍物的轨迹预测装置的示意图;图9为本说明书提供的对应于图1的无人驾驶设备示意图。
具体实施方式
[0022]
为使本说明书的目的、技术方案和优点更加清楚,下面将结合本说明书具体实施例及相应的附图对本说明书技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本说明书一部分实施例,而不是全部的实施例。基于本说明书中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本说明书保护的范围。
[0023]
在无人驾驶技术领域,为了指导无人驾驶设备的决策、规划和控制,需要对无人驾驶设备周围的各障碍物未来的轨迹进行预测,从而帮助无人驾驶设备,能够根据所预测出的各障碍物未来的轨迹,对各障碍物进行避让。
[0024]
本说明书所提供的障碍物的轨迹预测方法,是采用对应的轨迹预测模型来实现的,该轨迹预测模型根据输入的各障碍物的历史运动轨迹,输出各障碍物预测运动轨迹。
[0025]
以下结合附图,详细说明本说明书各实施例提供的技术方案。
[0026]
实施例一:图1为本说明书中一种障碍物的轨迹预测方法的流程示意图,具体包括以下步骤:s100:确定各障碍物在历史上的历史运动轨迹。
[0027]
本说明书所提供的轨迹预测方法,可由无人驾驶设备(以下简称无人车)执行,也可以由能够与无人车进行信息传输,或对无人车进行控制的电子设备执行,例如,笔记本电脑、手机、服务器等,本说明书对此不不作限制。为方便描述,本说明书以无人车为执行主体,示例性地对本说明书提供的轨迹预测方法进行说明。
[0028]
本说明书中所述的无人车可包括自动驾驶的车辆以及具有辅助驾驶功能的车辆。无人车可以是应用于配送领域的配送车。
[0029]
在对无人车进行轨迹规划时,通常所考虑的障碍物为无人车所处的位置周围的障碍物,例如距离无人车20米的障碍物,当然,可以将任何距离范围视作无人车的周围。而由于无人车的行驶倾向已知,也可以仅考虑无人车行驶倾向方向的障碍物(例如无人车前方的障碍物),还可以将无人车所处环境中的障碍物,视作无人车周围的障碍物,例如与无人车在同一道路上的各障碍物。可以看出,障碍物的选择具有多种现有方法,本说明书对此不作限定。
[0030]
而需要说明的是,在一方面,无人车本身是在对无人车所规划出的轨迹的指导下行驶,因此无人车的轨迹是已知的无需预测,可以不将无人车本身作为障碍物;而在另一方面,而由于无人车也参与交通,无人车的运动会对无人车周围的其他障碍物在未来的运动产生影响,即与其他障碍物产生交互,因此也可以将无人车本身作为障碍物,本说明书对此不作限定。
[0031]
根据障碍物是否会主动运动,可以将障碍物分为静态障碍物和动态障碍物,其中,静态障碍物通常情况下不会主动发生运动,所处的位置不随时间变化而变化,例如电线杆、路灯等,而动态障碍物则指可以参与交通的障碍物,例如车辆、行人等,由于动态障碍物的位置会随着时间不断改变,并且动态障碍物之间会产生交互,一个动态障碍物的运动会对其他动态障碍物的运动产生影响。
[0032]
在本说明书所提供的障碍物的轨迹预测方法中,基于动态障碍物的上述特征,因此所要预测轨迹的障碍物中必然包括动态障碍物,而对于静态障碍物,一方面其所处位置不随时间改变,也就不存在运动轨迹,而另一方面静态障碍物的存在会单方面地对动态障碍物的运动产生影响,也就是说动态障碍物会主动避让静态障碍物行驶,因此可以将静态障碍物也视作本说明书中所指的障碍物,并将静态障碍物所处的固定位置作为静态障碍物不随时间变化的轨迹点;也可以单独考虑静态障碍物对动态障碍物的影响,例如约束所预测出的动态障碍物的运动轨迹不途径静态障碍物所处的位置,但并不输出静态障碍物的预测轨迹,本说明书对此不作限制,为了描述方便,以下将障碍物仅指动态障碍物为例,对本说明书所提供的障碍物的轨迹预测方法进行说明,其中,该动态障碍物可以包括行人。
[0033]
由于各障碍物在无人车周围,因此可以通过搭载在无人车上的传感设备采集各障碍物在历史上一段时间内的运动信息,当然,也可以通过搭载在其他位置的传感设备对各障碍物在历史上的运动信息进行采集,再由对应的终端设备或服务器将该运动信息发送给无人车。
[0034]
根据各障碍物在历史上的运动信息可以确定出各障碍物在历史上的历史运动轨迹,该历史运动轨迹可以并不仅仅包括各障碍物以何种轨迹行驶,还可以包括各障碍物何时、以何种状态、沿该历史运动轨迹的何处。更进一步,若该历史运动轨迹并非光滑曲线,而是由若干有顺序的轨迹点的连线,则该历史运动轨迹可以包括:历史运动轨迹的各轨迹点、对应的障碍物途径各轨迹点的时间,以及途径各轨迹点时对应的障碍物的行驶状态(例如速度、加速度等)。
[0035]
以下步骤s102~s110可以通过如图2所示的轨迹预测模型来实现。
[0036]
s102:针对每个障碍物,将该障碍物在预设时长内的历史运动轨迹输入预先训练的第一模型,通过所述第一模型的特征提取子网络,提取该障碍物的运动特征。
[0037]
由于获取到的各障碍物的历史运动轨迹的时间跨度可能并不相同,为了便于比较,可以截取各障碍物在同一预设时长内的历史运动轨迹,以保证各历史运动轨迹是在历史上同一时间段内发生的,为表征各障碍物的交互提供可能。例如,可以确定一个基准时刻,然后截取基准时刻之前预设时长内的历史运动轨迹,而通常来说,可以将无人车执行本方法的当前时刻作为该基准时刻。以下以所输入所述轨迹预测模型的历史运动轨迹为基准时刻前预设时长内的历史运动轨迹为例,对本说明书所提供方法进行说明。
[0038]
将截取后的各障碍物的历史运动轨迹输入预先训练的第一模型,通过第一模型的特征提取子网络得到各障碍物的运动特征,该运动特征能够表征各障碍物在历史上预设时长内的运动状态。可以理解的,为了计算简便,所述输入的历史运动轨迹可以并不是光滑连续的,而是输入在基准时刻前预设时长内的若干历史时刻对应的轨迹点,在此情形下,该特征提取子网络所输出的可以是对应的各历史时刻的各障碍物的运动特征,为描述方便,以下将以此为例进行说明。
[0039]
通常来说,出于对无人车控制的即时性需求,以及对本方法的泛用性需求,在输入所述特征提取子网络之前,可以对传感设备所采集的运动信息进行预先处理,以使在不同时间、当无人车行驶到不同位置,都能够以及较小的计算量执行本说明书所提供的轨迹预测方法。举例而言,对于位置信息来说,当传感设备所获取的位置坐标是大地坐标系下的,可以将该大地坐标系下的各障碍物的位置坐标转化为更便于计算的相对坐标系下的坐标,例如,可以将各障碍物相对于中心点的偏移,作为各障碍物的坐标,该中心点可以为无人车在对应的历史时刻的位置坐标,也可以为每个历史时刻各障碍物的平均坐标,当然,若传感设备所获取的各障碍物的坐标即为计算量较小的坐标,例如无人车所获取的各障碍物的坐标为各障碍物相对于无人车的坐标,此时则无需对运动信息进行输入特征提取子网络前的预处理。
[0040]
s104:将各障碍物的运动特征输入所述第一模型的注意力子网络,得到各障碍物两两之间的交互权重。
[0041]
s106:以确定出的交互权重对各障碍物的运动特征加权,将加权后的各障碍物的运动特征作为各障碍物的空间交互特征。
[0042]
由于所输入注意力子网络的运动特征本身就能够反映出各障碍物之间的交互,因此注意力子网络可以根据所输入的运动特征,确定出各障碍物的交互权重,来反映出各障碍物两两之间共同影响程度的大小,也就是交互的紧密程度。这是由于障碍物本身会受其他障碍物的影响来调整自身的位置,也就是上述交互。而对于一个障碍物来说,其他障碍物
的影响则有大有小,例如距离该障碍物越近的障碍物,与该障碍物相撞的可能性就越大,因此该障碍物通常会优先避让距离较近的障碍物,在此情形下,则可以认为该障碍物与越近的障碍物之间的交互越紧密,投入越大的注意力,所受的影响也就越大。
[0043]
具体的,所输入的运动特征从何种方面反映障碍物的运动,则所确定出的交互权重也从同样的方面反映障碍物交互的紧密程度。例如,当输入的是各历史时刻上各障碍物的位置特征,由该位置特征本身可以看出哪些障碍物之间存在交互,具体的,因为所提取出位置特征的各障碍物所处的位置都在无人车周围,所以各障碍物之间存在着交互,而通过注意力子网络所确定出的交互权重,则可以更进一步的根据各障碍物之间的位置远近来衡量各障碍物两两之间交互的紧密程度,通常来说,两个障碍物之间的距离越近,对方如何行动对于障碍物来说决定性就越强,即交互越紧密,注意力越高,则所确定出他们俩之间的交互权重也就越大。简洁起见,以下将以注意力子网络的输入是各历史时刻上各障碍物的位置特征为例进行说明。
[0044]
针对每一历史时刻,对每一障碍物的运动特征进行加权,该加权后的运动特征即为反映了该障碍物与每个其他障碍物之间的交互程度的运动特征,因此,对该历史时刻各障碍物的运动特征进行加权,所得到的加权后的各障碍物的运动特征可以认为反映了在这个历史时刻各障碍物之间的交互程度的运动特征,即该历史时刻各障碍物的空间交互特征。
[0045]
s108:将所述各障碍物的空间交互特征输入所述第一模型的循环神经子网络,得到各障碍物的时空交互特征。
[0046]
在每个历史时刻,各障碍物的空间交互特征能够反映各障碍物在该历史时刻的位置上的交互特征,但仅仅根据各障碍物在过去的各历史时刻的各孤立的空间交互特征,难以精准地预测各障碍物在未来的运动轨迹。因此,在本说明书中,可以将各障碍物在各历史时刻的空间交互特征输入循环神经子网络,由于循环神经网络在处理序列信息时,上一时刻的输出,会在下一时刻反馈到循环神经网络的隐藏层中,并影响下一时刻的输出的特性,利用循环神经网络的这种特性,可以得到各障碍物在各历史时刻的时空交互特征。具体的,可以将时间序列上的各历史时刻各障碍物的空间交互特征输入循环神经网络,该循环神经网络在每个历史时刻所输出的特征,实际上包含了之前所有历史时刻的空间交互信息中的特征,也就是说,该特征在时序上表征了各空间交互特征的关系,可以作为各障碍物在对应历史时刻之前的时空交互特征。可以选择任何循环神经网络作为本说明书中的循环神经子网络,例如长短时记忆网络(long short-term memory,lstm),本说明书对此不做限制。
[0047]
更进一步的,当输入注意力网络的仅仅只有位置特征时,即上述时空交互特征仅仅是根据障碍物在各历史时刻的位置信息确定出来时,可以根据轨迹信息提取出来的其他特征来丰富该时空交互特征所表征的信息。具体的,可以提取历史运动轨迹中所包含的其他特征,例如速度特征,将循环神经子网络输出的时空交互特征作为时空交互粗特征,并根据所提取出来的其他特征丰富时空交互粗特征的所表征的信息,并将丰富后的时空交互粗特征作为时空交互特征。其中,可以根据各障碍物的位置特征以及时空交互粗特征,确定位置时空交互特征,根据各障碍物的速度特征以及时空交互粗特征,确定速度时空交互特征,并根据位置时空交互特征以及速度时空交互特征,确定各障碍物的时空交互特征。
[0048]
该循环神经网络可以根据所输入的每一历史时刻的空间交互特征,输出对应的历
史时刻的时空交互特征,针对所输出每个历史时刻的时空交互特征,该时空交互特征反映了在该历史时刻之前,各障碍物的空间交互特征随时间的变化。
[0049]
s110:将所述第一模型输出的时空交互特征输入预先训练的第二模型,通过所述第二模型,确定各障碍物的预测运动轨迹。
[0050]
将各历史时刻的时空交互特征输入预先训练的第二模型,可以通过该第二模型确定各障碍物的预测运动轨迹。以下以第一模型输出到第二模型的时空交互特征为各障碍物在各历史时刻上的时空交互特征为例进行说明。
[0051]
如图1所示,本说明书提供了一种障碍物的轨迹预测方法,根据从各障碍物历史运动轨迹中所提取出的运动特征,确定出各障碍物两两之间的交互权重,并以所确定出的交互权重加权对应的运动特征,得到加权后的空间交互特征,循环神经子网络根据所输入的空间交互特征得到各障碍物的时空交互特征,预先训练的第二模型根据各障碍物的时空交互特征确定出各障碍物的预测运动轨迹,其中,交互权重反映了各障碍物与每个其他障碍物之间的影响程度,因此,空间交互特征在运动特征的基础上还刻画出了障碍物之间的交互,所预测出的障碍物未来的轨迹精度更高。
[0052]
更进一步,可以采用图3示出的第二模型,根据输入的时空交互特征,确定出各障碍物的预测运动轨迹。
[0053]
如图3所示,第二模型包括编码端和解码端,将时空交互特征输入编码端,编码端对所接收到的时空交互特征进行编码,并将编码端所输出的编码特征输入解码端,解码端根据输入的编码特征,预测障碍物在目标时刻的轨迹点。其中,目标时刻为基准时刻之后的未来时刻,也就是说,该第二模型以预测目标时刻的轨迹点的方式,确定各障碍物未来的预测运动轨迹。该轨迹预测模型的输出结果既可以直接为所预测出的目标时刻的轨迹点,也可以为所预测的各障碍物在基准时刻的上一历史时刻至目标时刻之间的行驶信息(例如速度和速度方向),并根据所获取到的各障碍物在基准时刻的上一历史时刻的位置信息确定出各障碍物在目标时刻的轨迹点。所输出的预测结果为何种形式,本说明书并不作限定。
[0054]
具体的,该编码端可以为lstm,该编码端对各历史时刻的时空交互特征编码,并得到编码特征,其中,第一模型输出的时空交互特征为各障碍物在时间序列上的各历史时刻的时空交互特征。具体的,当各历史时刻按照时间序列依次输入编码端后,以距离基准时刻最近的历史时刻的时空交互特征为输入,所得到的编码端的输出,可以认为该特征中包含了各历史时刻的时空交互特征的信息,因此,可以将该输出作为编码端所输出的编码特征。当然,以距离基准时刻最近的历史时刻的时空交互特征为输入所得到的编码端输出的隐层特征,也可以被认为承载了各历史时刻的时空交互特征的信息,因此该隐层特征也可以作为编码端所输出的编码特征。
[0055]
通常来讲,在无人车执行如图1所示的方法时,可以预测出各障碍物在若干目标时刻的轨迹点,从而获得各障碍物在未来一段时间的预测运动轨迹。具体的,在解码端每一次预测出各障碍物在目标时刻的轨迹点之后,可以重新确定基准时刻,并采用图1中步骤s100~s110中的方法,根据所预测出的重新确定的基准时刻的上一历史时刻的轨迹点,确定出该重新确定的基准时刻的上一历史时刻的时空交互特征,并根据该时空交互特征预测各障碍物在重新确定出的目标时刻上的轨迹点,如此循环,并确定途径所预测出的各轨迹点的各障碍物的预测轨迹。
[0056]
如图4所示,解码端首先以编码端输出的编码特征,以及历史时刻2的时空交互特征为输入,预测出各障碍物在目标时刻1的轨迹点,然后重新确定基准时刻,基准时刻重新确定后,目标时刻1成为了历史时刻3,采用图1中步骤s100~s110中的方法确定历史时刻3的时空交互特征,并根据该历史时刻3的时空交互特征预测各障碍物在目标时刻2的轨迹点。
[0057]
其中,上述解码端可以为lstm,在执行一次如图1所示的方法时,解码端在对第一个目标时刻的轨迹点进行预测时,可以将编码端所输出的隐层特征作为解码端初始化的隐层特征,并以距离基准时刻最近的历史时刻的时空交互特征为输入,预测各障碍物在第一个目标时刻的轨迹点。而在预测出第一个目标时刻的轨迹点之后,解码端可以将自身上一个输出的隐层特征传递至对重新确定出的目标时刻的轨迹点的预测中,并以重新确定的基准时刻的上一历史时刻的时空交互特征作为输入,预测各障碍物在重新确定出的目标时刻的轨迹点。
[0058]
以图5为例,在图5中,输入基准时刻的上一历史时刻的时空交互特征x1到解码端,并通过解码端预测第一个目标时刻的轨迹点时,将编码端所输出的编码特征h0(即编码端输出的隐层特征)作为解码端初始化的隐层特征,以使解码端根据h0和x1预测出各障碍物在第一个目标时刻的轨迹点(预测的轨迹点在图5中并未示出),并输出第一个目标时刻的隐层特征h1。在重新确定基准时刻后,解码端预测各障碍物在第二个目标时刻的轨迹点时,隐层特征则为解码端自身所输出的第一个目标时刻的隐层特征h1,以此类推。
[0059]
而由于现实中障碍物存在着各种行驶倾向,一种预测轨迹显然无法刻画出障碍物在面对存在不同路径的复杂环境时,其可能存在的各种运动倾向。因此,在本说明书所提供的障碍物的轨迹预测方法中,针对每个障碍物,可以预测出若干条轨迹。具体的,可以采用将解码端输入的时空交互特征与随机噪声拼接的方式,使解码端根据一个输入的时空交互特征,能够输出若干轨迹点。图6a和图6b示出了采用为时空交互特征拼接随机噪声的方法,在执行一次如图1所示的方法时,预测一个障碍物在两个目标时刻的轨迹点,从而获得该障碍物的4条预测运动轨迹的两种方法,其中,t0为基准时刻的上一历史时刻,t1和t2分别所预测轨迹点的两个目标时刻:在图6a中,解码端在根据各障碍物在t0时刻上的时空交互特征预测该障碍物在t1时刻的轨迹点时,可以将t0时刻的时空交互特征与预先确定的4个随机噪声分别拼接,并根据拼接后的4个t0时刻的时空交互特征分别预测出该障碍物在t1时刻的4个轨迹点p1~p4,而在预测该障碍物在t2时刻的轨迹点时,可以不为t1时刻的4个轨迹点对应的t1时刻的时空交互特征拼接随机噪声,则可以获得所预测的该障碍物在t2时刻的4个轨迹点p5~p8,从而预测出该障碍物在t0~t2的4条预测轨迹。
[0060]
而在图6b中,解码端在根据各障碍物在t0时刻上的时空交互特征预测该障碍物在t1时刻的轨迹点时,可以将t0时刻的时空交互特征与预先确定的2个随机噪声分别拼接,并根据拼接后的2个t0时刻的时空交互特征分别预测出该障碍物在t1时刻的2个轨迹点p1和p2,而在预测该障碍物在t2时刻的轨迹点时,再将p1和p2对应的t1时刻的时空交互特征都分别与两个随机噪声拼接,从而用拼接随机噪声后的p1和p2对应的t1时刻的时空交互特征,通过解码端预测出该障碍物在t2时刻的4个轨迹点p3~p6,从而预测出该障碍物在t0~t2的4条预测轨迹。
[0061]
可以看出,针对每个障碍物能够确定出的预测轨迹的个数,是由所拼接的随机噪
声的数目和时间确定的,可以采用任一现有的方式将随机噪声拼接到任一时空交互特征中,本说明书在此不作赘述。
[0062]
实施例二:图7为本说明书实施例提供的训练如图2所示的第一模型和第二模型的流程示意图,包括:s700:确定各样本障碍物,以及各样本障碍物对应的样本轨迹。
[0063]
s702:根据预先设定的基准时刻,针对每个样本障碍物,将该样本障碍物对应的样本轨迹中,在所述基准时刻前的轨迹作为该样本障碍物的初始轨迹,在所述基准时刻后的轨迹作为该样本障碍物的标注轨迹。
[0064]
通常来讲,样本轨迹为预先收集的各障碍物在历史上的真实轨迹,具体的,可以预先在现实环境中布置传感设备,选取所采集到的障碍物,作为样本障碍物,并所采集到的样本障碍物的真实轨迹,作为各样本障碍物对应的样本轨迹。由于样本轨迹通常为所采集到的在相同的目标时段内的真实轨迹,因此往往无需在采集后再截取为预设时长内的轨迹。
[0065]
将各样本障碍物在目标时段内的样本轨迹,以预先设定的基准时刻为分界线划分,其中在所述基准时刻前的轨迹作为该样本障碍物的初始轨迹,在所述基准时刻后的轨迹作为该样本障碍物的标注轨迹。
[0066]
s704:针对每个样本障碍物,将该样本障碍物的初始轨迹输入第一模型,通过所述第一模型的特征提取子网络,提取该样本障碍物的运动特征。
[0067]
s706:将各样本障碍物的运动特征输入所述第一模型的注意力子网络,得到各样本障碍物两两之间的交互权重。
[0068]
s708:以确定出的交互权重对各样本障碍物的运动特征加权,将加权后的各样本障碍物的运动特征作为各样本障碍物的空间交互特征。
[0069]
s710:将所述各样本障碍物的空间交互特征输入所述第一模型的循环神经子网络,得到各样本障碍物的时空交互特征。
[0070]
s712:将所述第一模型输出的时空交互特征输入第二模型,通过所述第二模型,确定各样本障碍物的预测轨迹。
[0071]
采用与图1中相同的方法,将各障碍物的初始轨迹输入如图2所示的轨迹预测模型,该轨迹预存模型输出各样本障碍物的预测轨迹。
[0072]
s714:以各样本障碍物的预测轨迹与标注轨迹之间的差异最小为目标,调整所述第一模型和第二模型中的参数。
[0073]
以各样本障碍物的预测轨迹与标注轨迹之间的差异最小为目标,调整所述第一模型和第二模型中的参数,更进一步的,当该轨迹预测模型所输出的是每个样本障碍物的若干预测轨迹时,可以将各样本障碍物的所有预测轨迹与标注轨迹之间的差异最小为目标调整参数,也可以针对每个样本障碍物,在该样本障碍物所确定出的预测轨迹中选择出一条与该样本障碍物的标注轨迹最接近的预测轨迹,将该预测轨迹作为目标轨迹,在调整参数时,以各样本障碍物的目标轨迹与标注轨迹之间的差异最小为目标,调整所述第一模型和第二模型中的参数。
[0074]
以上为本说明书示例性提供的障碍物的轨迹预测方法,基于同样的思路,本说明书还提供了相应的装置、存储介质和无人驾驶设备。
[0075]
图8为本说明书实施例提供的一种障碍物的轨迹预测装置的结构示意图,所述装置包括:轨迹确定模块800,用于确定各障碍物在历史上的历史运动轨迹;特征提取模块802,用于针对每个障碍物,将该障碍物在预设时长内的历史运动轨迹输入预先训练的第一模型,通过所述第一模型的特征提取子网络,提取该障碍物的运动特征;注意力权重模块804,用于将各障碍物的运动特征输入所述第一模型的注意力子网络,得到各障碍物两两之间的交互权重;空间特征模块806,用于以确定出的交互权重对各障碍物的运动特征加权,将加权后的各障碍物的运动特征作为各障碍物的空间交互特征;时空特征模块808,用于将所述各障碍物的空间交互特征输入所述第一模型的循环神经子网络,得到各障碍物的时空交互特征;轨迹预测模块810,用于将所述第一模型输出的时空交互特征输入预先训练的第二模型,通过所述第二模型,确定各障碍物的预测运动轨迹。
[0076]
可选地,所述特征提取模块802具体用于,提取该障碍物的位置特征和速度特征;注意力权重模块804具体用于,将各障碍物的位置特征输入所述第一模型的注意力子网络;时空特征模块808具体用于,将所述各障碍物的空间交互特征输入所述第一模型的循环神经子网络,得到各障碍物的时空交互粗特征;根据各障碍物的位置特征、速度特征以及时空交互粗特征,确定各障碍物的时空交互特征。
[0077]
可选地,所述循环神经子网络为第一lstm长短期记忆网络;所述时空特征模块808具体用于,根据各障碍物的位置特征以及时空交互粗特征,确定位置时空交互特征;根据各障碍物的速度特征以及时空交互粗特征,确定速度时空交互特征;根据位置时空交互特征以及速度时空交互特征,确定各障碍物的时空交互特征。
[0078]
可选地,所述第二模型具体包括:编码端和解码端;所述轨迹预测模块810具体用于,将所述第一模型输出的时空交互特征输入所述编码端,得到所述编码端输出编码特征;将所述编码特征输入所述解码端,通过所述解码端,预测各障碍物在目标时刻的轨迹点。
[0079]
可选地,各障碍物的历史运动轨迹为各障碍物在基准时刻之前的各历史时刻的轨迹点;所述目标时刻为所述基准时刻之后的未来时刻;所述第一模型输出的时空交互特征为各历史时刻的时空交互特征。
[0080]
可选地,所述编码端为第二lstm;所述轨迹预测模块810具体用于,将各历史时刻的时空交互特征输入所述第二lstm,得到所述第二lstm中的隐藏层根据各历史时刻的时空交互特征输出的隐层特征,作为所述编码端输出编码特征。
[0081]
可选地,所述轨迹预测模块810具体用于,将所述编码特征以及所述基准时刻的上一历史时刻的时空交互特征输入所述解码端,通过所述解码端,预测各障碍物在目标时刻的轨迹点。
[0082]
可选地,所述解码端为第三lstm;所述特征提取模块802具体用于,重新确定基准时刻,并根据重新确定出的基准时刻,重新确定目标时刻;所述轨迹预测模块810具体用于,将重新确定的基准时刻的上一历史时刻解码端输出的隐层特征,以及重新确定的基准时刻的上一历史时刻的时空交互特征输入所述解码端,以通过所述解码端,预测各障碍物在重新确定的目标时刻的轨迹点。
[0083]
可选地,所述特征提取模块802具体用于,针对每个障碍物,将所述各障碍物在所述基准时刻的上一历史时刻的时空交互特征中对应于该障碍物的时空交互向量,分别与预先确定的若干个随机噪声拼接,并将拼接后的若干个时空交互向量输入所述解码端;针对每个拼接后的时空交互向量,根据该时空交互向量,以及编码端输出的所述编码特征,通过所述解码端,确定出该障碍物在目标时刻的轨迹点本说明书还提供了一种计算机可读存储介质,该存储介质存储有计算机程序,计算机程序可用于执行上述图1提供的障碍物的轨迹预测方法。
[0084]
本说明书还提供了图9所示的无人驾驶设备的示意结构图。如图9所述,在硬件层面,该页面加载设备包括处理器、内部总线、网络接口、内存以及非易失性存储器,当然还可能包括其他业务所需要的硬件。处理器从非易失性存储器中读取对应的计算机程序到内存中然后运行,以实现上述图1所述的障碍物的轨迹预测方法。当然,除了软件实现方式之外,本说明书并不排除其他实现方式,比如逻辑器件抑或软硬件结合的方式等等,也就是说以下处理流程的执行主体并不限定于各个逻辑单元,也可以是硬件或逻辑器件。
[0085]
在20世纪90年代,对于一个技术的改进可以很明显地区分是硬件上的改进(例如,对二极管、晶体管、开关等电路结构的改进)还是软件上的改进(对于方法流程的改进)。然而,随着技术的发展,当今的很多方法流程的改进已经可以视为硬件电路结构的直接改进。设计人员几乎都通过将改进的方法流程编程到硬件电路中来得到相应的硬件电路结构。因此,不能说一个方法流程的改进就不能用硬件实体模块来实现。例如,可编程逻辑器件(programmable logic device, pld)(例如现场可编程门阵列(field programmable gate array,fpga))就是这样一种集成电路,其逻辑功能由用户对器件编程来确定。由设计人员自行编程来把一个数字系统“集成”在一片pld上,而不需要请芯片制造厂商来设计和制作专用的集成电路芯片。而且,如今,取代手工地制作集成电路芯片,这种编程也多半改用“逻辑编译器(logic compiler)”软件来实现,它与程序开发撰写时所用的软件编译器相类似,而要编译之前的原始代码也得用特定的编程语言来撰写,此称之为硬件描述语言(hardware description language,hdl),而hdl也并非仅有一种,而是有许多种,如abel(advanced boolean expression language)、ahdl(altera hardware description language)、confluence、cupl(cornell university programming language)、hdcal、jhdl(java hardware description language)、lava、lola、myhdl、palasm、rhdl(ruby hardware description language)等,目前最普遍使用的是vhdl(very-high-speed integrated circuit hardware description language)与verilog。本领域技术人员也应该清楚,只需要将方法流程用上述几种硬件描述语言稍作逻辑编程并编程到集成电路中,就可以很容易得到实现该逻辑方法流程的硬件电路。
[0086]
控制器可以按任何适当的方式实现,例如,控制器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(application specific integrated circuit,asic)、可编程逻辑控制器和嵌入微控制器的形式,控制器的例子包括但不限于以下微控制器:arc 625d、atmel at91sam、microchip pic18f26k20 以及silicone labs c8051f320,存储器控制器还可以被实现为存储器的控制逻辑的一部分。本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来
使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
[0087]
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。
[0088]
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本说明书时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
[0089]
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
[0090]
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0091]
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0092]
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0093]
在一个典型的配置中,计算设备包括一个或多个处理器(cpu)、输入/输出接口、网络接口和内存。
[0094]
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flash ram)。内存是计算机可读介质的示例。
[0095]
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除
可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
[0096]
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
[0097]
本领域技术人员应明白,本说明书的实施例可提供为方法、系统或计算机程序产品。因此,本说明书可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本说明书可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
[0098]
本说明书可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本说明书,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
[0099]
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
[0100]
以上所述仅为本说明书的实施例而已,并不用于限制本说明书。对于本领域技术人员来说,本说明书可以有各种更改和变化。凡在本说明书的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本说明书的权利要求范围之内。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1