11月22日论文“ADriver-I: A General World Model for Autonomous Driving“,来自旷视科技等的论文。自动驾驶的一个通用世界模型

通常,自动驾驶采用模块化设计,将整个堆栈分为感知、预测、规划和控制部分。尽管可以解释,但这种模块化设计往往会引入大量冗余。近年来,多模态大语言模型(MLLM)和扩散模型技术在理解和生成能力方面表现出了优越的性能。在本文中,我们首先引入了交错的视觉-动作对的概念,它统一了视觉特征和控制信号的格式。基于视觉-动作对,构建一个基于MLLM和扩散模型的自动驾驶通用世界模型,称为ADriver-I。它以视觉-动作对为输入,逐步预测当前帧的控制信号。所生成的控制信号与历史的视觉-动作对一起,进一步调节去预测未来帧。利用预测的下一帧,ADriver-I执行进一步的控制信号预测。这样的过程可以无限重复,ADriver-I实现了自我创造世界中的自动驾驶。

如图所示是整个流水线:当前视频帧It和历史视觉-动作对(It−1,At−1)...,(It−3,At−3)用作MLLM和VDM( video latent diffusion model)的输入。在训练过程中,MLLM以自回归的方式输出低级控制信号集{At−2,At−1,At}。它们都受到相应的控制信号的监督。之后,输出控制信号At被进一步用作VDM的提示,预测接下来的四帧{It+1,…,It+4}。预测帧受基本事实的监督。在推断过程中,MLLM单步直接输出当前帧At的控制信号。VDM遵循相同的过程并预测未来帧。对ADriver-I来说,一件重要的事情是它为未来的自动驾驶提供了一种有吸引的可能性。生成的下一帧It+1用作下一时间的“当前帧”,并进一步输入到MLLM产生动作At+1。上述步骤可以循环重复。通过这种方式,它实现了由自己生成世界中的无限驾驶。

ADriver-I_语言模型

MLLM由三个模块组成:预训练的大语言模型(LLM)、视觉编码器和视觉适配器。采用Vicuna-7B-1.5[5]作为LLM。Vicuna模型对LLAMA2[53]进行了微调。用CLIP-ViT-Large[44]作为视觉编码器,对大量的图像-文本对进行预训练。采用两个多层感知器(MLP)层作为视觉适配器,通过LLaVA-7B-1.5[31]进行预训练,将视觉特征与语言特征对齐。

基于视频生成的潜扩散模型[47]构建VDM。它建立在SD2.1[46]的基础上,并通过类似于视频潜扩散模型[2]中的时域-觉察模块进行增强。通过集成参考视频控件来丰富具有历史条件功能的模型,该控件将给定的帧与扩散输入连接起来。此外,还保留了文本条件模块,实现动作-导向的未来生成。总之,VDM将控制信号与历史帧集成,作为MLLM的活跃生成器。

将低级控制信号转换为文本,可以作为语言由LLM处理。动作token由语言token化器进一步获得。每个视频帧都由CLIP ViT Large[44]提供特征,并由视觉适配器进行进一步处理,以产生视觉token。每个视频帧的视觉token与对应的动作 token配对形成交错的视觉-动作对。引入的视觉-动作对具有以下优点。(1) 它使多轮对话能够适应不固定的帧长度,提高了MLLM的灵活性。(2) 它统一了单词嵌入空间下的交错未来生成和动作预测。如图所示是一个多模态大语言模型中对话的例子,尽管有视觉和动作token,还引入了系统提示来描述背景,指导MLLM的推理模式。

ADriver-I_语言模型_02

VDM的文本编码器不具有与LLM相同的推理能力。当转向角值小于0时,它很难理解车辆的右转,而当转向角大于0时,则很难理解汽车的左转。为了解决这个问题,用GPT3.5[36]将低级控制信号转换为运动描述。如图所示是一个GPT3.5引导生成运动提示的对话例子,来自连续帧的控制信号用作输入。为了生成清晰的运动提示,引导它输出常见的驾驶状态,如稳定速度、加速、减速和转弯。以运动提示为条件,VDM用于预测未来帧。

ADriver-I_自动驾驶_03