2、HDR管道

目录

 

2、HDR管道

2.1 HDR内容的获取

2.1.1结合多次曝光获取HDR图像


2、HDR管道

HDR成像是成像领域的一场革命,使人们能够使用和操纵物理上真实的光值。 本章介绍了HDR成像的主要过程,可以将其最好地称为管道,称为HDR管道。 图2.1说明了HDR管道的不同阶段。

 

 图2.1。 HDR管道处于所有阶段。 捕获并组合多个曝光图像,以获得HDR图像。 然后,对该图像进行量化,压缩和存储。 可以对图像进行进一步处理。 例如,可以提取高亮度区域并将其用于重新照明合成对象。 最后,可以使用本机HDR监视器或传统LDR显示器可视化HDR图像或色调映射的HDR图像。

第一阶段涉及HDR内容的生成。 HDR内容可以通过多种方式捕获,尽管直到最近硬件技术的局限性才意味着HDR内容捕获通常需要软件的帮助。 第2.1节概述了生成HDR图像的不同方法。 这些包括使用计算机图形从一系列静止LDR图像生成的图像,以及通过单次曝光图像的扩展生成的图像。 本节还介绍了令人激动的新硬件,它们可以实现本机HDR捕获。

由于HDR值的明确性质,HDR内容可能比其LDR对应内容大得多。 为了使HDR易于管理,必须使用有效的存储方法。 在第2.2节中,介绍了HDR文件格式。 压缩方法也可以在此阶段应用。 第8章详细讨论了它们。

最后,可以使用多种新的显示技术对HDR内容进行本地可视化。 第2.3节介绍了主要的本机HDR显示。 这样的显示器已经可供消费者使用。 但是,可以尝试使用软件解决方案来使HDR内容适应LDR显示器上显示的内容,同时尝试保持HDR观看体验。 这样的软件解决方案采用将HDR图像的亮度范围转换为LDR显示器的亮度范围的形式。 这些运算符称为色调映射(TMO),并且存在多种色调映射。 第三章详细介绍了色调映射。

2.1 HDR内容的获取

本书介绍了四种生成HDR内容的方法。 直到最近,最广泛使用的第一个方法是通过使用软件技术结合不同曝光下的许多LDR捕获来生成HDR内容。 第二个已经变得更加可行,它是使用专用硬件直接捕获HDR图像。 在娱乐行业中流行的第三种方法是使用基于物理的渲染器从虚拟环境中创建HDR内容。 最终方法是使用软件扩展LDR内容或参考HDR图像的动态范围,从包含单次曝光捕获的旧内容中生成HDR内容。

2.1.1结合多次曝光获取HDR图像

在撰写本文时,可用的家用相机和摄像机受到限制,因为它们只能捕获RAW格式的8位图像或14位图像。 在现实世界中的大多数环境中,这并不涵盖辐照度值的完整动态范围。

 图2.2。 用于生成Dorsoduro HDR图像的HDR捕获示例。 曝光时间不同的图像:(a)1/500秒。 (b)1/125秒 (c)1/30秒 通过组合(a),(b)和(c)获得HDR图像。 (d)所获得的HDR图像的亮度通道的假色渲染。

捕获HDR图像最常用的方法是在不同的曝光时间获取同一场景的多张照片,以捕获从最暗到最亮区域的所有细节。 参见图2.2。 这组图像通常称为曝光堆栈。 如果相机具有线性响应,则可以通过组合不同曝光时间下的所有记录值来恢复每个像素位置x的辐照度E。

 其中Ii是第i次曝光时记录图像线性传感器的值,∆ti是Ii的曝光时间,Ne是不同曝光时的图像数。 w(Ii(x))是一种加权函数,可消除异常值:其中一次曝光的高值将比低值少噪点; 另一方面,高值可能会饱和。 通常,中间值更可靠。 图2.3显示了w函数的一些示例。 图2.2(d)显示了使用公式(2.1)的恢复辐照度图的示例。 请注意,公式(2.1)计算的是传感器的辐照度,而不是场景的辐照度。 通常,L与E成正比。尽管现代镜头在设计上试图保持恒定的映射,但是传感器的某些区域可能会呈现不同的映射。 [172]提供了一种纠正此问题的方法:

 α测量像素的角度从透镜的光轴,d是镜头和图像平面之间的距离,和R是透镜的半径。

 图2.3。 加权不同曝光的不同w函数:Debevec和Malik [111]以及Robertson等人分别提出了DM(蓝色)和R(黄色)。 [331]使用中心值,该值被认为更可靠。 Mitsunaga和Nayar [271]提出了MN(红色),以最大化SNR和对传感器辐射变化的灵敏度。 注意,G是一个高斯函数,其中µ = 0.5和σ= 1 /√32进行了移位和归一化。

尽管某些制造商可能会提供以RAW格式捕获内容(以线性方式存储值)的可能性,但胶片和数码相机通常不具有线性响应,而是具有更通用的功能f,称为相机响应功能(CRF); 见图2.4。

图2.4。 使用两种不同的方法估算佳能550D的逆CRF的示例:(a)Debevec和Malik的方法[111]。 (b)Mitsunaga和Nayar的方法[271]。

 CRF试图尽可能多地将现实世界的动态范围压缩到有限的8/10位存储或胶片介质中。因此,需要更新式(2.1)来考虑这一特性:

 其中f-1是逆CRF,这是我们感兴趣的估计;见图2.4。 注意,由于数值精度误差,公式(2.3)会产生非常明亮的孤立像素,即椒盐噪声。 为了减少这些像素,需要在对数域[111]中计算公式(2.3),或者需要减少包含非常嘈杂像素的非常暗曝光的影响[332]。 在第一种情况下,公式(2.3)变为:

 降低公式(2.3)中暗像素影响的一种直接方法是将w按∆t2 i进行缩放,即, w在低曝光时间下的影响较小,得到:

 这称为平方域合并。 注意,可以基于过滤[16]或捕获图像的最佳子集[164]以使SNR最大化来采用更复杂的方法。

 

 list2.1显示了用于将不同曝光时间的多个LDR图像组合为单个HDR图像的MATLAB代码。 完整的代码在BuildHDR.m文件中给出。 处理完输入参数后,主要功能使用堆栈中的功能RemoveCRF.m汇总每个线性化图像的贡献。 每个贡献都使用功能WeightFunction.m加权,并且可以根据合并类型(输入参数)在线性域,对数域或平方域中添加。

估算CRF。 Mann and Picard [239]提出了一种计算f的简单方法,该方法包括拟合固定f(x)=axγ+ b的不同曝光下的像素值。 此参数函数f是有限的,不支持大多数实际CRF。

Debevec和Malik [111]提出了一种简单而通用的恢复CRF的方法。 为了清楚起见,将针对灰度通道图像介绍此方法和其他方法。 对于彩色图像,需要将该方法应用于每个彩色通道。 通过将CRF应用于通过曝光时间缩放的辐照度,可以得出图像中像素的值:

 重新排列各项,对等式两边同时应用一个对数,就变成:

 假设f是一个平滑且单调增加的函数,可以使用不同曝光图像中的像素作为公式,通过最小化从公式(2.6)得出的最小平方误差来计算f和E

 其中g = f-1是CRF的倒数,M是最小化中使用的像素数,Tmax和Tmin分别是所有图像Ii中的最大和最小整数值。 公式(2.7)的第二部分是用于消除噪声的平滑项,其中函数w定义为

 Mitsunaga和Nayar[271]提出了f−1的多项式表示,可以定义为:

 此时,标定过程可简化为多项式阶数P和系数cj的估计。对于一个有两个不同曝光时间∆t1和∆t2的场景,取两张图像,比值R可表示为

 成像系统产生的亮度测量值Ii(x)通过响应函数Ii(x)= f(E(xΔti))与时间间隔Δti中的场景辐射L(x)∝ E(x)相关 。 由此,Ii(x)可以重写为E(xΔti)= g(Ii(x)),其中g = f-1。 由于成像系统的响应函数与曝光比有关,因此公式(2.8)可以重写为:

 

282/5000

其中图像的排序方式为∆t1 <∆t2,因此R∈(0,1)。 满足公式(2.9)的f -R对的数量是无限的。 通过使用多项式模型可以减轻这种歧义。 可以通过将误差函数表示为来恢复响应函数

 可以将所有测量标准化,以使Ii(x)在[0,1]中。 如果不确定的标度可以固定为f(1)= Imax,则可以引入附加约束,其遵循。 CRF的系数通过求解线性系统设置来确定:

在分析了现实相机中的201个CRF之后,Grossberg和Nayar [153]注意到,现实CRF占据了所有可能CRF理论空间的一小部分。 因此,他们提出了基于基函数的逆CRF模型:

 其中{h1,...,hP}是基函数,通过对201个实际CRF的主成分分析(PCA)计算得出,{c1,...,cP}是模型的系数,并且 h0是平均逆CRF。 使用类似于方程式(2.10)的误差函数计算模型的ck系数。

Robertson等人提出了一种不同的方法。 [331,332]。 他们的方法通过使用最大似然法估计未知的逆响应函数以及辐照度E(x),其中要最小化的目标函数为:

 其中w为高斯函数,表示用于捕获图像的成像系统中的噪声。

使用哪种逆CRF估算方法? 在从不同曝光量的LDR图像堆栈中恢复逆CRF的所有不同方法中,可能很难确定哪种方法最适合使用。 Akyu¨z和Gen¸ctav[294]研究了此问题,他们的总体建议是:Debevec和Malik算法[271]和Mitusnaga和Nayar对噪声最鲁棒,Grossberg和Nayar方法[153]最精确, Mitsunaga和Nayar [271]是最一致的。 关于准确性,没有特别的赢家。 这项工作的另一个重要结果是,在恢复逆CRF时,太暗或太亮的场景都不适合。

颜色。 注意,所提出的用于恢复逆CRF的所有方法可以扩展到针对每种色带分别应用每种方法的彩色图像。 这是因为理论上每种颜色反转CRF可以彼此独立。 但是,当计算三个不同的归一化CRF时,相对比例是未知的。 一种简单但有效的方法来确定这些缩放比例,k = [kR,kG,kB](在RGB的情况下)是通过最小化过程来保留场景点的色度[271]:

其中⊙是元素的乘积,Z是颜色值,通常将其设置为[0.5,0.5,0.5]以将中间灰色映射为R,G和B的相等辐射值[111]。

在合并期间处理异常值。 当未获得所有所需的曝光时,曝光叠堆可能具有曝光过度的像素(即,接近1的值(假设[0,1]中的标准化值))和曝光不足的像素(即,接近0的值)。 在这些情况下,归一化项。

 在方程(2.1)的所有不同变化中,都可能导致奇异。 一种解决方案是将该值钳制为一个小值ǫ> 0,即,N = max(N,ǫ)。 但是,这可能会有偏差。 在像素过度曝光的情况下,可能的解决方案是确定堆栈中曝光时间最短的第k次曝光,并将E计算为:

 

 清单2.2。MATLAB代码:处理组装后的HDR图像中的饱和值。

清单2.2显示了在不同曝光时间合并LDR图像时用于消除奇点的MATLAB代码。 完整的代码在BuildHDR.m文件中给出。 如果totWeight小于给定的阈值(较小的正值),则可能存在奇异之处。 在这种情况下,从最短曝光img sat除以其曝光时间,堆叠曝光(i sat),将掩模中所有受影响的像素都移除并替换为线性像素。

 图2.5。 为CRF估算抽取样本的不同策略:(a)空间抽样; 在空间位置之后,计算x(例如常规采样,随机采样等),然后通过在x的不同曝光时间收集LDR图像值来绘制样品。 (b)直方图采样; 通过收集给定百分位数(可以是规则的,随机的等)的水平线(虚线)与LDR图像直方图的CDF之间的交点的归一化图像值来绘制样本。

如何选择M。如果所有像素都用于计算逆CRF,这将导致计算速度相对较慢。此外,在解决优化过程时,使用大量数据可能会导致数值不稳定。引入的第一个解决方案之一是对规则或不规则进行二次采样。参见图2.5(a)。然而,这种方法是次优的,因为可能会错过重要的样本或采样区域,并且除非采用了特征匹配,否则堆栈中的所有图像都需要完全对齐[226]。 Grossberg和Nayar [152]提出从堆栈中图像的CDF直方图中提取样本。在不同的曝光时间,相应的相机传感器的值处于相同的百分位值;参见图2.5(b)。该解决方案对于缓和场景中的相机运动和人物/物体运动具有鲁棒性。对于大运动,可以采用基于RANSAC的策略[35],并使用秩最小化进行辐射度校准[221],以避免过度拟合。

校准。 相机不是测量设备,它们是用来拍摄受光祝福的生活的。 因此,就cd / m2或匹配实际颜色而言,相机值不是绝对的。 估算绝对亮度值的一种简单方法是计算第i个镜头的平均场景亮度L为:

 其中Ai是它的相对光圈(f值),∆t是它的曝光时间(秒),Si是它的ISO算术速度,而K是一个取决于相机的校准常数,在10.6和13.4之间变化[133]。 根据公式(2.12),可以计算要使用的第i张图像而不是Δti的曝光值ei。

 一个更准确的过程是测量场景的一些区域,以使用亮度计进行捕获。 但是,该设备非常昂贵,对于室外场景,通过利用天空模型以及场景的已知日期和位置也可以实现令人满意的结果[156]。 关于相机的颜色,可以使用色卡和光谱仪对它们进行预先校准,以测量色卡中的色块。 此过程称为比色表征[143,193]。 根据这些测量值和来自相机的相应值,可通过最小二乘优化计算出一个3×3的矩阵M。 该矩阵将颜色从相机的未知RGB颜色空间转换为XY Z或已知颜色空间。 Varghese等。 [390]提炼了以前的工作,并提出了详细而严格的颜色校准方法。

多少张图像(Ne)? 捕获HDR场景所需的最少图像数量为2 [111]。 但是,此数字强烈取决于场景,即HDR值在其中的分布方式。 从最长到最短的曝光时间(反之亦然),将快门时间减半(或加倍)(基本上是一个均匀的采样)的幼稚方法并不是最佳方法。 实际上,它可以产生次优SNR的图像[88,147]。 加洛等。 [138]提出了第一种通用的方法来获取最佳图像数量的信噪比和场景辐照度分布。 他们的技术利用了取景器预览中的免费计算直方图,该方法已在大多数相机或移动设备中实现。 通过收集所有曝光时间的直方图,可以估算HDR场景直方图的CDF。 根据该模型和相机噪声模型,可以计算要为每个图像设置的最小Ne和快门时间。

图像对齐和重影。 通过在不同的曝光时间组合多个LDR图像来捕获HDR图像时,理想的情况是使用固定的摄像机(即,在三脚架上)和静态场景(即,人/物/照明不动)。 这些理想条件发生在受控环境中,例如实验室,摄影器材等。

在现实世界中,这种理想条件很难实现。如果从一组LDR图像合并了HDR图像,在该LDR图像中摄像机或人/物体在帧之间移动,这将在其中出现伪像。通常,由于摄像机移动而产生的伪像被称为未对准(创建模糊的边缘),请参见图2.6(a)(绿色框),由于人/物体移动而引起的伪像被称为“鬼影”(因为它们在民俗/神话),请参见图2.6(a)(红色框)。已经提出了几种用于对准图像,去除重影或同时解决两个问题的算法。 Tursun等。 [375]提出了对最新技术的广泛详尽的审查,这些技术用于对齐图像并在捕获HDR内容时消除重影。这些方法可以基于不同的图像处理和计算机视觉算法[361],例如通过特征检测的单应性对准,光学流方法,基于斑块合成的方法,基于马尔可夫随机场的方法等。在所有这些方法中,斑块在撰写本文时,基于合成的方法是最先进的方法[174,175,343]。这些方法背后的概念是通过使能量项最小化来从曝光堆栈中的图像合成图像,以使它们应接近堆栈中的参考图像(输入堆栈中最佳曝光良好的图像)。这些方法使用PatchMatch方法[53,160]来加速最近的邻居查询。尽管即使对于运动较大的复杂场景,它们也可以产生高质量的结果(见图2.6(b)),但它们的计算量很大

 图2.6。 由于场景和摄像机移动而导致的伪影示例:(a)HDR重建中的色调映射图像,没有处理场景(红色框)和摄像机(绿色框)移动。 (b)放大(a)中的红色和绿色框。 (c)来自HDR重建的色调映射图像,在输入中具有与(a)相同的曝光量,并使用一种用于移除相机和场景运动的方法[175]。 (d)缩放(c)中的红色和绿色框。 请注意,图像更清晰(绿色框),没有重影(红色框)。

例如,在1百万像素分辨率下合并7张图像的曝光堆栈需要大约3分钟[343]。

遮住眩光。眩光是一种降低可见度的现象,因为入射光和直射光会在人眼或相机光学系统中散射[256]。在获取HDR内容时,这会导致对比度下降;见图2.7(a)。为了获得无眩光的HDR图像(请参阅图2.7(b)),Talvala等人。 [364]提出了一种新颖的捕获技术,其中将遮罩放置在相机镜头的前面。该遮罩可阻挡图像某些部分的眩光。为了捕获图像的所有部分而不会产生眩光,请将蒙版移动到镜头前面的6×6网格上,然后再次在HDR中捕获场景。最终图像是通过合并所有这些图像并在给定蒙版图案的情况下除去估计的眩光而生成的。还提出了一种基于给定相机和镜头眩光特征的反卷积方法。已证明这有两个主要局限性:主要眩光区域中的噪声,并且眩光功能的形状在像素座标处变化,因此很难正确测量。

 图2.7。(a)带眩光的色调映射HDR图像。(b)去除眩光后,色调映射HDR图像在(a)中。

值得注意的是,眩光还可以利用交叉屏幕过滤器将场景的高光和明亮部分的HDR信息编码到LDR图像中[336]。HDR信息可以通过层析重建恢复。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章