创建3D资产在传统上一直是熟练艺术家使用复杂软件的专属领域——这个过程即使不是几天,也通常要耗费数小时。生成式AI的兴起,尤其是扩散模型,正在重塑这一现实,让任何人都有机会通过简单的文本提示生成精致的3D对象。但一直存在一个问题: 现有的两种方法各有利弊。
一方面是3D扩散模型。这些模型直接在3D数据上训练,擅长保持结构和空间一致性,能生成几何一致性极佳的对象。但高质量3D数据集的稀缺与昂贵,限制了它们的创作范围与细节真实度。遇到复杂的提示时,往往会生成过于简化的结果。
另一方面是“提升并适配”方法: 利用在海量2D图像数据集上训练的2D扩散模型,尝试将其强大的生成能力推广到3D。这类模型在纹理、多样性和照片级真实感方面表现惊艳,但缺乏对3D空间的原生理解。结果常常出现奇怪的瑕疵,比如臭名昭著的“雅努斯问题”——对象莫名地有两个正面,或者不同视角下几何形态不一致。
于是出现了一个两难格局:
- 原生3D模型 → 形状稳健,但细节有限。
- 2D提升模型 → 细节丰富,但几何有缺陷。
如果能两者兼得呢?
新的论文 GaussianDreamer 提出了一个巧妙而高效的桥梁,融合了这两个世界。它利用3D扩散模型创建几何上合理的“骨架”,再用2D扩散模型绘制丰富细节,并结合超高速的3D高斯溅射表示法——仅需在单块GPU上15分钟即可生成高质量3D资产。
图1. GaussianDreamer通过高斯溅射技术连接2D和3D扩散模型,与以往方法相比,在极短的时间内实现了3D一致性与精细细节的兼备。
背景: 现代3D生成的基石
在深入解析GaussianDreamer的架构之前,需要先了解两个关键基础概念:** 分数蒸馏采样 (SDS)** 与 3D高斯溅射 (3D-GS) 。
分数蒸馏采样 (SDS) : 担当艺术总监的2D AI
一个2D图像生成器如何帮助生成一致的3D对象?突破在于 SDS,它最初发表于 DreamFusion。
想象你有一个简单的3D模型——例如一个打算变成苹果的球体。你从随机角度渲染它,将渲染图传入功能强大的2D扩散模型 (如Stable Diffusion) ,并提问: “这张图如何修改才能契合提示词‘一张苹果的照片’?”
2D模型会以梯度形式返回指引——一组调整像素的方向。SDS并不直接改变图像,而是利用这个梯度来更新3D模型的参数。从不同视角重复这一过程,3D模型便逐渐成为一个任何视角渲染都能匹配提示的苹果。
数学表达为:
\[ \nabla_{\theta} \mathcal{L}_{\text{SDS}}(\phi, \mathbf{x} = g(\theta)) \triangleq \mathbb{E}_{t,\epsilon} \left[ w(t) \left( \hat{\epsilon}_{\phi}(\mathbf{z}_t; y, t) - \epsilon \right) \frac{\partial \mathbf{x}}{\partial \theta} \right] \]其中,\(\epsilon\) 是添加到渲染图像中的噪声,\(\hat{\epsilon}_{\phi}\) 是2D扩散模型预测的噪声,两者差值用于推断如何调整3D模型参数 \(\theta\) 以匹配文本提示 \(y\)。
3D高斯溅射: 高效的场景表示
传统表示方法——如NeRF——虽能产生高质量结果,但速度较慢;网格虽是显式表示,但优化困难。3D高斯溅射将场景建模为成千上万个模糊小斑点,每个斑点由以下属性定义:
- 位置 (\(\mu\)): 空间坐标
- 协方差 (\(\Sigma\)): 形状/方向
- 颜色 (\(c\)): RGB值
- 不透明度 (\(\alpha\)): 透明度
高斯函数的形状公式为:
\[ G(x) = e^{-\frac12 x^T \Sigma^{-1} x} \]渲染时,高斯体会被溅射——投影并混合到2D视图中,公式如下:
\[ C(r) = \sum_{i \in \mathcal{N}} c_i \sigma_i \prod_{j=1}^{i-1} (1 - \sigma_j), \quad \sigma_i = \alpha_i G(x_i) \]这种表示在训练和实时显示中非常高效——非常适合GaussianDreamer的快速优化。
核心方法: 两阶段流程
GaussianDreamer的优势源于两阶段管线:
- 使用3D扩散模型先验进行初始化
- 通过SDS调用2D扩散模型进行优化
图2. GaussianDreamer工作流程: 3D模型 → 增强点云 → 初始化高斯 → SDS结合2D模型优化 → 最终实时渲染。
阶段1: 使用3D扩散模型先验进行初始化
GaussianDreamer不是从噪声起步,而是调用预训练的3D模型——物体使用 Shap-E,虚拟人形象使用MDM等文本到动作模型。
例如,给定提示词“狐狸”,3D模型会输出一个结构合理但较稀疏的粗网格,将该网格转为**点云 **(带RGB颜色的点) 。为增强该点云:
噪声点扩展与颜色扰动
图3. 噪声点扩展增加密度;颜色扰动增加变化,以获取更丰富的细节。
步骤:
- 在原始点外建立边界框。
- 在框内随机生成点。
- 保留距离表面小于0.01 (归一化距离) 的点。
- 为新点赋予与最近原点相似的颜色,并添加少量随机噪声:
\[ \mathbf{c}_r = \mathbf{c}_m + \mathbf{a} \] - 合并原点与新点:
\[ pt(p_f, c_f) = (p_m \oplus p_r, c_m \oplus c_r) \]
得到的密集点云用于初始化数千个3D高斯体 (位置\(\mu_b\)、颜色\(c_b\)、初始不透明度、形状由点间距离决定) 。
阶段2: 使用2D扩散模型优化
SDS在此阶段发挥作用:
- 从随机视角渲染高斯集合图像。
- 将图像与提示词输入2D扩散模型 (Stable Diffusion 2.1) 。
- 计算SDS梯度。
- 调整位置、颜色、不透明度和形状。
借助强3D先验,2D模型专注于添加精致纹理与复杂特征,从而避免几何错误。全流程1200次迭代仅耗时15分钟。
实验与结果: 速度、一致性与质量
定量评测
在 T³Bench 上,GaussianDreamer取得平均分最高,同时比竞品快20–40倍。
表1. GaussianDreamer在质量与对齐得分上均超越以往方法,生成速度显著提升。
定性对比
面对复杂提示,GaussianDreamer在极短时间内实现与最先进方法相当或更好的质量。
图4. 与DreamFusion、Magic3D、Fantasia3D与ProlificDreamer的视觉对比。
它可处理多样提示——从动物到精细工艺品——且保持几何一致性。
图5. GaussianDreamer的结果兼具细节与3D一致性。
从文本到动作初始化虚拟人形象
GaussianDreamer调用文本到动作模型,根据特定姿势提示生成SMPL骨架,并进一步添加纹理与细节。
图6. 虚拟人形象生成更快,质量相当。
图7. 可摆姿势的定制虚拟人形象。
成功原因: 消融实验洞察
初始化至关重要:
无3D先验时,几何表现欠佳;有Shap-E先验时,GaussianDreamer保持了形状一致性并添加丰富细节。
图8. 使用3D先验初始化可避免几何缺陷并实现精细刻画。
“扩展与扰动”增强:
增加点云密度,支持精细特征呈现,并能更好匹配风格化提示 (如钩针纹理) 。
图9. 增强过程提升了细节精度与风格保真度。
结论与展望
GaussianDreamer优雅地解决了生成式3D的核心挑战: 结合原生3D模型的几何稳定性与2D提升模型的细节刻画能力。借助3D高斯溅射,不仅使该方法可行,而且极速——数分钟内即可实现实时渲染。
仍存在一些局限,例如偶有边缘模糊或难以处理大规模场景,但其核心理念引入了一个充满潜力的新范式:** 将一个AI的优势作为另一个AI创造力的先验**。这种模型协作式设计可能重塑数字艺术、游戏开发与虚拟资产创建的工作流。
GaussianDreamer不仅能生成惊艳的3D模型——更为智能AI协作树立了鲜明范例。