基于Reinhard模型的色调映射算法的研究
2013-01-04胡大裟蒋玉明
岳 丽,胡大裟,蒋玉明
(四川大学 计算机学院,成都 610065)
长期以来,图像传感器的动态范围都很小,但是真实场景中亮度的动态变化范围却非常广,平常大部分场景的亮度范围都远远超过了图像传感器所能感受的动态范围,因此,需要一种特殊的图像,即高动态范围图像(High Dynamic Range Image,HDRI)来满足要求。动态范围图像是用来实现比普通数字图像技术更大曝光动态范围(即更大的明暗差别)的一组技术,图像所表现的层次更加丰富,图像中高亮度区和低亮度区的细节信息都能很好地保留下来,更接近于人眼观测到的真实场景[2]。为了解决真实场景与传统显示设备动态范围不匹配的矛盾,国内外学者提出了很多色调映射(Tone Mapping)算法来实现在传统显示器上显示高动态范围图像。本文主要研究Reinhard基于摄影模型的色调映射算法。
图1 色阶映射原理示意图
1 色调映射算法
色调映射算法是由Tumblin等人在1993年引入到计算机图形学领域的[1]。图1描述了色调映射的问题,其目的是解决观察到的景物与通过色调映射生成显示的HRD图像在视觉上匹配的问题。目前常见的色调映射算法有2类。
1)全局色调映射算法
全局算法即空域不变算法,在一幅图像中,所有的像素使用通用压缩曲线进行压缩,使其从原来超出显示设备动态范围映射到一个常规显示设备所能显示的范围。全局算法比其他类型的操作算法简单,大多可以立即执行,因此计算效率高。在普通的数码相机中大多使用全局算法。
从20世纪80年代开始,就有很多学者在进行全局色调映射算法的研究,但是直到90年代才有比较好的成果。1993年,Tumblin和Rushmeier[4]针对人类的视觉系统(HVS)亮度感觉模型上的一致性,提出了一种非线性的全局算法;1994年,Ward[5]基于保留对比亮度而非绝对亮度提出了一个较简单的线性映射Ward全局算法;1997年,Ward Larson等人[6]进一步提出了一种基于直方图的全局算法;2000年,Scheel和Stamminger等人[7]将色调映射技术用于交互式系统中,将亮度信息表示为纹理信息;2003年,Drago等人[8]提出了一种自适应对数映射算法;同年Artusi等人[9]提出了一种基于全局算法应用的统一框架。虽然不同全局算法的效果不一样,但是如果一幅图像的动态范围非常高,全局算法将无法保存图像的局部细节,因此出现了局部色调映射算法。
2)局部色调映射算法
局部算法也叫空域相关算法,它会根据像素本身的值来计算出局部的对于每个像素点的区域分级,这个局部区域值将驱动目标像素的压缩曲线。也就是说一个像素点的压缩依赖于邻接点像素,一个暗点像素在一个亮点像素旁边和一个暗点像素在一个暗点像素旁边的处理是不同的。
从20世纪90年代开始,大量有效的局部算法被提出。1993年,Chiu等人[10]根据人眼对于亮度相对变化更为敏感这一现象,提出了一种分区域获得亮度缩放因子的算法;1997年,Jobson等人[11]提出了模拟人类的视觉系统(HVS)对亮度和颜色感知的多尺度Retinex模型;1998年,Pattanaik等人[12]建立了非常全面的模拟HVS对亮度及空域变化的适应模型;2002年,Durand和Dorsey[13]提出了一种具备边缘检测的双边滤波技术;2002年,Reinhard等人[14]提出了基于摄影模型的自动调节亮度的色调映射方法;2002年,Fattal等人[15]提出了基于梯度域上对图像进行多尺度压缩的方法;2007年,Kuang和Fairchild[16]基于图像色貌模型(iCAM)和双边滤波分层技术提出了一种新的局部算法。局部算法弥补了全局算法中遇到的图像细节或者对比信息会丢丢失的问题,但不足之处是计算量大大增加,而且要注意光晕、虚假轮廓及噪声等图像失真问题,这些问题的减少或消除是以模糊图像为代价。
全局算法通常简洁高效,但是很难保持局部对比度。局部算法采用多分辨率分层算法,可以更好地展现局部信息,但是同时计算复杂且可能产生光晕等图像失真问题。
2 Reinhard色调映射算法
2002年,Reinhard等人[14]提出了基于摄影模型的自动调节亮度的色调映射方法。该思想源于照片拍摄的“分区曝光显影系统(Zone system)”的概念,它将场景和显示设备的动态范围分别按照亮度的递增顺序分成了若干个区域(Zones),其中显示设备的动态范围被分成了11个区域。摄影师首先获取场景的中间亮度值,这个亮度将映射到显示设备的Zone-5,然后再获取场景的最高亮度和最低亮度以决定场景的动态范围。如果没有超过11个Zones,那么就将场景和显示设备的Zone一一对应;如果超过了11个Zones,就需要使用遮光—曝光(dodging and burning)的方法来压缩动态范围,将过亮的区块变暗或者将过暗的区域变亮[17]。根据这一理念,Reinhard提出了基于摄影模型的色调映射算法,该算法包含了全局色调映射算法和局部色调映射算法,不同的是,局部色调映射算法提供了对图像的不同区块采用摄影中的遮光—曝光的技术[14,18]。
首先,对图像进行一次动态范围压缩,计算整幅图像的平均对数亮度值,平均亮度看作是对场景关键点有用的近似值:
其中,Lw(x,y)是已给定的像素点(x,y)的全局亮度,N为输入图像中所有像素点的个数,δ是一个很小的修正值。经过多次实践发现,平均像素亮度总是被映射到平均关键场景显示范围的18%,这样,原始的缩放方程式为:
其中L(x,y)是缩放后的亮度,a是亮度比例常数,其大小决定了输出图像的亮度大小。然后,对图像进行二次线性压缩变化,使用式(3)将L(x,y)映射到显示设备的 Ld(x,y):
当高亮度被大量压缩的时候,该函数线性缩放的值比较小,其所有的值都在[0,1]之间,从而保证了所有的Ld(x,y)都在显示设备的显示范围内,然后引入Lwhite将函数扩展为一个可控函数:
全局色调映射算法在对图像进行动态压缩时十分快捷方便,但是对于动态范围极高的图像还是会丢失一些图像的细节。因此,Reinhard进一步提出了运用遮光—曝光的方法来压缩动态范围的局部色调映射算法,其基本思想是对每一个像素找到其周围不包含强烈反差的最大环绕域,根据其环绕域亮度信息选择不同的a。因此,首先要找到目标像素点最大环绕域半径smax,smax是满足式(5)的最大值:
其中ε是一个较小的阀值,s是高斯滤波器的尺度。如果在像素点周围没有明显的反差,那么高斯点周围的像素都是相似的,否则,这2个高斯点就不同。这里引入亮度感知模型的中心环绕函数V(x,y,s),其中a和φ分别是亮度比例常数和锐化参数,方程V1(x,y,s)和V2(x,y,s)是由式(7)和(8)求出。
当smax在(x,y)像素得到最大值的时候,对应的最大亮度环绕域的平均像素亮度为V1(x,y,smax(x,y)),用V1代替式(3)分母中的平均亮度L(x,y),带入到式(3)中,得到局部映射的算法公式:
Reinhard算法的局部色调映射算法对于图像中较重要的区域适当增加动态范围,对于较不重要的部分适当降低动态范围,从而使得细节的显示效果得到增强。
3 实验结果及分析
实验过程中针对Reinhard基于摄影模型的色调映射算法中的主要参数a和φ对图像的影响做了分析,同时分析了Reinhard算法的全局色调映射算法和局部色调映射算法对图像处理的不同优势。
图2是a取不同值后图像缩放的效果。由图2可知,随着a的值增,图像逐渐变得明亮。当a=0.18时,图像的效果最好。所以,当图像是normal key,通常都取a值为0.18,但是如果图像是low key时,需要将a提高到0.18以上,使图像中比较暗的部分可以亮一些。反之,当图像是high key,则要降低a。
图2 a取不同值时图像的缩放效果
φ是锐化参数,它可以增加图像细节边缘的对比度,从而有助于更清晰地显示图像的细节。从图3中可知,随着φ的增加,相比于原始图像细节边缘部分的对比度逐渐的增强。当φ=1时,图3(b)相比于原始的图3(a)就已经有较好的效果。经过多次的实验,发现φ=8时最合适(图3 d),如果φ值太大,图像将会出现光晕。
图4显示了分别运用Reinhard全局色调映射算法和局部色调映射算法对图像处理后的不同效果。因为选取的实验图像的动态范围并不是非常高,所以图4(a)即便是运用全局色调映射算法进行动态范围压缩,也表现出了比较好的效果。但是仔细观察对比可以发现,在射灯照射下的书本及杯子等物体,运用局部算法压缩后的图4(b)明显拥有更好的图像细节保留,图4(b)书本上的字隐约还能看到,杯子上的图案也更加真实,因此对于动态范围较高的图像部分,局部算法表现出了明显的优势。
图3 φ取不同值时图像的效果
4 结语
图4 Reinhard色调映射算法对图像处理后的效果
本文对现有的主要色调映射算法进行了简要的分析,研究了Reinhard基于摄影模型的色调映射算法,并对算法中的重要参数做了实验分析。通过一系列的实验证明,Reinhard全局色调映射算法对于处理动态范围不是很高的图像,运行效率快且效果好。对于动态范围较高的图像可以运用局部色调映射算法进行进一步处理,只需要更改参数值即可,因此这个算法很灵活,比其他算法在支持实时应用程序方面具有更强的全局性能。
[1]王作省,邹少芳,王章野.高动态图像色调映射技术新进展[J].计算机应用研究,2010,27(7):2421-2424.
[2]谢一凇,方俊永.高动态范围图像色调映射技术的发展与展望[J].照明工程学报,2011,22(5):11-17.
[3]张硕.高动态范围图像的色调映射算法研究[D].北京:北京交通大学,2009.
[4]TUMBLIN J,RUSHMEIER H E.Tone reproduction for realistie images[J].IEEE Computer Graphics &Applications,1993,13(6):42- 48.
[5]WARD G J.The radiance lighting simulation and rendering system[C]//In Proceedings of SIGGRAPH 94,Computer Graphics Proceedings,Annual Cognference Series,1994:459-472.
[6]LARSON G W,RUSHMEIER H,PIATKO C.A visibility matching tone reproduction operator for high dynamic range scene[J].IEEE Transactions on Visualization and Computer Graphics,1997,3(4):291-306.
[7]SCHEEL A,STAMMINGER M,SEIDEL HP.Tone reproduction for interactive walkthroughs[J].Computer Graphics Forum,2009,19(3):301-312.
[8]DRAGO F,MYSZKOWSKI K,ANNEN T,et al.Adaptive logarithmic mapping for displaying high contrast scenes[J].Computer Graphics Forum,2003,22(3):419-426.
[9]ARTUSI A,BITTNER J,WIMMER M,et al.Delivering interactivity to complex tone mapping operators[C]//Proc of the 14th Eurographics Workshop on Rendering.Aire- la- Ville:Eurographics Association,2003:38-44.
[10]CHIU K,HERF M,SHIRLEY P,et al.Spatially nonuniform scaling functions for high contrast images[R].In Proc Graphics Interface’s 93,Morgan Kaufmann,1993:245-253.
[11]JOBSON D J,RAHMAN Z,WOODELL G A.A multiscale retinex for bridging the gap between color images and the human observation of scene[J].IEEE Transactions on Image Processing,1997,6(7):965.
[12]PATTANAIK S N,FERWERDA J A,FAIRCHILD M D,GREENBERG D P.A multiscale model of adaptation and spatial vision for realistic image display[C].In Proceedings of SIGGRAPH 98,Computer Graphics Proceedings,Annual Conference Series,1998:83.
[13]DURAND F,DORSEY J.Fast bilateral filtering for the display of highdynamic -range imges[J].ACM Transactions on Graphics 2002,21(3):257-266.
[14]REINHARD E,STARK M,SHIRELY P,et al.Photographic tone reproduction for digital images[C]//In Proceedings of ACM SIGGRAH 2002,Computer Graphics Proceedings,Annual Conference Series ACM Press/ACM SIGGRAPH,2002.
[15]FATTAL R,LISCHINSKI D,WERMAN M.Gradient domain high dynamic range compression[J].ACM Transactions on Graphics,2002,21(3):249-256.
[16]KUANG J,JOHNSON G M,FAIRCHILD M D.ICAM06:A refined image appearance model for HDR image rendering[J].Journal of Visual Communication and Image Representation,2007(18):406-414.
[17]杨克虎,姬靖,郭建军,等.高动态范围图像和色阶映射算子[J].自动化学报,2009,35(2):113-121.
[18]余志俊.高动态范围图像色调映射算法的研究与实现[D].北京:北京交通大学,2010.