转载自:AI科技大本营(ID:rgznai100)
作者:Pramook Khungurn
整理:Jane、刘畅
本文介绍如何快速生成动漫人物形象并把真人表情移植到动漫人物上
。
【导读】最近,日本一位酷爱 Vtubers的粉丝结合了此前发表的多项 GAN 工作制作了两个动漫人物生成器的工具,这两个工具一个可以帮助广大动漫迷们快速、轻松的生成带有不同姿态的动漫人物形象,另一个可以帮助大家把真人脸表情移植到动漫人物上,以后你也可以定制你的“动漫Twins姐妹 / 兄弟”了。
作者不仅是一个资深 Vtubers 迷,对深度学习技术也很关注,也是在这两个兴趣共同激发下,促使了这两个工具:一个是基于单图就能生成动态动漫人物形象;第二个工具基于第一个工具,输入的单图改造,通过摄像头获取实时人脸图像的姿态特征赋予给动漫人物形象中。
人工智能技术是动漫创作的重要工具之一,作为一名深度学习调参师的自觉性,要了解这项工作的效果和方法,自然要赶紧学起来。
copy 你的一颦一笑,不在话下。看了上面的最终成果展示视频,再来了解这两个工具是怎么做到的吧。
首先是第一个工具:基于GUI的单图动漫人脸表情生成器。
基于这一个工作的成功方法,作者还在这个系统中加入了人脸表情检测功能。这个动漫角色就可以实时模仿人脸的表情了。通过改变输入,用摄像头获取的人脸姿态表情特征,输入后让动漫人物 Get 到人脸表情同款:
有了第二个工作,作者也尝试把输入换成一段视频,当然方法同样奏效。
这么有意思,卡哇伊的工作是怎么做到的?下面我们会介绍一下模型、数据这两大方面的方法,但是在整个工作中,还涉及如何标注数据、图像数据处理规范、采样与渲染等诸多细节工作的处理,我们无法一一讲到,但是作者本人进行了详细的说明与介绍,大家可以仔细阅读项目。
项目地址:
https://pkhungurn.github.io/talking-head-anime/
方法介绍
(1)输入和输出
大家在上面的视频中可以看到,界面左侧表示的是输入的单幅动漫人物图像,中间罗列了 6 种姿态调节栏,每种姿态有一定的设置范围,可以多种姿态叠加使用,而右侧图像中则直接输出生成的效果图像。即整个工作只需要输入一张动漫脸和一个姿态(如一种表情),系统就可以在另一张背景中输出给定姿态的动漫脸。
输入与输出
(2)实现的主要两个环节
如何生成效果?
这就是模型解决的问题,通过改变面部表情和控制表情幅度(眼睛或嘴巴的张开程度)来设计「面部表情」(Face morpher)与「面部旋转器」(Face rotator)两个独立模型。
“两步走”系统
模型总图
近年来,GAN 在面部表情合成的诸多任务中都取得令人惊喜和和印象深刻的工作。
2017 年,StarGAN 提出后,我们可以轻松调整图像中的发色、肌理、肤色、合成有趣的表情,随后,一种基于动作单元(AU)的新 GAN 模型——GANimation 被提出,在无监督训练后,只需要控制 AU 的激活程度,并选取几个 AU 进行组合,模型就可以生成表情转换,效果也很生动形象。
而这个系统中的「面部表情」模型就是基于 GANimation 模型设计的。
那「面部旋转器」是如何做的呢?
作者将 GANimation 模型与发表于 ECCV 2016 上一篇关于光流法的工作《View Synthesis by Appearance Flow》方法进行融合,第一步网络的输出是第二步网络的输入。
什么是光流法?
光流是对物理世界中物体上各点实际运动速度的估计,解决这一光流估计问题的计算方法称为光流法。
在《View Synthesis by Appearance Flow》工作中,主要解决的任务是根据输入图片中物体或场景的视角生成另一个视角的物体或场景,就好比当我们看到一个物体时,我们的大脑中也能想象出这个物体旋转后的样子。
《View Synthesis by Appearance Flow》
(1)关于 GANimation 模型,可阅读论文:
https://www.albertpumarola.com/research/GANimation/index.html
(2)《View Synthesis by Appearance Flow》
https://arxiv.org/pdf/1605.03557.pdf
貌似有了上面的介绍,如果我们想做这个项目,似乎还少了点什么?
对,数据集。
虽然现在有很多卡通、动漫人物,但是想要实现一些“动起来”的效果,如果只是我们下载的 2D 平面图像,肯定会影响效果,如果是 3D 的数据,肯定是最好不过了。
对角色进行 3D 建模,无论是人力还是物力成本都非常昂贵。
如果能基于 2D 即时动态生成动漫图就简单多了。
为此,作者专门创建了一个新的数据集。
作者从 MikuMikuDance 上下载了约 8000 个 3D 动画模型。
并将数据集分成了三部分:
训练集、验证集与测试集。
MikuMikuDance,简称 MMD,是一个免费的动画程序,可让用户制作动画并创建3D动画模型。
作者详细介绍了如何一步一步生成数据,如何训练Face Morpher的网络,如何融合两种算法造出了Face Rotator网络,并在最后给出了主观和客观的结果对比,为这位日本小哥严谨的学术态度点赞。
该系统仅输入一张2D图像,便可以旋转、改变该图像的面部表情。
不需要创建3D模型就可以实现会说话的动态动漫人物,大大降低了动画制作的成本,而且该系统易于使用。
不过,未来还有可以继续 working on 的方向,如:
https://pkhungurn.github.io/talking-head-anime/