在碎片化阅读充斥眼球的时代,越来越少的人会去关注每篇论文背后的探索和思考。

在这个栏目里,你会快速 get 每篇精选论文的亮点和痛点,时刻紧跟 AI 前沿成果。

点击本文底部的「阅读原文」即刻加入社区,查看更多最新论文推荐。

这是 PaperDaily 的第 103 篇文章

本期推荐的论文笔记来自 PaperWeekly 社区用户 @TwistedW本文获得 ECCV 2018 最佳论文荣誉提名。GANimation 将 Action Units 和 GAN 结合,实现了人面部表情变化的过程展示效果。Action Units 的大小控制着人面部表情的幅度,从而对单个图像可以实现表情生成的渐进过程,采用无监督训练,并将 Attention 辅助矫正图像的背景和照明带来的问题。

如果你对本文工作感兴趣,点击底部阅读原文即可查看原论文。

关于作者:武广,合肥工业大学硕士生,研究方向为图像生成。

■ 论文 | GANimation: Anatomically-aware Facial Animation from a Single Image

■ 链接 | www.paperweekly.site/papers/2171

■ 源码 | github.com/albertpumarola/GANimation

GAN 在面部生成上已经取得了很大的成果,StarGAN [1] 已经可以实现人脸面部的高清和多属性的生成,但是这类生成是基于数据集的,往往在两幅属性不一的图像上做插值生成是实现不了的。当然,将 VAE 或 AE 和 GAN 结合可以实现较好的插值生成,但是如何合理的插值仍然是一个困难的过程。

GANimation 介绍了一种基于动作单元(Action Units)为条件的新型 GAN 模型,可以根据 Action Units(简称 AC)的大小调节面部表情生成的幅度,从而实现面部表情不同幅度过程的生成。

论文引入

从单张人脸面部图像生成出表情变化的多幅图像将为不同领域带来不一样的灵感,比如可以根据单幅照片做不同人物表情变化的图像,这可以用在电影电视的创作中。想象一下让特别严肃的人设做滑稽的表情变化是不是很有意思的一件事。

GAN 已经可以在人脸面部属性上做很多变换的生成,StarGAN 是属性生成上比较好的模型,可以同时生成多属性的人脸图像。但是 StarGAN 受限于数据集,因为 StarGAN 的生成是在属性标签的基础上完成的,所以 StarGAN 不能做插值的渐进生成。

虽然 VAE 和 GAN 的结合可以实现插值生成,但是合理的插值仍然是一个待解决和优化的过程。GANimation 将 Action Units(AU)和 GAN 结合,利用动作单元(AU)来描述面部表情,这些动作单元在解剖学上与特定面部肌肉的收缩相关。

尽管动作单元的数量相对较少(发现 30 个 AU 在解剖学上与特定面部肌肉的收缩相关),但已观察到超过 7,000 种不同的 AU 组合。例如,恐惧的面部表情通常通过激活产生:Inner Brow Raiser(AU1),Outer Brow Raiser(AU2),Brow Lowerer(AU4),Upper Lid Raiser(AU5),Lid Tightener(AU7),Lip Stretcher( AU20)和 Jaw Drop(AU26)。 根据每个 AU 的大小,将在表情程度上传递情绪幅度。

为了说明 AU 的作用,我们一起来看看通过调节特定 AU 的大小实现的面部表情渐变的效果:

由上图我们可以看出来,在 AU 设置为微笑表情的动作时,随着 AU 的大小逐渐增大途中人物微笑表情的力度也越来越大,对比度最强的是 AU=0 和 AU=1 的情况下,可以清楚的看到人物面部嘴角和笑脸的变化,当然中间随着 AU 的增大,微笑也是越来越灿烂。

总结一下 GANimation 的贡献:

  • 将动作单元(AU)引入到 GAN 中实现了人物面部表情渐变生成;

  • 将 Attention 引入到模型中用于克服生成中背景和光照的影响;

  • 模型可应用于非数据集中人物面部表情的生成。

GANimation模型

我们一起来看看实现 GANimation 的模型结构:

先把图中的变量交代一下,真实图像记为与它对应的生成的图像记为是动作信息它是属于 N 种动作单元,由于存在两组生成器(另一组为了让生成的图像还原为原始图像,做循环误差优化网络),将生成器的输入统一记为,动作单元记为,输出记为

为 Attention 生成器,生成的是一维的图像包含了图像中 Attention 的位置。则是像素图像生成器,用于生成包含图像像素的三维图像。最后将的输出和的输出结合形成完整的图像输出,其中的输出是为了指示像素图像的每个像素在哪个范围内对最终的输出作用力度。对应的判别器也由两部分组成,用于区分真实图像和生成图像,而则是用来区分图像的条件信息也就是图像的 AU 信息用来让生成的图像的 AU 特性更加的好。

的结合方式由下图所示:

最终生成器的输出就是:

有了以上的分析,我们再来捋一遍模型框架。将真实图像输入到生成器和动作单元结合生成具有动作单元信息的图像,为了区分真实图像和生成图像将生成图像和真是图像送入判别器去判别,区分真假图像,区分 AU 信息,不断优化生成器和判别器达到共同进步。为了实现循环优化网络,做了一个重构的循环生成,将生成的图像进一步根据原始图像的 AU 还原回去生成

整个模型框架就是这样,接下来就是损失函数的设计了。

GANimation损失函数

GANimation 采用的 GAN 模型是 WGAN-GP [2](利用 Earth Mover Distance 代替 GAN 中的 Jensen-Shannon divergence),其优点是训练会更加的稳定。所以接下来的分析是在 WGAN-GP 的基础上展开的。

GANimation 模型的损失函数细分的话有 4 个,分别为 Image Adversarial Loss,Attention Loss,Condition Expression Loss 和 Identity Loss。

Image Adversarial Loss

这就是传统的图像对抗损失,用于优化生成器和判别器,需要考虑 Earth Mover Distance 中的梯度惩罚:

这部分的损失函数没必要细说,就是比较传统概念上的 GAN 的损失。

Attention Loss

这部分是 Attention 的损失函数,主要是 Attention 的知识,考虑图像的前后对应关系。由于 Attention 优化后得到的 A 很容易饱和到 1,对应上面的公式中的则没了意义,所以为了防止这种情况,将 A 做 l2 损失。得到损失函数:

Condition Expression Loss

这部分损失还是蛮重要的,它的作用是让 AU 作用下生成的图像更具有 AU 的动作特性,整体的思路是优化生成器和判别器,通过对抗实现共进步。

Identity Loss

最后一个损失就是循环损失了,也可以说为重构损失,这一块也没什么说的:

最后将损失函数统一一下:

GANimation实验

实验先对单 AU 进行编辑,在不同强度下激活 AU 的能力,同时保留人的身份。下图显示了用四个强度级别(0,0.33,0.66,1)单独转换的 9 个 AU 的子集。对于 0 强度的情况,不改变相应的 AU。

对于非零情况,可以观察每个 AU 如何逐渐加强,注意强度为 0 和 1 的生成图像之间的差异。相对于眼睛和面部的半上部(AU1,2,4,5,45)的 AU 不会影响口腔的肌肉。同样地,口腔相关的变形(AU10,12,15,25)不会影响眼睛和眉毛肌肉。

对于相同的实验,下图显示了产生最终结果的注意力 A 和颜色 C 掩模。注意模型是如何学会将其注意力(较暗区域)以无人监督的方式聚焦到相应的AU上的。

多 AU 编辑的实验结果就是正文的第一张图,非真实世界的数据上也显示了出了较好的结果(阿凡达的那张)。

实验还将 GANimation 与基线 DIAT,CycleGAN,IcGAN 和 StarGAN 进行比较。

最后,实验展示了在非数据集上的实验效果,图片选自加勒比海盗影片。

当然,实验也展示了不足的地方。

总结

GANimation 提出了一种新颖的 GAN 模型,用于脸部表情渐进生成,可以实现无监督训练。模型通过 AU 参数化与解剖学面部变形是一致的,在这些 AU 上调整 GAN 模型允许生成器通过简单插值来渲染各种表情幅度。此外,作者在网络中嵌入了一个注意模型,对背景和光照有一定的补充。

参考文献

[1]. Choi, Y., Choi, M., Kim, M., Ha, J.W., Kim, S., Choo, J.: Stargan: Unified gen- erative adversarial networks for multi-domain image-to-image translation. CVPR (2018)

[2]. Gulrajani, I., Ahmed, F., Arjovsky, M., Dumoulin, V., Courville, A.C.: Improved training of wasserstein GANs. In: NIPS (2017)

本文由 AI 学术社区 PaperWeekly 精选推荐,社区目前已覆盖自然语言处理、计算机视觉、人工智能、机器学习、数据挖掘和信息检索等研究方向,点击「阅读原文」即刻加入社区!

点击标题查看更多论文解读:

#投 稿 通 道#

让你的论文被更多人看到

如何才能让更多的优质内容以更短路径到达读者群体,缩短读者寻找优质内容的成本呢? 答案就是:你不认识的人。


总有一些你不认识的人,知道你想知道的东西。PaperWeekly 或许可以成为一座桥梁,促使不同背景、不同方向的学者和学术灵感相互碰撞,迸发出更多的可能性。

PaperWeekly 鼓励高校实验室或个人,在我们的平台上分享各类优质内容,可以是最新论文解读,也可以是学习心得技术干货。我们的目的只有一个,让知识真正流动起来。

来稿标准:

• 稿件确系个人原创作品,来稿需注明作者个人信息(姓名+学校/工作单位+学历/职位+研究方向)

• 如果文章并非首发,请在投稿时提醒并附上所有已发布链接

• PaperWeekly 默认每篇文章都是首发,均会添加“原创”标志


? 投稿邮箱:

• 投稿邮箱:hr@paperweekly.site

• 所有文章配图,请单独在附件中发送

• 请留下即时联系方式(微信或手机),以便我们在编辑发布时和作者沟通

?

现在,在「知乎」也能找到我们了

进入知乎首页搜索「PaperWeekly」

点击「关注」订阅我们的专栏吧

关于PaperWeekly

PaperWeekly 是一个推荐、解读、讨论、报道人工智能前沿论文成果的学术平台。如果你研究或从事 AI 领域,欢迎在公众号后台点击「交流群」,小助手将把你带入 PaperWeekly 的交流群里。

▽ 点击 |阅读原文 | 下载论文 & 源码

ECCV 2018最佳论文解读:基于解剖结构的面部表情生成相关推荐

  1. COLING 2018 最佳论文解读:序列标注经典模型复现

    在碎片化阅读充斥眼球的时代,越来越少的人会去关注每篇论文背后的探索和思考. 在这个栏目里,你会快速 get 每篇精选论文的亮点和痛点,时刻紧跟 AI 前沿成果. 点击本文底部的「阅读原文」即刻加入社区 ...

  2. 复现计算机论文模型,COLING 2018 最佳论文解读:序列标注经典模型复现

    原标题:COLING 2018 最佳论文解读:序列标注经典模型复现 在碎片化阅读充斥眼球的时代,越来越少的人会去关注每篇论文背后的探索和思考. 在这个栏目里,你会快速 get 每篇精选论文的亮点和痛点 ...

  3. CVPR 2018论文解读 | 基于域适应弱监督学习的目标检测

    在碎片化阅读充斥眼球的时代,越来越少的人会去关注每篇论文背后的探索和思考. 在这个栏目里,你会快速 get 每篇精选论文的亮点和痛点,时刻紧跟 AI 前沿成果. 点击本文底部的「阅读原文」即刻加入社区 ...

  4. 论文解读 | 基于递归联合注意力的句子匹配模型

    在碎片化阅读充斥眼球的时代,越来越少的人会去关注每篇论文背后的探索和思考. 在这个栏目里,你会快速 get 每篇精选论文的亮点和痛点,时刻紧跟 AI 前沿成果. 点击本文底部的「阅读原文」即刻加入社区 ...

  5. ACL 2018最佳论文公布!计算语言学最前沿研究都在这里了

    国际计算语言学协会 (ACL,The Association for Computational Linguistics),是世界上影响力最大.最具活力的国际学术组织之一,其会员遍布世界各地.ACL ...

  6. 目标检测别再刷榜了,让流感知来展示真正的技术!ECCV 2020 最佳论文提名

    作者 | 赛文 编辑 | 陈彩娴 今天解读的论文的是不久前获得ECCV 2020 最佳论文提名奖的<Towards Streaming Perception>. 在这篇论文中,来自CMU和 ...

  7. 祝贺| 蚂蚁金服年轻交互设计师陈凯翔,荣获HCII 2018 最佳论文奖

    小蚂蚁说: 科技作为21世界最重要的关键词之一,本身就是自带光环的存在,而作为人们畅想未来科技生活最为直观的方式,众多的科幻作品也一直为科技迷们所津津乐道.从经典科幻电影<她>.<人 ...

  8. RM: 基于页面结构化数据生成报表,一键导出图片,生成定制图表 文末有效果图 , 开放部分代码

    背景 开发这个工具是因为一句抱怨 故事是这样的,我们公司是一个非常重视员工健康的公司,一年前老董说让HR(后面改为ZT)督促员工多多运动,可持续地位公司创造价值.并拿出了一部预算来奖励那些积极运动的人 ...

  9. ACL 2018论文解读 | 基于排序思想的弱监督关系抽取选种与降噪算法

    在碎片化阅读充斥眼球的时代,越来越少的人会去关注每篇论文背后的探索和思考. 在这个栏目里,你会快速 get 每篇精选论文的亮点和痛点,时刻紧跟 AI 前沿成果. 点击本文底部的「阅读原文」即刻加入社区 ...

最新文章

  1. 【组队学习】【29期】6. 动手学数据分析
  2. 【c语言】蓝桥杯算法提高 3-2求存款
  3. Vue——props默认值为工厂函数时[工厂函数:undefined]问题解决方案
  4. SAP CRM IBASE structure的读取逻辑
  5. [CareerCup] 4.4 Create List at Each Depth of Binary Tree 二叉树的各层创建链表
  6. Android仿人人客户端(v5.7.1)——采用RelativeLayout做父容器,实现左侧滑动菜单(一)...
  7. C++ --对象和类
  8. 用计算机表白教程,抖音短视频vbs表白代码使用教程
  9. 光立方体c语言程序,学C语言两个月做的一个旋转立方体!
  10. idea打包jar 有的依赖包没有被打包
  11. 人脸识别的loss总结
  12. 音乐格式转换软件测试工程师,免费音频转换器:如何把MP3文件转换为其他格式...
  13. 无限循环 for(;;) 与 while(true) 的区别
  14. VMware虚拟网络编辑器,没有桥接模式或本地计算机不显示网络适配器
  15. 解决移动Windows Kits后运行出错的问题
  16. 【Android】图像滤镜框架GPUImage从配置到应用
  17. Win7 开机优化系列-上篇
  18. android signal 6,android项目运行出现Fatal signal 6 (SIGABRT), code -6 in tid 3
  19. 如何使用N1盒子实现自动撸豆
  20. Hexo-fluid主题添加51LA统计

热门文章

  1. Windows 系统管理
  2. (转)DevExpress 汉化(简单、实用、快速)
  3. 精确计算代码执行时间
  4. simulink显示多个数据_Stateflow数据介绍(一)
  5. tf model create
  6. 统计消息总数_和公牛一战,库里创三个记录,耀眼的还是三分球总数
  7. web服务器获取项目路径问题,读取web项目properties文件路径 解决tomcat服务器找不到properties路径问题...
  8. linux下mysql的备份_Linux下MySQL的备份与还原
  9. mysql 代替intersect_mysql替代INTERSECT
  10. delphi listview怎么自动宽度_自动门日常使用出现这些问题应尽快维修以免因小失大...