家里没有王位继承?没关系,有人用AI打造了一个童话魔法世界-阿里云开发者社区

开发者社区> 开发者小助手-bz8> 正文

家里没有王位继承?没关系,有人用AI打造了一个童话魔法世界

简介: 家里没矿、没王位,但谁还没有个王子、公主梦?
+关注继续查看

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

微信图片_20211204191954.gif

 

微信图片_20211204192000.gif

微信图片_20211204192006.gif


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

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


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

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

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


「童话魔法」背后的快手黑科技


真人秒变卡通图早已不是新鲜事。此前,韩国游戏公司 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 结构。在使用更少计算量的情况下,这一改进对特征细节部分的增强和对整体形变情况的适应能力都更强,能够达到更好的生成效果。

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

  1. 通过混合训练的方式,加强对风格特征的学习,增强最终模型生成的风格感;
  2. 针对模型金字塔中不同分辨率的特征,设计多任务多尺度的监督,加快模型收敛,提升生成质量与鲁棒性;
  3. 在对抗训练阶段中引入预训练特征以提升判别器对细节纹理的判断能力,同时稳定判别器的训练过程,最终强化模型对细节纹理的生成能力。


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


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

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

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

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

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

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

微信图片_20211204192032.jpg

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

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

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
阿里云服务器怎么设置密码?怎么停机?怎么重启服务器?
如果在创建实例时没有设置密码,或者密码丢失,您可以在控制台上重新设置实例的登录密码。本文仅描述如何在 ECS 管理控制台上修改实例登录密码。
9496 0
阿里云服务器ECS远程登录用户名密码查询方法
阿里云服务器ECS远程连接登录输入用户名和密码,阿里云没有默认密码,如果购买时没设置需要先重置实例密码,Windows用户名是administrator,Linux账号是root,阿小云来详细说下阿里云服务器远程登录连接用户名和密码查询方法
11212 0
windows server 2008阿里云ECS服务器安全设置
最近我们Sinesafe安全公司在为客户使用阿里云ecs服务器做安全的过程中,发现服务器基础安全性都没有做。为了为站长们提供更加有效的安全基础解决方案,我们Sinesafe将对阿里云服务器win2008 系统进行基础安全部署实战过程! 比较重要的几部分 1.
9054 0
阿里云服务器如何登录?阿里云服务器的三种登录方法
购买阿里云ECS云服务器后如何登录?场景不同,阿里云优惠总结大概有三种登录方式: 登录到ECS云服务器控制台 在ECS云服务器控制台用户可以更改密码、更换系.
13186 0
腾讯云服务器 设置ngxin + fastdfs +tomcat 开机自启动
在tomcat中新建一个可以启动的 .sh 脚本文件 /usr/local/tomcat7/bin/ export JAVA_HOME=/usr/local/java/jdk7 export PATH=$JAVA_HOME/bin/:$PATH export CLASSPATH=.
4621 0
如何设置阿里云服务器安全组?阿里云安全组规则详细解说
阿里云安全组设置详细图文教程(收藏起来) 阿里云服务器安全组设置规则分享,阿里云服务器安全组如何放行端口设置教程。阿里云会要求客户设置安全组,如果不设置,阿里云会指定默认的安全组。那么,这个安全组是什么呢?顾名思义,就是为了服务器安全设置的。安全组其实就是一个虚拟的防火墙,可以让用户从端口、IP的维度来筛选对应服务器的访问者,从而形成一个云上的安全域。
7386 0
阿里云服务器如何登录?阿里云服务器的三种登录方法
购买阿里云ECS云服务器后如何登录?场景不同,云吞铺子总结大概有三种登录方式: 登录到ECS云服务器控制台 在ECS云服务器控制台用户可以更改密码、更换系统盘、创建快照、配置安全组等操作如何登录ECS云服务器控制台? 1、先登录到阿里云ECS服务器控制台 2、点击顶部的“控制台” 3、通过左侧栏,切换到“云服务器ECS”即可,如下图所示 通过ECS控制台的远程连接来登录到云服务器 阿里云ECS云服务器自带远程连接功能,使用该功能可以登录到云服务器,简单且方便,如下图:点击“远程连接”,第一次连接会自动生成6位数字密码,输入密码即可登录到云服务器上。
21908 0
1654
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
《2021云上架构与运维峰会演讲合集》
立即下载
《零基础CSS入门教程》
立即下载
《零基础HTML入门教程》
立即下载