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

使用锚定轨迹的代理轨迹预测的制作方法

2022-02-24 18:15:15 来源:中国专利 TAG:

使用锚定轨迹的代理轨迹预测


背景技术:

1.本说明书涉及预测环境中的代理(agent)的未来轨迹。
2.环境可以是真实世界环境,并且代理可以是例如环境中的车辆。预测代理的未来轨迹是(例如,由自主车辆进行的)运动规划所需的任务。
3.自主车辆包括自动驾驶汽车、船只和飞机。自主车辆使用各种车载传感器和计算机系统来检测附近的对象,并且使用这种检测来做出控制和导航决策。
4.一些自主车辆具有实施用于各种预测任务(例如,图像内的对象分类)的神经网络、其他类型的机器学习模型或两者的车载计算机系统。例如,可以使用神经网络来确定车载相机所捕获的图像很可能是附近汽车的图像。神经网络(或者为简洁起见,网络)是采用多层操作从一个或多个输入中预测一个或多个输出的机器学习模型。神经网络通常包括位于输入层与输出层之间的一个或多个隐藏层。每一层的输出用作网络中另一层(例如,下一个隐藏层或输出层)的输入。
5.神经网络的每一层都指定了要对该层的输入执行的一个或多个变换操作。一些神经网络层具有被称为神经元的操作。每个神经元接收一个或多个输入,并且生成由另一神经网络层接收的输出。通常,每个神经元从其他神经元接收输入,并且每个神经元向一个或多个其他神经元提供输出。
6.神经网络的架构规定了什么层被包括在网络中及其属性,以及网络的每一层的神经元是如何连接的。换句话说,该架构指定了哪些层将其输出作为输入提供给哪些其他层,以及如何提供输出。
7.每一层的变换操作由安装有实施变换操作的软件模块的计算机来执行。因此,被描述为执行操作的层意味着实施该层的变换操作的计算机执行这些操作。
8.每一层使用该层的参数集的当前值生成一个或多个输出。因此,训练神经网络涉及连续地对输入执行前向传递、计算梯度值以及使用计算的梯度值(例如,使用梯度下降)更新每一层的参数集的当前值。一旦神经网络被训练,最终的参数值集合可以用于在生产系统中进行预测。


技术实现要素:

9.本说明书总体上描述了一种被实施为在一个或多个位置的一个或多个计算机上的计算机程序的、预测环境中的代理的未来轨迹的系统。
10.根据第一方面,提供了一种用于预测环境中的车辆附近的代理的未来轨迹的系统。该系统获得表征该代理的嵌入,并且使用轨迹预测神经网络处理该嵌入,以生成表征在当前时间点之后代理的未来轨迹的轨迹预测输出。轨迹预测输出包括表征代理的未来轨迹与多个锚定轨迹中的每个锚定轨迹的预测相似性的数据。每个锚定轨迹表征代理的可能未来轨迹,并且包括指定环境中多个航点空间位置的序列的数据,每个航点空间位置对应于相应的未来时间点。该系统向车辆的规划系统提供轨迹预测输出,以生成规划车辆的未来轨迹的规划决策。
11.本说明书中描述的主题可以在特定实施例中实施,以便实施一个或多个以下优点。
12.本说明书中描述的系统可以生成轨迹预测输出,轨迹预测输出表征代理的未来轨迹与多个“锚定”轨迹中的每个“锚定”轨迹的预测相似性。每个锚定轨迹隐含地对应于代理的可能高级意图,例如,执行掉头、改变车道或停车。对于每个锚定轨迹,轨迹预测输出还可以表征代理如何执行与锚定轨迹相对应的意图的不确定性。
13.该系统可以使用通过神经网络模型的一次前向传递来有效地生成代理的轨迹预测输出,并且轨迹预测输出可以例如由概率分布参数集来紧凑地表示。相比之下,一些传统的轨迹预测系统生成由一些参数表示的输出,这些参数的数量比表示由本说明书中描述的系统生成的轨迹预测输出所需的参数数量大几个数量级。此外,一些传统的轨迹系统不是生成单个轨迹预测输出,而是重复生成表征代理的多个不同的可能未来轨迹的输出。因此,通过生成单个紧凑的轨迹预测输出,本说明书中描述的系统可以比一些传统的轨迹预测系统消耗更少的计算资源(例如,内存资源)。
14.本说明书中描述的系统可以比一些传统的轨迹预测系统更准确地生成表征代理的未来轨迹的轨迹预测输出。例如,通过表征代理的未来轨迹中固有的不确定性,系统可以比预测代理的单个最可能的未来轨迹的一些传统系统更准确地生成轨迹预测输出。作为另一示例,通过基于捕获可能未来轨迹的分布模式的锚定轨迹集合生成轨迹预测输出,系统可以避免一些传统系统所经历的“模式崩溃”。经历模式崩溃的传统系统可以生成代理的多个预测未来轨迹,而这些轨迹与代理的未来轨迹的单个确定性估计相差很小。
15.本说明书的主题的一个或多个实施例的细节在附图和以下描述中阐述。根据描述、附图和权利要求,本主题的其他特征、方面和优点将变得显而易见。
附图说明
16.图1是示例系统的示意图。
17.图2是生成代理的轨迹预测的图示。
18.图3是用于生成轨迹预测输出的示例过程的流程图。
19.图4是用于训练轨迹预测系统的示例过程的流程图。
20.不同附图中的相似附图标记和名称表示相似元素。
具体实施方式
21.本说明书描述了车辆(例如,自主或半自主车辆)如何使用经训练的机器学习模型(在本说明书中称为“轨迹预测系统”)来为环境中的车辆附近的一个或多个周围代理中的每个代理生成相应的轨迹预测输出。
22.在本说明书中,在不失普遍性的情况下,“周围代理”可以是指车辆、自行车、行人、船只、无人机或环境中的任何其他移动对象。
23.本说明书还描述了如何使用车辆生成的训练示例来有效地训练轨迹预测系统以准确且可靠地进行预测。
24.图1是示例系统100的示意图。系统100包括车载系统110和训练系统120。
25.车载系统110位于车辆102上。图1中的车辆102被示出为汽车,但是车载系统102可
以位于任何适当的车辆类型上。车辆102可以是确定并执行全自主驾驶决策以便在环境中导航的全自主车辆。车辆102也可以是使用预测来辅助人类驾驶员的半自主车辆。例如,如果预测指示人类驾驶员即将与另一车辆碰撞,则车辆102可以自主地应用刹车。
26.车载系统110包括一个或多个传感器子系统130。传感器子系统130包括接收电磁辐射的反射的组件的组合,例如,检测激光的反射的激光雷达系统、检测无线电波的反射的雷达系统以及检测可见光的反射的相机系统。
27.由给定传感器生成的传感器数据通常指示所反射的辐射的距离、方向和强度。例如,传感器可以在特定方向上发送一个或多个电磁辐射脉冲,并且可以测量任何反射的强度以及接收反射的时间。距离可以通过确定脉冲与其相应的反射之间需要多长时间来计算。传感器可以连续地扫描特定空间的角度、方位或两者。例如,扫描方位可以允许传感器沿着相同视线检测多个对象。
28.传感器子系统130或车辆102的其他组件也可以将来自一个或多个传感器的一个或多个原始传感器测量值的组分类为另一代理的测量。一组传感器测量值可以用各种方式中的任何一种来表示,这依赖于被捕获的传感器测量值的种类。例如,每组原始激光传感器测量值可以被表示为三维点云,其中每个点在特定的二维或三维坐标空间中具有强度和位置。在一些实施方式中,位置被表示为范围和高度对(pair)。每组相机传感器测量值可以被表示为图像斑块(image patch),例如,rgb图像斑块。
29.一旦传感器子系统130将一组或多组原始传感器测量值分类为相应的其他代理的测量,传感器子系统130就可以将原始传感器测量值编译成原始数据132的集合,并且将原始数据132传送到数据表示系统140。
30.同样在车辆102上的数据表示系统140从传感器系统130接收原始传感器数据132,并且生成场景数据142。场景数据142表征截至当前时间点车辆102周围环境的当前状态。
31.例如,对于环境中的所有周围代理,场景数据可以表征当前时间点的当前状态和一个或多个相应先前时间点的先前状态。换句话说,对于环境中的所有周围代理,场景数据可以包括表征直到当前时间点在环境中的代理的先前轨迹的数据。代理在某一时间点的状态可以包括代理在该时间点的位置以及可选地还有在该时间点的预先确定的运动参数集的值。作为特定示例,运动参数可以包括代理的航向、代理的速度和/或代理的加速度。在一些实施方式中,场景数据还包括表征车辆在当前时间点的当前状态和车辆在一个或多个相应先前时间点的先前状态的数据。在一些实施方式中,场景数据还包括表征环境的特征的数据。这些特征可以包括:(i)环境的动态特征,例如,在当前时间点的交通灯状态;(ii)环境的静态特征,例如,表征车道连通性、车道类型、停车线、速度限制等中的一个或多个的道路图形数据;或者(iii)两者。
32.作为特定示例,场景数据可以是从自上而下(top-down)的角度表征环境的三维数据表示。换句话说,场景数据可以包括每个时间点的环境的一个或多个自上而下渲染的图像,这种图像包括在该时间点对环境中的周围代理的描绘。例如,场景数据可以包括每个时间点的环境的单个自上而下渲染的图像,其中,在给定时间点的自上而下渲染的图像中,周围代理可以基于它们在该给定时间点的位置和运动而被描绘为自上而下渲染的图像中的边界框。边界框是图像中标识相应对象的边界或边缘的像素框。在一些实施方式中,自上而下渲染的图像还包括用于描绘在当前时间点的道路车道和其他道路图形特征或环境的其
他特征的附加的渲染的图像。
33.数据表示系统140向也在车辆102上的轨迹预测系统150提供场景数据142。
34.轨迹预测系统150处理场景数据142,以针对一个或多个周围代理中的每个代理生成相应的轨迹预测输出152。给定代理的轨迹预测输出152表征了代理在当前时间点之后的未来轨迹。
35.更具体地,给定代理的轨迹预测输出152包括表征代理的未来轨迹与多个锚定轨迹中的每个锚定轨迹的预测相似性的数据。每个锚定轨迹表征代理在当前时间点之后的不同的可能未来轨迹,并且包括指定环境中的多个航点空间位置的序列的数据,每个航点空间位置对应于代理在未来时间点之后的相应未来时间点的可能位置。换句话说,每个锚定轨迹标识环境中周围代理在当前时间点之后可能穿越的不同的航点位置序列。
36.下面将参考图2和图3更详细地描述生成轨迹预测输出。
37.车载系统110还包括规划系统160。规划系统160可以为车辆102做出自主或半自主驾驶决策,例如,通过生成表征车辆102未来将采取的路径的规划车辆路径来为车辆102做出自主或半自主驾驶决策。
38.车载系统100可以将轨迹预测系统150所生成的轨迹预测输出152提供给车辆102的一个或多个其他车载系统,例如规划系统160和/或用户界面系统165。
39.当规划系统160接收到轨迹预测输出152时,规划系统160可以使用轨迹预测输出152来生成规划车辆未来轨迹的规划决策,即生成新的规划车辆路径。例如,轨迹预测输出152可以包含潜在地导致碰撞的、对特定周围代理可能在特定未来时间点插入(cut)车辆102前方的预测。在该示例中,规划系统160可以生成避免潜在碰撞的新规划车辆路径,并且例如通过自主控制车辆的转向来使车辆102遵循新规划路径,并且避免潜在碰撞。
40.当用户界面系统165接收到轨迹预测输出152时,用户界面系统165可以使用轨迹预测输出152向车辆102的驾驶员呈现信息,以帮助驾驶员安全地操作车辆102。用户界面系统165可以通过任何适当的方式向代理102的驾驶员呈现信息,例如,通过经由车辆102的扬声器系统发送的音频消息或者通过代理中的视觉显示系统(例如,车辆102的仪表板上的lcd显示器)上显示的警报。在特定示例中,轨迹预测输出152可以包含潜在地导致碰撞的、对特定周围代理很可能插入车辆102前方的预测。在该示例中,用户界面系统165可以用指令向车辆102的驾驶员呈现警报消息,以调整车辆102的轨迹来避免碰撞,或者通知车辆102的驾驶员很可能与特定周围代理碰撞。
41.为了生成轨迹预测输出152,轨迹预测系统150可以使用经训练的参数值195,即从训练系统120中的轨迹预测模型参数存储190中获得的、轨迹预测系统150的经训练的模型参数值。
42.训练系统120通常被托管(host)在数据中心124内,数据中心124可以是在一个或多个位置具有数百或数千个计算机的分布式计算系统。
43.训练系统120包括训练数据存储170,训练数据存储170存储用于训练轨迹预测系统的所有训练数据,即用于确定轨迹预测系统150的经训练的参数值195的所有训练数据。训练数据存储170从现实世界中运行的代理接收原始训练示例。例如,训练数据存储170可以从车辆102和与训练系统120通信的一个或多个其他代理接收原始训练示例155。原始训练示例155可以由训练系统120处理以生成新训练示例。原始训练示例155可以包括能用作
新训练示例的输入的场景数据,即像场景数据142一样。原始训练示例155还可以包括表征在一个或多个未来时间点车辆102周围的环境状态的结果数据。该结果数据可以用于生成车辆附近的一个或多个代理在由场景数据表征的时间点的地面真实(ground truth)轨迹。每个地面真实轨迹标识了相应代理在未来时间点所穿越的(从结果数据中推导出的)实际轨迹。例如,地面真实轨迹可以标识代理在多个未来时间点中的每个时间点所移动到的、以代理为中心的坐标系中的空间位置。
44.训练数据存储170向也被托管在训练系统120中的训练引擎180提供训练示例175。训练引擎180使用训练示例175来更新将由轨迹预测系统150使用的模型参数,并且将更新后的模型参数185提供给轨迹预测模型参数存储190。一旦轨迹预测系统150的参数值已经被完全训练,训练系统120就可以例如通过有线或无线连接将经训练的参数值195传送到轨迹预测系统150。
45.下面参考图4更详细地描述训练轨迹预测系统150。
46.图2是使用嵌入神经网络210和轨迹预测神经网络220为车辆附近的代理生成轨迹预测的图示。例如,神经网络可以是轨迹预测系统(例如,图1所示的在车辆上的轨迹预测系统150)的一部分。
47.嵌入神经网络210接收表征车辆周围的环境的当前状态的输入场景数据202(也称为嵌入神经网络输入)。
48.嵌入神经网络210是处理场景数据202以生成场景特征212作为输出的前馈神经网络,场景特征212对场景中的各个代理的状态以及代理之间的交互进行编码。场景特征212也被称为嵌入神经网络输出。
49.例如,当场景数据202是从自上而下的角度表征环境的三维数据表示时,嵌入神经网络210可以是卷积神经网络,即包括一个或多个卷积神经网络层的神经网络,并且场景特征212也可以是从自上而下的角度表征环境的三维数据表示。例如,场景数据202和场景特征212可以具有相同的空间分辨率,但是场景特征212可以具有更大数量的深度通道。作为另一示例,场景数据202和场景特征212可以具有不同的空间分辨率,其中场景特征212具有更大数量的深度通道。作为特定示例,嵌入神经网络210可以具有包括卷积神经网络层的多个块的resnet架构,每个块之后是来自该块的输入的残差连接。
50.然后,系统可以从场景特征212中为应该为其生成轨迹预测的车辆附近的每个代理生成相应的嵌入。代理的嵌入表征了直到当前时间点的代理。
51.为了生成代理的嵌入,系统从场景特征212中执行“定向裁剪(oriented crop)”214。具体地,系统裁剪出与代理相对应的场景特征212的部分,并且基于场景特征212的裁剪的部分来确定表征代理的嵌入。与给定代理相对应的场景特征212的部分可以是例如以场景特征212中代理的位置为中心的、场景特征212的固定大小部分。更具体地,裁剪被称为“定向”裁剪,因为系统将场景特征212的裁剪的部分旋转到以代理为中心的坐标系以生成嵌入。例如,系统可以使用可微分双线性扭曲来执行这种旋转。
52.因为所有感兴趣代理的所有嵌入都是从场景特征212中生成的,所以系统可以仅使用通过嵌入神经网络210的单次前向传递来生成所有感兴趣代理的嵌入。也就是说,给定代理的嵌入神经网络输入不仅表征给定代理,而且还表征直到当前时间点在环境中的一个或多个其他代理的轨迹,并且因此可以使用通过嵌入神经网络210的单次前向传递来生成
所有代理的嵌入。
53.为了生成给定代理的轨迹预测,系统使用轨迹预测神经网络220(在图2中称为“以代理为中心的cnn”)来处理代理的嵌入。
54.轨迹预测神经网络220是被配置为处理嵌入以生成轨迹预测输出的神经网络,轨迹预测输出包括表征代理的未来轨迹与多个锚定轨迹中的每个锚定轨迹(即与固定数量的锚定轨迹中的每个锚定轨迹)的预测相似性的数据。
55.每个锚定轨迹表征代理的可能未来轨迹,并且包括指定环境中的多个航点空间位置的序列的数据,每个航点空间位置对应于代理在相应未来时间点的可能位置。也就是说,每个锚定轨迹定义了代理在当前时间点之后可能穿越的环境中的不同的可能未来路径。
56.通常,被包括在固定数量中的锚定轨迹是预先确定的,并且表示代理从任何给定的当前时间起可以执行的不同的可能行为集合。也就是说,锚定轨迹对于所有代理都是相同的,并且不依赖于场景数据202或关于环境中的当前场景的任何其他信息。因为锚定轨迹也在以代理为中心的坐标系中,所以无论代理在当前场景中的当前位置如何,相同的锚定轨迹集合都可以用于任何代理。
57.通常,锚定轨迹是在轨迹预测系统的训练之前预先确定的。
58.作为特定示例,系统可以基于将用于训练轨迹预测系统的代理轨迹的训练集来确定一些或所有锚定轨迹。例如,系统可以将训练集中的轨迹聚类成固定数量的聚类,然后从每个聚类中选择代表性轨迹作为锚定轨迹。
59.作为另一示例,系统可以通过从可能轨迹的空间中均匀地采样轨迹来确定固定数量的锚定轨迹中的一些或所有锚定轨迹。
60.图2的示例可视化了场景数据202中表征的代理222的3个锚定轨迹230、240和250。从图2的示例中可以看出,轨迹预测输出已经将0.5的概率分配给轨迹230,将0.3的概率分配给轨迹240,将0.1的概率分配给轨迹250(其中固定数量的锚定轨迹中的其余轨迹具有0.1的组合概率)。分配给给定锚定轨迹的概率可以表示给定锚定轨迹将是与代理的未来轨迹最相似的锚定轨迹的可能性。
61.在一些实施方式中,对于每个锚定轨迹,轨迹预测输出还可以包括,表征对于锚定轨迹的每个航点空间位置的、依赖于该航点空间位置的概率分布的数据。给定航点空间位置的概率分布定义了代理将在与航点空间位置相对应的未来时间点占据该航点空间位置附近的相应空间位置的相应可能性。也就是说,假设代理遵循锚定轨迹,概率分布表示所预测的代理的实际未来轨迹可能偏离锚定轨迹的空间。换句话说,对于给定的锚定轨迹,在给定未来时间点的概率分布表示代理可能偏离给定锚定轨迹中的航点空间位置的空间,其中被分配较高概率的位置比被分配较低概率的位置更有可能偏离。
62.因此,在这些实施方式中,轨迹预测输出包括k个概率或其他相似性分数,k个锚定轨迹中的每个锚定轨迹有一个概率或其他相似性分数。如果每个锚定轨迹包括t个未来时间点,则轨迹预测输出还包括针对k个锚定轨迹中的每个锚定轨迹并且在t个未来时间点中的每个未来时间点的、表征概率分布的数据。因此,如果表征概率分布的数据包括d个值,则给定代理的轨迹预测输出包括k k
×
t
×
d个值。
63.具体地,对于任何给定的航点空间位置,表征依赖于航点空间位置的概率分布的数据包括定义依赖于航点空间位置的参数概率分布的参数的数据。
64.作为特定示例,依赖于航点空间位置的参数概率分布可以是正态概率分布,并且定义正态概率分布的参数的数据可以包括(i)指定正态概率分布的均值相对于航点空间位置的偏移的偏移参数以及(ii)正态概率分布的协方差参数。例如,协方差参数可以在以代理为中心的坐标系中定义2
×
2协方差矩阵。在该示例中,轨迹预测输出包括每个锚定轨迹的相应相似性分数,并且对于每个锚定轨迹中的每个未来时间点,轨迹预测输出可以包括5个值:沿着x维度的平均偏移、沿着x维度的平均偏移、沿着y维度的平均偏移、定义协方差矩阵的3个参数。因此,轨迹预测输出将包括k个相似性分数以及定义k个锚定轨迹内在未来时间点的概率分布的k
×
t
×
5个值。
65.作为另一特定示例,协方差可以是固定的,并且定义在给定未来时间点的正态分布的参数的数据只能包括给定未来时间点的偏移参数。
66.在图2的示例中,由概率分布定义的不确定性可以被看作是关于道路几何形状的,并且随着时间的推移对于每个轨迹都在增长。
67.神经网络220可以包括被配置为将嵌入映射到构成轨迹预测输出的k k
×
t
×
d个值的卷积层的集合。替代地,神经网络220可以自回归地生成在不同未来时间点的概率分布,即,通过使用一个或多个循环神经网络层或其他自回归神经网络层将卷积层的输出映射到序列中每个未来时间点的概率分布参数。
68.图3是用于为车辆附近的代理生成轨迹预测输出的示例过程300的流程图。为方便起见,过程300将被描述为由位于一个或多个位置的一个或多个计算机的系统来执行。例如,根据本说明书适当编程的轨迹预测系统(例如,图1的轨迹预测系统150)可以执行过程300。
69.在任何给定的时间点,系统可以对车辆附近的一个或多个代理中的每个代理执行过程300。例如,系统可以对已经被传感器子系统识别为处于车辆附近的每个代理执行过程300,或者对所识别的代理的适当子集(例如,车辆的规划系统需要其轨迹预测的代理的适当子集)执行过程300。
70.系统获得表征直到当前时间点在环境中的车辆附近的代理的嵌入(步骤302)。
71.例如,如上所述,系统可以通过使用嵌入神经网络处理场景数据以生成场景特征(步骤304)然后裁剪与代理相对应的场景特征的部分以生成嵌入(步骤306)来获得嵌入。在一些情况下,系统将嵌入神经网络的裁剪部分旋转到以代理为中心的坐标系,以便生成嵌入。如上所述,系统可以仅使用通过嵌入神经网络的单次传递来为所有一个或多个代理生成嵌入。
72.系统使用轨迹预测神经网络来处理嵌入,以生成表征代理在当前时间点之后的未来轨迹的轨迹预测输出(步骤308)。
73.如上所述,轨迹预测输出包括表征代理的未来轨迹与多个锚定轨迹中的每个锚定轨迹的预测相似性的数据。例如,对于每个锚定轨迹,轨迹预测输出可以包括表示锚定轨迹将是与代理的未来轨迹最相似的轨迹的可能性的概率或其他相似性分数。
74.对于每个锚定轨迹,轨迹预测输出还可以包括表征对于锚定轨迹的每个航点空间位置的、依赖于该航点空间位置的概率分布的数据。给定航点空间位置的概率分布定义了代理将在与锚定轨迹中的航点空间位置相对应的未来时间点占据该航点空间位置附近的相应空间位置的可能性。
75.系统向车辆的规划系统提供轨迹预测输出,以生成规划车辆的未来轨迹的规划决策(步骤310)。
76.图4是用于训练轨迹预测系统的示例过程400的流程图。为方便起见,过程400将被描述为由位于一个或多个位置的一个或多个计算机的系统来执行。例如,根据本说明书适当编程的训练系统(例如,图1的训练系统120)可以执行过程400。
77.系统可以对从地面真实代理轨迹的训练集中采样的小批量的一个或多个地面真实代理轨迹中的每个地面真实代理轨迹执行过程400,以确定每个地面真实代理轨迹的相应模型参数更新。然后,系统可以组合(例如,平均或相加)相应模型参数更新以生成组合更新,然后例如根据用于训练的优化器(例如,adam优化器、rmsprop优化器或随机梯度下降优化器)将组合更新应用于模型参数的当前值。
78.通过以这种方式对不同小批量的地面真实代理轨迹重复地更新模型参数值,系统可以训练轨迹预测系统以生成准确的轨迹预测输出。
79.系统获得训练示例,训练示例包括代理截至第一时间点的场景数据,以及标识代理在第一时间点之后所遵循的实际轨迹的代理的地面真实代理轨迹(步骤402)。
80.系统使用如上所述的轨迹预测系统并根据模型参数的当前值(即根据嵌入神经网络和轨迹预测神经网络的参数的当前值)来处理场景数据,以生成轨迹预测输出(步骤404)。
81.对于每个锚定轨迹,锚定轨迹系统确定该锚定轨迹与地面真实轨迹的相似性(步骤406)。例如,系统可以将锚定轨迹与地面真实轨迹之间的相似性计算为两个轨迹之间的状态序列空间中的l2范数距离或其他适当的距离度量。
82.系统通过计算相对于损失函数的模型参数的梯度来确定对模型参数的当前值的更新(步骤408),该损失函数基于相似性、地面真实轨迹和轨迹预测输出。因为系统联合地训练嵌入神经网络和轨迹预测神经网络,所以系统可以反向传播损失函数的梯度,以通过轨迹预测神经网络并且到嵌入神经网络中。
83.在一些情况下,损失函数采用地面真实轨迹与锚定轨迹之一之间的硬分配,并且因此仅依赖于与地面真实轨迹最相似的锚定轨迹。在这些情况下,损失函数可以满足:
[0084][0085]
其中,k是锚定轨迹的总数,θ是模型参数,是指示函数,该指示函数在索引k与地面真实轨迹的最相似锚定轨迹的索引相同时为1,并且每当索引k与索引不相同时为0,π(ak|xm;θ)是在给定场景数据xm的情况下被分配给轨迹预测输出中的锚定轨迹k的概率,t是锚定轨迹中的时间点的总数,是通过正态分布分配给地面真实轨迹中在时间t的航点空间位置的概率,该正态分布具有平均值和协方差参数其中是锚定轨迹k中在时间t的航点空间位置,是正态概率分布的均值相对于锚定轨迹k的轨迹预测输出中在时间t的航点空间位置的偏移,并且是锚定轨迹k的轨迹预测输出中在时间t的航点空间位置的协方差参数。
[0086]
在一些其他情况下,损失函数采用地面真实轨迹与锚定轨迹之间的软分配,并且因此依赖于所有锚定轨迹,其中任何给定锚定轨迹的损失的贡献依赖于给定锚定轨迹与地面真实轨迹之间的相似性。在这些情况下,上述损失函数中的指示项将基于轨迹k与地面真实轨迹之间的相似性而被向锚定轨迹k分配权重的项所取代,该权重依赖于锚定轨迹k之间的相似性。
[0087]
本说明书中描述的主题和功能操作的实施例可以在数字电子电路中、在有形体现的计算机软件或固件中、在包括本说明书中所公开的结构及其结构等同物的计算机硬件中、或者在它们中的一个或多个的组合中实施。本说明书中描述的主题的实施例可以被实施为一个或多个计算机程序,即编码在有形的非暂时性存储介质上的计算机程序指令的一个或多个模块,用于由数据处理装置执行或控制数据处理装置的操作。计算机存储介质可以是机器可读存储设备、机器可读存储基底、随机或串行存取存储器设备、或者它们中的一个或多个的组合。替代地或附加地,程序指令可以被编码在人工生成的传播信号(例如,机器生成的电、光或电磁信号)上,其被生成来对信息进行编码,以传输到合适的接收器装置供数据处理装置执行。
[0088]
术语“数据处理装置”是指数据处理硬件,并且涵盖用于处理数据的所有种类的装置、设备和机器,包括例如可编程处理器、计算机、或者多个处理器或计算机。该装置还可以是或进一步包括现成的或定制的并行处理子系统,例如gpu或另一种专用处理子系统。该装置还可以是或进一步包括专用逻辑电路,例如,fpga(现场可编程门阵列)或asic(专用集成电路)。除了硬件之外,该装置可以可选地包括为计算机程序创建执行环境的代码,例如,构成处理器固件、协议栈、数据库管理系统、操作系统、或者它们中的一个或多个的组合的代码。
[0089]
计算机程序(也可以被称为或描述为程序、软件、软件应用、小应用、模块、软件模块、脚本或代码)可以用任何形式的编程语言来编写,包括编译或解释语言或者声明性或过程性语言,并且它可以以任何形式来部署,包括作为独立程序或作为模块、组件、子例程或适合在计算环境中使用的其他单元。程序可以但不是必须对应于文件系统中的文件。程序可以被存储在保存其他程序或数据的文件的一部分(例如,标记语言文档中所存储的一个或多个脚本)中,被存储在专用于所讨论的程序的单个文件中,或者被存储在多个协同文件(例如,存储一个或多个模块、子程序或部分代码的文件)中。计算机程序可以被部署为在一个计算机上执行,或者在位于一个站点的或分布在多个站点并通过数据通信网络互连的多个计算机上执行。
[0090]
对于由一个或多个计算机组成的系统来说,被配置为执行特定的操作或动作意味着该系统已经在其上安装了软件、固件、硬件或它们的组合,这些软件、固件、硬件或它们的组合在操作中使得该系统执行这些操作或动作。对于一个或多个计算机程序来说,被配置为执行特定操作或动作意味着该一个或多个程序包括指令,当该指令由数据处理装置执行时,使得该装置执行这些操作或动作。
[0091]
如在本说明书中所使用的,“引擎”或“软件引擎”是指提供不同于输入的输出的软件实施的输入/输出系统。引擎可以是经编码的功能块,诸如库、平台、软件开发工具包(“sdk”)或对象。每个引擎可以在任何适当类型的计算设备上实施,例如,服务器、移动电话、平板计算机、笔记本计算机、音乐播放器、电子书阅读器、膝上型或台式计算机、pda、智
能电话、或者包括一个或多个处理器和计算机可读介质的其他固定或便携式设备。另外,两个或更多个引擎可以在相同的计算设备上实施,或者在不同的计算设备上实施。
[0092]
本说明书中描述的过程和逻辑流程可以由执行一个或多个计算机程序的一个或多个可编程计算机来执行,以通过对输入数据进行操作并生成输出来执行功能。这些过程和逻辑流程也可以由专用逻辑电路(例如现,fpga或asic)来执行,或者由专用逻辑电路和一个或多个编程计算机的组合来执行。
[0093]
适合于执行计算机程序的计算机可以基于通用微处理器或专用微处理器或两者,或者任何其他种类的中央处理单元。通常,中央处理单元将从只读存储器或随机存取存储器或两者接收指令和数据。计算机的基本元件是用于执行或运行指令的中央处理单元以及用于存储指令和数据的一个或多个存储器设备。中央处理单元和存储器可以由专用逻辑电路来补充,或者包含在专用逻辑电路中。通常,计算机还将包括或可操作地耦合到用于存储数据的一个或多个大容量存储设备(例如,磁盘、磁光盘或光盘),以从其接收数据,或向其发送数据,或两者兼有。然而,计算机不需要具有这样的设备。此外,计算机可以备嵌入到另一设备中,例如移动电话、个人数字助理(pda)、移动音频或视频播放器、游戏控制台、全球定位系统(gps)接收器、或者便携式存储设备(例如,通用串行总线(usb)闪存驱动器),仅举几例。
[0094]
适合于存储计算机程序指令和数据的计算机可读介质包括所有形式的非易失性存储器、介质和存储器设备,包括例如:半导体存储器设备,例如,eprom、eeprom和闪存设备;磁盘,例如,内部硬盘或可移动盘;磁光盘;以及cd-rom和dvd-rom盘。
[0095]
为了提供与用户的交互,本说明书中所描述的主题的实施例可以在计算机上实施,该计算机具有用于向用户显示信息的显示设备(例如,crt(阴极射线管)或lcd(液晶显示)监视器)以及用户可以通过其向计算机提供输入的键盘和定点设备(例如,鼠标、轨迹球、或者存在敏感显示器或其他表面)。也可以使用其他种类的设备来提供与用户的交互;例如,提供给用户的反馈可以是任何形式的感官反馈,例如,视觉反馈、听觉反馈或触觉反馈;并且可以以任何形式接收来自用户的输入,包括声音、语音或触觉输入。此外,计算机可以通过向用户使用的设备传送文档和从用户所使用的设备接收文档来与用户交互;例如,通过响应于从网络浏览器接收的请求将网页传送到用户设备上的网络浏览器。此外,计算机可以通过向个人设备(例如,智能电话)传送文本消息或其他形式的消息、运行消息应用并从用户接收响应消息作为应答来与用户交互。
[0096]
本说明书中所描述的主题的实施例可以在计算系统中实施,计算系统包括后端组件(例如,作为数据服务器),或者包括中间件组件(例如,应用服务器),或者包括前端组件(例如具有图形用户界面、网络浏览器或用户可以通过其与本说明书中所描述的主题的实施方式交互的应用的客户端计算机),或者一个或多个这样的后端、中间件或前端组件的任意组合。该系统的组件可以通过任何形式或介质的数字数据通信(例如,通信网络)互连。通信网络的示例包括局域网(lan)和广域网(wan),例如,互联网。
[0097]
计算系统可以包括客户端和服务器。客户端和服务器通常彼此远离,并且通常通过通信网络交互。客户端和服务器的关系是借助运行在各自计算机上且彼此之间具有客户端-服务器关系的计算机程序而产生的。在一些实施例中,服务器将数据(例如,html页面)发送到用户设备,例如,为了向与充当客户端的设备交互的用户显示数据和从其接收用户
输入。在用户设备处生成的数据(例如,用户交互的结果)可以在服务器处从该设备接收。
[0098]
虽然本说明书包含许多具体的实施细节,但是这些不应被解释为对任何发明的范围或对所要求保护的范围的限制,而是对特定发明的特定实施例可能特有的特征的描述。本说明书中在分离的实施例的上下文中描述的某些特征也可以在单个实施例中以组合方式来实施。相反,在单个实施例的上下文中描述的各种特征也可以在多个实施例中单独地实施或者在任意合适的子组合中实施。此外,尽管特征可以在上面被描述为在某些组合中起作用,并且甚至最初被这样要求保护,但是在一些情况下,来自所要求保护的组合的一个或多个特征可以从该组合中删除,并且所要求保护的组合可以指向子组合或子组合的变体。
[0099]
类似地,虽然在附图中以特定次序描述了操作,但是这不应被理解为要求以所示的特定次序或顺序次序来执行这些操作或者要求执行所有示出的操作来获得期望的结果。在某些情况下,多任务和并行处理可能是有利的。此外,上述实施例中的各种系统模块和组件的分离不应该被理解为在所有实施例中都需要这种分离,并且应该理解,所描述的程序组件和系统通常可以集成在单个软件产品中或者封装到多个软件产品中。
[0100]
已经描述了主题的特定实施例。其他实施例在以下权利要求的范围内。例如,权利要求中列举的动作可以以不同的次序来执行,并且仍然获得期望的结果。作为一个示例,附图中所描述的过程不一定需要所示的特定次序或顺序次序来获得期望的结果。在某些情况下,多任务和并行处理可能是有利的。
再多了解一些

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

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

相关文献