Learning to Generate Conditional Tri-Plane for 3D-Aware Expression Controllable Portrait Animation¶
会议: ECCV 2024
arXiv: 2404.00636
代码: 项目主页
领域: 3D视觉
关键词: 人像动画, Tri-plane, 表情控制, 对比学习, 3DMM
一句话总结¶
提出 Export3D,通过对比预训练获取与外观解耦的表情表示(CLeBS),结合表情自适应层归一化(EAdaLN)直接生成条件tri-plane,实现无外观交换的跨身份3D-aware人像表情动画。
研究背景与动机¶
- 人像动画的核心需求: 虚拟人服务(跨语言配音、虚拟化身、视频会议等)要求在保持源身份的同时转移驱动表情,但跨身份表情转移极具挑战
- 图像变形方法的局限: 主流2D方法(FOMM、TPSMM)依赖图像变形估计运动,但面部表情作为局部运动易被全局头部运动淹没,且表情与外观高度纠缠
- 3DMM表情参数的缺陷: 3DMM的表情参数 \(\beta \in \mathbb{R}^{64}\) 包含隐含的外观信息,直接使用会导致跨身份转移时出现外观交换(如眼型、脸型变化)
- 3D形变场的问题: HiDe-NeRF、NOFA等方法通过预测逐点形变场来控制表情,但会产生视频级伪影(闪烁、光照变化)
- 解耦学习的不稳定性: DPE通过循环一致性学习解耦姿态和表情,但训练不稳定导致时序不一致
- GAN反转的身份丢失: 基于EG3D的方法通过潜在编码控制表情,但风格潜在码缺乏编码空间信息和个体细节的能力
方法详解¶
整体框架¶
Export3D 包含两个阶段:(1)对比预训练阶段——在视频数据集上训练CLeBS表情编码器,获取与外观解耦的表情表示;(2)主模型训练——使用混合tri-plane生成器,以源图像和驱动表情参数为输入,通过EAdaLN注入表情信息,生成表情转移后的tri-plane,经体积渲染和超分辨率输出最终图像。
关键设计¶
模块一:对比学习基缩放(CLeBS)¶
从同一视频采样正负样本对,利用对比学习使表情编码器 \(f_e(\cdot)\) 学习与外观无关的表情表示。对比损失为:
其中 \(f_I(\cdot)\) 为图像编码器,\(\tau\) 为温度参数。由于所有样本来自同一视频(相同外观),此目标函数强制编码器丢弃外观信息。
关键创新在于设计了正交基结构的表情子空间。通过QR分解获得正交基 \(V = \{v_1, v_2, \ldots, v_n\} \subseteq \mathbb{R}^d\),将表情参数转换为低维系数并缩放正交基:
其中 \(\lambda = (\lambda_1, \ldots, \lambda_n) \in \mathbb{R}^n\)(\(n \ll 64\)),\(\langle v_i, v_j \rangle = \delta_{ij}\),不同表情沿正交方向独立控制。
模块二:表情自适应层归一化(EAdaLN)¶
在ViT块的多头自注意力和Mix-FFN之前注入表情信息,通过缩放和偏移调制视觉token:
其中 \(\sigma(\beta'_D)\) 和 \(\mu(\beta'_D)\) 为从精炼表情参数计算的缩放和偏移因子。相比交叉注意力,EAdaLN将表情作为全局调制信号而非逐位置query,更适合表情这种全局语义属性。
模块三:混合Tri-plane生成器¶
结合ViT和卷积层构建生成器。源图像通过卷积块编码为视觉特征,经patch merge转换为token,通过EAdaLN-ViT块处理后,使用pixel shuffle上采样并经高斯低通滤波消除网格伪影,最终输出表情转移后的tri-plane:
Tri-plane通过投影和聚合得到特征:\(F_{\beta_D}(S) = \frac{1}{3}(F_{\beta_D,xy} + F_{\beta_D,yz} + F_{\beta_D,zx})\),再由MLP解码为颜色和密度进行体积渲染。
损失函数 / 训练策略¶
- CLeBS预训练完成后冻结,不参与后续训练;图像编码器 \(f_I\) 预训练后丢弃
- 使用在线EMA对tri-plane进行稳定化,将 \(T_{EMA}\) 加到生成的tri-plane上
- 渲染低分辨率图像 \(\hat{D}_{raw} \in \mathbb{R}^{3 \times H/4 \times W/4}\),通过超分辨率模块获得最终分辨率
- 使用平面卷积块而非风格调制卷积进行超分辨率(因不使用风格潜在码)
- Pixel shuffle后应用高斯低通滤波消除token拼接的网格伪影
实验关键数据¶
主实验¶
VFHQ数据集上的定量比较:
| 方法 | PSNR↑ | SSIM↑ | AKD↓ | CSIM↑(同ID) | AED↓(同ID) | CSIM↑(跨ID) | AED↓(跨ID) |
|---|---|---|---|---|---|---|---|
| StyleHEAT | 14.23 | 0.428 | 30.41 | 0.464 | 0.161 | 0.505 | 0.242 |
| DPE | 23.24 | 0.750 | 3.66 | 0.831 | 0.083 | 0.586 | 0.253 |
| HiDe-NeRF† | 21.23 | 0.728 | 8.25 | 0.867 | 0.106 | 0.707 | 0.255 |
| Ours | 23.56 | 0.704 | 3.45 | 0.811 | 0.082 | 0.694 | 0.208 |
(†表示仅在前景面部区域评估)
消融实验¶
表情编码方式的消融:
| 方法 | PSNR↑ | CSIM↑(同ID) | AED↓(同ID) | CSIM↑(跨ID) | AED↓(跨ID) |
|---|---|---|---|---|---|
| Direct 3DMM | 23.08 | 0.789 | 0.105 | 0.648 | 0.209 |
| E2E LeBS (n=25) | 23.11 | 0.745 | 0.109 | 0.670 | 0.218 |
| E2E LeBS (n=10) | 23.24 | 0.751 | 0.110 | 0.672 | 0.238 |
| E2E LeBS (n=5) | 22.63 | 0.658 | 0.140 | 0.632 | 0.246 |
| CLeBS (Full) | 23.56 | 0.811 | 0.082 | 0.694 | 0.208 |
EAdaLN vs 交叉注意力:EAdaLN在CSIM(0.811 vs 0.678)和AED(0.082 vs 0.125)上全面优于交叉注意力。
关键发现¶
- t-SNE可视化清晰显示原始3DMM表情参数按身份聚类(外观纠缠),CLeBS处理后聚类消失
- 单独LeBS(无对比预训练)无法解耦外观和表情,减少基向量数仅同时减弱两者
- 对比预训练是关键——同视频采样策略使同外观样本的表情可以被有效区分
- 正交基结构使不同表情方向(如眨眼、嘴唇运动)可以独立线性控制
- EAdaLN优于交叉注意力,因为表情是全局调制信号,不需要位置级的精细关注
亮点与洞察¶
- 外观-表情解耦的新范式: 不依赖循环一致性或显式标注,而是通过同视频对比学习自然实现解耦,训练稳定且效果显著
- 正交基设计: 将3DMM的正交结构思想引入学习的表情空间,通过QR分解保证基的正交性,实现可解释的表情方向控制
- EAdaLN的设计哲学: 表情作为全局语义信号通过归一化层注入,比交叉注意力更适合这种"调制"而非"选择"的需求
局限与展望¶
- 依赖3DMM提取表情参数,对遮挡或极端角度可能提取不准确
- 超分辨率依赖卷积上采样,可能引入模糊,未探索扩散模型等更强的超分方案
- 训练数据VFHQ的规模和多样性有限,泛化到极端表情或非正面人脸可能不理想
- 未探索音频驱动场景,可扩展CLeBS与语音-表情映射结合
相关工作与启发¶
- DiT的条件注入思路: EAdaLN直接借鉴了扩散Transformer的自适应归一化设计,证实其在GAN框架下同样有效
- LIA的正交基思想: 本文将LIA的正交运动字典扩展到表情空间,并通过对比学习进一步精炼
- 对虚拟人/数字人领域的启示:外观-表情解耦是实时虚拟通信的核心需求,CLeBS提供了一个轻量且有效的预训练方案
评分¶
⭐⭐⭐⭐ — 对外观-表情纠缠问题提出了优雅的解决方案,对比预训练+正交基+EAdaLN的组合设计新颖,跨身份表情转移效果优异。