吴佳丽,干宗良
(1.南京邮电大学 通信与信息工程学院,江苏 南京 210003; 2.江苏省图像处理与图像通信重点实验室(南京邮电大学),江苏 南京 210003)
增强非均匀照明图像需要同时处理多种因素,如自然性、对比度、伪影及噪声等。近年来,最为典型的两种传统方法分别是直方图均衡法(Histogram Equalization,HE)[1]和Retinex算法[2]。Zuiderveld提出限制对比度的自适应直方图均衡化(Contrast Limited Adaptive Histogram Equalization,CLAHE)[3],该方法在一定程度上提高了噪声鲁棒性,但是在局部细节以及色彩自然度的增强上仍需改进。此外,伽马校正等非线性变换方法也能取得较好的增强效果。加权分布的自适应伽马校正(Adaptive Gamma Correction with Weighting Distribution,AGCWD)[4]通过图像最大亮度值调整最终亮度。Chang Y等人[5]将伽马校正与CLAHE相结合,提出新的裁剪阈值方式,同时在计算映射函数时引入双伽马校正来提升亮度。
Retinex理论继Land等人[2]首次提出后,Jobson等人基于单尺度Retinex算法(Single Scale Retinex,SSR)[6]提出带色彩恢复的多尺度Retinex算法(Multi-Scale Retinex with Color Restoration,MSRCR)[7]。Kimmel[8]将变分模型引入Retinex算法,利用梯度下降计算光照分量并结合伽马校正来增强图像,既增强了对比度又提升了细节。随后,Ma[9]引入了一种新的全变分(Total Variation,TV)和非局部TV正则化噪声抑制模型来进行光照估计。Ahn等人[10]设计了一种高动态范围图像自适应局部色调映射的框架,增强图像具有高动态范围和良好的整体外观。蒲恬等人[11]调整并重组光照图像和反射图像,有效保持自然度。Guo等人[12]利用结构先验微调初始光照图,获得了较好的增强效果。虽然这些方法在特定场景下能得到不错的视觉效果,但是Retinex模型假设图像可分解为光照和反射率,在反射分量未知的前提下估计图像光照分量是一个欠定问题,且近似估计会致使图像出现光晕伪影。因此,基于Retinex理论的非均匀光照图像增强算法[13-15]的关键是精心设计约束条件和参数以获得更准确、合理的光照分量估计。
基于上述分析,该文提出了一种基于Retinex理论的区域自适应增强算法,能够改善亮度并保留细节,提高图像的对比度和自然性,且复杂度低,适应性好。该算法对HSV空间的亮度通道V进行校正[16-17]。该算法的具体步骤如下:
(1)在HSV空间分解原始图像,对V通道进行具有边界保留的双边滤波,近似估计其光照分量。
(2)将图像进行均匀分块,根据每个子块的统计特征赋值光照调整因子β,分别把光照分量按不同比例返回到反射分量上,得到细节图像。
(3)通过改进的CLAHE算法增强图像对比度。与传统方法不同,该算法根据图像块的纹理自动设置裁剪点以抑制噪声,并引入伽马校正来进一步调整亮度,增强细节及对比度。
(4)合并三通道,转换到RGB空间,获得增强图像。
针对复杂光照条件下采集到的非均匀光照图像,该文提出了一种区域自适应的增强算法,具体算法流程如图1所示。
图1 算法流程
在不均匀的光照环境下采集到的图像通常会出现色彩失真,全局噪声大,自然度不高,细节纹理不清晰,对比度低等问题。该文提出了一种新方法来增强此类图像。该方法主要分为两个部分:第1步是基于MSR[18]的细节图像估计;第2步是在改进的CLAHE中引入伽马校正以增强对比度和调整亮度。
对于不均匀照度的图像,完全去除光照分量后总会导致不同程度的边缘模糊和细节丢失。因此,通过设置光照调整因子β以亮度自适应的方式返还部分照度分量到反射分量上,使实际去除的照度分量更接近真实环境光照。在对数域中表示为:
y)*V(x,y)]}
(1)
式中,β为光照调整因子,V为HSV颜色空间的V通道,R'为细节图像。
经典的中心/环绕Retinex算法是利用高斯滤波核对原始图像进行卷积得到照明图,但是高斯平滑过程会导致处理后的图像出现光晕、泛灰和细节丢失。针对这一问题,文献[19]提出,双边滤波器同时考虑空间邻近度以及像素灰度差异性,因此,与高斯滤波相比,双边滤波能够更好地平滑噪声并保持图像边缘等细节内容,同时有效减轻光晕并抑制泛灰。为了获得准确的照度估计,该文采用双边滤波的方式。
Fi(x,y)*V(x,y)=
(2)
(3)
(4)
式中,Ω是像素点(x,y)的邻域,(m,n)是邻域内的所有点,σr和σs为平滑参数,Wσr(x,y,m,n)和Wσs(x,y,m,n)分别代表灰度差值和几何距离。Xu等人[20]采用Canny算子确定对比度边缘位置,受其启发,此处将尺度参数调整为:
(5)
该文先利用Canny算子来检测图像中的强对比度边缘,然后考虑该像素点所处邻域中是否含有强边缘,如果当前像素点位于非强对比度边缘区域,就仍保持原尺度参数滤波,否则选择小尺度参数。根据实验仿真,Canny算子检测阈值设为0.25,大中小三个尺度下的σs和σr分别设置为(100,2),(20,0.8),(2,0.08)。
对于原始非均匀照度图像,期望最终的增强图像是亮度均匀且自然的,所以需要设计调整因子β来控制光照返还程度。图2上下两行分别显示了不同β值得到的细节图像和线性拉伸图像。
图2 不同β取值下的细节图像及线性拉伸图像
从图2可以直观看出,当相同β作用于全局时,β越小,光照分量去除得越少,细节图像动态范围压缩程度越小,暗区域亮度提升越不明显,随着β值的增大,虽然暗区域变亮,但亮区域的亮度值变低,图像整体对比度降低。因此,该文提出对图像进行均匀分块处理,根据不同区域的照度分布,自适应地选取不同的β值进行增强。当子块的亮度均值大于原始图像的平均亮度时,β取0.2,反之,取值方法为:
(6)
式中,σ2为子块的方差,l为子块的平均亮度。
光照分量和反射分量经调整后,得到动态范围窄的细节图像,为了拓宽其动态范围,提高对比度和亮度以得到更好的视觉效果。该文在CLAHE算法的基础上,提出区域自适应的对比度增强方法。
将细节图像分成等尺寸的若干矩形块,对各子块的直方图进行裁剪并计算其对应的pdf和CDF。区别于传统的CLAHE算法,本算法根据变异系数和亮度最大值来自适应地确定子块的裁剪点,具体表达式为:
(7)
式中,M为每个子块的像素数,N为子块的动态范围,lv为块中CDF达到的目标亮度值,σ为标准差,μ为均值,τ为无穷小量以避免分母为0,α和ε为权重系数,分别控制熵项和动态范围。对于纹理多,目标亮度值大的区域,设置的裁剪点较大;对于纹理少,目标亮度小的区域,设置较小的裁剪点。裁剪后各子块的重映射为:
(8)
T(l)=cdf(l)×lmax
(9)
式中,l为像素灰度级,T(l)为重映射函数,lmax为子块最大像素值,cdf(l)和pdf(l)分别为累积分布函数及概率密度函数。
直方图经剪裁后有效抑制了暗区域的噪声,但是增强后图像的动态范围仍然较低,且细节不够清晰。因此,为了进一步调整亮度,提高图像对比度和细节,对映射函数进行伽马校正,设计增强系数E并得出新的映射函数表达式:
(10)
T*(l)=E×cdf(l)×lmax
(11)
式中,γ是约束参数。校正后,能够在保持图像自然度的同时,恢复出更多纹理细节信息,得到最终的增强图像。为了防止块效应[3],对周围各上下文区域计算出的重新映射进行双线性插值,像素值从s映射为s',计算方法如下:
s'=(1-y)·[(1-x)·ga(s)+x·gb(s)]+
y·[(1-x)·gc(s)+x·gd(s)]
(12)
式中,a、b、c和d分别为相关上下文区域的中心点像素,ga(s),gb(s),gc(s)和gd(s)分别为对应区域的重映射,x和y为相对于点a的归一化距离。
对56幅光照不均匀图像进行测试,如图3所示。
图3 测试图像
为了有效评估提出的自适应增强算法的性能,将其与包括近年来先进的深度学习算法和传统算法在内的6种算法进行对比分析,分别是深度Retinex分解的RetinexNet[21]、多分支的暗光增强MBLLEN[22]、结合CLAHE及双伽马校正的ACLAHE[5]、基于光照图估计的暗光增强LIME[12]、基于Retinex的亮度自适应对比度增强RPCE[20]和显示图像结构细节的增强方法BioEnh[23]。从主观评价、客观评价和运行效率三方面进行综合评价。
为了研究算法的适应性,此处选取3张具有代表性的图像,涵盖了非均匀光照图像的常见场景,例如夜间低照度以及复杂光照条件下的建筑、室内场景等。图4~图6给出了各个算法的增强结果,主要从全局的对比度增强,暗区域的亮度提升,色彩保真以及自然度等角度进行视觉评估与分析。
ACLAHE算法色彩恢复比较自然,也未出现失真,但是亮度改善程度有限,增强后的图像存在整体亮度偏低的现象。RetinexNet算法处理后的图像较原图亮度提升明显,但是出现边缘过度增强,噪声放大及色彩失真等问题,如图5(c)鹿角边缘对比度过强,图6(c)的椅子存在噪声和伪影。MBLLEN算法在整体亮度增强方面有较好的效果,且增强结果的噪声水平低,但是对于光线未照射到的过暗区域处理不佳,亮区域的细节信息保持情况不理想,如图5(d)没有恢复出长颈鹿的斑纹,图6(d)的柱子纹理不清晰。LIME算法对亮度的增强程度最大,因此出现对局部区域的过增强,同时也严重放大了噪声。比如图4(e)天空出现过曝现象,图4(e)的白色柱子和图5(e)的斑纹处有明显的噪点。RPCE算法处理后的图像色彩保真度较好,无明显色差,但是由于对比度的过度拉伸导致低亮度区域细节信息丢失,图4(f)的台阶纹理信息以及图6(f)的墙面纹理都没有得到恢复,图5(f)的增强效果最差,无论是亮区域还是暗区域亮度和细节都没有得到改善,几乎和原始图像保持一致。BioEnh算法在突出图像的细节方面占优势,所以对阴影部分的信息提升更为明显,但是由于该算法在细节结构中添加了噪声抑制模块,造成局部接近饱和且细节密集的位置太过平滑。例如图4(g)的柱子和阶梯,图6(g)墙面的纹理几乎都被模糊掉。经比较,文中算法在提升图像对比度和保持图像细节方面取得更好的平衡,并能够保留图像自然度。增强结果未出现明显色彩偏差及光晕伪影,同时有效抑制噪声,具有更佳的视觉效果。
图4 Street增强结果
图5 Giraffe增强结果
图6 Building增强结果
客观评价通常用于解释图像的一些重要特征。该文选取了无参考图像的自然图像质量评价指标(NIQE)[24]和基于色块对比度的质量指数(CPCQI)[25]对增强图像分别从以下2个方面进行评价:(1)图像的自然度;(2)结果相对于原图的色彩保真性。NIQE标准的取值范围为[0,100],图像质量与数值大小成反比,即数值越大,图像自然度越低,反之越高;对于CPCQI,指标超过1,表明图像质量得到增强,且值越大代表失真程度越低。表1为56张图像经过不同方法处理后得到的增强图像的测评结果平均值,将最优及次优结果显示为粗体。可以看出,ACLAHE算法的NIQE值为次优,表示其增强图像的自然性较佳,RPCE算法在CPCQI指标下表现良好,说明增强结果失真度较小,文中算法无论是自然度的保持还是感知保真程度均优于其他对比算法。
表1 量化客观评价指标结果
RetinexNet和MBLLEN使用Python编写,在GPU环境下运行,其他方法使用Matlab编写,在CPU环境下运行。56张图像一共运行3次,然后计算平均运行时间作为最终的结果。由表2可看出,最优及次优结果以粗体形式显示,文中算法排名第3,优于借助CPU运行的其他4种算法。
表2 平均运行时间 s
介绍了一种改进的区域自适应的非均匀照度图像增强算法,该算法包括细节图像估计和在改进的CLAHE中引入伽马校正以增强对比度两个部分。通过双边滤波器来初步估计图像的照度分量,然后设置光照调整因子调整光照去除比例,使细节图像更真实地反映物体本质属性,最后采用区域自适应的CLAHE算法与伽马校正相结合的方法达到对比度和亮度增强的目的。不同场景的实验结果表明,该算法对非均匀图像增强具有较好的普适性且算法性能稳定,在改善图像亮度的同时,有效保持了自然度及细节。