当自动驾驶遇上扩散模型(Panacea): 生成自动驾驶BEV数据集

news2024/11/28 14:40:59

Abstract

在自动驾驶领域,对高质量的标注训练数据的需求日益增加。在本文中,我们提出了Panacea,这是一种创新的方法,用于生成驾驶场景中的全景和可控视频,能够生成无限数量的多样化、标注的样本,对于自动驾驶的进步至关重要。Panacea解决了两个关键问题:“一致性”和“可控性”。一致性确保了时间和跨视角的一致性,而可控性确保了生成内容与相应标注的对齐。我们的方法结合了新颖的4D注意力机制和两阶段生成管道来保持一致性,并通过ControlNet框架对鸟瞰图(BEV)布局进行细致控制。Panacea在nuScenes数据集上的广泛定性和定量评估证明了其在生成高质量多视角驾驶场景视频方面的有效性。这项工作显著推动了自动驾驶领域的发展,通过有效增加用于先进BEV感知技术训练的数据集。项目地址:https://panacea-ad.github.io/

图片

图片

全景和可控视频

Introduction

在自动驾驶领域,鸟瞰图(BEV)感知方法引起了极大的兴趣,这些方法在包括3D检测、地图分割和3D车道检测等关键感知任务中表现出显著潜力。以StreamPETR为例的前沿BEV感知方法是在多视角视频上训练的。因此,构建强大的自动驾驶系统的关键在于高质量、大规模的标注视频数据集。然而,获取和标注这些数据面临着巨大的挑战。组装涵盖各种天气、环境和光照条件的多样化视频数据集不仅面临挑战,有时还伴有风险。此外,视频数据的标注需要大量的人力和成本。

受到利用合成街道图像提高感知任务性能成功案例的启发,我们的提议专注于生成合成的多视角驾驶视频数据,以支持前沿的视频感知方法的训练。为了减少高昂的标注成本,我们计划利用BEV布局序列,这些序列包括3D边界框和道路图,用于生成相应的视频。这样的BEV序列可以从标注视频数据集中获得,或者使用先进的模拟器合成。因此,这一倡议可以表述为基于BEV序列生成多样化的多视角驾驶视频。我们生成模型的有效性依赖于两个关键标准:可控性和一致性。通过输入BEV序列和描述性文本提示让用户管理生成的视频定义了可控性,而一致性强调了单一视角视频的时间一致性和多视角的一致性。

Method

预备知识:潜在扩散模型

扩散模型(DMs)通过迭代去噪正态分布的噪声ϵ来近似数据分布p(x)。具体来说,DMs首先通过一个固定的前向扩散过程构建扩散输入xt,如公式1所示。这里αt和σt表示给定的噪声计划,t表示扩散时间步。然后,去噪模型ϵθ被训练来估计从扩散输入xt中添加的噪声ϵ。这是通过最小化一个特定的损失函数来实现的。

潜在扩散模型(LDMs)是扩散模型的一种变体,它在潜在表示空间中运行,而不是在像素空间中运行,从而有效地简化了处理高维数据的挑战。这是通过感知压缩模型将像素空间图像转换为更紧凑的潜在表示来实现的。具体来说,对于图像x,该模型使用编码器E将x映射到潜在空间z = E(x)。然后,这个潜在编码z可以通过解码器D重新构建回原始图像x,即x = D(z)。LDMs的训练和推理过程与传统DMs的过程非常相似,如公式1-3所示,只是将x替换为潜在编码z。

生成高质量的多视角视频

这里我们描述如何升级预训练的图像LDM 以生成高质量的多视角视频。我们的模型利用多视角视频数据集pdata进行训练。每个视频序列包含T帧,表示序列长度,V个不同的视角,高度和宽度的维度分别为H和W。

我们的框架基于Stable Diffusion (SD) 模型,这是一个用于图像合成的强大预训练潜在扩散模型。尽管SD模型在图像生成方面表现出色,但由于缺乏序列中不同视角和帧之间的约束,直接应用于生成一致的多视角视频效果欠佳。因此,我们引入了一种创新架构:基于分解4D注意力的UNet [35],旨在同时生成整个多视角视频序列。联合扩散输入z的结构维度为H × (W × V ) × T × C,其中C表示潜在维度。这个多视角视频序列通过在宽度上连接帧构建,这与它们固有的全景性质对齐。图2(a)展示了所提出模型的整体训练框架。除了所提出的基于4D注意力的UNet,我们还引入了两阶段生成管道,大大提升了生成质量。

图片

分解4D注意力

基于分解4D注意力的UNet旨在实现跨视角和跨帧建模,同时确保计算的可行性。一个朴素的多视角视频生成方法可能采用4D (HWVT) 注意力来全面探索多视角视频表示以生成一致的样本。然而,这种方法需要过多的内存和计算资源,超出了最先进的A100 GPU的能力。因此,我们提出了一种更高效的架构,称为分解4D注意力,借鉴了视频表示学习的最新进展 [1, 2, 24, 56]。我们的模型选择性地保留了最关键的注意力操作:邻近视角之间的注意力和空间对齐的时间补丁之间的注意力。这引入了两个新的注意力模块——跨视角注意力和跨帧注意力——以及现有的视角内空间注意力。在第4.4节的实验证明中,分解4D注意力框架有效生成了一致的多视角视频,同时保持了网络的可行性和效率。

图2(b)详细介绍了我们的分解4D注意力机制。视角内注意力保留了Stable Diffusion (SD)模型中原始空间自注意力的设计,如公式4所示。为了增强跨视角一致性,我们引入了跨视角注意力。我们的观察表明,邻近视角之间的相关性最为重要,而非邻近视角之间的相关性相对不那么重要,可以忽略不计。跨视角注意力的公式如公式5所示。跨帧注意力借鉴了VLDM [3]的设计,专注于空间对齐的时间补丁。这一组件在赋予模型时间意识方面至关重要,这是生成时间一致视频的关键因素。

图片

生成可控的驾驶场景视频

在我们的Panacea模型中,旨在推动自动驾驶系统的进步,合成样本的可控性成为一个关键属性。Panacea集成了两类控制信号:粗粒度的全局控制,包括文本属性,以及细粒度的布局控制,即BEV布局序列。

粗粒度的全局控制使Panacea模型能够生成多样化的多视角视频。这是通过将CLIP编码的[32]全景和可控视频文本提示集成到UNet中实现的,这种方法类似于Stable Diffusion中使用的方法。得益于Stable Diffusion的预训练模型,Panacea可以响应文本提示合成特定的驾驶场景,如图1(c)所示。

Experiment

定性分析

时间和视图一致性
如图1(a-b)所示,Panacea显示了直接从BEV序列和文本提示生成逼真多视角视频的能力。生成的视频展示了显著的时间和跨视图一致性。例如,如图1(a)所示,前视图中的汽车在接近时保持其外观。同样,不同视图中的内容是一致的,新生成的帧与条件帧无缝对齐(见图1(b))。

图片

属性和布局控制
图1(c)展示了属性控制功能,通过修改文本提示可以操控天气、时间和场景等元素。这使得我们的方法能够模拟各种罕见的驾驶场景,包括雨雪等极端天气,从而大大增强了数据集的多样性。此外,图5展示了汽车和道路如何精确对齐BEV布局,同时保持出色的时间和视图一致性。

图片

我们采用了StreamPETR,这是一种最先进的视频感知方法,作为我们的主要评估工具。对于基于图像的生成方法评估,我们使用了StreamPETR-S,这是StreamPETR的单帧变体。

图片

图片

实现细节

我们基于Stable Diffusion 2.1 [34] 实现了我们的方法。预训练权重用于初始化UNet中的空间层。在我们的两阶段训练过程中,第一阶段的图像权重经过56k步优化,第二阶段的视频权重经过40k步优化。在推理过程中,我们使用配置了25个采样步长的DDIM [38] 采样器。视频样本的生成空间分辨率为256 × 512,帧长为8。相应地,我们的评估模型StreamPETR基于ResNet50[10]骨干网络,在相同的256 × 512分辨率下训练。更多细节可以在补充材料中找到。

定量分析

生成质量
为了验证我们生成结果的高保真度,我们将我们的方法与各种最先进的驾驶场景生成方法进行了比较。为了公平起见,我们在不使用任何后处理策略选择样本的情况下生成了整个验证集。表1中展示了我们的方法Panacea表现出显著优越的生成质量,获得了FVD 139和FID 16.96。这些指标明显超过了所有对比方法,包括视频生成方法如DriveDreamer和图像生成方法如BEVGen和BEVControl。

自动驾驶的可控性
我们的方法的可控性基于使用StreamPETR [45]获得的感知性能指标进行定量评估。我们首先生成了整个nuSences验证集的Panacea样本。然后,使用预训练的StreamPETR模型得出感知性能。相对于真实数据的感知分数的相对性能指标,作为生成样本与条件BEV序列一致性的指标。如表2所示,Panacea达到了68%的相对性能,表明生成样本的一致性很强。此外,我们的方法的第一阶段结果达到了72%的相对性能。除了验证集的评估外,Panacea更重要的特点是能够生成无限数量的注释训练样本。借此,我们为nuScenes合成了一个新训练数据集,命名为Gen-nuScenes,作为StreamPETR模型的辅助训练资源。有趣的是,仅在Gen-nuScenes上训练的StreamPETR模型获得了36.1%的nuScenes检测评分(NDS),相当于与实际nuScenes训练集相比达到77%的相对性能,如表3所示。更重要的是,将生成的数据与真实数据结合使用,将StreamPETR模型的NDS提升到49.2,比仅在真实数据上训练的模型高出2.3点。此外,图4展示了Gen-nuScenes在各种真实数据比例下持续提升StreamPETR的性能。这些结果共同证明我们的Panacea模型在生成可控多视角视频样本方面非常出色,构成了自动驾驶系统的宝贵资产。

消融研究

分解4D注意力
我们首先调查了分解4D注意力中跨视图注意力机制的影响。如表5所示,排除跨视图模块会导致FVD和FID分别下降108和5.11,这表明跨视图模块在提高视频质量方面的关键作用。此外,为了更精确地评估视图一致性,我们评估了VMS指标。引入跨视图模块使得VMS指标提升了0.8分,证实了其在改善多视图一致性方面的有效性,如图6右侧所展示的那样。跨视图模块的有效性也在图6左侧得到了说明。没有跨视图模块的情况下,不同视图中汽车的外观是不一致的。相反,结合跨视图模块后,汽车和场景在视图之间的一致性显著提高。

图片

图片

为了评估时间注意力,我们进行了消融研究,通过移除该组件。如表5所示,移除时间模块会导致FVD下降75分,突显其在保持时间一致性方面的关键作用。此外,图7简明展示了没有跨帧注意力模块的情况下,模型无法保持时间一致性,如汽车外观在帧间的变化所示。

图片

两阶段管道
为了确认我们两阶段管道提升了生成质量,我们与单阶段方案进行了比较。单阶段方法产生的FID为36.61,FVD为305,明显低于Panacea的结果。这一比较明确强调了两阶段管道在显著提升生成视频质量方面的关键影响。

总结:

本文的主要贡献:
引入了Panacea,这是一种用于驾驶场景的多视角视频生成的创新方法。该两阶段框架无缝整合了现有的视觉生成技术,同时在实现多视角和时间一致性以及关键的可控性方面进行了重要的技术改进。这些技术改进在解决方案的成功中起着重要作用。
通过全面的定性和定量评估,Panacea展示了其在生成高质量驾驶场景视频方面的熟练程度。特别重要的是,定量证据表明我们的合成视频实例显著增强了前沿BEV感知模型。我们计划将这些合成实例作为“GennuScenes”数据集发布,旨在促进视频生成领域的进一步研究。

引用CVPR2024文章:

Panacea: Panoramic and Controllable Video Generation forAutonomous Driving

关注我的公众号auto_driver_ai(Ai fighting), 第一时间获取更新内容。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1961535.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Mojo函数

正如在语言基础中提到的,Mojo支持两种类型的函数:def和fn函数。您可以在任何函数中使用这两种声明方式,包括main()函数,但它们具有不同的默认行为,如本页面所述。 我们认为def和fn都有很好的用例,并且不认…

华为云上如何创建桶

目录 一、进入对象存储服务(OBS)页面,点击【创建桶】二、输入桶的相关信息三、获取 projectId四、获取 OBS Endpoint五、获取 AK/SK一、进入对象存储服务(OBS)页面,点击【创建桶】 二、输入桶的相关信息 可以勾选购买套餐: 点【立即创建】按钮完成桶的创建。 三、获取…

FPGA开发——数码管的使用

一、概述 在我们的日常开发中,数字显示的领域中用得最多的就是数码管,这篇文章也是围绕数码管的静态显示和动态显示进行一个讲解。 1、理论 (1)数码管原理图 在对数码管进行相关控制时,其实就是对于8段发光二极管和…

LLM还能拿来做异常检测

我从csdn上一路找原文章找到了这一篇 它使用distilbert-base-uncased这个模型给表格数据做文本embedding,并且期望这个LLM已经蕴含了合理的房产相关信息,因此对于没见过的异常房产信息,一定会产生一个与大多数信息embedding都不一样的embedd…

【每日一题】【逆推法 + 贪心】【数学】造数 河南萌新联赛2024第(一)场:河南农业大学 A题 C++

河南萌新联赛2024第(一)场:河南农业大学 A题 造数 题目描述 样例 #1 样例输入 #1 2样例输出 #1 1样例 #2 样例输入 #2 5样例输出 #2 3做题思路 本题可以用逆推法 将三种操作反过来变为 − 1 , − 2 , / 2 -1 , -2 , /2 −1,−2,/2 …

Linux云计算 |【第二阶段】AUTOMATION-DAY4

主要内容: 部署Ansible、Ansible基础命令(Ansible ad-hoc命令格式、Ansible-doc帮助)、Ansible模块常用:脚本与命令模块、文件与账户模块、软件与服务模块、逻辑卷模块 补充:touch 除创建文件外,若再创建相…

DBMotion x Chat2DB:高效迁移,优雅同步,数据腾飞不再愁

DBMotion 基本介绍 数据传输服务DBMotion是一款轻量、绿色的数据库迁移、同步、校验工具。支持国产化数据迁移、支持容灾演练、支持两地三中心和异地多活;源库无感知、简单易集成、丝滑高性能。助您在多云之间随心迁移、自由容灾。 功能介绍 已支持的数据库 v1.…

尚品汇-布隆过滤器解决缓存穿透问题(二十四)

目录: (1)布隆过滤器 (2)布隆过滤器实现方式 (3)CompletableFuture异步编排 (4)CompletableFuture介绍 (1)布隆过滤器 (2&#…

web基础及http协议、

⼀、web基本概念和常识 Web:为⽤户提供的⼀种在互联⽹上浏览信息的服务,Web 服 务是动态的、可交 互的、跨平台的和图形化的。Web 服务为⽤户提供各种互联⽹服务,这些服务包括信息浏览 服务,以及各种交互式服务,包括聊…

vue3警告 `markRaw` or using `shallowRef` instead of `ref`.

百度翻译:Vue收到了一个组件,该组件被制成了一个反应对象。这可能会导致不必要的性能开销,应该通过用“markRaw”标记组件或使用“shallowRef”而不是“ref”来避免。 消除办法是 使用markRaw或者shallowRer代替ref

从原理到实践:开发视频美颜SDK与主播美颜工具详解

本篇文章,笔者将深入探讨视频美颜SDK的开发原理和实践应用,重点介绍如何打造一款功能强大的主播美颜工具。 一、视频美颜的基本原理 视频美颜的核心在于图像处理技术,主要包括面部识别、图像增强和特效处理。 1.面部识别 常见的面部识别算…

设计结构——循环结构

循环结构 什么是循环 代码的重复执行,就叫做循环。 循环的分类 无限循环:程序设计中尽量避免无限循环。(程序中的无限循环必须可控) 有限循环:循环限定循环次数或者循环的条件。 循环的构成 循环体循环条件 循环实现的三要素 循环变量…

深度学习项目 -7-使用 Python 的手写数字识别

一、前言 该文章仅作为个人学习使用 二、正文 项目源代码:深度学习项目 - 使用 Python 进行手写数字识别 - DataFlair (data-flair.training) 数据集:​​​​​​​https://drive.google.com/open?id1hJiOlxctFH3uL2yTqXU_1f6c0zLr8V_K Python 深…

AB安全产品详解Guard master Safety Products

AB安全产品详解Guard master Safety Products

程序员面试中的“八股文”:是助力还是阻力?

“八股文”在实际工作中是助力、阻力还是空谈? 作为现在各类大中小企业面试程序员时的必问内容,“八股文”似乎是很重要的存在。但“八股文”是否能在实际工作中发挥它“敲门砖”应有的作用呢?有IT人士不禁发出疑问:程序员面试考…

深入浅出mediasoup—拥塞控制

拥塞控制对于不同网络条件下保证音视频传输质量非常重要。mediasoup 移植了 WebRTC 的 GCC 模块,嵌入到服务器,使得 mediasoup 具备了和 WebRTC 客户端一样的拥塞控制能力。为了使 GCC 能够与 mediasoup 框架良好交互,mediasoup 做了很多适配…

Large Models for Time Series and Spatio-Temporal Data: A Survey and Outlook

基本信息 博客贡献人 谷雨 作者 Ming Jin, Qingsong Wen, et al. 标签 大语言模型、预训练基础模型、大模型、时间序列、时空数据、时态数据 摘要 时态数据,包括时间序列和时空数据,在现实世界的应用中极为广泛。这些数据类型记录了动态系统随时…

2024电赛H题可能用到的代码——自动行驶小车

目录 前言 一、MPU6050零漂处理 二、MPU6050的Yaw(180)误差处理 三、PID算法(增量式位置式) 四、灰度传感器(以8路为例) 1、获取黑线偏差 2、判断ABCD点(有无黑线交点) 五、总结 前言…

内存原生CRAM技术将会颠覆计算存储的未来?

近期,一项刚刚发布的最新研究表明,一种名为计算随机存取存储器(Computational Random-Access Memory, CRAM)的新技术能够极大地减少人工智能(AI)处理所需的能量消耗。这项技术由明尼苏达大学双城分校的一组…

SmartInitializingSingleton和InitializingBean的区别

SmartInitializingSingleton:接口里面就一个方法afterSingletonsInstantiated,它是spring容器将所有bean都初始化完成之后,才会去调用,要求实现它接口的bean必须是单例的。 应用场景:可以在服务启动之后去处理一些逻辑…