GAN如此简单的PyTorch实现,一张脸生成72种表情(附代码)


新智元报道

来源:ECCV 2018 作者:Albert Pumarola

编译:三石、肖琴、大明

【新智元导读】随着GAN的发展,单凭一张图像就能自动将面部表情生成动画已不是难事。但近期在Reddit和GitHub热议的新款GANimation,却将此技术提到新的高度。GANimation构建了一种人脸解剖结构(anatomically)上连续的面部表情合成方法,能够在连续区域中呈现图像,并能处理复杂背景和光照条件下的图像。

若是能单凭一张图像就能自动地将面部表情生成动画,那么将会为其它领域中的新应用打开大门,包括电影行业、摄影技术、时尚和电子商务等等。随着生成网络和对抗网络的流行,这项任务取得了重大进展。像StarGAN这样的结构不仅能够合成新表情,还能改变面部的其他属性,如年龄、发色或性别。虽然StarGAN具有通用性,但它只能在离散的属性中改变面部的一个特定方面,例如在面部表情合成任务中,对RaFD数据集进行训练,该数据集只有8个面部表情的二元标签(binary label),分别是悲伤、中立、愤怒、轻蔑、厌恶、惊讶、恐惧和快乐。

GANimation的目的是建立一种具有FACS表现水平的合成面部动画模型,并能在连续领域中无需获取任何人脸标志(facial landmark)而生成具有结构性(anatomically-aware)的表情。为达到这个目的,我们使用EmotioNet数据集,它包含100万张面部表情(使用其中的20万张)图像。并且构建了一个GAN体系结构,其条件是一个一维向量:表示存在/缺失以及每个动作单元的大小。我们以一种无监督的方式训练这个结构,仅需使用激活的AUs图像。为了避免在不同表情下,对同一个人的图像进行训练时出现冗余现象,将该任务分为两个阶段。首先,给定一张训练照片,考虑一个基于AU条件的双向对抗结构,并在期望的表情下呈现一张新图像。然后将合成的图像还原到原始的样子,这样可以直接与输入图像进行比较,并结合损失来评估生成图像的照片级真实感。此外,该系统还超越了最先进的技术,因为它可以在不断变化的背景和照明条件下处理图像。

最终,构建了一种结构上连续的面部表情合成方法,能够在连续区域中呈现图像,并能处理复杂背景和光照条件下的图像。它与其他已有的GAN方法相比,无论是在结果的视觉质量还是生成的可行性上,都是具有优势的。

图1:根据一张图像生成的面部动画

无监督学习+注意力机制

让我们将一个输入RGB图像定义为

,这是在任意面部表情下捕获的。通过一组N个动作单元

对每个手势表达式进行编码,其中每个

表示0到1之间的归一化值,表示第n个动作单元的大小。值得指出的是,由于这种连续的表示,可以在不同表情之间进行自然插值,从而可以渲染各种逼真、流畅的面部表情。

我们的目标是学习一个映射

,将

转换成一个基于动作单元目标

的输出图像

,即:我们希望估计映射:

图2. 生成照片级真实条件图像方法的概述

所提出的架构由两个主要模块组成:用于回归注意力和 color mask 的生成器G; 用于评估所生成图像的真实度

和表情调节实现

评论家(critic) D

我们的系统不需要监督,也就是说,不需要同一个人不同表情的图像对,也不假设目标图像

是已知的。

生成器G

生成器器

被训练来逼真地将图像

中的面部表情转换为期望的

我们系统的一个关键要素是使G只聚焦于图像的那些负责合成新表情的区域,并保持图像的其余元素如头发、眼镜、帽子、珠宝等不受影响。为此,我们在生成器中嵌入了一个注意力机制。

图3:Attention-based的生成器

给定一个输入图像和目标表情,生成器在整个图像上回归并注意mask A和RGB颜色变换C。attention mask 定义每个像素强度,指定原始图像的每个像素在最终渲染图像中添加的范围。

具体地说,生成器器不是回归整个图像,而是输出两个mask,一个color mask C和一个attention mask A。最终图像可表示为:

实验评估

首先测试主要组件,即单个和多个AU编辑。然后将我们的模型与离散化情绪编辑任务中的当前技术进行比较,并展示我们的模型处理野外图像的能力,可以生成大量的解剖学面部变换的能力。最后讨论模型的局限性和失败案例。

值得注意的是,在某些实验中,输入的面部图像是未被裁剪的。在这种情况下,我们首先使用检测器2来对面部进行定位和裁剪,利用(1)式进行表达式的转换,以应用于相关区域。 最后,将生成的面部图像放回原图像中的原始位置。注意力机制(attention mechanism)可以确保经过变换处理的裁剪面部图像和原始图像之间的平滑过渡。

稍后图中可见,与以前的模型相比,经过这三个步骤的处理可以得到分辨率更高的图像(链接见文末)。

图4:单个动作单元的编辑

随着强度(0.33-1)的增加,一些特定的动作单元被激活。图中第一行对应的是动作单元应用强度为零的情况,可以在所有情况下正确生成了原始图片。

图5: 注意力模型

中间注意力掩模A(第一行)和颜色掩模C(第二行)的细节。 最底下一行图像是经合成后的表达结果。注意掩模A的较暗区域表示图像的这些区域与每个特定的动作单元的相关度更高。 较亮的区域保留自原始图像。

图6: 与当前最先进技术的定性比较

图为面部表情图像合成结果,分别应用DIAT、CycleGAN、IcGAN、StarGAN和我们的方法。可以看出,我们的解决方案在视觉准确度和空间分辨率之间达到了最佳平衡。 使用StarGAN的一些结果则出现了一定程度的模糊。

图7:采样面部表情分布空间

通过yg向量对活动单元进行参数化,可以从相同的源图像合成各种各样的照片的真实图像。

图8:自然图像的定性评估

上图:分别给出了取自电影《加勒比海盗》中的一幅原图像(左)及其用我们的方法生成的图像(右)。 下图:用类似的方式,使用图像框(最左绿框)从《权力的游戏》电视剧中合成了五个不同表情的新图像。

图9:成功和失败案例

图中分别表示了源图像Iyr,目标Iyg,以及颜色掩膜C和注意力掩模A. 上图是在极端情况下的一些成功案例。 下图是一些失败案例。

文献参考地址

论文:https://arxiv.org/abs/1807.09251

代码:http://www.albertpumarola.com/research/GANimation/

原文发布于微信公众号 - 新智元(AI_era)

原文发表时间:2018-07-29

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏腾讯大数据的专栏

腾讯数平精准推荐 | OCR技术之检测篇

本文将主要介绍数平精准推荐团队的文本检测技术。

6K120
来自专栏TensorFlow从0到N

TensorFlow从1到2 - 1 - 深度神经网络

上一主题《TensorFlow从0到1》介绍人工神经网络的基本概念与其TensorFlow实现,主要基于浅层网络架构,即只包含一个隐藏层的全连接(FC,F...

493110
来自专栏新智元

ICLR2019七大争议论文:是评审不公,还是论文真不行

由 LeCun 和 Bengio 等人联合发起的深度学习顶会 ICLR,今年你投稿了吗?

13340
来自专栏数据派THU

学好机器学习必备这12条经验 !(附资料)

本文总结了机器学习研究者和从业者的 12 个宝贵经验,包括需要避免的陷阱、需要关注的重点问题、常见问题的答案。

9520
来自专栏机器学习算法与Python学习

推荐 | 机器学习中的这12条经验,希望对你有所帮助

华盛顿大学 Pedro Domingos 教授的“A Few Useful Things to Know about Machine Learning”这篇论文...

396150
来自专栏数据派THU

收藏 | 知识图谱论文大合集,干货满满的笔记解读(附资源)

远程监督关系抽取方法虽然可以使用知识库对齐文本的方法得到大量标注数据,但是其中噪声太多,影响模型的训练效果。基于 bag 建模比基于句子建模能够减少噪声的影响,...

30430
来自专栏CDA数据分析师

提问 | 如何利用一批去年的数据,来预测未来三年的数据?

文 | 邹日佳 来自知乎 1、这批去年的数据是按月份的,本身肯定会有波动,但相对稳定。 2、预测未来三年的数据是需要具体到月份。恩 3、请问有什么统计方法可以做...

22490
来自专栏目标检测和深度学习

腾讯数平精准推荐 | OCR技术之检测篇

在过去的数年中,腾讯数平精准推荐(Tencent-DPPR)团队一直致力于实时精准推荐、海量大数据分析及挖掘等领域的技术研发与落地。特别是在广告推荐领域,团队自...

62140
来自专栏目标检测和深度学习

VALSE 2018年度进展报告 | 物体检测与识别

11520
来自专栏专知

强化学习:Policy-based方法 Part 1

【导读】在前面两篇文章中,我们完成了基于值的(value-based)强化学习算法,可以在给定的环境下选择相应动作,并根据最高的Q-value来确定下一步的动作...

13360

扫码关注云+社区

领取腾讯云代金券