24年2月清华和理想汽车的论文“DRIVEVLM: The Convergence of Autonomous Driving and Large Vision-Language Models”。
自动驾驶在城市环境中的一个主要障碍是理解复杂而长尾的场景,例如具有挑战性的路况和微妙的人类行为。DriveVLM是一种利用视觉语言模型(VLM)增强场景理解和规划能力的自动驾驶系统。DriveVLM集成了用于场景描述、场景分析和分层规划的思维链(CoT)模块的独特组合。此外,认识到VLM在空间推理和繁重的计算需求方面的局限性,提出DriveVLM Dual,一种将DriveVLM的优势与传统自动驾驶流水线协同的混合系统。DriveVLM Dual实现了强大的空间理解和实时推断速度。在nuScenes数据集和SUP-AD数据集上进行大量实验,在复杂和不可预测的驾驶条件下超过了现有方法。
如图是DriveVLM和DriveVLM Dual的流水线。DriveVLM接受图像序列作为输入,并通过思维链(CoT)机制输出场景描述、场景分析和分层规划结果。DriveVLM Dual进一步融合了传统的3D感知和轨迹规划模块,实现空间推理能力和实时轨迹规划。
DriveVLM首先是一系列图像由大型视觉语言模型(VLM)处理,执行特殊的思维链(CoT)[47]推理,从而得出驾驶规划结果。大型VLM包括视觉Transformer编码器[14]和大语言模型(LLM)。视觉编码器产生图像tokens;则基于注意的提取器将这些tokens与LLM对齐;最后,LLM执行CoT推理。CoT过程可分为三个模块:场景描述、场景分析和分层规划。
尽管VLM擅长识别长尾目标和理解复杂场景,但它们往往难以准确理解目标的空间位置和详细运动状态。更糟糕的是,VLM的巨大模型尺寸导致了高延迟,阻碍了它们实时响应自动驾驶的能力。为了应对这些挑战,提出了DriveVLM Dual,这种方法涉及两个关键策略:结合3D感知进行关键目标分析,以及高频轨迹细化。DriveVLM Dual是一款混合系统,结合了DriveVLM和传统的自动驾驶流水线,实现两全其美。它将3D感知结果作为语言提示,增强3D场景理解能力,并通过实时运动规划器进一步细化轨迹路径点。
一个全面的数据挖掘和标注流水线,构建所提出任务的场景理解规划(SUP-AD)数据集。具体来说,从大型数据库中进行长尾目标挖掘和富有挑战性的场景挖掘来收集样本,然后从每个样本中选择一个关键帧,并进一步进行场景注释。
长尾目标挖掘。根据真实世界的道路目标分布,首先定义长尾目标类别的列表,如形状怪异的车辆、道路碎片和横穿道路的动物。接下来,用基于CLIP的搜索引擎来挖掘这些长尾场景,该引擎能够使用来自大量日志集合的语言查询来挖掘驾驶数据。然后,进行手动检查,过滤出与指定类别不一致的场景。
具有挑战性的场景挖掘。除了长尾目标,还对具有挑战性的驾驶场景感兴趣,在这些场景中,自车的驾驶策略需要根据不断变化的驾驶条件进行调整。这些场景是根据记录的驾驶动作变化来挖掘的。
关键帧选择。每个场景都是一个视频片段,识别要注释的“关键帧”至关重要。在大多数具有挑战性的场景中,关键帧是在需要显著改变速度或方向之前的时刻。在综合测试的基础上,选择这个关键帧比实际机动早0.5s到1s,以确保决策的最佳反应时间。对于不涉及驾驶行为更改的场景,选择与当前驾驶场景相关的帧作为关键帧。
场景标注。用一组标注器来执行场景注释,包括场景描述、场景分析和规划,但可以从车辆的IMU记录中自动标记的路点除外。为了方便场景注释,制作一个视频标注工具,具有以下功能:(1)注释者可以来回滑动进度条来回放视频的任何部分;(2) 在注释关键帧时,标注器可以在图像上绘制边框和语言描述;(3) 注释者可以在注释驾驶规划时从行动和决策候选者列表中进行选择。每个注释都由3个标注器仔细验证准确性和一致性,确保了模型训练的可靠数据集。
如图是作者建立的SUP-AD数据集标注例子:
这是所提出的用于构建场景理解和规划数据集的数据挖掘和标注流水线(如上);从数据集中随机抽样的场景示例(如下)展示了数据集的多样性和复杂性。
如图是DriveVLM一个输出结果例子:识别前方缓慢行驶的车辆,并为变道超车提供驾驶决策。