
摘要端到端自动驾驶系统凭借大规模数据展现出强大的规划能力但由于常识有限在复杂和罕见场景下仍面临挑战。相比之下大型视觉-语言模型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 truth3D 检测结果来获取 VRUs 的类别和位置然后将这些信息以文本形式描述。位置信息以自车为中心包括每个 VRU 相对于自车的横向和纵向距离。为了降低学习复杂度并建立距离感知我们仅使用 Senna-VLM 预测距离的整数部分。运动意图预测。准确预测其他车辆的未来运动意图是安全规划的前提。我们也采用元动作方法使 Senna 能够预测周围车辆的未来行为。这增强了 Senna 对场景动态特征的理解使其能够做出更明智的决策。元动作规划。为了避免使用 LVLM 进行精确的轨迹预测我们将自车的未来轨迹转换为用于高层规划的元动作。具体而言元动作包括横向和纵向决策。横向元动作包括左转Left、直行Straight和右转Right纵向元动作包括加速Accelerate、保持Keep、减速Decelerate和停车Stop。横向元动作根据预测未来时间步TTT内的横向位移确定纵向元动作由预测周期内的速度变化确定。最终的元动作由横向和纵向元动作共同组成。规划解释。我们还基于车辆的真实未来运动利用 LVLM 生成规划解释。换句话说我们告知 LVLM 车辆的实际未来运动例如加速和左转并要求它们分析此类决策背后的原因。在提示中我们引导模型通过考虑以下影响规划的因素来分析决策其他交通参与者的行为、导航信息、路况以及交通信号灯状态。B. Senna-VLMSenna-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 作为视觉编码器其中每张图像被调整为HW224H W 224HW224从而产生 576 个图像令牌。对于多图像输入这会导致图像令牌数量过多不仅会减慢 VLM 的训练和推理速度还会导致模型崩溃和解码失败。因此我们引入了一个驾驶视觉适配器模块。该模块不仅起到类似以往研究 [13], [54] 的作用即将图像特征映射到 LLM 特征空间还额外执行图像特征的编码和压缩以减少图像令牌的数量。具体而言我们采用一组图像查询Qimg∈RNimg×Mimg×CQ_{img} \in \mathbb{R}^{N_{img} \times M_{img} \times C}Qimg∈RNimg×Mimg×C来编码图像特征并输出图像令牌EimgiMHSA[Qimgi,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)EimgiMHSA[Qimgi,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:\nimage\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φ(LLM[concat(Eiview,Eiimgi1Nimg,Etxt)]),(2) e_act φ(LLM[concat({E^{view}_i, E^{img}_i}_{i1}^{N_img}, E_{txt})]), (2)eactφ(LLM[concat(Eiview,Eiimgi1Nimg,Etxt)]),(2)其中EiviewE^{view}_iEiview是第 i 张图像对应的环绕视角提示。LLM 是 Senna 中的大型语言模型。随后元动作特征将被输入到 Senna-E2E 中以预测规划轨迹。C. Senna-E2ESenna-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 与端到端模型相结合的巨大潜力。未来研究方向将探索非预定义、细粒度的语言指令以实现可控的轨迹规划。