SemCity:使用AI进行真实3D户外环境场景生成

摘要

SemCity是一个3D Diffusion模型,用于在现实世界的户外环境中生成语义场景。与合成数据不同,真实的户外数据集由于传感器限制通常包含更多的空白空间,这给学习真实户外分布带来了挑战。为了解决这个问题,SemCity利用triplane表示作为场景分布的代理形式,以便我们的Diffusion模型进行学习。

《SemCity:使用AI进行真实3D户外环境场景生成》- 投稿作者:灵度智能 - 发布于:GetAI社区

此外,我们提出了一种triplane操作,与我们的triplane Diffusion模型无缝集成。操作改进了我们的Diffusion模型在与户外场景生成相关的各种下游任务中的适用性,例如场景修补、场景外涂和语义场景完成细化。

在实验结果中,我们证明了我们的triplane Diffusion模型在真实户外数据集SemanticKITTI中显示出了有意义的生成结果。我们还展示了我们的triplane操作可以无缝地添加、删除或修改场景中的对象。此外,它还可以将场景扩展到城市级别的规模。最后,我们通过学习场景分布来增强语义场景完成网络的预测,评估了我们的方法。

简介

Diffusion模型在图像领域取得了最先进的生成结果,现在正在被广泛应用于3D数据生成。在3D领域,Diffusion模型已经展示出在生成多样化的3D形状方面的显著能力。然而,在生成由多个物体组成的场景方面,Diffusion模型的研究还相对较少。场景生成的Diffusion模型旨在生成几何和语义上一致的环境,其中室外环境由于更广阔的景观而具有固有的挑战。为了解决室外数据集中的数据稀疏问题,我们提出了使用triplane表示法,将3D数据分解为三个正交的2D平面。我们的Diffusion框架基于triplane表示法,通过将体素化场景压缩为triplane表示,并通过重建场景的语义标签来训练triplane自编码器。我们还提出了一种triplane操作方法,可以在真实室外场景中无缝地添加、删除和修改物体。我们的方法显著提高了在真实室外环境中生成场景的质量。

方法

我们的triplane Diffusion模型旨在通过生成triplane来合成新的真实户外场景,这是一种代理表示,它有效地解决了真实户外场景合成的固有挑战。这个triplane表示是通过我们的triplane自编码器学习的,它将场景的几何和语义复杂性抽象成三个正交的2D特征平面,即xy、xz和yz平面。然后,我们的Diffusion模型学习场景的triplane分布,生成新的triplane。我们将我们的triplane Diffusion模型扩展到各种实际场景中:场景修补、场景外油漆和语义场景完成细化。

用triplane表示语义场景

《SemCity:使用AI进行真实3D户外环境场景生成》- 投稿作者:灵度智能 - 发布于:GetAI社区

使用triplane自编码器学习将3D场景压缩为triplane表示。该自编码器由两个模块组成:

1)生成triplane的编码器fθ

2)用于从triplane重建的隐式多层感知器(MLP)解码器gθ。

编码器fθ输入是一个在分辨率为x×y×z的空间网格中包含N个类的场景x。它然后产生一个轴对齐的triplane表示h。该triplane由三个平面组成,每个平面具有不同的维数性质。在编码阶段,由场景x中的3D卷积层提取3D特征体,通过轴向平均池化生成triplane。给定一个三维坐标p,triplane被解释为从每个平面双线性插值得到的向量之和:

《SemCity:使用AI进行真实3D户外环境场景生成》- 投稿作者:灵度智能 - 发布于:GetAI社区

为了重建3D场景x,我们用预测语义类概率的隐式MLP解码器gθ解码编码的triplane h。解码器取triplane向量h(p)及其正弦位置嵌入PE(p),从而得到类别概率c(p)=gθ(h(p),PE(p))。位置嵌入根据坐标p产生高频特征,帮助隐式解码器gθ表示高频场景内容。

编码器fθ和MLP解码器gθ使用自动编码器损失LAE和场景标签x(p)进行训练:

《SemCity:使用AI进行真实3D户外环境场景生成》- 投稿作者:灵度智能 - 发布于:GetAI社区

我们使用加权交叉熵损失CE和Lov´asz-softmax损失LZ来学习场景的不平衡语义分布。

Triplane Diffusion 

基于三维语义场景的triplane表示,我们的triplane Diffusion模型D通过去噪Diffusion概率模型来学习生成一个新的triplane。这种triplane生成通过使用隐式MLP解码器gθ解码生成的triplane来生成3D场景。通过x0-parameterizatio,Diffusion模型D被训练为重建triplane h。triplane Diffusion损失定义为:

《SemCity:使用AI进行真实3D户外环境场景生成》- 投稿作者:灵度智能 - 发布于:GetAI社区

其中T为去噪步数,p为范数的阶数。时间步长t从离散均匀分布U中采样。

训练后,Diffusion模型D通过DDPM的迭代生成过程从hT ~ N(0, I)开始生成一个新的triplane h0:

《SemCity:使用AI进行真实3D户外环境场景生成》- 投稿作者:灵度智能 - 发布于:GetAI社区

从生成的triplane h0中,通过查询隐式解码器的坐标p,生成一个新的3D语义场景x0,即gθ(h0(p), PE(p))。

triplane Manipulation的应用

triplane Diffusion过程的基础上,本文提出了一种triplane Manipulation,使模型能够在很少修改的情况下促进各种实际的下游任务。

现场修复。场景修复随机编辑3D场景,无缝地添加、修改或删除对象,同时保持场景的一致性和真实感。受重绘采样策略的启发,本文提出一种具有语义一致性的3D感知修复方法。重绘专注于图像域,而没有明确考虑底层3D场景的保真度。为促进3d感知的修复,修复了triplane,作为场景的紧凑代理表示。我们定义了一个二元空间trimask m覆盖triplane空间上的修复区域,允许我们控制掩码区域的生成过程。trimask m设置为1用于修复区域,0用于其他区域。我们重写生成过程的第t个triplane ht,如下所示:

《SemCity:使用AI进行真实3D户外环境场景生成》- 投稿作者:灵度智能 - 发布于:GetAI社区

其中⊗是元素乘积,完整区域的已知triplane h已知t从Diffusion过程中采样,它遵循已知的高斯分布。

外扩场景。为了无缝地扩展场景,需要扩展的区域必须以原始场景为条件。本文建议将这种直觉注入到triplane表示中。为了覆盖待涂外的区域,Diffusion模型生成一个新的triplane,与原始triplane部分重叠。我们在我们的场景修复中使用trimask m和已知的triplane ht的概念来实现这一点。trimask m覆盖待外涂区域,h已知t由原始区域和外涂区域的triplane相交得到。基于画出策略,将给定的场景向基本方向和基本方向扩展,促进创建无界场景。虽然所提出的triplane Diffusion模型是使用固定大小的triplane进行训练的,但它显示了将场景绘制到比原始场景大几倍的能力。

语义场景补全细化。SSC模型从传感器观测(如图像或点云)中完成并分割3D场景。我们观察到,与数据分布相比,SSC结果显示出几何和语义差异。扩展了triplane Diffusion模型,以完善SSC模型的预测,以减少差异。为了有效地将我们的triplane Diffusion方案调整为SSC模型的预测x SSC,我们利用了由我们的triplane编码器fθ导出的triplane表示h SSC = fθ(x SSC)。我们扩展了我们的triplane Diffusion方案,对Diffusion损失和生成过程中的triplane ht进行简单修改:

《SemCity:使用AI进行真实3D户外环境场景生成》- 投稿作者:灵度智能 - 发布于:GetAI社区

其中⊕为拼接,h ssc t为第t个Diffusion triplane,该triplane由DDPS Diffusion过程与ssc预测的triplane h ssc采样。

实验

实验设置

训练数据集。本文在SemanticKITTI和CarlaSC数据集上进行训练。

评估指标。对于语义场景生成,使用召回率来评估多样性,使用精确度和Inception分数来评估保真度。对于场景质量使用了Fréchet Inception Distance (FID)和Kernel Inception Distance (KID)指标来评估。对于语义场景完成,使用交并比 (IoU)指标来评估场景完整性,使用平均交并比 (mIoU)来评估语义分割的质量。

语义场景生成

我们的方法在生成场景的细节方面表现出色,尤其是在真实世界的数据集上。与SSD相比,我们的方法在真实世界的数据集上表现更好,可以更好地捕捉复杂的建筑形状。此外,我们的方法在生成场景的多样性方面也表现出色。

《SemCity:使用AI进行真实3D户外环境场景生成》- 投稿作者:灵度智能 - 发布于:GetAI社区

《SemCity:使用AI进行真实3D户外环境场景生成》- 投稿作者:灵度智能 - 发布于:GetAI社区

《SemCity:使用AI进行真实3D户外环境场景生成》- 投稿作者:灵度智能 - 发布于:GetAI社区

triplane Diffusion的应用

在场景修复方面,模型能够无缝地去除车辆并与道路融合,还能插入新的实体并与场景相协调。

《SemCity:使用AI进行真实3D户外环境场景生成》- 投稿作者:灵度智能 - 发布于:GetAI社区

在场景扩展方面,模型能够生成具有连贯性的大型城市场景,包括道路、建筑、车辆和人物。这些结果展示了模型在物体级和场景级修复方面的能力。

《SemCity:使用AI进行真实3D户外环境场景生成》- 投稿作者:灵度智能 - 发布于:GetAI社区

在语义场景补全优化方面,与现有的语义场景补全方法相比,该模型能够更准确地对场景进行语义分割和补全,从而更好地与真实世界数据分布相匹配。

《SemCity:使用AI进行真实3D户外环境场景生成》- 投稿作者:灵度智能 - 发布于:GetAI社区

《SemCity:使用AI进行真实3D户外环境场景生成》- 投稿作者:灵度智能 - 发布于:GetAI社区

此外,该模型还可以将语义地图转换为RGB图像,生成几何和语义上合理的图像。

《SemCity:使用AI进行真实3D户外环境场景生成》- 投稿作者:灵度智能 - 发布于:GetAI社区

消融分析

我们对模型进行了消融研究,重点关注了两个关键设计元素:位置嵌入和三层平面表示。消除位置嵌入会导致性能下降,因为它生成了对于详细场景重建至关重要的高频特征。三层平面表示相比三维特征可以提高生成质量,而xy平面的性能相对较低,可能是因为过度分解限制了它的表示能力。

《SemCity:使用AI进行真实3D户外环境场景生成》- 投稿作者:灵度智能 - 发布于:GetAI社区

限制

其中一个显著挑战是模型难以准确地描绘传感器视角无法观察到的区域,如建筑物的后侧,导致生成场景中它们的不完整表示。外,由于数据集是从驾驶视角捕获的,无法完整捕捉建筑物的整体高度,从而在场景中呈现了建筑物和其他高元素的部分表示。

另一个问题是模型倾向于产生移动物体的痕迹,这是由于数据集预处理中合并连续帧引起的。未来的工作可以通过将城市的先验知识纳入模型中来取得更好的结果,例如解决遮挡区域或建筑物高度的问题。

总结

SemCity用于生成真实世界的室外场景。通过将真实室外场景分解为triplane表示,生成的场景在视觉上更具吸引力,并且在语义细节上更丰富,有效地捕捉了场景中各种对象的复杂性。通过引入隐式神经表示,不受固定分辨率的限制。进一步将triplane Diffusion模型应用于场景修复、场景补全和语义场景完善等实际应用。通过在Diffusion过程中操作triplane,实现了对象和场景级别的无缝修复和补全。通过学习到的3D先验,更好地对齐现有语义场景完善方法预测的场景与实际数据分布。这项工作为研究界提供了一个真实室外场景生成的路线图。

1

评论0

请先
显示验证码