摘要
鸟瞰图(BEV)感知近年来受到越来越多的关注,因为它提供了跨视图的简洁和统一的空间表示,并有利于多种下游驾驶应用。虽然重点放在区分性任务上,如BEV分割,但从BEV视角生成街景图像的双重生成任务还很少。生成符合给定高精地图和交通布局的真实街景图像的能力对于可视化复杂的交通场景和开发自动驾驶的鲁棒感知模型至关重要。本文提出了BEVGen,这是一个条件生成式模型,它合成了一组真实且空间一致的环视图像,这些图像与交通场景的BEV布局相匹配。BEVGen结合了一种新颖的交叉视图转换和空间注意力设计,学习相机和地图视图之间的关系,以确保它们的一致性。BEVGen可以精确地渲染道路和车道线,以及在不同的天气条件和时间生成交通场景。
总结来说,本文的主要贡献如下:
- 论文解决了从BEV布局生成多视图图像的新任务。这是首次尝试探索驾驶场景中BEV感知的生成方面;
- 论文开发了一种新的生成式模型BEVGen,该模型可以通过结合空间嵌入和成对相机偏置来合成空间一致的街景图像;
- 该模型实现了高质量的合成结果,并显示了在数据增强和3D模拟渲染等应用中的前景。
相关工作
跨模态图像生成:近年来,跨模态图像生成在文本到图像模型[12,32–34,40]、语音到图像模型[5,20]和图像到视频模型[42]的工作中受到了大量关注。其他工作专注于使用更直接的表示来控制生成,包括从语义掩码生成[18,26,52],或致力于将文本[15,30]、场景图[7,19,44,51]和边界框[22]等更高级的表示转换为这样的语义掩码。也有几次尝试通过合成与场景的特定部分相对应的潜在特征来学习空间分离的场景表示[10,27]。本文的任务在概念上类似于从语义掩码生成图像,但不同之处在于,论文的语义表示仅提供最小的布局约束,缺少高度信息、直接遮挡表示和背景信息。
图像到图像生成:近年来,通过pix2pix[18]和cycleGAN[57]等模型,直接图像到图像的转换也开始兴起。有几项工作直接关注从卫星视图合成街道视图的任务,将其作为图像到图像转换问题的子集[35,41,43,54]。这些工作试图解决从自上而下到以自我为中心的视角转换,这是论文的任务所隐含的要求,但本文的任务没有从卫星视图提供的丰富RGB表示中受益。此外,论文的虚拟相机视图的很大一部分与BEV地图上完全未标记的区域相对应,这在很大程度上需要无条件生成这些区域。
图像绘制:空间一致性对于图像绘制等任务非常重要,因为目标是生成或扩展同一场景的图像。早期的图像绘制方法在像素级别上使用自回归方法[6,25,45,46]。然而,这种方法在计算上可能很昂贵,因此仅限于生成低分辨率图像。随后,GAN被引入任务[16,23,39,49],其不受像素自回归方法相同的计算限制。最近的工作利用矢量量化变分自动编码器(VQ-VAE)[47]取得了巨大成功[2,4]。与图像绘制类似,我们的任务要求生成的图像在天气和位置上保持一致;然而,我们还寻求生成不同的、部分重叠的相机视图,并要求这些视图的一部分根据BEV布局有条件地生成。
新视图合成:相同的底层VQ-VAE架构已用于单视图新颖视图合成(NVS)任务,目标是在给定源图像的情况下生成新的虚拟相机视图。通过调节带有相机平移和旋转的自回归transformer,[38]表明基于transformer的模型可以学习图像之间的3D关系,而无需显式深度图或扭曲,如[37,48]中的单视图NVS的先前尝试中所使用的。为了提高帧之间的一致性,[36]提出了一种相机感知的自注意力偏置,该偏置编码了连续图像帧之间的相似性。论文的任务要求不同视点之间的3D理解与NVS中的类似,但缺少源视图提供的条件信息,并且不仅需要帧之间的一致性,还需要与HD地图的一致性。如图6所示,如果论文扩展本文的任务以允许源视图,那么本文的任务可以被视为一个有条件的NVS任务。
方法
接下来介绍论文的BEVGen的框架。论文在BEV中有一个语义布局,自车在中心,通道描述车辆、道路、车道线等的位置。给定要生成的一组n个虚拟相机视图,第k台相机的内参,外参,平移,论文生成n张环视图。
图2展示了BEVGen的框架。BEVGen由两个由VQ-VAE建模的自动编码器组成,一个用于图像,一个为BEV表示,这允许causal transformer在高级别上建模场景。关键的新颖之处在于transformer如何在模态之间和不同视图之间关联信息。交叉视图转换编码交叉模态感应3D偏差,允许模型关注HD地图的相关部分和附近的图像标记。
模型结构
图像编码器:为了生成全局一致图像,论文在离散的潜在空间而不是像素空间中建模分布。论文使用Oord等人[47]引入的VQ-VAE模型作为GAN的替代生成架构。此外,如[11]中所述结合了感知和局部对抗性损失。为了获得离散的符号化表示,论文找到每个特征向量的最近codebook向量:
BEV编码器:为了在BEV布局上调整模型,论文使用与相机图像相同的离散表示,除了用binary cross entropy loss和L2 loss替换感知和对抗损失。论文使用编码BEV地图来获取一组标记。论文在训练第一阶段后丢弃解码器阶段,因为它不需要transformer模型或推理。
自回归建模:给定BEV布局和k组相机参数,论文试图通过学习一组离散token的先验分布来生成k个图像,z以为条件。
论文通过训练transformer 来建模,该transformer基于离散化BEV特征、先前图像标记及其各自的相机参数来预测后续标记。这种方法要求order所有相机token。我们选择以居中顺序解码,而不是使用相机优先、行主要顺序。选择这个顺序是因为论文寻求最大化重要场景语义的影响,这些语义主要位于车辆行驶时的正前方和后方。论文在前面和后面以及从左到右之间交替,从顶行开始解码,然后向外移动。
空间嵌入
为了帮助模型处理相机和BEV特征空间中的相关标记,论文引入了位置嵌入。论文从BEV和第一人称视角(FPV)之间的对齐的BEV分割[56]工作中获得灵感。
相机嵌入:为了将图像标记与BEV标记对齐,论文使用已知的内外参将图像坐标重新投影到世界坐标。给定图像空间中的标记,论文转换为齐次坐标并获得自车框架中的方向向量,如下所示:
使用一维卷积来编码transformer的潜在空间中的方向向量。并使用共享的可学习嵌入对图像token进行编码,并在图像令牌之间添加每个令牌可学习参数:
BEV嵌入:为了将BEV标记与图像标记对齐,论文进行与等式(4)中类似的操作,并使用已知的BEV布局维度来获得自车框架中的坐标,并将每个标记编码到transformer潜在空间中。类似地为离散令牌使用共享的可学习嵌入,并使用per-token可学习参数:
相机偏置
除了提供具有对齐嵌入的模型之外,论文还向自注意力层添加了一个偏置,该偏置提供了模内(图像到图像)和模间(图像到BEV)相似性约束。这从[36]中得到了启发,但论文没有提供由帧之间的编码位姿组成的blockwise相似性矩阵,而是基于它们的相对方向向量提供每个令牌的相似性。论文的方法还编码了图像和BEV token之间的关系。在某些query和key/value之间的任何层中进行自注意力,可以得到:
transformer序列由条件BEV token和相机token组成。因此论文再次构造两个方向向量。在这种情况下,BEV方向向量由2D世界坐标(在自车中心框架中)组成,图像方向向量与等式(3)中的相同,除了行值作为图像的中心。给定这两个方向向量,论文添加余弦相似性和可学习参数,如图3所示:
Random Masking
在并行生成多个图像时出现的一个关键问题是自注意力机制的二次复杂性。这个问题的一个解决方案是通过使用[2]中的图像外推来限制transformer的序列长度。然而,这限制了场景上下文,并可能导致后面的图像看起来与第一个图像相差甚远,尽管具有局部图像一致性。相反,论文实现了[8,53]中的稀疏注意力版本。与统一的随机注意力掩码相反,论文反而取消了关注的token附近的图像区域的掩码。使用与等式(8)中相同的公式,论文仅为图像token创建成对相似性矩阵。当稀疏注意力将输入序列分组为离散块时,对该矩阵执行平均池化,直到稀疏注意力操作的分辨率,并将这些值用作采样的权重。此外有一个滑动窗口,在该窗口中,论文总是关注最后的r个token,并负责关注所有BEV token。
实验
论文在NuScenes数据集上展开实验。
训练细节
VQ-VAE:训练第一阶段相机VQ-VAE,包括翻转、旋转、颜色转换和裁剪。类似地通过翻转和旋转训练第一阶段BEV VQ-VAE。对于第二阶段,论文添加了最小的旋转和缩放,但执行裁剪并修改传递给模型的相应内参。
结果
论文显示了从NuScenes数据集训练的所有六个相机视图的生成结果。对于所有可视化,沿着垂直轴翻转左后和右后相机,以突出显示模型的图像一致性。因此在所有图形中,侧面、正面和背面相机都在其外边缘相交。据论文所知,由于本文是第一次尝试从BEV布局中进行有条件的街景合成,因此找不到可以直接比较的现有方法。相反,论文将与基线模型进行比较,该模型由相同的底层GPT架构组成,并使用与BEVGen模型相同的第一级编码器/解码器。论文使用行主要解码顺序,仅使用可学习的位置嵌入,但不添加空间嵌入或相机偏移,并使用full-attention。
定性结果:图4显示了BEVGen的生成示例。论文的模型能够生成多种场景,包括十字路口、停车场和林荫大道。论文观察到,每个相机视图不仅正确地显示了相同位置的周围环境,还保留了空间透视。BEVGen在各种天气条件下合成图像,所有图像中都显示相同的天气,包括降雨等物理伪影。论文还证明了模型能够生成对应于相同BEV布局的不同场景。在图4的底部看到了模型在白天和晚上呈现的相同位置。
此外,论文将BEV分割模型应用于合成图像并分析语义内容。如图5所示,本文的图像允许模型正确推断道路布局,而基线图像则不能。
定量结果:论文使用Frechet Inception Distance(FID)来评估与源图像相比的合成质量。除非另有说明,否则所有度量都是在NuScene验证集的子集上计算的。论文从每个场景中抽取了4张图像,总共有600个实例,并合成了一组没有后期过滤的图像。为了计算FID分数使用clean-fid[28]。
为了区分第一阶段和第二阶段的性能,论文将本文的结果与通过将源图像的编码令牌直接馈送到解码器而获得的结果进行比较,正如在训练第一阶段时所做的那样。这代表了模型性能的理论上限,它允许我们在很大程度上消除第一阶段的影响,这不是本文的重点。然而,应该注意,第一阶段的设计和学习码本的属性可能对第二阶段产生重大影响[11,12]。
如表1所示,BEVGen模型的FID得分为25.54,而基线得分为43.18。这与参考上限FID分数9.37相比较。BEVGen利用了前文所述的稀疏掩模设计,获得了28.67的FID分数。这种稀疏变体在推理过程中大约快48%,在训练过程中快40%。
虽然FID是衡量图像合成质量的常用指标,但它不能完全捕获本文任务的设计目标,也不能反映不同语义类别的合成质量。由于论文寻求生成与BEV布局一致的多视图图像,因此论文希望衡量我们在这一一致性上的表现。为此利用了[56]中的BEV分割网络CVT,该网络完全基于源数据进行训练,以进行公平比较。论文使用与之前相同的一组基于GT BEV布局的生成图像,对于每一组将CVT应用于生成的图像,然后将预测的布局与GT BEV布局进行比较。结果如表1所示。注意,BEV分割模型在验证集上的性能对于道路和车辆mIoU分别为66.31和27.51。这表明,尽管该模型可以以合理的方式在图像中生成道路区域,但它仍然具有有限的能力来生成可由分割网络正确识别的高质量单个车辆。这是场景生成的一个常见问题,在场景生成中,完全合成小目标仍然具有挑战性。论文的工作是一个起点,并计划在未来的工作中改进小目标合成。
条件视角生成:论文测试了BEVGen在提供来自单个相机的视图时合成其他视图的能力,如图6所示。由于所选择的居中解码顺序,并非所有图像标记都能够处理源图像,相反,论文只是跳过对所提供的相机视图的推断。尽管如此,论文观察到我们的模型能够在场景内容和时间上生成一致的图像。
消融实验
为了验证设计选择的有效性,论文对模型的关键特征进行了消融研究。论文测试了BEVGen的四个变体,一个仅使用中心输出解码,一个使用相机偏置,一个具有相机偏置和空间嵌入,以及一个最终模型,论文使用稀疏掩模从头开始训练,而不是微调。表2显示了随着我们增加相机偏差和空间嵌入,FID分数的稳步提高。
应用
从BEV布局生成逼真的图像有很多应用。本节将探讨数据增强在BEV分割和模拟BEV图像生成中的应用。
BEV分割的数据扩充:BEV条件生成式模型的一个重要应用是生成合成数据以改进预测模型。因此,论文试图通过在BEV分割模型的训练期间将本文生成的图像合并为增强样本来验证我们的模型的有效性。使用CVT[56]作为分割模型,并将结果与没有任何合成样本的训练进行比较。论文使用NuScenes上训练集的BEV布局生成了6000个独特的实例。这些合成实例与用于训练的GT BEV布局相关。如表3所示,合成数据将道路类别和车辆类别的验证mIoU提高了0.6。
从模拟BEV生成图像:由于本文任务定义的一个动机在于BEV布局的简单性,因此希望确定这是否使本文的模型能够从域外(OOD)HD地图生成新场景。论文使用MetaDrive模拟器[21]在模拟中生成随机交通场景及其相关的BEV布局,然后在BEVGen中输入BEV布局。生成的图像如图7所示。可以看到,BEVGen可以使用BEV布局作为桥梁,将模拟场景转换为真实的街道图像。它有可能解决sim2real的差距。
讨论和结论
限制和未来工作:尽管以稀疏的注意力实现了性能,但如[4]所示,未来的工作可能会受益于双向transformer的使用,以允许并行解码。论文还将探索用扩散模型替换编码器,以提高图像合成质量。提出的模型仍然难以生成行人和一些车辆等小物体。本文计划将前景和背景的生成分离,以在未来的工作中解决这个问题。
论文通过开发称为BEVGen的生成模型来解决BEV生成任务。在对真实驾驶数据集进行训练后,所提出的模型可以从给定的BEV布局生成空间一致的多视图图像。论文进一步展示了它在数据增强和模拟BEV生成中的应用。
原文首发微信公众号【自动驾驶之心】:一个专注自动驾驶与AI的社区(https://mp.weixin.qq.com/s/NK-0tfm_5KxmOfFHpK5mBA)