论文链接: https://arxiv.org/pdf/2303.05760.pdf
💡摘要
在复杂的现实环境中运行的自动驾驶车辆需要准确预测交通参与者之间的交互行为。本文通过用层次博弈论来表述交互预测问题并提出 GameFormer 模型来解决它的实现。该模型结合了一个 Transformer 编码器,可以有效地模拟场景元素之间的关系,以及一个新颖的分层 Transformer 解码器结构。在每个解码级别,除了共享的环境上下文之外,解码器还利用前一级别的预测结果来迭代地完善交互过程。此外,我们提出了一个学习过程,可以调节当前级别的代理行为,以响应前一级别的其他代理的行为。通过对大规模现实世界驾驶数据集的综合实验,我们展示了我们的模型在 Waymo 交互预测任务上的最先进的准确性。此外,我们还验证了该模型在开环和闭环规划测试中联合推理自我代理的运动计划和多个代理的行为的能力,优于各种基线方法。此外,我们还评估了我们的模型在 nuPlan 规划基准上的有效性,它取得了领先的性能。项目网站:https://mczhi.github.io/GameFormer/
📉Introduction
准确预测周围交通参与者的未来行为并做出安全且与社会兼容的决策对于现代自动驾驶系统至关重要。然而,由于道路结构、交通规范和道路使用者之间的相互作用所产生的复杂性,这项任务极具挑战性[14,23,24]。近年来,基于深度神经网络的方法在预测精度和可扩展性方面显示出显着的进步[7,11,15,22,40]。特别是,变形金刚在运动预测中获得了突出的地位[25,31,32,35,45,47],因为它们在处理来自驾驶场景的异构信息方面具有灵活性和有效性,并且能够捕获场景元素之间的相互关系。
尽管现有的预测模型在编码驾驶场景和通过代理过去的轨迹表示交互方面取得了成功,但它们通常无法明确地模拟代理的未来交互以及他们与自动驾驶车辆(AV)的交互。这种限制导致自动驾驶汽车的规划模块对预测结果做出被动反应。然而,在并道、变道、无保护左转等危急情况下,自动驾驶汽车需要主动与其他智能体协调。因此,联合预测和规划对于实现更具交互性和人性化的决策是必要的。为了解决这个问题,一种典型的方法是最近提出的条件预测模型[17,34,36,37,39],它利用自动驾驶汽车的内部计划来预测其他智能体对自动驾驶汽车的响应。尽管条件预测模型缓解了交互问题,但这种单向交互仍然忽略了自动驾驶汽车和其他道路使用者之间的动态相互影响。从博弈论的角度来看,当前的预测/规划模型可以被视为领导者-追随者博弈,代理之间的交互水平有限。
在本研究中,我们利用分层博弈论框架(k 级博弈论)[5, 42] 来建模各种代理之间的交互[27,28,41],并引入一种名为 GameFormer 的新型基于 Transformer 的预测模型。源于认知科学的见解,levelk 博弈论提供了一种结构化方法来建模代理之间的交互。该理论的核心引入了由 k 表示的推理深度层次结构。 0 级智能体独立行动,不考虑其他智能体可能采取的行动。当我们向上移动层次结构时,1 级代理通过假设其他代理为 0 级来考虑交互,并相应地预测它们的操作。这个过程迭代地继续,其中 k 级代理预测其他人的行为,假设他们是(k−1)级,并根据这些预测做出响应。通过考虑智能体的推理水平和显式交互,我们的模型符合 k 级博弈论的精神。
如图 1 所示,我们最初使用 Transformer 编码器将驾驶场景编码为背景信息,包括矢量化地图和观察到的代理状态。在未来的解码阶段,我们遵循k级博弈论来设计结构。具体来说,我们设置了一系列 Transformer 解码器来实现 k 级推理。 0 级解码器仅使用初始模态查询和编码场景上下文作为键和值来预测代理的多模态未来轨迹。然后,在每次迭代 k 时,k 级解码器将(k−1)级解码器的预测轨迹以及背景信息作为输入,以预测当前级别的智能体轨迹。此外,我们设计了一个学习过程,可以调节智能体的轨迹,以响应上一级其他智能体的轨迹,同时也保持接近人类驾驶数据。本文的主要贡献总结如下:
1.我们提出GameFormer,一个基于Transformer的交互式预测和规划框架。该模型采用分层解码结构来捕获代理交互,迭代地细化预测,并基于 k 级游戏形式进行训练。
2. 我们在 Waymo 交互预测基准上展示了 GameFormer 模型最先进的预测性能。
3. 我们使用 Waymo 开放运动数据集和 nuPlan 规划基准验证 GameFormer 框架在开环驾驶场景和闭环模拟中的规划性能。
图 1. 代理交互的分层博弈论建模。代理和地图的历史状态被编码为背景信息;根据初始模态查询独立预测 0 级智能体的未来; k 级代理响应所有其他 (k − 1) 级代理。
❓Related Work
2.1 轨迹预测
神经网络模型通过编码上下文场景信息在运动预测方面表现出了显着的有效性。早期研究利用长短期记忆 (LSTM) 网络 [1] 对智能体过去的状态进行编码,并利用卷积神经网络 (CNN) 处理场景的光栅化图像 [7,12,21,34]。为了对代理之间的交互进行建模,图神经网络(GNN)[4,13,20,30]被广泛用于通过场景或交互图来表示代理交互。最近,用于运动预测的统一 Transformer 编码器-解码器结构越来越受欢迎,例如 SceneTransformer [32] 和 WayFormer [31],由于其紧凑的模型描述和卓越的性能。然而,大多数基于 Transformer 的预测模型都专注于编码部分,而较少重视解码部分。 Motion Transformer [35] 通过提出一个精心设计的解码阶段来解决这一限制,该解码阶段利用迭代局部运动细化来提高预测精度。受迭代细化和分层博弈论的启发,我们的方法引入了一种新颖的基于 Transformer 的解码器用于交互预测,提供了一种明确的方法来建模代理之间的交互。
关于预测模型在规划任务中的利用,许多工作都集中在多智能体联合运动预测框架[14,24,30,38]上,该框架能够有效且一致地预测多模态多智能体轨迹。现有运动预测模型的一个固有问题是它们经常忽略自动驾驶汽车动作的影响,导致它们不适合下游规划任务。为了解决这个问题,通过将 AV 规划信息集成到预测过程中,提出了几种条件多智能体运动预测模型 [8,17,36]。然而,这些模型仍然表现出单向交互作用,忽略了代理之间的相互影响。相比之下,我们的方法旨在共同预测周围智能体的未来轨迹,并通过迭代交互建模促进 AV 规划。
2.2 Learning for Decision-making
运动预测模块的主要目标是使规划模块能够做出安全且智能的决策。这可以通过使用离线学习方法来实现,该方法可以从大规模驾驶数据集中学习决策策略。模仿学习是最流行的方法,旨在学习可以复制专家行为的驾驶策略 [19, 44]。离线强化学习[26]也引起了人们的兴趣,因为它结合了强化学习和收集的大型数据集的优点。然而,直接政策学习缺乏可解释性和安全保证,并且经常遭受分配变化。相比之下,使用学习的运动预测模型进行规划被认为更具可解释性和鲁棒性[3,6,18,46],使其成为自动驾驶更理想的方式。我们提出的方法旨在增强预测模型的能力,从而提高交互式决策性能。
📚GameFormer
我们介绍了我们的交互式预测和规划框架,称为 GameFormer,它采用 Transformer 编码器-解码器架构(见图 2)。在接下来的部分中,我们首先定义问题并讨论指导模型设计和学习过程的 k 级博弈论。 3.1.然后,我们在第 2 节中描述模型的编码器组件,该组件对场景上下文进行编码。 3.2 节中的解码器组件结合了新颖的交互建模概念。 3.3.最后,我们在第 2 节中介绍了解释不同推理级别之间相互作用的学习过程。 3.4.
图 2.我们提出的 GameFormer 框架概述。场景上下文编码是通过基于Transformer的编码器获得的; level-0解码器将模态嵌入和代理历史编码作为查询,并输出level-0未来轨迹和分数; k 级解码器使用自注意力模块对 (k − 1) 级未来交互进行建模,并将其附加到场景上下文编码中。
3.1 Game-theoretic Formulation
我们考虑一个有 N 个智能体的驾驶场景,其中 AV 表示为 A0,当前时间 t = 0 时其相邻智能体表示为 A1,···, AN−1。给定所有智能体(包括 AV)的历史状态在观察范围 Th, S = {s−Th:0 i } 以及包括交通灯和道路路点的地图信息 M 上,目标是联合预测相邻智能体 Y1:Tf 1:N− 的未来轨迹1 在未来地平线 Tf 上,以及 AV Y1:Tf 0 的计划轨迹。为了捕获不确定性,结果是 AV 和邻近智能体的多模态未来轨迹,表示为 Y1:Tf i = {y1:Tf j , pj|j = 1 : M },其中 y1:Tf j 是预测状态序列,pj 轨迹概率,M 模态数量。
我们利用 k 级博弈论以迭代方式对代理交互进行建模。我们不是简单地预测一组轨迹,而是预测轨迹层次结构来建模认知交互过程。在每个推理级别,除了 0 级之外,解码器将前一级别的预测结果作为输入,这有效地使它们成为场景的一部分,并估计当前级别中的代理对其他代理的响应。之前的水平。我们将智能体 i 在推理级别 k 的预测多模态轨迹(本质上是高斯混合模型)表示为 π(k) i ,这可以被视为该智能体的策略。策略 π(k) i 以除第 i 个智能体之外的所有其他智能体的策略为条件(级别 - (k − 1)),用 π(k−1) Øi 表示。例如,AV 在 2 级 π(2) 0 的策略将考虑所有相邻代理在 1 级 π(1) 1:N−1 的策略。形式上,第 i 个智能体的 k 级策略被设置为优化以下目标:
其中 L(·) 是损失(或成本)函数。值得注意的是,这里的策略 π 代表代理的多模态预测轨迹(GMM),并且损失函数是在轨迹级别上计算的。
对于 0 级策略,它们不考虑其他代理的可能行为或反应,而是独立行为。基于k级博弈论框架,我们设计了未来的解码器,我们将在3.3节中详细阐述。
3.2 场景编码
**输入表示。**输入数据包括智能体的历史状态信息 Sp ∈ RN×Th×ds ,其中 ds 表示状态属性的数量,以及局部矢量化地图折线 M ∈ RN×Nm×Np×dp 。对于每个智能体,我们找到 Nm 个附近的地图元素,例如路线和人行横道,每个元素包含具有 dp 属性的 Np 个航路点。输入根据自我代理的状态进行标准化,并且张量中任何缺失的位置都用零填充。
**代理历史编码。**我们使用 LSTM 网络对每个智能体的历史状态序列 Sp 进行编码,得到一个张量 Ap ∈ RN×D,其中包含所有智能体的过去特征。这里,D表示隐藏特征维度
**矢量化地图编码。**为了对所有智能体的局部地图折线进行编码,我们使用多层感知器(MLP)网络,该网络生成特征维度为 D 的地图特征张量 Mp ∈ RN×Nm×Np×D。然后,我们将路径点分组为相同的地图元素并使用最大池化来聚合它们的特征,从而减少地图标记的数量。得到的地图特征张量被重塑为 Mr ∈ RN×Nmr×D,其中 Nmr 表示聚合的地图元素的数量。
**关系编码。**我们将代理特征及其相应的局部地图特征连接起来,为每个代理创建一个代理场景上下文张量 Ci = [Ap, M i p] ∈ R(N+Nmr)×D。我们使用具有 E 层的 Transformer 编码器来捕获每个代理的上下文张量 Ci 中所有场景元素之间的关系。 Transformer编码器应用于所有代理,生成最终的场景上下文编码Cs ∈ RN×(N+Nmr)×D,它代表后续解码器网络的公共环境背景输入。
3.3 Future Decoding with Level-k Reasoning
**模态嵌入。**为了考虑未来的不确定性,我们需要初始化每个可能的未来的模态嵌入,作为对 0 级解码器的查询。这可以通过基于启发式的方法、可学习的初始查询[31]或通过数据驱动的方法[35]来实现。具体来说,生成一个可学习的初始模态嵌入张量 I ∈ RN×M×D,其中 M 表示未来模态的数量。
**0 级解码。**在 level-0 解码层中,使用多头交叉注意力 Transformer 模块,该模块将初始模态嵌入 I 和代理在最终场景上下文 Cs,Ap 中的历史编码的组合作为输入(通过膨胀模态) axis),得到 (Cs,Ap + I) ∈ RN×M×D 作为查询,场景上下文编码 Cs 作为键和值。将注意力应用于每个智能体的模态轴,并且在注意力层之后可以获得查询内容特征为ZL0 ∈ RN×M×D。两个 MLP 被附加到查询内容特征 ZL0 上,以解码预测未来 GL0 ∈ RN×M×Tf ×4 的 GMM 分量(对应于每个时间步的(μx,μy,log σx,log σy))以及这些的分数分量 PL0 ∈ RN×M×1。
**交互解码。**交互解码阶段包含对应于K个推理级别的K个解码层。在第 k 层 (k ≥ 1) 中,它接收来自第 (k − 1) 层的所有智能体轨迹 SLk−1 f∈ RN×M×Tf ×2 (GMM GLk−1 的平均值) )并使用时间轴上具有最大池化的 MLP 对轨迹进行编码,从而产生代理多模态未来轨迹编码 ALk−1 mf ∈ RN×M×D 的张量。然后,我们使用来自 level-(k − 1) 层 PLk−1 的预测分数在模态轴上应用加权平均池化,以获得代理未来特征 ALk−1 f ∈ RN×D。我们使用多头自注意力 Transformer 模块对代理未来轨迹 ALk−1 fi 之间的交互进行建模,并将所得交互特征与编码器部分的场景上下文编码连接起来。这产生了代理 i 的更新场景上下文编码,表示为 Ci Lk = [ALk−1 fi , Ci s] ∈ R(N+Nm+N)×D。我们采用多头交叉注意力 Transformer 模块,其查询内容特征来自 level-(k − 1) 层 Zi Lk−1 和代理未来特征 ALk−1 mf ,(Zi Lk−1 + Ai,Lk−1 mf ) ∈ RM×D 作为查询,更新的场景上下文编码 Ci Lk 作为键和值。我们使用屏蔽策略来防止代理从最后一层访问自己的未来信息。例如,智能体 A0 只能访问其他智能体 {A1,····,AN−1} 的未来交互特征。最后,交叉注意力模块 Zi Lk 生成的查询内容张量通过两个 MLP 来分别解码代理的 GMM 组件和分数。图3示出了k级交互解码器的详细结构。请注意,我们为所有智能体共享 k 级解码器,以生成该级别的多智能体轨迹。在交互解码的最后一级,我们可以获得 AV 和邻近代理 GLK 的多模态轨迹,以及它们的分数 PLK 。
图 3. k 级交互解码器的详细结构。
3.4 Learning Process
我们提出了一个学习过程,使用 k 级博弈论形式来训练我们的模型。首先,我们采用模仿损失作为主要损失来规范智能体的行为,这可以被视为交通法规和驾驶风格等因素的替代。智能体的未来行为被建模为高斯混合模型 (GMM),其中时间步 t 处的每个模式 m 由 (x, y) 坐标上的高斯分布来描述,以平均值 μtm 和协方差 σt m 为特征。模仿损失是使用每个时间步长的最佳预测分量 m*(最接近真实情况)的负对数似然损失来计算的,如下所示:
负对数似然损失函数LNLL定义如下:
其中 dx = sx − μx 且 dy = sy − μy,(sx, sy) 是真实位置; pm*是所选分量的概率,我们在实践中使用交叉熵损失。
对于 k 级代理 A(k) i ,我们受先前作品 [4,16,29] 的启发,设计了一个辅助损失函数,该函数考虑了代理与其他人的交互。代理交互的安全性至关重要,我们使用交互损失(仅适用于解码级别 k ≥ 1)来鼓励代理避免与其他级别(k − 1)代理的未来可能轨迹发生碰撞。具体来说,我们在交互损失中使用排斥势场来阻止智能体的未来轨迹过于接近任何其他级别的任何可能轨迹 - (k − 1) 智能体 A(k−1) Øi 。交互损失定义如下:
其中 d(·,·) 是未来状态((x, y) 位置)之间的 L2 距离,m 是智能体 i 的模式,n 是级别 (k − 1) 智能体 j 的模式。为了确保仅在近距离内激活排斥力,引入了安全裕度,这意味着损失仅适用于距离小于阈值的相互作用对。
k 级智能体 i 的总损失函数是模仿损失和交互损失的加权和。
其中 w1 和 w2 是平衡两个损失项影响的权重因子。
❗Experimment
4.1 Experimental Setup
数据集。我们为不同的评估目的设置了两种不同的模型变体。面向预测的模型使用 Waymo 开放运动数据集 (WOMD) [9] 进行训练和评估,专门解决预测两个交互代理的联合轨迹的任务。对于规划任务,我们在具有选定交互场景的 WOMD 和具有综合评估基准的 nuPlan 数据集 [2] 上训练和测试模型。
**面向预测的模型。**我们采用 WOMD 交互预测任务的设置,其中模型预测未来 8 秒内两个交互智能体的联合未来位置。场景中的相邻智能体将作为编码阶段的背景信息,而仅预测两个标记的交互智能体的联合未来轨迹。该模型在整个 WOMD 训练数据集上进行训练,我们采用官方评估指标,包括最小平均位移误差 (minADE)、最小最终位移误差 (minFDE)、缺失率和平均平均精度 (mAP)。我们研究了两种不同的预测模型设置。首先,我们考虑联合预测设置,其中仅预测两个智能体的 M = 6 个联合轨迹[32]。其次,我们检查边际预测设置并训练我们的模型来预测交互对中每个代理的 M = 64 边际轨迹。在推理过程中,采用 MultiPath++ [40] 中提出的 EM 方法为每个智能体生成一组 6 个边缘轨迹,从中为这两个智能体选择前 6 个联合预测。
**以规划为导向的模式。**我们引入了另一种专为规划任务而设计的模型变体。具体来说,该变体考虑了 AV 周围的多个相邻智能体并预测它们未来的轨迹。该模型在两个数据集上进行训练和测试:WOMD 和 nuPlan。对于 WOMD,我们随机选择 10,000 个 20 秒场景,其中 9,000 个用于训练,其余 1,000 个用于验证。然后,我们在开环和闭环设置下评估模型在 400 个 9 秒交互式动态场景(例如变道、并道和左转)上的联合预测和规划性能。为了进行闭环测试,我们利用日志重放模拟器 [18] 来重放涉及其他代理的原始场景,并由我们的规划器控制 AV。在开环测试中,我们采用基于距离的误差指标,其中包括规划 ADE、碰撞率、错过率和预测 ADE。在闭环测试中,我们重点通过测量成功率(无碰撞或偏离路线)、沿路线进度、纵向加速度和加加速度、横向加速度和位置误差等指标来评估规划器在现实驾驶环境中的表现。对于nuPlan数据集,我们设计了一个全面的规划框架,并遵循nuPlan挑战设置来评估规划性能。具体来说,我们评估规划器在三个任务中的表现:开环规划、使用非反应性代理的闭环规划以及使用反应性代理的闭环规划。这些任务使用 nuPlan 平台提供的一套全面的指标进行评估,并根据这些任务得出总体分数。补充材料中提供了有关我们模型的更多信息。
4.2 主要预测结果
4.2.1 Interaction Prediction
在面向预测的模型中,我们使用一堆 E = 6 Transformer 编码器层,隐藏特征维度设置为 D = 256。我们将两个交互代理周围的 20 个相邻代理视为背景信息,并采用 K = 6 解码层。该模型仅生成两个标记的相互作用主体的轨迹。此外,每个代理的局部地图元素包括可能的车道折线和人行横道折线。
定量结果。表 1 总结了我们的模型与 WOMD 交互预测(两个交互代理的联合预测)基准上最先进的方法的预测性能。这些指标是不同对象类型(车辆、行人和骑自行车者)和评估时间(3、5 和 8 秒)的平均值。我们的联合预测模型(GameFormer (J, M =6))在位置误差方面优于现有方法。这可以归因于其通过迭代过程捕获代理之间未来交互并以场景一致的方式预测未来轨迹的卓越能力。然而,如果不预测一组过于完整的轨迹和聚合,联合模型的评分性能就会受到限制。为了缓解这个问题,我们采用带有 EM 聚合的边际预测模型 (GameFormer (M, M =64)),这显着提高了评分性能(更好的 mAP 指标)。我们的边际模型的整体性能与集成模型和更复杂的 MTR 模型[35]相当。然而,值得注意的是,边缘集成模型由于其巨大的计算负担,可能不适用于现实世界的应用。因此,我们利用联合预测模型来规划测试,该模型可以提供更好的预测精度和计算效率。
定性结果。图 4 说明了我们的方法在几种典型场景中的交互预测性能。在车辆与车辆交互场景中,我们的模型捕获了两种不同的情况:车辆 2 在十字路口加速以取得优先权,车辆 2 给车辆 1 让路。在这两种情况下,我们的模型都预测车辆 1 缓慢向前观察车辆 2 在执行左转之前的动作。在车辆-行人场景中,我们的模型预测车辆将停下来等待行人通过,然后再开始移动。在车辆与骑车人交互场景中,车辆打算并入右车道,我们的模型预测车辆将减速并跟随在该车道上的骑车人后面。总的来说,结果表明我们的模型可以捕获交互代理的多种交互模式并准确预测它们可能的共同未来。
图 4.所提出的方法在交互预测(两个交互主体的多模态联合预测)中的定性结果。红色框是用于预测的交互代理,洋红色框是背景相邻代理。
4.2.2 开环规划
我们首先在选定的 WOMD 场景中进行规划测试,预测/规划范围为 5 秒。该模型使用一堆 E = 6 Transformer 编码器层,我们考虑最接近自我车辆的 10 个相邻代理来预测它们的 M = 6 个联合未来轨迹。
确定解码级别。为了确定规划的最佳推理级别,我们分析了解码层对开环规划性能的影响,结果如表 2 所示。虽然规划 ADE 和预测 ADE 在增加解码层后表现出轻微下降,当解码级别为 4 时,丢失率和冲突率最低。这一观察背后的直觉是,人类只能执行有限深度的推理,而根据经验,在此测试中最佳迭代深度似乎是 4。
定量结果。我们的联合预测和规划模型采用 4 个解码层,最终解码层的结果(经过训练的评分器评估的最有可能的未来)被用作 AV 的计划和其他智能体的预测。我们建立了一些基于模仿学习的规划方法作为基线,它们是:1)普通模仿学习(IL),2)深度模仿模型(DIM)[33],3)MultiPath++[40](预测多模态轨迹)自我代理),4)MTR-e2e(具有可学习运动查询的端到端变体)[35],以及5)可微集成预测和规划(DIPP)[18]。表 3 报告了我们模型与基线方法相比的开环规划性能。结果表明,我们的模型的表现明显优于普通 IL 和 DIM,因为它们只是被训练来输出自我的轨迹,而没有明确预测其他智能体的未来行为。与高性能运动预测模型(MultiPath++ 和 MTR-e2e)相比,我们的模型还显示了更好的自我代理规划指标。此外,我们的模型在规划和预测指标方面都优于 DIPP(联合预测和规划方法),尤其是碰撞率。这些结果强调了我们模型的优势,该模型明确考虑了所有代理的未来行为并迭代地完善了交互过程。
定性结果。图 5 显示了我们的模型在复杂驾驶场景中的开环规划性能的定性结果。为了清楚起见,仅显示代理最有可能的轨迹。这些结果表明,我们的模型可以为 AV 生成合理的未来轨迹并处理不同的交互场景,并且对周围智能体的预测增强了我们的规划模型输出的可解释性。
图 5. 所提出的方法在开环规划中的定性结果。红色框是 AV,洋红色框是其相邻代理;红色轨迹是 AV 的计划,蓝色轨迹是邻近智能体的预测。
4.2.3 闭环规划
我们评估了模型在选定的 WOMD 场景中的闭环规划性能。在模拟环境中[18],我们执行模型生成的计划轨迹,并在每个时间步更新自我代理的状态,而其他代理则遵循数据集中记录的轨迹。由于其他代理不会对自我代理做出反应,因此成功率是安全评估的下限。对于基于规划的方法(DIPP 和我们提出的方法),我们将输出轨迹投影到参考路径上,以确保自我车辆遵守道路。此外,我们采用基于成本的细化规划器[18],它利用初始输出轨迹和其他智能体的预测轨迹来明确调节自我智能体的行为。我们的方法与四种基线方法进行了比较:1)普通 IL,2)鲁棒模仿规划(RIP)[10],3)保守 Q 学习(CQL)[26]和 4)DIPP [18]。我们报告了三次训练运行(使用不同种子训练的模型)中基于规划的方法的平均值和标准差。闭环测试的定量结果总结在表 4 中。结果表明,IL 和离线 RL 方法在闭环测试中表现不佳,这主要是由于分布变化和偶然混淆造成的。相比之下,基于规划的方法在所有指标上的表现都明显更好。如果没有细化步骤,我们的模型优于 DIPP,因为它更有效地捕获代理交互,因此原始轨迹更接近专家驾驶员。通过细化步骤,规划器对于训练种子变得更加稳健,并且我们的方法超越了 DIPP,因为它可以提供更好的智能体交互预测,并为细化规划器提供良好的初始计划。
4.2.4 nuPlan 基准评估
为了在 nuPlan 平台 [2] 中处理不同的驾驶场景,我们开发了一个全面的规划框架 GameFormer Planner。它完成了规划流程中的所有重要步骤,包括特征处理、路径规划、模型查询和运动细化。我们将预测和规划范围增加到 8 秒以满足基准要求。评估通过三个任务进行:开环 (OL) 规划、使用非反应性代理的闭环 (CL) 规划以及使用反应性代理的闭环规划。每个单独任务的分数是使用各种指标和评分函数计算的,并且通过汇总这些特定于任务的分数获得总体分数。值得注意的是,由于测试服务器上的计算资源有限,我们减小了模型(编码器和解码器层)的大小。我们的模型在 nuPlan 测试基准上的性能如表 5 所示,与其他基于学习的竞争方法和基于规则的方法 (IDM Planner) 进行了比较。结果揭示了我们的规划框架在评估任务中实现高质量规划结果的能力。此外,闭环可视化结果说明了我们的模型促进自我车辆做出交互式和类人决策的能力。
4.3 消融实验
**代理未来建模的影响。**我们研究了 WOMD 场景中不同代理未来建模设置对开环规划性能的影响。我们将我们的基本模型与三个消融模型进行比较:1)没有未来:来自前一级别的智能体未来轨迹未纳入当前级别的解码过程中,2)无自注意力:智能体未来轨迹被纳入但不通过以下方式进行处理:自注意力模块,以及 3) 无交互损失:模型在没有建议的交互损失的情况下进行训练。结果如表 6 所示,表明我们的博弈论方法可以显着提高规划和预测的准确性。它强调了利用上一级别的代理的未来轨迹作为当前级别的上下文信息的优势。此外,合并一个自注意力模块来表示代理之间未来的交互可以提高规划预测的准确性。在训练期间使用所提出的交互损失可以显着降低碰撞率。
**解码器结构的影响。**我们研究了 WOMD 场景中解码器结构对开环规划任务的影响。具体来说,我们检查了两个消融模型。首先,我们评估合并 k 个独立解码器层的重要性,而不是训练单个共享交互解码器并迭代应用它 k 次。其次,我们探讨将解码器简化为不生成中间状态的多层 Transformer 的影响。这意味着将损失仅应用于最终解码层,而不是所有中间层。表 7 中的结果表明基础模型(具有中间轨迹的独立解码层)具有更好的开环规划性能。这种设计允许每一层捕获不同级别的关系,从而促进分层建模。此外,省略中间轨迹输出会降低模型的性能,这凸显了规范中间状态输出的必要性。
**交互预测任务的消融结果。**我们研究了解码器对 WOMD 交互预测任务的影响。具体来说,我们将解码级别从 0 更改为 8,以确定此任务的最佳解码级别。此外,我们从解码器中删除代理未来编码部分或自注意力模块(用于建模代理未来交互)以研究它们对预测性能的影响。我们使用相同的训练集训练消融模型,并评估它们在验证集上的性能。表 8 中的结果表明,对于交互预测任务,根据经验,最佳解码层数为 6。很明显,较少的解码层无法充分捕获交互动态,导致预测性能不佳。然而,使用超过 6 个解码层可能会引入训练不稳定和过度拟合问题,从而导致测试性能变差。同样,我们发现结合预测的智能体未来信息对于实现良好的性能至关重要,并且使用自注意力对智能体未来之间的交互进行建模也可以提高预测准确性。
⛏️Conclusion
本文介绍了 GameFormer,这是一种基于 Transformer 的模型,利用分层博弈论进行交互式预测和规划。我们提出的方法在 Transformer 预测模型中结合了新颖的 k 级交互解码器,迭代地细化交互代理的未来轨迹。我们还实现了一个学习过程,根据上一级的预测结果来调节代理的预测行为。 Waymo 开放运动数据集上的实验结果表明,我们的模型在交互预测方面实现了最先进的准确性,并且在开环和闭环规划测试中均优于基线方法。此外,我们提出的规划框架在 nuPlan 规划基准上提供了领先的性能。
📝Supplementary Material
A. Experiment Details
A.1 Prediction-oriented Model
**模型输入。**在每个场景中,两个交互代理之一被指定为焦点代理,其当前状态作为坐标系的原点。我们将距离目标智能体最近的 10 个周围智能体视为背景智能体,因此,需要预测两个目标智能体,并且场景中最多有 20 个不同的背景智能体。以 10Hz 的采样率检索每个智能体最后一秒的当前状态和历史状态,从而为每个智能体生成形状为 (22 × 11) 的张量。每个时间步的状态包括智能体的位置(x,y),航向角(θ),速度(vx,vy),边界框大小(L,W,H)和智能体的one-hot类别编码(总共三种)。每个智能体的所有历史状态被聚合成一个固定形状的张量(22×11×11),缺失的智能体状态用零填充,以形成历史智能体状态的输入张量。
对于每个目标智能体,使用道路图上的深度优先搜索来识别智能体可以行驶的最多 6 条可行驶车道(每条延伸 100 米),以及附近的 4 个人行横道作为本地地图上下文,每个地图向量包含 100航路点。可行驶车道中路点的特征包括中心线、左边界和右边界的位置和航向角、速度限制以及车道类型、红绿灯状态和停车标志等离散属性。人行横道折线中路点的特征仅包含位置和航向角。因此,目标代理的局部地图上下文包含两个张量:形状为 (6 × 100 × 15) 的可行驶车道和形状为 (4 × 100 × 3) 的人行横道。
**编码器结构。**在编码器部分,我们利用两个独立的 LSTM 分别对目标代理和背景代理的历史状态进行编码,从而产生一个形状为 (22 × 256) 的张量,其中包含所有代理的历史状态序列。本地地图上下文编码器由用于处理可行驶车道的车道编码器和用于人行横道折线的人行横道编码器组成。车道编码器采用MLP对数值特征进行编码,并使用嵌入层对离散特征进行编码,输出形状为(2×6×100×256)的编码车道向量张量,而人行横道编码器使用MLP对数值特征进行编码,从而得到形状为 (2 × 4 × 100 × 256) 的人行横道向量张量。随后,我们利用最大池化层(步长为 10)来聚合编码车道张量中可行驶车道的路点,产生形状为 (2 × 6 × 10 × 256) 的张量,该张量被重塑为 ( 2×60×256)。类似地,使用步长为 20 的最大池化层处理编码的人行横道张量,以获得形状为 (2 × 20 × 256) 的张量。这两个张量连接起来生成形状为 (2 × 80 × 256) 的编码局部地图上下文张量。对于每个目标智能体,我们将其本地地图上下文张量与所有智能体的历史状态张量连接起来,以获得维度为(102×256)的场景上下文张量,并使用自注意力 Transformer 编码器层来提取各个智能体之间的关系场景中的元素。值得注意的是,场景上下文张量中的无效位置在注意力计算中被屏蔽。
**解码器结构。**对于 M = 6 联合预测模型,我们采用形状为 (2 × 6 × 256) 的可学习潜在模态嵌入。对于每个智能体,0级解码器中的查询(6×256)是通过对目标智能体的历史编码及其相应的潜在模态嵌入求和而获得的;值和键由编码器从场景上下文中导出。 0 级解码器使用来自注意力输出的 MLP 生成具有 x 和 y 坐标的目标代理的多模态未来轨迹。每个轨迹的分数由另一个形状为 (6 × 1) 的 MLP 解码。在 levelk 解码器中,我们使用跨不同层的共享未来编码器(包括 MLP 和最大池层)将前一层的未来轨迹编码为形状为 (6 × 256) 的张量。接下来,我们使用轨迹分数对编码轨迹进行平均池化,从而得到代理的编码未来。然后,两个目标代理的编码未来被输入到自注意力 Transformer 层中,以对它们未来的交互进行建模。最后,Transformer 层的输出被附加到从编码器获得的场景上下文中。
对于 M = 64 边缘预测模型,我们使用一组用 MLP 编码的 64 个固定意图点来创建形状为 (2 × 64 × 256) 的模态嵌入。该模态嵌入用作 0 级解码器的查询输入。固定意图点是通过K-means方法从训练数据集中获得的。对于每个场景,两个目标代理的意图点根据焦点代理的坐标系进行标准化。解码器的其他组件与联合预测模型中使用的组件相同。
**训练。**在训练数据集中,每个场景包含多个要预测的智能体轨迹,我们将每个轨迹依次视为焦点智能体,同时选择与焦点智能体最接近 1 的轨迹作为交互智能体。任务是预测这两个智能体未来六种可能的联合轨迹。我们在每个级别仅采用模仿损失来提高预测精度和训练效率。
在联合预测模型中,我们的目标是预测两个智能体的联合和场景级未来轨迹。因此,我们通过最接近地面实况的两个智能体的联合未来轨迹来反向传播损失(即具有最小的位移误差总和)。在边际预测模型中,我们通过正 GMM 分量将模仿损失反向传播到个体代理,该正 GMM 分量对应于距真实轨迹端点最近的意图点。
我们的模型使用 AdamW 优化器进行了 30 轮训练,权重衰减为 0.01。学习率从 1e-4 开始,在 15 个 epoch 后每 3 个 epoch 衰减 0.5 倍。我们还对网络参数的梯度范数进行了裁剪,梯度的最大范数为 5。我们使用 4 个 NVIDIA Tesla V100 GPU 训练模型,每个 GPU 的批量大小为 64。
**测试。**测试数据集包含三种类型的主体:车辆、行人和骑自行车的人。对于车辆与车辆的交互,我们随机选择两辆车之一作为焦点代理。对于其他类型的交互对(例如,骑自行车者-车辆和行人-车辆),我们将骑自行车者或行人视为焦点代理。对于边际预测模型,我们采用期望最大化(EM)方法来聚合每个智能体的轨迹。具体来说,我们使用 EM 方法从每个智能体预测的 64 条轨迹中获取 6 条边际轨迹(及其概率)。然后,我们考虑两个智能体 36 种可能组合中的前 6 个联合预测,其中每个组合的置信度是边际概率的乘积。
A.2 Planning-oriented Model
**模型输入。**在每个场景中,我们考虑 AV 和周围 10 个智能体来对 AV 进行规划并为其他智能体进行预测。 AV的当前状态是局部坐标系的原点。提取过去两秒内所有智能体的历史状态;对于每个代理,我们找到其附近的 6 个可行驶车道和 4 个人行横道。此外,我们从 AV 的地面真实未来轨迹中提取其经过的车道路点,并使用三次样条来插入这些路点以生成 AV 的参考路线。参考路线在AV前方延伸100米,包含1000个间隔0.1米的航路点。它被表示为形状为 (1000 × 5) 的张量。除了位置和航向之外,参考路线张量还包含有关速度限制和停止点的信息。
**模型结构。**对于每个智能体,其场景上下文张量被创建为所有智能体的历史状态和编码的本地地图元素的串联,从而产生形状为 (91 × 256) 的张量。在解码阶段,大小为 (11 × 6 × 256) 的可学习模态嵌入和代理的历史编码用作 0 级解码器的输入,该解码器输出六个可能的轨迹以及相应的分数。在 k 级解码器中,所有代理的未来编码都是通过大小为(11×256)的自注意力模块获得的,并与来自编码器的场景上下文张量连接起来。此串联生成形状为 (102 × 256) 的更新场景上下文张量。当在当前级别解码代理的未来轨迹时,场景上下文张量中该代理的未来编码被屏蔽,以避免使用其先前预测的未来信息。
**训练。**在数据处理中,我们过滤掉AV移动距离小于5米的场景(例如红灯停车时)。类似地,我们进行联合未来预测,并通过最接近真实情况的联合未来计算模仿损失。模仿损失和交互损失的权重设置为 w1 = 1,w2 = 0.1。我们的模型使用 AdamW 优化器进行了 20 个时期的训练,权重衰减为 0.01。学习率初始化为 1e-4,并在第 10 个 epoch 之后每 2 个 epoch 降低 0.5 倍。我们使用 NVIDIA RTX 3080 GPU 训练模型,批量大小为 32。
**测试。**测试场景是从 WOMD 中提取的,其中自我代理显示动态驾驶行为。在开环测试中,我们检查 AV 的计划轨迹与其他智能体的真实未来轨迹之间的碰撞,如果最后一步 AV 的计划状态与真实状态之间的距离大于 4.5 米,我们将计算为未命中。规划误差和预测误差是根据模型评分的最可能轨迹计算的。在闭环测试中,AV在每个时间步以0.1秒的间隔规划轨迹,并执行规划的第一步。
A.3 Baseline Methods
为了比较模型性能,我们引入了以下基于学习的规划基线。
**Vanilla Imitation Learning (IL):**我们模型的简化版本,直接输出 AV 的计划轨迹,无需明确推理其他智能体的未来轨迹。该计划只是一个单模态轨迹。我们模型的原始编码器部分被利用,但只有一个解码器层与自我代理的历史编码作为查询用于解码 AV 的计划。
**深度模仿模型(DIM):**一种概率规划方法,旨在根据 AV 的观察者生成类似专家的未来轨迹 q (S1:T |φ) = QT t=1 q (St|S1:t−1, φ)变化 φ。我们遵循原始的开源DIM实现,并使用光栅化场景图像R200×200×3和AV的历史状态R11×5作为观察。我们使用 CNN 来编码场景图像,并使用 RNN 来编码代理的历史状态。 AV 的未来状态以自回归方式解码(作为多元高斯分布)。在测试中,DIM 需要一个特定的目标 G 来引导智能体达到目标,并且基于梯度的规划器最大化学习的模仿先验 log q (S|φ) 和测试时目标似然 log p(G|S, φ) )。
**鲁棒模仿规划(RIP):**一种基于 DIM 开发的认知不确定性感知规划方法,在分布外(OOD)场景中进行鲁棒规划时表现出良好的性能。具体来说,我们采用原始的开源实现,并在 d = 6 个经过训练的 DIM 模型中选择具有最坏似然思维日志 q (S1:T |φ) 的最坏情况模型,并使用基于梯度的规划器对其进行改进。
保守 Q 学习 (CQL):一种广泛使用的离线强化学习算法,可学习如何根据离线数据集做出决策。我们使用 d3rlpy 离线 RL 库2 实现 CQL 方法。 RL 智能体采用与 DIM 方法相同的状态输入,并输出相对于智能体当前位置的下一步目标姿态(Δx、Δy、Δθ)。奖励函数是每步移动的距离加上达到目标的额外奖励,即 rt = Δdt + 10 × 1 (d(st, sgoal) < 1)。由于数据集仅包含完美的驾驶数据,因此奖励函数中不包含碰撞惩罚。
可微集成预测和规划(DIPP):一种联合预测和规划方法,使用可微运动规划器根据预测结果优化轨迹。我们采用原始的开源实现和相同的状态输入设置。我们将历史范围增加到 20,并将预测模式的数量从 3 增加到 6。在开环测试中,我们利用 DIPP 预测网络的结果,而无需轨迹规划(细化)。
**MultiPath++:**一种高性能运动预测模型,基于异构场景元素和可学习的潜在锚嵌入的上下文感知融合。我们利用 MultiPath++3 的开源实现,在 WOMD 运动预测基准上实现了最先进的预测精度。我们使用相同的数据集训练模型来预测自我代理的 6 种可能的轨迹和相应的分数。在开环测试中,只有最有可能的轨迹将被用作自动驾驶汽车的规划。
**Motion Transformer (MTR)-e2e:**最先进的预测模型,在 WOMD 运动预测排行榜上占据第一名。我们遵循上下文编码器和 MTR 解码器的原始开源实现。然而,我们修改了解码器以使用 MTR 的端到端变体,它更适合开环规划任务。具体来说,仅使用 6 个可学习运动查询对来解码 6 个可能的轨迹和分数。使用相同的数据集来训练 MTR-e2e 模型,并根据 MTR 上下文输入处理数据。
A.4 细化规划
**逆动态模型。**为了将初始规划轨迹转换为控制动作 {at, δt}(即加速度和偏航率),我们利用以下逆动态模型。
其中 pt 是轨迹中的预测坐标,Δt 是时间间隔。
**动态模型。**为了从控制动作中导出坐标和航向 {pxt, pyt, θ},我们采用以下可微动态模型。
**运动规划器。**我们使用 DIPP 中提出的可微运动规划器来规划 AV 的轨迹。规划器将根据模型给出的规划轨迹导出的初始控制动作序列作为输入。我们将每个规划成本项 ci 表示为平方向量值残差,运动规划器旨在解决以下非线性最小二乘问题:
其中 u 是控制动作的序列,ωi 是成本 ci 的权重。
我们考虑了 DIPP 中提出的各种成本项,包括行驶速度、控制力(加速度和偏航率)、乘坐舒适度(加加速度和偏航率变化)、到参考线的距离、航向差以及成本违反交通灯的行为。最重要的是,安全成本考虑了所有其他智能体的预测状态并避免与它们发生碰撞,如 DIPP 所示。
我们使用高斯-牛顿方法来解决优化问题。最大迭代次数为 30,步长为 0.3。我们使用迭代过程中的最佳解决方案作为最终执行的计划。
学习成本函数权重。由于运动规划器是可微的,我们可以通过优化器的微分来学习成本项的权重。我们使用下面的模仿学习损失(平均位移误差和最终位移误差)来学习成本权重,并最小化成本值的总和。我们在运动规划器中将最大迭代次数设置为 3,将步长设置为 0.5。我们使用学习率为5e-4的Adam优化器来训练成本函数权重;批量大小为 32,训练总步数为 10,000。
其中 λ1 = 1、λ2 = 0.5、λ3 = 0.001 是权重。
A.5 GameFormer Planner
为了验证我们的模型在 nuPlan 基准4上的性能,我们开发了一个全面的规划框架来处理 nuPlan 中的实际驾驶场景。规划过程包括以下步骤: 1)特征处理:对观测缓冲区和地图API中的相关数据进行预处理,提取预测模型的输入特征; 2)路径规划:计算本车的候选路径,从中选择最优路径作为参考路径; 3)模型查询:查询预测模型以生成自我车辆的初始计划并预测周围智能体的轨迹; 4)轨迹细化:采用非线性优化器来细化本车在参考路径上的轨迹并产生最终计划。为了提高计算效率,我们使用 GameFormer 模型的紧凑版本,为其配置 3 个编码层和 3 个解码层(1 个初始解码层和 2 个交互解码层)。此外,我们在最后一个交互解码层之后引入了一个额外的解码层,以单独生成自我车辆的计划。然后将自我计划投影到参考路径上作为细化规划器的初始化。 GameFormer 模型的输出由周围智能体的多模态轨迹组成。对于每个相邻智能体,我们选择概率最高的轨迹,并使用 Frenet 变换将其投影到参考路径上,随后计算时空路径占用率。这份专门报告5对规划框架进行了全面的描述。
B. Additional Quantitative Results(额外的定量结果)
B.1 交互预测
表 S1 显示了我们的模型在 WOMD 交互预测基准上与 MTR 模型相比的每类别性能。 GameFormer 联合预测模型在所有对象类别中表现出最低的 minFDE,表明我们的模型和交互模式联合训练的优势。我们的 GameFormer 模型在自行车手类别中超越了 MTR,并在其他类别中实现了与 MTR 相当的性能,尽管其结构比 MTR 简单得多。
B.2 nuPlan Benchmark
表 S2 展示了我们的规划器和 DIPP 规划器之间的性能比较。对于基准评估,我们用DIPP模型替换了所提出的规划框架中的预测模型,框架的其他部分保持不变。结果表明,GameFormer 模型仍然优于 DIPP 模型,因为自我智能体的初始计划更好,而其他智能体的预测结果更好。
B.3 消融实验
**解码级别对闭环规划的影响。**我们使用成功率(无冲突)作为主要指标,研究了所选 WOMD 场景中解码级别对闭环规划性能的影响。我们还报告了闭环规划中预测网络(没有细化运动规划器)的推理时间,该预测网络在 NVIDIA RTX 3080 GPU 上执行。表S3中的结果表明,增加解码层数可能会带来更高的成功率,甚至添加单层交互建模也可以比level-0带来显着的改进。在闭环1测试中,成功率在解码级别2处达到稳定水平,而计算时间继续增加。因此,在我们的模型中使用两个推理级别可以在实际应用中提供性能和效率之间的有利平衡。
C. Additional Qualitative Results
C.1 Interaction Prediction
图 S1 展示了我们的 GameFormer 框架在交互预测任务中的额外定性结果,展示了我们的方法处理各种交互对和复杂的城市驾驶场景的能力。
C.2 Level-k Prediction
图S2说明了目标代理在不同交互水平下最有可能的关节轨迹。结果表明,我们提出的模型能够在迭代交互过程中细化预测结果。在 0 级,对目标代理的预测显得更加独立,可能导致轨迹碰撞。然而,通过迭代细化,我们的模型可以在更高的交互级别生成一致且类似人类的轨迹。
C.3 开环规划
图 S3 提供了我们的模型在开环规划任务中的额外定性结果,这显示了我们的模型联合规划 AV 轨迹并预测相邻智能体行为的能力。
C.4 Closed-loop Planning
我们通过项目网站上提供的视频可视化我们方法的闭环规划性能,包括来自 WOMD 和 nuPlan 数据集的交互式城市驾驶场景。