- A+
本文为金擘(渚薰) 在第十六届D2前端技术论坛上的分享,为你讲述当前业界的现状,包括不同行业中的showcase和优秀的技术/创作平台,引出近几年比较火热的数字人,包含多个核心技术点,同时畅想数字人在未来的技术增长和业务价值,以及当下我们该如何布局。
我们理解的数字人
-
形:具备人或拟人的外观,具有特定的相貌等人物特征。
-
动:拥有和人相似的行为,具有用语言、表情和肢体等表达的能力。
-
神:拥有比拟人的思想,具有识别外界环境、并能与人交流互动的能力。
▐ 市场现状
近几年,虚拟数字人在电商、金融、影视、游戏和金融等行业都拥有不同大小的市场规模。例如:虚拟偶像行业2020年中国的市场规模为34.6亿元,预计2021年将达到62.2亿元。
市场规模增长,也印证了技术的发展:制作成本逐年降低、形象外貌更加真实、语言交流更加自然。从出现虚拟数字人至今,已经渡过了3个重要的时期:
-
初创期:市场初见增长,技术不确定性,入行门槛高。
-
发展期:市场竞争者增多,技术逐渐成型,入行门槛低。
-
平台期:市场红海到来,平台化成熟,领头羊 + 小众。
▐ 解决方案
在如今的平台时期中,各个厂商也聚集在一起提供不同层次的解决方案:
-
基础层:为虚拟数字人提供基础软硬件支撑,硬件包括显示设备、光学器件、传感器、芯片等,基础软件包括建模软件、渲染引擎。仅有少数几个顶尖科技公司才具备优秀的软硬件实力。
-
平台层:包括**软硬件系统、生产技术服务平台、AI 能力平台,**为虚拟形象的制作及开发提供技术能力。提供平台服务的企业非常多,通过出售服务和技术来服务其他企业。
-
应用层:除了最终的企业用户,一些具备出色营销和运营能力的公司或团队也为这个行业带来了不错的想法和创意。
我们在做什么
-
游戏:虚拟数字人在游戏行业基本是标配,非常多的游戏都会需要塑造人物,其中能让玩家通过自定义塑造人物形象功能的这一类游戏,自定义塑造人物形象的功能也称为“捏人”。 淘宝人生:这是手淘App内一款可以打造虚拟形象的游戏,包含了捏脸、穿搭、美颜、拍照等功能,逛街、家园等玩法。 养考拉:这是考拉海购App内的一款可以养成考拉的游戏,包含了装扮功能,喂养等玩法。 它们均采用Web为主的技术方案,通过自研的引擎完成渲染、表情、动作等人物的形和行。 -
视频:虚拟数字人的短视频可以给用户带来感官上的优秀体验,还能给业务带来增量的收益。在制作虚拟数字人的视频时,可以通过动作捕捉、智能识别、导演系统等方案,让虚拟数字人栩栩如生。 -
直播:直播和虚拟数字人的结合仍然处于早期的探索阶段,因为两种现象级的产业需要结合且形成新的或增量的商业模式并不容易。这其中涉及到的技术也有实时动作捕捉、算法训练合成、在直播场景下的云渲染推流等等。
我们一起来创作
随着应用场景专业和深入,技术研究也会涵盖工程和算法等多种综合性的解决方案,且在不同的应用场景下,侧重点也会不太一样。接下来以大淘宝互动团队的淘宝人生业务为例子,分别从美术生产、渲染风格、捏脸换装、表情动作、导演系统和语音合成六大主题为大家呈现如何打造超级虚拟偶像。
▐ 形
这个章节我们来完成虚拟数字人的形 - “具备人或拟人的外观,具有特定的相貌等人物特征”。
-
从模子中刻出来 - 美术工作流
-
用Maya制作白模,骨骼,把过程产物暂存在OSS,并提供预览工具 -
用Photoshop制作贴图,把贴图上传至CDN -
在Maya里定制GLTF Exporter插件,导出glTF(包含模型数据、骨骼数据、材质、贴图数据) -
Web端内嵌材质编辑器进行自研材质的效果调整 -
在EVA Figure引擎通过GLTF Importer导入人体的glTF,并定制材质Shader进行渲染。
-
精雕细琢 - 捏脸
那是如何能通过这样的系统来达到改变基础模型的目的的呢?通常,一组模型数据就是顶点数据的集合,改变模型通常就是改变顶点的数据,而改变顶点数据又通常有两种方式:
骨骼蒙皮
通过“外力”对顶点施加某种“变换”,简单来说就是包含了位移、旋转和缩放三种变换的一组数学公式。为了完成这种变换,这股外力可以使用“骨骼”来完成。这里说的骨骼同样可以理解成人体的骨骼,当手指上关节的作用发生运动变化时,手型就会发生变化。在捏脸功能中,在淘宝人生中,我们给脸部预置了大约20多种骨骼,可以改变头围、眼球、眼角、眼眶、颧骨、脸型等等。
混合变形
骨骼带来的顶点变换很粗矿,无法完成对嘴形状的定制,因为这样一个看似简单的外表,实际上在模型中会涉及数以万计的顶点进行不同规律的变换。于是,我们就为这一组顶点变换专门设置变形器,业界一般称为“Morph Target”或“Blend Shape”。这种变换的原理是给顶点准备一个基准位置,再提供一个”极端变化“后的最大位置,之后乘以一定的”权重比例“,就能让这个顶点在基准位置和极端位置中的任一位置。但因为脸部需要局部变形的地方太多,且一个变形可能涉及数以万计的顶点,所以对实时计算压力也是不小的。
-
时尚穿搭 - 换装和美颜
换装
美颜
-
二次元还是三次元 - 渲染风格
最后到了给它设定风格的时候。有人会喜欢真实系,有人也会喜欢卡通系,也会有人喜欢朋克风,也会有人喜欢纯欲风,这些不同的风格需要依靠渲染功能来完成。当我们说到渲染时,都会提到图形渲染管线,它可以根据不同的需求做很多组合和调整,比如最简单的渲染管线是:加载模型 ---> 顶点着色 ---> 片元着色 ---> 光栅化。其中片元着色的步骤,就是用来完成材质纹理的绘制使之达到想要的角色风格。对材质纹理的绘制通常分为两大类:
PBR
全称Physically Based Rendering,顾名思义是基于物理的渲染,既然是基于物理的,那么它渲染的最终结果会非常接近我们的真实世界。所以也就很好理解,这类材质可以决定人物是写实或超写实风格的。此技术由8大核心理论和几个重要的光照模型组成,在此不一一列举,有兴趣的同学可以去阅读《Real-Time Rendering》中的PBR相关章节,或是SIGGRAPH的《Physically Based Shading in Theory and Practice》系列文章。例如在淘宝人生中,根据不同部位选取渐变贴图上采样色的方式模拟了次表面散射的技术,实现了人脸皮肤的红润通透感。
NPR
全称Non-photorealistic Rendering,即非真实感绘制。其最主要的应用之一,就是非常盛行的二次元风格,特别是日式卡通风格。和PBR不一样,NPR不会去追求各种物理学模拟,而是从油画、素描、卡通动画中得到启发和灵感。比如,经常被使用的人物描边、卡通着色、边缘光、头发高光等。这些特殊的材质渲染也都能在找到专业的论文和例子,大家可以自行搜索。
▐ 动
-
表情和动作
-
手K动画
-
动作捕捉
-
编排 - 导演系统
▐ 神
这个章节我们来探索虚拟数字人的神 - “拥有比拟人的思想,具有识别外界环境、并能与人交流互动的能力”。我们在对“神”的研究上,仍然处于非常初级的阶段,一方面它需要大数据的支撑,另一方面它对于前端这个岗位来说已经有相当的距离了。为了让虚拟数字人更加真实,“神”会是未来重点的研究方向。
-
性格流露 - 自然语音合成
虚拟数字人的语言表达能力需要用到语音合成技术,比如TTS(Text To Speech)。阿里达摩院有着非常完善的TTS引擎,用它就能让虚拟数字人开口说话。不过这也仅仅是开口说话,大家其实都能感受到这样的语言非常苍白无力,毫无“情感”,无法在不同性格和情感时表达出来的不同语气。在业界可以看到一些优秀的成果:YAMAHA的歌声合成系统“VOCALOID”(初音未来和洛天依均在使用),谷歌基于深度学习的端到端语音合成系统“Tacotron”,以及讯飞的语音合成系统等。阿里达摩院也在持续研究更加符合自然表达的语音合成系统,通过为虚拟数字人设定性格,并借助大数据的深度学习来产生风格迥异的情感型语气。大家可以细细评委下以下三段真人、普通TTS和风格化TTS的效果。至此,在现有的技术下我们完成了一个超级虚拟偶像的登场。
我们向往的数字人
大淘宝技术互动团队目前负责“天猫农场”、“金币庄园”、“淘宝人生”这3个手淘内千万级的互动产品,重点打造双促、春节、市场PR等S/A级营销互动,同时为商家、达人、主播等沉淀和提供私域内的互动玩法。
面向业务,我们基于阿里模块标准,在成熟的搭建平台上完成页面的模块级搭建;面向研发,我们依靠整个阿里经济体强大的基础生态来保障互动领域研发能力高效且合理的触达用户;我们拥有完全自研的互动研发体系EVA,同时EVA体系的建设也和阿里经济体互动方向紧密结合在一起,打造整个经济体最优秀的互动解决方案,并最终实现我们的愿景:人人可开发、处处有互动。
同时,我们是一支拥有战友情、兄弟义,能自嘲、能自嗨,不敷衍工作、不耽误生活的充满活力和想象力的团队,我们有本来可以靠颜值却偏偏要靠实力的小姐姐们、也有一群群推着前浪大踏步向前的后浪,还有许许多多可靠、个性、自信的小伙伴。我相信这样一只具有鲜明技术特色、又屹立于手淘业务一线的团队,一定会是屏幕前的你希望且愿意加入的团队。欢迎投递简历至:[email protected]
参考文献
-
《艾媒咨询|2021中国虚拟偶像行业发展及网民调查研究报告》https://www.iimedia.cn/c400/79469.html
-
《三维软件知多少》http://www.bgteach.com/article/40
-
《三维文件格式知多少》https://www.bgteach.com/article/132
-
《glTFTutorial》https://github.com/KhronosGroup/glTF-Tutorials/tree/master/gltfTutorial
-
《Vertex Transformation》https://www.khronos.org/opengl/wiki/Vertex_Transformation
-
《WebGL Skinning》https://webglfundamentals.org/webgl/lessons/webgl-skinning.html
-
《MorphTarget》https://en.wikipedia.org/wiki/Morph_target_animation
-
《Real-time Rendering》https://www.realtimerendering.com/《MovingFrostbite toPBR3.0》https://seblagarde.files.wordpress.com/2015/07/course_notes_moving_frostbite_to_pbr_v32.pdf
-
《StylizedRenderinginGame》http://stylized.realtimerendering.com/
-
《基于物理的渲染(PBR)白皮书》https://zhuanlan.zhihu.com/p/53086060
-
《ARkitFaceBlendshapes》https://arkit-face-blendshapes.com/
-
《OpenGLSkeletalAnimation》https://www.khronos.org/opengl/wiki/Skeletal_Animation
-
《类卡通效果与写实人脸的52个blendshape效果对比及变化说明》https://www.bilibili.com/read/cv11763241
-
《MotionCapture》https://en.wikipedia.org/wiki/Motion_capture
-
《MotionCaptureSystem》https://scholar.google.com/scholar?q=Motion+capture+system&hl=zh-CN&as_sdt=0&as_vis=1&oi=scholart
-
《GameEngineArchitecture3rd-AnimationBlending》https://www.gameenginebook.com/toc.html
-
《游戏引擎动画系统阅读笔记》https://zhuanlan.zhihu.com/p/374343190
-
《语音识别技术》https://scholar.google.com/scholar?hl=zh-CN&as_sdt=0%2C5&as_vis=1&q=%E8%AF%AD%E9%9F%B3%E8%AF%86%E5%88%AB%E6%8A%80%E6%9C%AF&btnG=
-
《语音合成技术》https://scholar.google.com/scholar?q=%E8%AF%AD%E9%9F%B3%E5%90%88%E6%88%90%E6%8A%80%E6%9C%AF&hl=zh-CN&as_sdt=0&as_vis=1&oi=scholart
-
《MetaHuman》https://www.unrealengine.com/en-US/digital-humans