FDGaussian:又快又好的三维重建方案 | Gaussian Splatting和扩散模型超强联合

项目地址:https://qjfeng.net/FDGaussian/
文章链接:https://arxiv.org/pdf/2403.10242

本文介绍了一种名为FDGaussian的新型两阶段框架,用于单张图像的三维重建。最近的方法通常利用预先训练好的二维扩散模型从输入图像生成可能的新视图,然而它们在多视角一致性或几何保真度方面存在问题。

为了克服这些挑战,本文提出了一种正交平面分解机制,从二维输入中提取三维几何特征,从而实现生成一致的多视角图像。此外,还进一步加速了最先进的Gaussian Splatting方法,包括使用epipolar注意力来融合来自不同视角的图像。证明了FDGaussian能够生成在不同视角下具有高一致性的图像,并在定性和定量上重建高质量的三维对象。

介绍

单视图三维重建旨在从单个RGB图像中恢复对象的三维几何和外观。这项任务具有极其重要的意义,因为它使机器能够理解和与真实的三维世界进行交互,从而实现虚拟现实(VR)、增强现实(AR)和机器人技术等各种应用。

在三维重建中面临的主要挑战之一是确保具有高质量和高效率的表示。显式表示(例如点云、体素和网格)由于其直观且形变友好的特性而被广泛使用,但往往难以表示真实的外观。近年来,隐式表示(例如神经辐射场(NeRF))由于这些方法的连续性有助于优化而取得了巨大成功。然而,渲染所需的随机采样耗时且可能产生噪声。

为了充分利用隐式和显式辐射场的优势并克服它们的缺点,提出了3D Gaussian Splatting。它结合了基于神经网络的优化和显式的、结构化的数据存储的优势,可以在具有竞争力的训练和推断时间内实现高质量的渲染。当前的方法通常将单个图像输入Gaussian Splatting,忽略了多个视图之间的空间对应关系。此外,观察到Gaussian Splatting的原始实现忽略了3D高斯之间的距离,导致许多不必要的分割和克隆操作。

一些工作[32,51]表明,微调2D生成器以理解对象不同视图之间的相关性显著促进了三维重建。然而,这些方法要么存在多视角不一致的问题,要么无法处理具有复杂几何结构的对象。

考虑到这些问题,本文提出了FDGaussian,一种新颖的单张图像三维重建的两阶段框架,由几何感知的多视角生成阶段和随后的加速3D高斯重建阶段组成。生成阶段旨在合成三维感知和多视角一致的高保真度图像。

为了实现这一目标,通过解耦正交平面提取三维特征作为几何条件,同时使用CLIP编码器获取语义条件。这两个条件与输入图像一起被馈送到扩散模型中。在重建阶段,引入了epipolar注意力来融合生成的一致视图,充分利用视图之间的潜在几何相关性,从而实现具有竞争力的视觉质量增强。此外,为了进一步加速优化过程,提出了一种称为高斯发散显著性(GDS) 的新指标,以避免不必要的操作。

在Objaverse和GSO数据集上进行了大量实验和消融分析,证明了该方法能够生成具有多视角一致性和详细几何特征的高质量三维对象。此外,展示了FDGaussian可以与下游文本到图像模型无缝集成,用于文本到三维的应用。

主要贡献总结如下:

  • 将正交平面分解机制与扩散模型结合起来,合成具有多视角一致性和几何感知的新视图图像。

  • 为了充分利用一致的多视角图像,在渲染过程中引入了 epipolar 注意力,实现图像之间的高效有效通信。

  • 推导出一种名为高斯发散显著性(GDS)的新型度量,用于在优化过程中剪枝不必要的分割和克隆操作,实现显著的时间缩短。

相关工作

三维重建的表示方法

显式表示

显式表示长期以来一直在工业和学术研究中占据主导地位。经典的表示方法包括点云、体素和网格等。尽管这些显式表示方法提供了几何和外观的详细描述,但它们缺乏底层拓扑的灵活性,通常难以有效地捕捉逼真的外观。

隐式表示

与显式表示不同,隐式表示包括有符号距离场(SDF)和无符号距离场(UDF)等,能够准确地建模任意的几何和拓扑。由于隐式表示的连续性,它们可以利用深度神经网络来支持数据驱动的几何学习。近年来,神经辐射场(NeRF)已经取得了令人鼓舞的进展,允许只通过体积渲染进行二维监督来进行三维优化。然而,隐式方法需要大量采样来拟合三维场景的隐式函数,这导致了显著的计算成本,特别是在高分辨率或交互式渲染场景中,即使使用了加速的NeRF版本。很难同时实现实时渲染和高质量的视图合成。

Gaussian Splatting

为了解决上述问题,Gaussian Splatting作为一种替代表示方法出现,并在质量和速度方面取得了显著进展,提供了一个有前途的途径。一些方法利用高斯来生成粗糙的三维表示,然后通过参考信息进行细化,这通常需要额外的深度输入或网格提取过程。其他方法通过直接从单目输入图像预测三维表示来缓解这个问题,但是在未见区域可能会出现伪影。与这些方法相比,我们的方法结合了扩散模型的创造性和Gaussian Splatting的效率,在相对较短的时间内渲染出高质量的高斯表示,而无需显式的深度或法线提示。

由2D扩散模型指导的3D重建

最近噪声扩散概率模型(DDPM)的成功引起了极大的兴趣。在视觉内容创作领域,语言引导的图像扩散模型,如DALL-E2、Imagen和Stable Diffusion,在生成与给定文本提示输入具有强大语义相关性的逼真图像方面显示出巨大潜力。它们拥有有关我们三维世界的强大先验知识,并激发了越来越多的研究利用2D先验模型来辅助3D生成任务。许多方法遵循每个形状的优化范式。它们通常优化3D表示并利用2D扩散模型进行梯度引导。尽管它们取得了令人印象深刻的结果,但这些方法往往遭受较长的优化时间、"多面"问题、过饱和的颜色以及结果缺乏多样性的困扰。

新一波研究,以Zero-1-to-3等工作为代表,展示了利用预训练的2D扩散模型从单张图像或文本合成新视图的潜力,为3D生成打开了新的大门。然而,先前方法生成的多视角图像缺乏一致性和几何细节。我们的研究以及其他几项并行研究致力于改善多视角一致性,同时捕捉参考图像的复杂结构。

方法

几何感知的多视角图像生成

微调预训练的扩散模型以在给定的相机变换下合成新图像已经显示出了令人期待的结果。一类方法通过在先前生成的图像上进行条件设定来解决多视角不一致性问题,但这往往容易受到累积误差的影响并降低处理速度。另一类方法仅使用参考图像和语义指导来生成新视图,但受到几何塌陷和有限保真度的影响。

我们认为关键在于充分利用参考图像提供的几何信息。然而,直接从单张二维图像中提取三维信息是不可行的。因此,通过解耦正交平面,有效地从图像平面(即xy平面)中分离出三维特征至关重要。首先采用视觉Transformer对输入图像进行编码,并捕捉图像中的整体相关性,生成高维潜变量h。然后,利用两个解码器,一个图像平面解码器和一个正交平面解码器,从潜变量中生成具有几何感知的特征。图像平面解码器通过在编码器输出上使用自注意机制并将其转换为来反转编码操作。为了在保持与图像平面结构对齐的同时生成正交平面特征,我们采用交叉注意力机制来解码yz和xz平面特征和。

为了促进跨不同平面的解码过程,引入了一个可学习的embedding u,为解耦新平面提供额外的信息。首先,将可学习的 embedding u通过自注意编码进行处理,然后在交叉注意力机制中与编码图像潜变量h一起用作query。图像特征被转换为用于交叉注意力机制的键和值,如下所示:

其中,、和是可学习的参数,d是缩放系数。最后,这些特征被组合成几何条件。

其中,和 + 分别是连接和求和操作。

骨干设计。与之前的工作类似,使用了一个具有编码器E、去噪器UNet 和解码器D的潜变扩散架构。鉴于其庞大的训练数据规模,网络从Zero-1-to-3的预训练权重初始化。按照先前的方法,我们将输入视图与噪声目标视图通道连接作为UNet的输入。使用CLIP图像编码器来对进行编码,而使用CLIP文本编码器来对∆π进行编码。它们 embedding 的连接,记为c(, ∆π),形成了框架中的语义条件。可以通过优化以下目标来学习网络。

Gaussian Splatting的初步

3D Gaussian Splatting是一种用于三维场景重建和新视图合成的基于学习的栅格化技术。每个高斯元素由位置(均值)μ、完整的三维协方差矩阵Σ、颜色c和不透明度σ定义。高斯函数G(x)可以表达为:

为了确保Σ的半正定性,协方差矩阵Σ可以分解为一个由三维向量表示的缩放矩阵S和一个由四元数表示的旋转矩阵R,用于可微优化:Σ = 。

最初在[21]中引入的 splatting渲染技术是将高斯元素投影到相机图像平面上,用于生成新的视图图像。给定一个视图变换W,在相机坐标系中的协方差矩阵Σ'可以表示为:,其中J是投影变换的仿射逼近的雅可比矩阵。将3D高斯映射到2D图像空间后,我们计算与每个像素重叠的2D高斯的颜色和不透明度的贡献。具体来说,根据公式(4)中描述的高斯表示,将每个高斯的颜色分配给每个像素。不透明度控制每个高斯的影响。通过对N个排序的高斯进行混合,可以得到每个像素的颜色。

优化加速

Gaussian Splatting的优化基于对渲染结果图像与训练视图进行连续迭代的比较。首先,从结构运动(SfM)或随机抽样初始化3D高斯。由于3D到2D投影的不确定性,几何可能会被错误地放置。因此,优化过程需要能够自适应地创建几何体,并在位置错误时移除几何体(称为分割和克隆)。

然而,原始工作提出的分割和克隆操作在优化过程中忽略了3D高斯之间的距离,这显著减慢了优化过程。我们观察到,如果两个高斯彼此靠近,即使位置梯度大于阈值,它们也不应该被分割或克隆,因为这些高斯正在更新它们的位置。从经验上讲,将这些高斯进行分割或克隆对渲染质量的影响可以忽略不计,因为它们彼此之间距离太近。因此,我们提出了高斯发散显著性(GDS)作为衡量3D高斯之间距离的方法,以避免不必要的分割或克隆操作:

其中,、、、分别是两个3D高斯和的位置和协方差矩阵。

通过这种方式,只对具有较大位置梯度和GDS的3D高斯执行分割和克隆操作。为了避免为每对3D高斯计算GDS的耗时过程,我们进一步提出了两种策略。

首先,对于每个3D高斯,利用k近邻(k-NN)算法定位其最近的3D高斯,并计算它们每对之间的GDS。因此,时间复杂度从降低到了O(N)。此外,协方差矩阵可以分解为缩放矩阵S和旋转矩阵R:。利用转和缩放矩阵的对角和正交性质简化了公式(5)的计算。

多视角渲染的epipolar注意力

先前的方法通常使用单个输入图像进行粗略的Gaussian Splatting,这需要在未见区域进行进一步的细化或重新绘制。直观的想法是利用生成的一致的多视角图像来重建高质量的3D对象。然而,仅依赖交叉注意力在多个视点的图像之间进行通信是不足够的。

因此,给定一系列生成的视图,我们提出了epipolar注意力,允许不同视图之间的特征进行关联。在已知两个视图之间的几何关系的基础上,给定一个视图中的特征点的epipolar 是另一个视图中对应特征点必须位于的线。它作为一种约束,可以减少一个视图中可以参与另一个视图的像素数量。下图4中展示了epipolar和epipolar注意力的示意图。通过施加这种约束,可以限制不同视图中对应特征的搜索空间,使关联过程更加高效和准确。

考虑到中间UNet特征,我们可以在所有其他视图的特征图上计算其对应的 epipolar 。上的每个点p只会访问其自己视图中的所有点(在渲染期间)以及其沿着相机射线的特征(在其他视图中)。然后,为中的所有位置估计权重图,并将这些图堆叠在一起,得到 epipolar 权重矩阵。最后,epipolar注意力层的输出可以表达为:

这样一来,我们提出的epipolar 注意力机制促进了跨多个视图的特征的高效准确关联。通过将搜索空间限制在epipolar 上,有效地减少了计算成本,并消除了潜在的伪影。

在重建阶段的训练过程中,假设每个参考图像都有N个对应的视图I,其相对相机姿态变化为∆π。然后,将参考图像输入到网络中,并最小化目标视图的平均重建损失。

其中,g是将高斯集合映射到图像的渲染器,f是从图像重建高斯混合的逆函数。我们方法的高效性源于在每个训练迭代中渲染整个图像的想法。因此,可以利用图像级别的损失作为整体,而不是将结果分解为像素。在实践中,采用SSIM损失来确保合成图像与真实图像之间的结构相似性,并使用LPIPS损失来评估图像质量,即

其中,和是损失权重的超参数。经验上,我们将设置为0.02,设置为0.01作为默认值。

实验

实验设置

实现细节:两个阶段分别进行训练。对于生成阶段,使用类似于[30,32]的网络结构,并使用Zero-1-to-3预训练权重进行初始化,以提高训练效率。利用深度为6的Vision Transformer(ViT)模型作为参考图像编码器,并生成大小为1024×256的输出。解码过程涉及两个解码器,即图像平面解码器和正交平面解码器,每个深度为3,并输出大小为的特征图。

在多视图生成之后,直接采用[67]的实现来选择具有最高感知质量分数的16个视图。对于重建阶段,将输入图像映射到高斯混合的网络与UNet完全相同。最后一层被替换为具有15个输出通道的1×1卷积层为了允许网络在视图之间协调和交换信息,在残差块之后添加了epipolar注意力块,然后是交叉注意力层。使用AdamW优化器,β1 = 0.9和β2 = 0.999,学习率为。所有实验都在NVIDIA V100(16GB)GPU下进行。

数据集:在最近发布的Objaverse数据集上训练我们的扩散模型,该数据集是一个包含800K个高质量对象的大规模CAD数据集。直接使用Zero-1-to-3处理过的渲染数据,该数据提供了每个对象的12个随机视图。在评估中,使用由Zero-1-to-3提供的Objaverse的测试集。此外,为了测试我们模型在分布外数据上的性能,还评估了Google Scanned Object数据集,该数据集包含高质量的扫描家庭用品。在训练阶段,图像被调整为256×256的分辨率。

基线: 主要将我们的方法与能够推广到开放集类别并接受单视图RGB图像作为输入的方法进行评估。特别地,采用Zero-1-to-3、Realfusion、Consistent-123、Shap-E和DreamGaussian作为基线方法。Zero-1-to-3能够在没有训练数据的情况下合成条件视图。Realfusion基于Stable Diffusion,并利用SDS损失进行单视图重建。Shap-E将单个输入图像转换为MLP编码的点云,并在OpenAI 3D数据集上进行训练。DreamGaussain在重建过程中利用3DGaussian Splatting和扩散先验,大大提高了速度。我们采用ThreeStudio的实现来对Zero-1-to-3进行重建,它比原始实现性能更好。对于其他工作,使用它们的官方发布的代码进行定量和定性评估。

评估指标:主要关注两个任务,即新视图合成(NVS)和单图像3D重建(1-to-3)。在NVS任务上,我们使用峰值信噪比(PSNR)、结构相似性指数(SSIM)和学习感知图像块相似性(LPIPS)来衡量合成图像与真实图像之间的相似度。在1-to-3任务上,报告常用的Chamfer距离(CD)和CLIP相似度。

主要结果

新视角合成比较

如下表1所示,FDGaussian在PSNR、LPIPS和SSIM方面均优于所有基线方法,表明它提供了更清晰、更准确的重建。

我们方法的定性结果在下图3中展示。由FDGaussian合成的附近视角在几何上和语义上与参考视角相似,而大视角变化的视角展示了合理的多样性。此外,正交平面分解机制使我们的模型能够捕捉输入图像的细节。

3D重建比较 针对单图像3D重建任务,在下表2中展示了结果。

FDGaussian在各个方面均表现出色,大幅领先竞争方法。通过利用剪枝技术,进一步将整体重建时间减少至约70秒。下图5展示了我们方法与基线方法的定性比较结果。

从视觉比较中,发现Shap-E在生成过程中容易崩溃,导致结果不可预测且模糊。Zero-1-to-3存在多视角不一致的问题。虽然DreamGaussian保持了生成结果与参考图像一致且语义上忠实,但它无法合成复杂结构的细节,经常产生过于平滑的纹理。这表明FDGaussian相对于当前最先进的方法具有优势,能够即使对于复杂结构也生成高质量的3D对象。

消融和分析

整体消融研究

FDGaussian由两个阶段组成:几何感知的多视角生成和随后的Gaussian Splatting重建。下图6中展示了定性消融结果。正交平面分解机制在生成几何一致的新视角方面起着关键作用。CLIP embedding 也有助于消除合成视图的伪影,同时保持与参考图像的语义保真度。 epipolar 注意力在融合来自不同视角的图像方面表现出重要性。缺少它时,即使是高度一致的多视角图像也可能导致不一致的3D结果。

多视角生成的消融分析

多视角生成阶段主要由几何和语义引导组成。分别移除它们或同时移除它们会带来四种不同的组合。如下表3和上图6所示,正交平面分解机制对几何精度和一致性的贡献最大,极大地提升了视觉效果。语义引导进一步增加了指标得分,并略微提高了视觉一致性。

合成视角数量的影响

采用Chamfer距离(CD)来评估重建质量。如下表4所示,发现随着合成视角数量的增加,3D重建的质量相应提高,但所需的时间并没有增加太多。这是预期的,因为视角之间存在更多的重叠和交互。然而,当合成视角数量达到32时,总时间显著增加,而质量改善并不显著。这可能是因为过多的视角可能成为计算的瓶颈。

与文本到图像模型的兼容性

FDGaussian与现成的文本到图像模型无缝集成。这些模型将文本描述转换为2D图像,而我们的模型进一步将其转换为高质量的多视角图像和高斯表示。如下图7所示,可视化示例。值得注意的是,我们的模型在重建给定2D图像的本质方面表现出色,甚至能够捕捉遮挡部分的细节。

限制和未来工作

尽管FDGaussian在从单视角图像重建3D对象方面表现出有希望的结果,但当前框架仍存在一些局限性尚未完全解决。首先,我们方法中生成的视角数量是固定的。针对具有不同拓扑对称性的对象自适应生成不同数量的视角可能进一步减少总体重建时间。此外,我们当前的方法局限于单个对象的3D重建。未来仍需要将其扩展到复杂场景或多对象重建。

结论

本文提出了一个名为FDGaussian的两阶段模型,用于从单视角图像重建3D对象。该方法首先在正交平面分解机制的指导下,通过扩散模型合成了一致但具有3D感知的多视角图像。然后,在Gaussian Splatting期间利用 epipolar 注意力进行渲染。我们提出了一种新的度量标准,即高斯发散显著性性(GDS),用于加速优化。

定性和定量结果表明,所提出的方法重建的3D高斯表示具有以下特点:

  • 在不同视角一致

  • 与参考图像高度保真

  • 在未见区域显示出合理的创造力

参考文献

[1] FDGaussian: Fast Gaussian Splatting from Single Image via Geometric-aware Diffusion Model

更多精彩内容,请关注公众号:AI生成未来

欢迎加群交流AIGC技术,添加小助手

  • 11
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值