前言:
本篇文章由原paper一作Shihao Wang(王仕豪)全权翻译分享,王仕豪为北京理工大学硕士毕业生,主要从事计算机视觉和自动驾驶相关工作。他提出了StreamPETR,Far3D和OmniDrive等方法,并在nuScenes的检测和跟踪榜单上多次获得第一名。
导读:
大语言模型(Large Language Models,
LLMs)在二维视觉任务中展现了出色的推理能力,它们在端到端自动驾驶中的应用已经呈现出丰富的可能性。然而,将这些模型从二维空间理解扩展到三维空间是一个重要挑战。对于自动驾驶车辆,对于三维世界理解的精确度会直接影响到车辆的决策规划能力。虽然以往的研究已经尝试地将大语言模型应用于自动驾驶,但仍然需要一种全面和原则性的方法,将视觉语言模型的二维理解和推理能力完全扩展到复杂的三维场景中。本次我们将介绍OmniDrive解决方案,主要分为三个部分:三维VLM数据集OmniDrive-nuScenes构建,OmniDrive-Agent模型框架以及实验与分析。©️【深蓝AI】
数据集构建
受LLaVA启发,OmniDrive-nuScenes特点是使用GPT-4V全自动生成问答对,所提出的流程将三维感知的真实信息作为通过提示输入的上下文信息。把交通规则和规划模拟进一步被用作额外的输入,从而减轻了GPT-4V在理解三维环境中所面临的挑战。所提出的基准测试涵盖了一系列问题,包括需要注意的物体、反事实推理和路径规划等。
GPT4-V直接处理多视图图像和数字信息会导致较差的结果。我们选择在nuScenes的原有三维标注的基础上,使用多个步骤迭代生成QA信息。
首先将多视图按照空间信息拼接为全景图像,然后生成整个场景的描述信息,提示GPT-4V在生成描述时包括以下细节:
1)提及天气、一天中的时间(白天,夜晚等)、场景类型和其他图像内容;
2)理解每个视图的大致方向(例如,第一个前视图为左前方);
3)避免单独提及每个视图的内容,而是用相对于自车的位置替换。
之后我们把三维障碍物和车道线信息结构化表示,构建车道-物体关联,以文件树的形式表示物体和车道线之间的关系,并根据它们的三维边界框将物体的信息转化为自然语言描述。
为了增强模型的规划能力,我们分别利用模拟轨迹和专家轨迹,构建以规划为中心的QA。对于模拟轨迹:
1)根据三种驾驶意图:保持车道、左变道和右变道,选择初始车道。然后使用深度优先搜索(DFS)算法链接车道中线,获取所有可能的车辆轨迹路径。然后为各种车道(加速、减速和保持速度)选择不同的完成率和速度目标,创建模拟轨迹。
2)仅根据车道中线生成驾驶轨迹,很难模拟"超出可驾驶区域"的场景。因此,我们还对整个nuScenes数据集的自车轨迹进行了聚类,每次选择代表性的驾驶路径。然后我们将各个轨迹与三维标注进行规则式检查,判断轨迹是否安全,并给出相应的理由。
对于专家轨迹(来自nuScenes对应时刻的真实驾驶轨迹),我们先根据规则确定驾驶意图,并根据规则遍历物体标识"附近"目标,如果它到轨迹的最小距离在接下来的3秒内小于10米,就将对应的物体列在专家轨迹下面。
有了以上信息,我们让GPT输出以下QA作为训练:
●注意的物体: 给定模拟和专家轨迹,运行模拟以识别接近的物体。同时,也允许GPT-4V使用它自己的常识来识别威胁交通元素。
●反事实推理: 给定模拟轨迹,模拟检查轨迹是否违反了交通规则,如闯红灯、与其他物体或道路边界发生碰撞。
●决策和规划: 呈现高级决策以及专家轨迹,并使用GPT-4V来推理轨迹在给定轨迹的合理性。
●多轮对话: 提示GPT-4V基于图像描述信息和图像内容生成多轮对话,涉及物体计数、颜色、相对位置和光学字符识别(Optical Character Recognition, OCR)等任务。这种方法有助于改善模型对长尾物体的识别。
通过以上策略,我们结合GPT4-V强大的视觉理解能力和规则式算法的安全保障,进行QA数据集的生成。
视觉语言模型框架
为了利用二维视觉语言模型的预训练知识,处理自动驾驶中的高分辨率多视角输入。我们设计了一种基于Q-Former的架构,该架构通过将视觉特征压缩成固定数量的查询(queries)后,再将其输入到一个大型语言模型中进行处理。这种架构与基于查询的三维感知框架StreamPETR之间有着相似性,因此可以将视觉语言模型的架构与三维目标检测架构StreamPETR进行对齐,使用查询来编码动态对象和静态地图元素,然后再输出到视觉语言模型中,可以有效提高模型的三维场景理解能力。
如上图所示, OmniDrive先使用共享视觉编码器提取多视图图像特征 F m ∈ R M × H × W × C F_m\in\mathbb{R}^{M\times H\times W\times C} Fm∈RM×H×W×C。提取的特征 F m F_m Fm与位置编码 P m P_m Pm一起输入到Q-Former3D中。在Q-Former3D中,初始化检测查询 Q d Q_d Qd和文本查询 Q c Q_c Qc,并执行自注意力以交换它们的信息,这可以通过以下公式总结:
( Q , K , V ) = ( [ Q c , Q d ] , [ Q c , Q d ] , [ Q c , Q d ] ) (Q,K,V)=([Q_c,Q_d],[Qc,Qd],[Qc,Qd]) (Q,K,V)=([Qc,Qd],[Qc,Qd],[Qc,Qd])
Q ~ = M u l t i − h e a d A t t e n t i o n ( Q , K , V ) \widetilde{Q}=\mathrm{\ Multi-head\ Attention\ }(Q,K,V) Q = Multi−head Attention (Q,K,V)
其中, [ ⋅ ] [·] [⋅]代表着向量拼接操作,为了简便忽略位置编码的表示。之后文本查询和感知查询利用交叉注意力提取多视图特征:
( Q , K , V ) = ( [ Q c , Q d ] , P m + F m , F m ) \left(Q,K,V\right)=\left(\left[Q_c,Q_d\right],P_m+F_m,F_m\right) (Q,K,V)=([Qc,Qd],Pm+Fm,Fm)
Q ~ = M u l t i − h e a d A t t e n t i o n ( Q , K , V ) \widetilde{Q}=\mathrm{\ Multi-head\ Attention\ }(Q,K,V) Q = Multi−head Attention (Q,K,V)
在此之后,感知查询用于预测前景元素的类别和坐标。文本查询被发送到一个单层的多层感知机(MLP),以与大语言模型的维度对齐(在LLaMA2-7B模型中为4096维),然后参照LLaVA的方式进一步用于文本生成。在模型中,文本查询扮演了视觉-语言对齐的角色。此外,这种设计使文本查询能够利用由三维位置编码提供的几何先验和文本表示。
该方法可以对多任务学习和时间序列进行建模。在多任务学习中,可以为每个感知任务集成特定任务的Q-Former3D模块。在不同的任务中,文本查询可以收集不同交通元素的信息。本研究涵盖了如在线地图构建和三维对象检测等任务。在训练和推理阶段,两个头部共享相同分类得分的感知查询存储到历史记忆模块中,并逐帧传播缓存的特征。传播的查询通过交叉注意力与当前帧的感知查询和文本查询互动,扩展了模型处理视频输入的能力。
定性实验结果
下图展示了OmniDrive在反事实分析上的样本。车辆行驶驾驶场景为白天的路口,根据给定的三维轨迹点,模型首先识别出前方有红灯,继续前进会违反交通规则。不仅如此,模型也识别出继续驾驶会与前方停着的车辆发生碰撞,并给出了危险车辆的坐标为(+12.2,-0.2)。说明模型具有良好的三维场景理解能力,判断出了交通标志和道路的拓扑关系,以及和其它交通参与者的互动情况。
▲OmniDriv反事实分析可视化
下图展示了OmniDrive的路径规划和解释能力。在无红绿灯路口的斑马线处,解释自车正处于停止状态,并对行人进行避让。展现出视觉语言模型良好的可解释性和泛化能力。
定量实验结果
上图展示了各方法生成的轨迹和专家轨迹之间的L2误差、物体碰撞率和与道路边界的碰撞率,可以看到,得益于语言模型自回归的建模方式,该方法在三秒的规划中均领先其它方法的预测轨迹。平均误差低于其他方法0.02米。OmniDrive在物体碰撞率方面在前两秒有着更好的性能,相比于以往最好的方法BEV-Planner在2秒内的碰撞率下降了一倍,这和视觉语言模型优秀的3D场景理解能力有关。但是在3秒时,碰撞率高于VAD-Base和BEV-Planner模型,说明模型在长时间序列的规划仍有提升空间。但是在平均性能上,所提出方法仍领先于其它模型。在道路碰撞率统计上,UniAD在短期和长期路径规划方面均表现最好,其次是VAD-Base,而OmniDrive和Ego-MLP则在道路碰撞率上表现较差,这可能是因为中心线检测任务并不能很好的反应道路边界信息所导致的。
总结
为了进行视觉语言模型的训练,OmniDrive利用GPT-4V和nuScenes数据集的三维标注建立OmniDrive数据集。本文还搭建了OmniDrive模型,首先通过Q-Former3D结构作为桥梁迁移大语言模型的预训练知识,并且使用三维位置编码和目标查询为模型引入几何先验。在此基础上,结合三维目标检测和在线地图构建任务帮助语言模型理解城市化道路环境。最后利用详尽的对比实验和消融实验证明了本文的关键设计的有效性,说明OmniDrive能够在三维空间进行端到端的决策规划和反事实推理等任务。
需要注意的是,本文所使用的数据标注,很大程度上依赖于规则式算法的准确性,且标注方式未能引入足够的视频信息提高上下文,这都是未来需要改进的方向。但是我们相信,反事实推理任务结合多模态轨迹规划是未来值得研究的方向之一。
------笔者附言------
论文链接:https://arxiv.org/abs/2405.01533
我们已经将code整理好并开源,未来会持续对训练代码进行优化,支持deepspeed等大模型训练技术,欢迎大家关注!
Github:https://github.com/NVlabs/OmniDrive/
PS:本周一(7月29日),也就是今晚20:00Shihao Wang(王仕豪)将在@深蓝AI 视频号进行直播讲座,欢迎各位预约观看👇
深蓝AI·LIVE·王仕豪