写在前面&笔者的个人理解
近年来,自动驾驶技术发展迅速,在驾驶感知、运动预测、规划等领域取得了重大进展,为实现更准确、更安全的驾驶决策奠定了坚实的基础。其中,端到端自动驾驶技术取得了重大突破,端到端方法以大规模数据为基础,展现出卓越的规划能力。此外,大型视觉语言模型已经表现出越来越强大的图像理解和推理能力。通过利用其常识和逻辑,LVLM 可以分析驾驶环境并在复杂场景中做出安全的决策。利用大量驾驶数据来提高 LVLM 在自动驾驶中的性能并连接 LVLM 和端到端模型,对于实现安全、稳健和可推广的自动驾驶至关重要。
端到端自动驾驶的常见做法是直接预测未来轨迹或控制信号,而无需决策步骤。然而,这种方法可能会使模型学习更加困难,同时缺乏可解释性。相比之下,当人脑做出详细决策时,由分层高级决策和低级执行组成的系统起着至关重要的作用。此外,端到端模型通常缺乏常识,在简单场景中可能会出错。例如,它们可能会将载有交通锥的卡车误认为是路障,从而触发不必要的刹车。这些限制阻碍了端到端模型的规划性能。因此,本文针对以下涉及到的三个问题进行探索。
针对上述相关问题的讨论,本文提出了一种将 LVLM 与端到端模型相结合的自动驾驶系统,实现了从高级决策到低级轨迹预测的结构化规划。该算法称之为Senna。并且在nuScenes数据集和DriveX大规模数据集上的大量实验也证明了Senna的SOTA规划性能。
论文链接:
网络结构&技术细节梳理
在详细介绍本文提出的算法模型的网络架构细节之前,下图展示了我们提出的Senna算法模型的整体网络结构图。
整体而言,输入的场景信息包括多视角图像序列、用户指令和导航命令。用户指令作为提示输入到Senna-VLM中,其他指令则同时发送给Senna-VLM和Senna-E2E。Senna-VLM将图像和文本信息分别编码为图像和文本标记,然后由LLM进行处理。LLM生成高级决策,这些决策通过元动作编码器编码为高维特征。Senna-E2E根据场景信息和Senna-VLM生成的元动作特征预测最终的规划轨迹。我们设计了一系列面向规划的QA来训练Senna-VLM,这些QA不需要人工注释,并且可以完全通过自动标记流程大规模生成。
了解驾驶场景中的关键因素对于安全准确地进行规划至关重要。我们设计了一系列面向规划的 QA,以增强 Senna-VLM 对驾驶场景的理解。每种类型的 QA 的细节如下图所示。用于生成这些 QA 的原始数据(例如 3D 物体检测框和物体跟踪轨迹)可以通过自动注释系统获得。此外,描述性 QA 可以由 GPT-4o 等 LVLM 生成。
Senna-VLM 由四个组件组成。视觉编码器以多视角图像序列作为输入并提取图像特征,然后由Driving Vision Adapter进一步编码和压缩,产生图像标记。文本编码器将用户指令和导航命令编码为文本标记。图像和文本标记均输入到 LLM 中,后者预测高级决策。在实践中,我们使用 Vicuna-v1.5-7b作为我们的 LLM。最后,元动作编码器对决策进行编码并输出元动作特征。
我们使用 CLIP 的 ViT-L/14 作为视觉编码器,由于多幅图像输入,导致图像 token 数量过多,不仅减慢了 VLM 的训练和推理速度,还会导致模型崩溃和解码失败。因此,我们引入了 Driving Vision Adapter 模块。该模块不仅将图像特征映射到LLM特征空间,而且还对图像特征进行额外的编码和压缩,以减少图像标记的数量。具体来说,我们采用一组图像查询来对图像特征进行编码并输出图像标记:
其中,MHSA代表的是多头自注意力机制。
为了让 Senna-VLM 能够区分不同视图中的图像特征并建立空间理解,我们为驾驶场景设计了一个简单而有效的环视提示。以正面视图为例,相应的提示是:FRONT VIEW: \n image \n,其中 image 是 LLM 的特殊标记,在生成过程中将被图像标记替换。下图说明了我们提出的多视图提示和图像编码方法的设计。
最后,我们提出了元动作编码器,将LLM输出的高级决策转换为元动作特征。元动作编码器使用一组可学习的嵌入实现从元动作到元动作特征的一对一映射,下面的公式说明了生成元动作特征的过程
随后,元动作特征将被输入到 SennaE2E 中以预测规划轨迹。
Senna-E2E 扩展了 VADv2。具体来说,Senna-E2E 的输入包括多视角图像序列、导航命令和元动作特征。它由三个模块组成:感知模块,用于检测动态物体并生成局部地图;运动预测模块,用于预测动态物体的未来轨迹;规划模块,使用一组通过注意力机制与场景特征交互的规划标记来预测规划轨迹。我们将元动作特征集成为 Senna-E2E 的附加交互标记。由于元动作特征采用嵌入向量的形式,因此 Senna-VLM 可以轻松与其他端到端模型结合。Senna-E2E的轨迹规划过程可以表述如下
我们为 Senna-VLM 提出了一种三阶段训练策略。第一阶段是混合预训练,我们使用单图像数据训练Driving Vision Adapter,同时保持 Senna-VLM 中其他模块的参数不变。这样可以将图像特征映射到 LLM 特征空间。混合是指使用来自多个来源的数据,包括 LLaVA中使用的指令跟踪数据和我们提出的驾驶场景描述数据。第二阶段是驾驶微调,我们根据之前提出的面向规划的 QA 对 Senna-VLM 进行微调,不包括元动作规划 QA。在此阶段,使用环视多图像输入而不是单图像输入。第三阶段是规划微调,我们仅使用元动作规划 QA 进一步微调 Senna-VLM。
下图的实验结果展示了 Senna 在高级规划和场景描述方面的表现,并与最先进的开源 LVLM(包括 QwenVL、LLaVA 和 VILA)进行了比较。前三行的结果是通过直接评估原始模型获得的。可以看出,使用预训练权重的模型在驾驶任务上表现不佳,因为它们的训练目标是面向一般理解和对话,而不是专门针对驾驶相关任务而量身定制的。
为了进一步验证 Senna 的优势,我们还使用相同的训练流程在 DriveX 数据集上对这些模型进行了微调。Senna 在高级规划和场景描述方面均优于其他方法。与其他方法的最佳结果相比,Senna 将规划准确率提高了 10.44%。此外,在减速等最关键的驾驶安全决策中,F1 得分从 52.68 提升至 61.99,提升幅度达 17.67%,凸显了Senna在驾驶场景分析和空间理解方面的卓越能力。
此外,我们在下表中展示了 Senna 在 nuScenes 数据集上的轨迹规划性能。为了进行公平比较,我们用 VAD 替换 VADv2 作为端到端模型。与之前将 LVLM 与端到端模型相结合的 SOTA 方法相比,Senna 有效地将平均规划位移误差降低了 29.03%,碰撞率降低了 20.00%。为了避免与使用自车状态特征相关的潜在问题,我们还报告了未使用自车状态特征的结果。通过使用来自 DriveX 数据集的预训练权重初始化模型并在 nuScenes 数据集上进行微调,Senna 实现了最先进的规划性能。与 VAD 相比,平均规划位移误差显着降低了 40.28%,平均碰撞率降低了 45.45%。通过在 DriveX 数据集上进行预训练,然后在 nuScenes 数据集上进行微调,Senna 的性能得到显著增强,展示了其强大的泛化和可转移性。
下表展示了DriveX 数据集上的轨迹规划结果。除了端到端模型 VADv2 之外,我们还引入了两个额外的比较模型。第一个模型将真值规划元动作作为额外的输入特征,旨在验证我们提出的结构化规划策略的性能上限。第二个模型是我们复现的 DriveVLM,它预测低频轨迹而不是元动作,充当 LVLM 和端到端模型之间的连接器。
通过实验结果可以看出,利用真值规划元动作的 VADv2 实现了最低的规划误差,验证了我们提出的结构化规划策略的有效性。预测低频轨迹作为连接器的 DriveVLM仅比 VADv2 显示出微小的改进。相比之下,我们提出的 Senna 在所有方法中提供了最佳的规划性能,将平均规划位移误差大大降低了 14.27%。
在本文中,我们提出了LVLM 与端到端模型相结合,用于结构化规划,从高级决策到低级轨迹规划的自动驾驶系统Senna,大量的实验结果证明了我们提出的Senna算法模型的卓越性能,凸显了通过基于语言的规划将 LVLM 与端到端模型相结合的潜力。
本网站的文章部分内容可能来源于网络和网友发布,仅供大家学习与参考,如有侵权,请联系站长进行删除处理,不代表本网站立场,转载者并注明出处:https://www.jmbhsh.com/zixun/35957.html