本文介绍了一个名为 X-Dreamer 的框架,它主要由 CG-LoRA 和 AMA 损坏两种关键创新组成,实现了弥合 text-to-2D 和 text-to-3D 间的领域差距,实现了高质量的 3D 生成。
近年来,在预训练的集中模型 [1, 2, 3] 的开发推动下,自动 text-to-3D 内容创建取得了重大进展。其中,DreamFusion [4] 引入了一种有效的方法,该方法操纵预训练的 2D 集中模型 [5] 从文本中自动生成 3D 资产,从而无需专门的 3D 资产数据集。
DreamFusion 引入的一项关键创新是分数蒸馏采样 (SDS) 算法。该算法操纵预训练的 2D 集中模型对单个 3D 表示进行评估,例如 NeRF [6],从而对其进行优化,以确保来自任何摄像机视角的衬着图象与给定文本保持较高的一致性。受开创性 SDS 算法的启发,出现了几项工作 [7,8,9,10,11],通过应用预训练的 2D 集中模型来推进 text-to-3D 生成任务。
虽然 text-to-3D 的生成通过操纵预训练的 text-to-2D 的集中模型已经取得了重大进展,但是 2D 图象和 3D 资产之间仍存在很大的领域差距。这种区别在图 1 中清楚地展示出来。
首先,text-to-2D 模型产生与相机无关的生成结果,专注于从特定角度生成高质量图象,而忽略其他角度。相比之下,3D 内容创建与相机参数 (如位置、拍摄角度和视场) 错综复杂地联系在一起。因此,text-to-3D 模型必须在所有可能的相机参数上生成高质量的结果。
此外,text-to-2D 生成模型必须同时生成远景和背景元素,同时保持图象的整体连贯性。相反,text-to-3D 生成模型只需要集中在创建远景东西上。这种区别允许 text-to-3D 模型分配更多的资源和注意力来精确地表示和生成远景东西。因此,当直接采用预训练的 2D 集中模型进行 3D 资产创建时,text-to-2D 和 text-to-3D 生成之间的域差距构成了显著的性能障碍。
图 1 text-to-2D 生成模型 (左) 和 text-to-3D 生成模型 (右) 在同一文本提示下的输出,即 "A statue of Leonardo DiCaprio's head.”。
为了解决这个问题,论文提出了 X-Dreamer,这是一种用于高质量 text-to-3D 内容创建的新颖方法,可以有效地弥合 text-to-2D 和 text-to-3D 生成之间的领域差距。
X-Dreamer 的关键组成部分是两种创新设计: Camera-Guided Low-Rank Adaptation (CG-LoRA) 和 Attention-Mask Alignment (AMA) 损坏。
首先,现有方法 [7,8,9,10] 通常采用 2D 预训练集中模型 [5,12] 来进行 text-to-3D 生成,缺乏与相机参数的固有联系。为了解决此限制并确保 X-Dreamer 产生直接受相机参数影响的结果,论文引入了 CG-LoRA 来调整预训练的 2D 集中模型。值得注意的是,在每次迭代期间 CG-LoRA 的参数都是基于相机信息动态生成的,从而在 text-to-3D 模型和相机参数之间建立鲁棒的关系。
其次,预训练的 text-to-2D 集中模型将注意力分配给远景和背景生成,而 3D 资产的创建需要更加关注远景东西的准确生成。为了解决这一问题,论文提出了 AMA 损坏,应用 3D 东西的二进制掩码来指导预训练的集中模型的注意力图,从而优先考虑远景东西的创建。通过合并该模块,X-Dreamer 优先考虑远景东西的生成,从而显着提高了生成的 3D 内容的整体质量。
项目主页:
https://xmu-xiaoma666.github.io/Projects/X-Dreamer/
Github主页:https://github.com/xmu-xiaoma666/X-Dreamer
论文地址:https://arxiv.org/abs/2312.00085
X-Dreamer 对 text-to-3D 生成领域做出了如下贡献:
论文提出了一种新颖的方法,X-Dreamer,用于高质量的 text-to-3D 内容创建,有效地弥合了 text-to-2D 和 text-to-3D 生成之间的主要差距。
为了增强生成的结果与相机视角之间的对齐,论文提出了 CG-LoRA,操纵相机信息来动态生成 2D 集中模型的特定参数。
为了在 text-to-3D 模型中优先创建远景东西,论文引入了 AMA 损坏,操纵远景 3D 东西的二进制掩码来引导 2D 集中模型的注意图。
方法
X-Dreamer 包括两个主要阶段:若干进修和外表进修。对于若干进修,论文采用 DMTET 作为 3D 表示,并操纵 3D 椭球对其进行初始化,初始化时的损坏函数采用均方误差 (MSE) 损坏。随后,论文应用分数蒸馏采样 (SDS) 损坏和论文提出的 AMA 损坏来优化 DMTET 和 CG-LoRA,以确保 3D 表示和输入文本提示之间的对齐。
对于外表进修,论文操纵双向反射分布函数 (BRDF) 建模。具体来说,论文操纵具有可训练参数的 MLP 来预测表面材料。类似于若干进修阶段,论文应用 SDS 损坏和 AMA 损坏来优化 MLP 和 CG-LoRA 的可训练参数,以实现 3D 表示和文本提示之间的对齐。图 2 展示了 X-Dreamer 的详细构成。
图 2 X-Dreamer 概览,包括若干进修和外表进修。
若干进修 (Geometry Learning)
在此模块中,X-Dreamer 操纵 MLP 网络将 DMTET 参数化为 3D 表示。为了增强若干建模的稳定性,本文应用 3D 椭球体作为 DMTET 的初始配置。对于属于四面体网格的每个顶点,本文训练来预测两个重要的量:SDF 值和变形偏移量。为了将初始化为椭球体,本文采样了均匀分布在椭球体内的 N 个点,并计算相应的 SDF 值。随后,操纵均方误差(MSE)损坏来优化。该优化过程确保有效地初始化 DMTET,使其类似于 3D 椭球体。MSE 损坏的公式如下:
初始化若干图形后,将 DMTET 的若干图形与输入文本提示对齐。具体的操作方法是通过应用差分衬着技术,在给定随机采样的相机姿势 c 的情况下,从初始化的 DMTET生成法线映射 n 和东西的掩码 m 。随后,将法线映射 n 输入到具有可训练 CG-LoRA 嵌入的冻结的 Stable Diffusion 模型(SD)中,并应用 SDS 损坏更新中的参数,定义如下:
其中,表示 SD 的参数,为在给定噪声水平 t 和文本嵌入 y 的情况下的 SD 的预测噪声。此外,,其中表示从正态分布采样的噪声。、和的实现基于 DreamFusion [4]。
此外,为了将 SD 集中于生成远景东西,X-Dreamer 引入了额外的 AMA 损坏,以将东西掩码 与 SD 的注意力图对齐,如下所示:
其中表示注意力层的数量,是第 i 个注意力层的注意力图。函数用于调整衬着出来的 3D 东西掩码的大小,确保它的尺寸与注意力图的尺寸对齐。
外表进修 (Appearance Learning)
在获得 3D 东西的若干结构后,本文的目标是应用基于物理的衬着(PBR)材料模型来计算 3D 东西的外表。材料模型包括集中项,粗糙度和金属项,以及法线变化项。对于若干体表面上的任一点
,操纵由参数化的多层感知机(MLP)来获得三个材料项,具体可以表示如下:
其中,表示操纵哈希网格技术进行位置编码。之后,可以应用如下公式计算衬着图象的每个像素:
其中,表示从方向衬着 3D 物体表面的点的像素值。表示由满足条件的入射方向集合定义的半球,其中表示入射方向,表示点处的表面法线。对应于来自现成环境图的入射光,是与材料特性(即)相关的双向反射分布函数 (BRDF)。通过聚合所有衬着的像素颜色,可以获得衬着图象。与若干进修阶段类似,将衬着图象输入 SD,操纵 SDS 损坏和 AMA 损坏优化。
Camera-Guided Low-Rank Adaptation (CG-LoRA)
为了解决 text-to-2D 和 text-to-3D 的生成任务之间存在的领域差距而导致的次优的 3D 结果的生成,X-Dreamer 提出了 Camera-Guided Low-Rank Adaptation。
如图 3 所示,操纵摄像机参数和方向感知文本来指导 CG-LoRA 中参数的生成,使 X-Dreamer 能够有效地感知摄像机的位置和方向信息。
图 3 摄像机引导的 CG-LoRA 示意。
具体的,给定文本提示和相机参数,首先应用预训练的文本 CLIP 编码器和可训练的 MLP,将这些输入投影到特征空间中:
其中,和分别是是文本特征和相机特征。之后,应用两个低秩矩阵将和投影到 CG-LoRA 中的可训练降维矩阵中:
其中,和是 CG-LoRA 的两个降维矩阵。函数
用于将张量的形状从变换为。
和是两个低秩矩阵。因此,可以将它们分解为两个矩阵的乘积,以减少实现中的可训练参数,即;;,其中,,,,是一个很小的数字(如:4)。根据 LoRA 的构成,将维度扩展矩阵初始化为零,以确保模型开始应用 SD 的预训练参数进行训练。因此,CG-LoRA 的前馈过程公式如下:
其中, 表示预训练的 SD 模型的冻结参数,是级联运算。在本方法的实现中,将 CG-LoRA 集成到 SD 中注意力模块的线性嵌入层中,以有效地捕捉方向和相机信息。
Attention-Mask Alignment Loss (AMA Loss)
SD 被预训练以生成 2D 图象,同时考虑了远景和背景元素。然而,text-to-3D 的生成需要更加重视远景东西的生成。鉴于这一要求,X-Dreamer 提出了 Attention-Mask Alignment Loss(AMA 损坏),以将 SD 的注意力图与 3D 东西的衬着的掩码图象对齐。具体的,对于预训练的 SD 中的每个注意力层,本方法应用查询图象特征和关键 CLS 标记特征来计算注意力图。计算公式如下:
其中, 表示多头注意力机制中的头的数量,表示注意力图,之后,通过对所有注意力头中注意力图的注意力值进行平均来计算整体注意力图的值。
由于应用 softmax 函数对注意力图值进行归一化,因此当图象特征分辨率较高时,注意力图中的激活值可能变得非常小。但是,考虑到衬着的 3D 东西掩码中的每个元素都是 0 或 1 的二进制值,因此将注意力图与衬着的 3D 东西的掩码直接对齐不是最佳的。为了解决这个问题,论文提出了一种归一化技术,该技术将注意力图中的值映射到(0,1)之间。此归一化过程的公式如下:
其中,代表一个小的常数值 (例如),来防止分母中出现 0。最后,应用 AMA 损坏将所有注意力层的注意力图与 3D 东西的衬着的掩码对齐。
实验结果
论文应用四个 Nvidia RTX 3090 GPU 和 PyTorch 库进行实验。为了计算 SDS 损坏,操纵了通过 Hugging Face Diffusers 实现的 Stable Diffusion 模型。对于 DMTET 和 material 编码器,将它们分别实现为两层 MLP 和单层 MLP,隐藏层维度为 32。
从椭球体开始进行 text-to-3D 的生成
论文展示了 X-Dreamer 操纵椭球作为初始若干形状的 text-to-3D 的生成结果,如图 4 所示。结果证明 X-Dreamer 具有生成高质量和照片般逼真的 3D 东西的能力,生成的 3D 东西与输入的文本提示准确对应。
图 4 从椭球体开始进行 text-to-3D 的生成。
从粗粒度网格开始进行 text-to-3D 的生成
虽然可以从互联网上下载大量粗粒度网格,但由于缺乏若干细节,直接应用这些网格创建 3D 内容往往会导致性能较差。然而,与 3D 椭球体相比,这些网格可以为 X-Dreamer 提供更好的 3D 形状先验信息。
因此,也可以应用粗粒度引导网格来初始化 DMTET,而不是应用椭球。如图 5 所示,X-Dreamer 可以基于给定的文本生成具有精确若干细节的 3D 资产,即使所提供的粗粒度网格缺乏细节。
图 5 从粗粒度网格开始进行 text-to-3D 的生成。
定性比较
为了评估 X-Dreamer 的有效性,论文将其与四种 SOTA 方法进行比较: DreamFusion [4],Magic3D [8],Fantasia3D [7] 和 ProlificDreamer [11],如图 6 所示。
当与基于 SDS 的方法进行比较时 [4,7,8],X-Dreamer 在生成高质量和逼真的 3D 资产方面优于他们。此外,与基于 VSD 的方法 [11] 相比,X-Dreamer 产生的 3D 内容具有相当甚至更好的视觉效果,同时需要的优化时间明显减少。具体来说,X-Dreamer 的若干形状和外表进修过程只需要大约 27 分钟,而 ProlificDreamer 则超过 8 小时。
图 6 与现有技术 (SOTA) 方法的比较。
消融实验
模块消融
为了深入了解 CG-LoRA 和 AMA 损坏的能力,论文进行了消融研究,其中每个模块单独加入以评估其影响。如图 7 所示,消融结果表明,当 CG-LoRA 被排除在 X-Dreamer 之外时,生成的 3D 东西的若干形状和外表质量显著下降。
此外,X-Dreamer 缺失 AMA 损坏也对生成的 3D 资产的若干形状和外表保真度产生有害影响。这些消融实验为 CG-LoRA 和 AMA 损坏在增强生成的 3D 东西的若干形状、外表和整体质量方面的单独贡献提供了有价值的研究。
图 7 X-Dreamer 的消融研究。
有无 AMA 损坏的注意力图比较
引入 AMA 损坏的目的是将去噪过程中的注意力引导到远景东西。这个是通过将 SD 的注意力图与 3D 东西的衬着掩码对齐来实现的。为了评估 AMA 损坏在实现这一目标方面的有效性,论文在若干进修和外表进修阶段可视化了有和没有 AMA 损坏的 SD 的注意力图。
如图 8 所示,可以观察到,加入 AMA 损坏不仅会改善生成的 3D 资产的若干形状和外表,而且会将 SD 的注意力特别集中在远景东西区域上。可视化证实了 AMA 损坏在引导 SD 注意力方面的有效性,从而在若干和外表进修阶段提高了质量和远景东西的聚焦。
图 8 注意力图、衬着掩码和衬着图象的可视化,包括和不包括 AMA 损坏。
这项研究引入了一个名为 X-Dreamer 的开创性框架,该框架旨在通过解决 text-to-2D 和 text-to-3D 生成之间的领域差距来增强 text-to-3D 的生成。为了实现这一点,论文首先提出了 CG-LoRA,这是一个将 3D 相关信息(包括方向感知文本和相机参数)合并到预训练的 Stable Diffusion(SD)模型中的模块。通过这样做,本文能够有效地捕获与 3D 领域相关的信息。此外,本文设计了 AMA 损坏,以将 SD 生成的注意力图与 3D 东西的衬着掩码对齐。AMA 损坏的主要目标是引导 text-to-3D 模型的焦点朝着远景东西的生成方向发展。通过广泛的实验,本文彻底评估了提出方法的有效性,证明了 X-Dreamer 能够根据给定的文本提示生成高质量和真实的 3D 内容。
参考文献
[1] Jonathan Ho, Ajay Jain, and Pieter Abbeel. Denoising diffusion probabilistic models. Advances in neural information processing systems, 33:6840–6851, 2020.
[2] Jascha Sohl-Dickstein, Eric Weiss, Niru Maheswaranathan, and Surya Ganguli. Deep unsupervised learning using nonequilibrium thermodynamics. In International conference on machine learning, pages 2256–2265. PMLR, 2015.
[3] Yang Song, Jascha Sohl-Dickstein, Diederik P Kingma, Abhishek Kumar, Stefano Ermon, and Ben Poole. Score-based generative modeling through stochastic differential equations. arXiv preprint arXiv:2011.13456, 2020.
[4] Ben Poole, Ajay Jain, Jonathan T Barron, and Ben Mildenhall. Dreamfusion: Text-to-3d using 2d diffusion. arXiv preprint arXiv:2209.14988, 2022.
[5] Chitwan Saharia, William Chan, Saurabh Saxena, Lala Li, Jay Whang, Emily L Denton, Kamyar Ghasemipour, Raphael Gontijo Lopes, Burcu Karagol Ayan, Tim Salimans, et al. Photorealistic text-to-image diffusion models with deep language understanding. Advances in Neural Information Processing Systems, 35:36479–36494, 2022.
[6] Ben Mildenhall, Pratul P Srinivasan, Matthew Tancik, Jonathan T Barron, Ravi Ramamoorthi, and Ren Ng. Nerf: Representing scenes as neural radiance fields for view synthesis. Communications of the ACM, 65 (1):99–106, 2021.
[7] Rui Chen, Yongwei Chen, Ningxin Jiao, and Kui Jia. Fantasia3d: Disentangling geometry and appearance for high-quality text-to-3d content creation. arXiv preprint arXiv:2303.13873, 2023.
[8] Chen-Hsuan Lin, Jun Gao, Luming Tang, Towaki Takikawa, Xiaohui Zeng, Xun Huang, Karsten Kreis, Sanja Fidler, Ming-Yu Liu, and Tsung-Yi Lin. Magic3d: High-resolution text-to-3d content creation. In Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition, pages 300–309, 2023.
[9] Gal Metzer, Elad Richardson, Or Patashnik, Raja Giryes, and Daniel Cohen-Or. Latent-nerf for shape-guided generation of 3d shapes and textures. In Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition, pages 12663–12673, 2023.
[10] Haochen Wang, Xiaodan Du, Jiahao Li, Raymond A Yeh, and Greg Shakhnarovich. Score jacobian chaining: Lifting pretrained 2d diffusion models for 3d generation. In Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition, pages 12619–12629, 2023.
[11] Zhengyi Wang, Cheng Lu, Yikai Wang, Fan Bao, Chongxuan Li, Hang Su, and Jun Zhu. Prolificdreamer: High-fidelity and diverse text-to-3d generation with variational score distillation. arXiv preprint arXiv:2305.16213, 2023.
[12] Robin Rombach, Andreas Blattmann, Dominik Lorenz, Patrick Esser, and Bjorn Ommer. High-resolution image synthesis with latent diffusion models. In Proceedings of the IEEE/CVF conference on computer vision and pattern recognition, pages 10684–10695, 2022.