【论文精读】VLM-AD:通过视觉-语言模型监督实现端到端自动驾驶

论文地址: VLM-AD: End-to-End Autonomous Driving through Vision-Language Model Supervision

摘要

        人类驾驶员依赖常识推理来应对复杂多变的真实世界驾驶场景。现有的端到端(E2E)自动驾驶(AD)模型通常被优化以模仿数据中观察到的驾驶模式,但未能捕捉到背后的推理过程。这种限制使得它们在处理具有挑战性的驾驶场景时能力受限。为了弥合这一差距,我们提出了VLM-AD,一种利用视觉语言模型(VLMs)作为教师来增强训练的方法,通过提供额外的监督信号,将非结构化的推理信息和结构化的动作标签融入训练中。这种监督能够增强模型学习更丰富的特征表示的能力,从而捕捉驾驶模式背后的逻辑。重要的是,我们的方法在推理时不需要VLM,使其适合实时部署。当与现有最先进的方法结合时,VLM-AD在nuScenes数据集上显著提高了规划精度,并降低了碰撞率。

图1. VLM-AD通过在训练期间使用辅助文本预测任务增强任意端到端驾驶模型。这些任务从视觉语言模型(VLM)中提炼驾驶推理知识,以鼓励模型学习更丰富的特征表示,而无需在训练时对VLM进行微调或在推理时使用VLM。

1. 引言

        端到端自动驾驶(AD)将感知、预测和规划统一到一个框架中,旨在协调包括检测、跟踪、建图、预测和规划在内的多个复杂任务。近期的研究方法通过使用传感器数据生成规划的自我轨迹,采用单一的整体模型来解决这些挑战。尽管这些方法已经显示出一些有希望的结果,但它们在处理具有挑战性的长尾事件时性能会下降。另一方面,人类驾驶员通常能够通过推理驾驶环境并相应地调整行为来有效处理这些场景。这突显了当前端到端模型在训练中的一个缺口,它们仅依赖于轨迹监督作为一系列点,缺乏用于学习丰富且鲁棒特征表示的推理信息,以实现更好的驾驶性能。手动标注推理信息通常成本高昂、耗时且容易出现不一致和主观的结果,这使得获取高质量和可扩展的标注变得困难。大型基础模型通过提供复杂任务(如驾驶)的推理能力提供了一种替代方案。近期的一些方法直接将大型基础模型(如大型语言模型[LLMs]和视觉语言模型[VLMs])集成到AD系统中,以利用它们的推理能力。然而,这些方法需要大量的特定领域微调,以将基于语言的输出转化为精确的数值结果,如规划轨迹或控制信号。此外,这些方法在推理时依赖于大型基础模型,这显著增加了训练成本和推理时间,使得这些方法不适合实际应用。

鉴于手动标注的局限性和直接将大型基础模型集成到驾驶系统中的挑战,我们提出了以下问题:大型基础模型(如VLMs)是否可以生成基于推理的文本信息,以增强自动驾驶模型,而无需在推理时进行集成?受此问题的启发,我们提出了VLM-AD(如图1所示),一种利用VLMs作为教师自动生成基于推理的文本标注的新方法。这些标注随后作为补充监督信号用于训练端到端流程,超越了标准轨迹标签的范围。具体来说,给定一个多视角图像序列和自车的未来轨迹,我们将未来轨迹投影到初始前视图像上,以纳入关键的时间运动信息。然后,我们通过针对车辆当前状态、预期未来行为和推理过程的针对性问题提示VLM模型,生成自由形式和结构化的响应,从而将关键的VLM知识注入训练流程。这种可扩展的方法使我们能够构建一个富含VLM生成标注的数据集,有效解决了现有驾驶数据集中缺乏推理线索的问题。我们基于这些标注设计了辅助任务,并无缝地将其整合到现有的端到端模型中进行联合训练。这些任务鼓励模型学习更丰富的特征表示,以提升驾驶性能,而无需在推理时使用VLM。我们的贡献可以总结如下:

  • 我们提出了VLM-AD,这是一种简单而有效的方法,通过精心设计的提示将VLM的驾驶推理知识提炼到端到端AD流程中,生成基于推理的行为文本标注的高质量数据集。

  • 我们设计了两个即插即用的辅助任务,通过非结构化的自由形式文本和结构化的动作标签监督现有的端到端AD流程。这些任务无需对VLM进行微调或在推理时使用,即可有效地提炼VLM知识,指导模型学习更丰富的特征表示以提升规划性能。

  • 在nuScenes数据集上的广泛实验验证了我们提出方法的有效性,显示出在L2规划误差上分别提升了14.6%和33.3%,并将UniAD和VAD的碰撞率分别降低了38.7%和57.4%。

2. 相关工作

End-to-End Autonomous Driving. 端到端自动驾驶系统将所有模块联合训练以实现统一目标,从而减少整个流程中的信息丢失。例如,ST-P3 [17] 和 UniAD [18] 提出了基于视觉的端到端自动驾驶系统,将感知、预测和规划统一起来。这些模型在开放环路的nuScenes数据集 [3] 上取得了最先进的结果。后续的研究,如VAD [26] 和VADv2 [6],引入了矢量化编码方法以实现高效的场景表示,并扩展到CARLA [14] 上的闭环仿真。近期的方法,如Ego-MLP [62]、BEV-Planner [35] 和PARA-Drive [58],进一步探索了自我状态和模块化堆栈中的新设计空间,以提升驾驶性能。尽管端到端驾驶方法在开发中显示出潜力,但它们主要被优化以模仿数据中的驾驶模式,而未能捕捉到背后的推理过程。这种局限性主要是由于现有数据集中缺乏推理信息。因此,这些方法无法获取更深层次的推理知识,这可能会限制它们在复杂场景中的性能。

Foundation Models for Autonomous Driving. 基础模型,包括大型语言模型(LLMs)和视觉语言模型(VLMs),正越来越多地被应用于自动驾驶领域,以利用它们的高级推理能力。GPT-Driver [39] 和Driving-with-LLMs [4] 使用LLMs提供带有解释的动作建议,从而增强决策的透明性。近期的一种方法 [11] 利用LLMs评估车道占用和安全性,实现更具人类直觉的场景理解。然而,基于LLM的方法主要依赖于语言输入,这限制了它们整合驾驶中丰富的视觉特征的潜力。

        VLMs通过整合语言和视觉实现多模态推理,支持诸如场景理解 [10, 21, 42, 49] 和数据生成 [24, 56, 64] 等任务。VLMs还被用于统一导航和规划 [15, 29, 51, 53] 以及端到端自动驾驶 [27, 40, 55, 61]。然而,现有的基于VLM的方法通常需要大量的特定领域微调,这显著增加了计算成本和推理延迟。与我们的方法密切相关的是,VLP [40] 将轨迹和边界框标签转换为用于对比学习的文本特征,但它没有引入超出现有监督标签的信息。相比之下,我们的方法利用VLM提供额外的推理信息,以进一步提升驾驶性能。

Multi-Task Learning. 多任务学习(MTL)通过共享表示联合执行多个相关任务,通过单独的分支或头部实现。这种方法利用共享的领域知识,增强特征的鲁棒性和泛化能力,使其非常适合端到端自动驾驶。在AD系统中,辅助任务如语义分割 [9, 19, 23, 33, 60]、深度估计 [33, 60]、高精地图和鸟瞰图分割 [8, 25, 47, 48, 63] 常被采用,以提取有意义的感知表示用于后续目标。除了视觉任务外,其他方法 [22, 59] 还预测额外的交通灯状态或控制信号,以提升驾驶性能。受多任务学习成功的启发,我们设计了新的辅助任务,通过从VLM获取高质量的推理标注,鼓励模型学习更丰富的特征表示,从而实现更可靠的规划性能。

图2. 我们提出的VLM-AD框架。我们利用VLM作为教师,生成自由形式的推理和结构化的动作标注,这些标注被转化为监督信号,通过辅助文本对齐头和动作分类头,使模型能够学习更丰富的特征表示。因此,我们的方法在推理时无需VLM,即可提供更好的规划结果和可解释的动作预测。

3. 方法

        图2展示了我们提出的VLM-AD框架的概述,它由两个主要部分组成。第一部分是注释分支,我们利用VLM生成额外的信息,创建一个补充数据集作为监督信号。第二部分是我们设计的辅助头,旨在与这种额外的监督信号对齐,并且可以有效地集成到任何端到端模型中,跟随规划模块之后。

图3. GPT-4o生成的示例标注。 给定自车前视摄像头的连续帧,我们将车辆的未来轨迹投影到第一帧上。通过使用我们设计的提示,我们获得了关于自车当前状态、预期动作和推理的三个自由形式的文本响应,以及三个结构化的动作响应。

3.1 VLM文本注释

        图3展示了注释过程,我们利用VLM作为教师,通过视觉输入丰富数据集中的额外信息,利用其从视觉输入中推理驾驶行为的能力,加深端到端模型对驾驶行为的理解。注释过程可以定义为:

其中,M(·) 表示VLM模型,P 表示语言提示,V 是视觉输入,而A 是模型的自然语言输出,作为数据集的注释。我们的目标是提供来自自车摄像头的图像,以及精心设计的提示,以从VLM获得详细且信息丰富的响应,利用其广泛的世界知识。

        在我们的工作中,我们使用了GPT-4o [2],这是一个在互联网规模数据上训练的高性能VLM,用于自动标注我们的数据集。GPT-4o能够解释场景,生成合适的基于推理的响应,并在复杂场景中准确识别自车的动作。

Visual Input. 在确定视觉输入时,我们面临两个挑战。第一个挑战是从多个摄像头中选择合适的图像,这些摄像头提供了围绕自车的360度覆盖。我们探索了两种方法:从所有视图创建一个复合大图像,或者仅使用前视图像,后者通常包含大多数驾驶任务所需的相关信息。我们的注释结果显示,这两种方法的输出质量相当,因此我们选择仅使用前视图像以降低整体复杂性。

        第二个挑战是整合时间信息,这对于有效的规划和决策至关重要。我们考虑了两种方法。一种直接的方法是输入多个连续帧作为序列,并在提示中指示未来的时间戳。然而,我们观察到VLM在时间连续性方面存在困难,经常混淆自车的身份,这可能是由于其在时间定位方面的限制 [28, 43]。因此,我们选择将自车的未来轨迹投影到单个前视图像上,利用相机的内参和外参以及传感器规格。我们在提示中指定,投影的轨迹反映了车辆的未来路径。这种成本效益高的设计允许VLM比使用图像序列更可靠地解释时间信息。

Freeform Reasoning Annotation. 作为VLM的关键输入,精心设计的问题对于增强推理能力和提高VLM响应的可解释性至关重要 [57]。在我们的方法中,我们专注于规划任务,通过设计提示来获得VLM的推理。我们创建了两种类型的问题,首先是开放式问题,旨在生成自由形式的、非结构化的响应,这些响应包含丰富且高维的语言信息。我们将这些响应称为非结构化推理注释。为了最大化VLM的推理能力,我们在提出具体问题之前提供详细的上下文描述作为初步指令。具体来说,上下文和问题定义如下:

  • C_{1}:这是自车的前视图像。红线表示未来轨迹,没有线表示停止或减速。在解释推理时,请专注于相机图像及其周围上下文,而不是引用绘制的轨迹。

  • Q_{1-1}:请描述自车的当前行为。

  • Q_{1-2}:请预测自车的未来行为。

  • Q_{1-3}:请解释当前和未来行为的推理。

        完整的输入提示定义为P_{1} = [C_{1}, Q_{1}],其中Q_{1} 表示问题集,Q_{1} = {Q_{1-1}, Q_{1-2}, Q_{1-3}}。这些开放式问题生成自由形式的文本注释,描述自车的当前状态、预期的未来行为以及VLM知识背后的推理。

Structured Action Annotation. 为了测试我们方法的灵活性,我们定义了第二种类型的问题,采用结构化格式。具体来说,我们创建了三个不同的动作集,并提示VLM从这些预定义选项中选择答案。这使我们能够为每个问题获得一个特定的动作注释。具体来说,上下文和问题定义如下:

  • C_{2}:这是自车的前视图像。红线表示未来轨迹,没有线表示停止或减速。

  • Q_{2-1}:请从控制动作列表中描述自车的动作:{直行、慢行、停止、倒车}。

  • Q_{2-2}:请从转弯动作列表中描述自车的动作:{左转、右转、掉头、无}。

  • Q_{2-3}:请从车道动作列表中描述自车的动作:{向左变道、向右变道、并入左车道、并入右车道、无}。
    完整的输入提示定义为P_{2} = [C_{2}, Q_{2}],其中Q_{2} 表示结构化动作问题集,Q_{2} = {Q_{2-1}, Q_{2-2}, Q_{2-3}}。通过这种方式,我们可以从VLM获得三个特定的动作。与自由形式文本注释相比,结构化注释的一个主要优势是它们可以用来监督端到端驾驶模型以预测人类可解释的动作,如实验结果部分(第4节)所示。

3.2 Auxiliary Heads

通常,数据驱动的端到端自动驾驶方法 [18, 26] 关注于总结一个可学习的自我特征f_{ego},以产生规划结果,这对于生成可靠且准确的规划轨迹至关重要。这个可学习的自我特征聚合了来自上游模块的所有相关信息,通过不同的网络传递。在我们的方法中,我们开发了辅助头,以该自我特征作为输入,使模型能够提炼VLM响应中的知识。

Annotation Encoding. 使用Q_{1} 问题,我们获得三个文本响应,记为,分别代表当前动作的描述、未来动作预测和推理。使用Q_{2} 问题,我们从预定义集合中获得三个动作,记为,分别对应控制动作、转弯动作和车道动作。为了将这些注释转换为监督信号,我们采用两种不同的方法生成两种对应的标签,有效地将它们集成到端到端自动驾驶流程中作为监督信号。对于来自Q_{1} 的自由形式文本注释,我们使用现成的语言模型(如CLIP [45])将文本转换为特征表示。对于结构化答案,每个动作被编码为一个独热标签。形式化表示为:

其中y_{1}y_{2} 各有三个组成部分:y_{1} = {y_{c}, y_{f}, y_{r}}y_{2} = {y_{control}, y_{turn}, y_{lane}}。这里,y_{c}、 y_{f}、和y_{r} 是大小为C的特征向量,其中C是文本嵌入的维度,而y_{control}y_{turn}y_{lane} 是三个独热动作标签,大小分别为N_{control} = 4N_{turn} = 4N_{lane} = 5

Text Feature Alignment. 使用三个文本特征y_{1} = {y_{c}, y_{f}, y_{r}} 作为监督信号,我们开发了一个特征对齐头,它以自我特征f_{ego} 作为输入。这种设置类似于知识蒸馏 [16],其中特征对齐头学习与教师VLM提供的文本特征对齐。在这个头中,我们初始化三个可学习的文本查询,q_{1} = {q_{c}, q_{f} q_{r}}。每个查询通过多头交叉注意力(MHCA)块与自我特征f_{ego}交互,其中文本查询作为注意力查询q,自我特征作为键k 和值v,产生更新后的文本查询。然后,这些更新后的查询与自我特征连接,形成该文本头的特征表示,随后通过一个多层感知机(MLP)层生成最终的特征对齐输出。这一过程可以表示为:

 其中⊕表示连接操作,而\widetilde{f}_{1} = {\widetilde{f}_{c}, \widetilde{f}_{f}, \widetilde{f}_{r}}        表示三个输出特征,用于与相应的VLM文本特征对齐。需要注意的是,我们为每个组成部分分别使用了三个独立的MHCA块,使每个文本查询能够专注于自我特征中可以用文本形式表示的特定方面。

受到DINO [1]中知识蒸馏方法的启发,该方法通过控制特征向量的平滑度和锐度来增强特征对齐质量,我们采用了类似的策略,分别对文本特征和输出特征进行归一化处理,生成特征分布而非原始特征值。具体公式如下:

其中\tau _{t}\tau _{s}是控制这些分布锐度的温度参数。这种调整能够更好地对齐输出特征和监督标签,提升知识蒸馏的对齐质量。需要注意的是,我们没有应用中心化操作,因为我们认为监督信号是真实值。

Structured Action Classification.  我们通过问题 Q_{2} 从 VLM 中获得结构化的动作标签 y_{2} = {y_{control}, y_{turn}, y_{lane}}。我们构建了一个动作分类头,它以自我特征f_{ego} 作为输入。与前面的特征对齐阶段类似,我们初始化了三个可学习的动作查询 q_{control}q_{turn}q_{lane},并通过三个多头交叉注意力(MHCA)块与f_{ego} 进行交互。在此设置中,每个动作查询作为注意力查询 q,而自我特征作为键 k 和值 v,从而产生更新后的动作查询。然后,我们将这些更新后的查询与自我特征连接,形成动作分类头的特征表示,并通过一个多层感知机(MLP)层,随后使用 Softmax 函数生成动作预测。这一过程可以表示为:

其中\widetilde{f}_{2} = {\widetilde{f}_{control}, \widetilde{f}_{turn}, \widetilde{f}_{lane}} 分别表示预测的控制动作、转弯动作和车道动作。我们为每个动作查询使用独立的 MHCA 块,以生成不同的动作标签。

3.3 Auxiliary Loss

我们定义了两个平行的辅助任务,跟随规划模块之后,以使模型能够从视觉语言模型(VLM)中提炼知识。整体训练损失定义为这两个辅助任务损失的加权和:

其中每个组成部分对应一个特定的辅助文本头,为模型提供针对性的监督信号:

        对于特征对齐任务,我们使用交叉熵loss来对齐监督特征和输出特征,确保模型能够学习到文本中传达的关键信息。对于动作分类任务,我们同样使用交叉熵损失,以确保动作分类的准确性。

4. 实验

4.1 设置

Baselines.我们提出的方法是一个通用框架,兼容多种端到端自动驾驶方法。我们通过将其应用于两个广泛认可的开源方法——UniAD [18] 和 VAD [26]——来验证其有效性。此外,我们还将我们的方法与 VLP [40] 进行比较,VLP 通过 CLIP [45] 将自车的真值标签投影到文本特征空间中,用于对比学习。
Dataset. 我们使用 nuScenes 数据集 [3] 进行开放环路规划评估。nuScenes 是一个大规模的自动驾驶数据集,包含 1000 个场景,每个场景持续约 20 秒,标注频率为 2Hz。该数据集包含详细的标注,是端到端自动驾驶研究中的热门基准。
Evaluation Protocol. 我们专注于规划任务,并使用标准指标(如 L2 位移误差和碰撞率)来评估性能。
Implementation Details. 我们使用 UniAD [18] 和 VAD [26] 的官方代码,并遵循其指定的超参数。对于我们的 VLM-AD 方法,我们为每个辅助任务头定义了一个包含 8 个头和 3 层交叉注意力的多头交叉注意力(MHCA)模块,并为每个问题 Q_{1}Q_{2} 设置了 3 个文本查询。在训练过程中,我们将温度参数 \tau _{s} 设置为 0.1,\tau _{t}设置为 0.04,以控制特征的锐度,并将\lambda _{1}设置为 1,\lambda _{2} 设置为 0.1,以平衡 L_{align}L_{action} 的权重。所有模型均在 8 块 NVIDIA H100 GPU 上使用 PyTorch 框架 [41] 进行训练。完整的实现细节、标注质量分析以及更多实验结果已在补充材料中提供。

表 1. 我们提出的 VLM-AD 方法与基线的规划结果。最佳结果以粗体显示,次佳结果以下划线显示。VLM-AD 一致优于基线,其中以推理为重点的 贡献了最显著的改进。

 4.2 主要结果

表 1 展示了将我们的 VLM-AD 方法应用于 UniAD 和 VAD 的结果,并与 VLP 进行了比较。通过比较方法 ID 0 和 1,我们使用作者提供的官方训练检查点,得到了几乎相同的规划结果。对于方法 IDs 6 和 7,以及 IDs 12 和 13,我们发现在作者的复现结果与报告值之间存在一些差异,我们认为这是由于官方代码库中图像配置的修正 [3] 所导致的。从表的第一部分可以看出,通过引入 Q_{1}Q_{2},VLM-AD 在平均 L2 规划误差和平均碰撞率方面显著优于 UniAD,并且在两项指标上均优于最先进的基线 VLP。对于 VAD,我们的 VLM-AD 一致优于 VAD-Base 和 VAD-Tiny,尤其是在 L2 规划误差指标上,并且在 VAD-Base 中的性能优于 VLP。这些结果证明了我们 VLM-AD 方法的有效性和优势。此外,Q_{1} 的表现优于 Q_{2},验证了通过丰富的推理信息监督驾驶模型的价值。

4.3 消融研究

子问题的贡献。我们进一步分析了 Q_{1} 中的每个子问题(Q_{1-1}Q_{1-2}Q_{1-3})的贡献。每个子问题提供了与自车当前状态、预测的未来动作和推理相关的特定文本信息。表 2 展示了这些子问题的消融研究结果。结果表明,每个子问题都对整体性能产生了积极影响,证明了我们设计的问题为规划任务提供了有价值的信息。值得注意的是,推理特征对降低 L2 规划误差的贡献最大,突显了推理信息在提升驾驶性能中的重要性。

特征对齐损失。我们还研究了特征对齐的其他选项,包括使用 CLIP [45] 中的对比学习损失、均方误差(MSE)损失、KL 散度损失 [30] 或最大化负余弦相似度来对齐 Q_{1} 的三个特征。表 3 的结果表明,MSE 损失在最小化特征之间的欧几里得距离时表现略优于 UniAD,但会导致训练过程中信息丢失。CLIP 损失、KL 散度和余弦相似度均优于 UniAD,但不如我们提出的对齐损失。这突显了使用不同温度对教师-学生特征的平滑度和锐度进行归一化的重要性。

模型设计。我们研究了方法中的替代设计选项。首先,我们在结构化动作分类头中用多层感知机(MLP)层代替 MHCA 块。其次,我们研究了不同的语言模型,如 T5 [46] 和 MPNet [50],除了 CLIP 之外,还用于将Q_{1} 的文本标注编码为监督标签。从表 4 可以看出,使用 MLP 的方法在 L2 性能上略逊于 UniAD,碰撞率则相同。此外,T5 和 MPNet 的表现均优于 UniAD 基线,但略逊于 CLIP。

Hyperparameter Study. 在多任务学习中,平衡不同任务的损失是一个关键挑战。我们研究了在 UniAD 中 \lambda _{1}\lambda _{2} 的超参数。表 5 的结果表明,所有三种变体均优于 UniAD。在这些变体中,当 \lambda _{1}= 0.1 且 \lambda _{2} = 1 时,性能最差,因为 Q_{1} 的标注包含的信息比 Q_{2} 的标注更有价值。

图4. UniAD与我们方法的定性比较。黄色箭头突出显示了VLM-AD优于UniAD的区域。红色框表示UniAD的失败规划命令,紫色框表示我们VLM-AD辅助文本头预测的三个动作输出。 

4.4 可视化

我们从 nuScenes 数据集中提供了四个可视化示例,如图 4 所示,以展示我们提出方法的有效性。在第一、第三和最后一行的案例中,UniAD 生成的规划轨迹曲折且缺乏平滑性,而我们的方法生成的轨迹能够准确地沿着道路行驶。此外,在第二、第三和最后一行的案例中,基线方法错误地建议了转弯意图,而自车实际上是在直行。我们的动作文本头正确地输出了“直行”的控制动作,不仅验证了 VLM 监督的有效性,还为模型的决策提供了可解释性。

5. 结论

在本工作中,我们提出了 VLM-AD,这是一种通过利用视觉语言模型(VLMs)作为辅助教师来增强端到端自动驾驶模型的新方法。通过针对 VLM 提出包含非结构化推理文本和结构化动作标签的问题,我们将推理和动作监督信息整合到训练过程中。我们的方法在 nuScenes 数据集上显著提升了规划精度,并降低了碰撞率,同时通过动作预测为输出轨迹提供了可解释性。重要的是,VLM-AD 在推理时不需要 VLM,使其能够以即插即用的方式部署于实际应用中,而不会增加额外的推理成本。

A. 实现细节

        当将我们提出的 VLM-AD 方法集成到 UniAD [18] 中时,我们遵循 UniAD 定义的联合训练协议。在第一阶段,我们使用 BEVFormer [34] 的权重初始化模型,并训练感知和建图任务共 6 个epoch。在第二阶段,我们冻结图像主干网络和鸟瞰图编码器(BEV encoder),并使用我们提出的 VLM-AD 方法进行端到端训练,共 20 个epoch。模型使用初始学习率2 × 10^{-4}、学习率衰减因子 0.1,并采用 AdamW 优化器 [37],权重衰减为 0.01 进行训练。

        当将 VLM-AD 方法集成到 VAD [26] 中时,我们采用了与原始实现相同的超参数。模型使用 AdamW优化器 [37] 和余弦退火调度器 [38] 进行训练,权重衰减为 0.01,初始学习率为 2×10^{-4}

        为了将自由形式的标注编码为文本特征,我们使用预训练的 CLIP-ViT-B/32 [45] 模型,其维度为 512。此外,我们还尝试了其他文本编码器,例如 T5-base [46] 和 MPNet-base [50],它们都将自由形式的标注编码为维度为 768 的文本特征,如第 4.3 节所述。

B. VLM Annotation

B.1. Visual Input

虽然我们在方法中使用了前视图像(如图5所示)作为视觉输入,我们也尝试了其他替代方案,包括使用覆盖自车周围360度全景的6张图像(如图6所示),以及使用连续的前视图像序列(如图7所示)。与使用全景图像作为输入相比,我们的方法能够产生类似的标注结果,同时显著降低了计算成本,因为我们处理的输入图像更小。使用连续图像序列的第二种替代方案,通常会导致错误的标注,例如错误地识别当前动作状态,以及未能检测到左转动作。这是因为VLM在理解自我中心视觉信号的时间动态方面存在挑战。此外,使用连续图像会将标注时间增加约80%,相比我们的方法。

B.2. Annotation Statistics

我们对nuScenes数据集的训练集进行了标注,该数据集包含700个场景和28,130帧图像。按照第3节中描述的方法,我们将自车的未来轨迹投影到前视图像上,并将时间步长T设置为6。与UniAD [18]一致,我们排除了缺乏足够输入数据的样本,最终得到28,032个标注样本。对于使用Q_{1}的自由形式推理标注,我们计算了每个子问题(Q_{1-1}Q_{1-2}Q_{1-3})的响应文本长度。统计结果如表6所示,其中推理标注Ar的平均响应长度最长,因为该子问题专注于详细的推理信息。对于使用Q_{2}的结构化动作标注,我们分析了三种类型动作的分布,结果如图8、图9和图10所示。大约62%的帧被标注为“直行”,89.4%为“无转弯动作”,97.3%为“无变道动作”。值得注意的是,没有帧被标注为“倒车”或“掉头”,只有极少数帧被标注为“并入左车道”或“并入右车道”。这些统计结果表明nuScenes数据集在驾驶动作的多样性方面存在一定局限性。一个有趣的观察是,VLM偶尔会输出不在我们预定义动作列表中的动作,例如“轻微左转”、“轻微右转”、“稍微向左移动”和“稍微向右移动”。在我们的工作中,我们将这些输出合并到预定义的独热类别中:“轻微左转”合并到“左转”,“轻微右转”合并到“右转”,“稍微向左移动”合并到“向左变道”,“稍微向右移动”合并到“向右变道”。这突显了使用结构化标注的优势,因为它们可以通过将VLM的输出限制在预定义的类别中来减少幻觉(hallucinations)。

B.3. Annotation Quality

为了验证VLM生成的标注质量,我们制作了一个包含50个随机样本的问卷进行评估。对于每个样本,参与者被提供了自车的前视图像(带有未来轨迹的投影),以及相应的VLM标注(Q_{1}Q_{2})。然后,我们要求参与者对每个响应进行打分。对于自由形式的推理标注,我们设定了一个1到5分的评分标准,如下所示:

  • 5分:高度一致

    • 文本描述与图像完美匹配。

    • 图像的关键元素(例如车辆状态、动作、推理)被准确描述。

    • 文本清晰、简洁且完整,没有不必要的细节或矛盾之处。

  • 4分:大多一致

    • 文本描述与图像大部分一致,但存在少量不准确或遗漏之处。

    • 关键元素被描述,但可能缺少一些次要细节。

    • 或者,文本可能包含少量冗余或略微不相关的细节,但不影响整体匹配。

  • 3分:部分一致

    • 文本描述与图像部分匹配,但存在明显的不准确或缺失细节。

    • 图像的重要方面(例如车辆速度、道路状况)可能被低估或错误描述。

    • 可能存在一些冲突或模糊的陈述。

  • 2分:大多不一致

    • 文本描述与图像大部分不一致,但包含少量相关信息。

    • 描述未能捕捉到图像的关键细节或包含明显的错误。

    • 文本中存在逻辑错误或矛盾。

  • 1分:完全不一致

    • 文本描述与图像完全不匹配。

    • 文本完全不相关或在重要方面与图像相矛盾。

    • 包含误导性信息,严重影响可解释性。

对于结构化动作标注,我们要求参与者对每个动作标注进行“正确”或“错误”的判断。

我们对5名参与者的评估结果进行了汇总,如表7所示。评分结果验证了标注的整体质量。具体来说,预测未来动作的标注 Af 得分最高,而描述推理的标注 Ar 得分最低。此外,对于动作标注,所有三种动作类型的准确率均在90%以上,其中车道动作的准确率最高,达到96%。

B.4. Successful Annotation Examples

我们提供了三个示例来展示VLM标注的质量,如图11、图12和图13所示。在图11中,VLM准确识别了红灯,并建议在路口停车。它还合理地预测了未来的动作,并清晰地解释了决策背后的逻辑。在图12中,前方有一辆白色货车,但位于对面车道。VLM正确评估了这辆货车不会影响自车的行驶,并输出了适当的驾驶动作。在图13中,自车在雨天的路口停下。尽管能见度较低,VLM仍然成功识别了红灯,并根据交通灯的状态预测了未来的动作。

B.5. Imperfect Annotation Examples

我们也提供了三个标注失败的案例,如图14、图15和图16所示。在图14中,VLM准确识别了绿灯,并根据推理标注预测了未来右转的动作。然而,它错误地从动作标注中输出了左转动作。由于我们分别查询Q1和Q2,因此Q1的响应不会影响Q2。一个可能的解决方案是引入额外的提示,以建立一个逐步提问的过程,从而获得更准确的动作标注。

在图15中,VLM输出“停车”或“慢行”作为自车的当前状态。尽管这些输出是合理的,但它们与真实情况不一致,因为投影的未来轨迹表明自车正在右转。另一方面,动作标注成功预测了正确的未来动作。在图16中,VLM错误地将行人交通灯误认为是交通灯,并提供了错误的响应。总体而言,尽管偶尔会出现错误,但VLM能够生成有意义的标注,揭示驾驶决策背后的逻辑,这也验证了我们的实验结果。通过分别查询两个独立的标注问题,我们的方法对VLM的错误具有一定的鲁棒性,因为错误通常只出现在其中一个响应中,如图14和图15所示。我们将获取更准确的VLM响应作为未来的工作,以进一步提升端到端规划模型的性能。

C. Additional Qualitative Examples

我们提供了图4的增强版本,通过一系列单独的图像展示:图17、图18、图19和图20。每幅图像都包含了数据集中的全部6个摄像头的图像,尽管我们的VLM标注流程仅关注前视图像,如第3.1节所述。除了图4之外,我们还额外提供了4个定性比较示例,以展示我们提出的方法与UniAD之间的规划结果差异,如图21、图22、图23和图24所示。在图21和图22中,UniAD生成的规划轨迹曲折且缺乏平滑性,未能保持在车道中心。相比之下,我们的方法生成的轨迹明显更加平滑,并且能够保持在车道边界内。同样,在图23和图24中,UniAD生成的命令是错误的,因为自车实际上是在直行。然而,我们的动作头成功预测了这些场景中的正确动作。这些定性示例突显了VLM-AD在复杂驾驶场景中生成更平滑、更准确的规划轨迹的能力,同时提供了更强的可解释性。

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/22649.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

百度搜索,能否将DeepSeek变成“内功”?

最近,所有的云平台和主流APP都在努力接入DeepSeek。其中,搜索类APP与搜索引擎更是“战况激烈”。那么问题来了,接入DeepSeek已经变成了标准配置,到底应该如何做出差异化?接入DeepSeek这件事能不能实现11大于2的效果&am…

Flask实现高效日志记录模块

目录 一. 简介: 1. 为什么需要请求日志 二. 日志模块组成 1. 对应日志表创建(包含日志记录的关键字段) 2. 编写日志记录静态方法 3. 在Flask中捕获请求日志 4. 捕获异常并记录错误日志 5. 编写日志接口数据展示 6. 写入数据展…

25轻化工程研究生复试面试问题汇总 轻化工程专业知识问题很全! 轻化工程复试全流程攻略 轻化工程考研复试真题汇总

轻化工程复试心里没谱?学姐带你玩转面试准备! 是不是总觉得老师会问些刁钻问题?别焦虑!其实轻化工程复试套路就那些,看完这篇攻略直接掌握复试通关密码!文中有重点面试题可直接背~ 目录 一、这些行为赶紧避…

查看已经安装的Python库,高效管理自己的Python开发环境

在日常的Python开发中,掌握如何管理和查看已经安装的库是非常重要的。这不仅能帮助你了解当前项目的依赖关系,还能避免出现版本冲突等问题。在这篇文章中,我们将详细介绍查看已安装Python库的方法,并提供一些实用的工具和技巧。 …

Selenium实战案例1:论文pdf自动下载

在上一篇文章中,我们介绍了Selenium的基础用法和一些常见技巧。今天,我们将通过中国科学:信息科学网站内当前目录论文下载这一实战案例来进一步展示Selenium的web自动化流程。 目录 中国科学:信息科学当期目录论文下载 1.网页内…

Visual Studio Code 2025 安装与高效配置教程

一、软件简介与下载 1. Visual Studio Code 是什么? Visual Studio Code(简称VS Code)是微软推出的免费开源代码编辑器,支持 智能代码补全、Git集成、插件扩展 等功能,适用于前端开发、Python、Java等多种编程场景。…

工业路由器和工业交换机,打造高效稳定的工业网络?

工业路由器和工业交换机各有千秋,但如何将它们完美结合,构建稳定高效的工业网络?答案就在这里! 工业物联网(IIoT)是高效、稳定的工业网络成为智慧工厂、工业自动化和远程监控等场景的基础支撑。工业路由器…

DeepSeek 助力 Vue 开发:打造丝滑的二维码生成(QR Code)

前言:哈喽,大家好,今天给大家分享一篇文章!并提供具体代码帮助大家深入理解,彻底掌握!创作不易,如果能帮助到大家或者给大家一些灵感和启发,欢迎收藏关注哦 💕 目录 Deep…

TSMaster【第七篇:千机百变——面板设计艺术】

武侠场景导入:唐门暗器阁的启示 江湖传言,唐门暗器之所以独步天下,全凭其「千机匣」中七十二种机关变化。TSMaster面板设计恰似打造暗器机关——控件如同飞镖、机簧、毒针,组合方式不同则威力迥异。昔日某新势力车型因仪表盘刷新…

提升 AI 服务的稳定性:Higress AI 网关的降级功能介绍

在使用 LLM 服务时,服务的稳定性和可用性至关重要。然而,由于网络问题、服务器故障或其他不可控因素,LLM 服务可能会暂时不可用。为了保障用户体验和业务连续性,Higress AI 网关提供了强大的模型降级和令牌降级功能。本文将介绍这…

提升C++项目编译速度

目录 一、问题背景 二、代码规范方面的解决方案 2.1 拆分头文件 2.2 拆分巨型类 2.3 使用前置声明 2.4 避免在头文件中包含实现 2.5 避免头文件重复包含 2.6 将常用且变动较少的独立到一个文件 三、代码业务重构方面经验 3.1 使用PIMPL(Pointer to Imple…

【学术投稿-第四届材料工程与应用力学国际学术会议(ICMEAAE 2025】材料工程与应用力学的探讨

重要信息 官网:www.icmeaae.com 时间:2025年3月7-9日 地点:中国西安 简介 第四届材料工程与应用力学(ICMEAAE 2025)将于2025年3月7日至9日在中国西安召开。本次会议将重点讨论材料科学、应用力学等领域的最新研究进…

抓包工具(三)Wireshark代理抓包Java程序的HTTPS请求

目录 一、需求背景二、操作步骤2.1 jSSLKeyLog 工具下载2.2 jSSLKeyLog工具使用2.3 将sslkeylog导入Wireshark2.4 测试Demo2.5 测试结果1)使用工具解密HTTPS前:2)实用工具解密HTTPS后: 三、补充:如果出现未解密成功的情…

[VSCode]彻底卸载和重装,并搭建Java开发环境

VSCode彻底卸载 由于当初是朋友帮忙装的,所以准备卸载,自己装一遍 从控制面板找到 vscode 将其卸载。 此时仅仅是删除了应用软件 删除安装插件 在图示路径中找到 .vscode 文件夹,将其删除,即可彻底清除安装的插件 C:\Users\user\.vscode …

泛微OA编写后端Rest接口

泛微OA编写后端Rest接口 前言 具体实现 运行结果 注意要点 总结 前言 在泛微E9中,可以通过注解的方式来编写对外的接口,之前的版本都是通过编写servlet类,然后在web.xml文件中将这个类和访问路径进行编辑之后才好在浏览器中通过输入对应…

041集——封装之:新建图层(CAD—C#二次开发入门)

如图所示&#xff1a;增加一个图层“新图层”&#xff0c;颜色为红&#xff08;1&#xff09;&#xff0c;当图层颜色定义为黄&#xff08;2&#xff09;时&#xff0c;直接覆盖之前图层颜色&#xff0c;图层名不变。 代码如下&#xff1a; /// </summary>/// <param …

Redis存储⑪主从复制_分布式系统解决单点问题

目录 1. 主从复制的概念 1.1 分布式解决单点问题 1.2 主从复制的特点 2. 模拟配置主从复制 2.1 建立复制 2.2 断开复制 2.3 安全性 2.4 只读 2.5 传输延迟 3. 主从复制的拓扑 3.1 一主一从结构 3.2 一主多从结构 3.3 树形主从结构 4. 主从复制的原理 4.1 复制过…

XiaoMi Mi5(gemini) 刷入Ubuntu Touch 16.04——安卓手机刷入Linux

最近在研究个人用的小服务器&#xff0c;期间也搞了一台某讯的盒子&#xff0c;s905的芯片&#xff0c;28G&#xff0c;刷入了Armbian&#xff0c;在自己本地当linux服务器用用挺方便的&#xff0c;但总感觉性能不太够。 然后灵机一动&#xff0c;手上还有几台旧的安卓手机&am…

SpringCould+vue3项目的后台用户管理的CURD【Taurus教育平台】

文章目录 一.SpringCouldvue3项目的后台用户管理的CURD【Taurus教育平台】 1.1 背景 二.用户列表&#xff08;分页查询&#xff09; 2.1 前端Vue3 &#xff08;Vue3-Element-Admin&#xff09;2.2 后端SpringCould 处理 三. 用户信息删除 3.1 前端Vue3 &#xff08;Vue3-Eleme…

HackTools插件+反弹shell的27种方法

前言 在渗透测试过程中&#xff0c;我们往往要使用很多命令&#xff0c;比如反弹shell、xss测试语句、sql测试语句、Linux常用提权语句、PowerShell常用语句。 为了方便&#xff0c;这里给大家推荐一个插件&#xff1a;HackTools&#xff0c;里面涵盖了渗透测试各种常用的语句…