【三维AIGC】扩散模型LDM辅助3D Gaussian重建三维场景

标题:《Sampling 3D Gaussian Scenes in Seconds with Latent Diffusion Models》
来源:Glasgow大学;爱丁堡大学
连接:https://arxiv.org/abs/2406.13099



摘要

  本文提出一个三维场景的潜在扩散模型,它仅使用2D图像数据训练。文章首先设计了一个 1.自动编码器,将多视图图像映射到三维GS ,同时构建这些splats的压缩潜在表示。然后,我们 2.在潜在空间上训练一个多视图扩散模型来学习一个有效的生成模型 。该管道不需要对象的mask 或深度,并且适用于具有任意摄像机位置的复杂场景。我们在两个复杂真实场景的大规模数据集上进行了仔细的实验-MVImgNet和RealEstate 10K。我们的方法能够在短短0.2秒内生成3D场景,或从头开始,从单个输入视图,或从稀疏输入视图。它产生多样化和高质量的结果,同时运行比非潜在扩散模型和早期的基于NeRF的生成模型快一个数量级。

  


一、引言

   学习生成模型,捕捉我们周围三维世界的分布,是一个引人注目但具有挑战性的问题。除了构建能够理解其环境的智能代理的更大目标外,这些模型对许多实际任务也很有用。在游戏和视觉效果中,它们可以毫不费力地创建3D资产,而这在目前是出了名的困难、缓慢和昂贵的。在计算机视觉中,它们能够从单个图像中重建真实场景的三维重建,生成模型合成了可信的三维细节,即使是在图像中不可见的区域——不像经典的三维重建方法[35,64]。

  图像、文本和视频[83,29,7]的大规模数据集使学习这些令人印象深刻的[78,73,41]模式的生成模型成为可能。然而,目前还没有大规模的逼真的三维场景数据集。现有的3D数据集要么很大,但主要由孤立的对象(不是完整的场景)组成,通常具有不现实的纹理[118,22,12];或者它们是逼真的环境(用3D扫描仪捕获),但太小,无法通过[21,4]学习生成模型。相比之下,大规模的多视图图像数据集容易获得[128,135,74]。

  因此,我们希望直接从多视图图像的数据集上学习三维生成模型,而不是从三维数据中学习。一个简单的策略是将标准的三维重建技术应用于这样的数据集中的每个场景,然后直接在得到的重建[65,129]上训练一个三维生成模型。然而,这在计算上是昂贵的。这也给生成模型带来了一个具有挑战性的学习任务,因为通过独立重建场景,我们无法获得一个平滑的、共享的表示空间(例如,相似的场景在表示为NeRF[64]时可能具有非常不同的权重)。这使得我们很难学习一个概括的先验,而不是简单地记忆单个场景。这些限制激发了 一系列直接从图像[3,96,84,38]中学习3D生成模型的工作。不幸的是,最近的方法的采样速度非常慢,因为它们在扩散过程[96,2,102]的每一步之后都需要昂贵的体渲染操作

  

二、相关工作

2.1 密集重建

  许多场景表示和相应的推理方法已经被提出,包括表面表示(如网格、距离场[70])、点云[82,86,93]、光场[20,32]和体积表示(如辐射场[120]和体素[87,91])。目前最先进的方法使用神经辐射场(NeRFs)[64,5],它隐式地参数化辐射场,通过最小化图像重建损失,使它们很容易地通过梯度下降优化。然而,nerf需要昂贵的体积渲染,涉及大量的MLP查询,尽管最近努力减少它们的大小[71,28,2,66,55,14,121,28],但训练和渲染都很缓慢。最近,高斯飞溅[48]被引入作为一种替代方案,允许实时渲染和快速训练,其质量接近于最先进的nerf。我们的工作也使用了这种有效的表示,但我们没有拟合单个场景,而是建立了一个生成模型,学习从一个分布中采样它们(例如,基于一个类标签或稀疏的图像集)

2.2 稀疏重建

  而上述方法可以从密集的(如>50)图像集,在实际中,场景的部分不能从多个图像中观察到,需要推断。为了解决这个问题,一系列的工作训练模型从更少的(例如<10)视图重建3D场景。大多数方法将二维图像特征投影到三维空间,融合并应用NeRF渲染。一些最近的并发方法[13,17,139,130,124,133,114,88,97]处理使用 splats 作为三维表示的稀疏视图重建任务;其他的目标是直接预测新的视图,而没有显式的3D [53,79,25]。然而,这些方法并不是概率性的——它们并不代表场景中未被观察到的部分(例如,一个对象的背面)的不确定性。因此,这些方法输出一个单一的平均解,而不是采样许多看似可信的三维表示中的一种

  例如,MVSplat [17]和pixelSplat [13]训练一个网络将上下文图像映射到3D斑点,但缺乏无条件的3D场景生成,或对遮挡区域的多样化采样补全的能力。LatentSplat[114]确实在splats上构造了一个后验分布,然后对其进行采样——但是它在碎片参数本身强加了一个平均场(独立)后验,这意味着它不能捕获场景几何中复杂的后验依赖,因此不能对未观察到的场景区域的相干形状进行采样。请注意,几乎所有上述方法都是为两个或更多个输入视图而设计的。只有 SplatterImage[97]才能从单个图像中预测3D飞溅,甚至这种方法也仅限于隐藏的、以对象为中心的场景。虽然一些方法结合了来自生成模型的信息来增加不确定区域[89,77,138,63,19,69]的合理性,但它们没有学习采样场景上的真实后验分布,这是我们的方法旨在学习的。

2.3 生成式模型

  不同家族的生成模型[50,31,106,47,94,42]已经被提出从训练数据中学习复杂的分布。随着生成模型在各种模式下的成功,包括语言[107,73]、sound [105]和图像[78,41],现在人们对对3D内容进行采样的兴趣越来越大。一个简单的方法是创建一个大规模的三维数据集[12,22],并直接在这个[62,104,16,134,45,54,18,65,6,111,49,90,34,46,33]上训练一个生成模型。然而,与其他模式不同的是,大规模的、高度现实的场景3D数据集的创建具有挑战性,而且大多数3D表示缺乏share structure(因为每个数据点都是独立创建的,例如mesh 具有不同的拓扑,点云有不同数量的点),这使得学习先验变得困难。虽然最近的工作使用自动解码[6]或最优传输来跨表示[129] share structure,但这些方法仅限于小的或以对象为中心的数据集。

  为了避免在独立重建场景上学习平滑先验的困难,各种方法直接从图像中学习三维感知生成模型。一种简单而优雅的方法[26,117,7,11,103,58,101,127,113,51,100,59,57,44,30,98]是在不需要显式三维表示的情况下生成基于相机姿态的多视图图像,然后使用经典的三维重建方法对生成的图像进行三维重建。然而,它继承了经典方法的局限性,主要是需要生成大量一致的图像(>50),以及在三维重建过程中缺乏先验。

  为了直接对三维表示进行采样,一些作品学习了二维图像的三维感知生成模型,它保留了生成图像模型的数学公式,但在网络架构中引入了先验,迫使模型通过显式的三维表示输出图像。开创性的方法是基于VAEs [52,36,38,1,37]和GANs [84,10,92,23,68,67,132,24],而目前最先进的方法使用三维感知去噪扩散模型[3,46,96,102,122,2,43,85,9]。与分数蒸馏方法[72,112,99,123,136,125,119,137,56,109]存在模式寻找行为,并且没有真正的分布采样不同,三维感知扩散模型可以从真实的后验分布中采样三维场景。然而,现有的作品使用辐射场来表示场景,因此受到缓慢的训练、采样和渲染时间的限制。相比之下,我们的工作在不到1秒(0.2秒),而最近的[96]或51秒;我们还可以实时渲染采样的3D资产。

三、主要方法

  我们的目标是建立一个支持有条件和无条件生成3D场景的模型。我们假设只能访问带有相机姿态的多视图图像的训练数据集(可以从手机相机或COLMAP SfM[82]获得)。我们不需要任何额外的2D/3D监督(例如,注释、预先训练的模型、前景掩模、深度图),我们也不假设相机姿态在整个数据集中一致对齐。

  我们通过设计一个两阶段训练的潜在扩散框架来实现这一点。首先,在多视图图像集(3.1节)上训练一个三维感知的变分自动编码器(VAE)。它将多视图图像编码为一个紧凑的潜在表示,将其解码为一个由高斯飞溅表示的显式三维场景,然后渲染场景以重建图像。其次,我们在由自编码器(3.2节)学习到的紧致潜在空间上训练一个去噪扩散模型。该扩散模型联合训练进行类条件和图像条件生成,可以有效地学习潜在空间上的分布。在推理过程中,产生的latents被自动编码器解码回splats,并渲染。

3.1 Autoencoder

  Autoencoder输入为一个场景的V个视图 x x x={ x v x_v xv}(每个大小H×W像素)作为输入,以及像机姿态 π π π = { π v π_v πv},输出出一组splats的S,可以从每个 π v π_v πv的渲染原始图像 x v x_v xv。重要的是,它通过一个低维的latent bottleneck传递关于场景的所有信息,产生一个压缩的表示,然后从中解码和渲染splats

   Encoding multi-view images. x v x_v xv首先独立通过三个类似于[27,78]的降采样残差块,生成分辨率为 H 8 \frac {H}{8} 8H× W 8 \frac {W}{8} 8W的特征图。这些特征由 多视图U-Net [80]处理,它使不同的视图能够有效地交换信息(是实现一致的三维重建所必需的)。这个U-Net是基本基于DDPM的。为了使它适应我们的多视图设置,我们从视频扩散模型 中获得灵感,特别是[Align your latents:
High-resolution video synthesis with latent diffusion models CVPR 2023] ,并在每个块后添加一个小的交叉视图ResNet,为每个像素独立地结合了来自所有视图的信息。我们还修改了所有的注意层,以共同attend 来自所有视角的cross 特征。除了这些部分,残差块处理的其余部分都是独立地处理视图。U-Net的最终卷积输出每个视图的大小为 H 8 \frac {H}{8} 8H× W 8 \frac {W}{8} 8W的特征图的均值和对数方差(log-variances)。这将是压缩的潜在空间{ z v z_v zv} v V = 1 ^V_v=1 vV=1,对其执行去噪(见第3.2节),所以我们限制它只有很少的通道。遵循VAEs [50,78],我们假设一个对角高斯后验分布(diagonal Gaussian posterior distribution),用E表示从 x v x_v xv 到潜在样本 z v z_v zv

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值