OpenDriveVLA:通过大型视觉-语言-动作模型实现端到端自动驾驶

发布于:2025-04-07 ⋅ 阅读:(24) ⋅ 点赞:(0)

25年3月来自慕尼黑工大和慕尼黑大学的论文“OpenDriveVLA: Towards End-to-end Autonomous Driving with Large Vision Language Action Model”。

OpenDriveVLA,一种专为端到端自动驾驶而设计的视觉-语言-动作 (VLA) 模型。OpenDriveVLA 以开源预训练大型视觉-语言模型 (VLM) 为基础,以 3D 环境感知、自车状态和驾驶员命令为条件生成可靠的驾驶动作。为了弥合驾驶视觉表示和语言嵌入之间的模态差距,提出一个分层视觉-语言对齐过程,将 2D 和 3D 结构化视觉 token 投射到统一的语义空间中。此外,OpenDriveVLA 通过自回归智体-环境-自车的交互过程对自车、周围智体和静态道路元素之间的动态关系进行建模,确保在空间和行为上都知情的轨迹规划。在 nuScenes 数据集上进行的大量实验表明,OpenDriveVLA 在开环轨迹规划和驾驶相关问答任务中取得最先进的成果。定性分析,可以进一步说明: 在遵循高级驾驶命令和在具有挑战性的场景下,OpenDriveVLA 稳健地生成轨迹方面的卓越能力,凸显其在下一代端到端自动驾驶方面的潜力。

端到端学习框架已成为自动驾驶领域一个有前途的范例,可以在统一的神经网络中联合优化感知、预测和规划 [5, 54]。通过利用大规模驾驶数据,这些模型直接从原始传感器输入中学习驾驶策略,在各种驾驶场景中取得了令人瞩目的表现。尽管取得了显著的进展,现有的端到端驾驶方法仍然面临着严峻的挑战,特别是在长尾场景的泛化有限、对复杂驾驶场景中高级语义理解不足以及任务驱动规划的推理能力不灵活 [4]。与此同时,大型语言模型 (LLM) 和视觉语言模型 (VLM) 表现出强大的上下文学习、常识理解和零样本泛化能力。这些新兴能力凸显它们在自动驾驶领域的前景,特别是考虑到对各种现实世界驾驶条件下稳健场景理解的迫切需求 [28, 53]。

如图所示:利用 VLM 的端到端自动驾驶范式比较

请添加图片描述

然而,直接利用现有的 VLM 进行自动驾驶带来了根本性的挑战。首先,当前的 VLM 主要针对静态、2D 图像语言任务进行优化,导致动态 3D 驾驶环境中的空间推理性能较差 [34, 50]。此外,这些模型经常产生幻觉输出(不正确或过于自信的描述),这严重损害自动驾驶的安全性。受这些限制的启发,本文工作回答一个核心问题:如何利用 VLM 的新兴能力来产生可靠的驾驶动作,同时降低幻觉风险并平衡推理速度和规划效率?

为此,提出 OpenDriveVLA,这是一种专为端到端自动驾驶设计的视觉-语言-动作模型。其整体架构如图所示:

请添加图片描述

OpenDriveVLA 以预训练的视觉编码器开始,该编码器从多视图图像中提取 token 化的环境表示。然后通过跨模态学习将这些视觉 token 对齐到文本域中。对齐后,OpenDriveVLA 进行驾驶指令调整,然后进行智体-自我-环境的交互建模。最后,OpenDriveVLA 进行端到端训练,以预测自车的未来轨迹,由对齐的视觉-语言 token 和驾驶指令引导。

如下图是其多步训练进程:

请添加图片描述

3D 视觉环境感知

最近基于 VLM 的自动驾驶方法通常依赖于 2D 视觉编码器 [34, 50],其中视觉 token 选择和注意通过语言监督间接引导,往往以问答任务的形式出现。虽然在开放域视觉语言应用中有效,但这种设计缺乏明确的 3D 空间基础和结构化的目标级注意,这可能导致在安全-紧要驾驶场景中出现严重幻觉 [42]。为缓解这种情况,OpenDriveVLA 采用以视觉为中心的查询模块,其中模型首先通过 3D 视觉任务学习关注与驾驶相关的目标和地图 token,从而确保可靠的视觉 token 提议。

分层视觉-语言对齐

为了弥合提取的视觉token与预训练 LLM 词嵌入空间之间的模态差距,采用分层的视觉-语言特征对齐策略。给定从 3D 视觉感知模块提取的视觉 token,引入三个特定于 token 的投影器 {Φ_scene,Φ_agent,Φ_map}。在训练期间,来自 3D 检测和跟踪任务的每个活动智体查询(表示为 vi_agent)也会与其对应的真实字幕 X^i_agent 匹配。这些字幕提供详细的描述,包括 2D 外观描述和 3D 空间位置。对于编码整体空间上下文和静态结构属性的场景和地图token,应用逐样本的对齐,其中每个 token 都与场景级字幕 X_scene 或 X_map 匹配。场景 token v_scene 捕获全局 2D 环境上下文,而地图 token v_map 编码结构元素,例如车道拓扑、道路边界和可驾驶区域。每个 token 都与其对应的字幕对齐,表示为 X_scene 和 X_map。在此阶段,视觉编码器和预训练的 LLM 都保持冻结,只有特定于token的投影器才可训练。
为了将高级驾驶知识嵌入到 Open-DriveVLA 中并增强其推理能力,在训练过程中引入专门的驾驶指令调整阶段。不会在推理时执行显式的思维链 (CoT) 推理(这会显著增加延迟),而是通过监督指令调整将必要的驾驶知识蒸馏到模型中,以实现推理速度和推理效率之间的权衡。

在调整过程中,使用精选的驾驶指令 QA 数据集将来自语言领域的驾驶知识注入模型。该数据集涵盖广泛的驾驶相关推理,包括感知理解、运动预测、注意分配、动作推理和高级决策。通过对这组多样化的驾驶查询进行训练,Open-DriveVLA 学会将驾驶场景上下文化、遵循命令并生成基于语义和行为的规划决策。将调整数据表示为指令-响应对 {X_input,X_answer},其中 X_input = (V_env, S_ego, X_query)。这里,X_query 表示与驾驶相关的问题,S_ego 编码文本自车状态。给定此多模态输入,LLM 自回归学习生成目标响应。在指令调整期间,视觉编码器保持冻结,而特定于 token 的投影器和 LLM 设置为可训练。

智体-环境-自我的交互

自动驾驶中可靠的轨迹规划需要基于空间的环境 3D 表示。除了感知之外,它还必须了解自车与周围智体之间的动态交互。有效的交互建模,对于确保规划的轨迹在现实世界的驾驶约束下既可行又无碰撞至关重要。然而,现有的预训练 LLM 缺乏对 3D 驾驶场景中空间推理的固有归纳偏差,因为它们主要在 2D 视觉语言和基于文本的数据集上进行训练。为了解决这一限制,引入一个条件智体运动预测任务,它作为 3D 智体-环境-自我交互建模的智体任务,允许模型学习基于空间的运动模式。在此阶段,OpenDriveVLA 捕获多智体动态的底层结构,增强其场景感知轨迹生成能力并改善复杂交通场景中的决策。

给定场景和地图 token 以及自车状态 S_ego,LLM 根据其投影视觉嵌入 Φ_agent(vi_agent) 预测每个检测智体的未来运动。智体 a_i 的未来运动,表示为一系列航路点 W^i_a。预测轨迹取决于场景背景、地图结构和自车状态,使 OpenDriveVLA 能够推断交互感知和空间基础的运动序列。

这为 OpenDriveVLA 提供必要的空间先验,使其能够弥合高级语义推理和物理基础运动规划之间的差距。

端到端轨迹规划

在此阶段,OpenDriveVLA 将未来的驾驶行为规划为接下来几秒钟的一系列航路点,记为 W_ego = {w_1,w_2,…,w_T }。每个航路点 wt 代表时间步 t 时自车的 2D 坐标 (x_t , y_t )。为了使用 LLM 实现自回归生成,首先将航路点标记为一系列离散的文本 token:T_traj = Tokenizer(W_ego)。然后将生成过程转换为因果序列预测任务,其中每个 token 都根据视觉感知 token V_env、自我状态 S_ego 和驾驶命令 X_dri 进行预测。

整个模型,包括视觉编码器、跨模态投影器和 LLM,在训练期间进行端到端联合优化。在推理时,模型自回归生成 token 化轨迹 Tˆ_traj,然后将其解码回数值航路点。

对 nuScenes 数据集 [2] 进行实验,将标准数据分为训练集和验证集。OpenDriveVLA 使用训练集和相应的 QA 字幕进行训练,而验证集专门用于性能评估,以确保与之前的工作进行公平比较。在如下表中展示每个阶段的训练数据信息。

请添加图片描述

对于智体特征对齐,对来自 [20] 的实例字幕进行后处理,它提供了单个目标的 2D 视觉描述。为了进一步增强空间意识,每个目标字幕都增强了其相应的 BEV 坐标,使模型能够将目标属性与精确的空间位置相关联。对于场景token,我们处理来自 [46] 的多视图场景描述,将它们合并为统一的摘要,描述所有摄像机视图中的驾驶环境。对于地图 token,结构化语言描述来自真值注释,将车道分隔线、人行横道和道路边界等地图元素转换为描述性文本。

采用源自 nuScenes 多个面向指令的数据集,将驾驶特定知识整合到 OpenDriveVLA 中。将多个数据集统一为标准化的基于指令 QA 格式,包括从 nuCaption [46]、nuScenesQA [32] 和 nuX [8] 数据集收集的与驾驶相关的问答对。每个 QA 对都以结构化环境视觉token和自车车辆状态为条件,确保不同数据源之间的一致性。这种多模式指令调整过程使 OpenDriveVLA 能够有效地将语言理解融入环境感知和场景理解中,在语言空间内连接感知、推理和行动。

在自车系统中制定智体运动预测和自我轨迹规划,其中模型直接预测每个实体相对于自我车辆局部坐标系内的未来位移以进行规划,并预测相对于每个智体的未来位移以进行预测。此公式以空间一致的方式捕获所有实体的运动动态。按照 [29],自我车辆状态被编码为文本输入,以确保整个训练过程中的自我意识。这两项任务都预测 3 秒的未来轨迹,以 0.5 秒的间隔进行采样,每条轨迹有 6 个航点。

OpenDriveVLA 中的 3D 视觉感知模块遵循 [14] 中以视觉为中心的设计,使用 ResNet-101 主干进行 2D 特征提取。感知主干通过 3D 物体检测、物体跟踪和地图分割等多任务学习进行预训练。生成的 BEV 特征图的空间分辨率为 200×200。为了构建统一的场景表示,全局 SceneSampler 将 2D 自适应池化应用于每个摄像机视图,随后将池化的多视图特征连接成全局场景 token。智体和地图 token 从各自 QueryTransformer 模块的最后一层提取。然后使用具有 GeLU 激活的单独两层 MLP 将每种 token 类型映射到语言空间中。采用 Qwen 2.5-Instruct [45] 作为预训练的 LLM,并在训练期间进行全参数调整。该模型在 4 个 NVIDIA H100 GPU 上进行训练,批处理大小为 1,大约需要两天时间完成。在推理过程中,将解码温度设置为 0,以确保确定性轨迹生成。在第 3 阶段冻结 2D 主干。上表总结详细的训练配置。