前言
由于今年以来,一直在不断深挖具身智能机器人相关,而自动驾驶其实和机器人有着无比密切的联系,甚至可以认为,汽车就是一个带着4个轮子的机器人
加之个人认为,目前大模型落地潜力最大的两个方向,一个是机器人,另一个便是自动驾驶,于此,本文来了
本文主要涉及以下4篇paper的解读(按发表的时间顺序排列)
- DriveGPT4: Interpretable End-to-end Autonomous Driving via Large Language Model
- DriveMLM: Aligning Multi-Modal Large Language Models with Behavioral Planning States for Autonomous Driving
- DriveLM: Driving with Graph Visual Question Answering
- DriveVLM: The Convergence of Autonomous Driving and Large Vision-Language Models
第一部分 DriveGPT4:将大模型用于可解释的端到端自动驾驶
1.1 相关工作与数据生成
1.1.1 端到端自动驾驶、多模态LLM
所谓端到端自动驾驶旨在基于视觉输入直接预测车辆路径和低级控制信号
- 其中的这个工作:Deep Residual Learning for Image Recognition(byKaiming He, Xiangyu Zhang, Shaoqing Ren, Jian Sun),则被认为是第一个深度学习端到端自动驾驶的工作
在这项工作中,作者训练了一个卷积神经网络,使用单目图像作为输入来控制车辆 - 而最近的工作通过将模块输出token化来集成所有系统模块 (Hu et al., 2023; Chen et al., 2023),实现了更强大和更稳健的控制效果
然而,这些工作缺乏可解释性,限制了其可信度和商业化潜力
另一方面,语言模型在自动驾驶领域的应用,其实早在几年前,便有人在BERT、GPT等这些数据集上做尝试,然后小模型毕竟能力有限,使得这类尝试没有啥效果
然随着大模型的爆发,加速了其与自动驾驶的融合,毕竟大模型相比之前的小模型,在常识推理上有着巨大的飞跃
1.1.2 数据生成
对于BDD-X 数据集
他们从 BDD-X 数据集中获取了视频和标签。 该数据集包含大约 20,000 个样本,其中包括 16,803 个用于训练的片段和 2,123 个用于测试的片段
每个片段被分为八张图像。 BDD-X 数据集为每一帧提供控制信号数据,例如车辆速度和转向角。它还包括文本注释,详细描述每个视频片段的车辆动作描述和动作理由,如下图所示:汽车停下,因为红灯
对于BDD-X 问答
BDD-X 提供三种类型的标签:车辆动作描述、动作理由和每个视频片段的控制信号。 为了训练LLM,需要问答(QA)对
- 首先,生成一组同义问题,并使用相应的 BDD-X 标签作为答案。 例如,对于车辆动作描述,一个等同于“这辆车当前的动作是什么?”的问题应作为输入问题发送给 LLM
- 然后,大模型应该生成response,其真实标签是车辆动作描述
考虑到BDD-X数据集中有三种类型的标签,创建了三个问题集: 、和。为了防止大模型过拟合到固定的问题模式,受(Liu et al., 2023)的启发,每个问题集应包含一个问题的多个同义表达
- ,偏动作描述,包含等同于“这辆车当前的动作是什么?”的同义问题
- ,偏动作理由,包含等同于 “为什么这辆车会这样行驶?”的同义问题
- ,偏控制信号,包含等同于 “预测下一帧中车辆的速度和转向角”的同义问题
随机选择的问题和相应的标签形成一个对来创建数据集,大模型可以同时学习预测和解释车辆行为
然而,这些问答对的内容是固定和僵化的。 由于缺乏多样性,仅依靠这些问答进行训练将降低大模型的能力,使其无法回答其他格式的问题
考虑到还没有针对自动驾驶目的的视觉指令跟随数据集。 因此,他们基于 BDD-X 并借助ChatGPT 创建了DriveGPT4自己的数据集
比如,ChatGPT 被用作教师来生成更多关于自车的对话,提示通常遵循 LLaVA 中使用的提示
设计
- 为了使 ChatGPT 能够“看到”视频,让YOLOv8 (Reis et al., 2023) 来检测视频每一帧中常见的对象(例如,车辆、行人),获得的边界框坐标按照LLaVA 进行归一化,并作为特权信息发送给 ChatGPT
除了物体检测结果外,视频片段的真实控制信号序列和字幕也可以被ChatGPT访问
比如下图展示了输入ChatGPT的信息,包括视频字幕、控制信号和通过YOLOv8获得的物体检测结果 - 基于这些权信息,ChatGPT被提示生成关于自车、交通信号灯、转向方向、车道变更、周围物体、物体之间的空间关系等多个回合和类型的对话
最终,他们收集了56K视频-文本指令跟随样本,包括16K BDD-X问答和40K由ChatGPT生成的问答
1.2 DriveGPT4的模型架构与其训练
1.2.1 模型架构
DriveGPT4是一种多功能的多模态大型语言模型,能够处理各种输入类型,包括视频和文本
- 视频被均匀采样为固定数量的图像,并使用基于Valley (Luo et al., 2023) 的视频tokenizer将视频帧转换为text domain tokens
设输入视频帧表示为
对于每个视频帧,使用预训练的CLIP视觉编码器提取其特征
的第一个通道表示的全局特征,而其他256个通道对应的局部特征
为了简洁表示,图像的全局特征表示为,而图像的局部补丁特征表示为
整个视频的时间视觉特征可以表示为
其中 ⊕表示连接,整个视频的空间视觉特征由以下公式给出:
其中 表示一个池化层,将 个特征转换为一个单一的特征张量,以提高内存效率。最终,时间特征和空间特征通过投影仪projector投射到文本域(text domain)中 - 接下来,大模型Large Language Model需要基于多模态输入数据(视频数据和文本数据),以预测下一步的控制信号:p (i.e., (, ))
输入视频剪辑的时间长度和当前车辆速度包含在文本输入中
转向角表示当前帧与前一帧之间的相对角度
获得预测的token后,使用LLaMA分词器将token解码回文本,且预测的控制信号也嵌入在输出文本中(其使用固定格式,便于提取) 原因在于借鉴RT-2 (Brohan et al., 2023) 的灵感,文本和控制信号control signal使用相同的Text De-Tokenizer,这意味着控制信号可以被解释为一种语言——直接嵌入文本中且采用llama2默认的分词器
1.2.2 模型的训练:预训练与微调
与之前的LLM相关研究一致,DriveGPT4的训练分为两个阶段:
- 预训练阶段,重点在于视频-文本对齐
与LLaVA(Liu et al., 2023)和Valley(Luoet al., 2023)一致,模型在CC3M数据集的593K图像-文本对和WebVid-2M数据集(Bain et al., 2021)的703K视频-文本对上进行预训练
预训练图像和视频涵盖了各种主题,并未专门为自动驾驶应用设计。 在此阶段,CLIP编码器和LLM权重保持不变。 只有projector被训练 - 混合微调阶段,旨在训练LLM回答与可解释的端到端自动驾驶相关的问题
在此阶段,DriveGPT4中的LLM与projector一起训练
为了使DriveGPT4能够理解和处理领域知识,它使用在第之前生成的56K视频文本指令跟随数据进行训练。 为了增强DriveGPT4的视觉理解和问答能力,还利用了由LLaVA和Valley生成的223K通用指令跟随数据进行混合微调
“混合”表示通用视觉理解数据与任务特定指令调优数据一起用于我们的任务训练。 因此,DriveGPT4与56K自动驾驶视频文本指令跟随数据和223K通用指令跟随数据一起进行微调。
前者确保了DriveGPT4可以应用于可解释的端到端自动驾驶,而后者增强了DriveGPT4的数据多样性和视觉理解能力
1.3 实验
目前,除了 BDD-X 数据集外,很少有现有数据集提供由车载摄像头捕获的视频片段,并带有文本解释和控制信号的说明
因此,我们主要在 BDD-X 数据集上进行评估实验。 BDD-X 数据集经过筛选,去除控制信号和文本推理不一致的样本
1.3.1 可解释的自动驾驶:动作描述与理由、附加问答、定性结果
接下来,咱们评估 DriveGPT4 及其基线在解释生成方面的表现,涵盖车辆动作描述、动作理由以及关于车辆状态的附加问题,这是其中的几个细节
- ADAPT (Jin et al., 2023) 作为当前最先进的基准工作
但所有方法都使用8帧视频作为输入。 考虑到内存消耗和推理速度,DriveGPT4不像 ADAPT 那样使用32帧视频作为输入 - 最近的多模态视频理解大型语言模型 (Zhang et al., 2023; Luo et al., 2023) 也被考虑用于比较
测试集划分。在车辆驾驶过程中,场景的分布通常是不平衡的。 例如,一些简单的场景如直行驾驶比更具挑战性的车辆转弯或变道更常见
为了进行全面的评估比较,测试集根据驾驶场景和车辆状态分为“简单”、“中等”和“困难”集,如下表所示
最终,在动作描述和理由上,所有测试分组的评估结果显示在下表中
从结果中可以看出,DriveGPT4在所有测试数据上都优于之前的SOTA基线ADAPT,特别是在具有更具挑战性的驾驶场景和车辆动态的“困难”分组中
在附加问答上,评估结果如下表所示
ADAPT无法回答除车辆动作描述和解释之外的其他问题。 以前的视频理解LLM可以回答这些问题,但它们没有学习自动驾驶领域的知识。与所有基线相比,DriveGPT4表现出色,展示了其灵活性
在定性结果上,下图是BDD-X测试集的一个可视化示例(可以看出来,DriveGPT4可以根据提示生成高质量的文本和控制预测)
然后,为了验证DriveGPT4的泛化能力,我们将DriveGPT4应用于NuScenes数据集(Caesar等,2020)进行零样本问答,如下图所示
且还尝试在视频游戏中使用DriveGPT4,以进一步测试其泛化能力
1.3.2 PK GPT4-V:GPT4的多模态版本
作为GPT4的多模态版本,GPT4-V能够理解和推理单帧图像,然而,GPT4-V仍然是一个通用的图像模型,并未专门针对自动驾驶应用进行微调
在比较之前,GPT4-V预先提示了几个BDD-X问答对。 在定性评估期间,尽管GPT4-V展示了强大的识别和推理能力,但观察到它:1 无法预测数值控制信号,2 未能正确理解一些车辆动作,特别是动态动作(例如,转弯、加速等)
第二部分 DriveMLM
// 待更