博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
超强算法:一张图让二次元妹纸活起来!
阅读量:4093 次
发布时间:2019-05-25

本文共 2060 字,大约阅读时间需要 6 分钟。

公众号关注 “GitHubDaily”

设为 “星标”,每天带你逛 GitHub!

转自量子位,作者栗子

 笹木咲

童田明治

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

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

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

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

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

为了科学!

完全无法反驳。

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

静态老婆动起来

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

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

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

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

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

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

 来自waifulabs

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

自制数据集

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

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

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

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

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

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

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

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

两步走

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

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

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

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

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

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

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

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

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

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

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

现在观看一下成果吧。

顺利迁移

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

3D考试顺利通过。

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

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

不过,这还不算完。

还能怎么玩

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

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

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

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

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

一切就等算法开源啦。

论文传送门:

https://pkhungurn.github.io/talking-head-anime/

---

以上便是今天的分享,觉得内容不错,还请点个在看支持~

推荐阅读:

转载地址:http://yopii.baihongyu.com/

你可能感兴趣的文章
程序员之神
查看>>
4 岁小女孩给 Linux 内核贡献提交
查看>>
推荐几个私藏很久的技术公众号给大家
查看>>
20 个 2020 年软件开发趋势预测
查看>>
王垠受邀面试阿里 P9,被 P10 面跪后网上怒发文,惨打 325 的 P10 赵海平回应了!...
查看>>
Python 趣味打怪:147 段简单代码助你从入门到大师
查看>>
卧槽!小姐姐用动画图解 Git 命令,这也太秀了吧?!
查看>>
厉害了!Python 编辑器界的神器 Jupyter ,推出官方可视化 Debug 工具!
查看>>
卧槽!Java 虚拟机竟然还有这些性能调优技巧...
查看>>
听说玩这些游戏能提升编程能力?
查看>>
7 年工作经验,面试官竟然还让我写算法题???
查看>>
被 Zoom 逼疯的歪果仁,造出了视频会议机器人,同事已笑疯丨开源
查看>>
上古语言从入门到精通:COBOL 教程登上 GitHub 热榜
查看>>
再见,Eclipse...
查看>>
超全汇总!B 站上有哪些值得学习的 AI 课程...
查看>>
如果你还不了解 RTC,那我强烈建议你看看这个!
查看>>
神器面世:让你快速在 iOS 设备上安装 Windows、Linux 等操作系统!
查看>>
沙雕程序员在无聊的时候,都搞出了哪些好玩的小玩意...
查看>>
太赞了!GitHub 标星 2.4k+,《可解释机器学习》中文版正式开放!
查看>>
程序员用 AI 修复百年前的老北京视频后,火了!
查看>>