9

深度学习三巨头也成了大眼萌,这个一键转换动画电影形象的网站竟因「太火」而下线

 3 years ago
source link: https://www.jiqizhixin.com/articles/2020-09-20
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

近期热映的电影《花木兰》总是让人回想起 1998 年上映的同名动画电影。说起来,动漫真人化或动画版翻拍真人版的现象早已有之。比如《银魂》:

RZJJ7nY.png!mobile

图源: https://movie.douban.com/photos/photo/2456551491/

二次元角色在三次元世界有了对应,那我们三次元的人类能否拥有属于自己的动画角色呢?

前不久,喜欢研究生成艺术的 Justin Pinkney 和 Doron Adler 创建了网站 Toonify Yourself!,只需上传真人图像,就能一键生成动画形象,就像刚从迪士尼 / 皮克斯 / 梦工厂的动画电影中走出来一样。例如:

6BZr6vy.jpg!mobile

宫崎骏老爷爷也有自己的动画形象了!戴着眼镜的样子是不是与《飞屋环游记》里的老爷爷有点神似?

uMBvEf6.jpg!mobile

「史皇」威尔 · 史密斯也不例外,硬汉也有「可爱」的一面。

2yyYnm6.jpg!mobile

华裔女演员杨紫琼的动画形象逼真复刻了真人头像,头发丝儿、脸上的纹路都很一致。

甚至还有深度学习三巨头 Geoffrey Hinton、Yann LeCun 和 Yoshua Bengio:

VnmAfqn.png!mobile

从以上示例中我们可以看出,该网站提供的动画形象尽量逼真地反映了原始人脸图像的特征,同时也具备动画形象的一些典型特征,比如大眼睛。

这一效果的实现依赖于哪些方法呢?Justin Pinkney 在博客中介绍了背后的技术。

如何制作逼真的卡通模型

这背后发生了什么呢?Justin 简要解释了这一混合网络背后的复杂过程。

迁移学习

首先是经典的 StyleGAN 模型。 StyleGAN2 代码和论文的发布,带来了非常高质量的生成结果。

I3iAbmA.png!mobile

然而,并不是每个人都拥有多个 GPU 和数周时间来训练一个模型,因此我们需要一种捷径——迁移学习,研究人员采用「预训练模型」,并在新数据上进行训练。采用这种方法可以快速得到较好的结果,如果新的数据集中有人脸数据,效果会更好。

Doron Adler 基于动漫电影不同角色构成的数据集对人脸模型进行了微调。虽然数据集只有大约 300 张图片,但这足以让模型开始学习这些角色的典型特征。

UVRFZjb.png!mobile

只要对模型进行了一点点训练,它就会给出如下输出:

bamqamQ.png!mobile

在一个小数据集上进行如此少量的训练,其输出结果仍然是可以的,这说明模型显然可以很好地理解「大眼睛」这件事。然而仍然存在一些问题,例如数据集中的图像风格有点混乱,有些是 CG 图像,有些是手绘图像,还有很多分辨率很低。模型试图复制所有这些图像风格,结果却变得更糟。

混合模型

由于该模型是在原始人脸模型的基础上进行微调得到的,所以我们可以利用一种技巧直接互换模型的各个部分。这很有趣,因为根据 StyleGAN 的结构,模型中的不同层能够以不同的方式影响生成人物外观。低分辨率层决定头部姿态和人脸形状,高分辨率层则控制光线和纹理等细节。

所以,Doron  使用 Layer Swapping 脚本从原始模型中提取高分辨率层,并从微调卡通模型中提取低分辨率层,最终得到了具有卡通人脸结构且具备照片级逼真渲染效果的混合卡通模型

JfimEvz.png!mobile

在使用原始人脸模型和混合卡通模型生成图像时,可以看到两者之间存在明显的关联,人物的身份保持不变,但是生成的图像已经具备了典型的卡通形象特征。

qUBRZfV.gif!mobile

生成自己的动画形象

StyleGAN 人脸模型可以生成大量人脸图像,也就是说你可能从中找出任何人脸图像。所以,给定一个你想要生成卡通形象的示例图像,则可以得到一个「代码」(或称潜在向量),即将它输入到模型中,将会得到一个与示例图像几乎完全相同的输出图像。如下图所示,左边为原始图像,右边为生成图像,两者很难区分。

2yeqi2Q.jpg!mobile

现在有了表示人脸的「代码」,你可以将它输入到混合模型中。鉴于「代码」与原始图像非常相似,模型将输出相同的人脸,只不过是「卡通」形象版本!

6rMfuyM.jpg!mobile

用户可以使用以下 Colab notebook 来复现这一过程。

Colab notebook 地址:

https://colab.research.google.com/drive/1s2XPNMwf6HDhrJ1FMwlW1jl-eQ2-_tlk?usp=sharing

关于 Toonify Yourself! 原理的更多详情,请戳以下视频:

网友都说好,但因服务器成本过高已下线

对于这个能够生成真人逼真动画电影形象的网站,网友予以高度评价,并纷纷尝试创建属于自己的动画电影形象。

6zuiY3J.png!mobile

然而,Toonify Yourself! 网站上线仅一天,就因使用者多、服务器成本过高而暂时下线。

3iuaQjF.png!mobile

Justin Pinkney 发推表示,该网站一小时即服务了 25000 次请求,每小时的云服务成本达到 9 美元。在上线的短短时间内,该网站完成了 25 万次服务。

yaAFju6.png!mobile

网站首页显示,在找到支付服务器费用或更成本高效的方式后,网站将重新上线。

网站地址:https://toonify.justinpinkney.com/

参考链接:

https://www.justinpinkney.com/toonify-yourself/

https://twitter.com/Buntworthy


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK