Trajectron++| 生成性的多智能体轨迹预测方法

作者 | 浅笑  编辑 | 汽车人

原文链接:https://zhuanlan.zhihu.com/p/513091095

点击下方卡片,关注“自动驾驶之心”公众号

ADAS巨卷干货,即可获取

点击进入→自动驾驶之心【轨迹预测】技术交流群

后台回复【轨迹预测综述】获取行人、车辆轨迹预测等相关最新论文!

该方法在nuscenes行为预测榜单上排名第6,且是前6名中为数不多提供了开源代码、效果也可复现的方法。

https://www.nuscenes.org/prediction?externalData=all&mapData=all&modalities=Any

db31ac7f33d8e414df3c34b4d4575a8e.png

论文链接:

https://arxiv.org/pdf/2001.03093.pdf

代码链接:

https://github.com/StanfordASL/Trajectron-plus-plus

摘要

对人类运动的推理是安全和社会感知的机器人导航的重要前提。因此,多智能体(或代理)行为预测已经成为自动驾驶汽车等现代人-机器人交互系统的核心组成部分。虽然存在许多用于轨迹预测的方法,但大多数方法不强制实施动态约束并且不考虑环境信息(例如,地图)。为此,我们提出了Trajectron++,这是一个模块化的、图结构的递归模型,它预测了一定数量的不同代理的轨迹,同时**结合了智能体动态和异质数据(例如,语义地图)**。Trajectron++被设计为与机器人规划和控制框架紧密集成;例如,它可以产生可选的以自我代理运动计划为条件的预测。我们在几个具有挑战性的真实世界轨迹预测数据集上展示了它的性能,表现优于一系列最先进的确定性和生成性方法。

1. 背景介绍

44a1fcefbb7d708e82ed4f285efd7271.png
道路场景

示例的道路场景,描绘了行人在一辆可能继续直行或右转的车辆前面横过道路的场景。场景的图形表示在地面上,其中每个目标物及其交互表示为节点和边,分别可视化为白色圆圈和黑虚线。箭头描绘了潜在的未来目标物速度,用颜色表示不同的高级未来行为模式。

现有的多智能体行为预测方法有很多种,从确定性回归到生成性、概率性模型。然而,它们中的许多都是在没有直接考虑真实世界的机器人用例的情况下开发的;特别是,它们忽略了智能体的动力学约束、自我智能体自身的运动(对于捕捉人-机器人交互中的交互方面非常重要)以及现代机器人系统可以访问的大量环境信息(例如,相机图像、激光雷达、地图)。表1提供了最近最先进的方法及其对这种期望的考虑的摘要。

3683e430b73311684da5cc20d15ff3f7.png
行人(左)和车辆(右)轨迹预测方法

表1总结了目前最先进的行人(左)和车辆(右)轨迹预测方法,指出了每种方法所要解决的问题。图例:GNA=一般智能体数量,CD=考虑动态,HD=异类数据,FCP=未来条件预测,OS=开放源代码

因此,在这项工作中,我们感兴趣的是开发一个多智能体行为预测模型,该模型(1)考虑智能体的动态,特别是地面车辆的动态[26,34];(2)产生可能基于潜在的未来机器人轨迹的预测,用于考虑人类反应的智能规划;以及(3)提供一种普遍适用的、开放的和可扩展的方法,可以有效地利用关于周围环境的异质数据。重要的是,利用这样的数据将允许结合环境信息,例如地图,这将使得能够根据场景的结构产生不同的预测(例如,城市十字路口的交互与开放运动场的交互非常不同!)。在这项工作中,我们提出了Trajectron++,这是一个建立在Trajectron[19]框架之上的开放和可扩展的方法,它从不同的输入数据中为不同语义类型的多个交互智能体生成动态可行的轨迹预测。

我们的主要贡献有两个:

首先,我们展示了如何通过编码语义地图的镜头有效地整合高维数据。

其次,提出了一种将动力学约束融入到基于学习的多智能体轨迹预测方法中的通用方法。

Trajectron++被设计为与下游的机器人模块紧密集成,能够产生可选地以未来自我智能体运动计划为条件的轨迹。我们给出了在各种数据集上的实验结果,这些结果共同证明了Trajectron++的性能优于各种最先进的确定性和生成性轨迹预测方法,在某些情况下,平均预测误差降低了60%。

2. 方法介绍

6a8bdb21d4dd35e0ee161036ecae2437.png
Trajectron++方法概貌

在较高级别上,根据其拓扑创建所述场景的时空图表示。然后,生成一个类似结构的深度学习体系结构,预测节点属性的演变,产生智能体轨迹。

(1) 场景表示(有向图构建)

将当前场景抽象为时空图G=(V,E)。节点表示代理,边表示它们之间的交互。因此,在本文的其余部分中,我们将交替使用术语“节点”和“代理”。每个节点还具有与其代理的类别(例如,汽车、公共汽车、行人)相匹配的语义类别。如果Ai影响Aj,则E中存在边(Ai,Aj)。在这项工作中,L2距离被用作代理是否相互影响的代理。形式上,如果‖pi−Pj‖2≤dSj,则边从Ai指向Aj,其中pi,pj∈r2分别是代理Ai,Aj的2D世界位置,并且Dj是编码语义类Sj的代理的感知范围的距离。虽然可以使用更复杂的方法来构建边(例如,[47]),但它们通常需要完整的场景图,从而导致额外的计算开销。图2显示了此场景抽象的一个示例。

我们特别选择将场景建模为有向图,而不是像以前的方法中那样的无向图[21,1,13,47,20,19],因为有向图可以表示更一般的场景和交互类型的集合,例如,不对称影响。这提供了能够同时对具有不同感知范围的代理建模的附加好处,例如汽车在道路上看得比行人在人行道上走时看得更远。

(2) 历史记录建模(有向图节点信息建模)

构建场景图后,模型需要对节点的当前状态、其历史记录以及节点如何受其相邻节点影响进行编码。为了对所建模的代理的观察到的历史进行编码,将它们的当前和先前状态馈送到具有32个隐藏维度的长短期记忆(LSTM)网络[18]。由于我们对建模轨迹感兴趣,因此输入

ad39d7a1fd7520a4f29a68bc68c71dfd.png

是建模代理的当前和以前的D维状态。这些通常是位置和速度,可以很容易地在线估计。

理想情况下,应该选择与其语义类最匹配的代理模型。例如,人们通常会使用自行车模型[26,34]来模拟道路上的车辆。然而,从在线观测中估计另一辆车的自行车模型参数是非常困难的,因为它需要估计车辆的质心、轴距和前轮转向角。因此,在这项工作中,行人被建模为单积分器,轮式车辆被建模为动态延伸的独轮车[28],使我们能够考虑关键的非完整约束(例如,无侧滑约束)[34],而不需要复杂的在线参数估计程序-我们将通过实验表明,这种简化的模型已经在提高预测精度方面发挥了相当大的作用。虽然动态扩展的独轮车模型是一个重要的代表性例子,但我们注意到,我们的方法也可以推广到其他动力学模型,只要它的参数可以在线假设或快速估计。

(3) 编码交互信息(有向图边信息建模)

为了模拟相邻代理对建模代理的影响,Trajectron++分两步对图的边进行编码。

首先,从相同语义类的相邻主体中聚集边缘信息。在这项工作中,元素和被用来作为聚集操作。我们选择以这种方式组合特征,而不是使用串联或平均来处理具有固定体系结构的可变数量的相邻节点,同时保留计数信息[3,20,21]。这些聚集状态然后被馈送到具有8个隐藏维度的LSTM中,该8个隐藏维度的权重在相同类型的所有边缘实例之间共享,例如,所有行人公交车边缘LSTM共享相同的权重。

然后,对连接到建模节点的所有边类型的编码进行聚合,以获得一个代表所有相邻节点所具有的影响的表示向量。为此,使用了附加注意模块[2]。最后,将节点历史编码和边影响编码连接起来,以产生单个节点表示向量,ex。

(4) 整合异类数据

现代传感器套件能够产生更多的信息,而不仅仅是跟踪其他代理的轨迹。值得注意的是,许多真实世界的系统都使用高清地图来帮助定位以及提供导航信息。根据传感器的可用性和复杂性,地图的保真度范围可以从简单的二元障碍地图到HD语义地图(提供“可驾驶区域”、“路障”、“人行道”、“人行横道”等语义类型的区域) 。为了利用这些信息,对于每个建模的代理,Trajectron++使用卷积神经网络(CNN)对旋转后的本地地图进行编码,以匹配代理的方向。CNN有4层,滤波器为{5,5,5,3},每个步长为{2,2,1,1}。紧随其后的是32个稠密的隐层,输出与节点历史和边影响的特征向量。

通常,通过将其编码为向量并将其添加到表示向量的该主干中,可以在该框架中加入进一步的附加信息(例如,原始LIDAR数据、相机图像、行人骨架或凝视方向估计)。在此框架中,通过将其编码为向量并将其添加到表示向量ex中。

a124f0ebfaea999666882edcbc7dc267.png
增加地图编码后的效果

左:当只使用轨迹数据时,Trajectron++不知道障碍物,并对墙进行预测(红色)。右:对代理周围环境的本地地图进行编码显著降低了违障预测的频率。

(5) 编码自我代理未来的运动计划

产生考虑未来自我主体运动的预测是机器人决策和控制的重要能力。具体地说,它允许相对于来自其他代理的可能响应来评估一组运动基元。Trajectron++使用具有32个隐藏维度的双向LSTM,对自我代理运动计划的未来T个时间步长进行编码,使用双向LSTM是因为它在其他序列汇总任务上的强大性能[5]。然后将最终的隐藏状态连接到表示向量的ex中。

(7) 多模式考虑

Trajectron++通过利用CVAE潜变量框架显式处理多通道[43]。它通过引入离散的分类潜在变量z∈Z来产生目标p(y|x)分布,该变量编码高级潜在行为,并允许将p(y|x)表示为

eefd2ab14bc23073bd05207dc25b0690.png

其中|Z|=25和ψ,θ是将其各自的分布参数化的深层神经网络权重。离散性z有助于模型可解释性,因为人们可以通过采样轨迹来可视化每个z具有哪些高级行为。

在训练过程中,使用具有32个隐藏维度的双向LSTM来编码节点的地面真实未来轨迹,产生Qφ(z|x,y)[43]。

(8) 生成动态可行的轨迹

在获得潜在变量z之后,它和主干表示向量ex被馈送到解码器,即128维门控递归单元(GRU)[10]。每个GRU单元输出关于控制动作u(t)的双变量高斯分布的参数(例如,加速度和转向速度)。然后,将代理的系统动力学与产生的控制动作u(t)相结合,以获得位置空间[24,46]中的轨迹。预测时间的唯一不确定性来自Trajectron++的输出。因此,在线性动力学的情况下(例如,本工作中用来对行人建模的单积分器),系统动力学是线性高斯分布。明确地说,对于具有控制作用u(t)=p(t)的单个积分器,t+1处的位置平均值为

6d769e51b134a1f7621d6620c69d638b.png

Trajectron++模型得到,在非线性动力学的情况下(例如,本文中用于建模车辆的独轮车模型),人们仍然可以(近似地)通过线性化关于主体的当前状态和控制的动力学来使用这种不确定性传播方案。单积分器和动态扩展独轮车模型的全均值和协方差方程见附录。

与直接输出位置的方法相比,通过将智能体的动力学与预测控制相结合,我们的方法唯一能够保证其轨迹是动态可行的。

(9) 模型输出

根据所需的用例,Trajectron++可以产生许多不同的输出。主要的四个概述如下。

  • 最大可能性(ML):

模型的确定性和最大可能性的单一输出。高层潜在行为模式和输出轨迹是它们各自分布的模式

50f8316683d58cf0d36de5f71bb50514.png
  • Zmoad:

来自模型最可能的高级潜在行为模式的预测

1d3b193d927e95a9dc30cadb6856fbc2.png
  • Full:

模型的完整采样输出,其中z和y根据

7e0d6da57eca13be359d0f0a3ab3da34.png
  • 分布:

由于使用了离散的潜变量和高斯输出结构,该模型可以通过直接计算来提供解析的输出分布

c731a973293480aae9467ef05237d329.png

(10) loss设置

03b4210a841050a828a26c07bc2b140b.png

其中Iq是分布qφ(x,z)下x和z之间的互信息。为了计算Iq,我们遵循[52],并用pφ(z|xi)近似qθ(z|xi,yi),通过对批次xi求和得到无条件的潜在分布。值得注意的是,Gumbel-Softmax重新参数化[23]不用于反向传播类别潜在变量z,因为它在训练时间期间不被采样。相反,公式(4)的第一项是直接计算的,因为潜在空间只有|Z|=25个离散元素。有关其他培训的详细信息,请参阅附录。

3. 实验结果

我们的方法在三个公开可用的数据集上进行了评估:ETH[36]、UCY[32]和nuScenes[6]数据集。ETH和UCY数据集包含真实的行人轨迹,其中包含丰富的多人交互场景,使用2.5Hz(∆t=0.4s)采集。总共有5组数据,4个独特的场景,1536个独立的行人。它们是该领域的标准基准,包含具有挑战性的行为,如情侣一起行走,群体相互交叉,以及群体形成和分散。然而,它们只包含行人,因此我们还在最近发布的nuScenes数据集上进行了评估。这是一个大规模的自动驾驶数据集,在波士顿和新加坡有1000个场景。每个场景以2Hz(∆t=0.5s)进行注解,长20秒,包含多达23个语义对象类以及具有11个注释层的HD语义图。

Trajectron++是在运行Ubuntu 18.04的台式计算机上用PyTorch[35]实现的,该台式计算机包含一个AMD Ryzen 1800X CPU和两个NVIDIA GTX 1080处理器。我们在行人数据集上训练了100个epoch(∼3小时),在nuScenes数据集上训练了12个epoch((∼8小时)。

1d67df5745fc505fbe1555b7bdf9458f.png d290b5e94f4d7dd6ea6c8d4256752032.png 282d4ebcbd344f8b5737104bb9b51790.png cd28d7431a14c871aeeeab9c8a3fd705.png e063bd653898cab3b0e792af12135496.png

4. 总结

在这项工作中,我们提出了Trajectron++,这是一个生成性的多智能体轨迹预测方法,它独特地满足了我们对开放、通用和可扩展框架的需求。它可以结合先验轨迹信息以外的异质数据,并能够产生尊重动力学约束的未来条件预测,同时产生全概率分布,这在下游机器人任务中特别有用,如运动规划、决策和控制。它在标准和新的现实世界多智能体人类行为数据集上的各种指标上实现了最先进的预测性能。

d30a6af925d463b275a10545d01d1bce.png

国内首个自动驾驶学习社区

近1000人的交流社区,和20+自动驾驶技术栈学习路线,想要了解更多自动驾驶感知(分类、检测、分割、关键点、车道线、3D目标检测、多传感器融合、目标跟踪、光流估计、轨迹预测)、自动驾驶定位建图(SLAM、高精地图)、自动驾驶规划控制、领域技术方案、AI模型部署落地实战、行业动态、岗位发布,欢迎扫描下方二维码,加入自动驾驶之心知识星球,这是一个真正有干货的地方,与领域大佬交流入门、学习、工作、跳槽上的各类难题,日常分享论文+代码+视频,期待交流!

d467e461570d38e6687ef6ec9ecb3163.jpeg

自动驾驶之心】全栈技术交流群

自动驾驶之心是首个自动驾驶开发者社区,聚焦目标检测、语义分割、全景分割、实例分割、关键点检测、车道线、目标跟踪、3D目标检测、BEV感知、多传感器融合、SLAM、光流估计、深度估计、轨迹预测、高精地图、NeRF、规划控制、模型部署落地、自动驾驶仿真测试、产品经理、硬件配置、AI求职交流等方向;

700a2261584d40d610fc1844f33e63fe.jpeg

添加汽车人助理微信邀请入群

备注:学校/公司+方向+昵称

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值