APP下载

基于亮度分区模糊融合的高动态范围成像算法

2020-03-06王凤伟刘卫华杨凡超

计算机应用 2020年1期
关键词:指数函数直方图亮度

刘 颖,王凤伟,刘卫华,艾 达,李 芸,杨凡超

(1.西安邮电大学 通信与信息工程学院,西安 710121; 2.电子信息现场勘验应用技术公安部重点实验室(西安邮电大学),西安 710121;3.中国科学院光谱成像技术重点实验室(中国科学院 西安光学精密机械研究所),西安 710119)

0 引言

高动态范围(High Dynamic Range, HDR)成像是指捕捉、存储、传输和显示真实世界光亮广泛范围并进行精确表示。HDR图像的主要特点是高对比度、高位深度和丰富细节。近年来,为了能够获得HDR图像,研究人员提出了多种算法。由于深度学习在计算机视觉的许多领域取得了较好的成绩,研究人员尝试通过学习的方式生成HDR图像,文献[1-2]用生成对抗网络获取;文献[3-4]用卷积神经网络(Convolutional Neural Networks, CNN)将单幅低动态范围(Low Dynamic Range, LDR)图像重建HDR图像,但是,这些方法需要大量的训练数据、复杂的训练,不适合工程实现。另一种是直接融合多个不同曝光图像以获得HDR图像,文献[5-6]通过仅保留每次曝光的最佳部分来组合LDR图像;文献[7]利用引导图像滤波来平滑每个输入LDR图像权值图的高斯金字塔,将细节保存在最终合成图像中最亮和最暗的区域,但此类方法的缺点是目标运动带来的“伪影”现象和输入图像为进行配准带来的时间成本问题。还有一类是基于辐射域生成HDR图像,通过一组不同曝光的图像估算相机的响应函数并根据响应函数估计HDR图像的辐射图,生成最终的HDR图像,最后通过色调映射将HDR图像显示在正常的显示设备上[8]。

为了去除HDR图像中的“伪影”现象,文献[9]中提出了一种考虑相机时刻和动态场景来自动生成HDR图像的方法。该方法使用相机响应功能,通过原始图像来校正LDR图像。文献[10]为了精确对准,使用改进的弹性配准方法来去除“伪影”现象。文献[11]中提出了一种混合修补算法以防止“伪影”现象,其中通过考虑空间和时间一致性来制定新的优化问题以校正不同曝光图像的运动区域。文献[12]中提出基于低秩矩阵来获得无伪影的HDR图像。背景和运动对象分别为具有对伪影区域的属性的多个物理约束的低秩矩阵来完成。

然而,上述方法具有较高的计算复杂度,所以文献[13]使用单个图像生成HDR图像,而不是获取不同曝光的图像以避免“伪影”现象。该方法利用加权直方图分离来估计直方图分离的阈值。然后它将直方图划分成两个子直方图,并从单个图像生成曝光不足和过度曝光LDR图像。此方法从单个图像生成不同曝光的图像,所以不会产生“伪影”现象,但是该方法利用固定的加权因子进行直方图分离,这不适合显示不同特征的图像。文献[14]中提出了一种自适应直方图分离技术来克服文献[13]中提出方法的缺点,但是该方法在图像扩展中容易产生局部颜色失真的现象。文献[15]中提出根据所需的LDR图像数量,将输入图像的直方图划分为具有相等数量像素的多个区间,并在构造的每个区间中选择直方图分割的阈值作为最大值;然后利用对比度、饱和度和曝光度曝光良好作为评估参数进行融合得到LDR图像。

上述的直方图扩展然后图像融合的算法都存在一个普遍问题,即图像扩展过度或过小时容易造成图像颜色失真、细节信息丢失的问题。针对此问题,本文改进的指数函数扩展其亮度范围。首先对彩色图像的亮度分量从低到高分成为两个不同区间,然后通过改进的扩展函数对两个区间的图像扩展其亮度范围,凸显亮区域和暗区域的细节,最后使用模糊逻辑的方法融合为HDR图像。在融合阶段,用亮度保持动态模糊直方图均衡(Brightness Preserving Dynamic Fuzzy Histogram Equalization, BPDFHE)技术来提高图像像素的准确性和对比度。实验结果表明,本文算法在减少运行时间和不引入“伪影”现象的前提下保留了图像中更多的局部细节信息和颜色,并且主观视觉效果更好。

1 本文算法原理和流程

为了得到细节丰富、对比度较大的HDR图像,本文提出了一种基于亮度分区拉伸和模糊融合的高动态范围图像算法,是一种由单幅LDR图像生成HDR图像的算法。

该算法主要分为三个步骤:第一步通过图像的灰度均值将亮度图像分割成两部分,算法简单,减少了运算时间;第二步通过指数函数对分割得到的图像进行不同程度的扩展;第三步是考虑像素的可视化,使用局部窗口内最小-最大像素差和亮度通道的归一化像素值分析确定每个像素的权重将三幅图像进行融合。在融合过程中使用BPDFHE提高图像像素的准确性和对比度,该算法流程如图1所示。

1.1 类间均值分割

借鉴基于最大类间方差的图像分割算法,采用类间均值分割方法将亮度区间分割为两部分。令亮度通道图像的像素亮度构成数据集合I={i|i=0,1,…,255},归一化之后I={i|i=0,1/255,2/255,…,1},那么H(i)表示像素i的概率,则H(i)∈[0,1];τ0是整幅图像亮度中值。利用阈值τ0把图像分割成两区域矩阵R1和R2,并分别计算灰度均值u1和u2,其计算式如下:

(1)

(2)

那么最终的阈值τ定义为两类的类间均值:

(3)

图1 本文算法流程Fig. 1 Flowchart of the proposed algorithm

接下来用最终的阈值τ将图像亮度XV分成两个子集X0和X1,分割方法如下:

(4)

(5)

那么,集合X0中像素的亮度值取值范围是[0,τ],属于图像的暗区域,而集合X1中像素的亮度值取值范围是(τ,1],属于图像的亮度区域,因此,通过扩展每个子集的亮度值范围并增加或者减小亮度值,就可以得到不同光照强度的图像。

1.2 指数函数扩展亮度

对上述图像的亮区域X1和暗区域X0分别拉伸其亮度范围,使得原来感觉不到的亮度差异得到显现,增加对比度、凸显细节。这里用改进的指数函数对亮度V通道图像扩展其亮度范围,定义如下:

(6)

其中X(x,y)表示图像的亮度分量。

由于不同底数a的指数函数在坐标平面第一象限的曲线不同,导致因变量随着自变量的变化趋势不同,在图像拉伸方面的效果也不同。图2(a)是对暗区域(亮度值在[0,τ]区间)应用不同底数的指数函数扩展后的变化曲线图,当a=1.2时,亮度虽然有增大,但是整体的范围扩展小;当a=5时,曲线平缓,将原图像缓慢拉伸,动态范围扩大,并且亮度增加,最小值由自变量的0变化到因变量的0.36左右,亮度最大值由自变量的0.5变化到因变量的0.85;随着底数a的增加,曲线越来越陡峭,拉伸的范围扩大,亮度增加,即,使暗区域的动态范围增加,同时整体亮度值增加。图2(b)是对亮区域(亮度值在(τ,1]区间)应用不同底数的指数函数扩展后的变化曲线图,当a为10或者12时,亮度的动态范围扩大,并且亮度值减小,即,使亮区域的动态范围增加,同时整体亮度值略有减小。

图2 不同底数a的指数函数变化曲线Fig. 2 Exponential function change curve of a with different bases

为了得到不同光照度的图像,根据反复实验,最终确定j=0时,a=5;当j=1时,a=10。即对暗区域的图像用基底为5的指数函数,对亮度区域的图像用基底为10的指数函数。图3对比了本文算法和文献[14]算法中直方图扩展函数。

图3 扩展函数对比Fig. 3 Comparison of extension functions

图3中实线表示本文算法扩展后的曲线,虚线表示应用文献[14]扩展函数后的曲线。图3(a)表示暗区域图像X0扩展后的亮度曲线,可以看出,本文方法将暗区域图像缓慢扩展,同时增加亮度,而文献[14]中则迅速扩展,产生颜色失真、与原亮度的颜色分量不匹配现象。图3(b)是对亮区域图像X1扩展,同时减小亮度,避免了文献[14]中扩展幅度过小的问题,所以本文的扩展函数可以有效地凸显原始图像的局部细节,增大对比度,避免颜色信息丢失。

如图4所示,将亮区域部分经指数函数映射后得到图(a),高亮区域水瓶的细节凸显;将暗区域部分经指数函数映射后得到图(c),较暗区域竹筐、桌子边缘的细节凸显。

图4 映射后的亮度区间图Fig. 4 Luminance interval diagram after mapping

对每个扩展的亮度图像进行限制自适应直方图均衡来改善图像的整体外观。最后将得到的三个不同的亮度V通道与未处理的H通道、S通道一起逆变换到RGB空间。这样就得到质量较好的反映不同光照强度的图像,如图5所示。图5中第一行是原图像、文献[14]扩展后的暗区域图像和亮区域图像;第二行是本文算法处理后的暗区域图像和亮区域图像,从图5(c)中可以看出图像颜色失真的现象。

图5 生成的两幅LDR图像Fig. 5 Two generated LDR images

1.3 模糊逻辑融合

不同曝光的图像会将不同动态范围的场景展现清晰,曝光较弱的图像可以提供明亮场景处的细节,而曝光较强的图像可以较好地显示暗处场景的细节。文中将亮区域图像扩展处理后得到图5(d),凸显亮区域细节,类似欠曝光图像;暗区域图像扩展处理后得到图5(e),凸显暗区域细节,类似过曝光图像。利用不同曝光图像优势互补的特点,对三幅不同曝光度的图像融合来生成高质量的图像。

模糊系统提供了一种通过语言变量对复杂系统建模的方法,着重强调以模糊逻辑来对现实生活中的事物进行描述,主要是利用推理系统中多个“if x1 is A and x2 is A, then y1 is B and y2 is B”的语句将直观的数据按照人的意愿进行了等级划分,使得计算机可以对此类数据进行分析处理,解决各种问题,最终得到想要的结果[16],因此,本文采用模糊系统进行计算不同亮度区图像的权重矩阵并进行融合。将反映局部细节信息的局部窗口内的最小-最大像素差和亮度通道的归一化像素值作为模糊逻辑系统的第一输入和第二输入。结合模糊规则,如:“如果第一输入低并且第二输入也低,则得到的权重矩阵小”的多个模糊逻辑语句,来得到描述不同亮度区间的图像质量的权重矩阵,从而将不同曝光图像融合为HDR图像。图6是输入输出模糊的隶属函数示意图,将输入输出都划分成低、中、高三部分。在得到图像像素的权重图后,建议应用亮度保持动态模糊直方图均衡技术来平滑权值映射。该技术在保持图像亮度的同时,可以提高图像的对比度并降低计算复杂度。

图6 模糊融合方法的输入和输出的隶属函数Fig. 6 Membership functions of input and output of fuzzy fusion method

BPDFHE技术[17]仅在两个连续峰值之间的波谷部分发生,它使波谷部分的灰度值重新映射。这样可以避免伪像的引入和平均图像亮度的变化。该技术首先以模糊统计的方式处理灰度值的不精确性,从而产生平滑的直方图;然后对直方图进行分区得到多个子直方图,再对每个子直方图进行动态均衡时可以提高图像对比度,产生主观上比原始图像更好的图像。在后面的实验结果质量评价中,使用文献[18]中提出的高动态范围可见差分预报器(High Dynamic Range Visible Difference Predictor, HDR-VDP- 2)[18]来评估输出的HDR图像的质量。

一旦确定了每幅LDR图像的权重系数,就将最终的HDR图像构造为:

(7)

2 实验结果及分析

本文的实验是在Window 10系统Intel Core i5- 4210 CPU @1.70 GHz安装的Matlab 2015a版本上进行的。为了验证所提算法生成HDR图像的性能,所有实验结合主观评价和客观评价对生成的HDR图像进行对比分析。文献[14]中提出了一种自适应直方图分离技术来估计直方图分离的阈值,然后通过阈值进行扩展;本文对扩展后图像色彩失真、细节信息丢失的问题与文献[14]得到的图像进行对比,以此来分析本文的性能。

2.1 主观评价

为了更直观地反映生成的HDR图像,使用具有不同特征的输入图像来测试所提出的方法,分别是flower、bottle、stone、pavilion。图7是文献[14]中的算法和本文算法生成的HDR图像对比图。第一列为输入图像,第二列是采用文献[14]算法得的图像,第三列是本文算法得到的图像。从图7中可以看出,本文算法所得到的图像整体效果更好,对比度明显,且图像的细节清楚可见,尤其是桌子边缘、墙壁和石壁,其细节纹理、边缘轮廓都能清楚地看见,融合效果满足人类视觉要求。

图7 融合结果对比Fig. 7 Comparison of fusion results

在图8中,(a)列是原始图像,分别是flower、bottle、stone,(b)列是文献[14]中提出的算法得到的图像,(c)列是本文方法得到的图像。每张图像的右下角是局部放大图,从图8可以看出文献[14]得到的图像存在图像颜色失真的问题,并且图像细节信息严重丢失,例如图8第一行中草坪墙上的‘福’字已经看不出轮廓,而本文方法在尽量避免颜色失真的基础上生成的HDR图像颜色明亮,对比度明显,且图像的细节清晰可见,比如第二行中bottle图中背景墙上具有更多的纹理信息,更符合人眼观察到的视觉效果。

虽然文献[14]中对每个输入图像自适应地估计权重,但是根据权重τ对X0和X1进行亮度范围扩展时,由于过度扩展导致在图像融合时产生颜色失真从而产生细节模糊的问题,如图8。

图8 局部放大对比Fig. 8 Partial magnification and comparison

为了进一步评估本文算法,采用采用文献[18]中提出的HDR-VDP- 2算法来评估输出的HDR图像质量。在该算法计算中,采用生成的HDR图像和原始图像作对比。原始图像作为参考图像,各种算法生成的HDR图像为测试图像。该算法可以计算出平均主观意见分数(Mean Opinion Scores, MOS),该分数QMOS为客观的非线性映射。表1表示经过该算法的平均主观意见分数。

表1 两种算法的平均主观意见分数对比 Tab. 1 Mean subjective opinion score comparison of two algorithms

从表1可以看出,本文算法的平均主观意见分数较高,生成的图像主观视觉效果更好,所以本文算法具有更好的处理效果。

2.2 客观评价

为了保证实验的公平性,本文选取了不同场景的图像对本文算法与文献[14]算法进行客观分析,所有的图像都是静态的,每张图像都有不同的特征。

本文采用熵、方差、概率累积的模糊检测(Cumulative Probability of Blur Detection, CPBD)[19]、清晰度、峰值信噪比(Peak Signal-to-Noise, PSNR)和结构相似度(Structural Similarity Index, SSIM)作为客观评价指标。熵是衡量图像信息丰富程度的物理量,因此较高的信息熵意味着更好的性能;方差是描述各像素偏离均值的程度,反映图像的对比度信息;图像的清晰度可以反映图像中各细节部分影纹及其边界的清晰程度,其值越大,代表图像越清晰;CPBD能够预测具有不同内容的图像的相对模糊度,该指标值越高表示图像越清晰。PSNR反映处理后图像失真的大小,值越大,图像越清晰。SSIM反映了人类视觉从图像中抽取的结构信息,不仅考虑局部结构保持而且考虑全局亮度一致性。下面分别是各指标的定义。

图像的二维熵定义为:

(8)

其中:i表示像素的灰度值(0≤i≤255);j表示邻域灰度均值(0≤j≤255);f(i,j)为特征二元组(i,j)出现的频数,N为图像尺寸。

方差的定义如下:

(9)

其中,f(i,j)为给定图像像素所对应的矩阵,M和N为给定图像的长和宽,m为图像的均值。

清晰度定义如下:

I(x,y)]2}

其中I(x,y)表示图像在像素点(x,y)处的灰度值。

模糊检测的累积概率计算如下:

(10)

其中:PBLUR为对于给定的对比度下的检测模糊的概率;PJNB为人眼可分辨模糊(Just Noticeable Blur,JNB)下的检测模糊的概率。

PSNR定义如下:

PSNR=10 lg ((2n-1)2/MSE);

(11)

其中:MSE表示处理后图像X和原始图像Y的均方误差(Mean Squared Error,MSE);M、N分别为图像的高度和宽度;n为每像素的比特数。

SSIM定义如下:

(12)

其中:x,y表示处理后图像和原始图像;μx和μy分别表示图像x和图像y的平均灰度值;σx和σy分别表示图像x和图像y的方差;c1和c2为常数。

这些指标分别以直接或间接的方式表现出生成的HDR图像质量的好坏,对比结果见表2。

表2 客观评价指标 Tab. 2 Objective evaluation indexes

表2给出了4组测试图像生成的HDR图像算法处理结果的熵、方差、清晰度、CPBD、PSNR和SSIM。从该表中可以看出,所提出的算法明显优于文献[14]的算法。与文献[14]相比,本文算法得到的信息熵提高了2.9%,方差提高了16.4%,SSIM提高了6.6%。总体而言,本文算法在保留图像颜色和局部细节上有一定的优势,且算法效果更加稳定。

2.3 计算效率

表3给出了本文算法同文献[14]算法的计算效率对比结果,所有算法均采用Matlab编程实现,运行时间也都是同一个PC平台上运行得到。每组实验的运行时间如表3所示。

表3 不同算法处理时间对比 单位:s Tab. 3 Comparison of processing time of different algorithms unit:s

由表3运行时间可知,本文算法在保证无论是从图像的内容丰富程度或对比度或者图像清晰度的前提下,运算时间都得到了缩短。

3 结语

本文提出了一种基于亮度分区和模糊融合的高动态范围图像算法,采用改进的指数函数扩展其亮度范围,然后融合生成HDR图像。通过对HDR图像进行信息熵、方差、CPBD、PSNR、SSIM、运行时间和平均主观意见分数的计算进行比较,实验结果表明:本文算法在不引入伪影的前提下,能够保留更多的局部细节信息和色彩,清晰度更高,可视效果更好。后期将研究怎样结合具体实际场景应用到工业相机上来,以验证该方法的有效性和实时性。

猜你喜欢

指数函数直方图亮度
用于遥感影像亮度均衡的亮度补偿方法
远不止DCI色域,轻量级机身中更蕴含强悍的亮度表现 光峰(Appptronics)C800
用直方图控制画面影调
本本亮度巧调节,工作护眼两不误
亮度一样吗?
例析频率分布直方图
中考频数分布直方图题型展示
指数函数、对数函数考点面面观
指数函数的图象与性质
指数函数与其运算性质之关系