gan旋转方块(GAN也能生成流畅的连续表情了)
鬼畜栗 发自 凹非寺
量子位 出品 | 公众号 QbitAI
用生成对抗网络 (GAN) 制造表情,本不是什么新玩法。
△PPT表情包举栗
不过,从前的GAN只会生成一些互无关联的表情。这样,即便做成动图,也拥有浓厚的PPT风韵。
它们的表情包技能,是不完整的。
GANimation可不一样,能给图像里的人类,生成连续变化的表情,让他们身不由己地动起来。
听名字也能感受到,新选手的动画属性。于是,在下把这一串进行中的围笑,做成了动图。
△ 笑一秒
生动的假笑,是在完全无监督的环境里炼成的,不需要变化前与变化后这样成对的数据来训练。
GANimation入选了ECCV 2018的Oral环节。评审里面,肯定有一小撮心系Gif事业的人类。
表情的渐变那么,来看一下GANimation是如何让面部表情,发生连续变化的。
首先,观察神经网络结构,这里当然要包含一个生成模型 (G) 和一个判别模型 (D) 。
生成模块是双向工作的,既可以给输入的图像,做出想要的表情,也可以从做好的表情出发,回到输入的样子。
所以,把动图做成双向播放,不只是为了顺滑的效果哟。
△ 机智的我
然后,重点来了。
能让表情发生变化的,是一些名为动作单元 (Action Unit, AU) 的东西。它来自前人发明的面部动作编码系统(FACS)。
△ 不同的AU,负责不同的肌群
每个AU各司其职,比如AU25 (右二) 可以让人开口闭口 ,AU45 (右一) 决定睁眼闭眼。
如此一来,不同情感的表达,动用的AU也不同。比如,一个面无表情的少女变得恐惧,调动的是AU1、2、4、5、7、20和26这七个。
如果要连续变化呢?有个参数叫α,负责调节AU的激活程度,只要一点一点激活,表情就会不知不觉地改变了。
所有AU,都可以从0开始逐渐激活到1,0表示不变,1表示变动最大。
还以恐惧的少女为栗,从有点吓到慢慢变成吓得不轻,就是那七个AU的激活程度在慢慢变化。
单独调vs同时调再来看一次这张图,这是每个AU单独调节的效果。
而上文出现过 (除喵之外) 的动图,还有即将出现的两幅动图,都是同时调节多个AU,生成的动态表情。
两种操作相比,后者难度更大,按照论文作者的说法,是“挑战模型的极限”。
不过,团队依然对GANimation的训练成果表示满意。毕竟,用人类照片喂养的AI,连阿凡达都不怕。
与人类脸部相异只是其一。除此之外,改变面部表情的操作,对阴影渲染的要求很高,而阿凡达又处在非自然的光照条件之下,难度升级。
考验叠加的情形之下,GANimation依然表现稳定,实属不易。
△ 被夸到害羞
研究人员说,复杂情况下不乱阵脚,依靠的是注意力机制 (Attention Mechanism) ,即每个AU有不同的职责。
以上就是连续表情的生成。那么,为动图而生的AI,在不连续的任务里表现如何?
其实,上文出镜的恐惧少女,是GANimation同许多对手比赛的一个片段,比赛内容便是生成互不相干的表情。
它最强的对手,是一路璀璨的StarGAN。不过……
StarGAN生成的表情,跟原图相比,清晰度的损失比较大。
而GANimation生成的少女,大多是相对清晰的少女。
可能StarGAN的作品,与原图更像同一个人,但在相似度和分辨率之间,GANimation也算找到了一种比较理想的取舍。不分胜负。
△ 已为您生成:离散的夜王
其他选手,不论看分辨率还是相似度,都基本属于陪练了。
颜艺是百年大计当然,GANimation也是有局限性的。
比如,输入图像的表情比较极端的时候,注意力机制的权重分配会出现一些问题,然后发生上图的惨状。
不过,路还长。再说,极端表情本身已经是表情包了嘛。
最后介绍一下,论文作者来自加泰罗尼亚理工大学,以及俄亥俄州立大学哥伦布分校。
ECCV Oral论文传送门:
https://arxiv.org/pdf/1807.09251.pdf
开源代码:
https://github.com/albertpumarola/GANimation
△大家来找茬
— 完 —
诚挚招聘
量子位正在招募编辑/记者,工作地点在北京中关村。期待有才气、有热情的同学加入我们!相关细节,请在量子位公众号(QbitAI)对话界面,回复“招聘”两个字。
量子位 QbitAI · 头条号签约作者
վᴗ ի 追踪AI技术和产品新动态
,
免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。