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


糙汉变萝莉,一点也不难。 全是为了科学:只用一张图,就能让二次元老婆动起来,宛如3D_第1张图片 转载声明:本文授权转载自「量子位」,搜索「QbitAI」即可关注。作者:栗子 只要输入一张静态的老婆,就能让她动起来,会张嘴会眨眼,还能东张西望,抬眼看天。仿佛成了3D老婆。
全是为了科学:只用一张图,就能让二次元老婆动起来,宛如3D_第2张图片 全是为了科学:只用一张图,就能让二次元老婆动起来,宛如3D_第3张图片

▲笹木咲

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

▲童田明治

并且,你想让妹子怎样动,姿势都可以定制。比如,渴望她一直对你wink,就调眼睛的参数: 这里有一只造福人类的AI,作者是名叫Pramook Khungurn的死宅少年。 此宅因长期沉迷虚拟偶像小姐姐,想到用深度学习自己做一只,结果成功了。 他把喜讯发上Reddit,7小时热度便突破200点。楼下有小伙伴发来贺电: 为了科学! 全是为了科学:只用一张图,就能让二次元老婆动起来,宛如3D_第6张图片 完全无法反驳。 既然如此,背后的科学究竟是怎样的?

静态老婆动起来

我们先粗略了解一下,打造一只虚拟老婆,原本是个怎样的技术任务。 Pramook说,至少得有一个人物模型,ta的动作要能控制: 一种方法是做3D模型,有些虚拟偶像 (VTuber) 的确是这样诞生的。只是比较贵,需要人物设计师和3D建模师,一人很难完成。如果是没有艺术技能的普通人类,就更做不到了。 另一种是做2D模型,成本比较低,这种方法制造的VTuber更常见。2D人物的动作也会简单一些。 于是Pramook明白了,2D老婆更容易获得。但即便这样,2D模型还是分成几个可动的部分,建模师要把这些部分的动作整合到一起,依然非常耗时。 既然如此,作为一只合格的技术宅,当然要用深度学习,把手动2D建模的繁琐步骤跳过去,直接用一张静态图,生成会动的老婆了。(至于静态图从哪来,有GAN可以直接生成啊↓↓↓) 全是为了科学:只用一张图,就能让二次元老婆动起来,宛如3D_第7张图片 ▲来自waifulabs 少年打定主意之后,第一步就是要搞个数据集,才好训练算法:

自制数据集

这里需要的是,标注好姿势的脸部数据集。 如果是真实人脸,就有EmotioNet这样的数据集可以用。但二次元应该还没有这样直接可用的数据集。 少年机智地想到,虽然自己要的是2D老婆,但训练数据可以用3D模型来提取。熟悉初音的他,知道MikuMikuDance里面有大量的3D模型,于是下载了8000多个虚拟人物。 这些人物的动作都可以控制,只要想到一个姿势,就能渲染出一张这种姿势的图片来。 全是为了科学:只用一张图,就能让二次元老婆动起来,宛如3D_第8张图片 每个3D模型都可以得出成百上千张图,8000多个模型合在一起,就是很大的数据集了。 一个训练实例分三张图,第一张是原图 (直视前方) ,第二张是表情修改后的图 (如闭眼/闭嘴) ,第三张是在第二张基础上转动了脸的朝向。 全是为了科学:只用一张图,就能让二次元老婆动起来,宛如3D_第9张图片 表情的变化,是由6个参数决定的:两个负责眼睛开闭,一个负责嘴巴开闭,还有三个负责脸部转向 (x、y、z轴) 。
全是为了科学:只用一张图,就能让二次元老婆动起来,宛如3D_第10张图片 全是为了科学:只用一张图,就能让二次元老婆动起来,宛如3D_第11张图片 全是为了科学:只用一张图,就能让二次元老婆动起来,宛如3D_第12张图片 数据集有了,算法又是怎样的呢?

两步走

一是表情变化器 (Face Morpher) ,二是脸部旋转器 (Face Rotator) 。 表情变化器比较简单,少年借用了中选ECCV 2018的GANimation算法: 全是为了科学:只用一张图,就能让二次元老婆动起来,宛如3D_第13张图片 原理是,把从原图到第二张图之间要发生的变化,用另一张图表示出来。 然后用一个Alpha Mask,把这张图片和原图结合起来,就有了第二张图(Mask也是网络自己生成的) 。 这个算法很适合用来修改图像的一小部分,比如闭眼。 全是为了科学:只用一张图,就能让二次元老婆动起来,宛如3D_第14张图片 脸部旋转器就复杂一些,用到了两个互补算法。 其中一个依然是GANimation (下图红框) ,原本它只用来改变表情,但少年又让它去做脸部旋转了。 另一个是来自Zhou等人2016年的视角合成算法 (下图蓝框) ,用来让图片里的3D物体转起来。要做到这一点,网络会计算出一个外观流 (Appearance Flow) :它知道,输出的每个像素,色彩是来自输入中的哪个像素。 全是为了科学:只用一张图,就能让二次元老婆动起来,宛如3D_第15张图片 外观流擅长保存原图的纹理,生成精细的结果,但不擅长脑补旋转之后才露出的部分 (如下图a) ; 而GANimation生成的图像比较模糊,却能脑补出旋转前没有露出的部分 (如下图b) 。 全是为了科学:只用一张图,就能让二次元老婆动起来,宛如3D_第16张图片 最后,把两个互补算法输出的结果合为一体,用到的主要是U-Net结构。 现在观看一下成果吧。

顺利迁移

首先,既然AI是用3D模型里提取的图片训练的,就先用3D模型的图片测试一下:
3D考试顺利通过。 那么,输入2D图片也能行么?试一下手绘图:
AI依然没有被难住,不论输入的是彩虹社虚拟偶像的照片,还是用Waifulabs自动生成的新妹子 。 不过,这还不算完。

还能怎么玩

和一个面部追踪算法搭配食用,就能让妹子随着视频里的人脸,做出一样的动作。 比如,输入一段奥巴马的视频,妹子就学着他说起话来: 大叔变老婆,一点也不难。这就是虚拟偶像的本质吧 (误) 。 另外,视频不一定要从网上找,也可以自己录,作者Pramook已经试过了: 这样,教二次元老婆用温柔的表情,说出爱你的话,就可以顺畅地恋爱了。要是找不到可爱的声优,可以考虑一下谷歌娘啊。 一切就等算法开源啦。 *文章经作者授权发布,不代表PingWest品玩立场,如需转载请联系原作者。

往期精彩文章推荐
(点击图片阅读)

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

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


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

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