DRIVEVLM: The Convergence of Autonomous Driving and Large Vision-Language Models

DRIVEVLM: The Convergence of Autonomous Driving and Large Vision-Language Models
清华&理想 | DRIVEVLM:自动驾驶和大型视觉语言模型的融合最新SOTA!

论文链接:https://arxiv.org/pdf/2402.12289.pdf
代码链接:https://tsinghua-mars-lab.github.io/DriveVLM/
作者单位:清华大学 理想汽车

1. 自驾现状

     城市环境中自动驾驶的主要障碍是理解复杂的长尾场景,例如具有挑战性的道路条件和精细的(delicate)人类行为:

  • 3D感知:仅限于检测和跟踪熟悉的物体,忽略罕见的物体及其独特的属性
  • 运动预测和规划:关注轨迹级行为,通常忽略物体和车辆之间的决策级交互

2.解决问题&方法(主要贡献)

  • 本文提出 DriveVLM,这是一种新颖的自动驾驶系统,它利用 VLM 进行有效的场景理解和规划。
    • 解决问题:场景理解挑战
  • 本文进一步提出 DriveVLM-Dual,这是一个混合系统,它结合了 DriveVLM 和传统的自动驾驶流程。DriveVLM-Dual 实现了改进的空间推理和实时规划能力。
    • 解决问题:VLM 在空间定位(spatial grounding)和推理方面存在局限性,在机载推理速度需要提升
  • 本文提出了一个全面的数据挖掘和标注流程来构建场景理解和规划(scene understanding and planning)数据集,以及评估 SUP 任务的指标。
  • 在 nuScenes 数据集和本文的 SUP-AD 数据集上进行的大量实验证明了 DriveVLM 和 DriveVLM-Dual 在复杂驾驶场景中的卓越性能。

3. 文章主体

3.1. DriveVLM

在这里插入图片描述

图 1.DriveVLM 和 DriveVLM-Dual 模型流程。
DriveVLM 接受图像序列作为输入,并通过思维链 (CoT) 机制输出场景描述、场景分析和分层规划结果。
DriveVLM-Dual 进一步融合了传统的3D感知和轨迹规划模块,实现空间推理能力和实时轨迹规划。

大型VLM包括一个视觉transformer编码器和一个大型语言模型(LLM)。

  • 视觉编码器产生图像标记
  • 然后基于注意力的提取器将这些token与LLM对齐
  • 最后,LLM进行CoT推理
    • CoT过程可分为三个模块:场景描述、场景分析和分层规划

场景描述

场景描述模块由环境描述和关键物体识别两部分组成:

  • 1.驾驶环境:
    • E w e a t h e r E_{weather} Eweather:介绍了天气状况,从晴天到下雪。在雨雾等天气条件下,由于能见度降低和道路抓地力下降,驾驶方法需要更加谨慎。
    • E t i m e E_{time} Etime:区分了白天和夜间的驾驶场景。例如,夜间驾驶的特点是能见度降低,需要谨慎的驾驶策略。
    • E r o a d E_{road} Eroad:对道路类型进行了分类,包括城市、郊区、农村或高速公路,每种道路类型都提出了独特的挑战。
    • E l a n e E_{lane} Elane:给出了车道条件的描述,识别了车辆当前的车道和机动的潜在替代方案。这些信息对于车道选择和安全换道至关重要。
  • 2.驾驶感知模块:物体类别 + BBox

场景分析

在识别出关键对象之后,我们分析它们的特征和对自我载体的潜在影响:

  • 1.静态属性 C s C_s Cs:描述物体的固有属性
    • 如路边广告牌的视觉提示或卡车的超大货物,这些属性在先发制人和导航潜在危险方面至关重要。
  • 2.运动状态 C m C_m Cm:描述了一个物体在一段时间内的动态,包括位置、方向和动作特征,这些特征对于预测物体的未来轨迹和与ego车辆的潜在交互至关重要。
  • 3.特殊行为 C b C_b Cb:指的是物体的特殊动作或手势,可以直接影响“自我”载具的下一个驾驶决策。
    • 例如,交警的手势信号在这种情况下至关重要,因为它们可以凌驾于标准的交通规则之上,并需要自主系统做出相应的反应。

我们不需要模型分析所有对象的三个特征 ( C s , C m , C b ) (C_s,C_m,C_b) (CsCmCb)。在实践中,只有一两个特征适用于一个关键对象。在分析这些特性后,DriveVLM预测每个关键对象对自车的潜在影响。例如,路边一个喝醉酒的行人可能会踩到马路上,挡住我们的路。与传统pipeline中的轨迹级预测相比,关键对象的潜在影响分析对于系统对现实世界和长尾驾驶场景的适应性至关重要。

分级规划

整合场景描述和场景分析,进一步与路线、自我姿态、速度相结合,形成规划提示,DriveVLM逐步生成驾驶计划,分为三个阶段:

  • 元行动A,记为 a i a_i ai,代表驾驶策略的短期决策。
    • 这些动作分为17类,包括但不限于加速、减速、左转、变道、微小的位置调整和等待。
    • 为了规划ego车辆在一定时期内的未来机动,我们生成了一系列元动作。这个序列中的每个元动作都是至关重要的,累积起来有助于车辆在场景中的战略导航。
  • 决策描述D:阐明了ego车辆应该采取的更细粒度的驾驶策略。
    • 持续时间(Duration)表示动作的时间方面,指定该动作应该执行多长时间或何时开始。
    • 一个决策描述的例子:等待(a)行人过马路,然后(D)继续加速(a)并进入右车道(S),3个动作,3个持续时间。这种结构化的决策描述为自主系统提供了清晰、简洁和可操作的指令。
  • 轨迹航路点W:我们将这些数值航路点映射为语言标记,以进行自回归生成。通过这种方式,DriveVLM实现了语言处理模块与空间导航的无缝集成。轨迹航路点是元动作和决策描述的空间表现形式,可以直接送入后续的控制模块。
    在这里插入图片描述
图 3. 提出的用于构建场景理解和规划数据集的数据挖掘和标注流程
(上)从数据集中随机采样的场景示例
(下)展示了数据集的多样性和复杂性。

3.2. DriveVLM-Dual

vlm大模型导致了高延迟

整合3D感知

我们将3D检测器检测到的物体表示为O3D = {ci3D, bi3D},其中bi3D表示第i个边界框,ci3D表示其类别。

  1. 我们对满足某个近似IoU阈值且与Ocmatched匹配的关键对象属于同一类别的关键对象进行分类:
    在这里插入图片描述
  2. 那些在3D数据中没有相应匹配的关键对象被标记为未匹配。对于未匹配,分析仅依赖于从图像中提取的语言符号。这种新颖的3D感知结果作为提示,使DriveVLM-Dual能够更准确地了解关键物体的位置和运动,从而提高整体性能。

在场景分析模块中,对于Ocmatched,使用相应3D物体的中心坐标、方向和历史轨迹作为模型的语言提示,辅助对象分析。

高效轨迹优化

与传统规划器集成,形成一个慢速、快速的双系统:
从DriveVLM中获得低频轨迹(记为Wslow)后,我们将其作为经典规划器高频轨迹细化的参考轨迹。在基于优化的规划器的情况下,Wslow作为优化求解器的初始解:
在这里插入图片描述

3.3. 任务和数据集

任务定义

输入包括来自周围摄像机的多视角视频V,输出可选的3D感知结果:

  • 场景描述E:天气状况Eweather、时间Etime、路况road、车道状况lane
  • 场景分析S:包括对象级分析和场景级总结S
  • Meta Actions A:代表任务级别机动的一系列动作
  • 决策描述D:驾驶决策的详细描述
  • 轨迹航路点W:概述ego车辆规划轨迹的航路点

在这里插入图片描述

图 2. SUP-AD 数据集的标注示例。

评价指标

1.场景描述/分析评估

场景描述的地面真实标签包括环境描述和事件摘要。环境条件描述包括天气条件、时间条件、道路环境和车道条件。事件摘要是关键对象的特征和影响。我们使用GPT-4从环境描述和事件摘要中提取唯一的关键信息。然后对提取的信息进行比较和量化。每一对匹配的信息都会被分配一个分数,这个分数是根据匹配的程度来估计的,无论匹配的程度是完整的、部分的还是缺失的。幻觉信息的实例会招致惩罚,降低整体得分。这些分数的总和构成了场景描述分数。

在这里插入图片描述
接下来是指定输入格式,这告知GPT-4,它的任务涉及将输出描述与基本事实描述进行比较。这种比较是基于对两种描述的关键信息的提取和分析。最后,提示概述了评分标准,以及评估输出的格式,确保评估过程具有结构化和系统化的方法。
在这里插入图片描述

2.元动作序列的评估

元动作序列的评估过程必须同时考虑匹配元动作的数量顺序安排。我们采用动态规划来比较模型的输出和标注的真实值。我们的动态规划方法类似于识别最长公共子序列使用的方法
有两个补充考虑:

  • 1.承认不同元动作的不等权重。例如,某些元行动,如“慢下来”、“等待”和“慢慢地直走”,表现出更强调态度而不是行动。元动作序列中这些动作的存在或缺失,并不会改变驾驶决策的基本语义本质,而是会修改驾驶策略,使其变得更自信或更谨慎。
    • 例如,一个“慢下来->停止->等待”的元动作序列与只有元动作“停止”的序列传递了类似的驾驶决策。因此,这些序列不应该像“左转”或“向右变道”等元动作那样招致惩罚。因此,这些被指定为“保守动作”,当它们在序列评估期间不匹配时,将施加较低的惩罚。
  • 2.解决不同元动作序列之间的潜在语义平等问题。例如,顺序“向左变道->加速->匀速直行->向右变道”和“向左变道->快速加速->匀速直行->向右变道”可能都是超车的有效方法。认识到不同的元动作序列可能传递相似的含义,我们最初使用GPT-4来生成具有可比语义含义的变体序列,除了独特的ground truth元动作序列,如表6所示。然后将得分最高的匹配作为最终决策评估的最终分数。

动态规划的状态保存在一个二维矩阵中,其中每一行对应于ground truth动作序列中的一个元动作,每一列对应于模型输出动作序列中的一个元动作,记为S r, c。动态规划从两个序列的第一个元动作开始进行递归计算。2D矩阵的每个元素都包含了当前匹配位置的最优总分,以及产生最优匹配的前面的匹配条件。在我们的动态规划算法中,三个转移方程支配着不同的情况:Smissing用于缺失匹配,sredundancy用于冗余匹配,Smatching用于成功匹配。当元动作在参考序列中的第rth位置和模型生成序列中的cth位置相同时,就会发生成功匹配。在缺失匹配的情况下,参考序列中rth位置的meta动作是不匹配的,提示与参考序列中的r−1th位置和模型生成序列中的cth位置进行比较。相反,冗余匹配意味着模型生成序列中cth位置的meta动作不匹配,从而导致进一步检查参考序列中的rth位置和模型生成序列中的c−1th位置。这些情况下的转换方程如下:
在这里插入图片描述

其中smatching = 1.0表示成功匹配后的奖励分数。如果一个被认为缺失或冗余的动作被归类为保守动作,则惩罚pmissing和redundancy被量化为smatching的一半,即0.5。相反,如果一个动作不是保守的,则两个惩罚关系都被分配为与s匹配相同的大小,即1.0。这种方法的前提是,忽略一个关键的元动作或不准确地引入一个不存在的元动作,同样会妨碍动作序列的有效性。最终得分Scoreaction应除以所选参考元动作序列的长度,公式如下:
在这里插入图片描述

4. SUP数据集

4.1. 元动作

元动作分析

元动作被分为17类。这表明SUP-AD数据集中的元操作非常多样化。
在这里插入图片描述

大多数场景包含2 - 3个元动作,少数具有复杂驱动策略的场景包含4个或更多元动作。

元动作Label

每个驾驶场景的元动作序列是根据未来帧中的实际驾驶策略手工标注的,分为三个主要类别:

  • 1.速度控制动作:从自我状态数据中的加速和制动信号中辨识,这些动作包括这些动作可以从自我状态数据中的加速和制动信号中辨识。它们包括加速、减速、快速减速、缓慢直行、匀速直行、停止、等待和倒车
  • 2.转向动作:左转、右转和转身
  • 3.变线控制动作:左变车道、右变车道、稍微左移、稍微右移

场景分类

SUP-AD数据集涵盖了40多个类别的不同驾驶场景。对某些场景类别的详细解释如下:

  • 道路施工:带有cau-的临时工作区
  • 前方有标识、障碍物和施工设备。
  • 近距切入:另一辆车突然闯入ego车的车道。
  • 回旋:一种交通交叉路口,车辆以连续的循环方式
  • 动物过马路:动物在小车前面过马路。
  • 刹车:由ego车辆的人类驾驶员按下刹车。
  • 交通警察:管理和引导交通的交通警察。
  • 阻挡交通灯:一辆巨大的车辆,遮挡了交通信号的可视性。
  • 闯入另一辆车的车道:闯入前面另一辆车的车道。
  • 匝道:在高速公路上连接主路和支路的弯曲车道。
  • 道路上的碎片:道路上有不同种类的碎片。
  • 狭窄道路:需要谨慎导航的狭窄道路。
  • 行人突然出现:行人突然出现在自动驾驶汽车前面,需要减速或刹车。
  • 公交车海报上的人:贴着海报的公交车,可能会干扰感知系统。
  • 并入高速:从低速道路驶入高速道路,需要加速行驶。
  • 障碍门:可以抬高的障碍门,阻碍道路。
  • 倒下的树木:道路上倒下的树木,需要谨慎的导航,以避免潜在的危险。
  • 复杂环境:需要谨慎导航的复杂驾驶环境。
  • 混合交通:汽车、行人和自行车出现在同一条或相邻的车道上的拥堵场景。
  • 过江:在桥上开车过江。
  • 屏幕:道路一侧有屏幕,可能会干扰感知系统。
  • 成群的牛羊:有成群牛羊的乡村道路,需要小心驾驶,以避免给这些动物造成困扰。
  • 易受伤害的道路使用者:在使用道路时更容易受伤的道路使用者,如行人、骑自行车者和摩托车手。
  • 加箍的道路:布满灰尘的道路,路面上散落着加箍。
  • 其余的场景类别是:摩托车和三轮车,十字路口,带伞的人,载车的车辆,载树枝的车辆,带管道的车辆,婴儿车,儿童,隧道,下坡,人行道摊位,雨天,穿越火车轨道,无保护的u形转弯,降雪,大型车辆入侵,落叶,消防工程,洒水器,坑洞,翻倒的摩托车,自燃和火灾,风筝,农业机械。

在这里插入图片描述

标注的例子

  • 翻倒的自行车和摩托车
    在这里插入图片描述

  • 成群的牛羊
    在这里插入图片描述

  • 倒塌的树木在这里插入图片描述

  • 穿越河流

在这里插入图片描述

  • 屏障门
    在这里插入图片描述
  • 降雪
    在这里插入图片描述

5. 实验效果

定量结果

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

消融实验

在这里插入图片描述

定性结果

在这里插入图片描述

图 4.DriveVLM 的定性结果。橙色曲线代表模型规划的未来3秒内的轨迹。
  • 在图14中,DriveVLM识别出前方缓慢行驶的车辆,并提供改变车道以超车的驾驶决策。
    在这里插入图片描述

其他看原文吧

  • 在图15和图16中,DriveVLM准确地识别了非常规车辆的类型和倒下的树,展示了其识别长尾物体的能力。

  • 在图17中,DriveVLM准确地捕获了用手势进行的交通警察信号。

  • 在图18中,DriveVLM成功识别了环形交叉路口的道路环境,并生成了一条曲线路径的规划轨迹。

5. 补充说明

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

凌青羽

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值