只用一张图,就能让二次元老婆动起来,宛如3D:这全是为了科学啊

栗子 发自 凹非寺
量子位 报道 | 公众号 QbitAI

只用一张图,就能让二次元老婆动起来,宛如3D:这全是为了科学啊_第1张图片

只用一张图,就能让二次元老婆动起来,宛如3D:这全是为了科学啊_第2张图片

 笹木咲

只用一张图,就能让二次元老婆动起来,宛如3D:这全是为了科学啊_第3张图片

只用一张图,就能让二次元老婆动起来,宛如3D:这全是为了科学啊_第4张图片

童田明治

只要输入一张静态的老婆,就能让她动起来,会张嘴会眨眼,还能东张西望,抬眼看天。仿佛成了3D老婆。

并且,你想让妹子怎样动,姿势都可以定制。比如,渴望她一直对你wink,就调眼睛的参数:

这里有一只造福人类的AI,作者是名叫Pramook Khungurn的死宅少年。

此宅因长期沉迷虚拟偶像小姐姐,想到用深度学习自己做一只,结果成功了。

他把喜讯发上Reddit,7小时热度便突破200点。楼下有小伙伴发来贺电:

为了科学!

只用一张图,就能让二次元老婆动起来,宛如3D:这全是为了科学啊_第5张图片

完全无法反驳。

既然如此,背后的科学究竟是怎样的?

静态老婆动起来

我们先粗略了解一下,打造一只虚拟老婆,原本是个怎样的技术任务。

Pramook说,至少得有一个人物模型,ta的动作要能控制:

一种方法是做3D模型,有些虚拟偶像 (VTuber) 的确是这样诞生的。只是比较贵,需要人物设计师和3D建模师,一人很难完成。如果是没有艺术技能的普通人类,就更做不到了。

另一种是做2D模型,成本比较低,这种方法制造的VTuber更常见。2D人物的动作也会简单一些。

于是Pramook明白了,2D老婆更容易获得。但即便这样,2D模型还是分成几个可动的部分,建模师要把这些部分的动作整合到一起,依然非常耗时。

既然如此,作为一只合格的技术宅,当然要用深度学习,把手动2D建模的繁琐步骤跳过去,直接用一张静态图,生成会动的老婆了。(至于静态图从哪来,有GAN可以直接生成啊↓↓↓)

只用一张图,就能让二次元老婆动起来,宛如3D:这全是为了科学啊_第6张图片

 来自waifulabs

少年打定主意之后,第一步就是要搞个数据集,才好训练算法:

自制数据集

这里需要的是,标注好姿势的脸部数据集。

如果是真实人脸,就有EmotioNet这样的数据集可以用。但二次元应该还没有这样直接可用的数据集。

少年机智地想到,虽然自己要的是2D老婆,但训练数据可以用3D模型来提取。熟悉初音的他,知道MikuMikuDance里面有大量的3D模型,于是下载了8000多个虚拟人物。

这些人物的动作都可以控制,只要想到一个姿势,就能渲染出一张这种姿势的图片来。

只用一张图,就能让二次元老婆动起来,宛如3D:这全是为了科学啊_第7张图片

每个3D模型都可以得出成百上千张图,8000多个模型合在一起,就是很大的数据集了。

一个训练实例分三张图,第一张是原图 (直视前方) ,第二张是表情修改后的图 (如闭眼/闭嘴) ,第三张是在第二张基础上转动了脸的朝向。

只用一张图,就能让二次元老婆动起来,宛如3D:这全是为了科学啊_第8张图片

表情的变化,是由6个参数决定的:两个负责眼睛开闭,一个负责嘴巴开闭,还有三个负责脸部转向 (x、y、z轴) 。

只用一张图,就能让二次元老婆动起来,宛如3D:这全是为了科学啊_第9张图片

只用一张图,就能让二次元老婆动起来,宛如3D:这全是为了科学啊_第10张图片

只用一张图,就能让二次元老婆动起来,宛如3D:这全是为了科学啊_第11张图片

数据集有了,算法又是怎样的呢?

两步走

一是表情变化器 (Face Morpher) ,二是脸部旋转器 (Face Rotator) 。

表情变化器比较简单,少年借用了中选ECCV 2018的GANimation算法:

只用一张图,就能让二次元老婆动起来,宛如3D:这全是为了科学啊_第12张图片

原理是,把从原图到第二张图之间要发生的变化,用另一张图表示出来。

然后用一个Alpha Mask,把这张图片和原图结合起来,就有了第二张图 (Mask也是网络自己生成的) 。

这个算法很适合用来修改图像的一小部分,比如闭眼。

只用一张图,就能让二次元老婆动起来,宛如3D:这全是为了科学啊_第13张图片

脸部旋转器就复杂一些,用到了两个互补算法。

其中一个依然是GANimation (下图红框) ,原本它只用来改变表情,但少年又让它去做脸部旋转了。

另一个是来自Zhou等人2016年的视角合成算法 (下图蓝框) ,用来让图片里的3D物体转起来。要做到这一点,网络会计算出一个外观流 (Appearance Flow) :它知道,输出的每个像素,色彩是来自输入中的哪个像素。

只用一张图,就能让二次元老婆动起来,宛如3D:这全是为了科学啊_第14张图片

外观流擅长保存原图的纹理,生成精细的结果,但不擅长脑补旋转之后才露出的部分 (如下图a) ;

而GANimation生成的图像比较模糊,却能脑补出旋转前没有露出的部分 (如下图b) 。

只用一张图,就能让二次元老婆动起来,宛如3D:这全是为了科学啊_第15张图片

最后,把两个互补算法输出的结果合为一体,用到的主要是U-Net结构。

现在观看一下成果吧。

顺利迁移

首先,既然AI是用3D模型里提取的图片训练的,就先用3D模型的图片测试一下:

3D考试顺利通过。

那么,输入2D图片也能行么?试一下手绘图:

AI依然没有被难住,不论输入的是彩虹社虚拟偶像的照片,还是用Waifulabs自动生成的新妹子 (上图右) 。

不过,这还不算完。

还能怎么玩

和一个面部追踪算法搭配食用,就能让妹子随着视频里的人脸,做出一样的动作。

比如,输入一段奥巴马的视频,妹子就学着他说起话来:

大叔变老婆,一点也不难。这就是虚拟偶像的本质吧 (误) 。

另外,视频不一定要从网上找,也可以自己录,作者Pramook已经试过了:

这样,教二次元老婆用温柔的表情,说出爱你的话,就可以顺畅地恋爱了。要是找不到可爱的声优,可以考虑一下谷歌娘啊。

一切就等算法开源啦。

论文传送门:
https://pkhungurn.github.io/talking-head-anime/

作者系网易新闻·网易号“各有态度”签约作者

大咖齐聚!参会嘉宾重磅揭晓

量子位 MEET 2020 智能未来大会启幕,李开复、倪光南、景鲲、周伯文、吴明辉、曹旭东、叶杰平、唐文斌、王砚峰、黄刚、马原等AI大咖与你一起读懂人工智能。观众票即将售罄,扫码报名预定席位 ~

只用一张图,就能让二次元老婆动起来,宛如3D:这全是为了科学啊_第16张图片

量子位 QbitAI · 头条号签约作者

վ'ᴗ' ի 追踪AI技术和产品新动态

喜欢就点「在看」吧 !

你可能感兴趣的:(只用一张图,就能让二次元老婆动起来,宛如3D:这全是为了科学啊)