DTPP:自动驾驶中树策略规划的可微联合条件预测和成本评估
category
type
status
slug
date
summary
tags
password
icon
摘要
运动预测和成本评估是自动驾驶汽车决策系统的重要组成部分。 然而,现有的方法常常忽视成本学习的重要性,并将它们视为单独的模块。 在本研究中,我们采用树形结构的策略规划器,并为自我调节的预测和成本模型提出了可微的联合训练框架,从而直接提高了最终的规划性能。 对于条件预测,我们引入了一个以查询为中心的 Transformer 模型,该模型可以执行高效的自我条件运动预测。 对于规划成本,我们提出了一种具有潜在交互特征的可学习的上下文感知成本函数,促进可微联合学习。 我们使用现实世界的 nuPlan 数据集及其相关的规划测试平台验证了我们提出的方法。 我们的框架不仅符合最先进的规划方法,而且在规划质量方面优于其他基于学习的方法,同时在运行时方面运行效率更高。 我们表明,联合训练比两个模块单独训练的性能明显更好。 此外,我们发现树形结构的政策规划优于传统的单阶段规划方法。
简介
自动驾驶汽车的一个基本要求是能够做出安全、明智且类似人类的决策。 实现这一目标需要准确预测交通参与者的未来行为以及确保安全、舒适和遵守交通规范的规划。 由于现实世界固有的不确定性,决策系统应该能够进行政策规划,以考虑到自我车辆做出反应的不同未来和选项。 为了解决这个棘手的连续空间规划问题,树结构的策略规划器,例如树策略规划(TPP)[1]和蒙特卡罗树搜索(MCTS)[2],采用树策略,通过求解离散马尔可夫决策过程 (MDP) 可以找到最佳操作。 具体来说,TPP算法构造两棵树:轨迹树和场景树。 轨迹树的每个分支代表自我代理的候选(多阶段)轨迹,场景树的每个分支包含相邻代理的预测结果。
图1:拟议决策框架概述。 树结构规划器生成多阶段轨迹树,然后条件预测模型使用该树生成场景树。 使用两棵树的成本评估来选择最优计划,并且条件预测和成本评估模型是联合学习的。
然而,树结构规划器面临两个重大挑战。 首先,与大多数仅预测其他智能体无条件未来轨迹(即不考虑双向交互)的神经运动预测模型相比,树结构规划器需要一个能够有效生成自我条件预测的预测模型。 预测模型必须能够处理规划过程中不同的搜索深度(时间步长),维护因果关系[1],并有效地处理多个分支。 其次,根据人类决策评估行动的成本(或回报)具有挑战性。 现有方法通常采用简单的线性成本函数,其中包含一组手动设计的特征和固定权重[3, 4]。 然而,与代理交互相关的因素设计起来很复杂,并且难以手动量化。 因此,可学习的成本函数成为反映人类驾驶偏好的一种有吸引力的方法。
我们的主要贡献有三方面。 首先,我们提出了 DTPP 框架,它将有效的自我调节预测与情境感知成本函数的学习相结合(图 1) 。 我们的框架可以灵活地利用学习和手工制作的成本组件,具有端到端可微分性,并且能够与人类驾驶数据进行联合训练。 其次,我们提出了一种新颖的以查询为中心、基于 Transformer 的预测模型,该模型能够根据多个潜在的未来自我轨迹进行高效的多阶段运动预测。 我们的预测模型的主要优点是它使用自我代理的未来分支信息(轨迹树)作为其 Transformer 解码器中的查询,这与在上下文编码期间合并单个自我轨迹计划的传统方法形成鲜明对比[5 、6、7、8、9]。 最后,我们证明了这种方法在大规模真实 nuPlan 数据集 [10] 中的各种具有挑战性的交互式场景中为闭环规划和预测提供了强大的性能。
II相关工作
条件运动预测。 基于神经网络的运动预测模型的开发取得了重大进展[11,12,13,14,15],包括最近以查询为中心的 Transformer 模型[16, 17] 。 然而,大多数这些预测模型都忽略了可控主体(自我)对其他主体行为的影响。 为了解决这个问题,引入了(自我)条件运动预测(CMP)的概念。 大多数现有的 CMP 研究只是将编码阶段的计划自我轨迹纳入环境上下文[5,7,6,8]。 这些模型在用于闭环政策规划时计算效率低下,因为需要针对多个自我轨迹重复计算预测。 一些方法在稍后的解码阶段合并自我信息,例如在 RNN 单元 [18, 19] 中,或通过在 Transformer 模型中使用屏蔽注意力 [9, 20]. 虽然这些模型对于重复的自我调节预测更有效,但它们一次只接受一个自我轨迹输入。 与之前的工作相比,我们为 CMP 提出了一种以查询为中心的 Transformer 模型,该模型在其查询向量中合并了整个自我轨迹树,从而显着减少了运行时间。 此外,我们将 CMP 模型与成本模型联合训练,为除了基本事实之外的自我计划提供额外的正则化,并直接优化模型以有效进行规划。
学习成本函数。 设计自动车辆运动规划的成本函数是一项众所周知的挑战,部分原因是难以表达和结合人类偏好、安全性、效率和舒适性。 因此,许多先前的工作提出从专家数据中学习成本函数,例如使用逆强化学习(IRL)[21]。 特别是,最大熵 IRL 已应用于模型驾驶员行为 [22, 23, 3] 或通过学习权重来规划任务 [24, 4, 5]线性成本函数。 然而,线性成本函数的假设过于强烈,导致在某些场景下评估不理想或不准确[5]。 此外,手动设计的成本特征可能无法捕捉人类驾驶员微妙的决策模式。 为了解决这些限制,Deep IRL [25] 使用神经网络直接学习成本图,而不依赖于线性成本结构,尽管计算负担很大。 受[26]的启发,我们建议学习一组上下文感知的成本特征以及对学习和手工制作的成本特征进行加权的成本权重解码器。 然后,我们将成本模型与 CMP 模型联合训练。
联合预测和规划在处理高度交互的驾驶场景时,联合预测和规划是必要的[27]。 一些研究采用整体神经网络方法来共同生成自我智能体和其他相关智能体的轨迹[28,29,14]。 然而,这些规划者缺乏可靠性,因为他们未能明确考虑自我代理行为的结果或成本。 [30]提出了一种利用预测结果作为控制系统参数的规划框架,显着提高了计算效率。 然而,由于其预测表示的简单仿射结构,其性能受到限制。 一些作品提倡可微分的联合预测和规划结构[31, 32],使预测结果更适合下游规划,并能够从数据中学习成本函数。 然而,这些方法无法模拟自我和其他主体之间的双向交互。 因此,我们将树结构规划器与高效的 CMP 和神经成本评估模型集成,以实现预测和规划模块的联合训练。
III方法论
图2:具有联合可学习预测和成本评估模型的 DTPP 框架概述。 该框架包括迭代节点修剪和扩展,以自我调节的预测结果和成本评估为指导。 在训练过程中,成本评估的损失可以反向传播到预测模块,从而实现两个模块的可微分和联合优化。
图2:具有联合可学习预测和成本评估模型的 DTPP 框架概述。 该框架包括迭代节点修剪和扩展,以自我调节的预测结果和成本评估为指导。 在训练过程中,成本评估的损失可以反向传播到预测模块,从而实现两个模块的可微分和联合优化。
所提出的 DTPP 框架及其相关的预测和成本模型如图2和算法所示1。 我们的规划器基于 TPP [1],通过我们学习的成本模型启用了节点修剪的重要附加功能,并与我们的 CMP 模型集成,这些共同显着提高了规划性能和效率。
树结构规划背后的关键思想是通过在多个阶段对一组离散的自我轨迹进行采样,形成轨迹树,并预测其他智能体的运动来近似棘手的连续空间策略规划问题以每个自我轨迹段为条件,形成场景树。 然后使用动态规划导出最佳自我行为。 具体来说,轨迹树节点 sij 包含从 t0j 到 tFj 的自我轨迹,其中 t0j 和 tFj指示第j阶段(j≥1)的开始和结束时间。 场景树节点 pij 包含环境状态(附近代理的预测状态),并且我们使用相同的标记约定。 为了构建树,我们迭代地对每个 sij 的一组目标状态进行采样,并生成将 sij 连接到相应目标状态的轨迹。 然后,我们使用 CMP 模型预测环境状态 pij。 我们使用评估模型计算成本并修剪低分节点。 我们继续扩展树,直到达到指定的时间限制或深度。
我们的框架有两个关键的新颖模型组件。 首先,以查询为中心的 CMP 模型使用 Transformer 编码器提取环境上下文,并使用 Transformer 解码器输出以可能的自我计划为条件的其他代理(场景树)的联合轨迹。 重要的是,自我轨迹作为解码器查询向量的一部分进入模型,因此在规划期间仅调用编码器一次,并且每个规划阶段仅调用解码器一次。 其次,成本评估模块以轨迹树和场景树作为输入来计算每个分支(计划)的成本。 为此,它结合了神经特征提取器(来自所有代理的联合轨迹)和神经权重解码器(来自编码的自我上下文)。 成本模型是在规划器和预测模型的背景下共同学习的,因此它经过优化以捕获所需的驾驶行为并在测试中充当有效的修剪功能。
III-A规划流程
算法 1中概述了我们提出的规划算法。 树策略规划器在学习的预测和成本模型的指导下重复扩展所选节点,直到达到最大扩展阶段Nl。 通过引入成本学习作为扩展的有效启发式方法,我们可以确保只扩展有前途的节点以提高效率。 然后我们使用动态规划来找到执行[1]的最佳初始阶段节点。 虽然我们的框架可以扩展到任意数量的阶段,但我们在实验中选择 Nl=2。
为了构建轨迹树,我们使用以车道为中心的目标采样过程,其中包含映射和路由信息。 首先,我们找到自我车辆[14]的多个参考路径(例如,车道中心线)。 然后,我们对不同的目标速度进行采样,并根据目标速度生成跨不同路径的候选轨迹。 请注意,这与直接对目标状态进行采样的 TPP 不同,因为这在具有复杂道路网络的各种场景中提供了更稳定的规划性能。 给定节点 s(0)=[x0,y0,v0,a0,θ0,l0] 处自我车辆的当前状态,表示其在参考路径上的坐标、速度、加速度、航向和位置,我们采用三阶多项式来参数化轨迹的速度 v(t)关于目标速度vtarget:
我们可以直接计算闭式的v(t)系数并确定轨迹的速度。 然后,我们就可以计算出参考路径l(t)=l0+∫0tv(t)𝑑t上的位置以及笛卡尔空间中的坐标x(t)、y(t)、θ(t)。 最后,我们删除违反动态约束的轨迹。 我们对轨迹树内的节点数量设置上限,如果超过限制,则随机丢弃节点。
III-B条件预测模型
Transformer 编码器。 模型的输入是Na=10附近代理和自我车辆的过去轨迹,以及Nm=50附近地图元素(包括车道和人行横道)。 代理轨迹的时间步长为 Th=20,分辨率为 ΔT=0.1s。 轨迹使用 LSTM 网络进行编码(具有共享权重);地图元素使用 MLP 网络进行编码。 编码向量连接起来形成形状为 [1+Na+Nm,D]、D=256 的环境上下文。 为了捕获场景元素之间的相互依赖性,我们使用由 Le=3 层和输出维度 [1+Na+Nm,D] 组成的自注意力 Transformer 编码器处理环境上下文。 重要的是,该编码器在规划过程中仅运行一次。
Transformer 解码器。 解码器旨在有效地从环境上下文和自我轨迹树中提取信息,在单次前向传递中为整个场景树生成多阶段预测。 自我调节是通过两个方面实现的:对包含自我未来信息的注意模块的查询,以及将自我轨迹树作为注意模块的信息。 最初,我们通过 MLP 对自我轨迹树进行编码,产生自我轨迹树张量。 为了处理可变大小的轨迹树,我们将分支组织成固定大小的张量,最大分支大小为M=30,最大时间步为T=8s,用零。
图3说明了单个代理的解码器。 它由两个交叉注意力 Transformer 模块组成,分别从环境上下文和自我计划中收集信息。 交叉注意模块的查询输入来自三个来源:直接从环境编码中的相应位置检索的代理历史嵌入、可学习的时间嵌入(以区分时间步长)和自我计划嵌入(目标点对应于不同分支的自我代理)。 多轴注意力[33]应用于解决查询中的模态和时间维度。 值得注意的是,我们使用时间掩模来抑制对无效时间步长或模式的注意力,并使用随意掩模来维持模式和时间步长之间的因果关系[1]。 最后,两个注意力模块的输出通过 MLP 连接和处理,以解码智能体的未来轨迹。 由于使用了时间嵌入,解码过程一次性完成。 所有代理共享相同的解码器。 对于不同的阶段,使用相同的解码器来预测随时间变化的轨迹。
图3:用于智能体轨迹预测的 Transformer 解码器的详细结构。
随意的蒙面关注。 图 4展示了我们如何使用屏蔽注意力来维持规划和条件预测中的因果关系。 对于给定分支 m,因果掩码排除来自其他分支的任何信息。 在每个特定分支内,直到时间步 t 的预测都不会受到该时间点之后任何后续信息的影响。 值得注意的是,在注意力计算期间,查询或键/值张量中的任何无效分支或时间步都会被屏蔽。 这种屏蔽注意力机制可以有效地并行化场景树中所有分支和时间步的预测,同时还保留因果关系。
III-C成本函数
候选轨迹(分支)的成本是时间范围内成本特征fj的加权和。
图4:自我轨迹树的随意掩盖注意力的插图。
自我特征fe由归一化的自我急动度、加速度、速度和横向加速度组成。 通过学习的权重,自我特征可以平衡舒适和进步。
学习到的交互特征fi捕获自我和其他代理之间的交互。 我们采用 MLP 将自我和其他智能体的相对属性(相对位置、航向和速度)编码到更高维空间 (256),然后沿智能体维度进行最大池化。 从这个潜在向量中,我们使用另一个 MLP 解码低维潜在特征。
碰撞特征 fc 是使用明确捕获安全性的手工函数计算的。 具体来说,我们将高斯径向基函数应用于自我和其他代理之间的距离。
成本特征与学习到的上下文感知权重ωj相加。 具体来说,它们是通过 Transformer 编码器模型中自我编码特征的 MLP 进行解码的。 权重包含 10 个维度,包括自我 (4)、交互 (5) 和碰撞 (1) 特征。
请注意,可以添加额外的成本条款,例如车道保持和路线跟踪。 我们认为这没有必要,因为我们的规划器被限制为通过其轨迹生成器遵循目标车道(参见部分III-A)。
III-D模型训练
为了训练条件预测任务,我们选择最接近真实自我轨迹的情况,然后将平滑的 L1 损失应用于周围智能体的预测轨迹。
IV实验
IV-A实验装置
我们使用 nuPlan 数据集及其相关模拟器 [10] 实验验证了我们提出的方法。 训练和测试阶段涉及 nuPlan 竞赛中的一组标记场景类型,但我们排除了某些静态场景类型,从而产生了 10 种动态场景类型。 对于训练,我们从验证子集中提取了总共 100k 个关于上述场景类型的场景,每个场景的未来时间范围为 8 秒。 为了进行测试,我们从每种场景类型的测试子集中选择 20 个场景(每个场景持续 15 秒),总共 200 个场景。
我们的评估涵盖预测和规划两个方面。 规划测试包括三个任务:开环(OL)、非反应性代理闭环(CL-NR)和反应性代理闭环(CL-R)。 我们报告由 nuPlan 模拟器 [10] 定义的平均规划得分。 该分数体现了 CL-NR 和 CL-R 的安全性、效率和舒适性,以及 OL 与人类驾驶的相似性。 我们还评估预测指标,特别是根据所选自我轨迹计划的非自我智能体的平均和最终位移误差(ADE 和 FDE)。
IV-B实施细节
整个规划范围在 Nl=2 阶段跨越 T=8 秒,最多具有 M=30 个分支。 在第一阶段(短期,t01=0s,tF1=3s),我们考虑三个参考路径,并允许最多 30 个采样目标状态。 获得预测结果后,我们仅保留前 5 个节点,并继续将每个节点扩展为第二阶段的 6 个目标状态(长期、t02=3s、tF2=8s)。
该模型使用 NVIDIA RTX 3080 GPU 进行训练。 批量大小为 16,训练 epoch 总数为 20。 我们使用 AdamW 优化器,学习率初始化为 1e-4,并在第 10 个 epoch 之后每 2 个 epoch 降低 50%。 模型推理在同一 GPU 上进行,而其他计算则在 AMD 3900X CPU 上运行。
IV-C主要结果
闭环规划。 表 I呈现闭环规划测试的结果。 为了公平比较,对于基于模仿学习的基线,输出轨迹被投影到参考路径上。 与基于学习的策略(经常面临因果混乱问题)以及基于规则的 IDM 规划器相比,我们的 DTPP 规划器显示出明显更好的分数。 我们的方法的性能与 PDM(-Closed) 方法 [35] 的性能非常接近,PDM(-Closed) 方法是排行榜上表现最好的规划方法,但针对 nuPlan 挑战指标进行了高度优化。 此外,我们的方法优于基线 TPP 方法。 与TPP的详细比较请参考下文。
表一:闭环规划绩效
与TPP比较。 我们的规划器基于 TPP 方法[1],但它在两个主要方面有所不同:可学习的成本函数和节点剪枝。 首先,成本学习对于确保准确评估行动和指导树扩展的有效启发至关重要。 其次,修剪节点可以显着减少场景树中的分支数量,从而提高模型的运行时间。 对于没有节点修剪的规划器,我们扩大轨迹树张量的大小以包含所有候选轨迹。 为了进行公平的比较,基线 TPP 方法采用了与我们相同的条件预测模型和轨迹生成器。
闭环规划测试和运行时间分析的结果如表II所示。 没有成本学习的基线 TPP 方法在闭环规划中表现不佳。 当不包括成本学习时,节点修剪会使性能变得更差。 然而,通过成本学习,即使单独进行,规划性能也会显着提高,并且修剪可以在不影响规划性能的情况下有效。 这是因为,在第一阶段,我们已经可以选择有前途的节点并安全地删除其他节点。 此外,预测和成本评估模型的联合训练优于单独训练,这可能导致规划性能不佳。 我们的DTPP方法采用预测和成本评估模型的联合学习,产生了最好的结果。 使用节点修剪不会影响规划性能,但可以显着减少运行时间(接近一半)。
表二:与TPP闭环规划比较
自我条件预测。 图 5显示了在十字路口进行自我条件预测的定性示例,自我车辆打算在该十字路口并入主干道。 考虑到自我车辆的不同计划,我们的模型可以预测交互代理的独特且合理的反应。 此功能有助于成本函数模型更有效地评估情况并生成更准确的分数。
预测模型比较。 我们将预测模型的性能与其他两个基线模型进行比较,同时保持规划框架的其他部分不变。 无自我调节模型(非 EC):有关自我车辆未来轨迹的信息未纳入模型中。 早期融合模型(EF-EC):将自我车辆的未来信息纳入模型的编码器部分,从而针对不同的计划迭代查询模型。 请注意,预测指标来自成本评估模型选择的分支,并且直接采用非EC方法的结果进行计算。 表 III和IV中的结果表明,自我条件预测模型在准确性方面略有滞后非 EC 模型。 然而,它们可以提高开环和闭环测试的规划性能。 此外,我们提出的以查询为中心的方法优于早期的融合方法。
表三:预测性能的模型比较
Method | ADE (3s) | FDE (3s) | ADE (8s) | FDE (8s) |
non-EC | 0.3365 | 0.6593 | 1.0515 | 3.0171 |
EF-EC | 0.3763 | 0.7296 | 1.2542 | 3.3602 |
Ours | 0.3636 | 0.6930 | 1.1797 | 3.1237 |
表四:规划绩效的模型比较
Method | OL Score | CL-NR Score | CL-R Score |
non-EC | 0.7533 | 0.8398 | 0.8411 |
EF-EC | 0.7718 | 0.8604 | 0.8655 |
Ours | 0.7911 | 0.8964 | 0.8978 |
Table V 展示了具有不同预测模型的规划器的运行时间。 我们提出的自我调节模型可以并行预测不同分支的结果,从而显着提高规划性能,同时与非 EC 模型相比,计算时间仅略有增加。 与早期的融合模型相比,我们的方法只需要对场景进行一次编码,避免了对不同分支的迭代编码的需要。
表五:预测模型的运行时分析 (ms)
Method | Encode | Expand | Predict | Expand | Predict | Total |
Non-EC | 6.8 | 8.2 | 31.0 | 14.8 | 29.8 | 90.6 |
EF-EC | – | 8.2 | 300.8 | 14.8 | 275.5 | 599.3 |
Ours | 6.8 | 8.2 | 34.9 | 14.8 | 33.3 | 98.0 |
IV-D消融研究
成本函数学习的影响。 我们研究了成本函数的影响,并将结果报告在表VI中。 预测指标和闭环规划分数用于评估具有不同成本学习设置的训练模型。 结果表明,学习到的潜在交互特征在我们的模型中发挥着关键作用,确保了我们的方法在规划中的优越性能。 事实证明,在训练中包含潜在的碰撞以及使用上下文感知成本权重对于增强最终的闭环规划性能是有利的。 一个值得注意的发现是,更好的预测性能可能不会转化为更好的闭环规划,这凸显了协同设计和联合训练的重要性。
表六:成本函数的消融结果
Method | Prediction FDE (3s) | CL-NR Score | CL-R Score |
W/o latent interaction | 0.5848 | 0.7930 | 0.7968 |
W/o collision potential | 0.6262 | 0.8536 | 0.8650 |
W/o variable weights | 0.6483 | 0.8611 | 0.8497 |
Base (Ours) | 0.6830 | 0.8964 | 0.8978 |
树形结构规划的影响。 在表 VII中,我们将 DTPP 方法与单阶段轨迹规划方法进行了比较。 我们研究单阶段规划器的不同规划范围,并仅使用单阶段损失来训练模型。 结果表明,单阶段规划器或模型具有更好的预测精度。 然而,无论规划范围是短(3 s)还是长(8 s),我们的多阶段(基于树)规划方法在闭环规划中都显着优于单阶段方法。
表七:树形结构规划的好处
Method | Prediction FDE (3s) | CL-NR Score | CL-R Score |
Single-3s | 0.5788 | 0.7087 | 0.7044 |
Single-8s | 0.5635 | 0.7799 | 0.7558 |
DTPP (Ours) | 0.6830 | 0.8964 | 0.8978 |
V结论
我们提出了 DTPP,这是一种用于预测和成本建模的可微联合学习框架,专门为树策略规划器设计。 我们的预测模型是一个以查询为中心的 Transformer 网络,具有高效的自我调节能力。 成本模型将学习和手工制作的特征与学习的上下文感知权重结合起来。 对现实世界驾驶数据进行规划和预测的实验结果表明,我们的预测模型具有显着更好的性能和效率。 联合训练对于实现最佳规划性能至关重要,我们的基于树的规划器显着优于单阶段轨迹规划。 未来的工作可能会将我们的框架扩展到多模态概率预测并进行现实世界的实验。
上一篇
动手学控制理论
下一篇
端到端-理论与实战视频课程
Loading...