Sherpa3D论文精读

摘要

通过利用2D和3D扩散模型,从文本提示创建3D内容取得了显著进展。虽然3D扩散模型确保了良好的几何一致性,但由于3D数据有限,其生成高质量和多样化3D内容的能力受到限制。相比之下,2D扩散模型通过一种提炼方法,在不使用任何3D数据的情况下实现了卓越的泛化能力和丰富的细节。然而,2D提升方法由于固有的视角不可知的模糊性,导致了严重的多面性问题,即文本提示无法提供足够的指导来学习一致的3D结果。我们没有重新训练一个昂贵的视点感知模型,而是研究如何充分利用易于获取的粗略3D先验知识来增强提示并引导2D提升优化进行细化。在本文中,我们提出了Sherpa3D,一个新的文本到3D框架,能够同时实现高保真度、通用性和几何一致性。具体而言,我们设计了一对指导策略,来自由3D扩散模型生成的粗略3D先验:几何保真度的结构指导和3D一致性的语义指导。通过采用这两种指导,2D扩散模型丰富了3D内容,产生了多样化和高质量的结果。大量实验证明了我们的Sherpa3D在质量和3D一致性方面优于最新的文本到3D方法。

Sherpa3D概述

​ Sherpa3D 是一个全新的文本到3D生成框架。该框架能够在25分钟内生成高保真度、多样化且符合几何一致性的三维物体。相比于现有的方法,Sherpa3D在生成质量和时间上均有显著提升。

​ 3D生成技术的发展历程可以从ICLR 2023年的DreamFusion开始,该方法在生成质量和时间效率上存在一定局限。随后在ICLR 2024年提出的SweetDreamer,虽然在生成质量上有所提升,但需要大量的3D数据进行训练。Sherpa3D的性能与SweetDreamer相当,但在时间效率上更具优势。

​ 此外,ICLR 2024年的Dream Gaussian在生成速度上实现了突破,但其生成的纹理质量仍有提升空间。相比之下,Sherpa3D有效解决了现有方法中的诸多问题,并提出了一个全新的框架,显著提升了3D生成的质量和效率。

3D AIGC的背景

​ 3D AIGC的发展分为两个主要范式。第一个范式以DreamFusion为代表,采用优化的方式。该方法旨在将2D扩散模型的能力提升到3D空间,通过SDS损失(Score Distillation Sampling loss)实现。具体来说,3D物体的每一个侧面都在2D世界中见到过,因此可以通过2D扩散模型来监督整个3D物体的生成。SDS的本质是将2D扩散模型的能力进行蒸馏,通过对损失函数直接求梯度的方式,监督3D物体的生成。

​ 第二个范式是从合成数据进行训练,称为合成数据原生推理的方法。主要代表方法包括早期的CP、PointE以及近期利用ObjectVerse训练多视图数据的生成方法。

研究动机

​ 本文的研究动机在于分析现有的2D和3D扩散模型,即前面提到的两种范式。2D扩散模型的优势在于其训练数据集非常丰富,2D图像数量庞大,具备很强的泛化能力,能够生成细节丰富的图像。然而,2D扩散模型的局限在于其仅见过2D图像,而且2D图像数据集存在长尾分布问题,例如正面图像远多于背面图像,导致其缺乏3D先验,容易出现多面(multi-face)问题,例如DreamFusion生成的图像可能正面和背面都有脸。

​ 相比之下,3D扩散模型因为直接使用3D数据进行训练,具备很好的多视角一致性,不会出现多面的问题。但其不足在于3D数据相对于2D数据量非常少,导致模型的质量和泛化能力较差。

​ 因此,该研究的目标是同时解决上述问题,提出一个质量高、泛化性好,并且能够保证几何一致性的模型。

方法概述

​ 作者提出了Sherpa3D框架。Sherpa意指喜马拉雅山的向导,引导登山者攀登高峰。类似地,本文所提框架引导2D扩散模型逐步优化,最终生成高质量且具备3D一致性的模型。

​ 首先,需要解决以下三个挑战。第一个挑战是在2D转3D的过程中,容易出现多个面部的情况。第二个挑战是仅使用2D扩散模型时,可能生成的几何结构不稳定。第三个挑战是引入3D扩散模型作为先验时,需要平衡2D和3D扩散模型在整个优化过程中的作用权重。

​ 为了解决这些挑战,本文方法如下。首先通过3D扩散模型生成一个粗略的3D先验,然后将3D先验投影成不同的侧面图像。接着,使用结构引导和语义引导来辅助2D提升过程。结构引导利用3D先验引导后续的2D提升过程,避免出现结构不良的几何现象;语义引导则通过3D先验提供正面、背面和侧面的语义信息,从而缓解多面问题。最后,作者提出了一个分步退火策略(Step Annealing Strategy),在整个优化过程中平衡2D和3D扩散模型的作用。

方法细节

​ 在该方法中,作者首先讨论了哪些知识可以作为优化过程的引导。通过实验,作者发现几何不一致性是导致3D性能不佳的一个主要原因。因此,优化过程主要集中在几何优化上的设计和改进。

​ 首先,在结构引导方面,为了保留粗略3D先验的结构,本文采用了一个简单的边缘提取算子来描述其轮廓。这使得在后续的优化过程中,生成的3D形状能够与初始的3D形状保持几何大小的一致,避免几何结构出现问题。

​ 其次,在语义引导方面,作者通过约束语义一致性来避免多面问题。这样可以确保生成的3D物体在不同视角下具有一致的外观。

​ 第三,本文引入了一个分步退火策略(step annealing strategy)来平衡2D和3D优化的作用。如果没有分步退火,3D扩散模型可能会过度发挥作用,从而导致生成的细节不足。因此,通过分步退火策略,就能够在优化过程中适当调整2D和3D扩散模型的作用权重,保证生成结果的细节和一致性。

​ 最后,文中的优化是在几何空间进行的,而不是在RGB空间。具体来说,通过对法线向量进行SDS优化。在早些时候的SCP 2023和Fantasia 3D研究中,已经证明了这种方法的有效性。Stable diffusion使用的训练数据中包含了一部分法线数据,因此可以很快地对SDS进行收敛。

消融实验

  1. 没有结构引导,导致麻脸问题 ,结构不稳定
  2. 没有语义引导,导致多面问题
  3. 没有模拟退火,无法很好地平衡2D和3D的作用,3D发挥了更大的影响,造成细节不丰富

技术介绍

1.Score Distillation Sampling (SDS)

2.DMTet

3.SDF

SDF 是一个数学函数,它表示空间中任意点到某个物体表面的最短距离。"Signed"(有符号)意味着这个距离有正负之分:

  • 正值表示点在物体外部
  • 负值表示点在物体内部
  • 零表示点恰好在物体表面上

在 DMTet 中,SDF 可以用于定义和优化四面体网格的形状。SDF 有助于捕捉物体的细节和精确表面。

4.step annealing strategy(分步退火策略)

​ 为了在优化过程中平衡2D和3D指导的影响,Sherpa3D 引入了分步退火策略,逐步调整3D指导的权重,以保持2D和3D扩散模型各自的优势。用于根据当前的迭代次数 ncur 调整3D先验指导的影响强度

  • 参数

    1. λ:初始的指导强度。
    2. β:控制退火速率的超参数。
    3. m:表示退火开始的迭代次数。
  • 函数行为

    1. 当 ncur≤m时,max⁡(0,ncur−m)=0,因此 γ(λ)=λ。这意味着在优化的初始阶段,指导强度保持在初始值 λλ

    2. 当 ncur>m 时,max⁡(0,ncur−m)=ncur−m,这意味着随着迭代次数的增加,指导强度会指数级减少,从而逐渐减少3D先验的影响。

  • 目的

    在优化初期,允许较大的指导强度以快速收敛到合理的解空间。随着优化的进行,逐渐减少指导强度,以允许2D扩散模型根据其自身的学习调整生成内容

类别: text-3D

发布于2024-10-09 13:22