专栏名称: 计算机视觉深度学习和自动驾驶
讨论计算机视觉、深度学习和自动驾驶的技术发展和挑战
目录
相关文章推荐
天津日报  ·  14℃!天津要升温了 ·  昨天  
北京晚报  ·  补时遭绝杀!遗憾……但要看到希望 ·  昨天  
北京晚报  ·  补时遭绝杀!遗憾……但要看到希望 ·  昨天  
今晚报  ·  天津又一所“实验小学”,即将投用! ·  3 天前  
今晚报  ·  天津又一所“实验小学”,即将投用! ·  3 天前  
51好读  ›  专栏  ›  计算机视觉深度学习和自动驾驶

自动驾驶中的广义预测模型

计算机视觉深度学习和自动驾驶  · 公众号  ·  · 2024-05-12 00:20

正文

24年3月上海AI实验室、香港科大、香港大学和德国图槟根大学的论文“Generalized Predictive Model for Autonomous Driving“。

本文介绍了自主驾驶中大规模 视频预测 模型。为了消除高成本数据收集的限制,并增强模型的泛化能力,从网络中获取大量数据,并将其与各种高质量的文本描述配对。由此产生的数据集OpenDV-2K累积了超过2000小时的驾驶视频,跨越世界各地具有不同天气条件和交通情况的区域。该模型(称为GenAD)继承了最近的潜扩散模型的优点,用时间推理块处理驾驶场景中具有挑战性的动态。之后以零样本的方式推广到各种未见过的驾驶数据集,超过一般或特定于驾驶的视频预测工作。此外,GenAD可以适应于动作条件预测模型或运动规划器,在真实世界的驾驶应用中具有巨大的潜力。


如图所示,本文旨在通过多模态驾驶视频数据集OpenDV-2K和一个生成模型GenAD,该模型在给定过去视觉和文本输入的情况下预测未来,从而建立一种用于自动驾驶的通用视频预测范式。GenAD的强泛化和可控性在不同的任务范围内得到了验证,包括零样本域迁移、语言条件预测、动作条件预测和运动规划。

该数据集在如下网址公开下载: https://github.com/OpenDriveLab/DriveAGI.

OpenDV-2K,一个用于自动驾驶的大规模多模态数据集,支持通用视频预测模型的训练。主要组成部分是大量高质量的 YouTube 驾驶视频,这些视频是从世界各地收集的,经过仔细的管理过程后收集到数据集中。用视觉-语言模型自动为这些视频创建语言注释。为了进一步提高传感器配置和语言表达的多样性,将 7 个公共许可的数据集合并到OpenDV-2K 中。下表是OpenDV-2K 与现有同类产品在规模和多样性方面的比较一览。请注意,带✓标记的数据集包含在 OpenDV-2K(最后一行)中。*标记是Waymo Open、Argoverse 2 和 nuPlan 中的感知子集。†标记是GPT [78] 根据视频标题估算。


OpenDV-2K 总共占用2059 小时的视频和文本配对,其中来自 YouTube 的 1747 小时和来自公共数据集的 312 小时。 用 OpenDV-YouTube 和 OpenDV-2K 分别指 YouTube 分离部分和整体数据集。

如图是OpenDV-2K 的地理分布,该数据集涵盖了世界各地充足的驾驶场景。


为了简化流程,首先选择某些视频上传者,即 YouTube 用户。 从平均长度和整体质量来看,收集了 43 个 YouTuber 的 2139 个高质量前视驾驶视频。 为了确保训练集和验证集之间不存在重叠,将 3 位 YouTuber 的所有视频用于验证,其余视频作为训练集。 为了排除视频介绍和订阅提醒等非驾驶帧,在每个视频的开头和结尾丢弃一定长度的片段。 然后用 VLM 模型 BLIP-2 [62] 用语言上下文描述每个帧。 通过手动检查这些上下文中是否存在某些关键字来进一步删除不适合训练的黑帧和过渡帧。 数据集构建流程的图示如图所示: 从 YouTube 用户那里收集合格的驾驶视频,并处理那些观点不当或涉及场景转换的视频。 然后使用VLM用语言上下文描述每一帧,再对文本进行关键字检查,例如“单词”,“水印”,“黑暗”,“模糊”等。 通过这个过程,扭曲或全黑的图像被抹掉。 分类器将具有高级意图的视频标记为命令,孵化出长达 1747 小时的高质量视频文本对的最终数据语料库。


为OpenDV-YouTube 构建了两种类型的文本,即自车的驾驶命令和框架描述,即“命令”和“上下文”,分别帮助模型理解自我行为和开放世界概念。 对于命令,在 Honda-HDD-Action [84] 上训练一个视频分类器,针对 14 种类型的动作来标记 4 秒序列中的自我行为。 这些分类命令将进一步映射到预定义字典中的多个自由格式表达式。 对于上下文,用已建立的视觉语言模型 BLIP-2 [62] 来描述每个帧的主要目标和场景。

考虑到 BLIP-2 注释是为静态帧生成的,无法理解交通灯转换等动态驾驶场景,用几个为驾驶场景提供语言描述的公共数据集 [12,13,24,51,72,84]。然而,他们的元数据相对稀疏,只有“阳光路”等几个词。用 GPT [78] 进一步增强文本质量,形成描述性“上下文”,并对每个视频剪辑记录的轨迹进行分类生成“命令”。最终,将这些数据集与 OpenDV-YouTube 集成,建立 OpenDV-2K 数据集。


如图所示,GenAD分两个阶段进行训练,即图像域迁移和视频预测预训练,第一阶段将通用文本到图像模型适应驾驶域,第二阶段使用时域推理块和修改后的训练方案将文本-到-图像模型提升为视频预测模型,另外将预测模型扩展到以动作为条件的预测和规划:(a) GenAD 的两阶段学习包括将图像扩散模型的图像域迁移到驾驶域(a.1 第一阶段)和用于建模视频时域依赖性的视频预测预训练(a.2 第二阶段);(b) GenAD 中用于第二阶段训练的一个Transformer块在每个冻结层之前交错时域推理块,对齐时空特征;(c) 时域推理块包括一个因果时间注意(TA)层和两个解耦空间注意(SA)层,提取不同轴的特征。查询网格关注自身以及那些蓝色的网格,而深灰色网格则被因果关注所屏蔽。“零初始化”附加在每个注意块的末尾,稳定训练。


车载摄像头采集的视野范围大,视觉内容丰富,包括道路、背景建筑物、周围车辆等,需要强大的生成能力来产生连续、真实的驾驶场景。 为了促进学习过程,第一阶段从独立图像生成开始。 具体来说,用 SDXL [79] 初始化模型,一种用于文本-到-图像生成的大规模潜扩散模型(LDM),以此合成具有大量视觉细节的高质量图像。

最初的 SDXL 是根据一般域的数据进行训练的,例如肖像和艺术绘画,这些数据与自动系统无关。为了使模型能够合成驾驶图像,用 OpenDV-2K 中的图像-文本对对文本-到-图像的生成进行微调。在 SDXL 的原始训练之后,UNet 的所有参数在此阶段都进行了微调,而 CLIP 文本编码器 [82] 和自动编码器 [25] 保持冻结。

由于两个基本障碍,时域预测高度动态的驾驶世界具有挑战性:

  • 1. 因果推理:为了根据驾驶世界的时间因果关系预测合理的未来,模型需要理解所有其他智体以及自车的意图,并了解潜在的交通规则,例如随交通信号灯的过渡交通将如何变化。

  • 2. 剧烈的视角飘移:与主要具有静态背景和中心目标慢速运动的典型视频生成基准相反,驾驶视角随着时间的推移而发生巨大变化,每帧中的每个像素都可能在下一帧中移动到较远的位置。

为此采用时间推理块来解决这些问题,每个块由三个连续的注意层组成,即因果时间注意层和两个解耦的空间注意层,分别为驾驶场景中的因果推理和巨大变化建模而定制。

直观上,在第一阶段微调的空间块独立地细化每个帧的特征,实现照片级真实感,而在第二阶段引入的时间块将所有视频帧的特征对齐以实现连贯性和一致性。为了进一步增强时空特征交互,将所提出的时间推理块与 SDXL中的原始 Transformer 块交织在一起,即空间注意、交叉注意和前馈网络。

对于第二阶段引入的每个块,将其最后一层的所有参数初始化为零。这避免了一开始就破坏训练好的图像生成模型先验知识,并稳定训练过程。

依靠驾驶场景中训练的视频预测能力,本文进一步开发预训练模型在动作控制预测和规划的潜力,这对于现实世界的驾驶系统非常重要。

动作条件预测。为了使预测模型可以通过精确的自我行为进行控制并充当模拟器[52],配对的未来轨迹作为附加条件来微调模型。具体来说,用傅立叶嵌入将原始轨迹映射到高维特征[100]。经过线性层进一步投影后,添加到原始条件中。因此,自我行为通过条件交叉注意层注入到网络中。

通过学习预测未来,GenAD 获得复杂驾驶场景强有力的表示,可以进一步用于规划。具体来说,冻结 GenAD 的 UNet 编码器提取两个历史帧的时空特征,该编码器几乎是整个模型大小的一半,并将它们输入多层感知器(MLP)以预测未来的路点。借助冻结的 GenAD 编码器和可学习的 MLP 层,与端到端规划模型 UniAD [47] 相比,该规划器的训练过程可以加快 3400 倍,验证了GenAD所学习的时空特征有效性。

GenAD 在 OpenDV-2K 上分两个阶段学习,但具有不同的学习目标和输入格式。在第一阶段,模型接受输入(图像-文本)对,并在文本-到-图像生成进行训练。将命令注释(每个 4 秒视频序列的标记)广播到所有包含的帧。该模型在 32 个 NVIDIA Tesla A100 GPU 上进行了 30 万次迭代训练,批量大小为 256。在第二阶段,GenAD 被训练为以过去潜变量和文本为条件对未来潜变量做联合去噪。它的输入是(视频剪辑-文本)对,其中每个视频剪辑为 4 秒,频率为 2Hz。当前GenAD 在 64 个 GPU 上进行了 112.5K 次迭代训练,批量大小为 64。在两个阶段的训练中,输入帧的大小都调整为 256×448,文本条件 c 以 p = 0.1的概率丢弃,在采样中启用无分类器指导的扩散模型[40],用于提高样本质量。


附录:

数据采集 。首先在 YouTube 上搜索自驾游视频,选出全球 43 个持续发布高质量自驾视频的视频上传者,即 YouTubers。进一步从分辨率、帧率、场景转换频率等方面检查这些YouTuber的视频质量,得到2139个高质量的前视驾驶视频。将来自 3 个选定的 YouTuber 的所有视频作为验证集,包括 Pete Drives USA、KenoVelicanstveni 和 Driving Experience,而其他视频用于训练。

格式转换 。为了简化训练图像和视频模型的数据使用,用 decord 和 opencv 工具包将所有视频预处理为图像格式的连续帧集。采样不低于 720p 分辨率的10Hz视频(例如,16:9 视频的分辨率为 1280×720)。

数据清理 。为了确保数据集的质量,排除了每个视频中常见的非驾驶帧,并引入了不需要的噪声。具体来说,舍弃了大部分视频的前90秒和后30秒,去掉开头的频道介绍和结尾的订阅提醒。对于视频介绍较长的 YouTube 用户,会丢弃视频中的前 180 或 300 秒。借助视觉-语言模型进一步检测并删除黑帧和过渡帧。首先在 BLIP-2 [62] 生成的上下文中搜索包含单词、水印、黑夜、黑暗街道和模糊等短语的帧,然后进行手动质量检查以确定将其删除。

如图所示是OpenDV-2K多种数据源的视频标注例子:


帧描述(上下文) 。用已建立的 BLIP-2 [62] 来描述每个帧中的主要目标或场景,并给出以下提示。语言注释也用于数据清理。

驾驶员命令 。与传统的行为规划方法[84]类似,将自车的命令分为13类,即{前进、路口超车、左转、右转、左变道、右变道、左车道分支、右车道 分支、人行横道通过、铁路通过、并道、调头、停止/减速、偏离}。训练一个基于光流的动作模型来注释未标记的 YouTube 数据集的命令。具体来说,用预训练的 GMFlow [114, 115] 来提取驾驶视频序列的相邻帧之间的光流。以光流及其距离图 [132] 作为输入,训练 ResNet-18 [37] 对每个 4 秒视频剪辑的动作进行分类。训练是在 Honda-HDD-Action 和 Honda-HDD-Cause [84] 的合并数据集上进行的,该数据集提供了指定的动作注释。对于每种类型的动作,将其与多种表达方式相匹配,丰富语言理解。在训练过程中,为每个动作从匹配的标题集中随机选择一个文本。

对OpenDV-YouTube 数据集的分析如下。

地理多样性分析 。采用 GPT-3.5-turbo [78] 从每个视频的字幕中推断出其地理信息。还应用手工制定的规则对 GPT-3.5-turbo 的结果进行后处理,以处理一个城市或一个国家的多个别名。为简单起见,假设视频的所有剪辑都是在同一位置拍摄的。对于具有多个推断位置的视频,假设该视频中包含的所有剪辑均匀分布在这些位置。对于由具有 N 个推断位置的 M 个剪辑组成的视频,假设每个站点都有 MN 个剪辑。







请到「今天看啥」查看全文