一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

多模态多代理轨迹预测的制作方法

2022-06-05 04:17:30 来源:中国专利 TAG:


1.本说明书涉及预测环境中的代理的未来轨迹。


背景技术:

2.环境可以是真实世界的环境,并且代理可以是例如环境中的车辆。预测代理的未来轨迹是运动规划所需的任务,例如,由自主车辆进行。
3.自主车辆包括自动驾驶汽车、船只和航空器。自主车辆使用各种车载传感器和计算机系统来检测附近的物体,并使用这种检测来做出控制和导航决策。
4.一些自主车辆具有车载计算机系统,其实现神经网络、其他类型的机器学习模型或两者,用于各种预测任务,例如图像内的对象分类。例如,神经网络能够被用于确定车载摄像机捕获的图像很可能是附近汽车的图像。神经网络,或者为了简洁起见,网络,是机器学习模型,其采用多层操作来从一个或多个输入预测一个或多个输出。神经网络通常包括位于输入层和输出层之间的一个或多个隐藏层。每一层的输出被用作网络中另一层的输入,例如下一个隐藏层或输出层。


技术实现要素:

5.本说明书总体上描述了一种在一个或多个位置的一台或多台计算机上被实现为计算机程序的系统,该系统通过考虑场景中的代理之间的相互作用来预测环境中场景中的一个或多个代理的未来轨迹。
6.本说明书中描述的主题能够在特定实施例中实现,以便实现一个或多个以下优点。
7.多代理行为预测在自主驾驶中非常重要。然而,在代理相互作用期间,由于多代理之间的多模态性,多代理行为预测是一项困难的任务。具体地,场景中的代理在未来时间段内的未来轨迹将根据在该时间段内哪些其他代理彼此相互作用以及这些相互作用发生在何时何地而改变。当两个代理在彼此的阈值时间内处于环境的同一区域时,两个代理之间发生相互作用。即使当代理相互作用发生时,相互作用也能够是多模态的,即相互作用能够发生在多个时空点中的任何一个。相互作用发生的点不仅会影响相互作用代理的未来轨迹,在一些情况下还会影响环境中其他代理的相互作用。所描述的技术通过使用在预测未来轨迹之前显式地对相互作用进行建模的多阶段预测模型来显式地对该多代理多模态场景进行建模来解决这一问题。这允许多代理预测的准确性和一致性,并提供预测轨迹的可解释性。具体地,所描述的技术通过将相互作用中的多模态分解成一组时空相互作用点,将复杂的多代理分布分解成更小的片段。然后,这些技术根据预测的相互作用点生成精确且一致的轨迹。因此,相对于不对相互作用建模或仅在隐式潜在空间中对相互作用建模的其他技术,所得模型在预测轨迹和识别高级相互作用模式方面实现了更好的准确性。
8.所描述的技术还能够被用于模拟反事实相互作用场景,这在自主驾驶算法的离线验证中能够是有益的。
9.本说明书主题的一个或多个实施例的细节在附图和以下描述中阐述。根据描述、附图和权利要求,本主题的其他特征、方面和优点将变得显而易见。
附图说明
10.图1a示出了在环境中两个代理之间的示例相互作用。
11.图1b是示例系统的图。
12.图2是为环境中场景中的目标代理生成轨迹预测的图示。
13.图3是用于生成轨迹预测输出的示例过程的流程图。
14.不同附图中相同的附图标记和名称指示相同的元件。
具体实施方式
15.本说明书描述了车辆,例如自主或半自主车辆,如何能够使用经训练的机器学习模型——在本说明书中称为“轨迹预测系统”——来为环境中车辆附近的一个或多个周围代理中的每一个生成相应的轨迹预测。
16.在本说明书中,在不失一般性的情况下,“周围代理”能够指车辆、自行车、行人、船只、无人机或环境中的任何其他移动物体。
17.本说明书也描述了训练示例能够如何被使用来有效地训练轨迹预测系统,以准确可靠地进行预测。
18.虽然本说明书描述了在自主车辆上生成轨迹预测输出,但是更一般地,描述的技术能够在接收表征环境中场景的数据的一个或多个计算机的任何系统上实现。作为另一示例,轨迹预测可以在由模拟自主车辆和目标代理导航通过的真实世界环境的计算机模拟中进行。在模拟中生成这些预测可以帮助控制模拟车辆,测试模拟中遇到的某些情况的真实性,并确保模拟包括现实世界中可能遇到的令人惊讶的相互作用。更一般地,在模拟中生成这些预测能够是在软件被部署在自主车辆上之前测试真实世界自主车辆的控制软件的一部分,或者是训练将被部署在自主车辆上的一个或多个机器学习模型的一部分,或者是两者的一部分。
19.图1a示出了环境中两个代理103和105之间的示例相互作用。
20.在图1a的示例中,代理103正在开始车道并入,以便将车道改变成与代理105相同的车道。这种车道并入将导致代理103和105之间的“相互作用”。也就是说,执行车道并入将导致代理103几乎同时与代理105处于相同的环境区域中,即在彼此的阈值时间量内。
21.当轨迹预测由不建模相互作用的传统轨迹预测系统做出时,即使传统系统正确地预测代理103打算改变车道同时代理105打算保持在同一车道,系统也能够预测代理103和105将在碰撞点111碰撞,即,能够生成彼此不一致的代理103和105的轨迹。
22.即使系统能够对代理之间的相互作用进行建模,也存在用于执行合并的多个合并选项。每个选项由高级相互作用意图定义,该相互作用意图包括相互作用位置,例如由星107和109标记的位置,以及相互作用时间。描述的预测技术预测高级相互作用意图和与意图一致的低级轨迹两者。也就是说,描述的技术通过预测与每个相互作用模态一致的轨迹来解释任何给定相互作用的多个模态。
23.图1b是示例系统100的图。系统100包括车载系统110和训练系统120。
24.车载系统110位于车辆102上。图1b中的车辆102被图示为汽车,但是车载系统102能够位于任何合适的车辆类型上。车辆102能够是确定并执行全自主驾驶决策以便在环境中导航的全自主车辆。车辆102也能够是使用预测来帮助人类驾驶员的半自主车辆。例如,如果预测指示人类驾驶员即将与另一车辆碰撞,则车辆102能够自主地应用制动器。
25.车载系统110包括一个或多个传感器子系统130。传感器子系统130包括接收电磁辐射反射的组件的组合,例如检测激光反射的lidar系统、检测无线电波反射的雷达系统和检测可见光反射的照相机系统。
26.由给定传感器生成的传感器数据通常指示反射辐射的距离、方向和强度。例如,传感器能够在特定方向上发射一个或多个电磁辐射脉冲,并且能够测量任何反射的强度以及接收到反射的时间。能够通过确定脉冲和其相应的反射之间需要多长时间来计算距离。传感器能够按角度、方位角或两者连续扫描特定空间。例如,方位角扫描能够允许传感器沿着同一视线检测多个物体。
27.车辆102的传感器子系统130或其他部件也能够将来自一个或多个传感器的一组或多组原始传感器测量分类为另一个代理的测量。一组传感器测量能够以多种方式中的任何一种来表示,这取决于捕获的传感器测量的种类。例如,每组原始激光传感器测量能够被表示为三维点云,每个点在特定的二维或三维坐标空间中具有强度和位置。在一些实现中,位置被表示为范围和高度对。每组相机传感器测量能够被表示为图像块,例如,rgb图像块。
28.一旦传感器子系统130将一组或多组原始传感器测量分类为相应的其他代理的测量,传感器子系统130就能够将原始传感器测量编译成原始数据132的集合,并将原始数据132发送到数据表现系统140。
29.同样在车辆102上的数据表现系统140接收来自传感器系统130的原始传感器数据132和表征环境的其他数据,例如识别车辆附近的地图特征的地图数据,并生成情境数据142。情境数据142表征了截至当前时间点车辆102周围环境的当前状态。
30.具体地,情境数据142至少包括:(i)表征环境中一个或多个代理中的每一个的观察轨迹的数据,即一个或多个周围代理的观察轨迹;以及(ii)表征环境地图的地图特征的数据。表征观察轨迹的数据能够包括指定对应周围代理在当前时间步长和在该时间步长之前的一个或多个时间步长的位置的数据。数据也能够可选地包括其他信息,例如,代理的航向、代理的速度、代理的类型等。地图特征能够包括车道边界、人行横道、交通信号灯、路标等。
31.数据表现系统140向轨迹预测系统150提供情境数据142,轨迹预测系统150也在车辆102上。
32.轨迹预测系统150处理情境数据142,以为一个或多个周围代理中的每一个生成相应的轨迹预测输出152,即一个或多个预测轨迹。给定代理的轨迹预测输出152,即预测轨迹,表征当前时间点之后代理的预测未来轨迹。
33.作为特定示例,给定代理的轨迹预测输出152中的预测轨迹能够包括:在当前时间点之后的多个未来时间点的每一个处,例如在当前时间点之后的固定大小时间窗口中的每个未来时间点,代理的预测轨迹状态,即位置和可选的其他信息,诸如航向。
34.当在场景中的代理之间存在多个相互作用模态时,给定代理的轨迹预测输出152能够包括每个相互作用模态的相应预测轨迹,每个预测轨迹包括在当前时间点之后的多个
未来时间点的每一个处,例如在当前时间点之后的固定大小时间窗口中的每个未来时间点,代理的预测轨迹状态,即位置和可选的其他信息,诸如航向。在一些情况下,轨迹预测系统150可以能够为每个模态生成相应分数,该分数表示该模态将是场景中的代理之间发生的相互作用的实际模态的预测可能性。
35.下面将参考图2-4更详细地描述轨迹预测输出152的生成。
36.车载系统110也包括规划系统160。规划系统160能够为车辆102做出自主或半自主驾驶决策,例如,通过生成表征车辆102未来将采取的路径的规划车辆路径。
37.车载系统100能够将轨迹预测系统150生成的轨迹预测输出152提供给车辆102的一个或多个其他车载系统,例如规划系统160和/或用户界面系统165。
38.当规划系统160接收到轨迹预测输出152时,规划系统160能够使用轨迹预测输出152来生成规划车辆未来轨迹的规划决策,即生成新的规划车辆路径。例如,轨迹预测输出152可以包含特定周围代理可能在特定未来时间点在车辆102前方切入,潜在地导致碰撞的预测。在该示例中,规划系统160能够生成避免潜在碰撞的新的规划车辆路径,并使车辆102遵循新的规划路径,例如通过自主控制车辆的转向,并避免潜在碰撞。
39.当用户界面系统165接收到轨迹预测输出152时,用户界面系统165能够使用轨迹预测输出152向车辆102的驾驶员呈现信息,以帮助驾驶员安全地操作车辆102。用户界面系统165能够通过任何适当的方式向代理102的驾驶员呈现信息,例如,通过车辆102的扬声器系统发送的音频消息,或者通过代理中的视觉显示系统(例如,车辆102的仪表板上的lcd显示器)上显示的警报。在特定示例中,轨迹预测输出152可以包含特定周围代理很可能在车辆102前方切入,潜在地导致碰撞的预测。在该示例中,用户界面系统165能够向车辆102的驾驶员呈现带有指令的警告消息,以调整车辆102的轨迹来避免碰撞,或者通知车辆102的驾驶员可能与特定的周围代理碰撞。
40.为了生成轨迹预测输出152,轨迹预测系统150能够使用训练后的参数值195,即从训练系统120中的轨迹预测模型参数存储190获得的轨迹预测系统150的训练后的模型参数值。
41.训练系统120通常被托管在数据中心124内,数据中心124能够是在一个或多个位置具有数百或数千台计算机的分布式计算系统。
42.训练系统120包括训练数据存储170,其存储用于训练轨迹预测系统,即确定轨迹预测系统150的训练后的参数值195的所有训练数据。训练数据存储170从在现实世界中运行的代理接收原始训练示例。例如,训练数据存储170能够从车辆102和与训练系统120通信的一个或多个其他代理接收原始训练示例155。原始训练示例155能够由训练系统120处理以生成新的训练示例。原始训练示例155能够包括情境数据,即像情境数据142那样,能够被用作新训练示例的输入。原始训练示例155也能够包括表征在一个或多个未来时间点车辆102周围的环境状态的结果数据。该结果数据能够被用于生成在由情境数据表征的时间点的、车辆附近的一个或多个代理的真值(ground truth)轨迹。每个真值轨迹标识相应代理在未来时间点穿过的实际轨迹(从结果数据中导出)。例如,真值轨迹能够标识在以代理为中心的坐标系中代理在多个未来时间点中的每个时间点移动到的空间位置。
43.训练数据存储170向训练引擎180提供训练示例175,训练引擎180也托管在训练系统120中。训练引擎180使用训练示例175来更新将由轨迹预测系统150使用的模型参数,并
将更新后的模型参数185提供给轨迹预测模型参数存储190。一旦轨迹预测系统150的参数值已经被完全训练,训练系统120能够例如通过有线或无线连接将训练后的参数值195发送到轨迹预测系统150。
44.下面参考图3更详细地描述训练轨迹预测系统150。
45.图2是为环境的场景200中的目标代理生成相应的轨迹预测的图示。
46.在图2的示例中,场景200包括三个目标代理202、204和206。
47.虽然图2的示例描述了为场景中的每个代理生成轨迹预测,但是在实践中,描述的技术能够被用于为场景中的每个代理或场景中代理的适当子集生成相应的预测轨迹。
48.在高层次上,系统,例如图1b的车载系统110,分三个阶段生成轨迹预测。
49.在阶段1中,系统预测场景中的哪些代理可能在当前时间点之后,即在预测的轨迹将要覆盖的未来时间段期间相互作用。更具体地,系统预测一个或多个相互作用代理对。每个相互作用代理对包括场景中的多个代理中的两个代理,这两个代理很可能,即如系统所预测的,在当前时间点之后的未来时间段期间彼此相互作用。
50.如在本说明书中所使用的,如果两个代理的路径在阈值时间量内交叉,则认为它们相互作用。也就是说,如果两个代理在彼此的阈值时间量内处于环境的相同区域,则它们相互作用。能够导致相互作用的驾驶动作的示例包括车道变换、在交叉路口让行、右转和车道并入。
51.在图2的示例中,系统已经识别了包括目标代理202和目标代理206的相互作用代理对210。也就是说,系统已经确定代理202和代理206可能在未来时间段期间相互作用。
52.在阶段2,对于每个相互作用代理对,系统预测该对中的预测的相互作用的代理可能如何相互作用。
53.更具体地,根据场景数据并为相互作用代理对中的每个代理,系统确定相互作用代理对的相应时空点预测,其表征(i)代理对在环境中可能相互作用的位置和(ii)代理对可能相互作用的未来时间。
54.作为特定示例,相互作用代理对的相应时空点预测能够定义一个或多个时空点以及每个点的相应可能性,该可能性表示该点是代理对将相互作用的点的预测可能性。时空点是包括空间位置和时间点的点,空间位置例如场景200的自顶向下坐标系中的二维坐标,在该位置将发生相互作用,并且在该时间点将发生相互作用。
55.在图2的示例中,系统已经为包括目标代理202和目标代理206的相互作用对210预测了时空点214,也称为“预测交叉点”,以及时空点216。点214和点216是目标代理202和目标代理206能够相互作用的空间-时间点的两个预测。
56.在阶段3中,然后系统基于相互作用代理被预测如何相互作用,即基于相互作用对的相应时空点预测,来预测场景中一个或多个代理的未来轨迹。
57.在图2的示例中,假设代理202和代理206在时空点214处相互作用,系统已经生成了目标代理202的预测未来轨迹216、目标代理204的预测未来轨迹218和目标代理206的预测未来轨迹220。
58.在实践中,对于不同相互作用代理对的时空点的多个可能组合,系统能够为场景中的每个代理(或场景中代理的一些子集)生成相应的轨迹。作为一个特定的示例,系统能够针对相互作用代理对的时空点的每个可能组合,为场景中的每个代理生成相应的轨迹。
因此,系统的输出考虑了场景中不同代理之间的相互作用的多种不同模态。也就是说,在图2的示例中,除了生成假设相互作用发生在点216的轨迹之外,系统也能够假设代理202和代理206之间的相互作用发生在点214而为代理202、204和206生成相应的未来轨迹。系统也能够为点214和216生成相应的分数,每个分数表示对应点是相互作用将实际发生的点的预测可能性。
59.下面参考图3更详细地描述生成轨迹预测输出。
60.图3是用于为车辆附近的一个或多个代理生成轨迹预测输出的示例过程300的流程图。为了方便起见,过程300将被描述为由位于一个或多个位置的一个或多个计算机的系统来执行。例如,根据本说明书适当编程的轨迹预测系统,例如图1b的轨迹预测系统150,能够执行过程300。
61.在任何给定的时间点,系统能够执行过程300来为车辆附近的一个或多个代理中的每一个生成相应的轨迹预测。例如,系统能够执行过程300来为已经被传感器子系统识别为在车辆附近的每个代理或者所识别的代理的适当子集生成轨迹预测,例如,仅为车辆的规划系统需要轨迹预测的那些代理。
62.系统获得表征当前时间点的环境的情境数据(步骤302)。情境数据包括表征当前时间点的环境中多个代理的数据。具体地,情境数据包括表征多个代理中的每一个在当前时间点的轨迹的数据。
63.回到图2的示例,情境数据包括表征代理202、204和206的相应观察轨迹203、205和207的数据。例如,数据能够包括每个代理在先前时间点的最近窗口中的每个先前时间点的相应轨迹状态。
64.情境数据也包括表征环境地图的地图特征的数据。地图特征能够包括车道边界、人行横道、交通信号灯、路标等。
65.系统根据情境数据确定一个或多个相互作用代理对(步骤304)。每个相互作用代理对包括来自多个代理的两个代理,这两个代理可能在当前时间点之后的未来时间段期间相互作用。
66.作为特定示例,系统能够根据情境数据生成表示环境的初始图的初始图数据。
67.环境的初始图具有多个节点和多个边,每个节点表示多个代理中的相应一个,每个边连接相应的一对节点。初始图数据,即表示初始图的数据,包括多个代理中的每个代理的相应的每个节点的初始节点特征和每个边的初始边特征。作为一个特定的示例,初始图能够是全连通图,每个节点通过一条边连接到另一个节点。
68.为了生成初始图数据,系统能够通过使用骨干编码器神经网络处理场景数据来处理每个节点——即每个代理——的相应初始节点特征。骨干编码器神经网络能够是将情境数据映射到场景中每个代理的相应特征向量的任何适当的神经网络。作为特定示例,系统能够将情境数据表示为折线,并且骨干编码器神经网络能够是矢量网络(vectornet),该矢量网络处理关于每个代理的折线的特征和每个地图特征,以为每个代理和每个地图特征生成相应的特征矢量。然后,系统能够使用每个代理的相应特征矢量作为初始图中相应节点的初始节点特征。
69.为了为每个边生成相应的初始边特征,系统能够计算表征由边连接的节点所表示的代理之间的空间关系的特征。更具体地,边特征表示由通过边连接的节点所表示的代理
的位置、运动或两者之间的差异。例如,特征能够包括两个代理在固定坐标系,例如以自主车辆的位置为中心的自顶向下坐标系中的位置之间的差异。作为另一示例,特征能够包括两个代理的航向之间的差异。
70.回到图2的示例,系统执行代理编码步骤以生成表示场景200的初始图的初始图数据,初始图包括表示目标代理202的第一节点252、表示代理204的第二节点254和表示代理206的第三节点。每个节点通过一条边与另一个节点相连。
71.为了确定一个或多个相互作用代理对,系统能够使用第一图神经网络来处理初始图数据,该第一图神经网络被配置为处理初始图数据以生成第一更新图数据,第一更新图数据包括每个边的第一更新边特征。第一图神经网络能够具有任何适当的图神经网络体系结构,其对节点和边特征执行一轮或多轮消息传递,以便生成更新的边特征,即,其中每轮消息传递应用更新函数并且然后应用聚集函数来更新输入到该轮消息的节点特征和边特征。例如,第一图神经网络能够采用使用多层感知器(mlp)作为更新函数并且使用未排序的段求和作为聚集函数的消息传递。
72.然后,系统根据每个边的第一更新边特征,确定一个或多个相互作用代理对。
73.作为特定示例,对于每个边,系统能够使用第一神经网络来处理该边的第一更新边特征以生成相互作用预测,该相互作用预测预测由图中该边连接的节点对表示的代理对在未来时间段期间将相互作用的可能性。也就是说,预测包括表示代理对将相互作用的可能性的可能性分数。例如,系统能够使用mlp独立地处理每个边的第一更新边特征以生成代理对的相互作用预测。作为另一示例,系统能够以结合其他代理对的情境的方式处理第一更新边特征,例如,使用递归神经网络(rnn)或transformer神经网络。
74.回到图2的示例,系统执行相互作用对预测步骤,以基于连接第一节点252和第三节点256的边的第一更新边特征来识别对210。
75.然后,系统能够基于对初始图中的边的相互作用预测来选择一个或多个相互作用代理对。例如,系统能够识别具有最高可能性的阈值数量的对作为相互作用对,或者将具有超过阈值可能性的可能性的每个对识别为相互作用对。
76.根据情境数据并为每个相互作用代理对,系统确定相互作用代理对的相应时空点预测,其表征(i)在环境中代理对可能相互作用的位置和(ii)代理对可能相互作用的未来时间(步骤306)。
77.更具体地,对于给定的相互作用代理对的相应时空点预测定义一个或多个时空点以及每个点的相应可能性,该可能性表示代理对将在该点相互作用的预测可能性。
78.具体地,系统能够使用第二图神经网络来处理初始图数据,第二图神经网络被配置为处理初始图数据以生成第二更新图数据,第二更新图数据包括每个边的第二更新边特征和每个节点的第二更新节点特征。第二图神经网络能够具有任何合适的图神经网络体系结构。例如,第二图神经网络能够具有上面参考第一图神经网络描述的任何体系结构。
79.然后,根据连接表示相互作用代理对中的一个代理的节点的边的第二更新边特征,或者根据属于相互作用代理对中的两个代理的节点的第二更新节点特征,系统能够确定每个相互作用代理对的相应时空点预测。
80.更具体地,对于环境位置的离散集合中的每个环境位置以及对于该对中的每个代理,相应的时空点预测包括可能性分数,该可能性分数表示当该对代理将相互作用时,该环
境位置将是该离散集合中与该代理在环境中所位于的位置最接近的环境位置的可能性。相应时空点预测还能够包括,对于每个代理,未来时间点的离散集合中的每个未来时间点的相应可能性分数,其表示该未来时间点将与代理对相互作用的未来时间相对应的可能性。
81.系统能够以多种方式中的任何一种来生成环境位置的离散集合。作为一个示例,系统能够从环境地图中标识的道路上的位置,例如沿着道路以固定的间隔来均匀地采样环境位置。作为特定示例,系统能够从环境地图中标识的道路的车道中心线来采样环境位置。作为另一示例,系统能够从覆盖在环境地图上的虚拟网格中均匀地采样点,例如,使得环境位置的离散集合能够包括未在地图中被标识的道路上的位置。
82.在一些情况下,对于环境位置的离散集合中的每个环境位置以及对于对中的每个代理,预测还能够包括位置偏移,假定环境位置是离散集合中与代理对在环境中将交互的位置最近的环境位置,位置偏移标识从该环境位置到代理对在环境中将交互的位置的预测偏移。
83.在一些实施方式中,对于连接表示相互作用代理对中的一个代理的两个节点的每个边,系统能够通过使用例如mlp的第二神经网络处理该边的第二更新边特征,来为相互作用代理对生成相应的时空点预测,从而为每个对生成联合预测。在这些情况下,系统假设每个代理在相互作用时将在相同的位置,并且对于该对中的两个代理,相应的可能性分数和偏移是相同的。
84.在一些其他实施方式中,对于每个对,对于表示相互作用代理对中的代理中的一个代理的每个节点,系统能够通过使用例如mlp的第二神经网络处理该节点的第二更新节点特征,为该代理生成相应的单独时空点预测,以便为该对中的每个代理生成单独的预测。在这些情况下,系统假设当相互作用发生时,代理的时间点位置可能存在差异,例如,由于对象大小的差异,即使得两个相互作用对象的中心位于不同的位置,由于时间点的量化和环境中的离散位置在预测中引入误差,或者两者。
85.根据情境数据和相应的时空点预测,系统为一个或多个代理中的每一个,即场景中的代理的整个集合或代理的整个集合的某个适当子集,生成相应的未来轨迹预测,其表征当前时间点之后代理的预测未来轨迹(步骤308)。
86.具体地,系统使用每个相互作用对的相应时空点预测,为该对选择一个或多个时空点。
87.当联合做出给定对的时空点预测时,为了选择该对的点,系统能够对每个位置-时间点组合,即离散环境位置和离散未来时间点的每个可能组合,生成组合分数。例如,系统能够通过计算组合中位置和时间点的可能性分数的乘积来生成给定组合的组合分数。然后,系统选择阈值数量的最高分数组合或组合分数超过阈值分数的每个组合作为时空点。当预测也包括位置偏移时,系统还将偏移应用于组合中的环境位置,以生成最终的时空点。
88.当对该对的时空点预测是单独进行的,即,使得对该对中的每个代理有相应的、潜在不同的预测时,系统为第一代理生成第一点子集,为第二代理生成第二点子集。例如,系统能够为每个代理生成每个位置-时间点组合的组合分数,例如,通过在该代理的预测中计算该位置和时间点的可能性分数的乘积。然后,系统选择阈值数量的最高分数组合或组合分数超过阈值分数的每个组合作为时空点的子集。当预测也包括位置偏移时,系统还将偏移应用于组合中的环境位置,以生成最终的时空点。
89.回到图2的示例,系统执行相互作用点预测步骤,以基于连接第一节点252和第三节点256的边的第二更新边特征来生成点212和214。
90.对于相互作用对的时空点的每个不同组合,系统然后能够对一个或多个代理中的每一个生成相应的预测未来轨迹。例如,如果场景中有两个相互作用对a和b,并且系统已经为对a生成了点a1和a2,为对b生成了点b1和b2,则系统将对一个或多个代理生成四个不同的预测未来轨迹,即,如果相互作用点是a1和b1,则生成一个轨迹,如果相互作用点是a1和b2,则生成一个轨迹,如果相互作用点是a2和b1,则生成一个轨迹,并且如果相互作用点是a2和b2,则生成一个轨迹。
91.为了为给定的组合生成轨迹,系统能够执行以下步骤。
92.系统能够根据初始图数据和给定组合中的时空点生成第三更新图数据,第三更新图数据包括每个节点的第三节点特征和每个边的第三边特征。
93.具体地,系统能够通过对连接表示相互作用对的节点的每个边,基于给定组合中的相互作用对的相应时空点,修改该边的初始边特征,来生成第三更新图数据。
94.为了修改给定边的初始边特征,系统能够使用例如另一mlp的第四神经网络来处理由该边连接的节点所表示的代理对的时空点,以生成该边的交互特征,并且将该边的初始边特征和该边的交互特征组合,例如级联、求和或平均,来生成该边的第三边特征。对于连接不表示相互作用对的节点的任何边,系统能够保持该边的初始边特征不变,或者能够将该边的初始边特征与默认交互特征组合,例如连接、求和或平均,来生成该边的第三边特征。默认交互特征能够是,例如与交互特征具有相同维度但包括全零或其他预定值的特征矢量。
95.然后,系统能够使用第三图神经网络来处理第三图数据,第三图神经网络被配置为处理第三更新图数据以生成第四更新图数据,第四更新图数据包括每个节点的第四更新节点特征。第三图神经网络能够具有任何合适的图神经网络体系结构。例如,第三图神经网络能够具有上面参考第一图神经网络描述的任何体系结构。
96.然后,系统根据一个或多个节点的第四更新节点特征为由一个或多个节点表示的每个代理生成表征代理在当前时间点之后的预测未来轨迹的相应的未来轨迹预测。例如,系统能够使用例如mlp的另一神经网络独立地处理每个更新的节点特征,以生成由节点表示的代理的预测未来轨迹。作为另一示例,系统能够使用例如mlp、rnn或transformer另一神经网络联合处理所有节点特征,以联合生成场景中所有代理的预测未来轨迹。
97.回到图2的示例,假设相互作用发生在点214,系统执行条件轨迹预测步骤,以基于节点252、254和256的第四更新节点特征来生成相应的轨迹216、218和220。
98.一旦系统已经生成轨迹预测,系统就能够向自主车辆的车载系统提供(i)一个或多个代理的轨迹预测、(ii)从一个或多个代理的轨迹预测中导出的数据,或者(iii)两者,用于控制自主车辆。作为特定示例,系统能够为相互作用对的时空点的每个可能的不同组合提供假设相互作用发生在点的该组合处而生成的轨迹预测,以及不同组合中的点的组合分数,以提供组合有多可能发生的指示。作为特定示例,系统能够计算每个组合的总体可能性分数,例如作为组合中的点的组合分数的乘积,并且对于相互作用对的时空点的每个可能的不同组合,提供假设相互作用在点的组合处发生而生成的轨迹预测,以及该组合的总体可能性分数,以提供该组合发生的可能性的指示。
99.如上所述,在使用上述神经网络执行推断之前,例如在自主车辆上,训练系统在训练数据上训练神经网络。训练数据包括多个训练示例,每个训练示例包括表征环境中在相应时间点的场景的情境数据和表征在相应时间点之后场景中实际发生的情况的真值数据。
100.具体地,真值数据包括:(i)真值相互作用对数据,即,对于在当前时间点的场景中的每对代理,两个代理是否在当前时间点之后的未来时间窗口内相互作用;(ii)每个相互作用对的相应真值时空点,其指示在该对中的两个代理之间的相互作用实际发生的时空点;以及(iii)场景中每个代理的相应实际未来轨迹。
101.系统将针对上述阶段1、2和3描述的神经网络一起训练,即联合训练,以最小化包括三个阶段中的每一个阶段的相应项的总损失函数。例如,总损失能够是三个阶段中的每个阶段的相应损失项的加权和。在一些情况下,系统还联合训练骨干编码器,作为最小化整体损失的一部分。在一些其他情况下,系统使用预先训练好的骨干来执行不同的行为预测任务。
102.阶段1的损失项测量由系统产生的相互作用预测和真值相互作用对数据之间的误差。例如,阶段1的损失项能够是对于每对代理在(i)代理的相互作用预测和(ii)指示该对是否实际相互作用的真值分数集之间的交叉熵损失的总和或平均值。
103.阶段2的损失项测量对每个真值相互作用对的(i)该对的相应时空点预测和(ii)该对相互作用的实际时空点之间的误差。
104.例如,损失项能够是(i)从对该对的预测生成的时空点上的概率分布和标识最接近该点相互作用的实际时空点的概率分布之间的交叉熵损失和(ii)最接近该点相互作用的实际时空点的预测偏移和最接近该点与实际时空点之间的实际偏移之间的huber损失的总和或加权总和。
105.阶段3的损失项测量对预测轨迹的一个或多个代理中的每一个的、给定真值时空点的预测轨迹和代理的真值未来轨迹之间的误差。例如,损失能够是一个或多个代理中的每一个的两个轨迹之间的huber损失的总和或平均值。
106.为了确保在训练期间有效计算损失项,系统能够在阶段1和阶段2以及阶段2和阶段3之间转换时使用教师强制(teacher forcing)。也就是说,在训练期间,系统能够提供用于阶段2的真值相互作用对(而不是阶段1所预测的),并且能够向阶段3提供每个真值对的真值时空点(而不是阶段2所预测的)。
107.该系统能够使用任何适当的机器学习训练技术,例如具有任何适当优化器的梯度下降技术,例如随机梯度下降、adam、rmsprop或adafactor,在总损失函数上训练神经网络。
108.本说明书中描述的主题和功能操作的实施例能够在数字电子电路中、在有形体现的计算机软件或固件中、在包括本说明书中公开的结构及其结构等同物的计算机硬件中、或者在它们中的一个或多个的组合中实现。本说明书中描述的主题的实施例能够被实现为一个或多个计算机程序,即编码在有形的非暂时性存储介质上的计算机程序指令的一个或多个模块,用于由数据处理装置执行或控制数据处理设备的操作。计算机存储介质能够是机器可读存储设备、机器可读存储基底、随机或串行存取存储设备或它们中的一个或多个的组合。可替换地或附加地,程序指令能够被编码在人工生成的传播信号上,例如机器生成的电、光或电磁信号,其被生成来编码信息以传输到合适的接收器装置,用于由数据处理装置执行。
109.术语“数据处理装置”指的是数据处理硬件,以及涵盖用于处理数据的各种装置、设备和机器,包括例如可编程处理器、计算机或多个处理器或计算机。该装置还能够是或进一步包括现成的或定制的并行处理子系统,例如gpu或另一种专用处理子系统。该装置还能够是或进一步包括专用逻辑电路,例如fpga(现场可编程门阵列)或asic(专用集成电路)。除了硬件之外,该装置能够可选地包括为计算机程序创建执行环境的代码,例如,构成处理器固件、协议栈、数据库管理系统、操作系统或它们中的一个或多个的组合的代码。
110.计算机程序,也可以称为或描述为程序、软件、软件应用、应用、模块、软件模块、脚本或代码,能够以任何形式的编程语言编写,包括编译或解释语言,或声明性或过程性语言,并且其能够以任何形式部署,包括作为独立程序或作为模块、组件、子例程或适合在计算环境中使用的其他单元。程序可以,但不是必须,与文件系统中的文件相对应。程序能够被存储在保存其他程序或数据的文件的一部分中,例如存储在标记语言文档中的一个或多个脚本,存储在专用于所讨论的程序的单个文件中,或者存储在多个协同文件中,例如存储一个或多个模块、子程序或代码部分的文件中。计算机程序能够被部署为在一台计算机上或位于一个站点或分布在多个站点并通过数据通信网络互连的多台计算机上执行。
111.将一台或多台计算机组成的系统配置为执行特定的操作或动作意味着系统已经在其上安装了软件、固件、硬件或它们的组合,这些软件、固件、硬件或它们的组合在操作中导致该系统执行这些操作或动作。将一个或多个计算机程序配置为执行特定操作或动作意味着该一个或多个程序包括在由数据处理装置执行时使该装置执行操作或动作的指令。
112.如在本说明书中所使用的,“引擎”或“软件引擎”指的是提供不同于输入的输出的软件实现的输入/输出系统。引擎能够是编码的功能块,诸如库、平台、软件开发工具包(“sdk”)或对象。每个引擎能够在任何适当类型的计算设备上实现,例如服务器、移动电话、平板计算机、笔记本计算机、音乐播放器、电子书阅读器、膝上型或台式计算机、pda、智能电话或包括一个或多个处理器和计算机可读介质的其他固定或便携式设备。另外,两个或更多个引擎可以在相同的计算设备上实现,或者在不同的计算设备上实现。
113.本说明书中描述的过程和逻辑流能够由执行一个或多个计算机程序的一个或多个可编程计算机来执行,以通过对输入数据进行操作并生成输出来执行功能。这些过程和逻辑流也能够由专用逻辑电路,例如fpga或asic,或者由专用逻辑电路和一个或多个编程计算机的组合来执行。
114.适于执行计算机程序的计算机能够是基于通用或专用微处理器或两者,或者任何其他类型的中央处理单元的。通常,中央处理单元将从只读存储器或随机存取存储器或两者接收指令和数据。计算机的基本元件是用于执行指令的中央处理单元和用于存储指令和数据的一个或多个存储设备。中央处理单元和存储器能够由专用逻辑电路来补充,或者结合在专用逻辑电路中。通常,计算机还将包括或可操作地耦合到用于存储数据的一个或多个大容量存储设备,例如磁盘、磁光盘或光盘,以从其接收数据或向其传送数据,或两者。然而,计算机不需要有这样的设备。此外,计算机能够被嵌入到另一个设备中,例如移动电话、个人数字助理(pda)、移动音频或视频播放器、游戏控制台、全球定位系统(gps)接收器或便携式存储设备,例如通用串行总线(usb)闪存驱动器,仅举几例。
115.适于存储计算机程序指令和数据的计算机可读介质包括所有形式的非易失性存储器、介质和存储设备,包括例如半导体存储设备,例如eprom、eeprom和闪存设备;磁盘,例
如内部硬盘或可移动磁盘;磁光盘;以及光盘和dvd光盘。
116.为了提供与用户的交互,本说明书中描述的主题的实施例能够在计算机上实现,该计算机具有用于向用户显示信息的显示设备,例如crt(阴极射线管)或lcd(液晶显示器)监视器,以及键盘和定点设备,例如鼠标、轨迹球或存在敏感显示器或用户可以向计算机提供输入的其他表面。其他类型的设备也能够被用于提供与用户的交互;例如,提供给用户的反馈能够是任何形式的感官反馈,例如视觉反馈、听觉反馈或触觉反馈;并且能够以任何形式接收来自用户的输入,包括声音、语音或触觉输入。此外,计算机能够通过向用户使用的设备递送文档和从用户使用的设备接收文档来与用户交互;例如,通过响应于从网络浏览器接收的请求将网页发送到用户设备上的网络浏览器。此外,计算机能够通过向例如智能手机的个人设备递送文本消息或其他形式的消息、运行消息应用程序并从用户接收响应消息来与用户交互。
117.本说明书中描述的主题的实施例能够在计算系统中实现,该计算系统包括后端组件,例如作为数据服务器,或者包括中间件组件,例如应用服务器,或者包括前端组件,例如具有图形用户界面的客户端计算机、网络浏览器或用户能够通过其与本说明书中描述的主题的实现交互的应用,或者一个或多个这样的后端、中间件或前端组件的任意组合。系统的组件能够通过任何形式或介质的数字数据通信互连,例如通信网络。通信网络的示例包括局域网(lan)和广域网(wan),例如因特网。
118.计算系统能够包括客户端和服务器。客户端和服务器通常彼此远离,并且通常通过通信网络进行交互。客户端和服务器的关系是通过运行在各自计算机上的计算机程序产生的,并且彼此之间具有客户端-服务器关系。在一些实施例中,服务器将例如html网页的数据发送到用户设备,例如,用于向与作为客户端的设备交互的用户显示数据和从用户接收用户输入。在用户设备处生成的数据,例如用户交互的结果,能够在服务器处从该设备接收。
119.尽管本说明书包含许多具体的实施细节,但这些不应被解释为对任何发明的范围或对所要求保护的范围的限制,而是对特定发明的特定实施例可能特有的特征的描述。本说明书中在单独实施例的情境中描述的某些特征也能够在单个实施例中组合实现。相反,在单个实施例的情境中描述的各种特征也能够在多个实施例中单独实现或者在任何合适的子组合中实现。此外,尽管特征可以在上面被描述为在某些组合中起作用,并且甚至最初被这样要求保护,但是在一些情况下,来自所要求保护的组合的一个或多个特征可以从该组合中被删除,并且所要求保护的组合可以指向子组合或子组合的变体。
120.类似地,虽然在附图中以特定顺序描述了操作,但是这不应该被理解为要求以所示的特定顺序或按顺序执行这些操作,或者要求执行所有示出的操作,以获得期望的结果。在某些情况下,多任务和并行处理可以是有利的。此外,上述实施例中的各种系统模块和组件的分离不应该被理解为在所有实施例中都需要这种分离,并且应该理解,所描述的程序组件和系统通常能够被集成在单个软件产品中或者封装到多个软件产品中。
121.已经描述了主题的特定实施例。其他实施例在以下权利要求的范围内。例如,权利要求中记载的动作能够以不同的顺序执行,并且仍然获得期望的结果。作为一个示例,附图中描述的过程不一定需要所示的特定顺序或按顺序来实现期望的结果。在某些情况下,多任务和并行处理可以是有利的。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献