GVGEN: Text-to-3D Generation with Volumetric Representation¶
会议: ECCV 2024
arXiv: 2403.12957
代码: https://gvgen.github.io/ (有)
领域: 3D视觉
关键词: 文本到3D, 3D高斯, 体积表示, 前馈生成, 扩散模型
一句话总结¶
提出GVGEN,首个直接从文本前馈生成3D高斯的框架,通过将无序高斯组织为结构化体积表示(GaussianVolume),并设计从粗到精的生成管线(先生成几何体积再预测高斯属性),在约7秒内完成文本到3D生成。
研究背景与动机¶
领域现状: 文本到3D生成是计算机图形学中的热门方向,分为两大类: - 优化方法(如DreamFusion/SDS): 质量好但耗时数小时,存在Janus问题 - 前馈方法(如Shap-E): 速度快但质量有限,多采用text→2D→3D的间接路线
现有痛点: - 优化方法时间成本过高(小时级),且有多面/过饱和问题 - 前馈方法中,直接生成3D高斯几乎未被探索,原因是高斯点无序且高维 - 点云扩散/生成方法难以扩展到高维高斯属性 - 通过多视图中间步骤的方法分辨率受损,复杂prompt语义理解不足
核心矛盾: 3D高斯点天然无结构化,难以直接用现有生成网络处理;同时高斯属性维度高,直接学习分布困难。
本文目标: 设计一种能将无序3D高斯组织为结构化表示的方法,并实现直接从文本前馈生成3D高斯。
切入角度: 将高斯组织为固定数量的体积网格(GaussianVolume),通过从粗到精(几何→属性)的两阶段管线简化生成。
核心 idea: 将无序高斯结构化为体积网格 + Candidate Pool策略保持固定数量 + 先扩散生成几何再U-Net预测属性。
方法详解¶
整体框架¶
GVGEN分为两大阶段:
阶段1 — GaussianVolume Fitting(数据准备): 将每个3D物体的无序高斯点表示为固定分辨率 \(N^3\) 的结构化体积(默认 \(N=32\), 即32,768个高斯点),同时提取Gaussian Distance Field (GDF)作为粗几何表示。
阶段2 — Text-to-3D Generation(生成): 1. 扩散模型根据文本生成GDF(粗几何体积) 2. 3D U-Net根据GDF和文本预测完整GaussianVolume属性
关键设计¶
-
GaussianVolume(结构化高斯体积):
- 功能: 将无序的3D高斯点组织为 \(V \in \mathbb{R}^{C \times N \times N \times N}\) 的结构化体积
- 核心思路: 在体积网格的每个格点处放置一个高斯点,用位置偏移 \(\Delta\mu\) 表示从网格点到实际高斯中心的微小偏移: \(\mu = p + \Delta\mu\) 其中 \(p\) 是网格点位置,\(\Delta\mu\) 是可学习偏移。训练时仅对偏移进行梯度回传,既允许精细位置调整又保持结构化形式。每个高斯包含: 位置偏移 \(\Delta\mu \in \mathbb{R}^3\)、缩放 \(s \in \mathbb{R}^3\)、旋转四元数 \(q \in \mathbb{R}^4\)、颜色 \(c \in \mathbb{R}^3\)、透明度 \(\alpha \in \mathbb{R}\)
- 设计动机: 无结构的高斯点对3D神经网络不友好;之前尝试用点云扩散生成高维高斯效果很差;体积形式可无缝对接现有体积生成网络
-
Candidate Pool Strategy (CPS, 候选池策略):
- 功能: 在固定高斯数量的约束下,实现有效的剪枝和密化
- 核心思路:
- 初始化候选池 \(P = \emptyset\)
- 剪枝: 根据梯度阈值 \(\tau_p\) 确定需剪枝的点 \(G_p\),将其"停用"并存入候选池(不参与前向/反向)
- 密化: 根据阈值 \(\tau_d\) 确定需密化的点 \(G_d\),从候选池中找最近的"停用"点 \(G_{new}\) 激活到 \(G_d\) 附近
- 优化结束: 释放池中所有点重新参与优化
- 设计动机: 原始3DGS的自由剪枝/密化会改变高斯总数,不适用于固定体积分辨率;不使用CPS时高斯中心移动范围受限,几何质量下降(PSNR降低0.45 dB)
-
Gaussian Distance Field (GDF, 高斯距离场):
- 功能: 作为粗几何表示,存储每个网格点到最近高斯中心的距离
- 核心思路: \(F \in \mathbb{R}_0^{+1 \times N \times N \times N}\),类似无符号距离场(UDF),可通过排序算法从拟合的GaussianVolume中提取。训练扩散模型预测加噪GDF的噪声: \(\mathcal{L}_{3D} = \text{MSE}(\text{GDF}_{gt}, \text{GDF}_{pred})\)
- 设计动机: 直接生成完整GaussianVolume维度过高(14通道 × 32³),扩散模型难以收敛;将问题分解为先生成简单的1通道几何体积,再条件化预测其余属性
-
3D U-Net属性预测器:
- 功能: 根据生成的GDF和文本条件,单步预测完整的GaussianVolume属性
- 核心思路: 基于SDFusion的3D U-Net修改,输入GDF+文本条件,输出所有高斯属性。使用多模态损失: \(\mathcal{L} = \lambda_{3D}\mathcal{L}_{3D} + \lambda_{2D}\mathcal{L}_{2D}\) \(\mathcal{L}_{2D} = \lambda\mathcal{L}_1 + (1-\lambda)\mathcal{L}_{SSIM}\)
- 设计动机: 实验发现单步重建模型与扩散模型在属性预测上效果相当,但速度更快;多模态损失(3D语义+2D渲染)平衡了全局一致性和局部细节
损失函数 / 训练策略¶
- GaussianVolume拟合损失: \(\mathcal{L}_{fitting} = \lambda_1\mathcal{L}_1 + \lambda_2\mathcal{L}_{SSIM} + \lambda_3\mathcal{L}_{offsets}\)
- 偏移正则化: \(\mathcal{L}_{offsets} = \text{Mean}(\text{ReLU}(|\Delta\mu - \epsilon_{offsets}|))\),限制高斯中心不偏离网格点太远
- GDF扩散损失: MSE噪声预测损失
- 属性预测损失: 3D MSE + 2D渲染损失组合
- 训练数据: Objaverse-LVIS (约46,000个3D模型, 1,156类),文本描述来自Cap3D (BLIP-2 + GPT-4)
- 体积分辨率 \(N=32\),即32,768个高斯点
实验关键数据¶
主实验 — 文本到3D (CLIP Score + 速度)¶
| 方法 | CLIP Score↑ | 生成时间↓ | 方法类型 |
|---|---|---|---|
| DreamGaussian | 23.60 | ~3 min | 优化 |
| VolumeDiffusion | 25.09 | 7 sec | 前馈 |
| Shap-E | 28.48 | 11 sec | 前馈 |
| GVGEN (Ours) | 28.53 | 7 sec | 前馈 |
消融实验 — GaussianVolume拟合策略¶
| 配置 | PSNR↑ | SSIM↑ | LPIPS↓ | 说明 |
|---|---|---|---|---|
| Full (CPS + offsets) | 30.122 | 0.963 | 0.038 | 最佳 |
| w/o CPS | 29.677 | 0.958 | 0.049 | 无候选池策略,移动范围受限 |
| w/o offsets | 27.140 | 0.936 | 0.084 | 固定高斯位置,质量大幅下降 |
消融实验 — 属性预测损失¶
| 配置 | PSNR↑ | SSIM↑ | LPIPS↓ | 说明 |
|---|---|---|---|---|
| Full (\(\mathcal{L}_{3D}\) + \(\mathcal{L}_{2D}\)) | 35.03 | 0.9872 | 0.0236 | 两种损失互补最优 |
| w/o \(\mathcal{L}_{3D}\) | 35.21 | 0.9846 | 0.0268 | PSNR略高但细节(LPIPS)下降 |
| w/o \(\mathcal{L}_{2D}\) | 29.55 | 0.9654 | 0.0444 | 仅3D损失,质量大幅下降 |
关键发现¶
- GVGEN在CLIP Score上与Shap-E持平(28.53 vs 28.48),生成速度更快(7s vs 11s)
- 去掉位置偏移(w/o offsets)导致PSNR下降约3 dB,说明位置微调对细节至关重要
- CPS策略贡献约0.45 dB PSNR提升和显著的LPIPS改善
- 2D渲染损失比3D MSE损失重要得多(去掉2D损失PSNR下降5.5 dB)
- GVGEN可以为相同文本生成多样化结果,与确定性重建方法形成差异化优势
- 图像条件版GVGEN对比OpenLRM/TGS等重建方法,在未见区域生成更合理的形状和纹理
亮点与洞察¶
- 首个直接前馈生成3D高斯的工作: 开辟了text-to-3D Gaussian的新方向,不经过2D多视图中间步骤
- GaussianVolume的结构化思路: 将无序点云问题转化为规则体积问题,简洁优雅地解决了高斯与神经网络的接口问题
- Candidate Pool Strategy: 在固定数量约束下的密化/剪枝策略精巧实用,解决了结构化与自适应的矛盾
- 从粗到精的分解策略: 将高维生成问题分解为简单几何(1通道GDF) + 条件属性预测,有效降低了扩散模型的学习难度
- 生成多样性: 相同文本可生成不同外观的3D物体,这是确定性重建方法无法实现的
局限与展望¶
- 训练数据域限制:输入文本偏离训练域时效果下降
- 体积分辨率 \(N=32\) 较低,对复杂纹理的细节表现有限(更高分辨率需更多计算资源)
- 百万级训练数据的GaussianVolume拟合耗时较长
- CLIP Score仅略高于Shap-E,在复杂语义理解上仍有挑战
- 与GRM等重建方法相比,生成质量的绝对指标仍有差距
- 未使用高阶球谐函数(SH order=0),视角相关效果受限
相关工作与启发¶
- 与3D VADER/VolumeDiffusion的对比: 这些方法也采用体积表示+扩散,但使用NeRF/隐式体积;GVGEN用3D高斯体积,具有显式可操作性和更快的渲染速度
- 与GRM/LGM的对比: GRM/LGM是重建方法,需要多视图输入;GVGEN是生成方法,直接从文本生成,具有多样性
- 与DreamGaussian的对比: DreamGaussian用SDS优化高斯,耗时分钟级别且有过饱和问题;GVGEN前馈生成仅需7秒
- 启发: 将非结构化表示(如点云、高斯)组织为结构化体积是连接传统表示与生成网络的有效桥梁;从粗到精的分解是降低高维生成复杂度的通用策略
评分¶
- 新颖性: ⭐⭐⭐⭐⭐ 首个text-to-3D Gaussian前馈生成框架,GaussianVolume和CPS设计新颖
- 实验充分度: ⭐⭐⭐⭐ 定性定量对比充分,消融研究清晰,但定量指标较少(仅CLIP Score)
- 写作质量: ⭐⭐⭐⭐ 结构清晰,CPS算法伪代码规范,但部分细节需参考补充材料
- 价值: ⭐⭐⭐⭐ 开辟新方向有意义,但在生成质量上与优化方法仍有差距,实际应用需更高分辨率
相关论文¶
- [ECCV 2024] DreamView: Injecting View-specific Text Guidance into Text-to-3D Generation
- [ECCV 2024] TPA3D: Triplane Attention for Fast Text-to-3D Generation
- [ECCV 2024] UniDream: Unifying Diffusion Priors for Relightable Text-to-3D Generation
- [ECCV 2024] DreamDissector: Learning Disentangled Text-to-3D Generation from 2D Diffusion Priors
- [ECCV 2024] DreamScene360: Unconstrained Text-to-3D Scene Generation with Panoramic Gaussian Splatting