面向低照度图像增强的双曝光融合处理算法
2021-06-01刘婷婷张玉金熊士婷
刘婷婷,张玉金,熊士婷
(上海工程技术大学 电子电气工程学院,上海 201620)
在低照度条件下拍摄的图像通常会出现不同程度的质量退化,虽然专业设备和先进的摄影技术可以在一定程度上缓解这些退化,但固有原因产生的噪声是不可避免的。由于没有足够的光,相机传感器的输出易受系统的固有噪声干扰,因此输出的图像可能会在曝光不足的区域丢失部分重要信息,从而加大了计算机视觉任务的难度。相机的动态范围有限,如果增加相机曝光量来揭示曝光不足区域的信息,那么曝光良好的区域可能会出现过度曝光甚至饱和的现象。为了解决这一问题,研究人员提出了一些有效的图像增强技术[1-5]。采用这些方法虽然可以获到良好的主观质量,却不能准确地反映场景图像的真实亮度和对比度。
文献[6]在Retinex理论的基础上,提出一种新的彩色图像增强算法。根据Gray World理论,引入动态参数来提高图像的动态范围,在保持增强彩色图像高频成分的同时,较好地保留了部分低频成分。文献[7]使用熵控制的灰度分配方案来分配新的输出灰度范围,并获得新的阈值,在直方图均衡处理之前重新划分直方图。倒置的低照度图像与雾霾图像类似,因此一些研究人员采用去雾方法,将去雾结果再一次转化为增强结果[8]。大多数基于Retinex的方法通过去除光照部分得到增强结果。文献[9~10]通过保持部分照明以保持自然性而获得增强结果。文献[11]用两个增强的光照融合来调整光照分量。文献[5]设计了一个用于低照度图像增强的多曝光融合框架,并提出了一种双曝光融合算法,以提供精确的对比度和亮度增强。
本文利用一种基于人类视觉系统(Human Visual System,HVS)的多曝光融合框架增强低照度图像,如图1所示,该框架主要包括两个阶段:人眼曝光调整和人脑曝光调整。第一阶段模拟人眼调整曝光,生成多曝光图像集;第二阶段模拟人脑将生成的图像融合到最终的增强结果中。首先,利用照度估计技术来建立图像融合的权重矩阵;然后根据观测结果建立摄像机的响应模型;接着对低亮度像素和亮度分量进行定义以计算最佳曝光率,并改善原始图像曝光不足的区域,从而得到曝光良好的合成图像;最后,利用权矩阵将输入图像与合成图像融合,得到增强结果。
图1 多曝光融合框架Figure 1. Multi-exposure fusion framework
1 多曝光融合框架
多曝光融合框架主要由4个部分组成[5]:多曝光采样器、多曝光生成器、多曝光评估器和多曝光融合器。文中根据权重矩阵将生成的图像融合到最终的增强结果中。
1.1 多曝光采样器
在生成多曝光图像集之前,要确定图像数量及其曝光率。由于多曝光集中的一些图像无法提供附加信息,因此将这些图像考虑在内是对计算资源的浪费,甚至会恶化融合结果。采样器通过选择合适的曝光率,可以利用较少的图像来显示场景中的所有信息。采样器的输出是一组曝光率{k1,k2,…,kN},其中N是要生成的图像数量。
1.2 多曝光生成器
如上所述,不同曝光的图像是相关的。多曝光生成器根据指定的曝光率集将输入图像映射为多曝光图像。多曝光发生器的关键部分是相机响应模型,用于寻找合适的亮度变换函数(Brightness Transform Function,BTF)进行映射。给定曝光率k和BTFg(·),可以将输入图像P映射到曝光集中的第i个图像。
Pi=g(P,ki)
(1)
1.3 多曝光评估器
为了估计生成图像中每个像素的健康度,多曝光评估器接收一幅图像,并输出一个表示每个像素健康度的权重矩阵。权值矩阵对所有像素都是不均匀的,曝光好的像素权值较大,曝光差的像素权值较小。对所有图像评估后,输出矩阵按像素进行归一化,以确保每个像素的和等于1。
(2)
1.4 多曝光融合器
为了获得所有像素均曝光良好的图像,根据权重矩阵将这些图像简单地融合为
(3)
其中,c是3个颜色通道的索引;R是增强的结果。其他融合技术如多尺度融合[12]和增强拉普拉斯金字塔融合[13]也可以获得一定的融合效果。
2 双曝光融合算法
为了减少计算复杂度,这里只生成一个适当曝光的图像,并通过融合输入图像和生成的图像获得增强结果[1]。基于前文的框架,融合图像被定义为[5]式(4)。
(4)
2.1 多曝光评估器
W的设计是增强算法的关键,既要增强曝光不足区域的低对比度,又要保持曝光良好区域的对比度,因此对不同曝光的像素赋予不同的权重值。权重矩阵与场景照度正相关,高照度区域有很大的曝光可能性,为它们指定较大的权重值以保持其对比度。权重矩阵计算为[5]
(5)
式中,T为场景照明映射;μ为控制增强程度的参数。当μ=0时,得到的R等于P,即不执行增强;当μ=1时,曝光不足像素和曝光良好像素都被增强;当μ>1时,像素可能饱和,并且结果R遭受细节损失。为了在保留曝光良好区域的同时进行增强,经过多次实验,将μ设置为0.4。通过求解一个优化问题来估计场景照明映射T。
2.1.1 优化问题
亮度分量可以作为场景照明的估计值,采用亮度分量作为照明的初始估计[5]。
(6)
对于每一个像素x,理想照明对于结构相似的区域具有局部一致性。换句话说,T应该保留图像有意义的结构并去除纹理边缘。通过求解以下优化方程来优化T[9]
(7)
M的设计对于光照图的精细化具有重要意义。与具有复杂图案的纹理相比,局部窗口中的主边缘具有更多相似方向的梯度。因此,包含有意义边缘的窗口的权重应小于仅包含纹理的窗口的权重。权重矩阵设计为[5]
(8)
其中,|·|是绝对值运算符;ω(x)是以像素x为中心的局部窗口,取值为5;ε是一个非常小的常数,取值为0.001,以避免零分母。
2.1.2 闭式解
为了降低复杂度,文献[9]中的方程(7)可近似为式(9)。
(9)
可以看出,这个问题仅涉及二次项。设md、l、t和∇dI分别表示Md、L、T和∇dL的矢量化形式,通过求解以下线性函数可以得到相应的解[5]
(10)
其中,I为单位矩阵;Diag(v)算子使用向量v构造对角矩阵;Dd为前向差分离散梯度算子的Toeplitz矩阵。
2.2 多曝光生成器
本文利用相机响应模型实现多曝光生成器。摄像机响应模型[5]由两部分组成:摄像机响应函数(Camera Response Function,CRF)模型和BTF模型。CRF模型的参数仅由相机决定,而BTF模型的参数由相机和曝光率决定。本文首先介绍了基于两幅不同曝光图像观测的BTF模型;然后求解比较方程得到相应的CRF模型;最后确定模型参数并给出g的最终形式。
2.2.1 BTF估计
为了估计BTFg,选择一对仅曝光不同的图像P0和P1。曝光不足图像的直方图主要集中在低亮度区域,如果在传统的gamma校正之前对像素值进行线性放大,则得到的图像非常接近真实曝光良好的图像[5]。因此,使用双参数函数将BTF模型进行如下描述[5]
(11)
其中,β和γ是与曝光率k有关的BTF模型中的参数。对于一般相机而言,不同颜色通道因响应曲线近似相同而具有相似的模型参数。
2.2.2 CRF估计
在BTF模型中,β和γ是由相机参数和曝光率k确定的。为了获得它们之间的关系需要相应的CRF模型,可通过求解如下方程(将g=βfγ代入f(kE)=g(f(E)))得到[5]
f(kE)=βf(E)γ
(12)
f的封闭形式解为
(13)
其中,a和b为γ≠1时的模型参数
(14)
c是γ=1时的模型参数。
c=logkβ
(15)
通过式(13)可以导出两个CRF模型。当γ=1时,CRF模型是幂函数,而BTF模型是简单的线性函数。有些相机制造商将f设计成gamma曲线,可以较好地拟合这些相机特性。当γ≠1时,CRF模型是一个双参数函数,BTF模型是一个非线性函数。大多数相机的BTF是非线性的,因此主要考虑γ≠1的情况,BTFg(·)解为式(16)[5]。
g(P,k)=eb(1-ka)P(ka)
(16)
β和γ两个模型参数由摄像机参数a、b和曝光率k计算。这里假设没有提供关于相机的信息,使用一个固定的相机参数(a=0.329 3,b=1.125 8),该参数可以适用于大多数相机。
2.3 多曝光采样器
如前所述,本算法只生成一幅图像,因此仅需要确定生成图像的最佳曝光率。为了仅使用输入图像和生成的图像来表示尽可能多的信息,需找到最佳曝光率,使合成图像在原始图像曝光不足的区域得到良好的曝光。
首先排除曝光良好的像素,只提取低亮度像素,得到一个整体曝光不足的图像。图像亮度在不同曝光量下变化较大,而颜色基本相同,因此估计g时只考虑亮度分量。低亮度像素的场景照明映射在各通道有不同的体现,为了避免因差距过大导致亮度分量B不够准确,将亮度分量B定义为三通道的算术平均值。同时为了避免因此带来的亮度分量过大的情况,定义了低亮度像素Q
Q={P(x)|T(x)<0.4}
(17)
其中,Q只包含曝光不足的像素。亮度分量B表示为
(18)
其中,Qr、Qg和Qb分别为输入图像Q的红色、绿色和蓝色通道。曝光良好的图像比曝光不足或曝光过度的图像具有更高的可视性,能够提供更丰富的信息。因此,最优的参数k应该提供最大的信息量。为了测量信息量,利用图像信息熵
(19)
其中,pi为B的直方图的第i个bin;B计算数据值在[i/N,(i+1)/N]中的数量;N是bin的数量(N通常被设置为256)。通过最大化增强亮度的图像熵来计算最佳曝光率k。
(20)
3 实验结果与分析
为了评估本方法的性能,与近期已有的几种方法包括多通道融合的方法(BIMEF)[5]、带色彩恢复多尺度Retinex算法(MSRCR)[14]、自然保留增强算法(NPE)[10]、基于光照估计的方法(LIME)[9]、多偏差融合方法(MF)[11]、反射光照估计方法(SRIE)[15]进行比较。本文在两个公共数据集(LIME数据[9]和DICM数据[16])的低照度图像上对上述方法进行了性能评估。
3.1 算法的评价标准
本文使用亮度顺序差(Lightness Order Error,LOE)来客观地测量增强结果的亮度失真。LOE定义为
(21)
其中,RD(x)为像素x的原图P与其增强图P′亮度的相对顺序差,定义为
(22)
其中,m是像素数;⊕为异或操作;L(x)和L′(x)分别为输入图像和增强图像在x处的亮度分量。U(p,q)的输出结果为式(23)。
(23)
3.2 图像增强与对比结果
图2给出了不同场景下图像增强的视觉对比结果。其中,第1列为输入图像,第2列~第8列分别为SRIE[15]、NPE[10]、LIME[9]、MF[11]、MSRCR[14]、BIMEF[5]以及本文方法得到的增强图像。从中可以看出,各种算法均可以提高图像内容的可视性。其中,SRIE提升效果不如其他算法明显;LIME和MSRCR虽能有效提升图像亮度,却丢失了自然性;NPE、MF、BIMEF和本文算法得到的增强图像保留了图像的自然性,在视觉上是可以接受的。
图2 不同场景下的视觉对比Figure 2. Visual comparisons of different scenes
文献[9~10]采用下采样来降低LOE计算的复杂度。当图像下采样到不同大小时,由于RD将随着像素数m的增加而增加,LOE可能会显著改变。同时为了和文献[5]形成对比,本文将所有的图像下采样到一个固定大小,即均匀地收集100行和100列,形成一个100×100的下采样图像。表1给出了本文算法与其他算法在亮度顺序差上的定量测量结果。
表1 亮度顺序差的定量测量结果
综合图2和表1可以发现:虽然NPE、MF、BIMEF和本文算法得到的增强图像在视觉上相近,但本文算法具有最小的亮度失真;MSRCR的结果遭受严重的亮度失真;LIME的结果虽然在视觉上令人满意,但亮度失真明显;SRIE的结果只能在曝光良好的区域保持亮度顺序差。从表1中能够观察出本文算法在所有数据集中均优于其他算法,这也说明本文算法能够较好地保持图像的自然性。
3.3 时间成本
实验使用的笔记本电脑配置如下:Windows 10操作系统,1.6 GHz Intel(R) Core(TM) i5-8250U 处理器和8.00 GB内存。本文利用MATLAB 2018a软件进行编程仿真。
图3 不同方法在不同图像尺寸下的时间比较Figure 3. Time comparison among different methods with varying image sizes
图3为不同方法在不同图像尺寸下的时间比较结果。结合图3和表1可以看出,虽然SRIE产生的亮度失真较小,但它耗时较多; MSRCR和LIME耗时较少,但是失真较大;NPE在亮度失真和时间成本上都不能让人满意; BIMEF和MF具有较小的亮度失真和计算成本,但本文方法得到的结果均优于两者,可见本文方法能够较好地权衡亮度失真和时间代价,效率最优。
4 结束语
本文提出了一种面向低照度图像增强的双曝光融合处理算法。首先,利用照度估计技术得到用于图像融合的权重矩阵;然后,通过摄像机响应模型合成双曝光图像。鉴于不同曝光量下图像颜色基本相同,定义低亮度像素和亮度分量找到最佳曝光率,使合成图像在原始图像曝光不足的区域得到更好的曝光;最后,根据权重矩阵将输入图像与合成图像进行融合,得到增强结果。和已有算法相比,本文方法能够获得较小的亮度失真,且具有合理的时间开销。由于实际环境的复杂性,对过度曝光进行优化建模仍是一个充满挑战性的问题,未来将对此展开进一步研究。