顾文娟,丁 灿,魏 金,阴艳超,刘孝保
(昆明理工大学 机电工程学院,云南 昆明 650500)
数字图像处理技术在机器视觉领域有着广泛应用,如在目标识别、目标追踪[1]、目标分割[2]、超分辨率重构[3]等方面。实际应用中不可避免地会在低光照环境中采集图像,低光照图像因环境亮度的局限影响图像信息的获取和后续使用,因此需要对低光照图像进行增强处理[4]。图像增强的目的主要是按照需求突出图像中有用的特征信息,使得增强后的图像保留的信息更加完整[5]。
目前提出的图像增强的方法有很多种,其中应用最广泛的是基于直方图均衡化算法(Histogram Equalization,HE)[6]。它主要是通过均衡原始图像的直方图来提高图像对比度,对低光照图像进行增强。但此算法会使图像的灰度级减少造成细节丢失,导致图片出现严重噪声。在此基础上REDDY 等人提出了一种限制对比度自适应直方 图均衡算法(Contrast Limited Adaptive Histgram Equalization,CLAHE)[7],该算法主要是限制对比度的增强,以便于运用到全局直方图均衡化中,但是在对背景处理时会放大背景噪声,且增强之后的图像色彩饱和度较差。Land 等提出的基于视觉系统Retinex 算法[8],该理论认为人眼感知到物体的信息是由反射特征来决定,因此将一幅图分解为反射分量和照度分量然后对图像进行增强处理。Retinex 理论首先提出SSR算法(Single Scale Retinex)[9]和MSR 算法(Multi Scale Retinex)[10],但这两种增强算法均会导致颜色失真。为了改进颜色失真的问题紧接着提出带有颜色恢复的MSRCR 算法(Multi Scale Retinex with Color Restoration)[11]和AutoMSRCR 算法(Automated Multi Scale Retinex with Color Restoration)。MSRCR 算法增加色彩恢复函数和使用增益加权的方法之后,虽然能消除色彩失真的现象,但由于该算法是对RGB 各通道进行归一化处理,图像易产生光晕;AutoMSRCR 算法在对RGB 三通道进行处理时,会导致一部分通道被拉伸,从而使图像整体色彩出现偏白化,色彩饱和度降低。
为解决上述问题,本文提出一种基于双边滤波的MSR 算法与AutoMSRCR 算法融合的低光照图像增强算法。第一步,将原始图像从RGB颜色空间转换到HSV 颜色空间,然后使用基于双边滤波的MSR 算法对亮度通道进行亮度增强,得到增强后的亮度通道再与色度、饱和度通道进行合并,形成初始亮度增强图片;第二步,将初始增强后的图像从HSV 空间转换到LAB 颜色空间,运用CLAHE 算法对图像细节增强;第三步,利用AutoMSRCR 算法对原始图像进行处理,得到色彩偏白但阶调平滑的图像,再将与之细节增强后的图像进行加权融合得到最终的增强图像。通过该方法进行增强的图像色彩更符合人眼主观感受,清晰度更高,也能保留更多边缘细节和纹理。
Retinex 理论认为人眼视觉信息系统(Human Visual System,HVS)对物体的感知主要是由于物体自身的反射特性所导致的。对颜色和亮度的感知都是由于物体在不同的光照条件产生反射信息从而被人眼所接收。由此Land 等人建立了该理论的数学模型,公式如式(1)所示:
由于图像是由像素点组成,公式中分别以x,y表示在二维图像空间中的坐标点位置。该理论假定物体反射光进入人眼的图像为S(x,y),光照从不同角度产生的入射图像为L(x,y),反射物体形成的反射率为R(x,y),反射率由反射物体自身决定,不受入射光的影响。
单尺度Retinex 算法(SSR 算法),此方法主要是通过对(1)式两边取对数,然后用入射光照图像减去环境光照分量得到带有细节信息的反射光照分量,公式如式(2)所示:
由于环境光照分量很难真实得到,用高斯滤波与原始图像进行卷积,模拟环境光照分量,公式如式(3)所示:
其中:“*”是卷积符号,F(x,y)是高斯滤波,高斯滤波公式如式(4)所示:
高斯滤波最重要参数就是标准差σ,σ值越小,图像平滑效果相对较差,但图像细节保留较多。σ值越大,各模板的系数没有明显差别,对图像平滑效果好,增强图像的色彩保真很好,但是图片纹理处理模糊,整体细节模糊。
为了解决SSR 算法存在的不足,提出了多尺度MSR 算法。MSR 算法是在SSR 算法的基础之上对SSR 算法进行不同高斯核处理之后进行加权融合得到最终增强图像,公式如式(5)所示:
其中:N为尺度的个数,选用高、中、低三个尺度,ωn为每个尺度权重,取ω1=ω2=ω3=1/3。对于运用MSR 算法进行图像增强之后会存在图像颜色失真,为了解决MSR 算法出现颜色失真的问题,加入相应的颜色恢复函数,形成新的增强算法,即为MSRCR 算法[12],公式如式(6)所示:
其中:
其中:Ci为彩色恢复因子,β是增益常数,α表示受控的非线性程度。
通过实验发现需增加一个增益值和偏移值得到最终的MSRCR 算法,公式如式(8)所示:
为了能够自适应调节图像的色彩提出了AutoMSRCR 算法[13],其核心思想主要是按照百分之五的比例去除MSRCR 方法中RGB 数值最大和最小的部分,然后将剩余值重新规划到[0,255]中,这样就得到AutoMSRCR 处理后的增强图像。这种方法消除了之前算法对原始图像阶调的依赖AutoMSRCR 主要是结合MSR 算法来改善图片颜色失真问题,其算法流程如图1所示。
图1 自适应色彩增益算法流程图Fig.1 Flow chart of adaptive color gain algorithm
自动色阶的原理是先统计图像的直方图,通过直方图来确定图像的灰度级集中的区域,然后计算出自动色阶的上阈值Tmax和下阈值Tmin。在进行处理时,当像素值超出上阈值Tmax时则超出的像素点设置为255,当像素值低于下阈值Tmin时则低于的部分设置为0,其公式如式(9)所示:
其中:n为对数运算之后的数值,n0=0,count 为统计直方图后U的位置,β为色阶可控值,在本文中β=0.05。
图像经过AutoMSRCR 算法处理之后,得到的结果保留在对数域中,使用公式(10)将结果转换到实数域得到最终增强图像,采用线性归一化的方式得到最终的增强图像。其量化公式为:
针对经典Retinex 算法存在的不足,提出基于双边滤波的MSR 算法与AutoMSRCR 算法融合的低光照图像增强算法。该算法主要分为三个部分,首先,基于HSV 颜色空间使用双边滤波的MSR 算法将原始图像的V 通道进行亮度增强,得到增强之后的亮度通道与原始的S 通道和H 通道进行融合得到初始亮度增强图像;然后,将亮度增强图像运用CLAHE 算法基于LAB 颜色空间的L 通道进行细节增强,然后将LAB 颜色空间转换到RGB 颜色空间,得到亮度与细节增强图像;最后,运用AutoMSRCR 算法对原始低光照图像进行处理,与第二步亮度与细节增强图像进行加权融合得到最终的增强图像。其总体算法流程如图2 所示。
图2 本文算法流程图Fig.2 Flowchart of algorithm in this paper
3.1.1 HSV 颜色空间
HSV 颜色空间,是将RGB 中的每个像素点集合于圆锥体中进行颜色空间表达的一种方法[14]。H,S,V 分别表示色度,饱和度,亮度。对V 通道进行图像增强处理时不影响图片的色彩信息,从而使得H,S 通道的信息保留更完整。其通道转换公式如式(11)所示:
其中:R,G,B分别是RGB 颜色空间三个通道各像素点的值,Mmax,Mmin分别表示最大值和最小值。
针对MSR 算法中对图像颜色存失真的问题,本文基于HSV 颜色空间对其三通道进行拆解提取V 分量,对V 通道进行亮度增强,然后与初始的H,S 通道合并,得到保留原有色彩信息的亮度增强图像。如图3 所示,通过颜色空间转换处理之后的增强图像,在图像整体色彩和细节上,蕴含信息更加丰富。
图3 颜色空间转换之前后对比图Fig.3 Comparison before and after color space conversion
3.1.2 不同滤波对比
MSR 算法主要是运用高斯滤波模拟光照分量,但使用高斯滤波会导致细节模糊,经过图像增强之后就会存在图片边缘细节缺失的现象。为此选用不同滤波进行对比,选择更加适合的滤波替代高斯滤波,如图4 所示。选用城市夜景图像,采用三种不同的滤波模拟MSR 算法中的光照分量,经过对比分析,在细节放大图上可以得出高斯滤波处理效果不理想,图像的整体比较模糊;中值滤波处理后较高斯滤波图片更清晰,但在图片的边缘细节处理上仍存在缺失;经过双边滤波处理之后的图片边缘细节很清晰。因此,将MSR 算法的高斯滤波转换成双边滤波之后进行图像增强能更好地保留图片的边缘细节。
图4 不同滤波细节对比Fig.4 Comparison of different filtering details
高斯滤波是对图片整体进行平均加权的处理,只计算两个像素点之间的空间距离,导致经过高斯滤波之后的图像存在模糊的现象[15]。双边滤波作为即考虑到每个像素点在空间上的距离关系也考虑到在灰度空间上像素灰度值之间的差异性的非线性滤波器,对图像的细节信息处理效果更加明显,双边滤波的数学模型如式(12)所示[16]:
其中:S为滤波中邻域中像素点的集合,x,y为邻域中目标像素点的位置,I(x)是集合S中各个像素点的像素值,I(y)是滤波处理之后获得对应于每个像素点位置的像素值,Gd,Gr分别表示的是双边滤波中用来表达像素值的几何空间和表示邻域内某点灰度与中心点灰度值的绝对值,Wp表示对两参数所做的归一化处理,表达式为:
其中:σd,σr分别表示的是图像灰度空间的方差,当σd越大邻域内像素点的权重值比较大会产生局部细节模糊,σd越小邻域内像素点的权重值比较小,去噪效果有一定局限性[17]。
在本文中使用双边滤波替换高斯滤波进行图像增强,对MSR 算法进行改进。通过双边滤波来模拟环境光照分量,用双边滤波与原始图像进行卷积,得到更多的边缘信息,便于后续对图像光照分量的增强。
CLAHE 算法是在直方图均衡化的基础上,为了减少噪声的放大和图像局部对比度过渡增强的现象,而将部分灰度级进行抑制,使得在进行对图像处理时使其更加清晰。CLAHE 算法的具体步骤如下[18]:
(1)划分子区域,每张图片对应多个子区域,M为每个子区域的像素点个数;
(2)计算每个子区域的灰度直方图Hi;
(3)对每个子模块的直方图进行剪切,其原理如图5 所示,设定一个阈值空间,超过此区域的部分进行像素点的剪切,并将此区域的像素点剪切到下区域,设置一个阈值G,当Hi≥G,Hi=Hmax;Hi<G,Hi=Hmax。
图5 直方图剪切Fig.5 Histogram clipping
对每个子模块进行区域直方图均衡化,自适应直方图均衡化使用的是插值运算[19],插值运算原理图如图6 所示(彩图见期刊电子版)。其对每个方块求出直方图、直方图积累函数(CDF)及相应的变换函数,方块中心点(图中右侧的黑色方块)的变换函数符合原定义,在黄色区域中的像素值都是使用4 个变换函数运用双线性插值得到中心点的像素,蓝色区域像素值是相邻两个区域的变换函数做线性插值得到,红色区域像素是采用自身的变换函数得到的。
图6 插值运算原理图Fig.6 Schematic diagram of interpolation operation
在本文中使用CLAHE 算法仅对图像L 通道进行细节增强,从而使得增强之后的图片保留原有图像的色彩信息。如图7 所示,经过CLAHE算法之后的图像细节显示效果更好,而且通过灰度直方图可以看到无大范围的噪声影响。
图7 直方图均衡化前后对比Fig.7 Histogram before and after equalization
为了更加有效地解决增强之后图像不够平滑以及饱和度过高的问题,将经过基于双边滤波MSR 算法增强后法图像和经过AutoMSRCR 算法处理之后的图像进行加权融合得到最终的增强图像,其加权融合公式如式(16)所示[20]:
其中:Ri(x,y)是图像融合之后的R,G,B 值,R1i(x,y)是经过双边滤波Retinex 算法增强之后的图片,R2i(x,y)是经过AutoMSRCR 算法增强之后的图片,m是权重系数,经过实验对比然后确定m 的值,就可以得到融合之后增强图像。
为了验证本文算法的有效性,使用LOL 数据集进行实验验证[21],根据国标对光照强度等级的区分,从该低光照数据集中选择具有代表性的六种暗光级照度和月光级照度下的低光照图像进行图像增强,并将本文算法与MSRCR 算法,MSR 算法,CLAHE 算法,改进GAMMA 算法[22]进行对比。
论文选取的图片主要两种类型:一种是暗光级照度如图8,暗光级照度下图像主要选取三种类型,其中图8(a)是阶调均匀整体偏暗的城市街景,图8(b)是暗调细节丰富的自然景观,图8(c)是色彩丰富的室内静物;另一种是月光级照度如图9,亦选三种不同类型的图像,图9(d)是边缘纹理细节图,图9(e)亮度对比明显的阶调不平衡图像,图9(f)是色彩丰富、阶调均匀的图像。
图8 暗光级照度环境对比图Fig.8 Comparison diagram of low light level illumination environment
图9 月光级照度环境对比图Fig.9 Comparison of moonlight level illumination environment
将不同算法增强后的图片进行对比,易发现:(1)经过CLAHE 算法增强后,图片的整体亮度还是偏暗,但色彩信息保留比较完整。在图8(a),图8(b)中对天空和礁石两个亮度较低的区域增强效果较差,没有显示出云朵和礁石的细节,使得图像的边缘纹理细节模糊。图8(c)由于亮度增强效果较差导致增强后的图像没有展现出图像色彩的丰富性。(2)经MSR 算法增强后图像整体被压缩,色彩不够丰富整体偏图像偏白化。图8(a)增强后图像颜色偏黄,出现光晕。图8(b),图8(c)虽然展现出礁石的细节和鲜花的轮廓,但由于出现过渡增强导致图片的颜色出现失真,图片中很多的细节丢失。(3)经MSRCR 算法增强后的图像存在和MSR 算法类似的图像偏白化问题,与MSR 算法相比高亮度区域与低亮度区域处理更好,但图片的且整体图像模糊,清晰度差。(4)经改进的GAMMA 算法增强后的图像较之于前三种算法图像整体亮度、色彩、清新度都有着明显的提升,但是亮度整体偏暗。(5)经本文算法处理后的图像,在8(a),图8(b)中能清晰展现天空的云朵轮廓和礁石的细节,在图8(c)展现出更加丰富的色彩信息。总体上在微光环境中图片的色彩、亮度、清晰度、边缘细节主观感受均优于其他四种算法,对不同场景的适应更强,综合质量更佳。
将上述几种算法应用于月光级照度环境下图像增强,结果如图9 所示。(1)图像经过CLAHE 算法增强后,在亮度增强上整体效果较差,图9(d)在玩偶的实体与阴影没有得到有效展示,边缘纹理细节缺失。图9(e),图9(f)由于受到其算法在亮度增强的局限性导致增强后的图像色彩和细节处理效果较差。(2)经MSR 算法增强后图像整体亮度提升较大,但是在高亮度区域出现过度增强的现象,没有很好地区分高亮度区域和低亮度区域使得在图9(d)中玩偶的实体与阴影的对比不够明显,图9(e)中橱窗中的物体出现轮廓模糊。(3)经MSRCR 算法增强后亮度得到增强但是图像模糊、清晰度低。在色彩处理方面较之于MSR 算法有一定的提高,如9(f),在MSRCR算法增强后花瓶的颜色更丰富,但由于图像的模糊导致整体观感差。(4)改进的GAMMA 算法在低光照环境中对三幅图的亮度增强方面不是很理想,但是在图9(e)中对高亮度区域和低亮度区域的增强处理上有着比较好的效果,在图9(f)中对图像颜色的恢复效果也较为理想,但是图像整体亮度还没有得到更好的增强。(5)本文算法增强后的图片没有出现过度增强的现象,高亮度区域和低亮度区域的对比明显,细节轮廓清晰。图片的色彩信息更加丰富,更符合人眼视觉特征。
综上所述,CLAHE 算法对低光照图像中亮度增强效果较差,增强后图像的色彩信息没有充分体现。MSR 算法,MSRCR 算法存在过渡增强的现象,使得图像中高亮度区域和低亮度区域边界模糊,图像纹理细节不清晰。改进GAMMA算法在对暗光级照度图像的增强效果较为理想,但是在月光级照度中对图像亮度增强效果不是十分理想。而本文算法具有较强的适应性,不管是对暗光级照度图像还是月光级照度图像进行增强,图像的亮度更高,色彩信息更丰富,图像更清晰。
单从主观视觉上评价一张图片的质量并不能完全准确的判断图片的质量,为了客观评价图片的质量,本文选用图像评价指标对图片的质量进行评价,因此,本文采用多个评价指标从客观上综合评价算法性能,色彩浓度综合指标UCIQE(Underwater Color Image Quality Evaluation)[23],梯度指 标AG(Average Gradient)[24],标准差SD(Standard Deviation)[25],信息熵IE(Information Entropy)[26],
UCIQE 从饱和度平均值Sν,色调的标准差Hν,以及对比度平均值Cν三个方面对彩色图像进行综合评价,该值越大,图像色彩综合质量越好,UCIQE 定义如式(17)所示:
其中:n1,n2,n3为加权系数,取数值 为n1=0.468 0,n2=0.257 6,n3=0.274 5。Hν,Sν,Cν的定义如式(18)~式(20)所示:
其中:IL,Ia,Ib分别是LAB 空间图像L,A,B 通道的灰度 值;IL取值为[ILmin,ILmax],tol2是出现概率不小于ILmax且值最接近ILmax的IL值,tol1是出现概率大于ILmin且值最接近ILmin的IL值。
梯度指标AG(Average Gradient)平 均梯度指标表示灰度值的变化情况,是判断图片清晰度和细节处理的指标,梯度指标越大说明图片的清晰度越好其表达式如式(21)所示:
其中:M×N表示图像的尺寸,表示图像水平方向梯度,表示图像垂直方向梯度,
标准差SD(Standard Deviation)是衡量图像对比度的重要指标,而低光照图像的对比度相比较于正常光照图像其对比度有着明显的差距,因此使用标准差可以衡量图像增强前后所产生的变化。标准差的表达公式如式(22)所示:
其中:M×N表示图像的尺寸,f(x,y)表示在(x,y)位置处的像素灰度值,u表示为图像的灰度平均值。
信息熵IE(Information Entropy)主要是衡量图像包含的信息多少,其数值越大则表明图像所拥有的信息量越多,表达式如式(23)所示:
其中:i表示图像中像素灰度值的大小,p(i)是整幅图像中出现灰度值为i的像素的概率。
表1 不同算法的效果对比,从单张图片处理时间来看,本文算法略逊于其他几种算法,但从表中可以看出本文算法在不同的光照环境下,对不同类型的图片都有较好的增强效果,特别在第四组,第五组,第六组月光级照度条件下的增强效果更加明显,各项评价要优于其他几种算法。
表1 不同图像的客观评价指标Tab.1 Objective evaluation indicators of different images
表2 不同评价指标的均值对比Tab.2 Comparison of mean values of different evaluation indicators
同时为了判断五种算法的稳定性和对不同光照环境的适应性,将每种评价指标取其均值来对比,更加直观地判断其算法的可靠性,通过表(2)可以看到本文算法在四种不同的图像评价指标上都要优于其他四种算法。与其他四种算法相比较,本文算法在标准差和梯度指标上的提升很明显,此两项数据说明本文算法在增强之后的图像清晰度和细节的处理上都有着明显的优势;在色彩浓度指标和信息熵两项指标上本文算法与MSRCR 算法相比较在色彩浓度上的提升尤为明显,色彩浓度综合指标在MSRCR 的基础上提升了65.24%。通过上述的客观评价,可以得出本文所提出的低光照图像增强算法在对比度、清晰度、保持图像细节和色彩浓度上有着突出的优势,更加真实自然地展现了图像的视觉效果。
针对在低光照情况下获取的图像信息含量少、增强后细节丢失、色彩压缩严重、图片对比度过低、噪声明显等问题,本文提出一种基于双边滤波的MSR 算法与AutoMSRCR 算法融合的低光照图像增强算法。通过对低光照图像进行增强处理效果表明,该算法不仅能够提升图像的亮度和细节,还在进行图像增强时实现色彩的还原,其评价指标UCIQE,AG,SD,IE 分别达到了0.472 1,12.674 2,0.263 2,7.637 9。在与MSRCR 算法、MSR 算法、CLAHE 算法、改进GAMMA 算法进行对比发现,图像细节、清晰度、对比度和边缘纹理处理上都有着明显提升。该算法对于夜晚汽车行车记录仪的使用,以及在不能使用闪光灯拍摄图片的低光照环境中具有潜在的应用价值。