函数图像生成器_GANimation:来自单个图像的解剖学感知的面部动画

涉及的问题:

生成对抗网络GAN的最新进展已显示出令人印象深刻的面部表情合成任务结果。最成功的架构是StartGAN,它以特定域的图像(即一组共享相同表情的人的图像)来决定GAN的生成过程。虽然有效,但只能生成不连续的表情。

提出的解决方法:

为了解决上述问题,本文介绍了基于AU标注的新颖GAN调节方案。以连续流行形式描述定义了人类表情的解剖面部运动,本文方法允许控制每个AU的激活幅度,并结合其中几个。此外还提出了一种完全不受监督的策略来训练模型,只需要用激活的AU注释的图像,并利用注意力机制使网络对不断变化的背景和光照条件具有强大的抵抗力。

网络结构:

8fd143772dcda83b4d04eff496c3908f.png

对于任意表情,模型把输入的RGB图像定义为

62249d63a6f9208a8716966750301795.png

,通过把复杂表情解构成一个个动作单元(AU),用一组N个AU

f18b9d1b713bd8f151128adb579bb888.png

对每个表情编码,yn的值经过了归一化处理,取值在[0,1]之间。有了这种连续的表征,就可以在不同表征之间进行自然插值,从而渲染各种逼真、平滑的面部表情。

该网络有两个生成器G,一个判别器组成D,生成器负责回归注意力(GA)和生成色彩掩码(GI),判别器负责鉴别生成图像逼真与否(DI),并检查表情是否连贯(Yg)。左边生成器从原始输入图像生成目标表情的输出图像,右边生成器从左边生成的目标表情图像来生成原始的输入图像,判别器是用于判断生成图像和生成表情的质量,整个过程是无监督的。生成器有两个支路,一个是利用注意力机制生成注意力掩码A,该掩码作用是关注人脸,忽略背景和防止复杂的背景和光照变化产生的影响。另一个支路用于生成颜色掩码C,指变化后的人脸颜色信息。将这两个输出和输入图像结合在一起,可以得到变化后的表情图像。

e1f73e048e00ace2dc593746eac794f6.png

上图显示了注意力掩码A,通过给定输入图像和目标表达式,生成器在整个图像上回归并使用注意力掩码A和RGB颜色转换C,注意掩码定义每个像素的强度,指定原始图像的每个像素将在最终渲染的图像中贡献到什么程度。

这个模型共有四个损失函数:

1. 图像对抗损失

作用是使生成的图像分布趋向于训练图像分布,让生成图像看起来更真实。损失是由WGAN修改得来的,因为原始的GAN用JS散度很难训练,很容易梯度消失或梯度爆炸。这个损失的意义是最大化生成图像通过判别器得到的结果,最小化原始图像通过判别器得到的结果,另外加入了一个梯度梯度惩罚项,让梯度控制在一定范围内。

损失公式:

e1be04da5d7fb57d4f3fafd8d0e0eca8.png

2. 注意力机制损失

当训练模型的注意力掩码A没有ground-truth,注意力掩码就会容易饱和趋近于1,为了防止饱和,用L2权重惩罚正则掩码。为了组合来自输入图像的像素和颜色转换C时强制执行平滑的空间颜色转换,对A执行了总变化正则化。

损失公式:

7355af8dccf519284eec922a163c4bd1.png

3. 表情的损失

分别把原始图像和生成图像输入判别器,分别得到的表情和表情向量的ground-truth计算损失。

损失函数:

5bc9886a5c2a0843f37eb03eaaed78c1.png

4. 身份损失

强迫第二个生成器的输出和原始图像更接近。即保持生成的人脸与原始图像是同一人。

损失公式:

486f5644da2e973ebceaa8c6b4d65d87.png

总的损失:

将上述所有损失相加得

90bcfe74e973ed99255977571d0d42a6.png

实验结果:

第一组实验给定输入图像Iyr,使用参数控制目标动作单元的激活程度。同时修改表情向量中的若干项,以及变化程度的参数,可以得到一组线性插值的连续表情变化。如下图所示。

9dd7a33ce70ee20e060250604c49bc4e.png

第二组实验是只让目标表情向量中得某一项有四种强度变化,其余项保持不变,可以观察到输出图像只有某一个区域有变化,说明模型真的学习到了表情向量中的每一项对人脸某个区域的控制。如下图所示。特定的AU在强度增加的级别从0.33到1下被激活,第一行对应AU的零强度应用。

c8a852a9a85951cc714bdca994010f4e.png

同样的一组实验作者验证了注意力掩膜和颜色掩膜对表情向量中某一项的相应。可以看到下图第一行最后一个很明显,在表情向量中,眼睛区域有变化的时候,注意力掩膜和颜色掩膜可以对这一块产生强烈的相应。

d9c6345bc92ae13fd833883667573d69.png

第三组实验与最新技术进行定性比较,下图显示了DIAT、CycleGAN、lcGAN和Start GAN的面部表情合成结果,输入图像和七个不同的面部表情,可以看到本文的解决方案在视觉精度和空间分辨率之间取得了最佳的平衡。

4479c67d26867fffba1a52b675416396.png

第四组实验采样面部表情分布空间,通过向量yg应用AU参数化的结果,从相同的源图像Iyr合成大量逼真的图像。

708579df4d4d1500ff91ba3ccbb4b945.png

最后一组实验对野外图像的定性评估,下图左图是电影《加勒比海盗》的图像,右图为通过本文方法获得的图像。以类似的方法使用《权力的游戏》系列中的图像框架来合成五张不同表情的新图像。

这组实验很好地说明了借助注意力掩膜,只关注人脸区域的表情变化,可以避免对人脸以外背景区域的修改,就可以很好地适应直接在图像对表情修改,不需要其他后处理。

b2c8cd4bf54c661042eeb020a69bff60.png

文章方法的优缺点:

优点:

传统的方法极度依赖3D面部重建模型,应用面非常小,也难以扩展到任意身份,这篇文章以解剖结构意义上的肌肉运行为条件,在处理极端输入时更稳健,效果更好。本文模型可以完全不受监督方式进行训练,模型通过在AU上调节GAN模型可以使生成器通过简单的插值来渲染各种表达式,此外,还在网络中嵌入了一个注意力模型,该模型仅关注与每个特定表达式相关的图像区域,可以轻松地处理野外图像,并可分散背景和照明伪影。上图各种实验展示了该方法的优越性。

缺点:

其中下图前两个例子(顶行)对应于类似人的雕塑和非现实主义风格绘画。在这两种情况下,生成器都能保持原始图像的艺术效果,并且忽略诸如眼镜遮挡之类的伪像。第三行的示例显示了模型对于面部非均匀纹理的稳健性。可以看到,把微笑转换成不满后,女郎鼻翼两侧出现了下陷的法令纹,但模型并没有试图通过添加/去除头发来使纹理均匀化。

底部是一些失败案例。研究人员归纳了失败原因,认为这些很可能都是因为训练数据不足引起的。如红脸男子图所示,当模型输入极端表情时,RGB掩模没有及时调整权重,导致嘴部出现透明化。此外,如果输入图像的主体不是人类,模型的表现也会很差。

72e3af9b6f586325745cad0af3d3b37c.png

这篇文章的一个重点是Action Unit(AU),但作者并未在文中普及,让我们看一下AU知识。

6e86537bbe993bd0f45db23b3e161f17.png

d527ed272a6863f7d3852ca23c7a4fbf.png

这篇文章用的数据集的Label是由人脸各个区域的运动情况组成。医学上把人脸肌肉分为不同的区域,人脸做出表情时,某些区域会有不同程度的变化,比如上图左,这个惊恐的表情,有些部位会有不同程度的运动。一般表情数据集的Label是说这个人脸是什么表情,但是这个数据集label不是离散的各种表情的定义,而是用向量来表示各个区域不同程度的表情变化。通过调节表情向量可以使模型输出不同程度的表情。向量长度为N,表示脸部N个区域,每个值范围为[0,1]表示运动程度。

21aac27e7bba1509c5df0cd301fb1414.png

本文和其他方法最大的不同是注意力掩膜,注意力掩膜可以避免生成器对人脸以外的区域投入太多的关注,更大程度上是对人脸区域的变化,保证了图像的完整和高分辨率。​​​​​​​

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值