火山引擎两大技术加持,只为打造谁都能玩的抖音特效
抖音视频里那些被惊呼“美爆了”、“酷毙了”、“真想焊在脸上”的特效,到底是怎么开发出来的?为何抖音特效能够在多个平台的比拼中脱颖而出?
7月28日,抖音联合火山引擎在北京举办智能特效技术开放日。火山引擎特效技术专家在场分享了抖音特效的生产流程和技术原理。
据介绍,抖音特效主要使用了计算机视觉(CV)和计算机图形学(CG)技术。CV代表对现实世界的理解,CG的作用是将渲染虚拟元素叠加到画面,特效就是用CV和CG技术的互动把现实和虚拟连接起来,经过大量工程与产品化的迭代,最终为用户呈现出生动有趣的视觉效果。
CV技术:数据驱动、场景丰富、算法全面
据火山引擎特效技术专家介绍,抖音特效的CV技术主要有三大特点。
首先,通过用户的反馈推动CV算法的优化,是一大核心优势。
抖音拥有庞大的用户规模,任何算法上的升级、迭代,都会影响到海量用户,最终反馈到产品的使用数据上。其中某些指标的上升或者下降往往与某个算法的某一次改动之间有着深层次关联。
其次,更丰富的使用场景,让CV算法适用性更强。
除了抖音之外,字节跳动其他众多的APP和业务线,比如视频拍摄、视频剪辑、视频会议等,其他垂类行业如 游戏 、广告、房产、 汽车 等,都会产生非常丰富的使用场景。不同的使用场景,会产生各种差异化的需求,在同时满足这些需求的过程中,也在助推CV算法能具备更好的适应面。
以智能电视为例,客户需要在电视摄像头上应用到一些特效。但这个场景和抖音的差别非常明显:电视和 手机 ,画面的占比差别很大。所以一开始CV算法的效果很差。但正是在针对智能电视这一场景进行算法优化的过程,反而推动了CV算法的进步,最终很好地适应了这一场景。后来,火山引擎发现抖音里面有很多场景也有类似智能电视场景的需求,就直接把相关成果拿过来用就行了。
此外,火山引擎CV算法覆盖的技术能力也非常全面。
抖音特效里面使用了100多个不同的CV算法,如果把每一个算法都认为是对真实场景的理解,在特效中就可以理解为100多种不同的真实场景,基本包含了各种不同的技术方向。从另一方面看,也证明了火山引擎技术团队人才的储备也是非常全面的。
CG技术:为特效量身打造的轻量级渲染引擎
火山引擎的CG技术团队通过近两年的打磨,完成了一个从零到一、自主研发的渲染引擎。这一引擎也有三个特点。
首先是体积小。
提到渲染引擎,大家比较熟悉的是Unity等非常成熟的 商业 化渲染引擎。与他们不同,抖音特效的渲染引擎,是针对短视频AI特效的渲染场景,并不需要很多游戏行业的功能,所以是轻量级的渲染引擎,相比Unity的体积小得多。
其次是具备非常好的跨平台能力。
火山引擎的CG技术除了可以用在移动端的安卓和iOS平台上,还可以用在PC上,包括Windows、MacOS、Linux等不同的操作系统。同时,同一个平台也会有不同的图形API的版本,这些主流的图形API版本,火山引擎的CG技术全都可以支持。
另外一点就是可以做到出色的渲染效果。
以下面五个具体的特效为例,
第一个特效,是材质领域的展示,PBR可以简单理解为偏向真实场景的材质,可以明显的感受到金属的质感。
第二个特效,是半透明以及有一定反射折射效果的材质。
第三个特效,是自发光的效果。
第四个特效,应用了GPU粒子系统。
在之前大家更为熟悉的“控雨特效”里,抖音特效第一次用到“粒子”的概念,但“控雨”里面的雨滴并不多。但是在GPU粒子系统中,光烟花里面用的粒子数量就达到上万,远远大于之前的控雨特效。这是因为之前“控雨”的“粒子”要用到CPU来计算,而“GPU粒子系统”则使用的是GPU来完成上万粒子的计算。
最后一个演示里综合性地包含了很多技术,可以理解为近乎真实的渲染效果。
在分享抖音特效背后的技术之外,火山引擎相关负责人也表示,作为字节跳动的技术服务平台,火山引擎不仅支持了抖音、今日头条等公司内部产品,也在向外部企业开放,为客户提供特效创作工具套件、定制算法、工程化部署和对接联调等产品及服务。此外,火山引擎资源商城提供了上万款抖音同款特效,企业可以根据热度、类型等方式选择使用。