25年5月来自密歇根大学和密歇根大学交通研究所的论文“LightEMMA: Lightweight End-to-End Multimodal Model for Autonomous Driving”。
视觉-语言模型 (VLM) 已展示出端到端自动驾驶的巨大潜力。然而,充分利用其安全可靠的车辆控制能力仍然是一个开放的研究挑战。为了系统地研究 VLM 在驾驶任务中的进步和局限性,LightEMMA,一种用于自动驾驶的轻量级端到端多模态模型。LightEMMA 提供了一个统一的、基于 VLM 的自动驾驶框架,无需临时定制,可以轻松集成和评估不断发展的最先进商业和开源模型。用各种 VLM 构建 12 个自动驾驶智体,并评估它们在 nuScenes 预测任务上的性能,全面评估推理时间、计算成本和预测准确性等指标。说明性示例强调,尽管 VLM 具有强大的场景解释能力,但它们在自动驾驶任务中的实际性能仍然令人担忧,强调需要进一步改进。代码可在 https://github.com/michigan-traffic-lab/LightEMMA 上获取。
多年来,自动驾驶汽车 (AV) 取得了长足进步,安全性、舒适性和可靠性均有显著提升。传统方法依赖于模块化设计、基于规则的系统和预定义的启发式算法 [1], [2]。虽然这种结构化方法能够确保行为的可解释性和可预测性,但却限制了其解读复杂场景和做出灵活、类似人类决策的能力。
一种较新的方法是基于学习的端到端驾驶,它将原始传感器输入(以及高清地图和环境信息)直接映射到驾驶轨迹 [3]–[8]。与模块化流程不同,端到端模型旨在从数据中学习统一的表征,从而实现更全面、更高效的驾驶决策。然而,它们通常是可解释性有限的黑匣子,在关键场景下会引发安全隐患 [9],而且它们需要海量且多样化的数据,这使其容易受到数据不平衡和数据“稀缺诅咒”的影响 [10]。
一种有望应对这些挑战的方法是视觉-语言模型 (VLM) 的进步。经过包含文本、图像和视频的海量数据集训练,VLM 展现出堪比人类认知的强大推理能力。近期研究已对基于 VLM 的端到端自动驾驶系统进行了探索,[11] 中对此进行了全面的综述。然而,现有研究主要强调 VLM 在驾驶情境中的场景理解能力,而并未充分评估其优势和局限性。此外,许多应用涉及商用车部署,且缺乏可访问的源代码或详细的实现,这限制了其在更广泛的研究和合作中的应用。
EMMA [12] 构建于 Gemini [14] 之上,通过用自然语言统一表示输入和输出,将摄像头数据直接映射到驾驶输出,实现了最先进的运动规划。OpenEMMA [13] 对此进行了扩展,引入一个开源框架,该框架使用由思维链 (CoT) 推理增强的 VLM,从而提高了性能和泛化能力。DriveGPT4 [15] 是一个基于 LLaMA2 的 VLM,在 BDD-X 数据集上进行训练,并使用 Chat-GPT 数据进行微调,支持多帧视频理解、文本查询和车辆控制预测。DOLPHINS [16] 使用指令调优进行上下文学习、自适应和错误恢复。DriveMLM [17] 通过整合驾驶规则、用户输入和传感器数据,将 VLM 融入行为规划中,并在 CARLA 的 Town05 [18] 中进行评估。
目前已有多个开源数据集可用于训练和评估自动驾驶系统,尤其是 Waymo 开放数据集 [19] 和 nuScenes [20]。nuScenes-QA [21]、nuPrompt [22]、LingoQA [23] 和 Reason2Drive [24] 等扩展基准测试进一步支持对语言和推理能力的评估。
受 EMMA [12] 的最新进展以及开源实现 OpenEMMA [13] 的启发,LightEMMA——是一个用于自动驾驶的轻量级、端到端多模态框架。LightEMMA 采用零样本方法,充分利用现有 VLM 的功能。
LightEMMA 架构概览如图所示。
在每个推理周期中,当前的前视摄像头图像和历史车辆驾驶数据都会被输入到 VLM 中。为了增强可解释性并促进结构化推理,采用一种思维链 (CoT) 提示策略,其最终阶段明确输出一系列预测的控制动作。这些动作经过数值积分以生成预测轨迹,然后将其与真实值进行比较。所有 VLM 均采用统一的提示和评估程序进行评估,无需针对特定模型进行调整。
VLM 的选择
从开源和商业产品中挑选出最先进的 VLM,涵盖 6 种模型类型,共 12 种模型。对于每种模型类型,评估两种变型:基础版和高级版。所有使用的模型均为最新的公开版,支持文本和图像输入。此设置可实现不同模型之间以及同一模型系列内不同变型之间的全面性能比较。选定的模型包括:GPT-4o、GPT-4.1 [25]、Gemini-2.0-Flash、Gemini-2.5-Pro [14]、Claude-3.5-Sonnet、Claude-3.7-Sonnet [26]、DeepSeek-VL2-16B、DeepSeek-VL2-28B [27]、LLaMA-3.2-11B-Vision-Instruct、LLaMA-3.2-90B-Vision-Instruct [28]、Qwen2.5-VL-7B-Instruct 和 Qwen2.5-VL-72B-Instruct [29]。
对于商业模型,通过付费 API 访问它们。这种方法简化部署,无需管理本地硬件、软件更新和可扩展性,因为这些任务直接由提供商处理。
对于开源模型,从 HuggingFace 下载,并使用 H100 GPU 进行本地部署。大多数模型只需要一个 H100 GPU,但较大的模型可能需要更多;在下表中报告所需的最小 GPU 数量。为了方便多 GPU 部署,用 PyTorch 的自动设备映射功能来高效利用 GPU。
摄像头选择
当前视摄像头图像输入 VLM 时,不使用任何视觉编码器(例如 CLIP [30]),也不在将图像输入模型之前应用预处理技术进行修改。VLM 能够有效地描述场景,并直接从原始视觉输入中准确识别物体,从而展现出处理未处理视觉数据的稳健性。
根据这种设计方法,还选择仅使用当前驾驶场景图像作为输入,而不是像先前研究 [13]、[15] 中那样连接多个过去帧。添加更多帧并不能带来明显的性能提升。相反,该模型倾向于在多个帧之间重复提取相同的特征,而不是捕捉有意义的时空动态。此外,添加更多帧会导致处理时间和计算成本大致呈线性增长,而性能却没有明显的提升。
此外,诸如 VideoBERT [31] 和 Video-MAE [32] 之类的模型通过专门的时间编码来支持视频输入,而不是简单地将视频视为帧序列。这类模型本质上采用了不同的架构,并有可能捕捉到更丰富的时间信息。
驾驶历史输入
用速度和曲率来表示车辆动作,这是一种可解释的格式,其中速度捕捉纵向运动,曲率描述横向运动。采用这种表示形式而不是显式的轨迹点,因为 VLM 通常难以有效地推理涉及隐式物理约束的坐标。
VLM 提升
用直接的 CoT 方法来指导 VLM 进行场景理解和动作生成,其中每个阶段的输出与以下附加提示一起集成到后续阶段:
- 场景描述:VLM 接收图像作为输入,并被提示解读整个场景,包括车道线、交通信号灯、车辆、行人活动和其他相关目标。
- 高级驾驶意图:生成的场景描述与自车的历史驾驶行为相结合,使 VLM 能够在当前场景中解读过去的行为,并预测下一步的高级驾驶行为。
- 低级驾驶命令:场景描述和生成的高级命令用于提示 VLM 输出低级驾驶行为的结构化列表,其格式为 [(v_1, c_1), (v_2, c_2), (v_3, c_3), (v_4, c_4), (v_5, c_5), (v_6, c_6)],无需额外的文本或解释。
选择 6 个代表性场景。如图所示:
由于可用帧数量众多,这些示例经过精心挑选,旨在突出典型行为,而非提供详尽的分析。每幅图都将 VLM 预测的轨迹与真实轨迹进行比较,作为说明性示例,而非确切的模型输出。