RGB空间的HDR图像合成与色彩调节算法

2015-10-12 02:19姚洪涛李鑫岩
关键词:照度色调像素点

姚洪涛,李鑫岩

(长春理工大学 计算机科学与技术学院,长春 130022)

RGB空间的HDR图像合成与色彩调节算法

姚洪涛,李鑫岩

(长春理工大学计算机科学与技术学院,长春130022)

相机的成像原理决定了它不像人眼一样有很强的适应性,对于一些亮暗分明的场景,只能取亮或暗的部分而无法兼顾。高动态范围图像将一组亮暗程度不同的图像,取出它们的优质区域,然后合成到一起,从而兼顾了场景的亮暗部分。合成HDR图像首先需分别标定R、G、B通道相机的响应曲线,然后通过该曲线可得到图像对应通道每个像素点的照度值,再使用色调映射算法就可将像素点照度值转换成灰度值显示在屏幕上。然而在RGB空间下传统的色调映射算法会压缩R、G、B通道的颜色差异,导致图像颜色失真,由此提出了一种色彩调节的算法,该算法首先提取原始序列图的颜色控制系数,然后用该系数调整色调映射算法产生的颜色差异,从而使合成图的颜色与序列图保持一致。

动态范围;响应曲线;照度值;色调映射;色彩调节

人眼能够分辨的亮度范围很广,从夜视阈值到强光闪约有1010量级,人的视觉系统在同一时间能够适应的亮度范围约为104量级。用Lm和Ln分别表示某场景中亮度的最大值和最小值(单位cd/m2),其比值Lm/Ln为该场景下的动态范围(Dynamic Range)。对于普通的数字图像,其动态范围为100∶1,这远远达不到人类肉眼能够分辨的动态范围10000∶1,普通的数字图像显示高动态范围的场景不是在明亮处过度曝光,无法还原场景中的细节,就是阴暗的部分曝光不足导致场景无法分辨。高动态范围图像(High-Dynamic Range Image)是一种可以表示实际场景中亮度大范围变化的图像,图像中的像素值正比于场景中对应点的实际亮度值。它可以将场景中亮区域和暗区域的细节较好保留下来。

对于彩色图像来说,通常需要分别对R、G、B通道进行合成,然而使用传统方式的色调映射算法,会导致R、G、B通道的颜色差异被压缩,从而产生的合成图往往是色彩失真的。本文针对传统的色调映射进行改进,在色调映射算法中添加色彩调节算法,就可以解决RGB空间下高动态范围图像颜色失真的问题。

1 RGB空间下的高动态范围图像合成算法

高动态范围图像合成算法要求必须使用两幅或以上图像来进行合成,由于拍摄条件所限,使用的图像数越多使其拍摄难度越大,导致其应用就越受限。本文使用两幅图像合成HDRI,这两幅图像是同一场景下的两幅曝光程度不同的图像,一幅为低曝,一幅为过曝,分别如图1(a)、(b)所示,图1(c)为该场景的自动曝光图像。图(a)、(b)、(c)的曝光时间分别为0.001s、0.0167s、0.004s。通过观察图(a)、(b)可看出图像的曝光程度不同,其细节展现就不同,将图(c)与图(a)、(b)对比就会发现对于高动态范围场景,自动曝光的图像不能将该场景的亮暗细节都展现出来。可见在这种场景下,对图像进行HDR合成是十分必要的。RGB空间下合成HDR图像的过程包括相机响应曲线的标定,HDR合成,如需将HDR图像在普通显示设备显示出还要对其进行色调映射。

1.1相机响应曲线的标定

由相机的成像原理可知某场景中的实际亮度值与其对应的图像中的像素值间存在着某种非线性的映射关系,这种映射关系就是所要求的相机响应曲线,标定该曲线是合成HDRI的关键。

已知相机的曝光量Y与相机镜头的照度E和快门时间Δt存在关系式:

整个相机成像过程中某些非线性的映射的组合产生了曝光量Y到最终像素值Z的某种非线性关系:其中,式(2)的输入是图像的的曝光时长和像素点照度值。用Δtj表第幅 j图像的曝光时间,用Ei表示像素点i对应场景点的照度,从而可得:

Zij为第 j幅图像第i个像素点的像素值。令 f单调,则f可逆,对式(3)逆变换并取对数:式(4)中Δt为已知,Zij取值离散且有限(0-255),目标求Inf-1(Zij)和Ei。用N表示每幅图像中像素点的个数,用M表示序列图像的张数。由此对Inf-1(Zij)和Ei的求解转化成了对最小二乘目标函数的求解:

根据大量的实验数据[1]可知,灰度级极限附近的像素点噪声比较严重,使得这些点可靠性降低。因此需要在目标方程组中加一个权值函数h(z),式(5)就变成:

权值函数使权重靠近灰度值极限值的权重最小,靠近灰度值中间点的权重最大。所引入权值函数:

其中Zmin和Zmax分别为Z域的最大值和最小值,该函数是一个三角帽型函数。令F(Zij)=Inf-1(Zij),在式(6)中还需引入平滑项F''(z)=F(z-1)-2F(z)+ F(z+1)来平滑曲线。最终目标函数就变成:

其中参数l用来调整平滑项的权重。

图1 一组曝光时长不同的图像

此外需给系统加两个限制条件:(1)设128灰度的像素点是单位曝光点,这样可以确定一个曲线水平位置的方程F(128)=0;(2)为了使函数曲线的形状唯一,要求系统是静定的。每幅图像的每个采样像素点都对应一个方程,所以共M×N+1个方程构成了一个线性方程组。由于相机响应函数F(z)共有256组值,所以可不用求出F(z)的表达式,只需解出256组F(z)值即可。对于F(z),无需M×N+1个方程就可以标定其相机响应曲线。设n为求系统解时每个通道所需像素点的个数,M为图像的张数,由于系统要求静定,则满足:

即可使用奇异值分解法求出所有的F(z)。

对于本文要合成的图像M=2,带入式(9),解出n>256,即要求每幅图像每个通道的采样点个数大于128,本文合成过程中取n=400。由于每幅图的采样点足够多,所以使用均匀采样就能精确的标定相机响应曲线。通过这400个像素点就可构建式(8)的系数矩阵,通过该系数矩阵与图像曝光时长就可以标定出对应通道的相机响应曲线。对图1中的三幅图由式(8)标定相机响应函数曲线,分别如图2 (a)、(b)、(c)所示。

1.2HDR图像的合成算法

R、G、B通道的相机响应函数曲线标定后,就可根据这些曲线求得所需合成图像对应通道每个像素点的辐射照度值。从式(4)可推导出:

InΔtj为已知,F(Zij)在上节中已求出,InEi为所求。由于每张图片的曝光时间不同,有些像素点在短曝下效果好,有些在长曝下效果好,为了使这些优质像素点能展现在HDR图像上,需将M张图像融合起来计算每个像素点的照度值。同样出于灰度级极限值附近点的噪声较严重的原因,需要将这些点的权重降低,引入上节提到的三角帽型权值函数h(z)。于是,式(11)就变成:

通过该式可得到每个像素点的辐射照度值,由这些数据就可以得到对应场景下的高动态范围图像。

1.3HDR图像的色调映射

目前常规的显示设备的动态范围仅能达到100∶1,即使得到了高动态范围图像,依然无法在显示设备将高动态范围图像的显示出。因此就需要某种方法将图像的动态范围进行缩放,使之匹配只能输出低动态范围的显示设备。这种方法叫做色调映射(Tone Mapping),它用一种算法将真实世界场景的亮度压缩到输出设备能显示的范围。在压缩亮度范围过程中,它必须充分保留原场景的对比度,细节,色调,色饱和度等特性。目前色调映射算法主要分两大类:全局色调映射算法和局部色调映射算法。

本文采用全局色调映射算法中的对数变换算法,可使用下面的公式将场景的照度值E压缩成图像的灰度值D:

其中Emax和Emin为场景中照度的最大和最小值,Dmax和Dmin为灰度值的最大和最小值,偏移量τ为图像的全局亮度控制量。一般来讲,手动确定τ是一个反复试错的过程,为了减小手动确定τ带来的误差和节约时间的考虑,需使用一种算法自动确定τ的值。这个算法可分为三步:

图2 R、G、B通道的相机响应曲线

(1)计算场景照度的平均值Eave,如式(13)所示

其中N为图像像素点的总数,由于场景中某个点的照度值E(x,y)可能为零,这时对数函数无法计算,为了避免这种情况出现需要设置一个偏移量ε,这个偏移量的最优取值是0.001。

(2)确定中间值k,如式(14)所示:

其中要求k的值必须在0和1之间。常量A和B的值一般分别取0.4和2,中间值k的取值区间就会在0.2到0.8之间,这是k最优取值区间。

(3)由式(15)使用牛顿迭代法可求出偏移量τ:

由于本文在RGB空间下合成HDR图像,所以需要分别对R、G、B通道进行色阶映射。对于R通道,可将式(12)的所有变量都换成R通道下的变量,如式(16)所示:

同样的G通道、B通道下的算法如式(17)和式(18)所示:

通过式(16)、(17)、(18)可把HDR图像中的R、G、B分量压缩成LDR图像的R、G、B,此时就可显示出经过色调映射的HDR图像。由图1合成的经过色调映射的HDR图像如图3所示。

图3 经过色调映射的HDR图像

2 RGB空间HDR图像的色彩调节算法

将图3与图1(c)对比可发现RGB空间下合成高动态范围图像会产生偏色,原因已在引言分析,本节对传统的色调映射算法进行改进,在算法中添加色彩调节的部分,使R、G、B通道的颜色差异减小,从而修正图像偏色的情况。

色彩调节部分参考白平衡算法中经典的“灰度世界法”,该算法对颜色单一的图像的色彩调节会失效,但是高动态范围图像具有对比强烈、色彩丰富的特点,所以该算法可适用于大部分HDR图像,本文在原算法基础上进行改进使其适应色调映射算法。虽然图1(c)某些场景过亮或过暗导致部分细节无法分辨,但该图颜色与真实场景是一致的,不存在偏色的情况。所以色彩调节可参考自动曝光图像,提取该图的R、G、B通道的增益系数kr、kg、kb,用增益系数调整色调映射算法中的R、G、B分量,就可得到经过色彩调节的色阶映射图像,假设自动曝光图像大小为M×N,则

其中Rij、Gij、Bij分别表示自动曝光图像R、G、B分量的第i行、第j列像素点的灰度值。用增益系数kr、kg、kb分别乘以色调映射算法中的R、G、B分量:

其中DR、DG、DB为色调映射算法中的R、G、B分量,分别如式(16)、(17)、(18)所示,DR'、DG'、DB'为色彩调整后色调映射算法的R、G、B分量,式(20)即为RGB空间下HDR图像的色彩调节算法。

3 实验结果

图4是由式(16)得到的图像,即经过色彩调节的图像,对于该算法得到图像通过人眼观察就能看出处理的效果,可与图3进行直观对比。

图4 由色彩调节算法得到的HDR图像

4 结论

本文研究了在RGB空间高动态范围图像的合成算法,虽然HDR图像的合成是复杂、耗时的过程,但是HDR图像拥有普通图像不可替代的优势。然而在合成过程中由于RGB空间标定相机曲线是相互独立的,使各通道之间失去了联系,导致图像的色彩差异被压缩,最终颜色表现欠佳。本文根据经典的“灰度世界法”,对色调映射算法进行改进,参考合成序列图或自动曝光图的颜色空间提取增益系数,用该系数调整合成图的色彩差异比例,使合成图的色彩与原始图保持一致,克服了RGB空间下合成高动态范围图像偏色的弱点。

[1]P E Debevec,J Malik.Recovering high dynamic range radiance maps from photographs[C].Proceedings of the SIGGRAPH'97,Los Angeles,USA,1997.

[2] T Mitsunaga,S K Nayar.Radiometric self calibration [C].Proceedings of the Computer Vision and Pattern Recognition,Fort Collins,USA,1999.

[3] J Tumblin,H Rushmeier.Tone reproduction for realistic images[J].IEEE Computer Graphics、and Applications,1993,13(6):42-48.

[4]Liu Y,Chan W,Chen Y.Automatic white balance for digital still camera[J].IEEE Trans on Consumer Electronics,1995,41(3):460-466.

[5]S H Park,E D Montag.Evaluating tone mapping algorithms for rendering non-pictorial high-dynamic-range images[J].Journal of Visual Communication and Image Representation,2007,18(5):415-428.

[6]R SZELISKI.Image mosaicing for tele-reality applications[J].IEEE Computer Graphics and Applications,1996,12(5):33-40.

[7] 朱秀明.高动态范围图像的合成及可视化研究[D].杭州:浙江大学,2008.

[8] 王维.数码相机的自动白平衡算法研究及实现[D].湘潭:湖南科技大学,2014.

[9] 陈军,胡福乔.YUV空间的彩色图像HDR合成算法[J].计算机工程,2012,38(9):214-216.

HDR Image Composition and Color Adjustment in RGB Space

YAO Hongtao,LI Xinyan
(School of Computer Science and Technology,Changchun University of Science and Technology,Changchun 130022)

TheprincipleofCamera imaging makes it can’t have the strongadaptabilityashumaneyes,forsome scenes which have a distinct set of tonal steps from light to shadow,normally take either bright or dark parts.In dealing with a set of images of different brightness degree,high dynamic range images take out their high quality region and combinethemtogether,so asto takeintoaccountthe light and darkofscenes.Synthetic HDR images first need calibration channels R,G and B separately of camera response curve,and through this curve we can get their luminance values for each pixel of the image for corresponding channel,and then pixel luminance value can be converted to gray scale values and displayed on the screen by using the tone mapping algorithm.However,in the RGB colorspace,the traditional tone mapping algorithm will compresses the color difference of R,G,B channels,result in color distortion,thus we proposed a color adjustment algorithm which extract color control coefficients of the original sequencefirstly,then adjustingcolor differences of tone mapping algorithmsthroughthecoefficients,so thatthe color of the composite image could keep pace with the sequence diagram.

dynamic range;response curve;luminance values;tone mapping;color adjustment

TP391

A

1672-9870(2015)05-0145-05

2015-09-15

姚洪涛(1973-),男,硕士,副教授,E-mail:278119526@qq.com

猜你喜欢
照度色调像素点
基于局部相似性的特征匹配筛选算法
湖光水色调
色调会说话
分离色调与色调曲线
基于5×5邻域像素点相关性的划痕修复算法
大型LED方形阵列的照度均匀性
基于canvas的前端数据加密
体育建筑照明设计中垂直照度问题的研究
基于逐像素点深度卷积网络分割模型的上皮和间质组织分割
In Spring!春之色调