光照技术在图像合成中的应用
光照是万物生命之源,没有光照,也就没有地球上的一切生命,关于光照的研究也一直没有停止,诸如光量子记录仪,光量子计,光电自动数粒仪,光照培养箱,这些都是直接或者间接利用光照原理和其他电子技术,研制成的与光照有关的仪器,今天为大家介绍一下光照技术在图像合成中的应用。
一、基于图像的光照技术
在计算机图形领域,人们一直在使用很多种方法来增强数字合成图像的真实性,而其中真实感渲染是多数研究的课题,特别是应用于实景合成的真实感渲染。这种需求首先体现在电影行业。在这个领域,数字技术的应用从 20 世纪 70 年代已经开始,到了90 年代,随着计算机技术的发展,越来越多的电影场景中出现了虚拟场景和虚拟角色,例如,在《黑客帝国》、《魔戒》等好莱坞电影的制作中,演员的表演、拍摄大部分在蓝幕前完成,而场景和虚拟角色的设计则由电脑制作并渲染生成,最后再通过电脑进行特效和后期合成。决定真实场景、角色同虚拟场景、角色合成效果真实感的关键则是光照效果的渲染,可以说它是电影数字化制作中一个极为重要的环节。在早期,光照效果的解决方案多是三维布光和后期调整,这种方法只能提供一种近似的逼真感,无法做到物理层面的逼真,并且这种方法需要花费大量的后期制作时间和精力,如果更换了环境,则需要对场景进行重新布光和调整。现在,计算机技术的发展为实现真实感渲染提供了另外一种途径,这便是使用来自真实环境的图像为场景和物体照明的技术,即“基于图像的光照”。这种技术不再局限于使用三维布光,而是利用现实世界的光照图像来照明现实的或计算机生成的场景及物体的一种方法。基于图像的光照技术由反射映射技术发展而来。反射映射技术在1986 年迪斯尼公司出品的电影《飞碟领航员》中首先使用,而到了1991年,在由工业光魔公司担纲特效的电影《终结者2》中,观众从虚拟角色———液态金属机器人身上,更加感受到使用反射映射技术制作的光影效果的魅力。
在1997年的SIGGRAPH 年会上,Paul Debevec提交了题为《从照片中恢复高动态范围辐射图》的论文。这篇论文描述了按照不同的曝光设置对同一个场景进行拍照,然后将这些采用不同曝光的照片组合成高动态范围图像。这种高动态范围图像可以捕捉从黑暗的阴影到亮光源或者高反光的更大动态范围的场景。在一年之后的 SIGGRAPH 年会,Paul Debevec又提交了一篇论文《将人造物体渲染成真实场景: 沟通基于图像的传统图形与全局照明以及高动态范围照片》。在这篇论文中,他使用以前的技术对光滑的铬球照相以生成他所称作的“light probe”( 光探测器) ,即本质上的高动态范围环境图。然后将这个 light probe 用于合成场景的渲染。与普通的反射映射技术不同的是,lightprobe 还提供了场景中的照明信息。
在计算机图形领域,生成真实感图像的大多数算法是通过模拟光在各类媒介上的传播方式来实现,这就要求光源是指定的。基于图像的光照技术理论可以将一幅图像作为光源,例如,可以使用一幅天空的图像作为光源来模拟这种环境中虚拟物体的照明。通过这种方法可以实现一种前所未有的真实感效果,为虚拟场景和角色提供了真实世界的照明数据。数字合成技术领域“基于图像的光照”技术的广泛应用,为实现数字图像高质量的渲染输出提供了另外一种途径。
二、高动态范围图像的概念
基于图像的光照技术主要是通过HDRI 文件来实现的。什么是HDRI 呢? HDRI 是一种的特殊图形文件格式。HDRI 是 High-Dynamic RangeImage( 高动态范围图像) 的缩写。简单说,HDRI是一种亮度范围非常广的图像,它比其他格式的图像有着更大亮度的数据贮存,而且它记录亮度的方式与传统的图片不同,不是用非线性的方式将亮度信息压缩到8bit 或16bit 的颜色空间内,而是用直接对应的方式记录亮度信息。HDRI 文件的每一个像素除了普通的 RGB 信息,还有该点的实际亮度信息。普通的图形文件每个像素只有0 ~255的灰度范围,实际是不够的。想象一下太阳的发光强度和一个纯黑的物体之间的灰度范围或者说亮度范围的差别,远远超过了256 个级别。因此,一张普通的白天风景照片,看上去白云和太阳可能都呈现是同样的灰度/亮度,都是纯白色,但实际上白云和太阳之间实际的亮度不可能一样,它们之间的亮度差别是巨大的。因此,普通的图形文件格式是很不精确的,远远没有纪录到现实世界的实际状况。HDRI 就是为了解决这个问题而发明出来的。可以说它记录了图片环境中的照明信息,因此可以使用这种图像来“照亮”场景。有很多 HDRI 文件是以全景图的形式表现的,也可以用它做环境背景来产生反射与折射。需要强调的是,HDRI 与全景图有本质的区别: 全景图指的是包含了360 度范围场景的普通图像,可以是JPG 格式,BMP 格式,TGA 格式,等等,属于Low-Dynamic Range Radiance Image( 低动态范围辐射图像) ,它并不带有光照信息。
获取高动态范围图像的方式有以下几种。一种方式是使用Paul Debevec 的“light probe”( 光探测器) 。光探测器实际上就是一个固定在杆子上的镜面球体。把这个球放置在想要记录照明和反射信息的点,然后用普通相机来拍摄一系列的照片,生成高动态范围图像。另外一种方式是拍摄多幅从不同方向观看的图像照片,然后使用图像拼合技术把它们结合起来,每次拍摄较大覆盖区域的一个好办法是使用鱼眼镜头,可以使用最少两幅图像来覆盖全部区域,由此来生成高动态范围图像。还有一种方式是使用专用的扫描全景相机,将其在一个旋转支架上,使得纵向行进360°视域扫描来获得图像,生成高动态范围图像。有赖于高动态范围图像技术,基于图像的照明方式已经日趋完善并广泛应用在视觉效果行业。通过新的照明和合成工具,视觉效果艺术家在与真实场景进行合成时,能够使建筑、机械等虚拟场景更加逼真,使虚拟角色栩栩如生。这样的例子在《X 战警》、《黑客帝国》、《蜘蛛侠》等影片中比比皆是。
三、基于图像光照效果的实现方法
基于图像的光照同基于图像的建模、基于图像的绘制技术一样,都是计算机图形学、计算机图像以及计算机视觉相结合的产物。目前,三维软件中主流的渲染器像 Maya 中的Mentalray、Turtle渲染器,3ds max 中的Brazil、Finalrender、Vray 渲染器,XSI 等等,都已经对HDRI 提供了完美的支持,使得基于图像的光照技术在三维领域已经被广泛的应用。本文使用了Maya 软件中的Mentalray渲染器来实现这一过程,基本步骤如下:第一步: 构建三维场景。导入三维模型,模型的各个部分应赋予相应的材质节点。第二步: 将 HDRI 图像映射在代表环境的几何体上。在 Maya 中创建一个 IBL 节点后,场景中会生成一个虚拟的球体“环境”。该球体节点同摄影机节点相连接。在最终渲染时,这个球体“环境”不一定可见,它只是用来达到理想光照效果的工具。这样,HDRI 图像的纹理颜色信息将被Mental-ray渲染器采集,在渲染时对场景表面产生照明,影响到场景中物体的反射、折射和辐照度等。第三步: 在进行测试渲染前,确定Mentalray中的最终聚集光线渲染全局变量为开启状态,而Ma-ya 中默认灯光为关闭状态。由于场景中没有三维灯光参与照明,渲染结果会有以下问题: 一是由于HDRI 图像中的照明信息只是用来进行环境间接照明,所以场景中缺少关键光源。二是缺少高光和直射阴影。第四步: 为了使渲染结果更加真实,有两种解决方法: 一种是创建三维灯光参与照明,另一种是将 IBL 模式设置为光线发射,也可以两种方法结合使用。第一种方法自如、灵活,并且渲染速度比较快,但是这种灯光与 HDRI 环境光源的强度与比例没有关联,需要自行设置各项参数。第二种方法是使用 IBL 节点作为光发射器,设置很简单,然而它会通过对纹理的简化和解析自动创建灯光阵列,并且每个灯光都计算阴影和发射光子,因而需要较长时间的渲染。第五步: 全部设置完成后进行渲染,将会得到基于图像的光照效果的图像,可以在后期用来与真实场景进行合成。
四、结 语
随着计算机软、硬件技术的发展,基于图像的光照技术的出现极大地增强了三维渲染、实时光照以及后期合成环节中的真实感,使得虚拟影像同真实影像得以完美融合,并且已经在数字艺术、电影、虚拟现实、游戏等各个领域中都有着广泛的应用。除此之外,基于图像的光照技术还能够做什么,将完全取决于人们的想象力。