Enhanced local tone mapping for detail preserving reproduction of highdynamic range images

文章提出了一种增强局部色调映射(ELTM)算法,旨在同时提供良好的全局和局部对比度,适用于HDR图像到LDR显示器的转换。ELTM基于细节/基础层分解,结合线性域和对数域处理,提供鲁棒性和良好的局部对比度。通过调整参数,用户可以控制最终图像的外观,适合于需要用户体验的应用,如消费电子产品。ELTM还引入了亮度控制,以适应极端场景,增强了算法的鲁棒性。在与多个先进色调映射算子的比较中,ELTM表现出色,尤其是在细节保留和整体效果上。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

ABSTRACT

增强局部色调映射(ELTM)是一种灵活的色调映射算子,旨在在各种测试场景中同时提供良好的全局和局部对比度。此外,它有直观的和解耦的调优界面,为用户提供了对最终图像外观的完全控制。ELTM基于细节/基础层分解,在线性域和对数域压缩基面。这为ELTM提供了鲁棒性,而改进的色调压缩函数提供了良好的局部对比度。使用不同内容、亮度和分辨率的图像对结果进行了验证。在本次测试中,ELTM在7个最先进的全局和本地色调映射算子中被认为是最佳的色调映射算子。甚至更好的整体效果,通过使用建议的亮度控制,以处理极端场景。坚固性和灵活性,以实现理想的外观,使ELTM适用于用户体验是主要关注的应用程序,如消费电子产品的情况。

1. Introduction

在真实世界的场景中,亮度变化是非常高的,可以跨越10个数量级。人眼可以同时感知约4个数量级的对比度,而目前的消费者相机只能捕捉到这个动态范围的有限部分,大约2-3个数量级。最近发明的传感器能够捕捉更多场景的动态范围。这些传感器通常基于不同的暴露传感器元素,这允许它们同时捕捉场景的黑暗和明亮部分。普通的低动态范围(LDR)相机也可以通过组合不同曝光设置[1]拍摄的多幅图像来捕捉场景的高动态范围(HDR)。

尽管上述方法能够捕获HDR场景,但在标准显示设备上复制这些图像存在一个问题。目前的商用显示器能够以2个数量级的对比度再现图像。现在已经有了动态范围更大的原型显示器,但这项技术仍在发展中。因此,要在普通的LDR显示器上实现HDR图像复制,需要使用色调映射操作符对图像进行处理。

色调映射算子在尽可能保留图像特征的同时降低了HDR图像的对比度。根据空间适应性的不同,这些算子主要分为全局算子和局部算子两大类。

全局操作符对所有图像像素应用相同的映射函数,实现简单,具有良好的全局对比度。不幸的是,全局操作符往往会隐瞒高亮区域的细节。

局部算子适应局部亮度值,对每个像素应用不同的映射,从而更好地保存细节。随着复杂性的增加,局部操作符可能会产生一些不受欢迎的伪影:晕轮伪影、较差的全局对比度、超现实效果等。

在消费类电子产品中,不断需要为用户提供最佳的主观图像质量。虽然我们定义了一些主观的图像质量属性,如全局/局部对比、细节强度、色彩,但对于哪种设置能产生最佳的主观印象,人们有不同的看法。因此,为消费类电子产品设计的色调映射操作符能够容易地调整所需的图像外观是非常重要的。这使得公司甚至最终用户能够调整色调映射设置,以实现其特定设备的图像质量目标。

本文提出的增强局部色调映射算子(ELTM),最大限度地利用输出的动态范围,在保持和增强细节的同时,提供良好的全局对比度。因此,虽然ELTM在形式上属于局部色调映射算子组,但它实际上位于全局和局部色调映射算子之间,利用了这两种方法的最佳特征。ELTM还提供了一组解耦的调谐参数,为实现预期的输出外观提供了直观的界面。

2. Related work

人类视觉系统(HVS)对光强变化具有高度的非线性响应。Weber-Fechner定律将这种特性定义为对数,这就是为什么对数和基于幂的函数是全局色调映射中最常用的函数族之一。全局色调映射算子[2-6]对所有图像像素应用相同的映射函数。尽管这些操作符具有非常高效的实现和健壮性,但它们在细节保存方面表现不佳,因为它们倾向于抑制细节,特别是高亮的区域。

Reinhard et al.[5]建议对他们的全局色调映射算子进行扩展,使用局部而不是全局平均值,使算子适应图像的不同部分。

有几种算法[7-9]使用多级分解来提取细节,并在不同分辨率级别上应用动态范围压缩。Pattanaik et al.[7]提出使用高斯金字塔,但这种方法被证明会产生强晕影。为了避免晕影,Tumblin和Turk[8]提出了冲击滤波和平滑,而不是简单的高斯滤波。Li等人[9]使用对称分析/重构滤波器组来达到同样的目的。然而,这些方法有很高的内存需求,并且可能是计算密集型的。

Durand and Dorsey[10]提出了一种更简单的方法,该方法也使用了细节/基面分解。他们利用边缘感知滤波过程,将对数域的输入图像分解为基本平面和细节平面。在他们的工作中,他们使用双边滤波器,但其他边缘感知滤波器[11-16]也可以使用。导频滤波器[16]因其良好的晕抑制特性和计算简单而在这些滤波器中脱颖而出。

基于Retinex理论的算法[17,18]也被用于局部色调映射。这些算法是基于中环绕自适应水平的计算,然后在色调映射过程中使用。近年来出现了几种新的方法[19-24]。他们通常将色调映射过程分为预处理、全局自适应和基于Retinex的局部色调映射。为了防止图像看起来过于平坦,这些算法通常在处理结束时使用直方图拉伸,减少了对最终输出亮度的控制。

对比度增强技术[25-29]也可用于动态范围压缩。Monobe等人[25]研究了利用局部邻域提取并增强全局色调映射图像的局部对比度的思想。HDR图像再现还研究了局部直方图均衡化[26]和局部伽马校正[27,28]。在[29]中研究了基于显著性保持的目标直方图的计算,避免了过度增强。虽然这些算法可以产生视觉上令人满意的结果,但它们缺乏对最终场景外观和细节再现强度的灵活控制。

Fattal等人[30]引入了一种在梯度域中工作的色调映射算法。它通过减少输入图像的大梯度来减少输出图像的动态范围。虽然这种方法可以提供非常令人满意的结果,但根据期望的梯度计算输出图像值需要求解泊松方程,这是一个非常耗时的过程。Mantiuk et al.[31]提出了类似的方法。他们提出了感知对比处理的整个框架,其中一个例子就是动态范围缩小。这种方法的复杂度仍然很高,因为算法需要根据计算的对比度值估计输出图像的步骤。

颜色外观模型也可用于动态范围压缩。也就是说,他们试图预测HVS在各种光照条件下对某种刺激的反应。根据这些预测,可以对输入图像进行适当的修改,以减小动态范围,并保留原始的细节和颜色。最受欢迎的彩色外观型号是iCAM[32]和iCAM06[33]。

关于色调映射算子的知觉研究有很多[34,35]。他们普遍认为,全局色调映射算子比局部色调映射算子具有更强的对比度,但细节再现更差,特别是在高亮的区域。亮度也会被评估,但由于它通常是一个输入参数,所以在比较之前,所有的操作符都被调优以在输出处产生总体上相似的亮度。

本研究的主要目标是提供一种鲁棒的色调映射算子,能够很好地处理各种类型的场景。它应该产生良好的全局对比度,可与全局色调映射算子相媲美,但它也应该提供良好的细节复制,可与局部色调映射算子相媲美或更好。为了使它能够在各种用例中使用,为ELTM配备一组解耦和直观的调谐参数是非常重要的,这些参数为用户提供了对场景外观的关键方面的控制。

3. ELTM algorithm

3.1. System overview

HDR辐照度图通常是通过不同曝光传感器或使用不同曝光帧组合多个不同曝光来获得的。通过在所有三个颜色通道上划分每个通道的最大亮度,它被归一化以适合范围[0,1]。

虽然有些颜色外观模型分别压缩每个颜色通道[313,33],但通常只压缩亮度通道,因为它包含关于亮度级别的消色差信息。在此基础上,计算压缩亮度输出RGB值,得到彩色图像。相对亮度Y由ITU-R BT.709标准变换得到的线性相对R、G、B值:

ELTM算法框图如图1所示。利用边缘感知滤波器将输入亮度(Y)在对数域分解为一个基底(BPlog)和两个细节平面(DPClog,DPFlog)。基底平面的对比度在对数域使用简单的线性缩放来调整。这个预处理步骤将基面适合于预定义的值范围,为色调压缩过程提供更好的控制。细节平面在对数域中分别增强和组合,产生一个输出细节平面。将细节划分为粗(DPClog)和细(DPFlog),可以对输出图像的局部对比度和清晰度进行解耦控制。在线性域使用自适应的色调压缩函数,该函数根据基平面统计信息调整其形状。压缩基面(BPC)乘以细节面(DP)生成LDR亮度面(YC)。最后,在颜色恢复块中计算输出LDR RGB值。下面的小节将解释每一个步骤。

3.2. Decomposition

通常的方法是在对数域中将输入的亮度分解为基本平面和细节平面。即饱和点外的像素值与照射到相机传感器上的光照量i呈线性相关关系。它是照度i(表示照射到物体上的光线)与反射系数r的乘积,反射系数r是由物体的反射特性引起的:

照明具有主导的低频成分,在整个图像中逐渐变化。反射率的变化是快速的图像从像素到像素,调制照明和创建细节的图像。因此,使用普通的滤波技术很难在线性域将反射和光照分离开来,因为它们具有乘法性。Stockham[36]建议使用标准的线性滤波方法可以得到这种分离,如果不使用I,则对其对数值进行滤波。对数函数将乘法现象转换为加法现象,可以使用标准滤波方法进行分离:

其中Ylog是相对亮度Y的对数值,ε是一个很小的值,设置为10−6,用来避免Y值为零引起的奇点。

使用边缘感知滤波器将log亮度分解为基本平面(BPlog)和细节平面(DPClog, DPFlog)。虽然这里可以使用一些更复杂的边缘感知图像分解方法[11-16],但它们的复杂性仍然很高,我们发现引导滤波器[16]为ELTM提供了最好的质量/复杂度权衡。它提供了更好的细节分解,比双边滤波器更不容易出现梯度反转伪影,比其他边缘感知方法更快。它可以非常高效地计算,因为它只需要4个框过滤函数,可以在O(N)时间内实现,其中N是图像中的像素数,而不依赖于过滤器的大小。

ELTM将输入图像分解为两个细节平面,而不是通常的一个细节平面。第一个细节平面包含精细细节(DPFlog),使用一个小半径的过滤器获得。精细的细节决定了图像的微对比度和锐度。第二个细节平面包含粗细节(DPClog),使用一个大半径的过滤器获得。粗细节包含较大的特征和光照变化信息,它们主要负责局部对比度。这种分离为ELTM提供了对细节增强的额外控制。例如,局部对比度可以通过放大粗细节来提高,同时通过保持小增益的细节来避免过锐化和噪声放大。

在分解过程中,细节的最大振幅可限制在一个预定义值,精细细节为λF,粗细节为λC。为避免信息丢失,在细节限制后对基础层进行重新计算。这个限制的值定义了允许从输入传递到细节层的详细信息的数量。细节限制的动机是为了控制由脉冲噪声、死像素、镜面细节或梯度反转引起的突然转换。此剪辑为算法调优提供了额外的灵活性。可以通过将每个过滤器的细节限制设置为零来绕过它们。如果所有的滤波器都被忽略,则算子将被简化为全局色调映射。分解过程的步骤如下:

其中rS、εS、rL、εL分别为小边缘感知滤波器的半径和大边缘感知滤波器的正则化参数。在此实现中对于EAF的操作采用了[16]引导滤波器。BPFlog是用小导滤波器对输入对数亮度进行处理后得到的中间基面。函数clip将输入值饱和到[-limit, limit]之外,其他值保持不变。

设置小导滤波器的半径(rS)为3,计算大导滤波器的半径(rL)为最小值(高度、宽度)的10%。将每个滤波器的正则化参数(εS, εL)设置为0.1。精细细节限制λF设置为0.02,同时切割脉冲噪声和镜面细节。粗细节限值λC设得足够高,为1,不限制任何粗细节。这些参数在默认ELTM配置中使用。

3.3. Logarithm domain contrast reduction

通常的对比度降低方法,如Tumblin和Turk[8]所建议的,以及Durand和Dorsey[10]所使用的,是简单地用常数因子在对数域中缩放基平面。这等价于在线性域中应用幂函数。如果色调压缩仅通过在对数域中缩放来完成,更大的压缩比可能导致严重的全局对比度降低,产生平面图像。

另一方面,Reinhard et al.[5]提出移动对数亮度值来调整对数均值,并在线性域应用实际的对比度降低。这种方法保留了整体对比,但通常牺牲了高亮区域的细节。

为了在不丢失高亮区域细节的情况下获得良好的全局对比度,ELTM采用了这两种方法的结合。色调压缩部分在对数域中完成,部分在线性域中完成。对数域的对比度降低用于将广泛变化的输入图像的动态范围限制在预定义的范围内,而线性域的色调压缩则调整色调映射图像的最终外观。从某种意义上说,这一步很重要,因为它使输出图像对于各种各样的输入图像具有一致的行为。

由于曝光设置不好,或者从绝对亮度到相对亮度过渡不好,可能会出现最大相对亮度值在线性域小于1,在对数域小于0的情况。这导致输出动态范围的使用不足。因此,对数域处理对基面直方图进行平移和缩放,拟合预定目标范围(τR):

其中,α为基准平面比例比,β为对数域中的基准平面偏移量。BP的对数是初始对比度调整后对数域中的基面。

移位的目的是设置输出图像的白点。这是通过将最高对数亮度值设置为0来实现的,以补偿最终的曝光误差。缩放确保log直方图符合预定义的对比度,从而为最终在线性域的压缩图像做好准备。

为了避免异常值,色调压缩步骤中使用的最小值和最大值使用0.01百分位和99.9百分位计算,而不是简单的最小值和最大值。对所有的输入图像,将基层压缩的对数域τR目标范围设置为5。

3.4. Detail enhancement

通过将每个细节平面与用户指定的增益因子相乘,可以在对数域中增强细节平面,从而提供空间上统一的细节处理。然而,在某些情况下,需要进行空间变化的细节处理。Bennet和McMillan[37]认为,由于图像细节形状的不确定性高,噪声的影响大,所以应该抑制图像中属于暗区的细节。另一方面,Mantiuk等人[4]认为显示器在亮度值小的情况下对比度再现能力较差,为了达到最好的再现效果,需要在暗图像区域增加对比度。

在本工作中,假设噪声在图像处理管道的其他阶段被处理。因此,在黑暗区域的额外细节增强被建议作为一个空间变化细节处理的例子。请注意,这种空间变化的细节处理在色调映射算法中很难控制,因为基平面没有被限制在预定义的范围内。在对数域范围压缩后,ELTM中有限的基面范围使得可以很容易地创建一个空间变化的增益映射。即,对数域范围压缩将基平面值拟合在范围[−5,0]内,最暗的像素占据该范围的下半部分。如果将此基础图与−0.4相乘,它将提供可变细节增益图,在最暗的区域最大增益为2,在更大的亮度值时,增益会下降到0。空间变化的最大附加细节增益被设置为2,因为较大的值会夸大细节。通过将剪切增益修正到最小值1,可以避免明亮区域的细节抑制。可变增益映射可以用来增强目标区域的细节:

其中,SG为空间变化的增益图,而ηF和ηC分别为细细节和粗细节的空间均匀增益因子。DP ' Flog和DP ' Clog是调整后的细部平面和粗部平面。不同的空间变化细节增强地图可以很容易地创建,呈现的地图只是一个例子。

在ELTM的默认配置中,精细细节增益(ηF)设置为1,粗细节增益(ηC)设置为1.5,以提高局部对比度,同时避免图像过度锐化和噪声放大。此外,在默认的ELTM配置中没有使用空间变化的增益映射。

基平面缩放和细节修改后,应用基2指数函数将基平面和细节转移回线性域:

其中BP和DP是经过对数域处理后的线性域的基面和细节面。

3.5. Tone compression

对数域的处理将基平面直方图置于预定义的范围内,使得以后的步骤对输入的动态范围不那么敏感。最终的动态范围缩小和对比度增强可以通过应用一些众所周知的全局色调压缩函数来实现,如伽马、对数或有理函数色调压缩[2]。由于对数紧张度压缩符合韦伯-费希纳定律,即仅有显著差异,因此压缩基面(BPC)可由下式计算:

其中压缩强度由参数p控制。

在对数域处理后直接使用色调压缩函数可以显著降低全局对比度,并导致输出图像出现雾状。为了增加对比度,可以使用直方图拉伸。但是,如果在色调压缩后使用[12,31],它会恢复全局对比度,但也会降低动态范围压缩效果,使输出图像变暗。因此,在色调映射算法的最后,通过直方图拉伸难以提供一致的输出和亮度控制。为了充分利用色调压缩曲线,ELTM使用调至基面统计的色调压缩函数。这与对数域处理之后,在应用原始色调压缩曲线之前进行直方图拉伸是一样的(8)。这个过程将确保良好的全局对比度和输出动态范围的充分利用,同时保持输出亮度的一致性控制能力。虽然通过调整输入像素范围改善了全局对比度,但基平面的高亮区域和阴影区域分别被映射为1和0,导致这些区域的细节被剪切。这意味着这些地区的局部对比将受到影响。为了保留这些敏感区域的细节,我们建议对色调压缩函数的输出范围进行限制,在图像的明暗区域为细节留出足够的净空和留足空间,从而减少裁剪。ELTM改进后的色调压缩函数可以写成:

其中,对数域处理后的最小和最大基平面值,BPmin和BPmax根据基平面统计计算,作为输入基平面值的0.1百分位和99.9百分位。输出基面最小值和最大值BPCmin和BPCmax为调优参数。它们的默认值设置为0.1和0.9。

不同参数p值下的修改后的色调压缩函数族如图2所示。

提出的框架不局限于函数(8),可以与其他全局色调压缩函数结合使用。虽然主要的改进是在色调压缩函数的修改,但值得一提的是,如果不进行对数域的基面调整,将很难控制算法,并为各种场景提供一致的输出质量。有些色调映射方法使用对数域[4,10,12]或线性域[3,4,6,8]的色调压缩。摄影色调映射[5]使用对数和线性域色调压缩的结合。虽然该算子只使用对数域的移位和不同于ELTM的色调压缩函数,但在各种场景的测试中,它表现得非常好。这表明对数域和线性域的局部色调压缩方法能够持续产生良好的输出。

将细节平面(DP)与压缩亮度基面(BPC)简单乘法还原细节,得到输出亮度平面(YC):

3.6. Color restoration

最终的色调映射输出图像由输入的线性RGB值和输出的压缩亮度,使用由Tumblin和Turk[8]引入的可变饱和度参数s对Schlick的[3]公式进行修改,得到:

参数γ表示正确显示输出图像所需的伽马校正因子。伽玛校正因子的值取决于显示特性,对于sRGB值,它是2.2。伽马校正已经包含在YC值中。如果考虑gamma校正前的输出RGB值,可以注意到,对于Schlick[3]建议的参数s=1,将保留RGB比率,从而保留颜色色调。

4. ELTM tuning

ELTM的主要优势之一是易于调整所需的主观外观。有几个解耦的参数可以用来设置输出图像的理想外观,如表1所示,以及它们的默认值。

图3为ELTM的调优能力。它演示了每次更改一个调优参数的外观效果。由于饱和修正是使用标准程序进行调整的,所以不包括在本演示中。在图3中,除了演示调优的参数外,对所有图像使用相同的参数集,该参数值在每个图像下面指定。为了表示,细节限制(λF, λC)和细节增益(ηF, ηC)均设为1,其他参数均设为默认值,如表1所示。

参数的默认值是在调优过程中生成的,并为大范围的输入HDR图像提供一致的良好输出。在调优过程中使用了来自测试集的前15个图像。调优是根据作者的主观喜好进行的,可以很容易地实现不同的调优。

虽然许多色调映射操作符提供类似的控制参数,但没有色调映射操作符提供这种解耦调优。现有算子中所提供的参数往往同时影响图像质量的几个方面,使得调优过程非常困难。例如,Durand和Dorsey的色调映射[10]提供了对细节的控制,但很难在不牺牲局部对比度的情况下调整亮度。梯度算子[29,37]通过减小输入图像中的大梯度,实现动态范围压缩,从而在调整输出图像亮度的同时改变细节级别。全局操作符,如摄影色调再现[5]和显示自适应色调映射[4],对输出亮度有更好的控制,但它通常以亮度和暗区局部对比度为代价,而这不能被显式地调整。调优的灵活性和易用性是色调映射算法非常重要的特性,特别是当它被用于具有非常不同的硬件设置的商业产品时,如手机相机。

5. ELTM brightness control

虽然ELTM为各种场景提供了良好的映射,但注意到在某些情况下,它会产生太亮或太暗的输出。如果输入场景有非常低调或高调的直方图,这通常会发生。即,由于所有场景的色调压缩参数p是相同的,所以线性域内固定的色调压缩曲线不可能满足所有这些极值。为了提供额外的鲁棒性,提出了调谐参数p的校正因子。对数基面BP ' log的平均值是对场景键[5]很好的近似,因此用它来校正压缩参数。由于参数p控制对数色调压缩函数的斜率,我们启发式地发现幂函数提供了统一的校正。校正后的色调压缩参数p '可计算为:

参数m定义了最佳平均对数亮度,如果基平面的平均对数值等于m,则不进行校正。参数k定义了偏离最佳平均值的修正强度。通过分析ELTM在大型图像数据库[42]上的色调压缩性能,发现k值为1,m值为−2.7,在各种场景下的效果最好。需要注意的是,可以通过改变初始参数p来调整整体亮度强度。如果增加或减少色调压缩参数的默认值,所有序列将呈现为暗/亮。所提出的控制效果如图4所示。

6. Results

7. Conclusion

本文提出了一种局部色调映射算法ELTM。虽然ELTM是基于成熟的基础和技术,但它以一种新颖的方式将它们结合在一起,为各种类型的HDR场景带来一贯良好的效果。它产生的图像具有良好的全局和局部对比度,保留了突出的区域和阴影的细节,这多亏了对色调压缩函数的建议修改。提出的框架在某种意义上是通用的,其他色调压缩功能也可以使用。在对数域和线性域之间的分割色调压缩过程,在使用默认参数设置的情况下,能够稳健地运行各种动态范围的场景。

ELTM的设计目标是最大限度地提供一组解耦的调谐参数,使用户能够修改场景外观的每个方面。粗和细细节平面,以及最大幅度裁剪能力,允许更好地控制局部对比度和图像清晰度。亮度控制在ELTM中引入了额外的鲁棒性,可以适应非常高调和低调的场景,而不需要改变亮度调节的灵活性和能力。

目前的开发工作集中在ELTM算法的时间控制上,这将使其能够在HDR视频用例中使用。为了实现实时操作,还研究了性能优化。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值