写在前面 && 笔者理解
自动驾驶模拟器在开发和验证驾驶系统中扮演着至关重要的角色,对于测试复杂行为、理解交互动态和确保对潜在故障的鲁棒性起着非常重要的作用,这可以帮助实现更加安全和可靠的自动驾驶系统。然而,现有的自动驾驶场景演化方法通常是专项的,例如地图生成、运动预测或轨迹规划。考虑到这些方法通常只关注一个特定的任务,目前还没有一个统一的框架将这些方面整合到一个整体模型中进行整体模拟。作者提出了一个统一的生成预训练驾驶(GPD-1)模型来统一这些元素。他们将地图、智能体和自我车辆编码为一组统一的token标记,使其能够将场景演化表述为场景标记的生成预测。
-
论文链接:https://arxiv.org/pdf/2412.08643
-
项目链接:https://wzzheng.net/GPD/
作者采用了自回归transformer架构,并使用场景级注意力掩码,以实现场景内双向交互,允许模型有效地捕获自我、智能体和地图标记之间的依赖关系。对于自我和智能体标记,作者提出了一个分层位置标记器,有效地编码BEV位置和航向。位置标记器将连续的智能体位置转换为离散标记,显著减少了特征空间中的噪声。对于地图标记,作者利用向量量化自编码器(VQ-VAE)将自我中心的语义地图压缩成离散标记。通过将地图信息表示为离散标记,消除了预测连续地图坐标的复杂性,简化了学习过程并增强了泛化能力。
为了展示作者的GPD-1模型的有效性,作者进行了一系列的挑战性实验,跨越了多种任务。如图1所示,作者的模型无需任何微调,就能够执行场景生成、交通模拟、闭环模拟和运动规划。再通过进一步的微调,GPD-1可以在下游任务上实现最先进的性能,特别是在nuPlan基准的运动规划任务上。
相关工作
离散标记在自动驾驶中的应用
对于自动驾驶而言,将复杂的空间布局以高效和可解释的方式捕获变得越来越流行。VQ-VAE引入了一个码本机制,构建了一个在离散潜在空间中的编码器-解码器架构,使得高维数据的更丰富、更紧凑的表示成为可能。VQ-VAE-2通过层次量化代码和自回归先验进一步增强了这一框架。沿着这个方向,像VQ-GAN、DALL-E和VQDiffusion这样的模型将输入映射到与码本条目对应的离散标记,允许简化但富有表现力的表示。最近在许多视觉预训练中的工作采用了类似的标记策略,使用标记来表示图像块,并预测掩蔽标记作为智能体任务,以增强模型的鲁棒性和多功能性。为了表示地图元素,最近关于地图重建和端到端驾驶的方法将每个地图元素编码成向量表示以进行建模,这忽略了场景级结构。作者将标记应用到基于BEV的自动驾驶场景中,并将地图特征编码成离散标记。作者的方法通过最小化空间噪声并为地图和智能体信息提供统一的结构,解决了BEV建模中的常见问题,如计算效率低下和表示不一致。
数据驱动的自动驾驶模拟技术
传统的模拟技术通常涉及重放记录的驾驶数据以模拟各种驾驶条件。例如,像nuPlan这样的传统模拟器严重依赖于广泛的驾驶日志来覆盖多样化的场景。然而,这些模拟需要大量的存储容量,使得它们资源密集且难以更广泛地获取。此外,这些基于模型的模拟器需要复杂的基于规则的模块来进行场景生成、智能体行为和渲染。为此,提出了数据驱动的模拟方法,用于传感器渲染、道路网络生成和智能体行为预测。例如,SLEDGE利用生成模型来模拟场景,使用紧凑的矢量化数据,实现了高效的存储使用,同时不影响场景多样性或复杂性。虽然有效,但它们缺乏在动态建模智能体与周围地图之间交互的适应性,限制了它们在反应性任务中的应用。不同地,作者的框架旨在通过整合一个能够进行场景演化的生成模型来弥补这一差距,从而允许交互式和灵活的场景生成,支持各种下游任务。
方法论
2D地图场景标记器
自动驾驶的一个关键方面是准确和高效地捕获环境的空间信息。为了实现这一点,作者采用了2D地图场景标记器,将复杂的基于向量的地图表示转换为离散标记,这些标记可以在生成框架内有效建模。这个标记器旨在将连续的空间特征简化为结构化、离散的格式,使作者的模型能够将地图信息与智能体和自我标记无缝结合。
地图向量光栅化
。地图数据由线条的向量表示组成,每个线条由多个点定义。直接编码这些向量存在挑战,因为向量格式内缺乏空间关系。为了解决这个问题,作者将地图向量光栅化到以自我车辆为中心的2D画布上,并且只表示立即可见的区域。这个光栅化的地图被表示为二进制图像
,其中插值的线段和背景区域被标记为1和0。
特征提取和量化
。为了高效表示地图数据,作者使用向量量化自编码器(VQ-VAE)将连续的地图特征转换为离散标记。光栅化的地图
首先通过ResNet-50编码成紧凑的特征
,其中
,
是下采样因子,
是特征维度。对于量化,作者引入了一个码本
,包含
个离散代码,每个代码捕获场景的高级特征。每个地图特征
在
中通过映射到
中最近的代码进行量化:
这里,
表示L2范数。这里,
表示量化函数,将连续的潜在向量
映射到码本
中的最近邻居,结果就是离散表示
。这些标记提供了地图信息的紧凑和一致的表示,并在降低模型复杂性的同时编码空间结构。
使用离散查询重建
。作者遵循DETR解码方法定义在SLEDGE中,将量化的地图标记解码成SLEDGE中概述的向量车道表示。为了对齐生成的和真实的地图线条,作者还采用匈牙利算法进行匹配,并使用与SLEDGE相同的监督损失设置,以确保准确的地图重建。地图标记器将基于向量的地图转换为紧凑的离散空间,编码关键的空间关系。这种表示促进了生成框架内动态场景元素的建模。
智能体标记器
在自动驾驶模拟中,准确表示场景中的动态智能体对于现实和连贯的场景生成至关重要。为了高效编码智能体数据,作者引入了一个分层位置标记器来捕获空间(2D位置)和角度(航向)信息。这个标记器使模型能够在减少特征空间的同时表示复杂的智能体动态。
多级量化
。每个智能体坐标,表示为一般变量
(例如,
,
或航向),在
个层次化的级别上进行多级量化,由一组阈值
表示,其中每个
表示特定的粒度规模。对于第一级,量化值
计算为:
对于级别
,量化是在考虑前一级之后的残差上执行的:
这种迭代量化确保每个级别都能逐渐捕获更精细的细节,专注于前一级未捕获的残差。结果是一组
个量化值
,每个值在不同精度级别上表示坐标。
位置嵌入
。量化后,作者为每个量化级别并入一个固定的正弦位置嵌入,捕获其在特征空间中的相对位置。这种正弦编码基于Transformers中引入的经典位置编码,它提供了空间上下文并保持离散嵌入空间内的位置关系。每个量化级别的嵌入定义为:
其中
是对应于量化值
的嵌入。最后,所有量化级别的位置嵌入
被连接形成每个坐标的最终位置编码向量:
其中
表示连接。这导致了一个全面的、多层次的智能体坐标
的表示,捕获了细微和粗略的空间细节。这种分层标记过程统一应用于
、
和航向值,为每个智能体提供了一种一致的方法来编码空间和角度信息。合并的嵌入然后通过MLP连接并映射到指定的模型维度。对于在可见区域之外的智能体,作者应用一组统一的可学习参数,允许模型自主学习未见智能体的表示。如图2所示的智能体标记器将智能体位置和航向转换为离散嵌入,实现了空间和角度关系的有结构表示。这种标记化减少了位置噪声,并在特征空间引入了一致性,提高了学习和预测智能体动态的能力。
场景建模的生成Transformer
在自动驾驶中,对整个场景的演化进行建模对于预测智能体之间的动态交互和理解未来结果至关重要。作者采用了自回归Transformer架构来处理场景建模,灵感来自GPT的顺序生成框架。作者的方法结合了场景级注意力掩码,允许每个帧内标记之间的双向交互,允许全面理解空间和时间关系,如图3所示。
每个场景,对应于单个帧,由固定数量的地图标记和智能体标记组成。地图标记来自2D地图场景标记器,作为通过VQ-VAE获得的离散潜在表示
,它们的数量由潜在空间的维度决定。智能体标记由智能体标记器产生,代表场景中的各个智能体,每个帧分配固定数量。
空间和时间嵌入
。为了向模型提供有关空间布局和时间进展的结构化信息,作者添加了可学习的空间和时间嵌入。空间嵌入将每个标记与其作为地图或智能体标记的角色相关联,确保模型理解场景中每个元素的不同功能。时间嵌入编码了帧之间的序列顺序,捕获了事件随时间的进展。这些嵌入允许模型保持一致的结构,其中每个帧由固定排列的地图和智能体标记组成,有助于理解跨帧的空间关系和时间依赖性。
场景级注意力掩码
。注意力机制使用场景级注意力掩码
,控制帧内和跨标记之间的交互。掩码
的尺寸为
,其中