自动驾驶作为具身人工智能的一项非常具有代表性的应用,在世界范围内得到了广泛的讨论和研究,但是目前的自动驾驶世界模型专注于传感器相关的任务,如点云、视觉以及栅格预测任务,无法同时实现预测场景演变、语言推理和与现实世界的交互等内容。因此,我们希望提出一个能够统一视觉、语言和动作的模型,具有类似人类的能力。
考虑到最近提出的栅格预测网络可以作为一种通用的3D视觉任务,更加准确的描述细粒度的3D结构,同时还包含了高级语义信息,非常适合对齐空间和语义。同时,基于自回归语言模型的视觉生成的可行性已得到彻底验证,其性能可与扩散模型相当。
因此,在本文中,我们提出了统一的3D占用-语言-动作生成世界模型,该模型统一了VLA相关任务,包括但不限于场景理解、规划和 4D占用预测,我们将提出的模型称之为OccLLaMA,其整体效果如下图所示。
OccLLaMA支持包括场景理解和推理、4D占用预测和运动规划
网络模型的整体架构&细节梳理
在详细介绍本文提出的OccLLaMA算法模型之前,下图展示了OccLLaMA算法模型的整体网络结构。
OccLLaMA算法模型的整体网络结构
通过上图可以看出,OccLLaMA算法模型的核心组件包括Scene Tokenizer、Occupancy-Language-Action生成世界模型以及为了实现多任务引入的三阶段训练方案。具体而言,为了使OccLLaMA具有理解和生成视觉模态的能力,我们选择Occupancy作为通用的视觉表示,并引入一种新颖的Scene Tokenizer来有效地构建离散场景词汇,同时考虑到稀疏性和类别不平衡。通过结合场景词汇、语言词汇和动作词汇,我们为VLA任务构建了一个统一的多模态词汇,为在一个模型中集成VLA奠定了基础。
Scene Tokenizer
受到点云处理任务的启发,我们在编码器当中引入了一种稀疏的编码策略。同时我们将非占用类别与其他语义类别分离,从而实现更高效的场景重建。
编码器
解码器
由于量化后BEV的特征图中的高度信息丢失,解码器通过堆叠卷积块和上采样层来恢复密集的3D体素特征。具体来说,为了解决类别不平衡问题,我们分别实例化轻量级体素头和分类头,以解码占用的几何和语义信息。值得注意的是,体素头为分类头提供了一个占用掩码,使我们能够仅监督占用体素的语义。
Generative World Model
统一词汇
场景预测
我们观察到语言和动作都是时间序列,这使得这些序列中的token自然适合具有原始的因果掩码和下一个token预测机制的时间注意力。具体而言,我们在与场景token对应的位置实现空间注意力,以更好地捕捉场景内的空间关系。相应地,我们初始化可学习的场景查询用于预测整个完整的场景,从而实现场景内token之间的更好交互并显著减少推理时间。在算法1中,详细解释了执行场景预测机制的算法流程,如下图所示。
场景预测的整体算法流程
训练阶段
我们的训练方案包括三个阶段,分别是scene tokenizer的训练过程,3D Occupancy-Language-Action的预训练过程,以及指令微调过程。
- scene tokenizer的训练过程:我们首先专注于场景codebook的学习,以将占用率表示为离散的标记,并计算相关的loss损失进行优化。在优化后,scene tokenizer在整个流程的后续阶段始终保持不变。
- 3D Occupancy-Language-Action的预训练过程:在这个阶段,我们专注于对齐occupancy-language-action。我们使用世界模型目标和场景目标进行全参数预训练,前者监督占用和动作之间的对齐以学习世界的演变,后者监督占用和语言之间的对齐以学习3D场景的语义理解。
- 指令微调过程:在这个阶段,我们根据LoRA针对不同场景理解和规划任务的提示指令对模型进行微调。
实验结果&评价指标
为了展示我们提出的算法模型在4D占用预测、运动规划以及视觉问答任务中的性能,我们分别针对三个任务展开了一系列的相关实验。
4D占用预测任务
4D占用预测任务旨在根据一些历史占用输入预测未来的3D占用场景。具体来说,我们使用2秒的历史帧信息来预测接下来的3秒,并使用 mIoU和IoU作为主要的评估指标。相关的实验结果统计在下表当中。
我们在两种设置下将提出的OccLLaMA与最先进的方法OccWorld进行了比较:一种是使用真实3D占用信息(-O),另外一种是使用基于相机模型FBOCC的预测结果(-F)。
首先,我们观察到我们的scene tokenizer展现出了卓越的场景重建能力。此外,我们提出的OccLLaMA可以在1秒内实现了具有竞争力的预测结果,并且在更长时间内明显优于OccWorld算法模型,凸显了我们提出的算法模型其更强的长期预测能力。
此外,OccLLaMA-F可以被视为端到端的检测流程,因为它以相机为输入。尽管任务很复杂,但OccLLaMA始终表现出强大的预测性能。为了更加直观的展示我们算法模型的有效性,我们也进行了相关的可视化,如下图所示。
4D栅格预测任务的可视化结果
运动规划任务
我们将提出的OccLLaMA算法模型的运动规划能力与利用各种输入和监督的几个强基线算法模型进行了比较,相关的实验结果如下表所示。
我们还将提出的算法模型与OccWorld算法模型在不同设置下进行了比较,例如4D占用率预测任务中的设置。我们观察到UniAD算法模型提供了最佳的表现性能,而监督标记限制了其对大规模数据集的可扩展性。作为替代方案,OccLLaMA仅依靠3D语义占用就实现了具有竞争力的表现性能,展示了其作为自动驾驶基础模型的扩展潜力。与使用占用作为输入的方法相比,OccLLaMA的表现明显优于OccNet算法模型,进一步凸显了其自回归架构的优越性。此外,超越自回归的最先进的方法OccWorld算法模型,也从侧面证明了我们提出各个模块的有效性。此外,通过集成现有方法实现的卓越性能,展示了我们方法的通用性。值得注意的是,输出轨迹而不交替场景预测会导致性能下降,这表明世界模型范式具有更大的潜力。
视觉问答任务
据我们所知,我们是第一个利用占用数据和文本指令作为输入并在自动驾驶中实现一系列3D任务的多模态大型语言模型。我们选择在NuScenes-QA基准上最先进的算法模型Lidar-LLM,作为我们的主要比较基线。此外,我们分别使用深度图像和原始图像作为输入,在 NuScenes-QA基准上评估了强大的2D LLM。我们使用Top-1准确度指标评估模型的性能,并对不同类型的问题进行单独评估。
为了确保公平性,我们在LLaMA2-7b下实现了我们的整体算法模型,这是与LiDAR-LLM和LLaVA相同的基础模型。相关的实验结果汇总在如下的表格当中。
我们观察到提出的OccLLaMA算法模型总体上提供了最佳的表现性能。与LiDAR-LLM相比,提出的OccLLaMA算法模型可以更好地捕获3D空间中的语义信息,这对于与目标相关的问题至关重要。此外,OccLLaMA算法模型将空间信息作为输入,并自然地对齐语义和空间数据,这对涉及空间关系的问题很有帮助。
相关消融对比实验
此外我们也对提出的各个模块进行了相关的消融对比实验,用于验证我们提出的各个模块的有效性。
下表展示了不同超参数对scene tokenizer重建性能的影响,包括空间分辨率、特征维度和codebook的大小。
较大的codebook会导致算法模型的过度拟合和codebook的利用率下降。较小的codebook和特征维度无法有效地模拟场景分布。分辨率与重建能力呈正相关,影响最为显著。然而,分辨率越大,重建场景所需的token数量就越多,从而增加了预测的负担。
我们也比较了生成模型的不同组成部分对预测和规划性能的影响,相关实验结果汇总在下表当中。
没有空间注意力意味着一个场景中的标记基于扁平序列顺序保持其原始因果注意力。没有动作token化意味着航点由原始语言词汇中的标记连接而成。通过实验结果可以看出,使用特定于动作的标记,而不是依赖语言词汇,可以提高预测和规划的性能。这种改进可以归因于特定于动作的标记保留了航点的物理先验,同时避免了语言词汇中的归纳偏差。此外,我们发现使用空间注意力来模拟场景内的空间依赖关系对于预测至关重要。然而,它会导致规划性能略有下降,我们将其归因于空间注意力在局部扰乱了全局因果注意力。
结论
在本文中,我们提出了OccLLaMA算法模型,一种用于多任务的自动驾驶3D占用语言动作生成世界模型。通过对4D占用预测、运动规划和视觉问答等任务的大量实验,实验数据结果证明了我们提出的OccLLaMA算法模型在多任务上的有效性。未来,我们将增加数据多样性,以进一步增强OccLLaMA算法模型的功能。