Stack-Based Algorithms for HDR Capture and Reconstruction

Abstract

High-dynamic-range (HDR) images can be created with standard camera hardware by capturing and combining multiple pictures, each sampling a different segment of the irradiance distribution of a scene. This seemingly straightforward process involves several important steps, which will be the focus of this chapter. We start by examining the problem of selecting the set of exposures that properly measures the full dynamic range of a particular scene, a process known as metering for HDR. We then describe how to perform radiometric calibration, needed to estimate the incoming irradiance from the low-dynamic-range (LDR) images. After that, we offer an overview of methods to merge multiple LDR images into a single HDR image. Finally, we discuss methods to compensate for camera and scene motion, which would otherwise cause artifacts in the final HDR image.

高动态范围(HDR)图像可以用标准相机硬件创建,通过捕获和组合多幅图像,每幅图像采样一个场景的辐照度分布的不同部分。这个看似简单的过程涉及到几个重要步骤,这将是本章的重点。我们首先研究选择适当地测量特定场景的全部动态范围的曝光集的问题,这一过程被称为HDR的测光。然后我们描述如何执行辐射校准,需要估计来自低动态范围(LDR)图像的传入辐照度。在此之后,我们将概述将多个LDR图像合并到单个HDR图像中的方法。最后,我们讨论了补偿相机和场景运动的方法,否则会在最终的HDR图像中产生伪影。

1.Introduction

在本章中,我们研究了使用传统数码相机捕捉高动态范围(HDR)图像和视频的方法。这与专为在单次曝光中捕捉更大动态范围而设计的相机形成了鲜明对比(见第2章)。由于标准数字传感器只能捕获入射辐照度的一小部分(见第1章),用标准传感器捕获HDR图像的方法必须采用N个序列图像Z1的堆栈;:::;;不同曝光设置下的ZN,将其信息作为后处理组合在一起,重建高动态范围的辐照图像,我们将其称为基于堆栈的HDR捕获和重建算法。

虽然这本书的重点是HDR视频,深入讨论HDR捕捉静态图像是非常重要的。首先,为视频HDR提出的方法中有很大一部分使用了类似的策略,因为它们获得了不同曝光帧的流。此外,我们在本章中讨论的许多主题在视频HDR中也很重要,即使后者是由专门的传感器捕获的。

从历史的角度来看,虽然HDR成像最近才开始普及,但是今天基于堆栈的方法的模拟副本早在19世纪中期就由法国摄影师古斯塔夫·勒·格雷(Gustave Le Gray)引入。为了扩大他能在胶片上捕捉到的有限动态范围,他将多个胶片剪切粘贴在一起,每个胶片测量动态范围的不同部分。拍摄出来的风景简直令人叹为观止(见图1)。在100多年后的数字摄影领域,多次拍摄以扩大相机的动态范围的想法再次出现:二十年前,Mann(1993)1和Madden(1993)提出将多幅低动态范围(LDR)图像合并成一幅HDR图像。从那时起,基于堆栈的HDR成像引起了越来越多的研究团体的兴趣。如今,大多数消费相机,甚至是一些高端的单反相机,都普遍基于这一策略提供HDR拍摄模式。

本章的布局大致遵循了基于堆栈的HDR成像生成的步骤。首先,我们必须确定要拍多少张照片,以及它们的曝光时间应该是多少,才能充分捕捉到给定场景的动态范围(sec2)。一旦图像被捕获,我们必须将它们的信息合并在一起,以重建HDR结果(第3部分)。这些方法对于使用三脚架摄像机拍摄的静态场景效果很好。

然而,如果场景是动态的,或者相机是手持的,那么堆栈中曝光的细微差别将在最终结果中产生不可接受的幽灵般的伪影。由于这种情况非常普遍,基于stackbased HDR图像重构的大量研究都集中在处理运动(4小节)上,并开发了两种主要的方法:(1)通过拒绝包含运动的图像中的信息来消除重影伪影的方法(4.2节),以及(2)执行某种非刚性配准以对齐输入图像的方法(4.3节)。

在这一章中,我们将使用表1所示的表示法,经常重写来自不同论文的方程,以匹配这种表示法的一致性和清晰度。

2. Metering for HDR Imaging

当摄影师按下快门按钮拍照时,数码相机分析场景内容,确定最佳拍摄参数。总的来说,设计用来选择这些参数的算法被称为三个A:自动对焦(AF)、自动白平衡(AWB)和自动曝光(AE)。前两个,AF和AWB,将不会在本章中讨论,因为它们不需要对HDR捕获过程进行修改。自动曝光,又称测光,是根据一定的条件,选择曝光时间、ISO设置和光圈的组合,以最佳方式捕捉特定场景的过程。测光算法中涉及的启发式从运动模糊到信号质量的考虑,包括信噪比和量化。此外,它们还可能包含优化,更适合在后期使用图像信号处理器(ISP)使用的算法。

在没有自动测量方法的情况下,测量是摄影师的职责,需要技术和艺术技巧。这个过程特别涉及到模拟摄影,因为胶片的响应是非线性的。Ansel Adams和Fred Archer (Adams, 1948)提出的区域系统是计量理论发展得非常完善的一个例子。简而言之,Adams和Archer建议将可以被摄像机捕捉到的灰度范围分成11个部分,也被称为区域。然后,测光成为选择曝光时间的过程,该曝光时间将区域分配到场景中正确的辐照范围。例如,应选择曝光时间,以便第五个区域捕捉场景辐照度分布中间的值。

然而,单次曝光和数码相机拍摄场景时,最优AE算法为向右曝光(ETTR)2;从本质上说,ETTR选择了尽可能长的不饱和曝光时间(对于手持相机或动态场景,则为模糊曝光)。结果图像最小化了光子射击噪声(PSN)的影响。由于光的离散性质,在给定的时间内击中一个像素的光子的实际数量可以用一个随机泊松过程来建模。注意,对于较大的数值,泊松过程可以近似为高斯过程,输入光子数量为n_{p}\sim N(\mu ,\sigma^{2}=\mu),其中\mu为收集光子的平均数量。因此,信噪比(SNR)随着曝光时间的延长而增大,因为曝光时间越长,所收集光子的平均数量越大:信噪比SNR=\mu/\sigma=\sqrt{\mu}。曝光时间越短,量化误差越大:传感器模拟信号经模数转换器(ADC)线性量化,得到的均方误差,其中量化箱尺寸\Delta随曝光时间线性减小,如图2(a)所示。通过鼓励长曝光时间,ETTR最小化了量化均方误差,增加了收集光子的平均数量,从而提高了信噪比。

基于堆栈的HDR成像也需要三个A。正如前面提到的,焦点和白平衡不需要适应。与此相反,测光策略需要考虑场景辐照度的不同片段必须由堆栈中的不同图片进行采样这一事实。请注意,孔径设置会影响图像的景深,因此通常不应在整个堆栈中进行更改,只保留曝光时间和ISO灵敏度作为可调整的主要参数。

由于几个原因,HDR成像的测光比单幅图像的测光更加复杂。首先,在给定传感器动态范围的情况下,测光算法需要选择场景辐照度完全采样所需的实际图片数量。请注意,这可能由于实际的限制而变得复杂:一方面,对于内存和计算需求来说,大量捕获可能是不切实际的。更大的堆栈也需要更长的时间来捕捉,这使得场景内容更有可能改变或移动。它还可能会迫使拍照者在拍摄一长串照片时等待,从而降低用户体验。另一方面,该范围的稀疏采样,即,用较少的照片间隔较大的曝光时间,可能会导致注册和合并问题。其次,可能更明显的是,它需要选择多个曝光时间。提出了几种对HDR成像进行计量的策略。我们可以大致将这些方法分为三类。

不确定距离的方法使用一个标准的自动曝光算法和一个简单的曝光进程,预定义的或用户提供的(如0;+1;-1EV)。这种方法是商业产品中最常见的策略,因为从计算的角度来看,它非常有效——不需要计算。然而,这些方法并不能保证场景的辐照度会被完全捕捉到:过度或过曝光的区域仍可能出现在最终结果中。

距离感知方法通过观察图像中像素值的上百分位和下百分位来选择曝光时间。这类方法通过限制范围两端像素的数量或它们的最大和最小亮度,来保证覆盖场景中最暗和最亮的区域。Bilcu等人(2008)提出的方法就是这种策略的一个例子:对单个图像进行测光后,再选择另外两幅图像的曝光时间来捕捉场景的高光和暗区。为了找到范围的实际范围,他们在播放取景器帧时迭代地改变曝光时间。由于它们总是捕获三幅图像,因此产生的堆栈可能比需要的要大,在噪声特性方面也不是最优的。Gelfand等人(2010)采用了类似的策略,但允许曝光次数根据特定场景的实际范围而变化,尽管它们限制了图像之间的最大停顿次数。

噪声感知方法模拟摄像机系统的噪声特性,有时甚至考虑场景的辐射分布。例如,Hasinoff等人(2010)提出的噪声模型表明,在给定的时间预算下,采用较高的ISO设置有利于信噪比:增益在量化前对信号进行增强,从而降低ADC噪声的影响。基于这一观察结果,他们提出了一种最佳的、尽管与场景无关的、基于堆栈的HDR曝光时间的选择。一个密切相关的解决方案是谷歌NEXUS设备上可用的HDR+模式(Levoy, 2014)。他们没有选择不同的曝光方式,而是用相同的曝光时间拍摄一组照片,选择尽可能短的曝光时间以避免饱和度。由于光子射击噪声和ISO噪声的随机性,将不同的图像合并在场景的黑暗区域会产生更高的信噪比。然而,这个策略似乎并没有解决量化噪声的问题,正如上面提到的,在短曝光的情况下,量化箱的大小是很大的,量化噪声是一个特别紧迫的问题。

其他噪声感知方法根据场景辐射的实际分布确定最佳曝光顺序。利用这些知识,这些算法可以产生一个更小的堆栈,具有更高的信噪比。Granados等(2010)对线性相机图像形成过程中的不同噪声源进行了准确分析,贪婪地根据给定目标信噪比的曝光时间和实际曝光次数确定最佳叠加。为了预测特定场景的信噪比,他们假定对场景辐照度直方图有先验知识。这也与Chen和El Gamal(2002)的工作相似。Gallo等人(2012)的方法从两方面扩展了这些方法。首先,提出了一种计算特定场景辐照度的实际HDR直方图的策略。其次,它为一个通用相机响应函数找到全局最优的堆栈,使其能够使用为非线性图像设计的合并策略。图3为Gallo等(2012)方法的结果。

当测量过程完成后,选择的图像可以被顺序捕获。在下面的部分中,我们将讨论合并得到的LDR图像所涉及的处理。

3. From low dynamic range to high dynamic range

一旦选择和捕获了必要的LDR图像,就需要将它们组合到单个辐照度图中。在整个小节中,我们假设摄像机是稳定的,并且在获取堆栈期间捕获的场景是静态的;换句话说,传感器中给定的像素p在整个堆栈中测量相同的辐照度E(这些假设在第4秒将被放宽)。我们将进一步假设,在整个堆栈中唯一变化的参数是曝光时间texp,可能还有ISO增益g。在不失一般性的前提下,我们将两者都包含在变量t = texp·g中。

测量的能量密度(焦耳/m2),通常被称为曝光,然后可以建模为:

X_{i}(p)=E(p).t_{i}(1)

其中i为堆栈中特定LDR图像的索引。Eq. 1被称为倒易假设,因为它说明当辐照度变化一个因子k时,曝光Xi(p)可以保持不变,但照射时间t也变化一个因子1/k。Bunsen和Roscoe首次报道了这种效应。

有两种主要的方法来组合来自LDR图像的信息。第一种方法直接作用于像素的数字值,从不估计潜在的辐照度图(这些方法通常称为“曝光融合”方法,见3.2.3节)。第二种方法在辐照度域中工作,计算实际的HDR映射。后者需要辐射校准,即确定一个像素的数字值与对应的辐照度之间的映射的过程(直到一个比例因子),我们将首先讨论。稍后,我们将描述将LDR图像合并到最终的HDR辐照度图中的不同策略,并通过讨论曝光融合技术来结束本节。注意,色调映射,压缩动态范围的过程,使图像可以在常规的低动态范围显示,将不在本章中讨论,但将在本书的第二部分中讨论。

3.1 Radiometric calibration

式1描述了像素p处的辐照度E(p)(W/m^{2})与对应的能量密度Xi(p)(J/m^{2})之间的关系。然而,我们不能总是直接访问X。在模拟相机中,胶片的不透明度与曝光有关,通过高度非线性的曲线称为特征曲线(或Hurter Driffield)。在CCD和CMOS相机中,我们经常可以获得原始值,这些原始值与曝光X是线性相关的。然而,制造商采用了精心设计的传输函数,既压缩了数据,又提高了最终图像的质量,如图4所示。这些曲线与图像处理管道其余部分(如白平衡)应用的任何其他线性和非线性过程相结合,可以组合成一个函数f,称为相机响应函数(CRF):

Z_{i}(p)=f(X_{i}(p))=f(E(p).t_{i})(2)

式中Zi(p)为第i次曝光中与像素p相关联的数字值。如果我们知道CRF的倒数,我们就可以估计出像素处的辐照度:

\tilde{E}(p)=f^{-1}(Z_{i}(p))/t_{i}(3)

严格地说,CRF f是不可逆的,因为它是饱和的,因为所有的像素的辐照度超过一定的值映射到最高的数字值。此外,量子化过程将一组有限的辐照度值映射到同一存储单元。因此,函数f不是一对一的,不能倒转;毕竟,如果它是可逆的,就可以从单个图像中恢复完整的辐照度。尽管有这样的观察,我们还是遵循传统的表示法,并说辐射定标是估计CRF的逆的过程,g=f^{-1}。通过反函数,我们仅仅是指一个查询表,将非线性值Zi重新映射到与原始辐照度Ei、饱和度和量子化线性相关的值。

虽然对于辐射定标提出了不同的算法,但一般认为CRF是固定的;然后可以通过对相同场景(每个像素处相同的辐照度)拍摄不同曝光时间的多张照片进行采样。如果要准确估计CRF,那么最重要的假设是堆栈中的图像之间CRF不会发生变化。然而,值得指出的是,相机制造商花费了大量的精力来优化最终图像的视觉质量,有时为了实现这一点,他们会将CRF调整到特定的场景中(Kim et al., 2012);这对估计过程的总体准确性造成了限制。

相机制造商通常不愿分享关于CRFs的信息,CRFs是他们处理受欢迎的廉价传感器生产的低质量照片所必需的秘密武器。然而,在进行辐射校准时,有几个假设是相当安全的。首先,通常认为f是单调的。f在空间上是一致的,这也是很自然的。

关于辐射定标的文献很多。然而,基于他们对CRF形状的假设,大多数方法可以分为两类:参数和非参数方法。在第3.1.1节和第3.1.2节中,我们描述了这两类中的一些代表性方法。少数方法探讨了从单个图像估计CRF的可能性,但由于该类与之前的分类是正交的,所以我们在3.1.3节单独描述它。

3.1.1 Parametric methods for radiometric calibration

尽管CRF可以因相机而异,甚至对于同一台相机但场景不同,但它的形式不太可能太奇异。基于这一观察,一些方法假定CRF具有特定的功能形式,并尝试使用不同的策略来估计它。

Farid(2001)假设CRF是一个简单的伽马函数Z=X^{\gamma },在这种情况下,辐射校准过程被简化为估计\gamma。然后,他观察到,伽马压缩信号会在图像频谱中引入高阶谐波。有了这个,他估计了

\underset{\gamma}{argmin}=\sum_{w1,w2\in [0,2\pi)}|B(w1,w2)|(4)

其中B是Z的傅立叶变换的双相干性,是谐波相关频率相关性的度量(Farid, 2001)。

Mann和Picard(1995)在他们关于HDR的研究中假设CRF的形式稍微一般一些:Z=\alpha+\beta X^\gamma。估计a,基本上是相机的黑电平,
他们使用镜头盖拍摄的照片,通常称为暗框。然后,假设要配准的图像,它们计算一对图像的强度值的交叉直方图。例如,对于8位图像,这是一个256x256二维直方图,其中bin(r,c)包含Zi(p) = c和zj(p) = r这样的像素数。参数(\beta,\gamma)然后通过回归得到。Mann(2000)后来通过考虑CRF的一些不同的分析形式扩展了这项工作。

Mitsunaga和Nayar(1999)提出了CRF逆的多项式形式。具体地说,

X=f^{-1}(Z)=\sum_{k=0}^{K}c_{k}Z^{k}(5)

K是多项式的阶数。给出曝光时间比R_{i,i+1}的粗略估计,CRF的准确比值和逆比值为

\underset{\{{c_{n}\}},R_{i,i+1}}{argmin} \sum_{i} \sum_{p} (\sum_{k} c_{k}(Z_{i}(p))^{k}-R_{i,i+1}\sum_{k} c_{k}(Z_{i+1}(p))^k)^2(6)

这是一个简单的LS优化,可以迭代求解Ri,i+1和多项式系数{Cn},直到收敛。

Grossberg和Nayar (2003a)放宽了CRF具有特定分析形式的假设。他们首先观察到,在CRFs是单调的假设下,CRFs的空间是凸空间,因此CRFs的线性组合仍然是CRF。在收集了大量的真实CRFs后,\{f_{j}\}_{j=1:J},计算协方差矩阵的前M个特征向量,其元素定义为:

C_{r,c}=\sum_{j}(f_{j}(X_{r})-\bar{f}(X_{r}))(f_{j}(X_{c})-\bar f(X_{c}))(7)

其中\bar f=1/J\sum_{j=1}^{J}f_{j}, X是不同的曝光值,(r,c)是协方差矩阵中的bin。

他们表明,只要M = 3个特征向量就能捕捉到99.5%的能量,而使用M = 9个特征向量就能生成与地面真理在视觉上无法区分的曲线。这种方法是准确和非常有效的,这就是为什么有几个方法使用它的原因,我们将在后面几节中看到。

3.1.2 Non-parametric methods for radiometric calibration

对CRF的分析形式作出明确的假设是没有必要的。毕竟,辐射校准可以简化为计算将数字值映射到辐照度(或曝光)估计值的查找表,同时尊重某些属性。

Debevec和Malik(1997)在一篇可能是最普及的基于HDR堆栈的现代成像的开创性论文中,使用了最小二乘法来恢复相机响应函数的逆和辐照度值,同时使恢复后的响应平滑:

\underset{E,g}{argmin}\sum_{i,p}(E(p)-g(Z_{i}(p))/t_{i})+\lambda\sum_{z=Z_{min}}^{Z_{max}}g^{''}(z)(8)

其中g=f^{-1}。从本质上说,第一项强制要求满足Eq. 3,而第二项鼓励恢复的CRF的平滑性。式8中\lambda的变化对估计CRF的整体形状有很大的影响;由于这个原因,他们的方法可以被看作是将堆栈中的图像转换到相同域的一种方法,而不是执行精确的校准。

Lee等人(2013)敏锐地观察到,对堆栈中不同图像的曝光Xi的估计应该是线性相关的。更正式地说,用N张曝光图像表示为列向量的矩阵[X1;X2;:::;XN],应该有rank 1。利用矩阵O = [Z1;Z2;:::;ZN],其中各列为观测图像,则CRF g的逆可以求为

g=\underset{g}{argmin} rank(g\otimes O)(9)

操作符在这里表示函数的元素级应用程序。

从数值上考虑,作者建议尽量减小g\otimes O的前两个奇异值的比值(也称为条件数),而不是使矩阵的秩最小。作者提出了解决的办法

g=\underset{g}{argmin}\phi (g\otimes O)+\lambda \sum_{Z_{i}} H(\frac{\partial g}{\partial Z}|_{Z_{i}})(10)

其中\phi (.)是矩阵的第一个条件数,H(·)是Heaviside阶跃函数,其自变量非负为1,否则为0。第二项鼓励单调性:它增加了一个与g减少的点数成比例的惩罚。

另一个有趣的方法是Kim等人(2012)的研究。基于他们对JPEG加上使用不同相机和设置拍摄的原始图像的大型数据库的分析,他们提出,按照传统定义和估计,单个CRF不足以解释相机内的所有处理步骤。他们观察到,相机执行的全域映射是场景的功能,或者更具体地说,是图像风格的功能。因此,他们提出了如下的图像形成模型:

Z=f(h(T_{s}T_{w}X))(11)

其中h(·)为色域映射,Ts为sRGB转换矩阵,Tw为白平衡矩阵。关键的观察是,为了提高JPEG图像的视觉质量,精心适应场景类型的色域映射可能不利于CRF的逆估计。然而,他们假设受色域映射影响最大的像素是高度饱和的像素(即,在HSV颜色空间中,它们具有较高的S值),表明将它们从CRF的计算中移除,可以得到更准确的结果。

实际上,本节中描述的所有方法都要求完全配准输入堆栈;换句话说,它们假定像素p处的基本辐照度在整个堆栈中是相同的。Grossberg和Nayar (2003b)提出通过估算强度映射函数(IMFs)来克服这个限制。这个想法与comparagrams类似(Mann and Picard, 1995): IMFs捕捉堆栈中两个图像之间亮度值的变化。然而,他们并没有构建两个图像的交叉直方图(隐含地假设了配准),而是查看亮度的累积直方图:\small C(\tilde{Z})=\sum_{Z=0}^{\tilde{Z}}H(Z),其中H是图像的直方图。累积直方图的优点是对场景中的小运动具有鲁棒性。给定两个图像C1和C2的累积直方图,IMF \small \tau _{1,2}很容易计算:

(12)

最近,Badki等人(2015)提出了一种特别设计的算法,用于解决具有显著运动的场景的辐射定标问题。他们的方法建立在Grossberg和Nayar (2003b)的工作和Lee等人(2013)的最小化等级的辐射校准方法的基础上。首先,受胡等(2012)方法的启发,他们将Grossberg和Nayar的方法扩展到大运动中,提出了一种新的基于ransac的计算IMFs的方法,该方法对大运动具有鲁棒性。其次,将求解Grossberg和Nayar CRF的最小二乘优化问题替换为Lee等人的秩最小化方案。然而,Lee等人的原始方法在优化中使用了人工倾向的像素级对应,所以Badki等人重新制定了优化,将这些对应替换为IMFs。结果表明,该算法即使在重要摄像机和场景运动的情况下,也可以求解CRF。

3.1.3 Single-image methods for radiometric calibration

到目前为止,我们所描述的方法假定同一场景的多个图像Zi是可用的,基本上允许测量CRF的不同部分。然而,辐射定标也可以在单个图像上进行,尽管精度可能较低。在基于堆栈的HDR成像环境中,当跨堆栈的CRF相同的假设不成立时,单图像方法可能是有益的。

Matsushita和Lin(2007)利用了这样一个事实,即摄像机系统中不同的噪声源可以用对称分布来建模:累积噪声分布也应该是对称的,任何偏离整体对称的结果只会导致CRF的非线性。因此,利用现有的方法估计单个图像的噪声分布,将辐射定标问题框定为:

\small g=\underset{g}{argmin}\xi _{\eta }(13)

其中\small \xi _{\eta }是f对噪声分布\small \eta的偏度的度量。Eq. 13实质上是说g应该恢复CRF应用到图像之前期望的噪声分布的对称性。

Lin等(2004)提出了另一种单图像方法。他们观察到,由于像素的大小有限,两个均匀区域边界处像素的辐照度是边缘两侧值的线性组合。此外,在图像空间中沿与边缘正交的方向移动,仅当CRF是线性的时,对应于在RGB空间中沿直线移动。然而,如果对像素值应用非线性CRF,这些线性段就会变成曲线。因此,他们使用Grossberg和Nayar (2003a)的方法对CRF进行参数化,并制定了一个优化问题,其中g的解决方案最大化了交叉图像边缘的几个片段在RGB空间中的线性度。

Lin等(2004)基于同样的思想将该方法推广到单个灰度图像:边缘像素的辐照度值应该是边缘两侧区域辐照度的线性组合。然而,由于没有颜色可用,他们通过边缘上的斑块来观察强度的直方图。这些直方图应该是大致一致的,因为点扩展函数,加上有限的像素大小,在平滑的梯度中旋转锐利的边缘。他们再次提出了一个优化问题,其中逆CRF是最大化不同边缘斑块直方图均匀性的函数。

本节所述方法不打算作为辐射定标方法空间的完整测量;相反,它们旨在提供对最常用策略的洞察。提出了许多其他相关方法,如方法模型和估计的噪声特征传感器(Tsin et al .,2001;Granados et al .,2010),方法基于概率框架(xiong et al .,2012),或者使用视频序列算法,CRF也可能改变从帧到帧(Grundmann et al .,2013)。

3.2 Merging the LDR images into the final HDR result

我们在3.1节中描述的辐射校准过程,本质上是将不同曝光时间捕获并使用非线性算子处理的图像映射到相同的线性域。在这个域中,辐照度\small \tilde{E}(p)的估计值可以被计算为跨堆栈的相应像素值的线性组合:

(14)

在这里,我们不显式地依赖权重wi(·),因为对于不同的方法,它们可以是像素值Zi(p)或曝光Xi(p)的函数。Eq. 14是将多个LDR图像合并成一个HDR图像的大多数方法的核心,不同方法的区别在于加权w的实际定义。这些权重会对最终的辐照度估计的质量产生很大的影响,因为堆栈中的不同图像通常会受到不同数量的量化噪声、光子射击噪声、热噪声等的影响。

Debevec和Malik(1997)在他们的论文中观察到,剪切(饱和度或曝光不足)导致的非线性限制了这些像素真实曝光X的恢复精度。因此,他们根据经验为w定义了一个简单的三角形函数,该函数衰减了曝光接近范围两端的像素的贡献:

\small w_{DM}(Z)=min(Z-Z_{min},Z_{max}-Z)(15)

其中[Zmin;Zmax]为像素值的范围。Mann和Picard(1995)采用了类似的解决方案,但更准确地量化了堆栈中每个图像提供的辐照度估计值的质量。具体来说,他们建议考虑CRF引起的量化粒度。当CRF较陡时,从X到数字值Z的映射产生较低的量子化误差;相反,在CRF更平坦的地方,暴光轴的较大范围被映射到相同的数字值。因此,他们将权值定义为

\small w_{MP}(X)=f^{'}(X)(16)

注意,式16只考虑了量化噪声,忽略了其他噪声源。Mitsunaga和Nayar(1999)通过在权重计算中明确考虑信噪比,扩展了Mann和Picard的工作:

\small w_{MN}(X)=SNR_{X}.w_{MP}(X)=\frac{X}{\sigma _{X}}.f^{'}(X)=\frac{g(Z)}{\sigma_{X}}.\frac{1}{g^{'}(Z)}\approx \frac{g(Z)}{g^{'}(Z)}(17)

再次,\small g=f^{-1},在等式的最后一步,噪音sX被认为是独立于水平本身,因此下降。正如Granados等人(2010)所指出的,对于线性相机,我们可以写成wMN(X) = t,因为每个LDR中的其余项都是相同的。

Robertson等(2003)采用加权最小二乘法,其中每个像素对误差的贡献由式16中Mann和Picard的权值wMP进行加权:

\small E_{rr}=\sum_{i,p}w_{MP}(X_{i}(p))(X_{i}(p)-t_{i}\tilde{E}(p))^{2}(18)

可以使权重最小化:

\small w_{R}=w_{MP}.t^{2}(19)

3.2.1 Maximum likelihood estimation

更有理论依据的方法是计算辐照度Ee(p)的最大似然(ML)估计值(Tsin et al.,2001;Granados et al,2010)。给定两个来自堆栈中不同图像的辐照度估计值Ei(p) =Xi(p)=ti,我们寻求计算:

(20)

这里我们忽略了像素p对清晰度的依赖。我们可以假设观测结果来自于两个独立的高斯分布\small N(E_{i},\sigma_{i})。然后我们可以写:

\small p(\tilde{E}|E_{1},E_{2})=\frac{p(E_{1},E_{2}|\tilde{E})p(\tilde{E})}{p(E_{1},E_{2})}\propto p(E_{1}|\tilde{E}).p(E_{2}|\tilde{E})(21)

这里我们做了均匀先验分布的一般假设。将Eq. 21代入Eq. 20,取对数,可以写成:

\small \tilde{E}=\underset{\tilde{E}}{argmax}p(E_{1}|\tilde{E}).p(E_{2}|\tilde{E}) =\underset{\tilde E}{argmin}\frac{(E_{1}-E)^2}{\sigma_{1}^{2}}+\frac{(E_{2}-E)^2}{\sigma_{2}^2}(22)

通过将Eq. 22对\small \tilde{E}的导数设为0,可以得到\small \tilde{E}的ML估计值:

(23)

从中我们可以看到\small w_{ML}=1/\sigma_{i}^2。有几种方法基于这个结果,通过观察权重至少应该考虑到像素值的不确定性。这方面的首次尝试是Tsin等人(2001)的工作。将白平衡建模为曝光X的仿射变换,对传感器进行光子射击噪声和热噪声的标定,将权重定义为:

\small w_{T}=\frac{1}{\sigma(Z)}(24)

式中\small \sigma(Z)为信号的标准差,由辐照度估计的残差测得。Kirk和Andersen(2006)也使用ML权重:

\small w_{KA}=\frac{1}{\sigma(X_{i}/t_{i})}=\frac{t_{i}^2}{\sigma(X_{i})}\approx \frac{t_{i}^2}{\sigma(Z_{i})g^{'}(Z_{i})^2}(25)

可以说,最完整的噪声模型是由Granados等人(2010)提出的。他们也使用了最大似然权值,但通过考虑空间和时间噪声,改进了之前的工作,后者的建模也比其他方法更精确。并对摄像机噪声参数进行了预校准,避免了噪声估计的不确定性对辐照度估计造成污染。

3.2.2winner-take-all merging schemes

一些研究人员提出了一种不同的方法,从一堆LDR图像生成HDR映射。他们的工作是基于观察到,在叠加中曝光时间最长的图像也是量化噪声最小的图像,也是受光子发射噪声影响最小的图像(另见第2节)。根据这一逻辑,在Mann和Picard(1995)之前的工作中,Madden(1993)建议通过对每个像素p使用最长的非饱和曝光,将HDR堆栈中的不同图像组合在一起。Tocci等人(2011)提出了类似的方法。然而,他们也建议在每个LDR图像的有用范围的最顶端和最底部混合辐照度估计值,以防止过渡区域的条带伪影。另外,Tocci和他的同事在Bayer域中工作,当颜色通道的子集饱和时,防止由于去马赛克而造成的伪影,并基于邻域来评估像素估计的可靠性。

3.2.3 Exposure fusion methods

到目前为止,我们描述的HDR方法包括辐射校准,然后是一个合并过程,生成最终的HDR结果。要在常规监视器上显示,需要对HDR映射进行tonemapped。一种正交方法是将图像直接融合在非线性亮度域中。这类方法中最流行的是Mertens等人(2007)的曝光融合。其简单有效的方法避开了曝光值习的估计,直接将数字值Zi进行混合。为了反映像素值的质量,作者定义

\small w_{ES}=w{s}.w_{c}.w_{e}(26)

其中,颜色饱和度权重ws,鼓励更生动的颜色,wc,对比度权重,惩罚低对比度,而we,充分曝光的权重,喜欢像素接近中间的范围。直接将该方法应用到图像中,由于相邻像素权重值的突变,可能会导致可见接缝。为了防止这些伪影,Mertens等人将图像分解为拉普拉斯金字塔,并将其与权重图的高斯金字塔分解相结合,生成最终图像。同样,与式14不同,wEF用于数字值Zi的加权平均值。在非线性亮度域中直接合并图像有优点也有缺点。一般来说,它会生成看起来很自然的结果,而标准HDR管道所需的调理过程通常会生成不自然的对比图片。此外,由于配准错误而产生的伪影通常会被加权过程所衰减。同时,它也不会产生实际的HDR辐照度图,这对计算机视觉任务是有利的。最后,当叠加图像之间的亮度差异过大时,可以引入高斯金字塔分解权值产生的伪影。基于这一思想,有几种方法可以提高计算效率(Gelfand et al., 2010),嵌入deghost(Zhang and Cham, 2010;a等人,2011;或者干脆提出不同权重(Shen et al., 2011)。

4. Handing artifacts from motion for HDR imaging

上一节描述的算法假设场景是静态的,摄像机是稳定的。然而,当LDR图像的堆栈在相机或场景运动的存在下被捕获时,不同曝光之间的失调会在最终的HDR结果中产生幽灵般的伪影(见图5(b))。由于这是一种常见的场景,所以对于实际的HDR捕获来说,处理运动工件是一个重要的问题。事实上,关于这个主题有大量的研究,其中一些我们将在这里进行调查。这些方法通常被称为HDR去鬼影算法,因为它们从最终的HDR结果中去鬼影(或删除鬼影伪影)。需要对单个算法进行详细解释或者进行全面比较的读者,可以参考被引用的原始论文,以及该领域的调查论文(Srikantha and Sidibe, 2012;Hadziabdic等,2013;Tursun等,2015)。

在我们开始之前,我们注意到基于堆栈的HDR重建方法不能总是在场景是动态的情况下恢复实际的HDR图像,至少不像实际的HDR相机那样。例如,考虑图6所示的情况,亮窗前的排球在两幅图像堆栈中占据不同的位置。在被选择为参考的长曝光中,窗口几乎完全饱和,没有提供有用的细节。理想情况下,我们可以从短曝光中恢复这些信息,短曝光可以很好地捕捉到窗外的场景。不幸的是,在第二帧中,球移动了,挡住了窗口的部分视线,使得我们无法捕捉到它背后的场景。由于该信息在堆栈的任何图片中都不可用,因此我们无法重建一个HDR图像,该图像将准确地再现参考图像捕获时场景的结构,如图6(c)所示。然而,我们将讨论的一些消隐算法能够重建可信的HDR结果,即使是在极端情况下。此外,它们提供了唯一实用的方法来捕捉动态场景的HDR图像使用传统数码相机。

以往的去鬼影工作主要分为两大类:(1)基于拒绝的算法和(2)对齐算法。基于拒绝的算法假设场景大部分是静态的,使用拒绝技术来消除运动伪影,而对齐算法则在图像之间执行某种非刚性配准,以便将它们合并在一起,生成最终的HDR结果。每种算法都有优点和缺点,我们将在下面进行高水平的讨论。然而,在我们开始讨论两种主要的去鬼影算法之前,我们注意到两种方法都可以首先通过下一节中描述的简单的、刚性对齐的方法来处理小摄像机运动的伪影。

4.1 Simple rigid-alignment methods

一个简单的刚性对齐预处理过程(例如,使用旋转、平移或单应性矩阵来对齐图像)常常可以从小的摄像机动作中消除许多工件,从而使包含大部分静态对象的图像更容易消除。当然,这种严格的配准并不能解决视差(由摄像机平移引起的)或高度动态场景引起的伪影问题。然而,当摄像机的运动相对较小且场景没有发生重大变化时,它们通常工作得相当好。

据我们所知,第一个执行简单的刚性对准预处理的方法是Bogoni(2000)的工作,他在光流对准之前应用了全局仿射对准(我们将在第4.3.1节更详细地讨论该方法)。另一种早期的方法是Ward(2003)的工作,它针对摄像机转换的工件。为了对不同曝光图像进行比较,Ward建议首先将其转换为中值阈值位图(MTBs),大于图像中值的像素为1的二进制图像。这种策略源于这样一种观察:当对图像应用其他潜在的转换(如边缘运算符)时,来自不同曝光图像的MTBs彼此之间的相似度更高。MTBs可以通过简单地对MTBs的像素进行XORing来度量配准质量,以查看它们的不同之处。最优的转换是使MTB中的1的数量最大化。为了尽量减小接近中值阈值的像素对噪声的影响,Ward排除了距离阈值在噪声容忍范围内的像素。这个过程可以通过金字塔的方法来加速,在那里平移对齐是计算在粗糙版本的图像,然后在更高的分辨率细化。这种多尺度方法还可以减少收敛到局部最小值的机会。

Tomaszewska和Mantiuk(2007)在后续的工作中提出了一种不同的刚性对准方法,即利用SIFT对每张图像中的关键点进行提取,并找出它们之间的对应关系。然后,他们使用RANSAC消除伪匹配,以估计可用于预扭曲图像的单应性。然后可以使用第3节中描述的任何方法合并这些扭曲的图像。最后,这些不同风格的方法是更高级算法的常见预处理步骤,我们将在下一节中看到。

4.2 Rejection algorithms for HDR deghosting

基于拒绝的算法假设最小的场景运动和一个静态相机,这样只有很少的像素实际显示运动。如果相机轻微抖动,可以应用一个简单的刚性配准过程(如前一节所述)作为预处理来对齐图像并满足这个假设。由于大多数像素在这些假设下不会表现出任何运动,因此最终的HDR图像的大部分都可以使用第3节中描述的静态场景的标准HDR合并过程进行计算。为了防止在受运动影响的像素处产生伪影,只有在这些位置被认为是静态的图像才会被合并。

因此,这些拒绝算法的挑战是检测受运动影响的像素,并从堆栈中选择可以在相应位置使用的像素。这些算法通常很容易实现,而且相当快,因为它们只需要检测偏离预测值的运动像素。此外,由于它们的设计,它们通常能够成功地完全消除鬼影伪影,但有时不得不在某些区域重构的动态范围范围上做出妥协。

然而,拒绝算法确实有严重的缺陷。也许最重要的是,这些方法不能处理移动HDR内容,因为它们通常会从堆栈中丢弃包含移动的像素。例如,假设一个场景中有一个移动的物体,其亮度的动态范围太高,无法被单个图像捕捉到(例如,一个移动的人,部分处于阴影中,部分处于阳光直射下)。基于拒绝的技术不能正确地重建HDR图像,因为这些方法只能在图像的堆栈中合并相应的像素,而不能补偿运动(即,它们不会移动内容)。在这些情况下,HDR辐照度范围的不同部分可以通过栈中图像的非重叠区域来测量,因此无法将栈中单个像素的值组合起来得到合适的HDR结果。因此,总的来说,拒绝算法在从复杂的动态场景重构HDR结果方面没有我们将在4.3节稍后讨论的基于配准的算法有效。

然而,基于拒绝的技术是有用的研究,因为他们产生的结果通常不受运动工件的影响。我们可以将基于拒绝的方法分为两类,我们将在后面几节中对此进行描述:(1)那些不选择一个参考图像和尝试使用所有图片同样的信息(通常只产生一个图像的静态部分的场景),和(2)选择一个映像在堆栈参考(产生一个HDR的目标结果就像这张图片)。

4.2.1 Rejection methods without a reference image

不定义单个参考图像的拒绝方法是基于观察到小的移动对象往往会影响图像在整个堆栈中的不同区域。因此,如果LDR图像的堆栈足够大(通常是5个或更多的图像),那么像素p就有可能捕获大多数图像中场景静态部分的辐照度。然后,这个类别的方法提出了一个模型,用于像素p在表示静态对象时在堆栈中应该如何表现,并丢弃不遵循该模型的堆栈中的Zi(p)值,因为它们可能会受到移动的影响。然而,这些方法遇到的问题是,相邻像素可能来自不同的曝光子集,其中对象可能位于不同的位置,这将引入可见的不连续点。为了最小化这些影响,这些算法通常会识别从一个(或多个)输入LDR图像中可以连贯绘制的像素集群或像素组。

Reinhard等人(2005)在书的4.7节中描述了第一个这样做的方法。该方法假设已知CRF,将LDR图像Zi转换为相应的辐照度图像Ei。不同的图像Ei理论上应该是相同的,除了噪声、饱和度和运动,这可能会改变一些像素值从图像到图像。因此,作者提出计算每个像素p处值的加权归一化方差,以确定哪些像素受到运动的影响:

\small \sigma^2(p)=\frac{\sum_{i=0}^{N}w_{i}(p)E_{i}(p)^2/\sum_{i=0}^{N}w_{i}(p)}{(\sum_{i=0}^{N}w_{i}(p)E_{i}(p))^2/(\sum_{i=0}^{N}w_{i}(p))^2}-1(27)

Reinhard等人(2005)只口头解释了这个方程,后来Jacobs等人(2008)在数学上提出了这个方程,该方程使用加权wi来从计算中排除过曝或过曝像素,因为它们与真实辐照度的发散可能会使方差的估计产生偏差。注意,与传统的方差不同,式27中的方差被归一化为信号的实际大小。

关键的观察结果是,当跨越图像堆栈时,不受运动影响的像素的方差应该小于那些测量来自不同对象的辐照度的像素。当然,我们可以为这种差异设置一个简单的阈值来区分这两种情况。然而,这种天真的方法存在这样的问题:当从具有不同对象的不同图像中选择相邻像素时,图像会出现不连续伪影。

为了避免这个问题,不定义参考图像的拒绝方法必须将像素聚集到更大的集群中,集群中的所有像素都从堆栈中的相同图像中连贯地绘制出来。在Reinhard等人(2005)的特殊案例中,在对方差进行阈值化之后,使用侵蚀和膨胀等形态学算子来增长二值图像,以创建更大的连续区域,这些区域被识别为具有运动。为了决定在每个区域使用哪种辐照度,他们生成每个区域辐照度值的直方图,并找到不在前2%的最大值,他们认为这是离群值。然后,他们找到在有效范围内仍然包含该最大值的最长曝光,并使用每个像素的方差作为混合系数,在该曝光与原始HDR结果之间进行插值。这样,跨堆栈的方差较小的像素将使用原始HDR结果,而方差较大的像素将使用单一曝光。该算法能够产生消隐图像,同时保证每个区域从一次曝光中连贯绘制。

在另一种方法中,Eden等人(2006)首先使用基于sift的特征配准技术在不同曝光水平下对输入图像进行对齐。一旦堆栈对齐,它们将图像映射到辐照度域,并从其中一个输入图像绘制最终合成图像的每个像素。这需要两个步骤。在第一步中,他们使用对齐的输入图像的子集来创建引用全景图,该参考全景图使用图形切割覆盖所有输入的全部角度范围(Boykov et al., 2001)。然而,由于过度或过低曝光,这幅参考图像可能会有缺失信息的区域,因此它们会从图像中引入更清晰的细节,同时解决了在第二步中区域间的平滑过渡问题。这个问题通过最大流量的图形切割来最小化,从而产生最终的结果,可以平滑掉任何剩余的接缝。

Khan et al.(2006)的方法试图通过几个迭代的核密度估计来计算无重影图像,通过假设背景(静态)像素是最常见的,从而修改Eq. 14的混合权重wi。从本质上讲,他们计算给定像素是背景的一部分的概率,并在混合动态对象(而不是背景)的像素得到更小的权重时使用这个权重。为此,它们用五维向量xi(p)表示图像堆栈中的每个像素,其中i是堆栈中图像的索引,p是像素位置。这个向量包含像素值(在实验室空间)的3个LDR颜色通道以及图像上像素的坐标。

对于给定的像素p,它们在堆叠中的所有图像上选择其3×3邻域中的所有像素yi(q),由N(p)表示。 注意,堆叠中位置p处的像素不包括在该邻域中。他们首先假设所有的yi(q)都有可能是背景的一部分。像素p属于背景B的概率(由P(xi(p)|B)给出)然后可以使用核密度估计器计算:

\small p(x_{i}(p)|B)=\frac{\sum_{j,q\in N(p)w_{j,q}K_{H}(x_{i}(p)-y_{i}(q))}}{\sum_{j,q\in N(p)}w_{j,q}}(28)

其中核KH是一个5维多变量高斯密度函数,权值\small w_{j,q}表示像素属于背景的概率。在第一次迭代中,这些权重被初始化为hat函数,在精神上类似于Debevec和Malik(1997)的函数。对于后续迭代,权值可以设置为像素属于背景的概率,如式28在前一次迭代中计算的那样。但是,每次新计算的权重与hat函数的初始权重相乘时,都会不断减少在最终估计中使用过曝或过曝像素的概率。收敛后,将权值插入式14,将LDR图像合并为HDR结果。

Jacobs等人(2008)对Reinhard等人(2005)的去鬼算法进行了多方面的扩展。首先,它们预先对齐图像,就像Ward(2003)的早期工作一样,但在本例中,它们迭代地解决了在两个中值阈值位图之间最大化XOR得分的平移和旋转。在第二阶段,他们将Eq. 27的方差度量替换为表示场景中运动的局部熵度量。具体来说,他们通过观察像素p周围二维窗口内的像素值z来测量LDR图像Zi中每个像素的局部熵:

\small H_{i}(p)=-\sum_{z}P(Z=z)log(P(Z=z))(29)

其中概率函数P(Z = z)由窗口内像素强度值的归一化直方图计算得到。利用这些熵,他们计算出不确定图像U,这是图像之间的局部加权熵差:

\small U(p)=\sum_{i=1}^{N-1}\sum_{j=0}^{i-1}\frac{v_{ij}}{\sum_{i=1}^{N-1}\sum_{j=0}^{i-1}v_{ij}}|H_{i}(p)-H_{j}(p)|(30)

式中vij = min(wi(p),wj(p)),权重wi(p)和w j(p)采用式15中的Debevec和Malik s三角函数计算,Zmin = 0.05, Zmax = 0.95。直观的感觉是,静态区域在LDR图像上具有相似的局部熵度量,即使它们是靠近边缘的,这可能会由于相机的轻微运动而增加方差。该方法也不需要CRF的先验知识,因为熵的测量可以在LDR域中完成。与前面的方法一样,这个不确定图像被阈值化,得到的二值图像被腐蚀和膨胀,以产生受运动影响的连续区域。此时,每个区域都填充来自该区域内未过度或过曝的辐照度图像Ei的值,并与原始HDR值混合以避免边界处的伪影。

Sidibe等人(2009)观察到,由于相机响应曲线单调递增,当ti < tj时,整个堆栈的像素p值应随曝光时间增加:Zi(p) <=zj (p)。因此,他们建议将这种顺序关系至少中断一次的区域作为鬼影区域来识别。当然,可能会有一些运动保持这一顺序,但不会被检测到。在鬼影区域,他们使用他们认为已经捕捉到背景的输入图像,这被假定出现在大多数图像中。为了做到这一点,他们有效地计算了每个鬼影像素处辐照度值的直方图,并计算了该分布的模式,该模式是出现频率最高的值。假设该模式是背景并且将值合并在一起(忽略接近饱和或零的像素值)以形成最终的HDR图像。 为了在每个像素处获得足够的样本来计算模式,它们在堆栈中需要至少5个图像。

在另一种方法中,Pece和Kautz(2010)首先计算了Ward(2003)提出的堆栈中每个图像的中值阈值位图,并将这些二进制位图累积到所有曝光的每个像素上。不为0和N的值都被认为是运动,对这个结果应用膨胀和侵蚀的形态学算子来生成最终的运动图。在这篇论文中,Pece和Kautz展示了使用曝光融合的结果(Mertens et al., 2007),他们为运动图中的每个簇选择了最佳的可用曝光来产生他们的结果。

Zhang和Cham(2012)提出了一种类似于曝光融合的技术(Mertens et al., 2007)(见3.2.3节),因为他们融合图像而不首先生成HDR图像,而是使用一种新的一致性度量,使用图像梯度来检测运动。首先,计算堆栈中每个图像像素周围梯度的大小Mi(p)和方向\small \theta_{i}(p)。接下来,他们观察到梯度的大小可以用来确定饱和或曝光不足的像素,因为这些区域通常具有较低的梯度大小。因此,他们提出了一种可见性度量,用来表示特定像素的曝光和可见程度:

\small V_{i}(p)=\frac{M_{i}(p)}{\sum_{i=1}^{N}M_{i}(p)+\varepsilon }(31)

其中\small \varepsilon是一个小值(例如,\small 10^{-25}),以避免除以0。最后,他们观察到梯度方向可以作为一种一致性措施,以检测运动横跨曝光堆栈,因为它的不变的性质,不同的曝光。因此,计算第i幅图像相对于第j幅图像的梯度方向差如下:

\small d_ij(p)=\frac{\sum_{k\in N}|\theta_{i}(p+k)-\theta_{j}(p+k)|}{M^{2}}(32)

其中N(p)是像素p周围MxM平方邻域内像素的偏移量集合。使用该方法,可以为每幅图像计算一致性评分Si。这是通过基于其在堆叠上的梯度方向的差异为每个像素累积高斯权重来完成的:

\small S_{i}(p)=\sum_{j=1}^{N}exp(-\frac{d_{ij}(p)^2}{2\cdot 0.2})(33)

有了这些分数,对于堆栈图像i中的每个像素p,可以计算出一致性得分为:

\small C_{i}(p)=\frac{S_{i}(p)\cdot \alpha_{i}(p)}{\sum_{j=1}^{N}S_{j}(p)\cdot \alpha_{j}(p)+\varepsilon }(34)

其中\small \alpha_{i}(p)是一个简单的1,如果像素是很好的曝光,如果不是则为0。在这里,我们使用术语well exposed来定义一个值位于其范围中间的像素,比如在标准化的像素值范围内的0.1到0.9之间。这些一致性得分可以用来计算融合过程的最终权重(Eq. 26):

\small w_{EF}(p)=\frac{V_{i}(p)\cdot C_{i}(p)}{\sum_{j=1}^{N}V_{j}(p)\cdot C_{j}(p)+\varepsilon }(35)

最后的图像可以融合在一起,不需要色调映射,但不产生一个真正的HDR结果。

Granados等(2013)提出使用噪声感知模型来确定特定像素的图像堆栈值是否一致,即它们测量的是相同的静态辐照度。他们观察到,对于静态区域中的一个像素,整个堆栈的曝光值都应该在基于成像系统噪声的误差范围内。因此,他们没有使用任意的阈值来检测运动,而是将成像系统中的噪声(射击噪声和读出噪声)描述为高斯分布,使他们能够确定两个像素值之间的差异是由场景运动或噪声引起的概率。这个思想可以扩展到堆栈中的N个映像,以生成一致的子集,当组合在一起时,不会引入重影伪影。

一旦这些一致的子集被识别出来,下一个挑战是确保相邻像素从子集中连贯地绘制以避免伪影。为了做到这一点,他们提出了辐照度重建问题作为一个标记问题,通过最小化带有两项的能量函数来解决。第一个术语是一致性术语,它鼓励从图像的一致子集中选择像素,以减少鬼影。第二种是先验术语,它通过强制相邻像素应该从相同的一致子集中抽取来惩罚相邻像素之间的不一致。他们使用扩展-移动图形-切割算法来解决这个标记问题,然后将每个像素上的一致集合并在一起,生成最终的HDR结果。然而,尽管有这种图形裁剪优化,他们的方法仍然不能总是保证语义一致的结果,因此需要人工干预来解决剩余的问题。

最后,在最近的工作中,Oh等人(2015)提出了一个巧妙的秩最小化策略来求解最终的HDR图像。他们从假设栈中的图像之间有两种运动开始。第一种是由于摄像机运动而产生的全局运动,他们假定这种运动可以用单应性来建模。第二种是局部运动,他们想要消除,是由场景中物体的非刚性运动引起的。他们的主要观察结果是,如果考虑到全局运动,那么曝光图像X1,...,XN的堆栈应该是线性相关的。换句话说,如果不考虑局部运动、饱和度或噪声,全局对齐的曝光图像将只是E的缩放版本,即,Xi= E·ti。因此,他们试图通过强制列为输入LDR图像的矩阵的秩为1来消除运动伪影(即,所有列向量应该是线性相关的)。

Oh等人首先通过模拟假设的捕获全局对齐的LDR源图像的过程来解释全局运动,就好像摄像机没有移动一样。这可以写成\small \tilde{Z_{i}}=f(\tilde{X_{i}}+\eta _{i}),其中\small \tilde{Z_{i}}是用静态相机拍摄的LDR图像,\small \tilde{X_{i}}是只包含静态场景信息的理想曝光图像,是表示场景中局部运动的噪声项。因为我们可以应用一个单应算子\small \circ h_{i}来对每个输入Zi执行全局对齐,所以我们可以写入\small \tilde{Z_{i}}=Z_{i}\circ h_{i}。一旦对摄像机进行校准,使其响应曲线为线性(参见3.1小节),则可以将捕获过程建模为:

(36)

然后我们可以对这个方程中的项进行矢量化,并使用所有N个捕获的图像将它们组合成矩阵:\small Z\circ h=X+\eta。由于X的所有列都是静态场景辐照度E的缩放版本,所以它是一个rank-1矩阵。同时,如果我们假设大部分场景是静态的并且只有少数区域受到运动的影响,则\small \eta是稀疏的。 因此,从HDR图像中去除运动伪影的问题等同于通过以下优化求解rank-1矩阵X和稀疏矩阵\small \eta的问题:

 

 

你可能感兴趣的:(图像处理,HDR)