四种 AI 技术方案,教你拥有自己的 Avatar 形象
大火的 Avatar到底是什么 ?
随着元宇宙概念的大火,Avatar 这个词也开始越来越多出现在人们的视野。2009 年,一部由詹姆斯・卡梅隆执导 3D 科幻大片《阿凡达》让很多人认识了 Avatar 这个英语单词。不过,很多人并不知道这个单词并非导演杜撰的,而是来自梵文,是印度教中的一个重要术语。根据剑桥英语词典解释,Avatar 目前主要包含三种含义。
avatar 在剑桥词典的翻译结果 Cambridge University Press
最初,Avatar 起源于梵文 avatarana ,由 ava ( off , down )+ tarati ( cross over )构成,字面意思是 “下凡”,指的是神灵降临人间的化身,通常特指主神毗湿奴 ( VISHNU ) 下凡化作人形或者兽形的状态。后于1784年进入英语词语中。
1985 年切普・莫宁斯塔和约瑟夫・罗梅罗在为卢卡斯影视公司Lucasfilm Games ( LucasArts ) 设计网络角色扮演游戏Habitat时使用了 Avatar 这个词来指代用户网络形象。而后在1992 年,科幻小说家 Neal Stephenson 撰写的《Snow Crash》一书中描述了一个平行于现实世界的元宇宙。所有的现实世界中的人在元宇宙中都有一个网络分身 Avatar,这一次也是该词首次出现在大众媒体。
互联网时代,Avatar 一词开始被程序员们广泛使用在软件系统中,用于代表用户个人或其性格的一个图像,即我们常说的 “头像” 或 “个人秀”。这个头像可以是网络游戏或者虚拟世界里三维立体的图像,也可以是网络论坛或社区里常用的二维平面图像。它是可以代表用户本人的一个标志物。
从QQ秀到Avatar
如今支持让用户创建属于自己的头像已经成为了各种软件应用的标配,用户使用的头像也随着技术发展从普通 2D形象发展到了3D形象。里程碑事件当属2017 年,苹果在 iPhone X 发布了新功能 ——Animoji,使用面部识别传感器来检测用户面部表情变化,同时用麦克风记录用户的声音,并最终生成可爱的 3D 动画表情符号,用户可以通过 iMessage 与朋友分享表情符号。但是第一代不支持用户自定义形象,仅支持系统内置的动物卡通头像。随后更新的 Animoji 二代开始支持用户自由化捏脸,生成风格化的人脸头像。当前不少场景中可以看到自动化捏脸功能,仅通过拍摄一张或几张照片,自动生成符合用户人脸特点的CG模型,但背后依赖于复杂的CG建模及渲染技术支持。
Avatar也可以跳过昂贵的CG建模及渲染流程,通过机器学习算法将拍摄人脸进行“风格化”。即自动化将目标训练风格迁移、与拍摄者本来的面目特征做融合,创建符合用户脸部特征的风格化人脸 Avatar。
人脸风格化 Avatar 的四种技术实现路线
什么是人脸风格化?
所谓人脸风格化,就是将真实的人脸头像转换为特定的风格头像,例如卡通风格、动漫风格、油画风格,如下图所示:
基本上说,实现人脸风格化可通过纹理贴图、风格迁移、循环对抗网络和隐变量映射等几种技术路线实现。
纹理贴图
纹理贴图一般是给定一张样本图片,通过算法自动将该图片的纹理逐像素或逐块贴到目标人脸上,形成一种合理自然、可随动的人脸面具 [1]。
[1] 中样例图片
风格迁移
风格迁移是给定一张或一组风格照片,基于学习方法从风格图片中提取出风格编码、从目标人脸图片中提出内容编码,通过两组编码自动化生成对应的风格化图片 [2, 3]。只更改了人脸图片的表面纹理,而无法合理地保留或调整人脸的结构属性、形成有意义的结构性风格改变。
[3] 中样例图片
循环对抗网络
采用循环对抗网络的方法,通过利用循环对抗网络及其重建约束来训练得到可实现没有成对训练样本的风格化效果。往往配合使用风格迁移,即分别提取风格编码和内容编码。针对人脸的风格化也会显示建模并根据目标风格属性对人脸结构信息做形变(如基于人脸关键点)。但由于循环对抗网络缺少对中间结果约束(如A->B->A中的B)导致最终生成效果不可控、不稳定(即无法保证A->B的合理性)[4]。
[4] 中样例图片
隐变量映射
隐变量映射一般将一个预先训练好的真实人脸生成模型、利用一组风格图片往目标风格微调,从而获得一个对应的人脸风格化生成模型 [5, 6]。采用一个编码网络将输入人脸图片映射成或基于多步的优化得到该图片对应的隐变量,并将该变量作为人脸风格化生成模型的输入,从而得到该人脸图片对应的风格化图片。其中基于优化的隐变量映射方法往往得到比较好的效果,但在实际运行时需要大量计算。映射后的隐变量虽然包含了人脸的全局信息,但容易丢失原输入人脸的细节特征,容易造成生成的效果无法反映出个人辨识特征和细节表情。
[5] 中样例图片(来自https://toonify.photos/)
[6] 中样例图片
阿里云视频云自研卡通智绘 Avatar
2020年,由阿里云视频云自研的卡通智绘Avatar横空出世,获得了业界瞩目。在2021年10月的云栖大会上,阿里云视频云的卡通智绘项目亮相阿里云开发者展台,近2000名参会者争相体验,成为了大会爆款。
阿里云卡通智绘采用了隐变量映射的技术方案,对输入人脸图片,发掘其显著特征(如眼睛大小,鼻型等),可以自动化生成具有个人特色的虚拟形象(即风格化后的效果)。
首先利用自有的海量有版权的高清人脸数据集通过无监督的方式训练一个可以生成高清人脸图片的模型,即真实人脸模拟器,在隐变量的控制下生成大量不同人脸特征的高清人脸图片。利用收集的少量目标风格图片(目标风格图片无需跟真实人脸一一对应)微调该模型、得到风格化模拟器。真实人脸模拟器和风格化模拟器共享隐变量,即一个隐变量可以映射得到一对“伪”人脸图片及其对应的风格化图片。
通过采样大量的隐变量,我们可以得到大量涵盖不同人脸属性(性别、年龄、表情、发型、是否戴眼镜等)的数据对,从而用来训练图像翻译网络。基于人脸先天的结构性(如眼睛、鼻子等)以及真实人脸和风格化后虚拟形象的结构性差异(如卡通形象的眼睛往往又大又圆),在网络中加入局部区域相关性计算模块以及人脸重建的约束,从而训练得到的网络生成的虚拟形象既生动可爱、又具有个人特色。
模型设计
基于人脸先天的结构性(如眼睛、鼻子等)以及真实人脸和风格化后虚拟形象的结构性差异(如卡通形象的眼睛往往又大又圆),在网络中加入局部区域相关性计算模块(即希望真人的眼睛和虚拟形象的眼睛的特征有一定对应关系)以及人脸重建的约束,从而使生成的虚拟形象既生动可爱、又具有个人特色。
效果展示:
Avatar 的未来
得益于 AI 技术的高速发展,我们现在已经拥有了制作虚拟人技术,但相信这一切只是开端。在可预见的未来,Avatar 将作为元宇宙数字居民的数字化身,越来越频繁的出现在虚拟世界中。而 Avatar 也将成为虚拟世界中的极其重要的一项数字资产。
最后引用扎克伯格对数字人的一段描述,“虚拟世界的特征是存在感,即你可以真切感受到另一个人或在另外一个地方。创造、虚拟人和数字对象将成为我们表达自我的核心,这将带来全新的体验和经济机会。”
“The defining quality of the metaverse is presence, which is this feeling that you’re really there with another person or in another place,” Mr. Zuckerberg told analysts in July. “Creation, avatars, and digital objects are going to be central to how we express ourselves, and this is going to lead to entirely new experiences and economic opportunities.”
参考文献:
[1] Aneta Texler, Ondřej Texler, Michal Kučera, Menglei Chai, and Daniel Sýkora. FaceBlit: Instant Real-time Example-based Style Transfer to Facial Videos, In Proceedings of the ACM in Computer Graphics and Interactive Techniques, 4(1), 2021.
[2] Leon A. Gatys, Alexander S. Ecker, and Matthias Bethge. A Neural Algorithm of Artistic Style. Journal of Vision September 2016, Vol.16, 326.
[3] Vincent Dumoulin, Jonathon Shlens, and Manjunath Kudlur. A Learned Representation for Artistic Style. In International Conference on Learning Representations 2017.
[4] Kaidi Cao, Jing Liao, and Lu Yuan. CariGANs: Unpaired Photo-to-Caricature Translation. In ACM Transactions on Graphics (Siggraph Asia 2018).
[5] Justin N. M. Pinkney and Doron Adler. Resolution Dependent GAN Interpolation
for Controllable Image Synthesis Between Domains. In NeurIPS 2020 Workshop.
[6] Guoxian Song, Linjie Luo, Jing Liu, Wan-Chun Ma, Chunpong Lai, Chuanxia Zheng, and Tat-Jen Cham. AgileGAN: Stylizing Portraits by Inversion-Consistent Transfer Learning. In ACM Transactions on Graphics (Siggraph 2021).
四种 AI 技术方案,教你拥有自己的 Avatar 形象的更多相关文章
- 如今领占主导地位的19种AI技术!
如今领占主导地位的19种AI技术! http://blog.itpub.net/31542119/viewspace-2212797/ 深度学习的突破将人工智能带进全新阶段. 2006 年-2015 ...
- OAuth2 RFC 6749 规范提供的四种基本认证方案
OAuth2 RFC 6749 规范提供了四种基本认证方案,以下针对这四种认证方案以及它们在本实现中的使用方式进行分别说面. 第一种认证方式: Authorization Code Grant (授权 ...
- Asp.net的sessionState四种模式配置方案
sessionState节点的配置 web.config关于sessionState节点的配置方案,sessionState有四种模式:off,inProc,StateServer,SqlServer ...
- Python几种并发实现方案的性能比较
http://blog.csdn.net/permike/article/details/54846831 Python几种并发实现方案的性能比较 2017-02-03 14:33 1541人阅读 评 ...
- Ext.js中树勾选的四种操作
最近在做控件优化的时候产品提了一个需求,对树的勾选要满足四种勾选方案: 1.点击一次根节点,当根节点和子节点均未选中的情况下,根节点和子节点全都选中. 2.第二次点击根节点,当根节点和部分或全部子节点 ...
- Java解决Hash(散列)冲突的四种方法--开放地址法(线性探测,二次探测,伪随机探测)、链地址法、再哈希、建立公共溢出区
最近时间有点紧,暂时先放参考链接了,待有时间在总结一下: 查了好多,这几篇博客写的真心好,互有优缺点,大家一个一个看就会明白了: 参考 1. 先看这个明白拉链法(链地址法),这个带源码,很好看懂,只不 ...
- 四种方案:将OpenStack私有云部署到Hadoop MapReduce环境中
摘要:OpenStack与Hadoop被誉为继Linux之后最有可能获得巨大成功的开源项目.这二者如何结合成为更猛的新方案?业内给出两种答案:Hadoop跑在OpenStack上或OpenStack部 ...
- 一文读懂四种常见的XML解析技术
之前的文章我们讲解了<XML系列教程之Schema技术_上海尚学堂java培训技术干货><XML的概念.特点与作用.XML申明_上海Java培训技术干货>,大家可以点击回顾一下 ...
- 四种有能力取代Cookies的客户端Web存储方案
目前在用户的网络浏览器中保存大量数据需要遵循几大现有标准,每一种标准都拥有自己的优势.短板.独特的W3C标准化状态以及浏览器支持级别.但无论如何,这些标准的实际表现都优于广泛存在的cookies机制. ...
随机推荐
- lightweight openpose 入门实操笔记(pytorch环境)
最近有个小项目要搞姿态识别,简单调研了一下2D的识别: 基本上是下面几种 (单人)single person 直接关键点回归 heatmap,感觉其实就是把一个点的标签弄成一个高斯分布 (多人)mul ...
- JDBC封装的工具类
1. JDBC封装的工具类 public class JDBCUtil { private static Properties p = new Properties(); private static ...
- CF39C-Moon Craters【dp】
正题 题目链接:https://www.luogu.com.cn/problem/CF39C 题目大意 坐标轴上有\(n\)个圆,给出每个圆的位置\(c_i\)和半径\(r_i\). 要求选出最多的圆 ...
- 【月光宝盒get√】用时间置换空间,聊聊稀疏数组的那些事儿
背景 数据结构是指带有结构特性的数据元素的集合.在数据结构中,数据之间通过一定的组织结构关联在一起,便于计算机存储和使用.从大类划分,数据结构可以分为线性结构和非线性结构,适用于不同的应用场景. 线性 ...
- MyBatis实现批量添加
在进行后端的操作时,批量添加总是少不了,话不多说,下面贴上代码 Mybatis代码: <insert id="batchInsert" parameterType=" ...
- Xcode相关
Xcode相关的路径 Provisioning Profiles存放路径:~/Library/MobileDevice/Provisioning Profiles 所有模拟器(包括历史模拟器):~/L ...
- 如何通过 Serverless 轻松识别验证码?
作者 | 江昱 来源 | Serverless 公众号 前言 Serverless 概念自被提出就倍受关注,尤其是近些年来 Serverless 焕发出了前所未有的活力,各领域的工程师都在试图将 Se ...
- 使用ffmpeg进行视频图片提取
环境:windows10-x64 ffmpeg的功能很强大,可以进行音频和视频的处理,这里记录下需要从视频文件提取图片的情况. ffmpeg官方地址:https://www.ffmpeg.org/使用 ...
- 洛谷4172 WC2006水管局长(LCT维护最小生成树)
这个题和魔法森林感觉有很相近的地方啊 同样也是维护一个类似最大边权最小的生成树 但是不同的是,这个题是有\(cut\)和询问,两种操作.... 这可如何是好啊? 我们不妨倒着来考虑,假设所有要\(cu ...
- Windows使用Git的vim编辑器编译运行程序
Windows配置gcc 新建一个main.c $ touch main.c #在当前目录下创建main.c $ mkdir folder #在当前目录下创建folder文件夹 $ rm main.c ...