GaussianIP: Identity-Preserving Realistic 3D Human Generation via Human-Centric Diffusion Prior¶
会议: CVPR 2025
arXiv: 2503.11143
代码: https://github.com/silence-tang/GaussianIP
领域: 人体理解 / 3D人体生成
关键词: 3D人体生成, 身份保持, 3D高斯溅射, 分数蒸馏, 多视角一致性
一句话总结¶
提出 GaussianIP 两阶段框架,通过自适应人体蒸馏采样(AHDS)从人体中心扩散模型高效生成身份一致的 3D 高斯人体,再通过视角一致性精炼(VCR)机制利用 mutual attention 增强面部和服饰纹理细节,在 40 分钟内完成训练并显著优于现有方法。
研究背景与动机¶
领域现状:文本引导的 3D 人体生成已取得显著进展。DreamFusion 提出的 SDS(Score Distillation Sampling)开创了从 2D 扩散先验蒸馏 3D 场景的范式。后续工作(DreamWaltz、TADA、HumanGaussian 等)结合 SMPL 参数化人体模型和 SDS 生成 3D 人体,近期方法采用 3DGS(3D Gaussian Splatting)替代 NeRF 实现了更高效的渲染。
现有痛点:(1) 训练时间过长——大多数方法需要 1-3 小时;(2) 生成结果缺乏精细的面部和服饰细节——SDS 蒸馏过程中的噪声项导致纹理模糊;(3) 无法处理图像输入保持身份一致——现有文本到 3D 方法只接受文本 prompt,无法根据用户肖像生成保持面部身份的 3D 虚拟形象,严重限制了实际应用。
核心矛盾:通用扩散模型(如 Stable Diffusion)不具备人体特定知识,用其作为蒸馏先验生成的人体缺乏身份感和服饰细节;而 2D 人体扩散模型(如虚拟试穿、身份定制模型)的能力尚未被充分利用到 3D 生成中。
本文目标 (1) 如何利用 2D 人体扩散模型的先验知识高效生成身份一致的 3D 人体;(2) 如何在蒸馏后精炼纹理细节同时保持多视角 3D 一致性。
切入角度:作者有两个核心洞察——(a) 可以利用人体中心扩散模型(如 IP-Adapter-FaceID)替代通用扩散模型来蒸馏,通过分解并重设计 score difference 来注入身份条件;(b) 扩散模型的生成能力可以进一步用于精炼蒸馏结果,但必须通过注意力特征共享来保证多视角一致性。
核心 idea:用人体中心扩散先验替代通用扩散模型、通过 HDS 分解注入身份条件实现身份一致的 3D 人体生成,再用多视角 mutual attention 精炼确保纹理 3D 一致性。
方法详解¶
整体框架¶
GaussianIP 分两个阶段。阶段1:在 SMPL-X 网格上密集采样初始化 3DGS 点云,使用 AHDS(Adaptive Human Distillation Sampling)引导 3DGS 训练 2400 步,生成粗略但身份准确的 3D 人体。阶段2:从阶段1渲染多视角图像,通过 VCR(View-Consistent Refinement)机制进行一致性精炼,然后用精炼后的图像作为GT以重建方式优化 3DGS 800 步。总训练时间约 40 分钟(单 V100 GPU)。
关键设计¶
-
Human Distillation Sampling (HDS):
- 功能:将身份保持能力注入 SDS 蒸馏过程
- 核心思路:将 SDS 的原始 score difference 分解为三项——rectifier \(\delta_{\text{rect}}\)(引导图像走向真实图像流形)、denoiser \(\delta_{\text{noise}}\)(去噪方向,但带来模糊)、conditional \(\delta_{\text{cond}}\)(条件引导方向)。HDS 的改进:(a) 去掉 noisy 的 \(\delta_{\text{noise}} - \epsilon\) 项避免纹理模糊;(b) 在 \(\delta_{\text{cond}}\) 中加入身份图像条件 \(\boldsymbol{I}_{ip}\);(c) 对 \(\delta_{\text{rect}}\) 在高时间步时引入 repelling score(用负向 prompt 防止生成低质量图像)。使用 IP-Adapter-FaceID-PlusV2 作为扩散先验,结合 pose-conditioned ControlNet 控制姿态。还用视角依赖的骨架裁剪策略处理面部关键点可见性以缓解 Janus problem。
- 设计动机:标准 SDS 使用通用扩散模型且包含噪声项导致纹理模糊和过饱和,替换为人体中心模型并去除噪声项可同时解决这两个问题
-
Adaptive Human-specific Timestep Scheduling:
- 功能:加速 HDS 训练,减少约 30% 训练步数
- 核心思路:将整个 HDS 过程类比 2D 人体生成的去噪过程,分为三个阶段——粗几何和基础纹理(phase 1)、中等纹理(phase 2,过渡阶段步数少)、精细面部和服饰细节(phase 3)。通过优化一个双段高斯 PDF 函数来确定每个训练步对应的 diffusion timestep,使得 phase 1,3 占据大部分训练步数。每阶段还设有 timestep 下界,在下界和计划值之间随机采样以避免过饱和并平滑过渡。
- 设计动机:人体 3D 生成有特殊的"从粗到细"结构——SMPL-X 提供了不错的初始几何所以可以从较小 timestep 开始,中间纹理阶段无需太多步数,精细细节阶段需要集中训练
-
View-Consistent Refinement (VCR):
- 功能:精炼多视角渲染图像的纹理细节同时保持跨视角 3D 一致性
- 核心思路:分两步——(a) 关键视角精炼:先去噪 4 个主视角(前后左右),存储其自注意力 K/V,对每个关键视角执行 mutual attention(将最近主视角的 K/V 与自身 K/V 拼接作注意力)确保与主视角外观一致;(b) 中间视角传播:对两个关键视角之间的中间视角,根据方位角计算与左右邻居关键视角的相对距离 \(\eta\),按距离加权融合两个邻居的注意力特征 \(\boldsymbol{O}_{\text{fa}} = \eta_l \text{Attn}(\boldsymbol{Q}_i, \boldsymbol{K}_{P_l}, \boldsymbol{V}_{P_l}) + \eta_r \text{Attn}(\boldsymbol{Q}_i, \boldsymbol{K}_{P_r}, \boldsymbol{V}_{P_r})\),再与自注意力加权混合 \(\boldsymbol{O}_{\text{final}} = \lambda_{\text{self}} \boldsymbol{O}_{\text{sa}} + (1-\lambda_{\text{self}}) \boldsymbol{O}_{\text{fa}}\)。
- 设计动机:如果每个视角独立去噪精炼,虽然单视角质量可以提升但跨视角纹理不一致(如衣服花纹位置不匹配),mutual attention 让不同视角共享纹理特征确保 3D 一致性
损失函数 / 训练策略¶
阶段1:AHDS 梯度引导 3DGS 训练 2400 步,CFG 系数 \(\gamma=7.5\)。200-1700 步执行 densification & pruning(间隔 800 步),1800 步执行 prune-only。阶段2:精炼图像作为 GT,用 \(\mathcal{L}_{\text{recon}} = \lambda_{L1} L_1 + \lambda_{\text{lpips}} L_{\text{lpips}}\) 重建损失优化 800 步(\(\lambda_{L1}=10, \lambda_{\text{lpips}}=15\),batch=8)。VCR 去噪 8 步,\(\lambda_{\text{self}}=0.55\)。
实验关键数据¶
主实验¶
| 方法 | 面部细节↑ | 服饰纹理↑ | 视觉质量↑ | 文本对齐↑ | GPT评分↑ | 训练时间 | 身份保持 |
|---|---|---|---|---|---|---|---|
| DreamWaltz | 1.33 | 1.46 | 1.38 | 1.58 | 1.82 | 1.3h | ✗ |
| TADA | 2.21 | 2.46 | 2.58 | 3.13 | 3.24 | 2h | ✗ |
| HumanGaussian | 4.29 | 4.17 | 3.96 | 4.42 | 4.08 | 1.2h | ✗ |
| GaussianIP | 4.71 | 4.50 | 4.17 | 4.62 | 4.52 | 40min | ✓ |
Face++ 验证:所有生成人体面部与输入肖像匹配,平均置信度超过 83%。GPU 显存需求 <24GB。
消融实验¶
| 配置 | 效果 | 说明 |
|---|---|---|
| 3DGS + SDS (baseline) | 基本形状但过饱和、缺细节 | 通用扩散模型蒸馏 |
| + HDS | 身份一致性改善、服饰细节增强 | 人体中心蒸馏 + 身份条件 |
| + AHDS | 训练步数从 3600 减至 2400(↓33%),质量进一步提升 | 自适应 timestep 调度 |
| + VCR | 多视角纹理一致性显著提升 | 视角一致性精炼 |
| 独立去噪精炼 | 单视角质量可以但跨视角不一致 | 无 mutual attention |
| VCR 精炼 | 跨视角纹理对齐、细节一致 | mutual attention + 距离融合 |
关键发现¶
- AHDS 将训练步数从 3600 减少到 2400(提速 33%)同时提升了生成质量,验证了人体特定 timestep 调度的有效性
- VCR 中 mutual attention 对跨视角一致性至关重要——独立去噪会导致同一件衣服在不同视角花纹不匹配
- 40 分钟完成训练比最快的 baseline(AvatarVerse 1 小时)快 33%,且 GaussianIP 还额外支持身份保持,功能更强
- 所有指标全面领先 HumanGaussian(之前最强的 3DGS 方法),尤其在面部细节上优势明显(4.71 vs 4.29)
亮点与洞察¶
- HDS 的 score difference 分解与重组非常精巧:通过理论分析发现标准 SDS 中 \(\delta_{\text{noise}} - \epsilon\) 是模糊纹理的罪魁祸首,直接去掉这一项并用 repelling score 替代,简洁地解决了两个问题(模糊 + 过饱和)。这种"分解-诊断-替换"的思路可以应用到其他 SDS 变体中。
- 三阶段 timestep 调度利用了人体生成的领域先验:SMPL-X 初始化已提供粗几何,所以可以跳过高 timestep 阶段;中间纹理是平滑过渡不需要太多步数;精细细节是关键需要集中训练。这种领域自适应的调度策略比通用线性下降更高效。
- VCR 的距离加权注意力融合确保了视角间纹理的平滑过渡——越近的关键视角影响越大,避免了硬切换导致的纹理不连续。这个思路可以迁移到其他需要多视角一致性的 2D-to-3D 任务。
局限与展望¶
- 高复杂度姿态或极端服饰纹理的生成可能失败,框架对 SMPL-X 的姿态先验依赖较强
- 未处理人-物交互和人-人交互场景
- VCR 阶段使用 Stable Diffusion 去噪,对于非标准人体比例或卡通风格可能效果不佳
- 仅渲染静态 3D 人体,不支持动画、不同姿态的重定向
- 用户研究的评审人数(24 人)和 prompt 数量(20 个)相对较少
相关工作与启发¶
- vs HumanGaussian: HumanGaussian 是之前最强的 3DGS 人体方法但不支持图像输入、训练需 1.2h。GaussianIP 增加了身份保持能力且训练快至 40min
- vs DreamWaltz/AvatarVerse: 基于 NeRF 的早期方法,面部和服饰细节明显不足,训练也更慢
- vs TADA/X-Oscar: 基于 SMPL-X mesh 的方法在几何控制上有优势,但纹理质量不如 3DGS 方法
- vs 2D 人体定制(IP-Adapter等): GaussianIP 将 2D 人体定制模型的能力提升到 3D 空间,是一个很有潜力的方向
评分¶
- 新颖性: ⭐⭐⭐⭐ HDS 的 score difference 分解和 VCR 的距离加权注意力融合有较强理论贡献
- 实验充分度: ⭐⭐⭐⭐ 用户研究 + GPT 评分 + Face++ 验证 + 详细消融,但缺定量指标(如 FID)
- 写作质量: ⭐⭐⭐⭐ 公式推导完整,结构清晰,但部分推导可以更直观
- 价值: ⭐⭐⭐⭐⭐ 首个支持身份保持的高质量 3D 人体生成方法,40min 训练对实际应用很有吸引力