随着3D技术的高速发展,影视渲染效果的复杂度、精细度都在逐步提升,但高质量的渲染效果和时间成本往往难以兼顾。针对这一行业痛点,字节跳动智能创作团队基于AI技术的优势提出了「AI渲染」方案。这一方案现已在抖音落地实现,可以基于AI和离线渲染技术,加速渲染过程,提升渲染质量,降低影视级渲染的享用成本,甚至在手机端实现影视级渲染效果。

未来, 这项技术能力也将通过火山引擎对外输出,让企业以更低成本享有更快、更好的AI渲染能力。

一直以来,抖音特效都因为其逼真的质感和实时的交互性体验而受到用户喜爱。这与其背后的实时渲染能力密不可分。

在过去,实时渲染受限于性能,难以渲染复杂的模型和材质,例如:折射、散射的材质,烟雾、泡沫等带有体积感的材质,以及带有自阴影的精细纹路等。因此,像视频中这样精细的渲染效果往往来自于离线渲染。离线渲染通过光线追踪的方式能够渲染出十分逼真的复杂效果,但是代价就是大量的耗时增加。

离线渲染效果VS实时渲染效果示意图

整体而言,利用AI加速渲染是基于数据和神经网络训练方法形成的自动化的材质生产链路,具有高度还原离线材质、速度快、且能够快速迭代的优势。目前,这一技术趋势已经初步显现,Nvidia、Adobe等各大公司都在研究AI渲染相关技术。

字节跳动的「AI渲染」方案在渲染流程中,对所涉及的合成数据、神经网络渲染和整体方案等方面都进行了优化,体现出较好的性能表现。

通过学习高质量材质,字节跳动「AI渲染」可以提升移动端效果,实现各种以前只在游戏电影中出现的特效,提升真实感和细腻度,促进道具效果进一步进化;另外,通过对一些复杂的特效加速,达成节约影视渲染成本;

字节跳动「AI渲染」流程图

具体实现方案

合成数据——训练更好的AI模型

由于AI模型非常依赖数据进行训练,数据的质量和数量很大程度上会影响模型训练的好坏。很多影视作品都会采用DCC(Digital Content Create)和光追渲染引擎来生成合成数据、制作特效画面,这种方法本身的渲染质量和可控性较好,缺点就是渲染时长非常长,往往一帧图片就需要渲染几十上百小时。技术团队通过借助火山引擎边缘渲染农场的分布式计算能力,可将几天的渲染时间减少到1、2个小时以内,让算法模型可以快速实验和迭代。

为了获得更合适的输入数据,技术团队将过程化材质的一些核心渲染信息提取出来,根据图形学原理进行组合,然后作为分层信息输入AI网络训练,同时进行多组对照实验,获得最合适的输出信息。

毛发材质示意图

镭射材糖果材质示意图质示意图

云彩、泡沫材质示意图

水晶、冰等透射材质示意图

动力学材质示意图

然后,团队通过程序化建模获得大量模型,输出大量不同数据,优化模型泛化性。

最后,是要在移动端生成匹配的输入信息,但由于移动端使用完全不同的实时渲染引擎,为了能获得一样的分层信息,技术团队连接移动端算法和DCC软件,提取相机、环境光和位置等信息,生成高质量配对数据。

神经网络渲染——提升渲染精度和效率

「AI渲染」方案首先采用实时渲染器产生相对低画质的渲染图作为粗渲染,再用图像翻译(Image Translation)技术中比较有效的深度学习方法pix2pix,将低质量图片转化为精细渲染的高画质图片作为精渲染。为了提高实时渲染的速度,其中低质量图片往往只包含一些物体轮廓、方向或光照等粗略信息,而pix2pix负责比较复杂的精渲染任务,将精细的纹理、光影渲染到物体上。

pix2pix是将GAN应用于有监督的图像到图像翻译的经典论文,有监督表示训练数据是成对的。图像到图像翻译(image-to-image translation)是GAN很重要的一个应用方向,是基于一张输入图像得到想要的输出图像的过程,可以看作是图像和图像之间的一种映射(mapping),常见的图像修复、超分辨率其实都是图像到图像翻译的例子。在神经网络渲染任务中,团队将pix2pix应用于低画质图片到高画质图片的转换。

相比传统的渲染方法,团队的神经网络渲染方案优越性体现在以下几个方面:

材质精良。相比传统实时渲染,神经网络可以渲染出的图片细节更丰富、更逼真。通用性强。整套渲染链路可以适用于各种材质,扩展成本低,不必像传统渲染需针对每个材质重新设计性能优化方案。渲染速度快。过去,渲染一帧云朵画面可能就需要几十个GPU小时,这对于一些影视公司来是不小的成本。

传统渲染:34h(左)AI渲染:30s(右)

方案优化——质感调优 适应低端机型

为了呈现更逼真、流畅的渲染效果,研究团队做了大量优化:

在渲染质感方面,为了提升细节和光影让画面更逼真,团队采用了实时光照重建技术,自动分析原图中的环境光照并重建为球谐光照参数,再将其输入到pix2pix的渲染网络中,来控制渲染物体的光影效果。另外,团队对渲染网络的输入和输出图片在配对性和材质精度上进行了仔细的定义和优化,使模型能够更好地学习到渲染能力,呈现极致的渲染画质。最后,一个物体上的不同区域往往有不同的细分材质,团队还对于不同的区域进行语义分割并将其信息给到渲染网络,使单个网络可以同时完成多种材质的渲染。在性能方面,为了保证流畅的画面,团队针对神经网络的推理速度进行了极致优化,使得低端机型也能呈现流畅的高质量渲染:首先使用AutoML得到紧凑的神经网络架构;然后使用蒸馏技术将大模型学习到的知识“传授”给紧凑的小模型以提升其渲染精细度;再用结构化和半结构化剪枝技术去除掉网络中计算冗余的部分;接着采用低比特量化的方式将模型权重由高精度浮点数转化为低比特表示,来降低计算开销;最后,虽然需要渲染的道具在画面中分布广泛,但需要渲染的部分在画面的占比较小,团队对画面进行了区域裁剪与合并,只把需要渲染的部分保留下来交给神经网络进行渲染,进一步提高推理速度。

目前,字节跳动「AI渲染」技术方案的扩展应用场景包括:影视提速、移动端真实感渲染、AR环境融合;解决方案包括高级程序化材质、离线渲染数据、模型训练、调参工具等能力。

未来,团队还将在多材质渐变融合、通过白模渲染虚拟化身和可微分渲染等方向持续升级「AI渲染」技术方案的能力,这项能力也将依托火山引擎对外提供技术服务。

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注