机器之心编辑部

家里没矿、没王位,但谁还没有个王子、公主梦?

最近,机器之心收留了一批「在逃王子」。

这些王子虽然来自不同的王国,但服化道都来自同一家公司——快手

家里没有王位持续没紧要有人用AI打造了一个童话魔法世界

这是快手新推出的「童话邪术」殊效。
除了王子之外,你也可以过一把当公主的瘾。
各路明星纷纭晒出了自己的公主殊效形象:

杨幂

迪丽热巴

娄艺潇

「童话邪术」是一项基于天生式算法的视频殊效技能,可以让用户在手机端实时预览自己变身公主、王子的神奇效果。
天生的图像不仅有着浓浓的童话风格,而且还保留了用户自身的边幅特点,带给用户新奇的拍摄体验。

目前,这套「童话邪术」有冰雪公主、梦幻城堡、童话公主和童话王子等数种画风的变身殊效。

不仅如此,用户还能根据自身喜好进一步细化变身后的人物殊效,添加风格多样的美妆、美体、滤镜以及封面笔墨等,还可以改换配乐,或者自己配音并转换成小黄人、机器人、萝莉、大叔平分歧风格。

「童话邪术」背后的快手黑科技

真人秒变卡通图早已不是新鲜事。
此前,韩国游戏公司 NCSOFT 开拓的无监督图像转换算法 U-GAT-IT,通过引入可学习的 ILN 层和把稳力机制,成功将人脸图像转换为日漫二次元图像,在业界引起不小的关注。

但是日漫和童话风格差别还是很大的。
要想完成童话风格的图像转换,天生的图像既要保留用户原来的边幅特点,还要具备动画的 3D 人像风格,同时还要面临目标风格数据多样性不敷的问题,因此 U-GAT-IT 无法知足需求。

而之前名噪一时的 Toonify 彷佛也不足用。
Toonify 虽然能够完成真人到动画电影角色的转换,但由于该方法直接从微调 StyleGAN 模型中提取低分辨率层,只保留原始 StyleGAN 中的高分辨率层,因此转换得到的图像与原始人脸比较存在形变,不能完备保留原始人脸本身的边幅特点。
其余,该方法天生的部分图像面部存在色调变革等问题,且不能进行实时处理,无法知足工业界产品上线的哀求。

针对以上这些难题,快手 Y-tech 团队的 AI 工程师采取了自研的 KStyleGAN 构造,在 3D 空间中表征人脸构造、进行风格映射,并采取神经网络渲染来风雅掌握结果图的质感,有效战胜了常规基于 2D 表征的 StyleGAN 方法的毛病,并在移动端上落地了实时殊效。

在模型构造方面,针对移动端和做事真个不同打算硬件,通过半自动网络架构搜索(NAS)得到高效的网络构造,并在此根本上进行诸多创新。

一方面,快手设计了一种 pixel 级别的把稳力机制——STA module(风格迁移把稳力模块),来改进浅层和深层特色领悟办法。
常见的特色领悟办法包括浅层与深层特色的直接相加、concat 之后进行多次卷积操作等。
在风格迁移类任务中,由于原图和目标图的差别较大,这些常见的领悟办法每每会导致原图信息的丢失、天生质量不佳或风格感降落等问题。
而 STA module 通过少量打算,在 pixel 级别利用把稳力勾引浅层和深层特色的领悟过程,在风格感不变的同时保留更多原图的细节,提升天生图像的质感。

另一方面,快手构建多分支、多深度的 FS block(特色增强模块)来替代传统的 Resnet block 构造。
在利用更少打算量的情形下,这一改进对特色细节部分的增强和对整体形变情形的适应能力都更强,能够达到更好的天生效果。

在模型演习方面,快手针对实时风格化任务中的各种效果问题,有针对性地做了调度:

通过稠浊演习的办法,加强对风格特色的学习,增强终极模型天生的风格感;

针对模型金字塔中不同分辨率的特色,设计多任务多尺度的监督,加快模型收敛,提升天生质量与鲁棒性;

在对抗演习阶段中引入预演习特色以提升判别器对细节纹理的判断能力,同时稳定判别器的演习过程,终极强化模型对细节纹理的天生能力。

殊效虽好,如何适配手机端所有机型?

殊效虽好用,但面对手机端种类繁多的机型、配置,如何实现设备算力与模型效果的最优适配,进而供应最佳用户体验呢?

快手首先进行了细致的算力分级。

由于当前移动端硬件种类繁多,碎片化严重,算力分级面临横向、纵向寻衅。
横向寻衅:设备大类上可分为 CPU、GPU、DSP、NPU 几类,各种之间的算力有所差异,大体上算力等级 NPU≥GPU≥DSP≥CPU,但实际情形中各级算力会有 overlap 乃至反转。
纵向寻衅:以 CPU 为例,厂商有 Apple、高通、华为、MTK 等,不同厂商、不同型号的 CPU 性能差异很大;GPU 也存在类似情形,如 Adreno 与 Mali 系列。

将碎片化的设备横向与纵向铺展开来会形成一个繁芜的算力矩阵,快手自研的深度学习推理引擎 YCNN 合营极致优化的各后端代码在多种模型上进行了理论和实践的充分测试,终极结合快手用户群设计了一套详细的分级方案。

以这一套算力分级策略为辅导,快手进行了模型构造、打算量的调度,设计不同打算量的模型。
比如为 CPU 设计了效果较好的中等打算量模型,而像 NPU、GPU、DSP 这种适宜大算力的设备则可以运行打算量更大、效果更好的模型。

其余,实际运用中多个模型会带来资源包过大、加载过慢的问题,为此快手引入了模型做事器分级下发机制。
根据终端硬件信息进行设备分级、下发和加载对应模型,充分利用设备算力同时给所有快手用户带来极致的效果体验。

YCNN 整体架构

针对不同的硬件进行分级模型设计,利用其自研算法压缩模型和 YCNN 引擎,快手让每个用户都能玩转「童话邪术」。

让每个人拥有舞台,每个人都拥有「变身」的可能性,这正是快手追求技能打破以及坚持用户导向的表示。