当前位置: 首页 > article >正文

经典文献阅读之--Senna(桥接大型视觉语言模型和端到端自动驾驶)

0. 简介

桥接大型视觉语言模型和端到端自动驾驶。端到端自动驾驶通过大规模数据展现出强大的规划能力,但是由于常识有限,在复杂、罕见的场景中仍然面临困境。相比之下,大型视觉语言模型(LVLMs)在场景理解和推理方面均表现出色。前进的道路在于融合这两种方法的优势。先前使用LVLMs预测轨迹或者控制信息的方法会产生次优的结果,因为LVLMs不太适合于精确的数值预测。本文提出了Senna,这是一种将LVLM(Senna-VLM)与端到端模型(Senna-E2E)相结合的自动驾驶系统。Senna将高级规划与低级轨迹预测解耦。Senna-VLM以自然语言生成规划决策,而Senna-E2E则预测精确的轨迹。Senna-VLM利用了多图像编码方法和多视图提示来实现高效的场景理解。此外,本文还引入了面向规划的QAs以及三阶段训练策略,在保留常识的同时提升了Senna-VLM的规划性能。相关的代码将会在Github上开源。

0572b24486494bb2b5ab7ab17a83752c.png

图1:Senna是一个结构化的自动驾驶系统,包含一个大型视觉语言模型(Senna-VLM)和一个端到端驾驶模型(Senna-E2E)。Senna-VLM以自然语言生成高层次的规划元动作,而Senna-E2E则预测低层次的规划轨迹。我们设计了一系列可以大规模自动标注的以规划为导向的问答,并配以三阶段训练策略,以实现对驾驶场景的深刻理解和准确规划。

1. 主要贡献

关于训练策略,大多数现有方法采用通用预训练,随后进行驾驶微调。然而,我们的实验结果表明,这可能并不是最佳选择。相反,我们提出了一种针对Senna-VLM的三阶段训练策略,包括混合预训练、驾驶微调和规划微调。实验结果表明,我们提出的训练策略能够实现最佳的规划性能。

Senna具有多个优势。其结构化规划策略结合了大语言视觉模型(LVLM)和端到端模型的优点,从而提高了自动驾驶的安全性、鲁棒性和泛化能力。同时,Senna对环视和多图像输入的支持有效增强了其对驾驶场景理解的能力。所提出的以规划为导向的问答(QAs)和三阶段训练策略使Senna-VLM能够在保持常识的同时做出更准确的规划决策,防止模型崩溃。

我们的主要贡献可以总结如下:

  • 我们提出了Senna,一个将LVLM与端到端模型相结合的自动驾驶系统,实现了从高层决策到低层轨迹预测的结构化规划。Senna-VLM利用常识和逻辑推理分析场景,并以自然语言输出决策,Senna-E2E则基于这些决策生成具体的规划轨迹。
  • Senna采用高效的多图像编码策略,并设计了精心构建的环视提示,从而实现对驾驶场景的准确感知和空间理解。
  • 我们设计了一系列以规划为导向的问答和三阶段训练策略,以增强Senna的驾驶理解和规划性能,同时保持其常识知识。
  • 来自nuScenes数据集和大规模数据集DriveX的广泛实验表明,Senna在规划性能上达到了最先进水平。值得注意的是,通过利用DriveX数据集的预训练权重并在nuScenes数据集上进行微调,Senna实现了显著的性能提升,展现出强大的跨场景泛化能力和迁移能力。这些结果验证了Senna结构化规划方法、架构设计和训练策略的有效性和多样性。

6bbd239c047b4697837d86ccfa45ca2b.png

图2:以往的方法在规划轨迹时没有决策步骤,这使得模型学习变得困难。大型视觉语言模型(LVLMs)在精确轨迹预测方面也面临挑战。Senna采用了一种结构化的规划方法:Senna-VLM利用预训练的常识和驾驶知识进行自然语言中的高层次决策,随后Senna-E2E利用这些决策生成最终的轨迹。

2. SENNA

在本节中,我们将详细介绍Senna。图3展示了Senna的整体架构。输入的场景信息包括多视角图像序列、用户指令和导航命令。用户指令作为提示输入到Senna-VLM中,而其他信息则同时发送给Senna-VLM和Senna-E2E。Senna-VLM将图像和文本信息分别编码为图像和文本标记,然后由大语言模型(LLM)进行处理。LLM生成高层决策,这些决策通过元动作编码器(Meta-action Encoder)编码为高维特征。Senna-E2E基于场景信息和Senna-VLM生成的元动作特征预测最终的规划轨迹。我们设计了一系列以规划为导向的问答(QAs)用于训练Senna-VLM,这些问答不需要人工标注,并且可以通过自动标注管道大规模生成。

e368df15063e45cb850ba362a223144d.png

图3:Senna的整体架构。Senna由两个模块组成:Senna-VLM和Senna-E2E。Senna-VLM高效地编码多视角图像,并从周围环境中实现空间理解。根据输入的场景信息,Senna-VLM预测高层次的规划决策,并将其编码为元动作特征。随后,Senna-E2E基于场景信息和元动作特征预测最终的规划轨迹。我们使用自动标注的大规模驾驶数据对Senna进行训练。

在第三节中,我们详细介绍了用于驾驶场景理解的规划导向问答。第4节和第5节分别聚焦于Senna-VLM和Senna-E2E的设计。第六节介绍了我们提出的三阶段训练策略。

3. 驾驶场景理解

理解驾驶场景中的关键因素对于安全和准确的规划至关重要。我们设计了一系列以规划为导向的问答,以增强Senna-VLM对驾驶场景的理解。每种类型的问答细节如图7所示。用于生成这些问答的原始数据,如3D物体检测框和物体跟踪轨迹,可以通过自动标注系统获得。此外,描述性问答可以通过像GPT-4o这样的LVLM生成。以下是对每种类型问答的详细说明。

场景描述:我们利用预训练的LVLM根据环视图像生成驾驶场景的描述。为了避免生成与规划无关的冗余信息,我们在提示中明确所需的信息,包括:交通状况、环境(如城市、乡村等)、道路类型(如铺装道路、高速公路)、天气状况、时间和道路状况(如道路是否平坦或是否有障碍物)。通过这种方式构建提示,我们可以获得简洁且信息丰富的场景描述。

交通信号检测:交通信号有多种类型,但这里我们主要关注最关键的一种:交通灯。交通灯的状态可以分为四种类型:红灯、绿灯、黄灯和无信号,其中无信号表示在自车前方未检测到交通灯。

脆弱道路用户识别:通过识别环境中的脆弱道路用户(VRUs),我们增强了Senna对这些关键物体的感知,从而提高了规划的安全性。具体而言,我们使用真实的3D检测结果获取VRUs的类别和位置,并以文本形式描述这些信息。位置信息以自车为中心,包括每个VRU相对于自车的横向和纵向距离。我们仅使用Senna-VLM预测距离的整数部分,以降低学习复杂性,同时构建距离感知。

运动意图预测:准确预测其他车辆的未来运动意图是安全规划的前提。我们还采用了元动作方法,使Senna能够预测周围车辆的未来行为。这增强了Senna对场景动态特征的理解,使其能够做出更明智的决策。

元动作规划:为了避免使用LVLM进行精确轨迹预测,我们将自车的未来轨迹转换为元动作以进行高层规划。具体而言,元动作由横向和纵向决策组成。横向元动作包括左转、直行和右转,而纵向元动作涵盖加速、保持、减速和停车。横向元动作基于预测未来时间步T期间的横向位移确定,纵向元动作则由预测期间的速度变化决定。最终的元动作由横向和纵向元动作组成。

规划解释:我们还使用LVLM生成基于车辆真实未来运动的规划解释。换句话说,我们告知LVLM车辆的实际未来动作(例如,加速和左转),并要求其分析这些决策背后的原因。在提示中,我们引导模型通过考虑影响规划的以下因素来分析决策:其他交通参与者的行为、导航信息、道路状况和交通灯状态。

4. Senna-VLM

Senna-VLM由四个组件组成。视觉编码器(Vision Encoder)接收多视角图像序列 I∈RNimg×H×W×3I∈RNimg​×H×W×3 作为输入,并提取图像特征,这些特征随后通过驾驶视觉适配器(Driving Vision Adapter)进行编码和压缩,最终生成图像令牌 Eimg∈RNimg×Mimg×CEimg​∈RNimg​×Mimg​×C。其中,NimgNimg​、MimgMimg​ 和 CC 分别表示图像数量、每幅图像的图像令牌数量以及大语言模型(LLM)的特征维度。HH 和 WW 分别是图像的高度和宽度。文本编码器(Text Encoder)将用户指令和导航命令编码为文本令牌 Etxt∈RMtxt×CEtxt​∈RMtxt​×C,其中 MtxtMtxt​ 是文本令牌的数量。图像令牌和文本令牌都被输入到LLM中,以预测高层次的决策。在实际应用中,我们使用Vicuna-v1.5-7b [64] 作为我们的LLM。最后,元动作编码器(Meta-action Encoder)将决策编码并输出元动作特征 eact∈RDeact​∈RD,其中 DD 是Senna-E2E的特征维度。

我们使用CLIP [51] 中的ViT-L/14作为视觉编码器,每幅图像被调整为 H=W=224H=W=224,从而生成576个图像令牌。对于多图像输入,这将导致图像令牌数量过多,不仅会减慢VLM的训练和推理速度,还可能导致模型崩溃和解码失败。因此,我们引入了一个驾驶视觉适配器模块。该模块不仅与之前的研究 [13]、[54] 类似,将图像特征映射到LLM特征空间,还对图像特征进行额外的编码和压缩,以减少图像令牌的数量。具体而言,我们采用一组图像查询 Qimg∈RNimg×Mimg×CQimg​∈RNimg​×Mimg​×C 来编码图像特征并输出图像令牌:...

点击经典文献阅读之--Senna(桥接大型视觉语言模型和端到端自动驾驶)查看全文。


http://www.kler.cn/a/465772.html

相关文章:

  • umd格式
  • 密码学精简版
  • 力扣66 加一
  • 代码段中使用数据、栈
  • Java 内存溢出(OOM)问题的排查与解决
  • STM32第十一课:STM32-基于标准库的42步进电机的简单IO控制(附电机教程,看到即赚到)
  • el-table动态行和列及多级表头
  • 【每日学点鸿蒙知识】Video播放失败、toggle拖拽、图片裁剪旋转等
  • C语言----函数
  • postgres docker安装
  • 【数据仓库】hadoop3.3.6 安装配置
  • [CTF/网络安全] 攻防世界 command_execution 解题详析
  • df.groupby与apply一起使用,举例项目中实际经常使用的场景
  • 基于SpringBoot的网上订餐系统(源码+数据库+文档)
  • C# _ 数字分隔符的使用
  • 2024年中国航天发射列表(68次发射,失败2次,部分失败1次)
  • python 给钉钉发消息简易demo
  • 带虚继承的类对象模型
  • 关于计算机中上下文概念的理解
  • Mac iTerm2集成DeepSeek AI
  • 一文读懂插值法
  • Tailwind CSS 实战:企业级 Dashboard 布局开发
  • 推荐PWM通信控制电机应用32位单片机
  • react-router-dom用法
  • ICLR2014 | L-BFGS | 神经网络的有趣特性
  • 关于Redis的面试题目及其答案