跳转至

Synthetic Prior for Few-Shot Drivable Head Avatar Inversion

会议: CVPR 2025
arXiv: 2501.06903
代码: 项目页面
领域: 3D Vision / Head Avatar
关键词: 头部虚拟人, 少样本反演, 合成数据先验, 3DGS, VQ-VAE

一句话总结

SynShot 提出用大规模合成头部数据训练生成式 3D 高斯先验模型,仅需 3 张真实图像即可通过 pivotal fine-tuning 反演出可驱动的高保真头部虚拟人,显著优于单目和 GAN 方法。

研究背景与动机

高保真可驱动数字头部虚拟人是 VR/MR 的关键技术。现有方法面临多重挑战: - 单目方法(INSTA、Flash Avatar、Splatting Avatar)需要数千帧视频训练,且难以泛化到新视角和新表情 - GAN 反演方法(Next3D、InvertAvatar、Portrait4D)依赖 FFHQ 等真实数据集,在新视角合成时容易出现身份变化等伪影 - 多视角先验方法(GPHM、HeadGAP)需要昂贵的多视角捕获硬件,且真实数据受到 GDPR 等隐私法规严格限制 - 真实数据的管理成本高:GDPR 要求定期删除模型和数据以应对参与者撤回同意的情况 - 先验模型的表达能力受限于训练数据多样性(种族、年龄、表情等)、捕获硬件设置和数据预处理质量

SynShot 的核心思路是:完全使用合成数据训练先验,避免真实数据的法律和成本问题,同时通过精心设计的反演流程弥合域差距。

方法详解

整体框架

SynShot 采用两阶段方案:(1) 在大规模合成头部数据集(约 2000 个身份、1400 万张图像)上训练基于 VQ-VAE 的生成式 3D 高斯头部先验;(2) 给定少量真实图像,通过 pivotal tuning 策略反演出个性化头部虚拟人。先验模型使用卷积编码器-解码器在 UV 纹理空间输出高斯参数,并通过分部件密集化机制处理头部不同区域(面部 vs 头发)的建模复杂度差异。

关键设计1:双分支 VQ-VAE 身份-表情解耦

功能:将静态身份(面部形状、外观)与动态表情(皱纹、自阴影)显式解耦。

核心思路:编码器分为两个并行分支——身份编码器 \(E_{\text{id}}(\mathbf{x}_{\text{tex}}, \mathbf{x}_{\text{verts}}) \to \mathbf{z}_{\text{id}}\) 和表情编码器 \(E_{\text{expr}}(\mathbf{x}_{\text{exp}}) \to \mathbf{z}_{\text{expr}}\)。两个潜空间分别经过向量量化 \(\mathbf{q}(\cdot)\),然后送入三个解码器分支:特征图解码器 \(D_{\text{feat}}\) 融合 identity 和 expression 信息,身份解码器 \(D_{\text{id}}\) 仅依赖身份编码预测纹理和顶点位置,表情解码器 \(D_{\text{expr}}\) 仅依赖表情编码预测表情偏移。

设计动机:显式解耦使得反演时可以固定表情编码器,仅优化身份编码器来匹配真实图像,从而避免身份和表情信息的混淆,提高泛化能力。

关键设计2:分部件高斯原语密集化

功能:根据头部不同区域(面部、头发)的建模需求自适应调整高斯原语密度。

核心思路:不同于直接从 CNN 输出固定分辨率的高斯参数映射,SynShot 通过双线性采样 \(\mathcal{B}(\cdot, u, v)\) 在 UV 空间对解码器输出进行分区域采样。面部和头皮区域使用不同的 UV 采样网格 \((u_r, v_r)\),每个区域独立计算高斯位置 \(\phi_r\)、初始尺度 \(\sigma_r\)(基于最近邻距离)和旋转 \(\theta_r\)(基于位置图梯度的切线-副法线-法线坐标系)。然后通过轻量级回归器 \(R_{\text{color}}\)\(R_{\text{gauss}}\) 预测球谐系数和参数校正场。

设计动机:头发比皮肤需要更高密度的高斯原语来建模细节,分部件采样相当于自适应密集化,消除了 CNN 固定分辨率的瓶颈(消融实验显示去掉采样后质量显著下降)。

关键设计3:合成-真实 Pivotal Tuning 反演

功能:用少量(最少 3 张)真实图像将合成先验适配为真实人物的个性化虚拟人。

核心思路:两阶段优化——第一阶段固定网络其他部分,仅优化身份编码器 \(E_{\text{id}}\) 恢复身份潜码 \(\mathbf{z}_{\text{id}}\);第二阶段固定 \(\mathbf{z}_{\text{id}}\),微调解码器和回归器以弥合合成-真实域差距。损失函数包括光度损失 \(\mathcal{L}_{\text{color}} = \alpha\mathcal{L}_{L1} + \beta\mathcal{L}_{\text{SSIM}} + \gamma\mathcal{L}_{\text{LPIPS}}\),以及基于 ArcFace 的身份损失 \(\mathcal{L}_{\text{id}}\) 和特征匹配损失 \(\mathcal{L}_{\text{arc}}\)

设计动机:参考 GAN 反演中的 PTI 策略,先找到最优潜码再微调生成器权重,能在保持先验泛化能力的同时实现高保真重建。

损失函数

总训练损失:\(\mathcal{L} = \mathcal{L}_{\text{color}} + \mathcal{L}_{\text{geom}} + \mathcal{L}_{\text{reg}}\),其中 \(\mathcal{L}_{\text{color}} = \alpha\mathcal{L}_{L1} + \beta\mathcal{L}_{\text{SSIM}} + \gamma\mathcal{L}_{\text{LPIPS}}\)\(\mathcal{L}_{\text{geom}} = \delta\mathcal{L}_{L1}\) 监督位置图和表情图重建,\(\mathcal{L}_{\text{reg}}\)\(L_2\) 正则化。反演损失额外加入 ArcFace 感知损失。

实验关键数据

主实验:自重演定量比较

方法 训练数据量 LPIPS ↓ 备注
SynShot (Ours) 3 张图像 0.0236 仅用 3 张图像
InvertAvatar 3 张图像 0.0962 GAN 反演
Portrait4D 1 张图像 0.0843 单张反演
Next3D 1 张图像 0.2274 GAN 反演
INSTA ~3000 帧 更高 单目方法
Flash Avatar ~3000 帧 更高 单目方法

消融实验:VQ-VAE 架构

配置 L1 ↓ LPIPS ↓ SSIM ↑ PSNR ↑
F=128(最终模型) 0.0356 0.2686 0.8189 20.15
无采样(No Sampling) 0.0403 0.2853 0.8158 19.98
无VQ量化(w/o VQ) 0.0396 0.2747 0.8122 19.29
单层(Single Layer) 0.0369 0.2702 0.8177 19.89
F=32 0.0375 0.2732 0.8146 19.70

关键发现

  • SynShot 仅用 3 张图像即在 LPIPS 上大幅超越使用 3000 帧训练的单目方法
  • 分部件采样和 VQ 量化对质量提升均有显著贡献
  • 交叉重演(cross-reenactment)评估中,单目方法在分布外表情和视角下严重失败,而 SynShot 因强先验表现稳定

亮点与洞察

  • 纯合成数据方案:完全避免真实数据的隐私问题,在 GDPR 等严格法规下仍可自由实验
  • 极少样本高质量:3 张图像优于 3000 帧训练的 SOTA,说明强先验远比数据量重要
  • 交叉重演揭示泛化:论文强调评估交叉重演而非仅自重演的重要性,更能暴露泛化问题

局限与展望

  • 合成数据中所有对象共享相同牙齿几何和纹理,导致反演后牙齿细节受限
  • 缺乏多样的表情依赖皱纹数据,影响整体视觉质量
  • 使用单一环境光照进行光线追踪渲染,限制了对多样化光照条件的泛化
  • 未来方向:提升合成数据多样性、引入更丰富的光照条件和表情纹理

相关工作与启发

  • 与 HeadGAP、GPHMv2 等 MLP 直接嵌入方法不同,SynShot 通过 VQ-VAE 学习参数分布,测试时不需要引导网格
  • PTI(Pivotal Tuning Inversion)策略在 GAN 反演中已被验证有效,本文成功将其推广到 3DGS 头部先验的反演
  • 合成数据在人脸相关任务中的成功进一步验证其在 3D 虚拟人领域的可行性

评分

⭐⭐⭐⭐ — 用合成数据训练先验并实现少样本高保真虚拟人反演是一个实用且重要的贡献,方法设计完整、实验充分,但合成数据质量的天花板限制了进一步提升空间。

相关论文