
FightingCV
2022/12/16阅读:108主题:默认主题
万物皆可3D生成!UIUC提出SDFusion,实现多模态3D形状完成、重建和生成!
万物皆可3D生成!UIUC提出SDFusion,实现多模态3D形状完成、重建和生成!
【写在前面】
在这项工作中,我们提出了一个新的框架,旨在为业余用户简化3D资源生成。为了实现交互生成,我们的方法支持人类可以容易地提供的各种输入形式,包括图像、文本、部分观察到的形状以及这些的组合,从而进一步允许调整每个输入的强度。我们方法的核心是编解码器,将3D形状压缩成紧凑的潜在表示,在此基础上学习扩散模型。为了支持多种多模式输入,我们使用了具有丢弃和交叉注意机制的特定于任务的编码器。由于其灵活性,我们的模型自然支持各种任务,优于以往在形状完成、基于图像的3D重建和文本到3D方面的工作。最有趣的是,我们的模型可以将所有这些任务组合到一个模态中,使用户能够同时使用不完整的形状、图像和文本描述来执行形状生成,为每个输入提供相对权重,并促进交互。尽管我们的方法是仅针对形状的,但我们进一步展示了一种使用大规模文本到图像模型对生成的形状进行纹理处理的有效方法。
1. 论文和代码地址

论文题目:SDFusion: Multimodal 3D Shape Completion, Reconstruction, and Generation
论文地址:https://arxiv.org/abs/2212.04493[1]
代码地址:https://yccyenchicheng.github.io/SDFusion/[2]
2. 动机
生成3D资源是身临其境的增强/虚拟现实体验的基石。没有逼真和多样的物体,虚拟世界将看起来空虚,参与度将保持在低水平。尽管有这种需求,但手动创建和编辑3D资源是一项出了名的困难任务,需要创造力、3D设计技能,以及使用复杂的软件,学习曲线非常陡峭。这使得经验不足的用户无法创建3D资源。然而,在许多情况下,例如室内设计,用户往往对他们想要创造的东西有相当好的理解。在这些情况下,图像或粗略草图有时会伴随着指示资产细节的文本,这对于业余人士来说很难用图形表达。

基于这种需求,将3D内容创作过程民主化成为一个活跃的研究领域也就不足为奇了。传统的3D生成模型需要以点云、带符号距离函数(SDF)、体素等形式的直接3D监督。最近,通过神经绘制技术结合感应偏差,首次尝试从具有已知相机姿势的多视角监督中学习3D几何。虽然已经展示了令人信服的结果,但训练通常非常耗时,并且忽略了可用于获得良好形状先验的可用3D数据。我们预见了一种理想的生成方法的协作范例,其中基于3D数据训练的模型提供详细和准确的几何,而基于2D数据训练的模型提供不同的外观。第一个概念证明如图1所示。
在我们追求灵活和高质量的3D形状生成的过程中,我们引入了SDFusion,这是一个基于扩散的生成式模型,在引擎盖下具有符号距离函数(SDF),作为我们的3D表示。与其他3D表示相比,SDF可以表示具有任意拓扑的高分辨率形状。然而,3D表示因要求高计算资源而臭名昭著,将大多数现有的3D生成模型限制在323分辨率的体素网格和2K点的点云。为了回避这个问题,我们首先使用自动编码器将3D形状压缩为更紧凑的低维表示。正因为如此,SDFusion可以轻松扩展到128^3分辨率。为了了解引入的潜在空间上的概率分布,我们利用扩散模型,这些模型最近在各种2D生成任务中得到了巨大成功的使用。此外,我们采用特定于任务的编码器和交叉注意机制来支持多个条件化输入,并应用无分类指导来实现灵活的条件化使用。由于这些策略,SDFusion不仅可以使用来自多个模态的各种条件,还可以调整它们的重要性权重,如图1所示。与最近提出的也采用编码潜在空间的自回归模型相比,SDFusion实现了卓越的样本质量,同时提供了更多的灵活性来处理多种条件,同时减少了内存使用。利用SDFusion,我们研究了基于2D和3D数据训练的模型之间的相互作用。给定由SDFusion生成的3D形状,我们利用现成的2D扩散模型、神经渲染和分数蒸馏采样来将给定文本描述的形状纹理化为条件变量。
我们在ShapeNet、BuildingNet和Pix3D数据集上进行了广泛的实验。我们表明,SDFusion在定量和定性上都优于以前的工作,包括形状补全、从图像进行3D重建和文本到形状任务。我们进一步展示了通过多个条件通道联合控制生成模型的能力,调节通道之间相对权重的灵活性,以及给出文本描述的3D形状纹理的能力,如图1所示。
3. 方法

我们的目标是使用扩散模型合成3D形状。为此,我们对3D形状X上的分布进行了建模,这是一个体积截断符号距离场(T-SDF)。然而,直接在相当高分辨率的3D形状上应用扩散模型在计算上要求非常高。因此,我们首先将3D形状压缩到离散化和紧凑的潜在空间(3.1节)。这使我们能够在较低维度的空间中应用扩散模型(第3.2节)。框架还可以包含各种用户条件,如部分形状、图像和文本(第3.3节)。最后,我们展示了所提出的框架和基于2D数据训练的扩散模型之间的相互作用,以纹理3D形状(第3.4节)。
3.1.SDF的三维形状压缩
3D形状表示是高维的,因此很难建模。为了使通过扩散模型学习高分辨率3D形状分布成为可能,我们将3D形状X压缩到一个低维但紧凑的潜在空间。为此,我们利用了矢量量化-变分自动编码器(VQ-VAE)的3D变体。具体地,所采用的3D VQ-VAE包含用于将3D形状编码到潜在空间的编码器Eφ和用于将潜在向量解码回到3D空间的解码器Dτ。给定通过T-SDF 表示的输入形状,我们有
其中 是潜在向量,潜在维度d小于3D形状维度D,Vq是将潜在变量z映射到码本Z中最近元素的量化步骤。对编码器Eφ、解码器Dτ和码本Z进行了联合优化。我们使用重建损失、承诺损失和VQ目标预先训练VQ-VAE。
3.2.SDF的潜在扩散模型
使用训练好的编码器Eφ,我们现在可以将任何给定的φ编码成紧凑且低维的潜在变量 。然后我们可以在这个潜在的表示上训练一个扩散模型。基本上,扩散模型通过反转渐进噪声扩散过程来学习从目标分布中进行采样。给定样本z,我们得到 通过逐渐将高斯噪声与变化表相加。然后,我们使用一个有时间条件的3D UNET θ作为我们的去噪模型。为了训练去噪三维非均匀变换,我们采用了简化的目标:
3.3.学习条件分布
能够随机采样形状提供了有限的交互能力。因此,学习条件分布对于用户应用是必不可少的。重要的是,需要多种形式的条件输入,以便该模型能够考虑各种情况。由于潜在扩散模型提供了灵活的条件机制,作者可以通过任务特定编码器Eφ和交叉注意模块一次合并多个条件输入模式。为了进一步允许更灵活地控制分布,我们对条件生成采用了无分类器指导。目标函数内容如下:
其中, 是用于第i个通道的特定于任务的编码器,D是能够进行无分类器指导的丢弃操作,并且F是特征聚集函数。在这项工作中,F指的是一个简单的级联。
在推理时,给定来自多个模态的条件,我们执行如下无分类器指导
其中,si表示来自该通道的条件的权重,而∅表示用零填充的条件。直观地说,具有较大权重的通道在指导条件生成方面发挥着更重要的作用。
3.4.使用2D模型进行3D形状纹理处理
虽然采样的3D数据通常显示出令人信服的详细几何图形,但3D数据的纹理通常更难收集,甚至更多时候质量有限。在这里,我们将探讨如何充分利用2D数据和模型,从而辅助3D资源的生成。多亏了最近神经渲染和2D文本到图像的成功,通过分数蒸馏采样技术,可以使用2D模型执行3D合成。
在这里,我们说明了在给定引导输入句子S的情况下对3D形状进行纹理处理的过程。从生成的T-SDF X开始,我们首先使用VolSDF将其转换为密度张量σ。我们的目标是学习5D辐射场以获得类似于传统NERF设置的颜色 。然而,与传统的NERF设置不同的是,密度张量是固定的。使用采样的相机姿势,我们可以通过将每个像素的光线的密度和颜色进行Alphaccomposal合成来渲染图像I。然后,我们从预先训练的稳定扩散模型中提取知识,该模型被表示为预测时间步长t处的噪声的2D UNE 。更新Fθ的最直接的方法是获得并反向传播从稳定扩散损失函数的噪声预测损失项到输入的所有梯度。然而,UNT雅可比项的计算实际上是昂贵的。因此,
4.实验

形状完成

形状完成度的定量比较。

单视图重建的定量评价。

单视图三维重建。

文本导引生成的量化评价。

文本引导的3D形状生成。

多模态生成。

权重控制的多个调节变量。

3D形状纹理。
5. 总结
在这项工作中,我们提出了SDFusion,这是一种尝试将扩散模型应用于符号距离函数来生成3D形状。为了缓解3D表示对计算的要求,我们首先将3D形状编码到具有表现力的低维潜在空间,并使用该空间来训练扩散模型。为了实现灵活的条件使用,我们采用特定类别的编码器以及交叉注意机制来处理来自多个模态的情况,并利用无分类器指导来促进模态之间的重量控制。预见到基于2D和3D数据训练的模型之间协作共生的潜力,我们进一步展示了利用预先训练的2D文本到图像模型来纹理生成的3D形状的应用程序。
尽管结果看起来很有希望和令人兴奋,但未来仍有相当多的改进方向。首先,对SDFusion进行高质量的带符号距离函数表示的训练。为了使模型更通用并能够使用更多样化的数据,需要同时在各种3D表示上操作的模型。另一个未来方向与数据的多样性有关:我们目前在以对象为中心的数据上应用SDFusion。将该模型应用于更具挑战性的场景(例如,整个3D场景)是很有趣的。最后,我们认为还有进一步探索如何将基于2D和3D数据训练的模型结合起来的空间。
更多细节请参考原文!
参考资料
https://arxiv.org/abs/2212.04493: https://arxiv.org/abs/2212.04493
[2]https://yccyenchicheng.github.io/SDFusion/: https://yccyenchicheng.github.io/SDFusion/
作者介绍

FightingCV
公众号 FightingCV