基于局域加权叠加的高动态范围图像融合算法
2022-11-26郭露露易红伟
郭露露,易红伟
(1 中国科学院西安光学精密机械研究所,西安 710119)(2 中国科学院大学,北京 100049)
0 引言
随着光学成像场景日益复杂,应用领域不断拓展,人们对图像信息获取(如动态范围、分辨率和对比度等)提出了越来越高的要求。高动态范围(High Dynamic Range,HDR)成像技术可以拓展传统成像传感器拍摄的亮度范围,并已被广泛的应用在移动设备、机器视觉、智慧城市、医疗健康、科学研究及航空航天等领域[1]。目前,实现高动态范围成像的主要技术手段有三种:1)HDR探测器直接成像,特殊设计探测器的成像传感器、光圈或快门来实现HDR成像[2-3];2)低动态范围(Low Dynamic Range,LDR)图像融合技术,其通过加权函数对多幅包围曝光的LDR图像进行融合[4-5]。3)单张LDR图像重建,其从邻域或通过深度学习神经网络去拓展曝光不良区域的纹理细节[6]。
鉴于第一种方式存在的图像分辨率损失和造价昂贵问题,且多图像方法优于单图像方法,本文针对具有信息融合优势的多曝光图像融合技术展开了详细研究,该技术主要依据相机响应曲线(Camera Response Function,CRF)对一组LDR图像变换再加权融合重建。变换策略主要包括金字塔变换[7]、小波变换[8-9]、轮廓波变换[10-11]等,加权策略主要从HSV彩色空间[12]、双边滤波器[13]、梯度[14]、双向相似性度量参数[15]和噪声方差归一化[16]的角度进行处理。文献[17]从配准图像中估计响应曲线,再选择良好像素值估计辐照度,加权融合HDR图像。文献[18]使用照明估计滤波评估多帧图像中良好曝光度的像素。文献[19]融合高中低三幅曝光图像的像素值信息生成HDR图像。文献[20]从能量优化的角度,文献[21]从基于光流的角度,文献[22]从基于分块的角度去保持图像的一致性,有效地对齐两个图像之间的移动对象。文献[23]则从ICA多模态图像和YCbCr空间进行图像融合。目前卷积神经网络(Convolutional Neural Network,CNN)在HDR融合处理方面也开始了相关应用研究,文献[24]首先提出了将CNN应用于HDR融合处理中,利用CNN网络生成用于指导多帧图像融合的参考权重图。文献[25]通过引入注意力机制改善了特征图中用于重建的信息权重,有效消除伪像。
基于相机响应曲线的多曝光融合算法可以实现HDR融合图像总体对比度准确,图像不失真,但需要先求解相机响应曲线,再转换为辐照度进行融合。本文直接基于两幅图像像素值求解转换因子,在满足成像质量需求的同时简化运算。进而又对局域加权的窗口选择和图像融合结果评价进行了进一步研究,局域加窗会根据高亮图像像素值的曝光情况采用不同的系数对两幅图像进行融合,有效拓展了图像的动态范围,并大大降低了图像失真度。局域加权叠加算法中,各个窗口的中心像素值计算相互独立,并且对于曝光良好的像素值不必进行处理,因此大幅提升运行速度。各窗口之间独立运算的特质有望在GPU等硬件平台上实现并行处理,具备HDR实时快速成像输出的潜力。
1 基本原理
本文基于同一场景两张不同曝光量图像的角度进行高动态范围融合研究,局域加权叠加融合方法流程如图1所示,大致分为三步:1)选取高亮(High Exposure,HE)图像未饱和的像素值和低亮(Low Exposure,LE)图像中对应的像素值线性拟合,得到像素比率因子曲线,2)对HE图像局域加窗后,确定每个窗口内像素值的饱和情况,3)根据饱和情况,确定HE图像和LE图像每个像素值融合的权重系数,加权融合得到最终的HDR图像。
图1 高亮图像与低亮图像融合HDR图像示意图Fig.1 Schematic diagram of fused HDR image of high-brightness image and low-brightness image
1.1 获取像素比率因子曲线
首先,基于相机响应曲线的原理获得一组高亮图像与低亮图像对应像素值之间相互转换的像素比率因子曲线,用于将低亮图像像素值映射至高亮图像像素值区域。相机响应曲线是一组曝光度与像素值相关的单调递增函数,影响因子包括曝光时间、光圈大小以及ISO等相机参数设置。表示为
式中,Zij表示第j张图像的第i个像素的值,Δti表示每一张图像的曝光时间,Ei表示像素i的辐照度值。
假设拍摄静态场景,改变相机曝光时间,得到的高曝光图像和低曝光图像的曝光时间分别为Δt1和Δt2,图像上第i个像素对应相同辐照度的值分别为Zi1和Zi2,其中辐照度Ei不变。可知高曝光图像与低曝光图像各值像素值之间的比值为
因此,未饱和的各像素值之间的比值与两张图像曝光时间之比成正相关,曝光时间确定后,Δt1Δt2为一定值,各值像素值之间的比值也为一定值。通过对两张图像的像素值进行读取,确定HE图像中的饱和像素值与未饱和像素值,对HE图像中的未饱和像素值与LE图像对应的像素值进行对比,即可得到一张HE图像与LE图像像素值相互转换的像素比率因子曲线图。
1.2 确定HE图像窗口内中像素值的饱和情况
获取像素比率因子后,为了使融合结果边缘更平滑,对两张图像进行局域加窗处理,局域指的是高亮图像与低亮图像以每一个像素值(i,j)为中心,向四周各拓展N个像素值,即以该值像素为中心,形成一个(2N+1)×(2N+1),N=1,2,3…大小的窗口,形成以(i,j)为中心的两个图像域,读取每张图像中的(i-N,j-N)到(i+N,j+N)共(2N+1)×(2N+1)个像素值,若大于最大像素值的90%,则该像素值饱和。
根据高亮图像中心像素值是否达到饱和以及该中心值的邻域像素值是否全部饱和,中心像素值的曝光情况分为了三类:1)良好曝光:中心像素值IHE(i,j)未饱和,邻域像素值集NHE全部不饱和;2)不完全过曝:中心像素值IHE(i,j)未饱和,邻域像素值集NHE没有完全饱和或中心像素值NHE饱和,邻域像素值集NHE至少一个饱和;3)完全过曝:中心像素值IHE(i,j)饱和,邻域像素值集NHE也全部饱和。算法流程如图2所示,其中ILE(i,j)表示LE图像的第(i,j)个中心像素值,|NHE|表示LE图像窗口内的邻域像素值个数,U表示窗口内的未饱和邻域像素值的集,|U|表示窗口内的未饱和邻域像素值个数。
图2 判断像素值曝光情况的算法流程图Fig.2 Algorithm flow chart for judging pixel exposure
1.3 确定HE图像和LE图像融合的权重系数
确定HE图像中像素值的曝光情况后,分别对三种曝光情况进行图像加权融合,融合算法如图3所示。融合基本原则是充分利用高亮图像中的信息,对于高亮图像过曝区域,利用低亮图像的信息通过像素值转换,进行补充。融合结果表示为
图3 三种曝光情况的融合算法流程图Fig.3 Fusion algorithm flow chart of three exposure situations
式中,IHDR(i,j)表示HDR融合结果的第(i,j)个像素值,IHE(i,j)表示HE图像中第(i,j)个中心像素值,ILE(i,j)表示LE图像的第(i,j)个中心像素值,gLE→HE表示将第(i,j)个LE图像像素值转换为HE图像像素值的像素比率因子,α表示HE图像的中心像素值在融合结果中的权重系数,由HE图像中的邻域未饱和像素值的占比决定,表示为
式中,NHE表示HE图像窗口内的邻域像素值,|NHE|表示窗口内的邻域像素值个数,U表示窗口内的未饱和邻域像素值的集,|U|表示窗口内的未饱和邻域像素值个数。
首先对于曝光良好的IHE(i,j),NHE全部未饱和,|U|=|NHE|,α=1,融合结果为
对于不完全曝光的IHE(i,j),分为以下两种情况。
若IHE(i,j)未饱和,邻域像素值集NHE没有完全饱和,0<|U|<|NHE|,0<α<1,融合结果表示为
若IHE(i,j)饱和,邻域像素值集NHE至少一个饱和,0<|U|<|NHE|,0<α<1,融合结果表示为
NLE(i,j)m表示LE图像第(i,j)个中心像素值窗口内的第m个邻域像素值。然后对NHE中未饱和的像素值进行加权
NHE(i,j)m表示中心像素值(i,j)的NHE中第m个邻域像素值,Rm是第m个邻域像素值融合的权重系数。
最后对于完全过曝的像素值,|U|=0,α=0,融合结果为
2 实验结果与分析
2.1 选择局域处理窗口
为了验证局域加权叠加算法的有效性,选取Bottle和Airport两组典型多曝光融合测试组图,在这些图片中选取曝光良好的图像作为对比的基准图像,高亮图像和低亮图像作为融合样例。选取测试组图中同一场景下的高亮和低亮图像,对两幅图像中的未饱和像素值进行线性拟合,得到三组像素比率曲线,如图4所示。
图4 两组图像的基准图像和测试图像组的像素比率因子曲线Fig.4 Pixel ratio factor curves for baseline and test image sets of three sets of images
在进行图像融合过程中,为了选取合适的局域窗口大小,对Stack组图分别使用3×3、5×5、7×7和9×9的窗口进行邻域像素值处理,结果如图5所示。观察图5(a)~(d)所示红框的融合结果,可以看出,随着窗口的增大,融合图像整体亮度逐渐降低,这说明随着所取窗口的增大,参与计算的像素越多,场景中过亮的中心像素值在融合过程中的影响逐渐减小,整体像素值有所下降,且融合图像的质量更容易受到噪声影响。但若选择窗口过小,那么邻域像素对高亮度像素值的约束能力下降,融合图像更易达到饱和。因此,为了降低局部噪声对融合图像质量的影响,同时提高对饱和像素值的估计准确度,算法选取5×5窗口进行图像处理。
图5 三组图像在不同大小窗口下的融合结果Fig.5 Fusion results of three groups of image under different size windows
为了验证合成算法在低信噪比图像下的有效性,先对Bottle组图的高亮图像和低亮图像进行5×5窗口融合,结果如图6(a)所示,再对组图中的图像逐渐增大高斯噪声后进行融合,选取部分结果如图6(b)、(c)和(d)所示。对比观察瓶身周围的信息可知,图像信噪比高于18 dB时,融合后仍能有效恢复低亮图像中的暗部场景信息,并能保证融合结果的整体成像效果。融合图像抗噪能力提升的原因主要有两点:1)算法尽量使用高亮图像中的像素值,而高亮图像信号值整体偏大,加噪声后像素值的SNR仍然很大;2)用来替代高亮图像过曝像素值的低亮图像像素值也会较大,因此噪声对像素值的影响也会减小。
图6 两组图像在有无高斯噪声下的融合结果Fig.6 Fusion results of two sets of images with and without Gaussian noise
2.2 融合效果评价与分析
2.2.1 主观测评
为了更好地说明局域加权叠加算法的优值,将Szeliski提出的融合方法、小波变换融合方法以及本文5×5窗口融合方法对Memorial、Syn和Belg组图处理,进行横向对比,结果如图7所示。经过Szeliski提出的方法融合的(a)、(d)和(g),小波变换融合的(b)、(e)和(h),本文算法融合的(c)、(f)和(i)均能恢复场景中的高亮信息和暗场信息,图像整体对比度增强,但Szeliski的方法会产生伪影,小波变换整体偏亮,在处理边缘信息时会产生模糊,仍会产生部分场景过曝,而本文算法在还原场景对比度的同时极大地保留了场景中的细节信息。
图7 图像融合后的结果对比Fig.7 Comparison of three sets of image fusion results
图7的红框展示了三种算法融合图像的细节对比。图7中(c)相较于(a)和(b),清晰还原了高亮场景中过曝的窗户画面场景和壁面上的雕刻场景没有丢失,还原了在高亮环境下的暗场信息,并在顶灯处的强光源没有产生光晕,没有出现纹理模糊,细节丢失的问题。(f)相较于(d)和(e),墙面上的纹理信息更加明显,明暗变化的边缘信息得到较好地保留,整体对比度增强。(i)相较于(g)和(h),门外的高亮场景信息没有过曝且融合图像保留了原有场景的色彩。
由三组图像融合结果表明,本文提出的算法保留了场景中的暗部细节信息的同时,恢复了明亮饱和区域丢失的场景信息,大大提高了图像的场景对比度。相较于其他图像融合算法,在恢复边缘清晰度,保留高亮环境中的暗部信息,减轻强光源带来的光晕等方面具有良好的表现。
2.2.2 客观评价
但在过去一年间,梁璐被他的师父认为六根清净、法相庄严。他拥有自己的法名:果智,也持有中国佛教协会注册的正规戒牒。
选取图像序列中曝光良好的图像作为基准图像,选取峰值信噪比(Peak Signal-to-noise Ratio,PSNR)和结构相似性(Structural Similarity Index Measure,SSIM)作为评价指标,对三组融合图像进行对比分析。PSNR是基于对应像素值间的偏差,即基于偏差明暗的图像质量评价。该值反映了融合过程中的失真,描述融合结果与源图像关于像素值的相似度[26],指标定义为
式中,I(i,j)表示源图像,K(i,j)表示融合图像,MAXI表示图像像素最大值,MSE表示融合图像和源图像之间所有像素值的均方差。PSNR越大,说明与源图像像素值之间的失真程度越低。
PSNR并未考虑到人眼的视觉特性,于是常常出现评价结果与人的主观感受不一致的状况。而结构相似性(Structural Similarity Index Measure,SSIM)[27]从人类视觉系统角度来量化融合图像和可见图像之间的图像失真程度,从亮度、对比度、结构三方面度量图像类似性,定义为
式中,μx(δx、C1)和μy(δy、C2)分别表示源图像和融合图像的平均值(标准差、协方差),δxy表示源图像和融合图像的协方差。SSIM函数的值域为[0,1],值越大说明图像失真程度越小,两幅图像越相似。
通过对三组图像的小波融合算法和局域加权叠加算法融合的结果进行计算,得到如表1和表2的结果,可以观察到本文算法融合结果相较于Szeliski的算法融合结果,三组图的PSNR和SSIM均有大幅提高,相较于小波变换融合结果,Memorial组图的PSNR提高了10.6175 dB,SSIM提高了71%,Syn组图的PSNR指标接近,但SSIM指标提高了5.7%。Belg组图的SSIM结果接近,但PSNR提高了8.0986 dB,通过两个评价指标表明本文局域加权叠加算法的融合效果总体优于其它算法。
表1 各个算法结果的峰值性噪比Table 1 Peak signal-to-noise ratioof the fusion results of each algorithm
表2 各个算法结果的结构相似性Table 2 Structural similarity index measureof the fusion results of each algorithm
3 结论
本文依据相机响应曲线的原理,线性拟合出高亮图像和低亮图像相互转换的像素比率因子曲线图,采用(2N+1)×(2N+1)窗口对HE图像进行局域像素值读取,设置满足饱和像素值的条件,划分出完全过曝、不完全过曝和良好过曝三种情况。针对不同的曝光情况,根据窗口内的邻域像素饱和情况,确定不同的融合权重系数,对像素值进行不同系数的加权融合。实验结果表明,随着所取窗口的增大,参与计算的像素越多,场景中过亮的中心像素值在融合过程中的影响逐渐减小,整体亮度有所下降,融合图像的质量更容易受到噪声影响,但若选择窗口过小,那么邻域像素对饱和像素值的估计准确度会下降,因此在窗口大小选取上要同时考虑局部噪声对融合图像质量影响以及邻域像素对高亮中心像素值的约束能力。为了实现更好的融合效果,本文算法选用5×5窗口进行多幅图像融合,在保持图像细节的同时提升图像的对比度,有效还原场景中的明暗层次变化。
与其他算法进行对比,本文算法除了可以保持总体对比度准确,图像不失真外,还在恢复边缘清晰度,保留高亮环境中的暗部信息,减轻强光源带来的光晕等方面具有良好的表现。同时融合算法采用局域窗口处理像素值,各个窗口之间的计算相互独立,并且对于曝光良好的像素值不必进行处理,因此各窗口之间独立运算的特质有望在GPU等硬件平台上实现多线程并行处理,具有实现HDR实时快速成像的潜力。