7月28日,Tik Tok与火山引擎在京举办智能特效技术开放日。火山特效技术专家杨辉以《聊聊抖音特效背后的技术》为题,分享了Tik Tok特效的制作过程和技术原理。
杨辉说,Tik Tok特效采用了计算机视觉(CV)和计算机图形(CG)技术。CV代表对现实世界的理解,CG起到渲染虚拟元素并叠加在屏幕上的作用,特效则是通过CV和CG技术的交互将现实和虚拟连接起来。经过大量的工程化和产品化迭代,最终为用户呈现出生动有趣的视觉效果。
据杨辉介绍,Tik Tok特效背后有完善的工程体系,包括模块化组件、灵活可定制的资源分发能力,以及对不同系统、不同分辨率屏幕的兼容适配。数据显示,Tik Tok特效的程序界面崩溃率低于1/10万,稳定性达到行业领先水平。
作为字节跳动的技术服务平台,火山引擎不仅支持Tik Tok、今日头条等内部产品,还对外开放企业,为客户提供特效创作工具套件、定制算法、工程部署、对接联调等产品和服务。此外,火山引擎资源商城提供了上万个Tik Tok同款特效,企业可以根据热度和类型选择使用。
图:杨辉介绍Tik Tok特效的技术原理。
以下是火山引擎特效技术专家的演讲全文:
大家好,我是杨辉。今天很荣幸给大家带来Tik Tok特效的技术分享。
相信很多人和我一样,在电视剧《西游记》中第一次看到特效。当然,当时由于设备和软件的限制,很多特效都很简陋,比如一些关键的特效,还有神仙妖怪像纸人一样飞来飞去。
随着科技的进步,影视特效也越来越震撼,尤其是AI技术的兴起,给动画的建模、渲染、编辑合成等带来了很大的提升。比如《复仇者联盟》利用机器学习的方法,通过捕捉演员的面部表情来制作灭霸的表情,使得虚拟角色的特效能够达到非常生动逼真的效果。
但是,影视特效的制作成本非常高。有媒体报道,好莱坞视觉大片的特效成本至少占总制作成本的60%。1秒特效拍摄,如果只用一台高性能机器渲染,可能需要50天。
回看《西游记》的特效,虽然从技术角度来说比较简单,但这部电视剧因为其良好的创意和内容,成为了永恒的经典。
所以,我们做Tik Tok特效的出发点,一方面是利用前沿技术达到好的特效,另一方面是尽量降低特效的创作和使用门槛,让每个人都能用特效更好地表达,做出富有想象力和表现力的内容。今天,我将重点和大家分享一下用什么样的技术和方法来实现Tik Tok特效。
#特效是现实与虚拟的互动。
首先,我们来看一个演示。
这部动画有一定的代表性,可以反映出我们在Tik Tok特效中使用的技术的方方面面。首先我们可以看到,要完成这个特效,必须检测人的位置,这是对真实画面内容的一种理解。
需要注意的是,人脸拟合本质上是通过检测人脸的关键锚点来实现的,这些点的信息无法还原人的长相。此外,这些点数据只在手机上检测到,不会上传到服务器。所以特效中没有人脸识别技术。
其实我们也可以理解,比如画面中是否有一个完整的人,或者是否有一只手,做了什么手势;还可以了解图中是否有天空、地面和建筑物。这种对画面真实内容的理解,其实是通过CV技术实现的。CV是一种计算机视觉技术
深度学习是通过人工神经网络理解训练样本的更深层次的规则,并通过数据和模型结构进行结构化表达。通过深度学习技术,CV可以在检测、分割、智能生成和SLAM等方面实现更好的精度、准确度和适应性。
除了CV,要完成演示中的特效,还需要在实拍画面上显示或叠加渲染一些虚拟素材,这就是CG技术。CG技术被称为计算机图形学,它可以在屏幕上渲染虚拟元素。以演示为例,人脸的一侧总是有一个水果,右侧随机飞出很多水果。这些水果的动画,以及最后一个人头上的3D菠萝头饰,都是通过CG技术叠加的。
有了CV和CG技术,很多特效都可以简单生成。CV提供对真实场景的理解,告诉你在哪里叠加虚拟素材,而CG技术则是完成叠加虚拟素材的任务。比如,你已经可以做一顶假帽子戴在头上,或者做一个假口红涂在嘴唇上。但是我们能否实现Tik Tok特效让用户在更低的门槛下使用的目标呢?显然还不够。
特效是为了帮助用户更好地表达自己。因此,我们进一步发展了特效技术,引入了模板或脚本的概念,这意味着用户可以作为主角被带入故事情节,最终按照一定的规则形成相对高质量的视频。刚才演示的例子是这样的。它包含很多规则,比如左边的水果。
,需要与右边飞出来的水果进行碰撞,会变成一个新的水果,当变化多次之后进入到下一个阶段,就会让用户头上戴了一个菠萝的帽子。所以这是CV与CG之间的互动技术。除了CV、CG还有互动技术之外,抖音的特效功能都是通过了反复的工程与产品化的迭代,最终才能够在抖音当中集成、上线,面向所有的用户。关于工程能力,后边我会具体介绍。
# 抖音特效的CV技术:场景丰富、算法全面
接下来我想向大家介绍抖音特效技术的一些特点。
首先来看CV技术能力。抖音有非常大的用户规模,我们做的任何算法上的升级、迭代,都会影响到海量用户,最终反馈到产品的使用数据上。我们要深层次的找到某个指标上升或者下降的原因,会发现和某个算法某一次改动有关。通过用户的反馈,推动CV算法的优化,这是我们一个核心的优势。
第二就是除了抖音之外,字节跳动还有许多其他APP和业务线,也有CV算法提供各种支持,比如视频拍摄、视频剪辑、视频会议,还有一些其他垂类行业,比如说游戏、广告、房产、汽车等等,会产生非常丰富的使用场景,而不同的使用场景都会产生各种差异化的需求,我们要同时满足这些需求,反过来会助推CV算法有更好的适应面。
我这儿可以举个例子,火山引擎有智能电视的客户,用户也需要在电视摄像头上应用到一些特效。但这个场景和抖音的差别非常明显:首先就是用户在电视和手机画面当中的占比差别很大,一开始我们的CV算法效果是非常差的。因为我们要支持这个场景,所以推动着我们把算法进行了优化,能够更好地适应电视的场景。之后我们发现抖音里面也有很多场景,是需要拍全身的。因为我们已经做了针对智能电视的优化,反过来在抖音里面也可以用在类似的场景里面,让用户得到更好的体验。
更丰富的使用场景,让我们的CV算法适用性更强。
最后说一下CV算法覆盖的技术能力。抖音特效里面使用了100多个不同的CV算法,刚才也说到了如果把每一个算法都认为是对真实场景的理解,我们在特效里面可以理解100多种不同的真实场景,基本包含了各种不同的技术方向,从这方面也证明了我们技术团队人才的储备也是非常全面的。
# 抖音特效的CG技术:为特效量身打造的轻量级渲染引擎
接下来介绍一下抖音特效使用的CG技术。我们特效技术团队通过近两年的打磨,完成了一个从零到一、自主研发的渲染引擎。
提到渲染引擎,大家比较熟悉Unity等非常成熟的商业化的渲染引擎。我们的渲染引擎是针对短视频AI特效的渲染场景,并不需要很多游戏行业的功能,所以是轻量级的渲染引擎,相比Unity的体积小得多。第二,我们具备非常好的跨平台能力。除了移动端的安卓和iOS,还可以用在PC上,包括Windows、MacOS、Linux等不同的操作系统。同时,一个平台也会有不同的图形API的版本,这些主流的图形API版本我们都支持。最后,我们可以做到出色的渲染效果。
这里我用几个演示来说明。
第一个是材质领域的展示,PBR可以简单理解为偏向真实场景的材质,可以明显地感受到金属的质感,第二个是半透明以及一定的反射折射效果的材质,第三个是自发光的效果,第四个是做了GPU粒子系统。与大家熟悉的控雨特效相比,控雨里面第一次用到粒子的概念,但其实里面的雨滴并不多。但是这个GPU粒子系统的演示,光烟花里面用的粒子数量是上万,远远大于之前的控雨特效。因为控雨的粒子是通过CPU计算的,现在我们用GPU完成上万粒子的计算。最后一个演示里面其实有很多技术,综合来说可以理解为近乎真实的渲染效果。
# 特效不光是一门技术,更是一项工程
特效不仅需要CV和CG的技术,还需要有完善的工程能力,只有把工程做好,我们才能够把相应的技术落地、产生价值。这里我介绍下抖音特效背后的工程。
刚才提到了抖音特效用了100多种CV算法,但是我们的客户不需要全部的算法,只需要一部分能力。所以我们在工程上提供了模块化组件,定义标准化的接口与模块设计,提供给客户可定制的方案。
第二,用户不仅仅需要竖屏的屏幕,还有很多用户需要横屏。通过我们工程化的支持,现在已经适配竖屏、横屏,也适配不同的分辨率以及长宽比例。
我们也了解客户对体积优化的诉求,所以很多素材、资源、算法模型,都可以下发更新。在减少包体积的同时,也让客户可以快速响应需求。
最后是稳定性方面,我们在工程上可以做到非常低的崩溃率,抖音特效在接口层面的崩溃率现在低于十万分之一,正在向一百万分之一努力,而且已经非常接近了。
还有更底层的工程,比如说我们要做一些AI算法,算法的研发过程也离不开各种工程的支持。从一个算法的训练,到算法的优化,最后到算法能够在一些设备上高效率的运行,我们有成熟的平台框架,来支撑做这些事情。
有了这些AI基础能力,AI算法不仅仅是某个团队的独门秘笈,每一个团队都可以把AI算法看作是一个解决问题的可选方案。我刚才提到的训练的平台、优化的工具,还有高效率的执行框架,都会通过火山引擎向企业用户开放,现在已经开放了一部分能力。
火山引擎是字节跳动的技术服务平台,不光服务于公司内部的业务线,包括抖音、剪映等等,同时也会面向企业用户提供技术服务。除了今天分享的特效技术服务之外,大家也可以关注火山引擎的其他产品信息。
说到火山引擎的特效服务体系,这里也简单说一下,在我们服务客户的过程中,需要思考这个客户的需求是什么,他真正需要的是哪些能力。所以我们会有专业的工程师团队,和客户对接,帮助他去定制解决方案,以及在对接接入,还有上线之后遇到的各种问题,都会协助解决。
另外,我们也把特效的创作工具通过火山引擎向企业用户开放了。还有就是特效的资源,覆盖了拍摄的资源、编辑的资源,还有模版的资源等等。而抖音,也是同样使用了这部分的资源。
这里也正式向大家宣布一件事情,火山引擎已经向企业客户开放了上万款抖音同款特效。
# 特效的应用场景和未来
在我分享的最后,我想和大家聊一下特效技术的应用和发展趋势。
第一个是我们给某个客户提供的AR看车的解决方案。它可以有一些前后移动、车门打开等等的互动,还可以很方便地更换整车的颜色,帮用户在线上更全面地了解车型。
第二个也是火山引擎为客户支持的AR试妆案例,消费者在手机APP上就可以直观看到自己使用了不同色号口红的效果。
同样的思路,我们也可以用特效技术体验虚拟的试衣、试鞋,甚至耳环、戒指等首饰。这个视频既可以用在电商的场景,也可以用在广告的场景。很多广告都是视频形式,视频编辑上天然需要很多特效,用户除了看广告之外,还可以有一定的互动,从而获得更丰富的信息。
第三个是和传媒行业合作的虚拟形象案例,这是一个比较火的概念――数字人。数字人就是通过AI+CG的技术展现出一个虚拟的人物形象,一定程度上代替真人去承担部分工作,比如虚拟主持人,还有在游戏、社交领域,能够定制和自己非常接近的虚拟形象。
刚才介绍了一些成熟的案例,再往前一步,未来会怎么样呢?
这里分享一下我从技术层面的思考。首先就是端云协同。随着5G时代的到来,带宽会越来越宽,网络延时变短,流量成本在不断下降,很多特效不需要在客户端本地去完成各种计算,我们完全可以把更多的计算包括CV的运算以及CG的运算放到云端完成,相比客户端有更多的运算资源,这也就意味着CV算法可以做得更精准,识别率更高,CG效果更酷炫,给用户更好的体验。
一旦实现端云协同,特效也不再是孤岛,能把人与人进行连接,把多个人放在一个场景,让他们之间形成互动。根据两个人是不是在一个地点,多人互动的方案可以分成同时还是不同时、同地不同地,形成了四个象限。如果是同时,你会需要一个数据同步的实时传输;如果不是同时,可能是异步传输方案;如果是同地,整个场景的建立可能需要一个绝对的坐标系;如果是异地,需要相对的坐标系建立场景。
最后,大家也知道现在有非常多的新兴的智能移动端,比如说车载设备、智能家电,还有一些智能可穿戴设备,这些都会成为移动端入口。而新的移动端上边有非常多的多媒体内容展示的可能性,我相信刚才说到的CV、CG、互动等等这些特效的技术,能够在这些终端上发挥更大的作用,给到大家更好的体验。
今天我的分享就到这儿,非常感谢大家的聆听,希望对大家能够有所启发与帮助。谢谢大家!
> 近日,火山引擎首度发布限时增长助推计划「火种计划」,助力企业伙伴实现数字化转型,为企业发展增添新引擎、注入新动力。点击「火山引擎-
> 智能激发增长」,立即加入「火种计划」!