[CVPR2022]Sparse to Dense Dynamic 3D Facial Expression Generation

标题:Sparse to Dense Dynamic 3D Facial Expression Generation

链接:https://arxiv.org/pdf/2105.07463

本文主要做的是基于人脸网格的表情动画合成。思路是先用一个conditional GAN来学习基于landmark的动画序列,然后将landmark序列输入解码器还原为稠密的人脸网格动画。作者做这篇文章的灵感是来源于“每个人在做表情时的肌肉运动是一致的”,因此作者试图学习出一套通用的运动模板,然后套用到每个个体身上,进而让每个人在面部特征不变的情况下产生表情动画。

 

特色主要在于对landmark的动画序列使用了基于SRVF的轨迹表示(这个其实是借鉴MotionGAN的,这里作者只是把他从2D改成了3D),和对landmark解码时loss的设计。

模型结构

Motion 3D GAN

这是模型的第一部分,输入一个情绪标签和噪声,要求模型输出一个landmark序列。因为在连续运动过程中,每个点在空间中都可以视作是画了一条曲线,因此我们可以直接用一个方程来拟合这个曲线,因此作者就选择了Square-Root Velocity Function(SRVF)来对这个landmark轨迹建模,建模出的轨迹可以很简单的还原回我们想要的landmark序列。

Sparse to dense decoder(S2D-Dec)

为了将离散的landmark序列还原为稠密的网格序列,作者这里考虑的是直接模拟网格的形变,即预测人脸网格每一帧之间的位移图。这样在我们知道中性脸(neutral mesh)的时候就可以通过将位移图加上去进而产生动画了。

损失函数

本文提出的两个模型是分别训练的,因此都有自己的一套损失。另外,文中合成的每个量都有ground truth,因此全部都可以做重建损失。

首先,针对Motion 3D GAN的部分有:1. 对抗损失(判断轨迹是否真实)2.重建损失(合成轨迹和真实轨迹做差)3.梯度惩罚(防止模式崩溃)

针对S2D-Dec的部分有:1.位移图损失(真实与合成值做差)2.网格损失(使用位移图后的网格与真实网格做差)+landmark距离权重(因为作者发现距离landmark越近的地方形变越大,越远的地方往往越不会有形变,比如额头。因此对所有顶点都计算了一个与landmark距离相关的权重)

  • 5
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值