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

文档序号:27014488发布日期:2021-10-22 23:14阅读:81来源:国知局
一种轨迹预测方法、装置、设备和存储介质与流程

1.本发明实施例涉及计算机技术,尤其涉及一种轨迹预测方法、装置、设备和存储介质。


背景技术:

2.随着计算机技术的快速发展,车辆可以实现无人自动驾驶。在无人自动驾驶场景中,通常需要预测出无人车周围的障碍物运动轨迹,以避免无人车与障碍物相碰撞。
3.目前,通常是利用生成式对抗网络模型(generative adversarial networks,gan)来预测场景中的障碍物运动轨迹,比如,利用social-gan模型预测行人运动轨迹。
4.然而,在实现本发明过程中,发明人发现现有技术中至少存在如下问题:
5.现有的轨迹预测方式中,当预测某个行人的运行轨迹时,gan中的轨迹生成器需要考虑当前场景中所有行人的信息,大大增加了计算量,从而降低了轨迹预测效率。


技术实现要素:

6.本发明实施例提供了一种轨迹预测方法、装置、设备和存储介质,以在保证轨迹预测准确性的情况下提高轨迹预测效率。
7.第一方面,本发明实施例提供了一种轨迹预测方法,包括:
8.确定当前自动驾驶场景中待预测轨迹的第一对象;
9.根据所述当前自动驾驶场景中的每个对象对应的当前对象信息,确定与所述第一对象相关联的第二对象;
10.根据预设轨迹生成模型、所述第一对象的第一历史轨迹信息和所述第二对象的第二历史轨迹信息,预测出所述第一对象的目标未来轨迹。
11.第二方面,本发明实施例还提供了一种轨迹预测装置,包括:
12.第一对象确定模块,用于确定当前自动驾驶场景中待预测轨迹的第一对象;
13.第二对象确定模块,用于根据所述当前自动驾驶场景中的每个对象对应的当前对象信息,确定与所述第一对象相关联的第二对象;
14.目标未来轨迹预测模块,用于根据预设轨迹生成模型、所述第一对象的第一历史轨迹信息和所述第二对象的第二历史轨迹信息,预测出所述第一对象的目标未来轨迹。
15.第三方面,本发明实施例还提供了一种设备,所述设备包括:
16.一个或多个处理器;
17.存储器,用于存储一个或多个程序;
18.当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如本发明任意实施例所述的轨迹预测方法。
19.第四方面,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本发明任意实施例所述的轨迹预测方法。
20.上述发明中的实施例具有如下优点或有益效果:
21.通过根据当前自动驾驶场景中的每个对象对应的当前对象信息,确定出与待预测轨迹的第一对象相关联的第二对象,从而过滤掉当前自动驾驶场景中与第一对象无关的其他对象,使得预设轨迹生成模型可以基于第一对象的第一历史轨迹信息和相关联的第二对象的第二历史轨迹信息,准确地预测出第一对象的目标未来轨迹,无需考虑当前自动驾驶场景中无关对象的信息,从而降低了无用计算量,并且在保证轨迹预测准确性的情况下提高了轨迹预测效率。
附图说明
22.图1是本发明实施例一提供的一种轨迹预测方法的流程图;
23.图2是本发明实施例一所涉及的一种预设轨迹生成模型的示例;
24.图3是本发明实施例一所涉及的另一种预设轨迹生成模型的示例;
25.图4是本发明实施例一所涉及的一种动态警戒区域的示例;
26.图5是本发明实施例一所涉及的一种当前自动驾驶场景对应的动态图模型的示例;
27.图6是本发明实施例二提供的一种轨迹预测方法的流程图;
28.图7是本发明实施例二所涉及的一种预设轨迹生成模型的示例;
29.图8是本发明实施例二所涉及的另一种预设轨迹生成模型的示例;
30.图9是本发明实施例二所涉及的一种编码层中的编码子层的示例;
31.图10是本发明实施例二所涉及的一种轨迹鉴别模型的示例;
32.图11是本发明实施例三提供的一种轨迹预测装置的结构示意图;
33.图12是本发明实施例四提供的一种设备的结构示意图。
具体实施方式
34.下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
35.实施例一
36.图1为本发明实施例一提供的一种轨迹预测方法的流程图,本实施例可适用于对当前自动驾驶场景中无人车周围的对象进行轨迹预测的情况。该方法可以由轨迹预测装置来执行,该装置可以由软件和/或硬件的方式来实现,集成于具有数据处理功能的设备中,比如电脑、计算机等。如图1所示,该方法具体包括以下步骤:
37.s110、确定当前自动驾驶场景中待预测轨迹的第一对象。
38.其中,当前自动驾驶场景可以是指当前时刻下自动驾驶车辆所处于的环境场景。第一对象可以是指自动驾驶车辆所在的预设区域内的任一动态障碍物,以便对其进行运动轨迹的预测,避免自动驾驶车辆与第一对象发生碰撞。其中,预设区域可以是基于车辆尺寸和实际场景预先设置的,自动驾驶车辆的附近周围区域。第一对象可以是但不限于行人或者车辆,其中车辆可以包括汽车和自行车。当前自动驾驶场景中可以包括处于运动状态的各个对象,从而使得当前自动驾驶场景是实时变化的。
39.具体地,在当前自动驾驶场景中,可以基于自动驾驶车辆当前所处位置,确定出自
动驾驶车辆所在的预设区域内的各个动态障碍物,并将每个动态障碍物可以作为第一对象进行未来运动轨迹的预测,以使自动驾驶车辆可以基于各个动态障碍物的未来运动轨迹进行路径规划,避免自动驾驶车辆与周围的动态障碍物发生碰撞。
40.s120、根据当前自动驾驶场景中的每个对象对应的当前对象信息,确定与第一对象相关联的第二对象。
41.其中,当前自动驾驶场景中的每个对象可以是指当前自动驾驶场景中所包括的每个处于运动状态的对象。当前自动驾驶场景中的每个对象可以是但不限于行人或者车辆,车辆可以包括汽车和自行车。当前对象信息可以是指当前时刻下对象的信息。当前对象信息可以包括但不限于对象的当前运动速度、体积大小和当前位置。与第一对象相关联的第二对象的数量可以为一个或多个。
42.具体地,可以基于第一对象的当前对象信息和当前自动驾驶场景中除第一对象之外的每个其他对象的当前对象信息,确定第一对象和每个其他对象是否存在关联,例如,基于第一对象的当前对象信息和每个其他对象的当前对象信息可以确定第一对象和每个其他对象之间的当前距离,若当前距离小于预设值,则确定该其他对象与第一对象存在关联,即确定该其他对象为第二对象,从而可以获得当前自动驾驶场景中与第一对象相关联的各个第二对象,过滤掉当前自动驾驶场景中与第一对象无关的其他对象,避免无关对象的信息输入。
43.s130、根据预设轨迹生成模型、第一对象的第一历史轨迹信息和第二对象的第二历史轨迹信息,预测出第一对象的目标未来轨迹。
44.其中,预设轨迹生成模型可以是预先设置的,用于预测第一对象未来轨迹的网络模型。例如,预设轨迹生成模型可以是预设生成式对抗网络gan中的生成模型,从而预设轨迹生成模型可以利用预设生成式对抗网络gan中的轨迹鉴别模型进行训练获得。其中,预设轨迹生成模型可以用于输出第一对象的预测未来轨迹;轨迹鉴别模型可以是一个分类模型,用于区分预设轨迹生成模型输出的预测未来轨迹与实际未来轨迹之间的真假。通过利用预设轨迹生成模型和轨迹鉴别模型之间互相博弈学习的方式,对预设轨迹生成模型和轨迹鉴别模型进行单独交替迭代训练,从而可以获得用于准确预测未来轨迹的预设轨迹生成模型。
45.具体地,可以对第一对象的第一历史轨迹信息和第二对象的第二历史轨迹信息进行信息处理,获得预设轨迹生成模型可识别的输入数据形式。例如,可以将第一对象的第一历史轨迹信息中包括的各个第一历史位置,组成与时间相关联的第一历史位置时间序列。将每个第二对象的第二历史轨迹信息中包括的各个第二历史位置,组成与时间相关联的第二历史位置时间序列。将第一历史位置时间序列和每个第二历史位置时间序列输入至预设轨迹生成模型中,根据预设轨迹生成模型的输出可以获得第一对象对应的目标未来轨迹。预设轨迹生成模型可以仅对第一对象和相关联的第二对象的各个历史轨迹信息进行处理,无需处理当前自动驾驶场景中无关对象的信息,从而降低了无用计算量,并且在保证轨迹预测准确性的情况下提高了轨迹预测效率。
46.示例性地,图2给出了一种预设轨迹生成模型的示例。如图2所示,预设轨迹生成模型可以包括:编码层、中间处理层、向量拼接层和解码层。基于图2中预设轨迹生成模型的网络结构,s130可以通过如下步骤s131-s134预测出第一对象的目标未来轨迹:
47.s131、将第一对象的第一历史轨迹信息对应的第一历史位置时间序列和第二对象的第二历史轨迹信息对应的第二历史位置时间序列输入至编码层中进行编码处理,获得第一对象对应的第一历史轨迹特征向量和第二对象对应的第二历史轨迹特征向量。
48.其中,历史轨迹特征向量可以是在对象的历史轨迹信息中所提取出的特征向量。编码层可以用于对第一历史位置时间序列进行编码处理,提取出预设长度的第一历史轨迹特征向量,以及对第二历史位置时间序列进行编码处理,提取出预设长度的第二历史轨迹特征向量。编码层可以包括至少两个相同的循环神经网络子模型,其具体数量可以与输入的历史位置时间序列的个数相同,使得循环神经网络子模型与输入的历史位置时间序列一一对应。每个循环神经网络子模型中的权重值均是共享的,从而各个循环神经网络子模型均为相同的模型。图3给出了另一种预设轨迹生成模型的示例。如图3所示,编码层中的每个循环神经网络子模型可以是但不限于长短时记忆网络模型lstm(long-short-term memory)。
49.具体地,如图3所示,若仅存在一个第二对象,则可以将第一对象的第一历史轨迹信息对应的第一历史位置时间序列x1输入至编码层中的第一个循环神经网络子模型lstm1中进行编码处理,获得第一对象对应的第一历史轨迹特征向量h1;将第二对象的第二历史轨迹信息对应的第二历史位置时间序列x2输入至编码层中的第二个循环神经网络子模型lstm2中进行编码处理,获得第二对象对应的第二历史轨迹特征向量h2,从而可以利用编码层中的各个循环神经网络子模型,对第一对象和各个第二对象同时进行编码处理,提高了编码处理效率。
50.s132、将第一历史轨迹特征向量和第二历史轨迹特征向量输入至中间处理层进行关联程度处理,获得第一对象对应的关联特征向量。
51.其中,中间处理层可以是用于对第一对象与第二对象的关联程度进行处理,以便获得用于表征各第二对象对第一对象轨迹影响的关联特征向量。
52.具体地,中间处理层可以包括第一处理子层、第二处理子层、拼接子层和池化子层。第一处理子层可以包括至少两个多层感知器子模型mlp(multi-layer perceptron);第二处理子层可以包括至少两个多层感知器子模型mlp。例如,s132可以包括:将第一对象与每个第二对象之间的相对位置坐标向量输入至第一处理子层中的第一个多层感知器子模型,获得第一对象对应的第一坐标向量,以及将第二对象与第一对象、第二对象与其他第二对象之间的相对位置坐标向量输入至第一处理子层中的第二个多层感知器子模型,获得第二对象对应的第二坐标向量;将第一对象对应的第一坐标向量和第一历史轨迹特征向量输入至拼接子层中进行向量拼接,获得第一拼接向量,以及将第二对象对应的第二坐标向量和第二历史轨迹特征向量输入至拼接子层中进行向量拼接,获得第二拼接向量;将第一拼接向量输入至第二处理子层中的第一个多层感知器子模型,获得第一关联向量,以及将第二拼接向量输入至第二处理子层中的第二个多层感知器子模型,获得第二关联向量;将第一关联向量和第二关联向量输入至池化子层中进行池化处理,比如最大池化,获得第一对象对应的关联特征向量。
53.示例性地,如图3所示,中间处理层可以包括:图注意力网络模型(graph attention network,gat),图注意力网络模型可以是预先基于当前自动驾驶场景中的每个对象对应的当前对象信息构建的,以便仅将注意力分配至与第一对象相关联的各个第二对
象上。其中,图注意力网络模型可以用于:根据输入的第一历史轨迹特征向量和第二历史轨迹特征向量,确定第二对象对应的注意力权重;基于第二对象对应的注意力权重,对第二历史轨迹特征向量进行加权求和,并将求和结果确定为第一对象对应的关联特征向量。
54.其中,第二对象对应的注意力权重可以用于表征第二对象对第一对象的重要性,即关联程度的高低。具体地,可以利用图注意力网络模型gat,对第一对象和第二对象进行关联程度处理,避免仅将两个对象之间的相对位置距离作为关联关系的重点,从而基于注意力机制可以获得更加准确的关联特征向量a1,进一步提高轨迹预测准确性。例如,图注意力网络模型gat可以通过如下公式获得第一对象对应的关联特征向量:
55.e
ij
=a(w
gat
h(i),w
gat
h(j))
56.a
ij
=softmax(e
ij
)
57.p(i)=∑
j∈n
a
ij
w
gat
h(j)
58.其中,e
ij
是第二对象j对应的注意力权重;h(i)是第一对象i对应的第一历史轨迹特征向量;h(j)是第二对象j对应的第二历史轨迹特征向量;w
gat
是预先训练出的线性变换权重矩阵;a是注意力机制;a
ij
是归一化后的注意力权重;p(i)是第一对象对应的关联特征向量;n是第二对象的总数量。
59.s133、将第一历史轨迹特征向量、关联特征向量和随机向量输入至向量拼接层中进行向量拼接,获得第一对象对应的目标特征向量。
60.其中,随机向量可以是随机生成的一个向量,比如可以基于正态分布生成的随机向量,以便基于不同的随机向量可以生成不同的目标未来轨迹,进而基于生成的多个目标未来轨迹的分布情况确定出最接近实际情况的目标未来轨迹。
61.具体地,如图3所示,向量拼接层可以将关联特征向量a1、第一历史轨迹特征向量h1和随机向量z进行向量拼接,获得一个完整的用于表征第一对象各种特征信息的目标特征向量a2。
62.s134、将目标特征向量输入至解码层中进行解码处理,获得第一对象的目标未来轨迹。
63.具体地,解码层可以包括:多层感知器子模型mlp。第二多层感知器子模型mlp可以用于:对输入的目标特征向量进行解码处理,确定出第一对象的目标未来轨迹。
64.本实施例的技术方案,通过根据当前自动驾驶场景中的每个对象对应的当前对象信息,确定出与待预测轨迹的第一对象相关联的第二对象,从而过滤掉当前自动驾驶场景中与第一对象无关的其他对象,使得预设轨迹生成模型可以基于第一对象的第一历史轨迹信息和相关联的第二对象的第二历史轨迹信息,准确地预测出第一对象的目标未来轨迹,无需考虑当前自动驾驶场景中无关对象的信息,从而降低了无用计算量,并且在保证轨迹预测准确性的情况下提高了轨迹预测效率。
65.在上述技术方案的基础上,s120可以包括:根据当前自动驾驶场景中的每个对象对应的当前对象信息,建立当前自动驾驶场景对应的动态图模型;根据动态图模型,确定与第一对象相关联的第二对象。
66.其中,动态图模型可以是随当前自动驾驶场景动态变化的无向图模型。动态图模型可以更加准确地表征出当前自动驾驶场景中任意两个对象之间的关联关系,从而基于建立的当前自动驾驶场景对应的动态图模型,可以更加准确地确定出与第一对象相关联的第
二对象,进一步提高轨迹预测的准确性。
67.示例性地,根据当前自动驾驶场景中的每个对象对应的当前对象信息,建立当前自动驾驶场景对应的动态图模型,可以包括:根据当前自动驾驶场景中的每个对象对应的当前对象信息,确定每个对象对应的动态警戒区域;根据每个对象的当前位置确定动态图模型中每个对象对应的顶点;检测两两对象对应的动态警戒区域是否存在相交区域,并将存在相交区域的两个对象所对应的两个顶点进行连线,建立出动态图模型。
68.其中,每个对象对应的动态警戒区域可以是指当前时刻下每个对象周围可能会发生碰撞的危险区域。动态警戒区域的区域形状可以是但不限于圆形。例如,图4给出了一种动态警戒区域的示例。图4中的动态警戒区域可以是以对象的当前位置为圆心的圆形区域。
69.具体地,图5给出了一种当前自动驾驶场景对应的动态图模型的示例,如图5所示,可以基于当前自动驾驶场景中的每个对象对应的当前对象信息,确定出每个对象对应的动态警戒区域,如图5中每个对象所在的圆形区域。可以将当前自动驾驶场景中每个对象的当前位置作为相应的顶点位置,获得在动态图模型中每个对象对应的顶点。检测任意两个对象对应的两个动态警戒区域是否相交,即是否存在相交区域,若是,则表明这两个对象的运动轨迹可能会互相影响,即这两个对象之间相互关联,此时可以将这两个对象所对应的两个顶点进行连线。例如,图5中对象d1和对象d2对应的两个动态警戒区域存在相交区域,此时将对象d1和对象d2所对应的两个顶点进行连线。若两个对象对应的两个动态警戒区域不相交,即不存在相交区域,则表明这两个对象的运动轨迹彼此独立不会互相影响,即这两个对象之间不关联,此时无需进行连线。通过对当前自动驾驶场景中所有存在相互关联的两个对象所对应的顶点进行连线,可以建立出准确表征对象关联关系的动态图模型,从而基于动态图模型可以更加准确地确定出与第一对象相关联的各个第二对象。例如,若图5中对象d1为第一对象,则可以基于图5中的动态图模型,将与对象d1存在连线的各个对象确定为与第一对象相关联的各个第二对象,即对象d2、d3和d4。
70.示例性地,根据当前自动驾驶场景中的每个对象对应的当前对象信息,确定每个对象对应的动态警戒区域,可以包括:根据当前自动驾驶场景中的每个对象的当前运动速度、体积大小确定每个对象对应的警戒半径;将每个对象的当前位置作为圆心,并根据每个对象对应的警戒半径确定出每个对象对应的动态警戒区域。
71.其中,警戒半径可以用于表征对象周围危险区域的半径。对象对应的警戒半径与对象的当前运动速度和体积大小均成正相关。例如,可以通过如下公式确定对象对应的警戒半径:
72.r=speed*t+λ*volume
73.其中,r是对象对应的警戒半径;speed是对象的当前运动速度大小;t是预设单位时间长度;volume是对象的体积大小;λ是预设常数系数。
74.具体地,对于当前自动驾驶场景中的每个对象,可以以对象的当前位置为圆心,以相应的警戒半径为半径所绘制出的圆形区域确定为该对象对应的动态警戒区域,从而可以针对每个对象获得更加准确的动态警戒区域,进一步提高轨迹预测准确性。
75.实施例二
76.图6为本发明实施例二提供的一种轨迹预测方法的流程图,本实施例在上述实施例的基础上,对“根据预设轨迹生成模型、第一对象的第一历史轨迹信息和第二对象的第二
历史轨迹信息,预测出第一对象的目标未来轨迹”进行了优化。其中与上述实施例相同或相应的术语的解释在此不再赘述。
77.参见图6,本实施例提供的轨迹预测方法具体包括以下步骤:
78.s210、确定当前自动驾驶场景中待预测轨迹的第一对象。
79.s220、根据当前自动驾驶场景中的每个对象对应的当前对象信息,确定与第一对象相关联的第二对象。
80.s230、根据预设轨迹生成模型、第一对象的第一历史轨迹信息、第一对象状态信息、第二对象的第二历史轨迹信息和第二对象状态信息,预测出第一对象的目标未来轨迹。
81.其中,第一对象状态信息可以包括但不限于第一对象的体积大小、当前运动速度和当前运动方向。第二对象状态信息可以包括但不限于第二对象的体积大小、当前运动速度和当前运动方向。
82.具体地,可以对第一历史轨迹信息、第一对象状态信息、第二历史轨迹信息和第二对象状态信息进行信息处理,获得预设轨迹生成模型可识别的输入数据形式。例如,可以将第一对象的第一历史轨迹信息中包括的各个第一历史位置,组成与时间相关联的第一历史位置时间序列。将每个第二对象的第二历史轨迹信息中包括的各个第二历史位置,组成与时间相关联的第二历史位置时间序列。可以利用向量形式对第一对象状态信息和第二对象状态信息进行表征,获得第一对象状态向量和第二对象状态向量。将第一历史位置时间序列、第一对象状态向量、第二历史位置时间序列和第二对象状态向量输入至预设轨迹生成模型中,使得预设轨迹生成模型可以利用更加丰富的对象信息进行轨迹预测,从而输出更加准确的目标未来轨迹,进一步提高了轨迹预测准确性。
83.示例性地,图7给出了一种预设轨迹生成模型的示例。如图7所示,预设轨迹生成模型可以包括:编码层、中间处理层、向量拼接层和解码层,以使预测轨迹生成模型可以准确地预测出目标未来轨迹。基于图7中预设轨迹生成模型的网络结构,s230可以通过如下步骤s231-s234预测出第一对象的目标未来轨迹:
84.s231、将第一对象的第一历史轨迹信息对应的第一历史位置时间序列、第一对象状态信息对应的第一对象状态向量、第二对象的第二历史轨迹信息对应的第二历史位置时间序列和第二对象状态信息对应的第二对象状态向量输入至编码层中进行编码处理,获得第一对象对应的第一对象特征向量和第二对象对应的第二对象特征向量。
85.其中,第一对象特征向量可以用于表征第一对象的第一历史轨迹信息与第一对象状态信息整合后的特征向量。第二对象特征向量可以用于表征第二对象的第二历史轨迹信息与第二对象状态信息整合后的特征向量。
86.具体地,编码层可以用于对第一对象的第一历史位置时间序列和第一对象状态向量进行编码处理,获得预设长度的第一对象特征向量,以及对第二对象的第二历史位置时间序列和第二对象状态向量进行编码处理,获得预设长度的第二对象特征向量。
87.示例性地,编码层可以包括:至少两个相同的编码子层,其具体数量可以与输入的对象数量的个数相同,使得每个对象均可以对应一个编码子层进行信息处理。每个编码子层中的模型结构相同,并且模型权重值是共享的。例如,s231可以包括:将第一对象的第一历史轨迹信息对应的第一历史位置时间序列和第一对象状态信息对应的第一对象状态向量输入至编码层中的第一编码子层中进行编码处理,确定出第一对象对应的第一对象特征
向量;将第二对象的第二历史轨迹信息对应的第二历史位置时间序列和第二对象状态信息对应的第二对象状态向量输入至编码层中的第二编码子层中进行编码处理,确定出第二对象对应的第二对象特征向量。
88.具体地,图8给出了另一种预设轨迹生成模型的示例。如图8所示,若仅存在一个第二对象,则可以将第一对象的第一历史位置时间序列x1和第一对象状态向量m1输入至编码层中的第一编码子层(编码子层1)进行编码处理,获得第一对象对应的第一对象特征向量h
m1
;将第二对象的第二历史位置时间序列x2和第二对象状态向量m2输入至编码层中的第二编码子层(编码子层2)进行编码处理,获得第二对象对应的第二对象特征向量h
m2
,从而可以利用编码层中的各个相同的编码子层,对第一对象和各个第二对象同时进行编码处理,提高了编码处理效率。
89.s232、将第一对象特征向量和第二对象特征向量输入至中间处理层进行关联程度处理,获得第一对象对应的关联特征向量。
90.其中,中间处理层可以是用于对第一对象与第二对象的关联程度进行处理,以便获得用于表征各第二对象对第一对象轨迹影响的关联特征向量。
91.具体地,中间处理层可以包括第一处理子层、第二处理子层、拼接子层和池化子层。第一处理子层可以包括至少两个多层感知器子模型mlp;第二处理子层可以包括至少两个多层感知器子模型mlp。例如,s232可以包括:将第一对象与每个第二对象之间的相对位置坐标向量输入至第一处理子层中的第一个多层感知器子模型,获得第一对象对应的第一坐标向量,以及将第二对象与第一对象、第二对象与其他第二对象之间的相对位置坐标向量输入至第一处理子层中的第二个多层感知器子模型,获得第二对象对应的第二坐标向量;将第一对象对应的第一坐标向量和第一对象特征向量输入至拼接子层中进行向量拼接,获得第一拼接向量,以及将第二对象对应的第二坐标向量和第二对象特征向量输入至拼接子层中进行向量拼接,获得第二拼接向量;将第一拼接向量输入至第二处理子层中的第一个多层感知器子模型,获得第一关联向量,以及将第二拼接向量输入至第二处理子层中的第二个多层感知器子模型,获得第二关联向量;将第一关联向量和第二关联向量输入至池化子层中进行池化处理,比如最大池化,获得第一对象对应的关联特征向量。
92.示例性地,如图8所示,中间处理层可以包括:图注意力网络模型gat,图注意力网络模型是预先基于当前自动驾驶场景中的每个对象对应的当前对象信息构建的,以便仅将注意力分配至与第一对象相关联的各个第二对象上。例如,可以将基于当前自动驾驶场景中的每个对象对应的当前对象信息建立的动态图模型作为框架,构建出图注意力网络模型gat。
93.其中,图注意力网络模型可以用于:根据输入的第一对象特征向量和第二对象特征向量,确定第二对象对应的注意力权重;基于第二对象对应的注意力权重,对第二对象特征向量进行加权求和,并将求和结果确定为第一对象对应的关联特征向量。
94.其中,第二对象对应的注意力权重可以用于表征第二对象对第一对象的重要性,即关联程度的高低。具体地,可以利用图注意力网络模型gat,对第一对象和第二对象进行关联程度处理,避免仅将两个对象之间的相对位置距离作为关联关系的重点,从而基于注意力机制可以获得更加准确的关联特征向量a
m1
,进一步提高轨迹预测准确性。例如,图注意力网络模型gat可以通过如下公式获得第一对象对应的关联特征向量:
95.e

ij
=a(w
gat
h
m
(i),w
gat
h
m
(j))
96.a

ij
=softmax(e

ij
)
97.p

(i)=∑
j∈n
a

ij
w
gat
h
m
(j)
98.其中,e

ij
是第二对象j对应的注意力权重;h
m
(i)是第一对象i对应的第一对象特征向量;h
m
(j)是第二对象j对应的第二对象特征向量;w
gat
是预先训练出的线性变换权重矩阵;a是注意力机制;a

ij
是归一化后的注意力权重;p

(i)是第一对象对应的关联特征向量;n是第二对象的总数量。
99.s233、将第一对象特征向量、关联特征向量和随机向量输入至向量拼接层中进行向量拼接,获得第一对象对应的目标特征向量。
100.其中,随机向量可以是随机生成的一个向量,比如可以基于正态分布生成的随机向量,以便基于不同的随机向量可以生成不同的目标未来轨迹,进而基于生成的多个目标未来轨迹的分布情况确定出最接近实际情况的目标未来轨迹。
101.具体地,向量拼接层可以将关联特征向量a
m1
、第一对象特征向量h
m1
和随机向量z进行向量拼接,获得一个完整的用于表征第一对象各种特征信息的目标特征向量a
m2

102.s234、将目标特征向量输入至解码层中进行解码处理,获得第一对象的目标未来轨迹。
103.具体地,解码层可以包括:第二多层感知器子模型mlp。例如,如图8所示,解码层可以包括一个第二多层感知器子模型mlp。第二多层感知器子模型mlp可以用于:对输入的目标特征向量进行解码处理,确定出第一对象的目标未来轨迹,从而利用一个第二多层感知器子模型mlp可以更加便捷快速地预测出目标未来轨迹,进一步提高了轨迹预测效率。
104.本实施例的技术方案,预设轨迹生成模型可以同时基于第一对象的第一历史轨迹信息、第一对象状态信息、相关联的第二对象的第二历史轨迹信息和第二对象状态信息进行轨迹预测,即预设轨迹生成模型可以利用更加丰富的对象信息进行轨迹预测,使得预测轨迹生成模型可以输出更加准确的目标未来轨迹,进一步提高了轨迹预测准确性。
105.在上述技术方案的基础上,图9给出了一种编码层中的编码子层的示例,如图9所示,编码层中的每个编码子层可以包括:循环神经网络子模型、第一多层感知器子模型mlp和向量拼接子模型。其中,循环神经网络子模型可以是但不限于长短时记忆网络模型lstm。
106.如图9所示,将第一对象的第一历史轨迹信息对应的第一历史位置时间序列和第一对象状态信息对应的第一对象状态向量输入至编码层中的第一编码子层中进行编码处理,确定出第一对象对应的第一对象特征向量,可以包括:将第一对象的第一历史轨迹信息对应的第一历史位置时间序列x1输入至第一编码子层中的循环神经网络子模型(如lstm1)进行轨迹编码处理,确定出第一对象对应的第一历史轨迹特征向量h1;将第一对象状态信息对应的第一对象状态向量m1输入至第一编码子层中的第一多层感知器子模型(如mlp1)进行状态编码处理,确定出第一对象对应的第一状态特征向量m1;将第一历史轨迹特征向量h1和第一状态特征向量m1输入至第一编码子层中的向量拼接子模型进行向量拼接,确定出第一对象对应的第一对象特征向量h
m1
。同理,可以利用与图9相同的编码子层确定出每个第二对象对应的第一对象特征向量h
m2
。通过利用循环神经网络子模型和第一多层感知器子模型mlp分别对第一历史轨迹信息和第一对象状态信息进行编码处理,并将编码处理结果进行向量拼接,可以获得更加准确的第一对象特征向量,进一步提高轨迹预测准确性。
107.在上述技术方案的基础上,第一对象状态信息还可以包括:第一对象所属的第一对象类别,其中,第一对象类别包括行人或者车辆。车辆可以包括但不限于汽车和自行车。通过将第一对象所属的第一对象类别输入至预设轨迹生成模型中,可以进一步提高轨迹预测准确性,并且可以预测出任一类别的对象轨迹,并不仅仅局限于预测行人轨迹,从而提高了预设轨迹生成模型的适用范围。
108.例如,如图8所示,s233可以包括:将第一对象特征向量h
m1
、关联特征向量a
m1
、第一对象类别c和随机向量z输入至向量拼接层中进行向量拼接,获得第一对象对应的目标特征向量a
m2

109.示例性地,预设轨迹生成模型可以为预设生成式对抗网络中的生成模型,从而预设轨迹生成模型可以利用预设生成式对抗网络gan中的轨迹鉴别模型进行训练获得。其中,预设轨迹生成模型可以用于输出第一对象的预测未来轨迹。在预设轨迹生成模型可以用于预测不同类别的对象轨迹时,轨迹鉴别模型可以是一个二分类模型,用于区分预设轨迹生成模型输出的预测未来轨迹与实际未来轨迹之间的真假,以及区分预测未来轨迹对应的预测对象类别与实际对象类别之间的真假。图10给出了一种轨迹鉴别模型的示例。如图10所示,轨迹鉴别模型的输出结果可以包括:轨迹鉴别概率p1和类别鉴别概率p2。轨迹鉴别概率p1可以是指预设轨迹生成模型输出的预测未来轨迹为实际未来轨迹的概率。类别鉴别概率p2可以是基于预测未来轨迹预测出的预测样本对象类别为标准样本对象类别的概率。
110.示例性地,预设轨迹生成模型的训练过程可以包括:获取多个样本数据,每个样本数据包括:第一样本对象对应的第一样本历史位置时间序列、第一样本对象状态向量、与第一样本对象关联的第二样本对象对应的第二历史位置时间序列、第二样本对象状态向量、第一样本对象所属的标准样本对象类别和第一样本对象对应的实际未来轨迹;根据样本数据对预设轨迹生成模型和预设生成式对抗网络中的轨迹鉴别模型进行单独交替迭代训练。
111.具体地,可以将第一样本对象对应的第一样本历史位置时间序列、第一样本对象状态向量、与第一样本对象关联的第二样本对象对应的第二历史位置时间序列、第二样本对象状态向量输入至预设轨迹生成模型中,根据预设轨迹生成模型的输出可以确定第一样本对象对应的预测未来轨迹。将第一样本对象对应的预测未来轨迹和第一样本对象所属的标准样本对象类别输入至轨迹鉴别模型中,根据轨迹鉴别模型的输出可以获得第一样本对象对应的轨迹鉴别概率和类别鉴别概率。
112.利用预设轨迹生成模型和轨迹鉴别模型之间互相博弈学习的方式,对预设轨迹生成模型和轨迹鉴别模型进行单独交替迭代训练,对如下目标函数进行最大最小化:
[0113][0114]
其中,d(x,c)是类别为c的真样本x输入至轨迹鉴别模型时所输出的类别鉴别概率;d(x)是真样本x输入至轨迹鉴别模型时所输出的轨迹鉴别概率;g(a,h,c,z))是预设轨迹生成模型输出的预测未来轨迹(即假样本)。在进行单独交替迭代训练时,可以先保证预设轨迹生成模型网络参数不变的情况下训练一次轨迹鉴别模型,然后在保证轨迹鉴别模型
网络参数不变的情况下训练一次预设轨迹生成模型,接着在保证预设轨迹生成模型网络参数不变的情况下再次训练轨迹鉴别模型,从而实现单独交替迭代训练。当训练轨迹鉴别模型d时,可以对上述目标函数v(g,d)进行最大化。当训练预设轨迹生成模型g时,可以对上述目标函数v(g,d)进行最小化,从而通过对抗训练的方式可以获得可准确预测任一类别的对象未来轨迹的预设轨迹生成模型。
[0115]
示例性地,可以利用鼓励多样性的方式训练预设轨迹生成模型,以获得训练效果更佳的预设轨迹生成模型。例如,可以通过改变随机向量的方式生成第一样本对象对应的多个预测未来轨迹,并可以通过如下公式确定出每个预测未来轨迹对应的误差值:
[0116][0117]
其中,y
i
是指第一样本对象对应的实际未来轨迹;是指第i个预测未来轨迹;k是指预测未来轨迹的数量。通过将最小误差值进行反向传播至预设轨迹生成模型中,调整预设轨迹生成模型中的网络参数,从而进一步提高预设轨迹生成模型的训练效果。
[0118]
以下是本发明实施例提供的轨迹预测装置的实施例,该装置与上述各实施例的轨迹预测方法属于同一个发明构思,在轨迹预测装置的实施例中未详尽描述的细节内容,可以参考上述轨迹预测方法的实施例。
[0119]
实施例三
[0120]
图11为本发明实施例三提供的一种轨迹预测装置的结构示意图,本实施例可适用于对当前自动驾驶场景中无人车周围的对象进行轨迹预测的情况,该装置具体包括:第一对象确定模块310、第二对象确定模块320和目标未来轨迹预测模块330。
[0121]
其中,第一对象确定模块310,用于确定当前自动驾驶场景中待预测轨迹的第一对象;第二对象确定模块320,用于根据当前自动驾驶场景中的每个对象对应的当前对象信息,确定与第一对象相关联的第二对象;目标未来轨迹预测模块330,用于根据预设轨迹生成模型、第一对象的第一历史轨迹信息和第二对象的第二历史轨迹信息,预测出第一对象的目标未来轨迹。
[0122]
可选地,第二对象确定模块320,包括:
[0123]
动态图模型建立单元,用于根据当前自动驾驶场景中的每个对象对应的当前对象信息,建立当前自动驾驶场景对应的动态图模型;
[0124]
第二对象确定单元,用于根据动态图模型,确定与第一对象相关联的第二对象。
[0125]
可选地,动态图模型建立单元,包括:
[0126]
动态警戒区域确定子单元,用于根据当前自动驾驶场景中的每个对象对应的当前对象信息,确定每个对象对应的动态警戒区域;
[0127]
顶点确定子单元,用于根据每个对象的当前位置确定动态图模型中每个对象对应的顶点;
[0128]
连线子单元,用于检测两两对象对应的动态警戒区域是否存在相交区域,并将存在相交区域的两个对象所对应的两个顶点进行连线,建立出动态图模型。
[0129]
可选地,动态警戒区域确定子单元,具体用于:根据当前自动驾驶场景中的每个对象的当前运动速度、体积大小确定每个对象对应的警戒半径;将每个对象的当前位置作为圆心,并根据每个对象对应的警戒半径确定出每个对象对应的动态警戒区域。
[0130]
可选地,目标未来轨迹预测模块330,具体用于:根据预设轨迹生成模型、第一对象的第一历史轨迹信息、第一对象状态信息、第二对象的第二历史轨迹信息和第二对象状态信息,预测出第一对象的目标未来轨迹。
[0131]
可选地,预设轨迹生成模型包括:编码层、中间处理层、向量拼接层和解码层;相应地,目标未来轨迹预测模块330,包括:
[0132]
对象特征向量获取单元,用于将第一对象的第一历史轨迹信息对应的第一历史位置时间序列、第一对象状态信息对应的第一对象状态向量、第二对象的第二历史轨迹信息对应的第二历史位置时间序列和第二对象状态信息对应的第二对象状态向量输入至编码层中进行编码处理,获得第一对象对应的第一对象特征向量和第二对象对应的第二对象特征向量;
[0133]
关联特征向量获取单元,用于将第一对象特征向量和第二对象特征向量输入至中间处理层进行关联程度处理,获得第一对象对应的关联特征向量;
[0134]
目标特征向量获取单元,用于将第一对象特征向量、关联特征向量和随机向量输入至向量拼接层中进行向量拼接,获得第一对象对应的目标特征向量;
[0135]
目标未来轨迹获取单元,用于将目标特征向量输入至解码层中进行解码处理,获得第一对象的目标未来轨迹。
[0136]
可选地,编码层包括:至少两个相同的编码子层;相应地,对象特征向量获取单元,包括:
[0137]
第一对象特征向量确定子单元,用于将第一对象的第一历史轨迹信息对应的第一历史位置时间序列和第一对象状态信息对应的第一对象状态向量输入至编码层中的第一编码子层中进行编码处理,确定出第一对象对应的第一对象特征向量;
[0138]
第二对象特征向量确定子单元,用于将第二对象的第二历史轨迹信息对应的第二历史位置时间序列和第二对象状态信息对应的第二对象状态向量输入至编码层中的第二编码子层中进行编码处理,确定出第二对象对应的第二对象特征向量。
[0139]
可选地,每个编码子层包括:循环神经网络子模型、第一多层感知器子模型和向量拼接子模型;
[0140]
相应地,第一对象特征向量确定子单元,具体用于:将第一对象的第一历史轨迹信息对应的第一历史位置时间序列输入至第一编码子层中的循环神经网络子模型进行轨迹编码处理,确定出第一对象对应的第一历史轨迹特征向量;将第一对象状态信息对应的第一对象状态向量输入至第一编码子层中的第一多层感知器子模型进行状态编码处理,确定出第一对象对应的第一状态特征向量;将第一历史轨迹特征向量和第一状态特征向量输入至第一编码子层中的向量拼接子模型进行向量拼接,确定出第一对象对应的第一对象特征向量。
[0141]
可选地,中间处理层包括:图注意力网络模型,图注意力网络模型是预先基于当前自动驾驶场景中的每个对象对应的当前对象信息构建的;
[0142]
其中,图注意力网络模型用于:根据输入的第一对象特征向量和第二对象特征向量,确定第二对象对应的注意力权重;基于第二对象对应的注意力权重,对第二对象特征向量进行加权求和,并将求和结果确定为第一对象对应的关联特征向量。
[0143]
可选地,第一对象状态信息包括:第一对象所属的第一对象类别,其中,第一对象
类别包括行人或者车辆;相应地,目标特征向量获取单元,具体用于:将第一对象特征向量、关联特征向量、第一对象类别和随机向量输入至向量拼接层中进行向量拼接,获得第一对象对应的目标特征向量。
[0144]
可选地,解码层包括:第二多层感知器子模型;其中,第二多层感知器子模型用于:对输入的目标特征向量进行解码处理,确定出第一对象的目标未来轨迹。
[0145]
可选地,预设轨迹生成模型为预设生成式对抗网络中的生成模型;
[0146]
该装置还包括:预设轨迹生成模型训练装置,用于:获取多个样本数据,每个样本数据包括:第一样本对象对应的第一样本历史位置时间序列、第一样本对象状态向量、与第一样本对象关联的第二样本对象对应的第二历史位置时间序列、第二样本对象状态向量、第一样本对象所属的标准样本对象类别和第一样本对象对应的实际未来轨迹;根据样本数据对预设轨迹生成模型和预设生成式对抗网络中的轨迹鉴别模型进行单独交替迭代训练;其中,轨迹鉴别模型的输出结果包括:轨迹鉴别概率和类别鉴别概率,轨迹鉴别概率是指预设轨迹生成模型输出的预测未来轨迹为实际未来轨迹的概率;类别鉴别概率是基于预测未来轨迹预测出的预测样本对象类别为标准样本对象类别的概率。
[0147]
本发明实施例所提供的轨迹预测装置可执行本发明任意实施例所提供的轨迹预测方法,具备执行轨迹预测方法相应的功能模块和有益效果。
[0148]
值得注意的是,上述轨迹预测装置的实施例中,所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。
[0149]
实施例四
[0150]
图12为本发明实施例四提供的一种设备的结构示意图。图12示出了适于用来实现本发明实施方式的示例性设备12的框图。图12显示的设备12仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
[0151]
如图12所示,设备12以通用计算设备的形式表现。设备12的组件可以包括但不限于:一个或者多个处理器或者处理单元16,系统存储器28,连接不同系统组件(包括系统存储器28和处理单元16)的总线18。
[0152]
总线18表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(isa)总线,微通道体系结构(mac)总线,增强型isa总线、视频电子标准协会(vesa)局域总线以及外围组件互连(pci)总线。
[0153]
设备12典型地包括多种计算机系统可读介质。这些介质可以是任何能够被设备12访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
[0154]
系统存储器28可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(ram)30和/或高速缓存存储器32。设备12可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,存储系统34可以用于读写不可移动的、非易失性磁介质(图12未显示,通常称为“硬盘驱动器”)。尽管图12中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如cd-rom,dvd-rom或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线18相连。系统存储器28可以包括至少一个程序产
品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本发明各实施例的功能。
[0155]
具有一组(至少一个)程序模块42的程序/实用工具40,可以存储在例如系统存储器28中,这样的程序模块42包括但不限于操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块42通常执行本发明所描述的实施例中的功能和/或方法。
[0156]
设备12也可以与一个或多个外部设备14(例如键盘、指向设备、显示器24等)通信,还可与一个或者多个使得用户能与该设备12交互的设备通信,和/或与使得该设备12能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(i/o)接口22进行。并且,设备12还可以通过网络适配器20与一个或者多个网络(例如局域网(lan),广域网(wan)和/或公共网络,例如因特网)通信。如图所示,网络适配器20通过总线18与设备12的其它模块通信。应当明白,尽管图中未示出,可以结合设备12使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、raid系统、磁带驱动器以及数据备份存储系统等。
[0157]
处理单元16通过运行存储在系统存储器28中的程序,从而执行各种功能应用以及数据处理,例如实现本发实施例所提供的一种轨迹预测方法步骤,该方法包括:
[0158]
确定当前自动驾驶场景中待预测轨迹的第一对象;
[0159]
根据当前自动驾驶场景中的每个对象对应的当前对象信息,确定与第一对象相关联的第二对象;
[0160]
根据预设轨迹生成模型、第一对象的第一历史轨迹信息和第二对象的第二历史轨迹信息,预测出第一对象的目标未来轨迹。
[0161]
当然,本领域技术人员可以理解,处理器还可以实现本发明任意实施例所提供的轨迹预测方法的技术方案。
[0162]
实施例五
[0163]
本实施例提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本发明任意实施例的轨迹预测方法步骤,该方法包括:
[0164]
确定当前自动驾驶场景中待预测轨迹的第一对象;
[0165]
根据当前自动驾驶场景中的每个对象对应的当前对象信息,确定与第一对象相关联的第二对象;
[0166]
根据预设轨迹生成模型、第一对象的第一历史轨迹信息和第二对象的第二历史轨迹信息,预测出第一对象的目标未来轨迹。
[0167]
本发明实施例的计算机存储介质,可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是但不限于:电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑磁盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或
者与其结合使用。
[0168]
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
[0169]
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、rf等等,或者上述的任意合适的组合。
[0170]
可以以一种或多种程序设计语言或其组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言,诸如java、smalltalk、c++,还包括常规的过程式程序设计语言—诸如“c”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络,包括局域网(lan)或广域网(wan),连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
[0171]
本领域普通技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个计算装置上,或者分布在多个计算装置所组成的网络上,可选地,他们可以用计算机装置可执行的程序代码来实现,从而可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件的结合。
[0172]
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1