摘要
端到端自动驾驶系统凭借大规模数据展现出强大的规划能力,但由于常识有限,在复杂和罕见场景下仍面临挑战。相比之下,大型视觉-语言模型(LVLMs)在场景理解和推理方面表现出色。未来的方向在于融合这两种方法的优势。以往使用 LVLM 预测轨迹或控制信号的方法效果欠佳,因为 LVLM 并不适合进行精确的数值预测。本文提出了 Senna,这是一种结合了大型视觉-语言模型(Senna-VLM)和端到端模型(Senna-E2E)的自动驾驶系统。Senna 将高层规划与底层轨迹预测解耦。Senna-VLM 以自然语言生成规划决策,而 Senna-E2E 则预测精确的轨迹。Senna-VLM 利用多图像编码方法和多视角提示来实现高效的场景理解。此外,我们引入了面向规划的问答(QAs)以及一种三阶段训练策略,这在保留常识的同时提升了 Senna-VLM 的规划性能。在两个数据集上的大量实验表明,Senna 实现了最先进的规划性能。值得注意的是,通过在大规模数据集 DriveX 上进行预训练并在 nuScenes 上进行微调,Senna 相比没有预训练的模型,平均规划误差降低了 27.12%,碰撞率降低了 33.33%。我们相信,Senna 的跨场景泛化和迁移能力对于实现完全自动驾驶至关重要。代码和模型将在 https://github.com/hustvl/Senna 发布。
索引术语 ---自动驾驶,端到端,大型视觉-语言模型,规划,多模态

I. 引言
近年来,自动驾驶技术见证了快速发展 1--3。在驾驶感知 4--6、运动预测 7--9 和规划 10--12 等领域取得了显著进展。这些发展为实现更准确、更安全的驾驶决策奠定了坚实基础。其中,端到端自动驾驶脱颖而出,是一项重大突破。端到端方法由大规模数据驱动,展现出卓越的规划能力。此外,大型视觉-语言模型(LVLMs)13--17 展现出日益强大的图像理解和推理能力。通过利用其常识和逻辑,LVLM 可以分析驾驶环境并在复杂场景中做出安全决策。
将庞大的驾驶数据用于提升 LVLM 在自动驾驶中的性能,并桥接 LVLM 与端到端模型,是实现安全、稳健且可泛化的自动驾驶的关键。
端到端自动驾驶的常见做法是直接预测未来轨迹或控制信号,而无需决策步骤。然而,这种方法可能会增加模型学习的难度,且缺乏可解释性。相比之下,当人脑做出详细决策时,由分层高层决策和底层执行组成的系统发挥着至关重要的作用 18--20。此外,端到端模型通常缺乏常识,可能在简单场景中犯错。例如,它们可能将运载交通锥的卡车误解为路障,从而触发不必要的制动。这些限制阻碍了端到端模型的规划性能。
在本文中,我们主要探索并尝试回答以下三个关键问题。
如何将 LVLM 与端到端模型集成?
LVLM 在自动驾驶规划中的应用目前主要分为两类。一是直接使用 LVLM 作为规划器来预测轨迹点或控制信号 21--24。然而,LVLM 在精确数学计算方面存在固有局限性 25, 26,使其不太适合预测精确数值 。另一种方法是将 LVLM 与端到端模型结合。之前的开创性工作 27 涉及使用 LVLM 预测低频轨迹点 ,然后由端到端模型细化为高频轨迹。这减少了 LVLM 需要预测的点数,部分缓解了该问题。然而,由于仍然要求 LVLM 预测轨迹点,问题并未完全解决。
在本工作中,我们提出了 Senna,一种名为 Senna(以著名的巴西赛车手 Ayrton Senna 命名)的结构化自动驾驶系统,它将大型视觉-语言模型(Senna-VLM)与端到端模型(Senna-E2E)集成。Senna 的结构化规划理念在于将高层规划决策与底层轨迹预测解耦。具体而言,Senna-VLM 以自然语言预测高层规划决策,并将其编码为高维特征,然后输入到 Senna-E2E。基于这些高层决策,Senna-E2E 生成最终的规划轨迹。
预测基于语言的规划决策允许 LVLM 充分利用预训练语言任务中的知识和常识,从而生成合理的决策,避免精确数值预测的问题。相比之下,端到端模型擅长精确的轨迹预测。通过将高层决策与底层轨迹规划解耦,我们降低了端到端模型的学习复杂性,并提高了轨迹规划的准确性。
类似于之前的工作 23, 27,Senna-VLM 使用格式化的元动作 (meta-actions)进行规划决策,以缩小预测空间 ,从而降低 LVLM 的学习难度,并使其更容易与端到端模型集成。我们使用一个简单的元动作编码器将规划决策转换为高维特征,然后输入到 Senna-E2E。在训练期间,Senna-E2E 使用真实规划的决策作为输入;而在推理期间,它依赖于 Senna-VLM 预测的决策。
如何设计专为驾驶任务定制的 LVLM?
当前流行的 LVLM 并未针对多图像输入进行专门优化 13, 14, 28。之前用于驾驶任务的 LVLM 要么仅支持前视输入 21, 29,这限制了空间感知并增加了安全风险;要么支持多图像输入,但仍缺乏对其有效性的详细设计或验证 23, 27。
Senna-VLM 专为驾驶任务定制。它支持多图像输入以编码环视数据,这对于理解驾驶场景和确保安全至关重要。最初,我们尝试使用 LLaVA-1.5 30 集成环视输入,但由于图像标记过多,结果并不令人满意。为了解决这个问题,我们提出了一种驾驶视觉适配器来编码和压缩图像标记,并引入了专门针对环视场景的提示。这些设计帮助模型区分来自不同视角的图像特征,并发展空间理解能力。
如何有效训练驾驶 LVLM?
在开发出用于驾驶任务的 LVLM 后,最后一步是确保有效训练,这需要合适的数据和策略。在数据方面,虽然之前的工作提出了各种数据策略 31--33,但许多并非专为规划任务设计,而是用于检测等其它任务。在本文中,我们是第一个验证不同类型的 QAs 在驾驶规划中重要性的工作。具体而言,我们引入了一系列面向规划 的 QAs,旨在增强 VLM 对驾驶场景中规划相关线索的理解,从而实现更准确的规划。这些 QAs 包括驾驶场景描述、交通参与者的运动意图预测、交通信号检测、元动作规划 等。与之前依赖人工标注的工作 27, 29 不同,我们的数据策略可以通过完全自动化的流水线大规模生成。
关于训练策略,大多数现有方法采用通用预训练后接驾驶微调 23, 27。然而,我们的实验结果表明,这可能不是最佳选择。相反,我们提出了一种针对 Senna-VLM 的三阶段训练策略,包括混合预训练、驾驶微调和规划微调。实验结果表明,我们提出的训练策略带来了最佳的规划性能。
Senna 具有几个优势。其结构化规划策略结合了 LVLM 和端到端模型的优势,提高了自动驾驶的安全性、稳健性和泛化能力,而其支持环视和多图像输入的功能有效增强了其驾驶场景理解能力。所提出的面向规划的 QAs 和三阶段训练策略使 Senna-VLM 能够在保留常识的同时做出更准确的规划决策,防止模型崩溃。
我们的主要贡献总结如下:
- 我们提出了 Senna,一种将 LVLM 与端到端模型集成的自动驾驶系统,实现了从高层决策到底层轨迹预测的结构化规划。Senna-VLM 利用常识和逻辑推理分析场景,并以自然语言输出决策,Senna-E2E 然后根据决策生成具体的规划轨迹。
- Senna 采用高效的多图像编码策略以及精心设计的支持环视的提示,实现了对驾驶场景的准确感知和空间理解。
- 我们设计了一系列面向规划的 QAs 和三阶段训练策略,以增强 Senna 的驾驶理解和规划性能,同时保留其常识知识。
- nuScenes 34 数据集和大规模数据集 DriveX 上的大量实验证明了 Senna 的最先进(SOTA)规划性能。值得注意的是,通过利用 DriveX 数据集的预训练权重并在 nuScenes 数据集上进行微调,Senna 取得了显著的性能提升,展现了强大的跨场景泛化和迁移能力。这些结果验证了 Senna 结构化规划方法、架构设计和训练策略的有效性和通用性。
II. 相关工作
端到端自动驾驶。 传统的自动驾驶系统通常采用分阶段的模块化设计,基于规则的规划器 35--37 遇到诸如模型泛化能力有限和规划性能瓶颈等挑战。相比之下,端到端自动驾驶利用神经网络直接将感知输入映射到规划输出。早期工作 11, 38, 39 将其视为黑盒方法,尽管缺乏可解释性,但它们展示了神经网络在端到端学习中的潜力。随着近年来自动驾驶技术的快速发展,可用驾驶数据的爆炸性增长为端到端方法提供了有力支持 2, 3, 40--43。UniAD 2 引入了一个使用 Transformers 44 的多任务框架,执行物体跟踪、轨迹预测、地图预测、占据预测和规划。这些辅助任务的额外监督显著增强了模型的规划性能。VAD 3 引入了矢量化场景表示,在准确性和速度之间取得了更好的平衡。VADv2 43 进一步提出了概率规划,用多模态轨迹评分替换确定性规划,以更好地捕捉规划的不确定性。我们将 VADv2 扩展以融入高层决策信息,这构成了 Senna 的端到端模型。
大型视觉-语言模型。 随着具有强大理解和对话能力的大型语言模型(LLMs)的出现 45--48,自然地将这种能力从单一文本模态扩展到多模态系统,其中视觉模态是最关键的 13--16, 28, 49, 50。CLIP 51, 52 开创了使用图像-文本对进行对比学习的先河,使模型能够以自监督方式实现大规模预训练。BLIP 53, 54 通过跨模态对比学习和生成任务桥接了视觉和语言模型。建立在这些跨模态训练策略 51, 55--57 的基础上,LVLMs 取得了一系列进展。GPT-4V 17 在理解复杂场景和多任务推理方面表现出卓越的性能。LLaVA 13, 30 引入了视觉指令微调,利用 GPT-4 生成的语言-图像指令跟随数据进行跨模态学习。QwenVL 14 在视觉连接器、训练策略和数据方面进行了改进,在多语言理解和 3D 感知方面表现出色。VILA 28 通过优化跨模态预训练和监督微调策略增强了多模态性能。Qwen2-VL 58 采用更先进的 Qwen2 48 作为其语言模型,并引入了多模态旋转位置嵌入和动态数量的视觉标记,以支持任意分辨率的图像和视频输入。
大型视觉-语言模型与自动驾驶。 LVLM 的常识知识、推理能力和可解释性可以有效弥补端到端模型的不足。Drive-with-LLMs 22 使用真实驾驶感知数据和 Transformer 网络将感知信息编码到潜在空间,然后输入到 LLM 以预测未来的规划轨迹。DriveGPT4 21 采用前置摄像头视频输入,并使用 LVLM 预测规划控制信号并提供决策解释。LanguageMPC 59 将历史真实感知信息和高清地图转换为自然语言格式,并利用思维链推理分析驾驶场景并生成规划动作。DriveMLM 23 在闭环仿真环境 60 中验证了基于 LVLM 的规划模型的有效性。ELM 29 引入了使用互联网规模跨域数据进行 LVLM 的大规模预训练。
视频数据,证明了结合多样化来源和任务特定训练数据能显著提升大型视觉语言模型(LVLM)在驾驶任务中的表现。其他几项研究提出了针对驾驶任务的数据收集策略和数据集,进一步推动了自动驾驶中 LVLM 的发展 31--33, 61--63。DriveVLM 27 是首个将 LVLM 与端到端模型结合的研究,其中 LVLM 预测低频轨迹,而端到端模型对其进行细化以生成最终的规划轨迹。DriveVLM 在 nuScenes 数据集及其提出的数据集上均展现了强大的规划性能。然而,由于 LVLM 并不擅长精确的数学计算,使用 LVLM 预测轨迹点可能会导致次优性能。为此,我们提出了一种结构化规划策略。Senna-VLM 以自然语言形式预测高层决策信息,从而避免 LVLM 预测精确数值的需求。这种方法与涉及自然语言预测的 LVLM 预训练任务相一致,有效地利用了预训练知识来做出准确的规划决策。基于 Senna-VLM 预测的决策,Senna-E2E 随后生成最终的规划轨迹。

III. SENNA

在本节中,我们详细介绍 Senna。图 3 展示了 Senna 的整体架构。输入的场景信息包括多视角图像序列、用户指令和导航命令。用户指令作为提示输入 Senna-VLM,而其他信息则同时发送给 Senna-VLM 和 Senna-E2E。Senna-VLM 分别将图像和文本信息编码为图像令牌和文本令牌,随后由大型语言模型(LLM)进行处理。LLM 生成高层决策,这些决策通过元动作编码器(Meta-action Encoder)编码为高维特征。Senna-E2E 根据场景信息和 Senna-VLM 生成的元动作特征预测最终的规划轨迹。我们为训练 Senna-VLM 设计了一系列面向规划的问答(QAs),这些问答无需人工标注,完全可以通过自动标注流水线大规模生成。
在第 III-A 节中,我们详细阐述了用于驾驶场景理解的面向规划的问答。第 III-B 节和第 III-C 节分别聚焦于 Senna-VLM 和 Senna-E2E 的设计。第 III-D 节介绍了我们提出的三阶段训练策略。
A. 驾驶场景理解(这涉及到知识迁移的问题!!)
理解驾驶场景中的关键因素对于安全且准确的规划至关重要。我们设计了一系列面向规划的问答,以增强 Senna-VLM 对驾驶场景的理解。每种问答的详细信息如图 7 所示。生成这些问答所需的原始数据,如 3D 目标检测框和物体跟踪轨迹,可以通过自动标注系统获取。此外,描述性问答可以由 LVLM(如 GPT-4o 17)生成。下面我们将详细阐述每种类型的问答。
场景描述。我们利用预训练的 LVLM 基于环视图像生成驾驶场景的描述。为了避免生成与规划无关的冗余信息,我们在提示中指定了所需的信息,包括:交通状况、环境(例如城市、乡村等)、道路类型(例如铺装道路、高速公路)、天气条件、一天中的时间段以及路况(例如道路是否平滑或是否有障碍物)。通过这种方式构建提示,我们可以获得简洁且信息丰富的场景描述。

图 4: 我们提出的用于高效驾驶场景理解的多视角提示和图像编码方法。
交通信号检测。交通信号有多种类型,但此处我们主要关注最关键的一种:交通信号灯。交通信号灯的状态可分为四类:红、绿、黄和无。其中,"无"表示自车前方未检测到交通信号灯。
弱势道路使用者识别。通过识别环境中的弱势道路使用者(VRUs),我们增强了 Senna 对这些关键物体的感知能力,并提高了规划的安全性。具体而言,我们使用真实值(ground truth)3D 检测结果来获取 VRUs 的类别和位置,然后将这些信息以文本形式描述。位置信息以自车为中心,包括每个 VRU 相对于自车的横向和纵向距离。为了降低学习复杂度并建立距离感知,我们仅使用 Senna-VLM 预测距离的整数部分。
运动意图预测。准确预测其他车辆的未来运动意图是安全规划的前提。我们也采用元动作方法,使 Senna 能够预测周围车辆的未来行为。这增强了 Senna 对场景动态特征的理解,使其能够做出更明智的决策。
元动作规划。为了避免使用 LVLM 进行精确的轨迹预测,我们将自车的未来轨迹转换为用于高层规划的元动作。具体而言,元动作包括横向和纵向决策。横向元动作包括左转(Left)、直行(Straight)和右转(Right);纵向元动作包括加速(Accelerate)、保持(Keep)、减速(Decelerate)和停车(Stop)。横向元动作根据预测未来时间步 TTT 内的横向位移确定,纵向元动作由预测周期内的速度变化确定。最终的元动作由横向和纵向元动作共同组成。
规划解释。我们还基于车辆的真实未来运动,利用 LVLM 生成规划解释。换句话说,我们告知 LVLM 车辆的实际未来运动(例如加速和左转),并要求它们分析此类决策背后的原因。在提示中,我们引导模型通过考虑以下影响规划的因素来分析决策:其他交通参与者的行为、导航信息、路况以及交通信号灯状态。


B. Senna-VLM
Senna-VLM 由四个组件组成。视觉编码器(Vision Encoder)接收多视角图像序列 I∈RNimg×H×W×3I \in \mathbb{R}^{N_{img} \times H \times W \times 3}I∈RNimg×H×W×3 作为输入并提取图像特征,这些特征进一步由驾驶视觉适配器(Driving Vision Adapter)编码和压缩,生成图像令牌 Eimg∈RNimg×Mimg×CE_{img} \in \mathbb{R}^{N_{img} \times M_{img} \times C}Eimg∈RNimg×Mimg×C。其中,NimgN_{img}Nimg、MimgM_{img}Mimg 和 CCC 分别是图像数量、每张图片的图像令牌数量以及 LLM 的特征维度。HHH 和 WWW 分别是图像的高度和宽度。文本编码器(Text Encoder)将用户指令和导航命令编码为文本令牌 Etxt∈RMtxt×CE_{txt} \in \mathbb{R}^{M_{txt} \times C}Etxt∈RMtxt×C,其中 MtxtM_{txt}Mtxt 是文本令牌的数量。图像令牌和文本令牌都被输入到 LLM 中,以预测高层决策。在实际应用中,我们使用 Vicuna-v1.5-7b 64 作为 LLM。最后,元动作编码器将决策编码并输出元动作特征 eact∈RDe_{act} \in \mathbb{R}^Deact∈RD,其中 DDD 是 Senna-E2E 的特征维度。
我们使用来自 CLIP 51 的 ViT-L/14 作为视觉编码器,其中每张图像被调整为 H=W=224H = W = 224H=W=224,从而产生 576 个图像令牌。对于多图像输入,这会导致图像令牌数量过多,不仅会减慢 VLM 的训练和推理速度,还会导致模型崩溃和解码失败。因此,我们引入了一个驾驶视觉适配器模块。该模块不仅起到类似以往研究 13, 54 的作用,即将图像特征映射到 LLM 特征空间,还额外执行图像特征的编码和压缩,以减少图像令牌的数量。具体而言,我们采用一组图像查询 Qimg∈RNimg×Mimg×CQ_{img} \in \mathbb{R}^{N_{img} \times M_{img} \times C}Qimg∈RNimg×Mimg×C 来编码图像特征并输出图像令牌:
Eimgi=MHSAQimgi,W⋅g(Ii),W⋅g(Ii)∈RMimg×C,(1) E^{i}{img} = \text{MHSA}Q\^{i}_{img}, W \\cdot g(I\^{i}), W \\cdot g(I\^{i}) \in \mathbb{R}^{M{img} \times C}, \quad (1) Eimgi=MHSAQimgi,W⋅g(Ii),W⋅g(Ii)∈RMimg×C,(1)
其中,MHSA 指多头自注意力机制 44,ggg 是视觉编码器,WWW 是一个由线性层和 GELU 65 激活层组成的多层感知机,用于投影图像特征。EimgiE^{i}{img}Eimgi 和 QimgiQ^{i}{img}Qimgi 分别表示第 iii 张图像 IiI^{i}Ii 的图像令牌和图像查询。我们的实验表明,对图像特征进行进一步的编码和压缩并不会降低模型性能。然而,过多的图像令牌会导致模型崩溃和解码失败。
为了使 Senna-VLM 能够区分来自不同视角的图像特征并建立空间理解,我们设计了一种简单而有效的用于驾驶场景的环视提示。以前视为例,相应的提示为:<FRONT VIEW>:\n<image>\n,其中 <image> 是 LLM 的特殊令牌,在生成过程中将被图像令牌替换。图 4 展示了我们提出的多视角提示和图像编码方法的设计。
最后,我们提出了元动作编码器 ϕ\phiϕ,它将 LLM 输出的高层决策转换为元动作特征 eacte_{act}eact。由于我们使用了一套格式化的
eta 动作方面,元动作编码器 φ 通过一组可学习的嵌入 Eact∈RNact×DE_act ∈ R^{N_act×D}Eact∈RNact×D,实现从元动作到元动作特征的一对一映射,其中 N_act 表示元动作的数量。公式 (2) 展示了生成元动作特征的过程:
eact=φ(LLMconcat(Eiview,Eiimgi=1Nimg,Etxt)),(2) e_act = φ(LLMconcat({E\^{view}_i, E\^{img}_i}_{i=1}\^{N_img}, E_{txt})), (2) eact=φ(LLMconcat(Eiview,Eiimgi=1Nimg,Etxt)),(2)
其中,EiviewE^{view}_iEiview 是第 i 张图像对应的环绕视角提示。LLM 是 Senna 中的大型语言模型。随后,元动作特征将被输入到 Senna-E2E 中,以预测规划轨迹。
C. Senna-E2E
Senna-E2E 在 VADv2 43 的基础上进行扩展。具体而言,Senna-E2E 的输入包括多视角图像序列、导航指令以及元动作特征。它由三个模块组成:感知模块,用于检测动态物体并生成局部地图;运动预测模块,用于预测动态物体的未来轨迹;以及规划模块,该模块使用一组规划标记,这些标记通过与场景特征进行基于注意力机制 44 的交互,来预测规划轨迹 V。
我们将元动作特征作为额外的交互 token 集成到 Senna-E2E 中。由于元动作特征以嵌入向量的形式表示,Senna-VLM 可以轻松地与其他端到端模型相融合。Senna-E2E Φ 的轨迹规划过程可表述如下:
V=Φ(I,enav,eact)∈RT×2,(3) V = Φ(I, e_nav, e_act) ∈ R^{T×2}, (3) V=Φ(I,enav,eact)∈RT×2,(3)
其中 e_nav 为导航指令。
D. 训练策略
我们为 Senna-VLM 提出了一种三阶段训练策略。第一阶段为混合预训练(Mix Pre-training),在此阶段,我们使用单张图像数据训练驾驶视觉适配器,同时保持 Senna-VLM 中其他模块的参数冻结。这使得图像特征能够映射到大型语言模型的特征空间。"混合"指的是使用来自多个来源的数据,包括 LLaVA 13 中使用的指令跟随数据以及我们提出的驾驶场景描述数据。第二阶段为驾驶微调(Driving Fine-tuning),在此阶段,我们基于第 III-A 节提出的面向规划的问答对(QAs)对 Senna-VLM 进行微调,但不包括元动作规划问答对。在这一阶段,采用多视角环绕图像作为输入,而非单张图像。第三阶段为规划微调(Planning Fine-tuning),在此阶段,我们仅使用元动作规划问答对进一步微调 Senna-VLM。在第二和第三阶段中,我们微调 Senna-VLM 的所有参数,唯独视觉编码器保持冻结。
对于 Senna-E2E,在训练阶段使用真实元动作作为输入,而在推理阶段则依赖由 Senna-VLM 预测的元动作。
四、实验
A. 实验设置
数据集。我们在两个数据集上评估 Senna 的性能。第一个是 nuScenes 数据集 34,该数据集包含 1,000 个驾驶场景,每个场景持续约 20 秒。它支持多种传感器数据,例如环视相机图像、激光雷达点云等。此外,它还提供了丰富的标注信息,包括 3D 边界框、自车轨迹以及道路地图。
除了 nuScenes 数据集外,我们还在一个大规模数据集 DriveX 上对 Senna 进行评估。DriveX 包含 100 万(1,000K)个驾驶片段,每个片段持续 3 秒。DriveX 数据集包含多样化且分布均衡的驾驶数据。图 5 展示了数据集中元动作(meta-actions)的分布情况。我们从数据集中随机抽取 80 万个片段作为训练集,20 万个片段作为验证集。与 nuScenes 类似,DriveX 提供环视图像和丰富的标注信息,具有更广泛的场景和驾驶行为覆盖范围。除非另有说明,Senna 均在 DriveX 训练集上进行训练,所报告的指标均基于其验证集。
六、结论
我们提出了 Senna,这是一种自动驾驶系统,它将大型视觉语言模型(LVLM)与端到端模型相结合,以实现从高层决策到低层轨迹规划的structured(结构化)规划。大量实验结果表明,Senna 具备卓越的性能、令人印象深刻的跨场景泛化能力以及可迁移性,凸显了通过基于语言的规划将 LVLM 与端到端模型相结合的巨大潜力。未来研究方向将探索非预定义、细粒度的语言指令,以实现可控的轨迹规划。