秒变“迪士尼在逃公主”,这款一键切换“漫画脸”AI,因效果太过逼真彻底火了!
上传一张照片,就可以拥有自己的动漫形象?
现在一个名为“Toonify yourself”的AI工具就可以办到,而且效果非常逼真。
最近,热映的真人版《花木兰》,在国外又掀起了一股动漫风!各种名人漫画形象频频刷屏,比如这张宫崎骏老爷爷,可可爱爱的形象完全可以出演动漫电影了。
还有这张演员杨紫琼的动漫形象,大眼、瘦脸完全具备了动漫角色的典型特征。
更重要的是几乎复刻了真人的原始状态,包括头发、面部表情、神态,妥妥地定制化动漫形象。
这些动漫形象全部出自一个名为“Toonify yourself”的AI工具。它不仅呈现出效果逼真,操作起来还非常简单,只需在模型中上传一张照片即可!
据了解,这款工具刚刚发布就完成了25万次服务,非常受用户欢迎,还有网友评论称:研发者可以考虑考虑商业化的问题了。
那么,这款工具是如何实现的呢?
生成漫画脸的技术原理
据它的创建者之一Doron Adler介绍称,该工具主要利用了混合网络(Blended Network),这是一个复杂的网络机制,主要由于两部分模型来完成:StyleGAN Model和Blended Model。
其中,StyleGAN Model负责对初始照片进行预训练,其目的是节省训练的时间和成本,因为对于个人而言,并不是每个人都有足够的CPU或者数周的时间进行数据训练,这个过程也被成为“转移学习(Transfer learning)“。
重要的是,通过预训练模型,可以得到更高质量的图像。
Doron介绍称,为了达到更好的动漫效果,他们收集了迪士尼/皮克斯/梦工厂等大约300张动漫图像作为数据集。
通过对数据集进行训练来学习动漫角色的典型特征。从以下输出结果来看,效果还是非常不错的。
尽管对数据集进行了少量的训练,但大眼、瘦脸等典型特征都能很好的捕捉到。其中部分图像比较模糊,是因为原始图像的分辨率比较低,而且有些是手绘图像造成的。
接下来,经过人脸微调的图像会进入Blend Model的处理阶段。
在这里,由于StyleGAN 的结构,模型中的不同层以不同的方式影响生成人物的外观。低分辨率层决定头部姿态和人脸形状,高分辨率层则控制光线和纹理等细节。
Doron 使用的 Layer Swapping 脚本从原始模型中提取了高分辨率层,从StyleGAN Model微调模型中提取低分辨率层,因此,最终得到了具有卡通人脸结构且具备照片级逼真渲染效果的混合模型。
可以看到,使用原始的面孔模型和混合卡通模型生成图像,两者之间存在着明显的联系,保持了人物的原始面貌,同时也实现了动漫化。(需要强调的是,如何需要高分辨率的卡通形象,则需要输入高像素的原始图像,一般不得低于1024x1024像素)。
效果逼真,操作简单,但因太火而下线
StyleGAN模型可以产生大量人脸图像,在其中可以找到任何一张人脸的图像。比如通过该模型输入一张需要处理的图像示例,模型会通过“代码”(也称为潜在向量),输出一个与示例完全匹配的人脸图像,如下图左边为原图在左边,右边边为生成图。
然后将具有特定“代码”的人脸图像输入混合模型,结果就可以得到一个卡通化人脸。
这一过程,输入示例大致经历了三步处理过程:
-
提取面步特征,并自动对齐图像。
-
找到潜在代码,复制图像。
-
使用卡通模型的潜在代码,对图像进行处理。
基于这一原理,用户只需要在系统中上传照片即可。不过可惜的是,由于用户访问量过大,考虑到服务器的运行成本,Doron暂时关闭了这一系统的使用入口,并表示重新规划成本效益后,会再次对外开放。
关于作者
Justin Pinkney是该工具另一创建者。与Doron一样,Justin对生成艺术和机器学习非常感兴趣。
从他的个人主页上了解到,Justin曾是一名物理学家,现在英国MathWorks担任软件顾问,负责算法开发、模型训练以及组织软件开发实践。
Justin利用StyleGAN模型做过多项研究。比如他通过StyleGAN Network Blend让壁画上的浮雕秒变人脸图像。
该项研究同样是基于“图层交换(Layer Swapping)”的概念,将基础模型与使用转移学习的模型(即微调模型)融合在一起达到最终的效果。
此外,还有利用神经网络生成各类虚假蛋糕等。
此类研究的详细技术过程,Justin在其博客中给出了详细说明,感兴趣的朋友可以参加:( https://www.justinpinkney.com/stylegan-network-blending/)。
引用链接:
雷锋网雷锋网雷锋网
(公众号:雷锋网)
https://www.justinpinkney.com/toonify-yourself/
https://www.reddit.com/r/MachineLearning/comments/ivualz/d_layer_swapping_on_ai_models_to_generate/
https://colab.research.google.com/drive/1s2XPNMwf6HDhrJ1FMwlW1jl-eQ2-_tlk?usp=sharing#scrollTo=3IppG8Z8O19R
。