我们提供了一个方法在传统的显示器中绘制高动态范围的图片,我们的方法概念简单,计算高效,强大,并且易于使用。我们通过衰减大梯度的大小来操纵亮度图像的梯度场。通过求解修正梯度场上的泊松方程,得到了一幅新的低动态范围图像。结果表明,该方法具有较强的动态范围压缩能力,同时保留了精细的细节,避免了常见的伪影,如光晕、梯度反转或局部对比度的损失。该方法还可以通过在黑暗区域提取细节来显著增强普通图像。
数字图像,高动态范围压缩,基于图像的渲染,图像处理,信号处理,色调映射
高动态(HDR)辐射图在计算机图像中变得越来越普遍和重要。首先,这样的图完全基于物理的照明模拟。然而,今天真实场景的HDR图很容易就能构建:所有你需要的只是很少的不同曝光下的场景图片,或者全景视频扫描。此外,基于数字成像技术的最新发展,假设未来的数码相机和摄像机将直接捕捉 HDR 图像和视频是完全合理的。
与标准的低动态范围图像相比,HDR有很多优点,并且有些应用程序已经演示了这类图象是非常有用的。然而,HDR 图像也构成了一个困难的挑战:考虑到常见显示设备(监视器,打印机等)动态范围要比真实的场景常见的动态范围小得多,如何在低动态范围(LDR)显示设备上显示 HDR 图像,同时尽可能多地保留他们的视觉内容?这正式本文要解决的问题。
图一中的一系列图片生动了说明了我们要面临的问题。这些图片都是用数码相机拍摄的,曝光时间从1/1000到1/4秒(在光圈f/8下),拍摄地点是一栋面对玻璃门的建筑的大堂,通往阳光明媚的内庭院。注意,每次曝光都会显示一些在其他照片中不可见的特征。比如,直接被太阳照射的区域的真实颜色只能在最少曝光的图像中得到可靠的评估,因为这些区域在序列的剩余部分过度暴露。门外的石头砖的颜色和纹理在中间的图像中捕捉得最好,而榕树植物叶子的绿色和纹理只在序列的最后一个图像中可见。然而,对于站在同一位置的人类观察者来说,所有这些特征都是瞬间清晰可见的,因为当我们的眼睛扫描场景时,会发生适应性变化。使用Debevec和Malik的方法,我们可以把这些8位的图像编译成一个单一的动态范围约 25000:1 的 HDR 辐射图。然而,如何在动态范围通常低于 100:1 的 CRT 监视器中显示这样的图像还不清楚。
在本文中,我们提出了一个新的高动态范围压缩技术,使得 HDR 图像能够在 LDR 设备上显示,如上一段所述。如图2的顶部的图像所示,所提议的技术非常有效,但是它在概念上很简单,计算效率高,健壮且易于使用。观察到 HDR 图像亮度的剧烈变化必然导致亮度梯度的大幅增加,我们的方法是通过减小大梯度的幅度来控制亮度图像的梯度场。通过求解修正梯度场上的泊松方程,得到了一幅新的低动态范围图像。
图 2:比利时住宅:一个大厅的 HDR 辐射图,通过我们的方法(左边),Ward Larson 等人的方法(中间)和 LCIS 方法(右边)压缩显示。
目前的工作并不是第一次尝试解决这个重要问题。事实上,在过去的十年里,有一种完全不同的方法出现在了文献中。第二部分对之前的工作做了详细的审查。在这篇论文中,我们希望说服读者,我们的方法比以前的解决方案有一定的优势:与以前的一些方法相比,它在保存局部对比方面做得更好,比其他方法具有更少的可见工件,但是它快速且易于使用。这些优点使我们的技术成为高动态范围压缩的一个高度实用的工具。
我们不试图如实地再现人类视觉系统对原始高动态范围场景的响应。然而,我们已经在真实场景的HDR辐射图、HDR全景视频拼接、普通高对比度照片和医学图像上取得了非常好的效果。
在过去的十年中,在低动态范围显示设备上显示高动态范围图像的工作已经相当多了。在本节中,我们将简要回顾以前的工作。DiCarlo 和 Wandell 以及 Tumblin 等人提出了更为详细和深入的调查。
大多数 HDR 压缩方法都是在亮度通道上运行的,或者在每个 RGB 通道上独立地执行本质上相同的处理,因此在本文的大部分篇幅中,我们将把HDR映射视为(标量)亮度函数。以前的方法可以分为两大类: (1)全局(空间不变)映射和(2)空间变异算子 。 DiCarlo 和 Wandell 将前者称为 TRCs (色彩还原曲线),并将后者作为 TROs (音调再现算子);在本文的其余部分中,我们采用这些缩略词。
最简单的 TRC 线性缩放 HDR 值,使其符合典型值范围,例如 [0,1] 。这样的比例保持了完美的对比,但是,当显示的动态范围小于原始图像的动态范围时,由于量化的原因,所显示的图像可能会遭受严重的可见性损失。其他常见的 TRCs 有伽马校正和直方图均衡化。
在首创的工作中,Tumblin 和 Rushmeier 描述了一个更加复杂的非线性 TRC ,该 TRC 根据图像中的实际亮度和目标显示特性来保持图像的表观亮度。Ward 提出了一种由图像亮度自动确定的简单线性尺度因子从而在特定的适应水平周围保持明显的对比和可见性。据我们所知,最近的和最复杂的 TRC 由 Ward Larson 等人描述。 他们首先对直方图均衡化描述了的一个聪明的改进,然后展示了如何将这个想法扩展到包含人类对比度敏感度、眩光、空间敏锐度和颜色敏感度的模型。这种技术在各种各样的图像上都能很好地工作。
TRCs 的主要优点在于它的简单性和计算效率:一旦确定了映射,就可以非常快地映射映像,例如,使用查找表。然而,这种全局映射必须是一对一和单调的,以避免局部边缘对比的反转。因此,在图像中保存局部对比有一个基本的困难,即感兴趣区域的强度以一种或多或少一致的方式填充整个动态范围。在图2的中间的图片说明了这个缺点。在这个例子中,亮度的分布基本上是均匀的,这与简单的伽马校正非常的相似,并且 Ward Larson 的技术产生了一种映射。因此,局部对比度大大降低。
空间变调复制操作符比 TRCs 更灵活,因为它们在决定如何映射特定像素时考虑了局部空间环境。特别是,这些算子可以将亮度值相同的两个像素转换为不同的显示亮度,或者将亮度不同的两个像素转换为相同的显示强度。这种在映射中增加的灵活性应该能够提高局部对比度。
高动态范围压缩问题与图像反射率恢复问题密切相关。图像 I ( x , y ) I(x,y) I(x,y) 被看作一个乘积
I ( x , y ) = R ( x , y ) L ( x , y ) I(x,y) = R(x,y)L(x,y) I(x,y)=R(x,y)L(x,y)其中 R ( x , y ) R(x,y) R(x,y) 是反射率, L ( x , y ) L(x,y) L(x,y) 是各点的照度。函数 R ( x , y ) R(x,y) R(x,y) 通常被称作场景的固有图像。最大的亮度变化 HDR 图像来自照度函数L,因为真实世界的反射比不会创造超过 100 : 1 2 100:1^2 100:12 的对比。因此,动态范围压缩可以通过将图像 I I I 与其 R R R 和 L L L 分量分离实现,按比例缩小 L ~ \tilde L L~ 组件来获得一个新的照明度函数 d d d ,并且重复: I ~ = R ( x , y ) L ~ ( x , y ) \tilde I = R(x,y)\tilde L(x,y) I~=R(x,y)L~(x,y)直观地说,这减少了明亮照明区域和阴影较深区域之间的对比,同时保留了纹理和反射率不失真的对比。Tumblin 等人使用这种方法显示高对比度合成图像,其中表面的材料特性和照度在图像中的每个点都是已知的,这使得计算图像完美分离到不同层次的光照和表面特性成为可能。
不幸的是,计算真实图像的这种分离是一个不适定的问题。因此,任何解它的尝试都必须对 R R R, L L L 或两者都作一些简化。例如,同态滤波是一种早期的图像增强技术,它假设 L L L 在图像中缓慢变化,而 R R R 则突然变化。这意味着 R R R 可以通过对图像应用高通滤波器来提取。对结果求指数,可以同时实现动态范围压缩和局部对比度增强。同样,Horn 假设 L L L 是光滑的,而 R R R 是分段的常数,在图像的对数拉普拉斯域引入无限脉冲边。因此 L L L 可以通过阈值转化拉普拉斯算子来恢复。当然,在大多数自然图像中,上述假设都被违背了:例如,在阳光照射的场景中,照度在阴影边界上突然发生变化。这意味着L也具有高频,并将强脉冲引入拉普拉斯矩阵。因此,在同态滤波中,只对低频进行衰减可能会引起滤波效率的提高 以强烈的“晕”伪影围绕着照度的强烈突变,而 Horn 的方法错误地将尖锐的阴影解释为反射率的变化。
最近,Jobson 等人提出了一种基于 Land 的“视网膜”色觉理论的多尺度动态范围压缩方法。视网膜估计反射率 R ( x , y ) R(x,y) R(x,y) 为 I ( x , y ) I(x,y) I(x,y) 和它的低通滤波版本的比值。Chiu 等人也发现了类似的算子,此外,研究人员还发现,在小型明亮的可见光光源周围,会出现晕影和暗带。Jobson 等人计算出了几种不同尺寸低通滤波器的视网膜响应的对数,并且将结果线性组合。线性组合有助于减少晕影,但不能完全消除晕影。Schlick 和 Tanaka,Ohnishi 也对空间变异算子进行了研究,发现它们能够产生晕轮伪影。
Pattanaik 和他的同事描述了一个令人印象深刻的人类视觉系统适应和空间视觉的现实色调再现综合计算模型。他们的模型可以在传统的显示设备上显示 HDR 场景,但是动态范围压缩是通过对每个带通施加不同的增益控制因子来实现的。
为了消灭臭名昭著的光晕工件,Tumblin 和 Turk 引入了一种低曲率图像简化器(LCIS)的图像分层分解方法。这个层次中的每一层都是通过求解一个受各向异性扩散启发的具有不同扩散系数的偏微分方程而产生的。层次结构级别是原始图像逐渐平滑的版本,但是平滑的(低曲率)区域通过尖锐的边界彼此分离。动态范围压缩是通过缩小最平滑的版本来实现的,然后在层次结构中添加各个层次之间的差异,其中包含了简化过程中删除的细节。这种技术能够大幅度压缩动态范围,同时保留图像中的细节。然而,结果并非完全没有伪影。Tumblin和 Turk 注意到,在强压缩图像中,弱晕伪影可能仍然存在于特定边缘。根据我们的经验,这种技术有时过于强调细节。例如,在使用这种技术生成的图2的右边图像中,某些特征(门、植物叶子)被薄而明亮的轮廓包围。此外,该方法受不少于8个参数的控制,因此要获得最优结果有时需要相当多的反复试验。最后,LCIS 层次结构是密集的,因此压缩高分辨率图像需要大量的时间。
非正式地说,我们的方法依赖于广泛接受的假设,即人类视觉系统对到达视网膜的绝对亮度不是很敏感,而是对局部亮度比的变化做出反应,并减少可能与光照差异有关的大的全局差异的影响。
我们的算法是基于一个相当简单的观察,即在一个高动态范围内亮度的任何剧烈变化都必须在某个尺度上产生较大的亮度梯度。另一方面,精细的细节,如纹理,对应的梯度要小得多。我们的想法是对不同尺度的大梯度进行识别,在保持方向不变的情况下减小梯度的大小。衰减必须是渐进的,较大的梯度比较小的梯度损失更大,因此压缩了剧烈的亮度变化,同时保留了精细的细节。然后,利用衰减梯度场重新构造一个缩小的高动态范围图像。
应该指出的是,我们所有的计算都是对亮度的对数进行的,而不是对亮度本身进行的。这也是前一节中回顾的大多数方法的情况。在对数域工作的原因有两方面:(a)亮度的对数是对感知亮度的(粗略的)近似; (b)对数域的梯度对应于亮度域中的比值(局部对比)。
图 3:(a)动态范围2415:1的 HDR 扫描线。(b) H ( x ) = l o g ( scanline ) H(x)=log(\text{scanline}) H(x)=log(scanline)(c)导数 H ′ ( x ) H\rq(x) H′(x)。(d)衰减导数 G ( x ) G(x) G(x);(e)重构信号 I ( x ) I(x) I(x)(如等式 1 中定义)(f)LDR 扫描线 e x p ( I ( x ) ) exp(I(x)) exp(I(x)):新的动态范围是7.5:1。注意,每个图的垂直轴使用不同的比例以显示详细信息,除了(c)和(d)使用相同的垂直轴缩放以显示应用于导数的衰减量。
我们从一维的概念开始。考虑一个高动态范围一维函数。我们用 H ( x ) H(x) H(x) 来表示这个函数的对数。如上所述,我们的目标是压缩 H H H 中较大的幅度变化,同时尽可能保留较小的局部变化。这一目标是通过应用适当的空间变异的大小衰减 Φ \Phi Φ 映射到衍生品 H ′ ( x ) H\rq(x) H′(x) 。更具体地说,我们计算: G ( x ) = H ′ ( x ) Φ ( x ) G(x) = H\rq(x)\Phi(x) G(x)=H′(x)Φ(x) 注意 G G G 和原始导数符号 H ′ H\rq H′ 一样无处不在,但是原始导数的大小已经被一个由 Φ \Phi Φ 决定的因子改变了,这个因子被设计用来衰减大导数而不是小导数。实际上,正如第四节所述, Φ \Phi Φ 表示不同尺度上的导数的大小。
现在,我们能够通过对压缩后的导数积分,重构一个缩小的动态范围函数 I I I (加上一个额外的常数 C C C ): I ( x ) = C + ∫ 0 x G ( t ) d t (1) \tag{1}I(x) = C + \int^x_0G(t)dt I(x)=C+∫0xG(t)dt(1)最后,为了返回亮度,我们进行了指数运算。整个过程如图3所示。为了将上述方法推广到二维 HDR 函数 H ( x , y ) H(x,y) H(x,y),我们操纵梯度 ∇ H \nabla H ∇H,而不是导数。同样,为了避免在图像中引入空间扭曲,我们只改变梯度的大小,同时保持其方向不变。因此,类似于一维情况,我们计算 G ( x , y ) = ∇ H ( x , y ) Φ ( x , y ) G(x,y) = \nabla H(x,y)\Phi(x,y) G(x,y)=∇H(x,y)Φ(x,y)与一维情况不同我们不能简单的通过积分 G G G 来获得压缩动态范围的图像,因为它不一定是可积的。换句话说,可能不存在图像 I I I ,即 G = ∇ I G = \nabla I G=∇I!事实上,实际上,势函数(如二维图像)的梯度必须是保守场。换句话说,梯度 ∇ I = ( ∂ I / ∂ x , ∂ I / ∂ y ) \nabla I = (\partial I/\partial x,\partial I/\partial y) ∇I=(∂I/∂x,∂I/∂y) 必须满足 ∂ 2 I ∂ x ∂ y = ∂ 2 I ∂ y ∂ x \frac{\partial^2I}{\partial x\partial y} = \frac{\partial^2I}{\partial y\partial x} ∂x∂y∂2I=∂y∂x∂2I这对我们的 G G G 来说是很少见的。
这个问题的一个可能的解决方案是将 G G G 正交投影到跨越可积向量场集的一组正交基函数上,例如 Fourier 基函数。在我们的方法中,我们采用了一种更直接、更有效的方法:在所有二维势函数的空间中搜索一个在最小二乘意义上梯度最接近 G G G 的函数 I I I。换句话说,我应该在 F ( ∇ I , G ) = ∣ ∣ ∇ I − G ∣ ∣ 2 = ( ∂ I ∂ x − G x ) 2 + ( ∂ I ∂ y − G y ) 2 F(\nabla I,G)= ||\nabla I-G||^2={\left(\frac{\partial I}{\partial x}-G_x\right)^2}+{(\frac{\partial I}{\partial y}-G_y)^2} F(∇I,G)=∣∣∇I−G∣∣2=(∂x∂I−Gx)2+(∂y∂I−Gy)2 最小化积分 ∬ F ( ∇ I , G ) d x d y (2) \tag{2}\iint F(\nabla I,G)dx dy ∬F(∇I,G)dxdy(2)
根据变分原理,使(2)中积分最小化的函数 I I I 必须满足 Euler-Lagrange 方程: ∂ F ∂ I − d d x ∂ F ∂ I x − d d x ∂ F ∂ I y = 0 \frac{\partial F}{\partial I}-\frac{d}{dx}\frac{\partial F}{\partial I_x}-\frac{d}{dx}\frac{\partial F}{\partial I_y}=0 ∂I∂F−dxd∂Ix∂F−dxd∂Iy∂F=0除以2并重新排列项,我们得到了著名的泊松方程 ∇ 2 I = div G (3) \tag{3}\nabla ^2I=\text{div}G ∇2I=divG(3)其中 ∇ 2 \nabla^2 ∇2 是拉普拉斯算子 ∇ 2 I = ∂ 2 I ∂ x 2 + ∂ 2 I ∂ y 2 \nabla^2I=\frac{\partial^2I}{\partial x^2}+\frac{\partial^2I}{\partial y^2} ∇2I=∂x2∂2I+∂y2∂2I, div G \text{div} G divG 是向量场 G G G 的散度。这是一个线性偏微分方程,其数值解见第5节。
如在前一部分中所解释的,我们的方法通过在每个像素处将 HDR 图像梯度的幅度衰减 Φ ( x , y ) \Phi(x,y) Φ(x,y) 因子来实现 HDR 压缩。我们希望衰减是渐进的,大幅度的衰减比小的衰减更大。
真实世界的图像包含多个尺度的边缘。因此,为了可靠地检测所有显着强度的转变,我们必须采用多分辨率边缘检测方案。但是,我们不能简单地在检测到的分辨率下衰减每个梯度。如第 2 节所述,这可能会导致强边缘周围的光晕伪影。我们的解决方案是将所需的衰减从检测到的水平传播到全分辨率图像。因此,所有梯度操作都在单个分辨率级别发生,并且不会出现光晕伪像。
图 4:用于压缩比利时房屋的 HDR 辐射图的梯度衰减因子(图 2)。深色表示较小的尺度要素(更强的衰减)。
我们首先构造高斯金字塔 H 0 , H 1 , . . . , H d H_0,H _1,...,H_d H0,H1,...,Hd,其中 H 0 H_0 H0 是全分辨率 HDR 图像, H d H_d Hd 是金字塔中最粗糙的水平。选择 d d d 使得 H d H_d Hd 的宽度和高度至少为 32。在每个级别 k k k,我们使用中心差异计算梯度: ∇ H k = ( H k ( x + 1 , y ) − H k ( x − 1 , y ) 2 k + 1 , H k ( x , y + 1 ) − H k ( x , y − 1 ) 2 k + 1 ) \nabla H_k=\left(\frac{H_k(x+1,y)-H_k(x-1,y)}{2^{k+1}},\frac{H_k(x,y+1)-H_k(x,y-1)}{2^{k+1}}\right) ∇Hk=(2k+1Hk(x+1,y)−Hk(x−1,y),2k+1Hk(x,y+1)−Hk(x,y−1))在每个级别 k k k 每个像素的缩放因子 φ k ( x , y ) \varphi_k(x,y) φk(x,y) 取决于那儿的梯度大小: φ k ( x , y ) = α ∣ ∣ ∇ H k ( x , y ) ∣ ∣ ( ∣ ∣ ∇ H k ( x , y ) ∣ ∣ α ) β \varphi_k(x,y)=\frac{\alpha}{||\nabla H_k(x,y)||}\left(\frac{||\nabla H_k(x,y)||}{\alpha}\right)^\beta φk(x,y)=∣∣∇Hk(x,y)∣∣α(α∣∣∇Hk(x,y)∣∣)β这是一个双参数系列函数。第一参数 α \alpha α 确定哪个梯度幅度保持不变(乘以比例因子1)。较大幅度的梯度衰减(假定 β < 1 \beta\lt1 β<1 ),而幅度小于 α \alpha α 的梯度略微放大。在本文所示的所有结果中,我们将 α \alpha α 设置为平均梯度幅度的 0.1 倍, β \beta β 设置在 0.8 和 0.9 之间。通过使用线性插值将缩放因子 φ k ( x , y ) \varphi _k(x,y) φk(x,y) 从每个级别传播到下一个级别并使用逐点乘法累加它们,以自上而下的方式计算全分辨率梯度衰减函数 Φ ( x , y ) \Phi(x,y) Φ(x,y)。 更正式地说,这个过程由等式给出: Φ d ( x , y ) = φ d ( x , y ) Φ k ( x , y ) = L ( Φ k + 1 ) ( x , y ) φ k ( x , y ) Φ ( x , y ) = Φ 0 ( x , y ) \Phi_d(x,y)=\varphi_d(x,y)\\ \Phi_k(x,y)=L(\Phi_{k+1})(x,y)\varphi_k(x,y)\\ \Phi(x,y)=\Phi_0(x,y) Φd(x,y)=φd(x,y)Φk(x,y)=L(Φk+1)(x,y)φk(x,y)Φ(x,y)=Φ0(x,y) 其中 d d d 是粗级别, Φ k \Phi_k Φk 表示在 k k k 级别的积累衰减函数, L L L 是一个带线性插值的上采样算子。因此,梯度衰减在每个像素的最佳水平是由所有通过图像中的那个位置的边缘(从不同的尺度)强度决定的。图 4 显示了比利时房屋 HDR 辐射图的衰减系数。
需要注意的是,虽然梯度衰减函数的计算是以多分辨率的方式完成的,最终,只有在最佳分辨率的梯度被操纵,这样就避免了光晕现象,当不同的分辨率级别被单独操作时,光晕现象通常会出现。
为了求解(3)这样的微分方程,必须首先指定边界条件。在我们的例子中,最自然的选择似乎是 Neumann 边界条件 ∇ I ⋅ n = 0 \nabla I \cdot \mathbf n = 0 ∇I⋅n=0 (垂直于边界方向的导数为零)。有了这些边界条件,解决方案现在被定义为单个附加项,由于我们移动和缩放解决方案以使其适合显示设备限制,因此没有实际意义。 ∇ 2 I ( x , y ) ≈ I ( x + 1 , y ) + I ( x − 1 , y ) + I ( x , y + 1 ) + I ( x , y − 1 ) − 4 I ( x , y ) \nabla^2I(x,y) \approx I(x+1,y)+I(x-1,y)+I(x,y+1)+I(x,y-1)-4I(x,y) ∇2I(x,y)≈I(x+1,y)+I(x−1,y)+I(x,y+1)+I(x,y−1)−4I(x,y)在图像的全分辨率下,取像素网格间距为1。梯度 ∇ H \nabla H ∇H 是使用向前差分近似 ∇ H ( x , y ) ≈ ( H ( x + 1 , y ) − H ( x , y ) , H ( x , y + 1 ) − H ( x , y ) ) , \nabla H(x,y)\approx (H(x+1,y)-H(x,y),H(x,y+1)-H(x,y)), ∇H(x,y)≈(H(x+1,y)−H(x,y),H(x,y+1)−H(x,y)),而对于 div G \text{div}~G div G ,我们使用向后差分近似 div G ≈ G x ( x , y ) − G x ( x − 1 , y ) + G y ( x , y ) − G y ( x , y − 1 ) . \text{div}~G\approx G_x(x,y)-G_x(x-1,y)+G_y(x,y)-G_y(x,y-1). div G≈Gx(x,y)−Gx(x−1,y)+Gy(x,y)−Gy(x,y−1).这种向前和向后差分的组合确保了 div G \text{div}~G div G 的近似与拉普拉斯法使用的中心差分格式是一致的。
在边界上,我们使用相同的定义,但假设原始图像网格周围的导数为0.例如,对于左侧图像边界上的每个像素,我们都有这个方程 I ( − 1 , y ) − I ( 0 , y ) = 0 I(-1,y)-I(0,y)=0 I(−1,y)−I(0,y)=0 有限差分格式产生了一个大的线性方程组——图像中的每个像素对应一个方程组,但是对应的矩阵每一行只有5个非零元素,因为每个像素只与其4个相邻像素耦合。我们使用带高斯-塞德尔平滑迭代的完整多重网格算法来求解该系统。这导致 O ( n ) O(n) O(n) 运算得到近似解,其中 n n n 是图像中的像素数。另一种方法是使用“快速泊松求解器”,它使用快速傅里叶变换来反演拉普拉斯算子。然而,这种方法的复杂度将是 O ( n l o g n ) O(nlogn) O(nlogn) 。
如前所述,我们的方法对HDR辐射图的亮度进行操作。为了给压缩动态范围图像的像素分配颜色,我们使用了与 Tumblin 和 Turk 和 Schlick 类似的方法。更具体地说,计算压缩动态范围图像中像素的颜色通道如下: C o u t = ( C i n L i n ) s L o u t C_{out}=\left(\frac{C_{in}}{L_{in}}\right)^sL_{out} Cout=(LinCin)sLout。 L i n L_{in} Lin 和 L o u t L_{out} Lout 分别表示 HDR 压缩前后的亮度,指数s控制生成图像的颜色饱和度。我们发现在 0.4 到 0.6 之间的值能取得令人满意的结果。
多重曝光 HDRs 。我们已经用我们的方法在各种真实场景的 HDR 辐射图上进行了实验。在所有情况下,没有太多的参数调整我们的方都取得了令人满意的结果。在所有情况下,我们的方法均无需进行大量参数调整即可获得令人满意的结果.在某些情况下,我们发现,通过标准的锐化操作,生成的图像的主观质量略有提高。在1800 MHz奔腾4上,计算时间从512 x 384图像的1.1秒到1024 x 768图像的4.5秒不等。
图5:前两行比较了我们的方法产生的结果(中间列)和 Ward Larson 等人的(左列)与 Tunmblin 和 Turk(右列)。差异将在第 6 节中讨论。下面一行显示了我们的方法产生的另外三个结果示例(每张图片旁边的缩略图显示了构建 HDR 辐射图的一些LDR图像)。
图5的第一行显示了“大雾夜的路灯”辐射度图的三种不同辐射图。这个场景的动态范围超过 100,000:1 。用 Ward Larson 等人的方法得到了左边的图像。右边的图像是由 Tumblin 和 Turk 的 LCIS 方法生成的。中间图像由我们的方法生成。左边的图像在明亮光线周围的大范围内失去了可见性,阴影区域失去了细节,地面上的纹理也被洗掉了。LCIS 图像(右)在平滑区域显示颗粒状纹理,并且似乎稍微强调了边缘,从而导致“浮雕”的非真实感外观。在我们的图像中(中间)平滑被保留在雾蒙蒙的天空中,同时精细的细节被很好地保存下来(树叶,地面纹理,汽车轮廓)。我们的方法花费 5 秒来计算这个 751×1130 的图像,而 LCIS 方法大约花费 8.5 分钟。
图 5 中的第二行图像使用斯坦福纪念教堂的 HDR 辐射图显示了类似的比较。这张地图上的动态范围超过 250,000:1。总的来说,同样的观察结果也适用于这个例子。在左边的图像中,黑暗区域的细节很难看到,而天窗和彩色玻璃窗似乎过度暴露。在 LCIS 的图像(右)中,地板看起来有点凹凸不平,而我们的图像(中)显示了更多的细节,传达了更真实的印象。
图 6:第一行: HDR 辐射映射压缩的更多示例。我们的方法成功地将只能通过非常不同的曝光捕捉到的特征组合成一张图像。第二行: HDR 全景视频马赛克。剩余的图像表明,我们的方法也可以用于普通图像的增强。有关更详细的解释,请参见第6节。
图5中的最后一行和图6中的第一行显示了使用我们的方法进行HDR压缩的几个额外示例。在每张图片旁边都有缩略图,显示了用于构建 HDR 辐射图的一些曝光。注意,我们的方法设法以一种真实的方式组合细节,这些细节只能通过非常不同的曝光来捕获。图 6 右上角的图像(一扇在华盛顿大教堂的彩色玻璃窗)只用了左边显示的两次曝光。这两次曝光大致相隔四步;这些照片是由一位专业摄影师拍摄的,他将这两张照片手工混合在一起,以便同时显示明亮的窗户和黑暗的石头表面。我们的方法自动达到了类似的效果,同时在黑暗区域中保持更多的细节。
HDR 全景视频拼接。获取全景图像的一种常用方法是使用摄像机扫描一个场景,然后从视频帧构建马赛克。如果我们让相机的自动曝光控制为每一帧设置正确的曝光,每个场景元素都是在多个光圈设置下成像的,我们可以构建一个 HDR。使用专门的硬件同样可以制作 HDR 全景视频拼接。
图6中的第二行显示了我们的方法压缩的 HDR 全景图。左上方的图像模拟了全景图的样子,其曝光适合于全景图的左侧,而下方的图像模拟了全景图的右侧。显然,这两种曝光设置都不能产生令人满意的结果。使用我们的HDR压缩方法,我们能够获得右边的全景图,其中的细节是可见的整个视野。
LDR 图像增强。我们的方法也可以用来增强普通(LCD)图像。通过衰减强梯度,将重建后的图像重新缩放到原始的 0…255 范围内,暗区小反差变得更容易看清。
巴黎圣母院的五幅图像用我们的方法演示了图像增强。左上角的图像是原始图像;右上角的图像是我们的方法产生的结果。底部一行显示了我们通过伽马校正(左)、直方图均衡化(中)和对比度有限的自适应直方图均衡化得到的最佳结果(右)。请注意,我们的结果从阴影区域带来了更多的细节,同时在其他地方保持良好的对比(前景为砖墙,建筑细节细腻)。自适应直方图均衡化几乎一样好,但它引入了沿屋顶和右侧树梢的天空晕伪影。
图6的底部一行显示了另外两个示例。左边的例子是一个包含阳光和阴影的图像的典型例子。同样,我们的方法(在它的右边)成功地从阴影区域中提取了细节。
右边的这对显示了一个黑暗的,低对比度的透视股骨图像。用我们的方法增强后,骨骼结构更加清晰可见(注意股骨管变得清晰可见)。
我们描述了一种新的、简单的、计算效率高的、健康的的高动态范围压缩方法,使在传统显示器上显示 HDR 图像成为可能。该方法对大梯度进行衰减,然后在修正梯度场上求解泊松方程,构造低动态范围图像。
未来的工作将集中于许多不同的令人兴奋的可能的应用,从修改梯度场构建图像。初步结果表明,该方法具有良好的去噪、边缘处理和非真实感渲染效果。此外,我们希望扩展我们的工作,以纳入人类视觉的各种心理物理性质,使我们的技术更有用的应用,如照明设计或能见度分析。
致谢
我们要感谢 Paul Debevec、Max Lyons、Shree Nayar、Jack Tumblin 和 Greg Ward 提供了他们的代码和图像。感谢 Siggraph 的匿名评论者的评论。这项工作得到由以色列科学与人文学院建立的以色列科学基金会的部分支持。