本文经自动驾驶之心公众号授权转载,转载请联系出处。
笔者的个人理解
虽然扩散模型在2D数据合成上已有很大进展,但如何使用扩散模型生成街景图像用于图像增强并没有很好的实现,当前已有工作通过2D bbox和segment作为条件,如何拓展到相机位姿(embedding),道路地图(embedding)和3D边界框(embedding)及场景描述(文本)作为控制条件呢?这将对BEV和3D任务有很大帮助。
MagicDrive主要思路是啥?
最近在扩散模型方面的进展显著提升了与2D控制相关的数据合成。然而,在街景生成中精确的3D控制对于3D感知任务至关重要,但仍然难以实现。将鸟瞰图(BEV)作为主要条件通常会导致在几何控制方面(例如高度)出现挑战,从而影响目标形状、遮挡模式和道路表面高程的表示,所有这些对于感知数据合成尤为重要,特别是对于3D目标检测任务而言。MagicDrive是一种新颖的街景生成框架,提供多样化的3D几何控制,包括相机位姿、道路地图和3D边界框,以及通过量身定制的编码策略实现的文本描述。此外还包括一个跨视图注意力模块,确保在多个摄像机视图之间保持一致性。通过MAGICDRIVE实现了高保真的街景合成,捕捉到微妙的3D几何和各种场景描述,从而增强了诸如BEV分割和3D目标检测等任务。
领域目前的工作
条件生成的扩散模型。 扩散模型通过学习从高斯噪声分布到图像分布的渐进去噪过程生成图像。由于它们在处理各种形式的控制和多种条件方面的适应性和能力,这些模型在各种任务中表现出色,如文本到图像的合成,修复以及指导性图像编辑。此外,从几何标注中合成的数据可以帮助下游任务,如2D目标检测。因此,本文探讨了text-to-image (T2I)扩散模型在生成街景图像并惠及下游3D感知模型方面的潜力。
街景生成。 许多街景生成模型以2D布局为条件,如2D边界框和语义分割。这些方法利用与图像比例直接对应的2D布局信息,而3D信息则不具备这种特性,因此使得这些方法不适用于利用3D信息进行生成。对于带有3D几何的街景合成,BEVGen是第一个进行尝试的。它使用BEV地图作为道路和车辆的条件。然而,省略高度信息限制了它在3D目标检测中的应用。BEVControl通过高度提升过程修正了目标高度的损失,但是从3D到2D的投影导致了关键的3D几何信息的丧失,如深度和遮挡。因此,它们都没有充分利用3D标注,也不能利用对驾驶场景的文本控制。MagicDrive提出分别对边界框和道路地图进行编码,以实现更为微妙的控制,并整合场景描述,提供对街景生成的增强控制。
3D场景的多摄像机图像生成 基本上需要视角一致性。在室内场景的背景下,一些研究已经解决了这个问题。例如,MVDiffusion使用全景图像和交叉视图注意力模块来保持全局一致性,而pose-guided diffusion则利用极线几何作为约束先验。然而,这些方法主要依赖于图像视图的连续性,而在街景中并不总是满足,因为摄像机重叠有限。MAGICDRIVE在UNet中引入了额外的跨视图注意力模块,显著增强了跨多摄像机视图的一致性。
MagicDrive的优势有哪些?
尽管MAGICDRIVE框架非常简单,但在生成与道路地图、3D边界框和多样化摄像机视角相一致的逼真图像方面表现出色。此外,生成的图像可以增强对3D目标检测和BEV分割任务的训练。MAGICDRIVE在场景、背景和前景层面提供了全面的几何控制。这种灵活性使其能够创造出以前未曾见过的适用于仿真目的的街景视图。总结本工作的主要贡献如下:
- 引入了MAGICDRIVE,这是一个创新的框架,生成基于BEV和为自动驾驶量身定制的3D数据的多透视摄像机视图。
- 开发了简单而强大的策略,有效应对多摄像机视图一致性的挑战,对3D几何数据进行管理。
- 通过严格的实验证明,MAGICDRIVE在先前的街景生成技术方面表现出色,尤其是在多维度可控性方面。此外结果显示,合成数据在3D感知任务中带来了显著的改进。
方法设计
问题表述
将激光雷达系统的坐标视为主车的坐标,并根据它参数化所有几何信息。设 是对主车周围驾驶场景的描述,, 其中 是表示 BEV 中 米道路区域的二值图,具有 个语义类别, 对于场景中的每个目标, 表示 3D 边界框位置 和类别 , 是描述场景附加信息的文本(例如,天气和一天中的时间)。给定一个相机位姿 , 街景图像生成的目标是学习一个生成器 合成真实图像 对应场景 和相机位姿 下, , 其中 是服从随机高斯分布.
条件扩散模型。 扩散模型通过迭代次随机高斯噪声的去噪过程来生成图像 。通常为了学习去噪过程, 网络被训练为通过最小化均方误差来预测噪声:
其中 是要训练的网络, 参数 是可选的条件用于条件生成, 是时间步长, 是加性高斯噪声,并且 是标量参数. Latent diffusion models (LDM) 是特殊的一种扩散模型, 这类模型初始化一个预训练的Vector Quantized Variational AutoEncoder (VQVAE,矢量量化变分自动编码器)并在隐空间执行扩散过程. 给定一个VQ-VAE编码器 , 在LDM中,可以把重写为。此外,LDM 将描述图像的文本视为条件.
具有 3D 信息的街景生成
几何条件编码
如图所示,采用两种策略将信息注入到扩散模型的 UNet 中:交叉注意力和加性编码器分支。鉴于注意力机制是针对顺序数据量身定制的,交叉注意力适用于管理可变长度输入,例如文本标记和边界框。相反,对于网格状数据,例如道路地图,加法编码器分支在信息注入方面是有效的。因此,MAGICDRIVE 针对各种情况采用不同的编码模块。
Scene-level Encoding 包含相机位姿 , 和文本序列. 对于文本来说, 对于文本,使用模板构建提示:“在 {location} 的驾驶场景图像。{description} ”,并利用预训练的 CLIP 文本编码器 作为 LDM. 对于相机姿态,首先将每个参数按其列连接起来,得到. 由于 包含来自 sin/cos 函数的值以及 3D 偏移,为了让模型有效地解释这些高频变化,将傅立叶embedding应用于每个 3 维向量,然后再利用多层感知(MLP、Ecam)来embedding相机位姿参数, 为了保持一致性,本文将 的维度设置为与 相同。通过 CLIP 文本编码器,每个embedding 的文本已经包含位置信息。因此将相机姿势embedding 添加到文本embedding之前,从而产生场景级embedding .
3D 边界框编码。 由于每个驾驶场景都有不同长度的边界框,因此通过类似于场景级信息的交叉注意机制注入它们。具体来说,将每个框编码为隐藏向量 ,其维度与 相同。每个 3D 边界框 包含两种类型的信息:类标签 和框位置 。对于类别标签, 类别名称 的池化向量被视为标签embedding。对于框位置 ,由其 8 个角点的坐标表示,对每个点使用傅里叶embedding,并通过 MLP 进行编码。然后使用 MLP 将类和位置向量压缩到一个隐藏向量中。每个场景的所有边界框的最终隐状态表示为 ,其中 是bbox的数量。
理想情况下,模型通过训练学习边界框和相机姿态之间的几何关系。然而,不同视图的可见框数量的分布是长尾的。因此通过过滤每个视图 的可见目标来引导学习。此外还添加了不可见的框进行增强。
Road Map编码. 地图是2D网格的形式. 已有工作表明addictive编码器可以将此类数据纳入 指导,地图的 BEV 和相机的第一人称视角 (FPV) 之间固有的视角差异会产生差异。BEVControl采用反投影从 BEV 转换为 FPV,但由于不适定问题而使情况变得复杂。在 MAGICDRIVE 中, 提出显式视图变换是不必要的,因为足够的 3D 线索(例如,距目标框的高度和相机姿势)允许addictive编码器完成视图变换。具体来说, 将场景级和 3D 边界框嵌入集成到地图编码器中。场景级嵌入提供相机姿势,框嵌入提供道路高程提示。此外,合并文本描述有助于在不同条件下生成道路(例如,天气和一天中的时间)。因此,地图编码器可以与其他条件协同生成。
跨视角attention模块
在多摄像机视图生成中,图像合成在不同视角之间保持一致至关重要。为了保持一致性,引入了跨视图注意模块。考虑到驾驶环境中摄像头的稀疏排列,每个交叉视图注意力都允许目标视图从其直接左视图和右视图访问信息;其中,、和分别是目标视图、左视图和右视图。然后目标视图通过跳跃连接聚合此类信息, 表示目标视图的隐状态。
在 UNet 中的交叉注意模块之后注入交叉视图注意,并应用零初始化来引导优化。UNet 的多层结构使得能够在多个堆叠块之后聚合来自远程视图的信息。因此,对相邻视图使用跨视图注意力足以保证多视图一致性。
模型训练
Classifier-free Guidance 增强了条件指导的影响。为了有效的 CFG,模型需要在训练过程中偶尔丢弃条件。鉴于每种条件的独特性,对于多种条件应用丢弃策略是复杂的。因此,MAGICDRIVE 通过以 的速率同时删除场景级条件(相机姿势和文本嵌入),简化了四种条件。对于在编码中具有 null 语义表示的框和地图(即,框中的填充标记和映射中的 0),在整个训练过程中维护它们。在推理时,对所有条件都使用 null,从而实现有意义的放大来指导生成。
训练目标和增强 将所有条件作为输入注入后,训练目标调整为多条件场景。
此外,在训练 MAGICDRIVE 时强调两个基本策略。首先,为了抵消对可见框的过滤,本文随机添加 不可见框作为增强,增强模型的几何变换能力。其次,为了利用跨视图注意力,促进跨多个视图的信息共享,在每个训练步骤中将独特的噪声应用于不同的视图,从而防止损失出现局部解(例如,跨不同视图输出共享组件)。相同的随机噪声专门用于推理。
实验对比一览
实验设置
数据集和基线。 选择nuScenes数据集作为MAGICDRIVE的测试基础,这是一个在驾驶中用于BEV分割和检测的常见数据集。遵循官方配置,使用700个街景场景进行训练,150个进行验证。基线是BEVGen和BEVControl,它们都是最近提出的街景生成方法。方法考虑了10个目标类别和8个道路类别,多样性方面超过了基线模型。
评估指标。 评估街景生成的逼真度和可控性。逼真度主要使用Frechet Inception Distance(FID)进行测量,反映图像合成质量。对于可控性,通过两个感知任务对MAGICDRIVE进行评估:BEV分割和3D目标检测,分别使用CVT和BEVFusion作为感知模型。它们在每个任务中的性能都很出色。首先,生成与验证集注释对齐的图像,并使用在真实数据上预训练的感知模型评估图像质量和控制精度。然后,基于训练集生成数据,以检查对训练感知模型的支持作为数据增强。
可控阶段具体怎么用? 条件来自验证集,基于训练集生成数据作为训练模型的数据增强;
模型设置。MAGICDRIVE使用来自Stable Diffusion v1.5的预训练权重,仅训练新增的参数。根据Zhang等人的说法,为Emap创建了一个可训练的UNet编码器。新参数,除了零初始化模块和类令牌之外,都是随机初始化的。采用两个分辨率来协调感知任务和基线之间的差异:224×400(0.25×下采样),遵循BEVGen和CVT模型支持,并且更高的272×736(0.5×下采样)用于BEVFusion的支持。除非另有说明,图像使用UniPC调度程序进行20步采样,CFG设置为2.0。
Main Results
MAGICDRIVE的潜力与优势
MAGICDRIVE对高质量多摄像机街景生成进行多重几何控制的编码。通过分离编码设计,MAGICDRIVE充分利用来自3D标注的几何信息,并实现对街景的准确语义控制。此外,所提出的跨视图注意力模块简单而有效,确保了在多摄像机视图之间的一致性。正如实验证明的那样,MAGICDRIVE生成的图像表现出对3D标注的高逼真度和保真度。多重控制使MAGICDRIVE在生成新的街景时具有更强的泛化能力。与此同时,MAGICDRIVE可用于数据增强,有助于在BEV分割和3D目标检测任务上对感知模型进行训练。
限制与未来工作。尽管MAGICDRIVE可以生成夜间视图,但它们不如真实图像那么暗。这可能是因为扩散模型难以生成过于黑暗的图像。MAGICDRIVE无法为nuScenes生成未见过的天气情况。未来的工作可能集中在如何提高街景生成的跨领域泛化能力上。
原文链接:https://mp.weixin.qq.com/s/0LykWSIi-T12L3cPaRvTTQ