基于深度信息的图像渲染与合成流程的研究

作者: 毕韦达 罗江林 吕鑫

基于深度信息的图像渲染与合成流程的研究0

摘要:深度合成技术是以深度信息为主要合成数据的影视后期合成技术,最初在电影《猩球崛起》(2011)便已经被使用,该技术自正式被提出以来已经9年,但在国内的数字合成流程中并未得到广泛采用。为了弄清该技术的实际使用情况,进行了此项研究。此项研究采用模拟法,通过模拟3种在影视渲染与合成中常用的场景,分别采用传统的合成流程与深度合成流程,并对产生的影像结果与资源占用情况进行对比和分析,经过研究,可以确认深度合成流程在合成效果上优于传统的合成流程,但其数字信息较为庞大,需要占用更多的存储空间。从而得出结论,深度合成虽然相较于传统的合成流程有其自身的优势,但资源占用庞大这一劣势在一定程度上未能弥补其便利性,加上近些年来三维渲染技术新的发展,导致此项技术未能被广泛采用。

关键词:深度信息;影视特效;后期合成;三维渲染

中图分类号:TP393        文献标识码:A

文章编号:1009-3044(2022)16-0086-03

1简介

在当今影视动画制作流程中,图像合成是流水线后期的重要的环节。在拼合多张图像之时,图像之间的运算顺序与透明通道(Alpha通道)至关重要。依据图像叠加的次序和Alpha通道的不同,产生的结果也不同。这种方法为目前主流的图像合成流程,其特点是简便易用。然而这种方法也有其缺点,在处理极为细微的对象、半透明对象和运动模糊内容时,边缘处容易发生不准确的问题。在实际生产中,需要耗费人力来对边缘进行再修正。为了解决这个问题,基于深度信息的合成流程被提出,这种流程可以抛弃对透明通道的依赖,并且能够获得更优质的合成质量。

本文将介绍深度合成的相关工作,阐述深度合成的一般制作流程,分析其优势和劣势,并且展示其在实践中的具体应用方法。

2相关工作

2.1 数字图像渲染

数字图像渲染是通过计算机程序从二维或三维模型生成真实或风格化图像的过程。多个数字对象可以在一个场景文件中被定义,除了被渲染的三维或二维几何体对象之外,场景文件还描述其纹理、灯光、视角等信息,并将这些信息传递到渲染器进行处理,并最终输出为图像。在其他语境中,渲染也可以指传统艺术家对于场景的描述,或在后期视频软件中指代视频的编码与输出。除非特指,文中所讨论的渲染均指三维对象的渲染。

2.2 OpenEXR图像格式

并非所有图像格式都能承载Deep信息,所以在制作中需要选用特定的格式。RAT图像格式和EXR图像格式均能承载Deep信息。由于EXR格式的广泛通用性,因此作为本次研究主要采用的文件格式。

EXR格式即OpenEXR图像,它是由工业光魔公司于2003年研发出来。维塔数字(Weta Digital)、迪士尼动画工作室、Sony Pictures Imageworks、皮克斯动画工作室和梦工厂等影视动画公司均为其代码库做出了贡献。目前它已经成为影视动画工作流程中最为通用的图像格式。

EXR格式具备高动态的范围和色彩精度[1],支持最高32位浮点像素,兼备无损和有损等多种图像压缩算法。最重要的是,它对Deep深度信息的支持较为灵活,可以在每个像素上存储可变长度的采样值,这使得在每个像素上存储不同深层的多个数值成为可能,并可以容纳硬表面和体积信息。

2.3 深度信息合成

deep信息即深度信息[2],在2012年被提出[3],其核心技术是在渲染的图像中提供一个数据通道,该通道定义了一个数值阵列,在阵列中存储了渲染对象在某个像素值所表示的空间中前后的变化。

在深度合成中,表示对象显示强度的不仅仅是一个而是一组数字,这组数字贯穿对象前后两个部分,因此在合成过程中就可以像三维对象一样准确定位像素的位置。这意味着在合成时不再需要基于遮罩的图像并使得重新渲染的次数大大减少,但一个劣势是这些信息所占的磁盘数据量较大。Weta工作室曾在《霍比特人:史矛革之战》《亚伯拉罕·林肯》《猩球崛起》等影片中使用此技术,皮克斯工作室也做过类似的研究[4]。

2.4 深度(deep)和深层(depth)的区别

深度信息(Deep)经常与深层信息(Depth)信息混淆,一是因为二者的名词意义接近,二是因为它们都存储着表示像素深度的信息。Depth信息在像素上存储了一个与摄像机距离的采样数值;而deep信息则是在不同层级的深度上进行采样,每个像素都包含一个可变长度的列表。Depth信息是传统合成流程中常用的输出通道,可以用来在合成中作为校色和景深效果的遮罩,这些工作利用深度信息(Deep)也一样可以完成。文中所提的深度信息指的是Deep信息,而非Depth信息。

3制作流程

3.1 深度图像渲染

通过数字图像渲染是获得深度图像的主要手段,其雏形概念在2012年被提出。目前的主流渲染器均支持渲染输出deep图像,但在默认情况下都不会开启。下面以Maya to Arnold(简称MtoA)和Mantra渲染器为例。

在MtoA中生成含deep信息的exr图像时,需在Render Settings中令Image Format项设置为deepexr,然后用常规方式渲染OpenEXR图像即可。在Mantra中生成deep信息时,需要在Mantra节点中将Deep Resolver切换至Deep Camera Map,这会让mantra在进行采样过滤之前,先把deep信息写入指定文件中;接下来需要在DCM Filename中指认输出的文件路径,而非使用常规的Output Picture来指认输出的文件。

在对一个场景的对象进行分层渲染时,对于不参与渲染的对象无须设置遮罩渲染,但也不能直接隐藏(即渲染器中不可见),倘若采用隐藏的方式,会失去该对象参与次级光(如反射、折射等)的运算,为了保证结果匹配,应设置该对象为不对主光源可见,但在次级光中可见。若对应于Houdini的操作,即将geo层级上的Render Visibility设置为“-primary”。

3.2 深度图像合成

生成的深度图像可以在后期合成软件中被处理,其中The Foundry Nuke对深度信息的支持较好,拥有一系列深度信息处理节点。其基本的工作流程为,首先利用deep read读取包含deep信息的exr图像。当读取多个对象之后,可利用deep merge将它们合并到一起,在合并之前,可以使用deep transform对每个对象进行位移,同时deep recolor则可以对对象重新进行着色,但由于这个节点无法识别UV信息,所以无法用来进行重贴图。当deep信息被处理完成后,再使用deep to image将deep信息转换为一般图像,之后便是转到传统的数字图像合成流程。​

4实践案例

为了讨论深度信息合成对于不同场合下的使用情况,如果将对象分为体积和非体积对象,其中非体积又分为不透明和半透明两种,对于两个对象之间的合成将总共有9种情况,如表1所示。

为了研究基于深度图像的流程与基于遮罩流程相比的优劣,将实验不透明对象与三种不同对象的渲染与合成(表1),它们分别是(a)非体积不透明对象之间的合成;(b)非体积半透明对象与非体积不透明对象之间的合成;(c)体积对象与非体积不透明对象之间的合成。

1)非体积不透明对象之间的合成

场景中包含地面对象,对象A为圆环模型,对象B为兔子模型。AB对象使用相同的不透明材质。

渲染策略:渲染图像5张,编号分别为img01-05,每个图像的作用如下:img01-02为遮罩渲染,其中在img01中,A对象正常渲染,B和地面对象设置为在主光源中不可见,但在次级光中可见;在img02中,A对象作为遮罩渲染,B和地面对象正常渲染;img03-04为深度渲染,在img03中,与img01类似,A对象正常渲染,B和地面对象设置为主光源不可见,而次级光可见;在img04中,A对象设置为主光源不可见,而次级光源可见,B和地面对象正常渲染;img05为AB和地面同时渲染,作为理想效果,用于合成结果的对比。

经过合成之后,可以观察到,在遮罩渲染合成(普通合成)流程中,在对象A和自身遮罩合成之后,出现了黑边现象,(图1中)这是由于采样精度的限制问题;而深度渲染合成流程中,不存在这一黑边现象,(图1 右)因此能获得较好的边缘控制。

2)非体积半透明对象与非体积不透明对象之间的合成

场景中的对象同上。其中A对象使用40%的透明材质,B对象使用不透明材质。渲染策略同上。

经过合成之后,能观察到在遮罩渲染合成流程中,除了上述的黑边效果同样存在之外,A对象更加整体偏暗,(图2 中)并且对象A所在区域的Alpha通道在合成之后不为1,这些结果都需要采用其他手段以进一步修复;而在深度渲染合成流程中,不存在这一现象,(图2 右)合成效果与理想效果一致。

3)体积对象与非体积不透明对象之间的合成

场景中的对象同上。A对象使用雾状体积材质,B对象使用不透明材质。渲染策略同上。

经过合成之后,可以观察到在遮罩渲染合成流程下,烟雾不仅黑边问题明显,而且烟雾的整体偏暗(图3 中);而在深度渲染合成流程下,合成结果与理想效果极为接近,虽然烟雾下部仍有略微发亮,但比较微弱,整体效果更为接近理想效果(图3右)。

4)总结

对于以上三种情况的测试结果进行比较,可以发现,无论哪种情况,基于深度信息渲染合成的效果都要优于基于遮罩渲染合成的效果,这在对象具有半透明(如玻璃、烟雾)类效果时尤为明显。

虽然基于深度信息的图像渲染与合成流程在最终效果上更有优势,但其劣势也很明显,即图像所占用的空间较大。如图4所示。

在三种情况中,基于深度流程生成的图像所占空间较大,分别是使用遮罩流程的图像的664%、1001%和928%,并且这一数据在随着场景对象变多时还会进一步增加,这是一个显著的劣势。考虑到现阶段影视工业中的数据量,这个劣势应是成为推广此项技术的主要阻碍。如果要在实际生产中采用这个流程,那么应对其空间占用的优化进行研究,目前已经有一些这方面的进展,比如只渲染深层Alpha通道来使得图像数据最小化等[5]。

5结论

在渲染的对象具备半透明特征(如玻璃或烟雾)时,使用基于深度的图像渲染与合成流程效果明显较好,并且简化了合成的流程。在实际的影视动画制作中,这也是最被推荐使用此流程的场合。但是,这种流程也将极大消耗系统的存储资源,在制作庞大镜头数量的项目之前,应对要占用的磁盘空间进行测试和预估以及进行数据研发,才能确保项目的顺利进行。但当渲染对象不具备半透明特征时,这种新的流程并不具备绝对优势,在这种情况下,仍然使用传统的基于遮罩的流程将是更好的选择。

图形引擎仍在飞速发展中,所见即所得的基于GPU高速渲染发展迅速,与此同时,皮克斯的通用场景描述(USD)也带来了渲染效率的巨大提升。面对这种形势,可以提出合理的预测,基于深度信息的渲染与合成流程的技术也许仅仅是昙花一现,其寿命将较为短暂,在现阶段的生产制作中,暂时还不值得投入巨大精力去研究。

参考文献

[1] 阮威.高动态范围图像(HDRI)编码研究[J].福建电脑,2012,28(12):61-62,127.

[2] 杨德勇.浅谈动画制作中Deep在各软件对接中的应用与作用[J].现代电影技术,2020(12):41-43,51.

[3] Hanika J,Hillman P,Hill M,et al.Camera space volumetric shadows[C]//Proceedings of the Digital Production Symposium on - DigiPro'12.August 4,2012.Glendale,California.NewYork:ACMPress,2012.

[5]  Lokovic T, Veach E.Deep shadow maps[C] //Proceedings  of the 27th annual conference on Computer graphics and interactive techniques. ACM Press/Addison-Wesley Publishing Co.,2000.

[6] Pieké R, Zhao Y, Arrizabalaga F S.Recolouring deep images[C]//Proceedings of the 8th Annual Digital Production Symposium.Vancouver, British Columbia, Canada:Association for Computing Machinery,2018.

【通联编辑:代影】

经典小说推荐

杂志订阅