基于HSV 空间的Retinex 低照度图像增强算法

2023-12-14 07:18张宝菊孙友辰张翠萍
关键词:图像增强照度亮度

张宝菊,孙友辰,王 琼,张翠萍,张 博

(1.天津师范大学电子与通信工程学院,天津 300387;2.天津市无线移动通信与无线电能传输重点实验室,天津 300387)

数字图像是一种直观的信息载体,随着数字成像技术的发展和数字成像成本的降低,数字图像已成为一种常见的媒体形式.图像增强的目的是改善图像的视觉效果,将其转换为更适合于人或机器进行分析和处理的形式.传统的图像增强技术主要包括空域和频域2 种增强算法.基于空域的算法主要有直方图均衡化和灰度变换等方法.基于频域的算法在频域内对整个图像进行操作,通过低通滤波或高通滤波对图像进行滤波处理.传统的图像增强算法主要针对灰度图发挥作用[1].随着图像处理技术的不断发展,很多应用领域要求对彩色图像进行图像增强和色彩恢复.但在现实生活和自然场景中,由于拍摄角度、拍摄时间、拍摄环境和设备等因素的影响,大量图像往往由于光照不足等问题,导致图像的视觉感知较差,许多有效信息被隐藏,在一定程度上降低了图像质量和应用价值[2].

为提高低照度图像的质量,相关学者提出了多种低照度图像增强的方法.Land 等[3]首次提出了Retinex算法,该算法符合人眼的颜色恒常性理论.之后研究人员对Retinex 算法做了一系列改进,从单尺度算法发展到多尺度算法,再发展到带有色彩恢复的多尺度算法[4-6].传统的Retinex 算法容易产生光晕和过增强等现象,因此许多学者提出了多种方法对传统Retinex 算法进行改进.Liu 等[7]提出了基于Retinex 的快速算法实现低照度图像增强,该算法能够恢复低照度覆盖的信息.Wang 等[8]针对传统Retinex 算法纹理细节保留差以及光晕、过增强和色调突变等缺点,提出了一种基于Gabor 滤波器和Retinex 理论的低照度彩色图像增强算法,使处理后的图像颜色丰富,且更接近原始图像,有效减少了晕轮和过增强.Hassan 等[9]提出了一种基于Retinex 的水下图像增强算法,以解决由于光的衰减变化和红、绿、蓝分量的不均匀吸收造成的水下图像对比度低和颜色失真等问题.

为提高图像亮度,增强对比度和图像细节,本文提出一种基于HSV 空间的Retinex 低照度图像增强算法.实验结果显示,该算法提高了图像的对比度和亮度,有效改善了低照度图像的质量,具有较好的色彩恢复效果,视觉效果良好.

1 基本理论

1.1 色彩空间转换

彩色图像增强的目的是调整图像的亮度和颜色,以满足人对颜色的感知.RGB 和HSV 颜色空间都是表示色彩的方法.图像的RGB 分量之间有很强的关联性,不适合单独用于图像增强.HSV 是一种基于人眼视觉感知的颜色空间.HSV 模型基于RGB 颜色空间中点的关系建立,可以更准确地描述感知到的颜色关系,并使其在计算中保持简单[10]. HSV 空间的3 个分量分别为色调(H)、饱和度(S)和亮度(V).色调表示颜色的基本特征.饱和度表示颜色的纯度,其值范围为0%~100%. 亮度表示颜色的明亮程度,其值范围为0%~100%[11],对于光源色,亮度值是相对于照明亮度的颜色,物体色与物体的透射率或反射率有关.

1.2 Retinex 算法

Retinex 理论又被称为视网膜皮层理论[12],Retinex图像增强算法的基本思想是,对于一个点的颜色和亮度的感知不仅取决于进入人眼的绝对光线,还取决于周围的颜色和亮度[13]. Retinex 算法在低光照图像增强、恶劣环境下的图像增强和图像去雾、彩色图像恢复等方面取得了很好的效果[14].Retinex 算法的表达式为

式中:S(x,y)为观察到的图像;L(x,y)为照射分量,反映图像整体的亮度情况;R(x,y)为反射分量,包含大量的图像细节信息.反射分量由物体本身的内在属性决定,不受入射光的影响.对式(1)取对数,得到

在实际求解时,直接由原始图像获得反射分量比较困难,通常先间接求得照射分量,再由式(2)得到结果,照射分量的计算方式有很多种.Retinex 的基本计算过程如图1 所示.

图1 Retinex 的计算过程Fig.1 Calculation process of Retinex

单尺度Retinex 算法(SSR)可以保留图像色彩,抑制噪声,但容易出现颜色失真,且会出现光晕现象[14].相比于SSR 算法,多尺度Retinex 算法(MSR)对图像的动态范围压缩效果更好,对比度和亮度的增强效果更明显,色彩保持效果更好,但也会出现颜色失真,且难以避免光晕现象[15].带色彩恢复的多尺度Retinex算法(MSRCR)在MSR 算法的基础上引入了一个色彩恢复因子,利用色彩恢复因子的变化改变相关参数的比例,使其恢复为原始数值,从而实现色彩补偿,解决颜色失真现象[16].MSRCR 算法的表达式为

式中:Ci(x,y)为第i个通道的色彩恢复函数,

式(3)中:k为尺度参数的个数,ωk为每个尺度的权重.当k=1 时即为单尺度Retinex 算法,多尺度算法中k一般取3.式(4)中:β 为增益常数,α 为一个可以控制的非线性调节因子,n为颜色通道数.

SSR、MSR 和MSRCR 算法的增强效果示例见图2,可见MSRCR 算法的视觉效果优于SSR 算法和MSR 算法,避免了颜色失真现象.因此本文选用相应的MSRCR 算法处理图像.

图2 Retinex 算法增强效果Fig.2 Enhanced effects of Retinex algorithm

2 本文算法

2.1 RGB 空间与HSV 空间的相互转化

RGB 空间与HSV 空间在数值上一一对应.RGB空间转换为HSV 空间的计算公式为

式中:r、g、b分别为红色、绿色、蓝色分量,r、g、b的最大值和最小值分别为max 和min. HSV 空间转换为RGB 空间的计算公式为

2.2 改进的MSRCR 算法

Retinex 算法一般采用高斯滤波作为中心函数,高斯滤波器计算整个图像的加权平均值,相邻像素点间的距离越近,其关系越紧密,因此经高斯滤波处理的图像可能会产生光晕和模糊边缘[13].双边滤波是一种非线性滤波器[17],其在高斯滤波的基础上考虑了值域和空间域的差异,能够保留图像的边缘特征,实现边缘去噪,在增强图像细节信息的基础上消除光晕现象[18].本文采用双边滤波对饱和度分量进行处理,并在亮度分量中以双边滤波器作为中心函数.双边滤波的计算公式为

式中:g(i,j)为图像中心像素的灰度值;D(i,j)为以(i,j)为中心点的邻域像素的取值范围;w(i,j,k,l)为滤波器的权重系数,即新的灰度值;f(i,j)和f(k,l)分别为点(i,j)和(k,l)附近像素的灰度值;ws(i,j)和wr(i,j)分别为空间邻近因子和灰度相似因子;σs和σr为滤波器参数[19].

2.3 联合亮度增强算法

2.3.1 自适应Gamma 校正

Gamma 校正通过非线性变换使曝光强度的线性响应图像更接近人眼感受的响应,对过亮或过暗的图像进行校正.Gamma 校正主要用于提高低照度图像的亮度,增强图像的质量[17].Gamma 校正的计算公式为

式中:I(x,y)为原始图像的亮度;γ 为校正系数;G(x,y)为校正后的图像亮度.当γ=1 时,校正后图像与原始图像亮度相同,当γ <1 时,校正后的图像亮度增加,反之亮度降低[20].本文采用自适应的Gamma 校正处理图像.一幅合理的图像的Gamma 均值应为0.5 左右,校正系数需要向这个均值靠近[21]. 设图像的平均亮度为X,自适应Gamma 校正的校正系数满足Xγ=

2.3.2 限制对比度自适应直方图均衡化算法(CLAHE算法)

采用限制对比度自适应直方图均衡化算法(CLAHE 算法)进一步提高图像质量,该算法由直方图均衡化算法(HE 算法)演变而来,通过调整对比度限幅提高图像质量[17].该算法的目的是提高图像的局部对比度,抑制噪声放大.CLAHE 算法的基本步骤为:①图像子区域划分;②计算直方图;③计算限制值;④像素点重新分配;⑤直方图均衡化;⑥重构像素点灰度值.限制值的计算公式为

式中:c为子区域中包含的像素数;L为子区域的灰度级数;α 为截断系数,范围为[0,100];Smax为最大斜率,用于决定对比度增强的幅度,取值为[1,4]内的整数[22].

利用自适应Gamma 校正处理增强后的图像,可以保留图像的有效信息,再使用CLAHE 算法对亮度分量进行局部增强,可以增强图像的细节,保留更多的有效信息,从而提高图像质量.

2.4 基于对比度拉伸的饱和度增强算法

当颜色信息(参数h)恒定时,亮度和饱和度决定了图像的整体效果. 饱和度分量经过双边滤波处理后,边缘更加清晰.由于光照强度不足或不均匀,低照度图像的颜色较暗,饱和度较低.对低照度图像进行处理时,随着亮度和细节的增强,会导致图像颜色失真.因此需要通过对比度线性拉伸优化图像的饱和度分量s,使其值在[0,255]区间内.对比度拉伸的计算公式为

式中:Imax和Imin分别为原图中的最大和最小强度值,MAX 和MIN 分别为映射像素的灰度范围的最大和最小像素值.

2.5 色彩恢复

由于不同环境下的色温不同,图像拍摄效果与真实颜色会有很大偏差.人眼具有色彩恒常性,不同光照条件下物体反射的光线是不同的,但人眼看到的物体颜色是相同的,然而计算机无法将不同的反射光线确定为相同的颜色.因此,需要对图像进行白平衡处理以恢复其真实颜色.白平衡算法主要包括灰度世界理论和完美反射理论2 种[18].本文采用自动白平衡算法[23]处理图像.以R 分量为例,自动白平衡算法的具体计算公式为

式中:μ 和ν 为通道校正系数,Rave和Rmax分别为R 通道的均值和最大值,Kave和Kmax分别为3 通道分量均值的平均值和3 通道分量最大值中的最大值. 由式(14)计算出μ 和ν,然后对原像素进行校正,得到校正后的通道分量.

2.6 算法基本流程

本文提出的低照度图像增强算法的基本步骤如下:

步骤1:对图像进行颜色空间分离和转换,将RGB 图像进行3 通道分离,并转换到HSV 空间.

步骤2:采用改进的多尺度Retinex 算法对V 通道进行图像增强.

步骤3:对增强后的图像使用自适应Gamma 校正进行校正处理,再使用CLAHE 算法对亮度分量进行局部增强.

步骤4:对S 分量进行双边滤波处理,再进行对比度拉伸变换.

步骤5:将H 分量和处理后的S 分量及V 分量合成为新的HSV 图像,再将其转换成RGB 图像.

步骤6:采用自动白平衡算法处理新生成的RGB图像,进行色彩恢复

算法的基本工作流程见图3.

图3 算法的基本工作流程Fig.3 Basic workflow of proposed algorithm

3 实验结果与分析

为验证本文算法的图像增强效果,选择室内近景、室内远景和室外场景的低照度图像进行实验,图像包括室内、室外场景下不同的物体特征.分别采用直方图均衡化算法(HE 算法)、多尺度Retinex 算法(MSR 算法)、带色彩恢复的多尺度Retinex 算法(MSRCR 算法)和本文算法处理图像,结果见图4.

3.1 主观评价

由图4 可见,经HE 算法处理后,3 幅图像的整体曝光均得到加强,色调发生了变化.图A 和B 整体泛白,导致图像信息缺失;图C 中的太阳已无法分辨,天空和湖面由暖黄色变成冷白色.经MSR 算法处理后,3 幅图像的亮度有较大提升,但是产生了严重的色偏现象.图A 整体偏蓝,暖光变成了蓝光,右上角和右下角也产生了蓝光;图B 整体泛白,视觉效果不够自然,色彩流失严重;图C 增强了局部信息,整体变亮,但是色彩保持较差,整体轮廓不够清晰,且出现了光晕现象.经MSRCR 算法处理后,与原图相比,可以明显观察到3 幅图像的整体亮度得到提升,细节展现较好,边缘清晰,但是整体颜色还有一些泛白,对比度较低.经本文算法处理后,可以看出图像更加自然,细节更加突出,边缘得到有效增强,算法对亮度和对比度的增强效果较好,更加符合人眼的视觉感知,具有良好的视觉效果.

3.2 客观评价

采用峰值信噪比(PSNR)、结构相似度(SSIM)和信息熵对不同算法的图像增强效果进行评价. PSNR和SSIM 是目前使用最广泛的图像处理质量的评价指标.SSIM 用于度量2 个图像的相似性,由图像结构信息的变化确定,其取值范围为[0,1].信息熵通常用于衡量图像中的信息量,其数值越大,图像包含的信息越丰富,质量越好. 4 种算法处理后图像的PSNR、SSIM 和信息熵结果见表1.

表1 不同算法处理后图像的PSNR、SSIM 和信息熵Tab.1 PSNR,SSIM and information entropy of images processed by different algorithms

由表1 可见,本文算法处理图像的PSNR 均为最大,且相比于其他算法有大幅提升,说明本文算法抑制噪声的能力较强,处理后的图像在一定程度上减少了颜色失真.本文算法的SSIM 也大于其他算法,说明经本文算法处理后的图像还原度较好,与原图像相似程度高,较好保持了原图的结构特性.本文算法处理图A 的信息熵为7.31,仅低于MSR 算法(7.64),处理图B 的信息熵为7.56,高于其他算法,处理图C 的信息熵为7.75,略低于HE 算法(7.86)和MSR 算法(7.81).综合3 个评价指标可见,本文算法处理图像的效果优于其他算法.

4 结语

针对低照度图像质量较差的问题,提出一种基于HSV 空间的Retinex 低照度图像增强算法.实验结果表明,该算法增强后的图像在一定程度上减少了颜色失真,增强了亮度和对比度,减弱了光晕现象,在主观评价和客观评价方面都取得了良好的效果.

猜你喜欢
图像增强照度亮度
图像增强技术在超跨声叶栅纹影试验中的应用
水下视觉SLAM图像增强研究
虚拟内窥镜图像增强膝关节镜手术导航系统
恒照度智慧教室光环境
亮度调色多面手
电子投影机照度测量结果的不确定度评定
基于图像增强的无人机侦察图像去雾方法
亮度一样吗?
基于斩波调制的LED亮度控制
人生的亮度