写在前面 & 笔者的个人理解
近年来,视觉-语言数据和模型在自动驾驶领域引起了广泛关注。许多精心设计和标注的数据集用于微调多模态大模型,使模型不仅能理解视觉输入并生成文本回答,更能适用于自动驾驶多种应用场景。由于驾驶场景的复杂多变以及驾驶行为的多样性,现有的自动驾驶模型和数据往往专注于单一场景和任务。虽然这些方法表现出了显著的性能,但模型的适用性局限于特定场景和任务,比如特定的输入类型和数据集特定的任务。一方面,我们注意到不同数据集的收集方法是由其特定任务决定的。例如,专注于极端情况和特殊物体感知的数据集只需要前视图图像,而与车辆行为预测和自车决策相关的任务则需要多视角甚至视频的输入。另一方面,每个数据集都聚焦于特定子任务。因此,在单一数据集上训练的专有模型缺乏处理现实世界中复杂多样任务所需的通用能力和迁移至新场景新任务的泛化能力。为了解决这些问题,本文提出了DriveMM,一种通用的大型多模态模型,旨在处理多种数据输入,如图像和多视角视频,同时执行广泛的自动驾驶任务,包括感知、预测和决策。
总结来说,本文的主要贡献如下:
- 提出了一种新型的一体化多模态大模型DriveMM,它具有执行各种AD任务的通用能力和有效转移到新数据集的泛化能力。
- 介绍了评估自动驾驶LMM的综合基准,其中包括六个公共数据集、四种输入类型和十三个具有挑战性的任务。据我们所知,这是首次使用多个基准来评估自动驾驶LLM。
- 提出了一个大模型原则,用于对不同的多模态数据和AD数据进行预训练和微调。DriveMM展示了最先进的性能,并在所有评估的基准测试中始终优于在单个数据集上训练的模型。
相关工作回顾
Vision-Language Driving Datasets
近年来,已经开发了许多视觉语言驱动数据集,旨在训练和评估为AD场景设计的LMM。DRAMA、CODA-LM和DriveVLM专注于风险目标和极端情况学习。除了单视图数据外,许多研究还基于nuScenes数据集构建了多视图数据。例如,NuScenes QA为3D对象关系引入了自由形式的问答注释。DriveLM、OmniDrive和NuInstruct使用原始标注和LLM生成视觉问答对,涵盖感知、推理和计划。此外,MAPLM集成了多视图数据和LiDAR数据来分析和识别路面状况。在这篇论文中,我们扩充和标准化了多个驾驶数据集,为不同的自动驾驶场景训练了一个全面的LMM。
LMMs for Autonomous Driving
LMM在各种任务中表现出了令人印象深刻的表现。最近,研究人员开始探索LLM在AD领域的潜力。早期的工作,DiLu和GPT Driver试图利用GPT-3.5和GPT-4作为驾驶规划工具。随后,DriveGPT4和RDA Driver引入了端到端的LMM,可以生成控制信号或轨迹。与通过语言处理驾驶操作的方法不同,LMDrive和DriveMLM使用解码器从隐藏的嵌入中预测控制信号。为了提高感知和推理能力,有几种方法旨在改进模型架构。Reason2Drive提出了一种先验标记器来提取局部图像特征,BEV-InMLLM将鸟瞰图(BEV)表示注入到LMM中。OmniDrive使用Q-Former3D将2D预训练知识与基本的3D空间理解相结合。ELM包含一个时间感知令牌选择模块,用于准确查询时间线索。尽管这些方法已经证明了令人满意的性能,但它们的适用性仅限于特定的场景和任务,例如特定的数据类型或特定于数据集的任务。有鉴于此,我们提出了一种一体化的LMM,旨在有效地处理AD中的各种驾驶场景和任务。
DriveMM方法详解
概览
本文提出的DriveMM是一种一体化的LMM,旨在有效地处理AD中的各种驾驶数据和任务。形式上,给定车辆传感器捕获的视觉信号Xv和用户指令Xt,DriveMM F(·)提供了与驾驶相关的分析和建议:
Xv可以表示各种数据格式,包括单目、环视图像或LiDAR捕获的图像、多图像、视频和多视频,而Xt则包含与感知、预测、推理、决策等有关的问题。通过整合不同的数据和任务,DriveMM可以在广泛的AD视觉语言数据上进行训练,从而在不同的数据集和任务之间实现相互改进。此外,一旦经过训练,DriveMM可以有效地部署在各种现实世界的AD场景中,例如不同的相机和雷达系统配置,以及各种AD任务。
在接下来的部分中,我们首先描述DriveMM的架构,它能够处理不同传感器捕获的多种类型的数据。为了促进模型对AD场景的理解,我们收集了具有多种数据格式和任务的不同数据集,然后增强和标准化它们的问答对,以加强不同数据集之间的协作。为了在各种数据集和任务上有效地训练DriveMM,我们采用了一种课程学习方法来逐步提高模型的能力。
Model Architecture
我们的目标是设计一个高效的模型架构,可以同步处理广告场景中的单幅图像、多幅图像、单视图视频和多视图视频。如图2所示,DriveMM遵循了LLaVA等主要LMM的设计。它由三个部分组成:视觉编码器Fe(·)、投影仪Fp(·)和LLM Fl(·)。
视觉编码器SigLIP:
之后,投影仪将图像特征投影到单词嵌入空间中:
基于视觉标记Hv和用户指令Xt,LLM逐步计算目标单词的概率:
视角感知提示。在方程式(4)中,典型的LMM[2,26]会使LLM输入的视觉特征变平,无法区分视角(如前视图或后视图)和格式(如图像或视频)。为了解决这个问题,我们提出了一种感知视角的提示。如表2所示,我们使用不同的占位符(即image和video)进行图像和视频输入,其中占位符在输入LLM之前将被相应的令牌替换。我们还为具有不同视角的图像/视频分配了数字标签,并在文中解释了每种图像/视频的具体相机或激光雷达。为了提高计算效率,我们对视频特征Hv应用2×2的空间池,然后将它们展平为视觉标记。DriveMM结合了视角和数据格式的信息,可以更好地解释复杂的交通状况,识别多个对象及其空间关系,并做出更明智的决策。
数据
在LMM的训练中,数据在启用和激活LLM理解多模态信息的能力方面发挥着至关重要的作用。为了提高DriveMM在多模态AD场景中的理解和推理能力,我们构建了三个不同的数据集:传统多模态数据、感知数据和自动驾驶数据。
Conventional Multimodal Data
最近的研究表明,随着数据量的增加,LMM可以实现更高的性能。然而,与在线可用的丰富图像文本数据相比,AD图像文本数据明显有限。为了提高DriveMM的性能,我们使用广泛的多模态数据预训练了一个基础模型,从而能够使用单幅图像、多幅图像和视频进行推理。
具体来说,我们构建了一个多模态数据集,其中包括图像-文本对和各种视觉指令调整数据。图像-文本对的目标是对齐视觉编码器和LLM,使模型能够对图像有基本的理解。我们使用了多个数据集,包括LCS-558K、COCO118K、CC3M。为了增强模型处理各种传感器配置(如单视图和多视图相机)中的视觉数据的能力,我们利用OneVision数据中的视觉指令调整数据,包括图像、多图像和视频。
Perception Data
为了使DriveMM具备AD感知能力,我们创建了一个全面的基础数据集,包括各种数据格式。对于单幅图像数据,我们使用COCO和Object365数据集。我们从图像中随机选择一个类别,并使用基础提示(例如,“检测图像中的所有<category>”)来提示模型检测该类别中的所有对象。我们用边界框[xmin,ymin,xmax,ymax]或区域中心[xcenter,ycenter]表示对象的位置。基于图像的大小,x和y值在0到100的范围内进行归一化。对于多视图图像和多视图视频,我们采用nuScenes[3]数据集。为了给模型注入空间意识,我们希望它不仅能预测物体边界框,还能估计相机的视角。因此,我们用[cam,xmin,ymin,xmax,ymax]或[cam,xcenter,ycenter]表示对象的位置,其中cam表示相机视角,如“cam BACK”。图3左下角展示了感知数据的一个示例。
Autonomous Driving Data
在这里,我们收集了不同的数据集来训练一个一体化的LMM,该LMM可以同步处理不同场景中的各种AD任务。具体来说,我们使用了六个自动驾驶数据集:CODA-LM、MAPLM、DriveLM、LingoQA、OmniDrive和NuInstruct。表1显示了六个数据集的详细描述。这些数据集包括各种传感器配置,如摄像头和激光雷达,以及不同的AD任务,包括感知、预测和规划。值得一提的是,不同的数据集可能会表现出不同的问题模态。为了促进协作增强,我们对问答对进行了如下扩充和标准化。问答增强。一些数据集仅限于一组固定的模板。例如,CODA-LM仅包含三个问题模板,而MAPLM则使用了五个。这阻碍了模型推广的潜力。为了克服这一局限性,我们使用GPT-4o-mini来增强问答对并增加其多样性。此外,很大一部分问题是开放式的。为了进一步增强多样性,我们将一些开放式问题随机转换为多项选择题。图3右下角展示了一个增强示例。
问答标准化。不同的数据集可能在问答风格上表现出不一致。例如,DriveLM使用“<c6,CAM BACK,1088.3,497.5>”来表示一个对象,其中“c6”表示类ID。相比之下,NuInstruct使用“<car>[c6,139,343,1511,900]”的格式,其中“c6”表示相机ID。为了确保跨数据集的兼容性,我们标准化了对象的表示并明确指定了表示格式。此外,为了适应不同大小的图像中的边界框,我们根据图像的大小将边界框的坐标标准化为0到100的范围。例如,对于NuInstruct数据集,我们将对象重新表示为“<car>[CAM BACK RIGHT,8.688,38.111,94.438,100.000]”,并在问题末尾添加格式化指令,如图3右下角所示。
训练
在本节中,我们将介绍一种课程学习方法,以逐步提高模型在各种AD数据和任务上的性能,从而形成一体化的自动驾驶模型DriveMM。具体来说,我们逐渐增加数据的复杂性,从单个图像到多个视频,以及从图像字幕到驾驶推理的任务复杂性,以训练DriveMM。如图3所示,训练过程分为四个步骤:
第一阶段:语言图像对齐。这一阶段的目标是为预训练的法学硕士提供多模态理解的基本能力。为了实现这一点,我们训练投影仪与LLM的单词嵌入空间对齐。我们冻结了视觉编码器和LLM,只优化了LCS-558K上的投影仪。
第二阶段:单幅图像预训练。在这个阶段,我们通过集体优化整个模型来进一步增强模型理解单个图像的能力。我们使用所概述的图像-文本对并优化模型的所有参数,以提高LLM对多模态任务的适用性。
第三阶段:多能力预训练。为了获得训练AD系统的稳健基础模型,我们增强了模型在不同场景下的推理和感知能力。为此,我们利用所描述的视觉指令调优数据来增强模型,以推理基本的视觉元素。此外,我们使用所描述的感知数据来促进模型的感知能力。值得注意的是,训练数据包括多种数据格式,包括单图像、单视频、多视图图像和多视图视频。通过为模型配备处理各种数据和任务的能力,我们为训练一体化AD模型奠定了基础。
第四阶段:Driving微调。为了使DriveMM能够处理广泛的AD任务,我们在不同的驾驶数据集上进一步微调了模型。具体来说,我们利用了六个增强和标准化的自动驾驶数据集。在这个阶段,我们优化了模型的所有参数。一旦经过训练,所提出的一体化DriveMM可以有效地部署在各种AD场景中,例如不同的摄像头和雷达系统配置,以及各种AD任务。
实验结果
结论
本文提出了一种一体化的大型多模态自动驾驶模型DriveMM,它可以处理各种类型的数据,并在现实世界中执行多种驾驶任务,表现出出色的通用性和鲁棒性。据我们所知,我们是第一个开发AD综合模型并在各种AD场景中跨多个数据集评估模型的公司。通过增强和标准化几个开源数据集并设计与数据相关的提示,我们从头开始对模型进行多步预训练和微调。DriveMM在现实场景中的各种数据和任务中实现了最先进的性能。