APP下载

基于改进型Retinex算法的彩色图像增强技术*

2021-05-18骆家杭

计算机工程与科学 2021年5期
关键词:图像增强亮度乘法

骆家杭,张 旭

(上海工程技术大学机械与汽车工程学院,上海 201620)

1 引言

随着智能算法的发展,图像识别技术越来越受到人们的关注,科研人员在训练识别模型的时候也希望得到更准确、更稳定的识别模型。但是,图像数据库的图像质量可能会受到各种各样外在因素的影响,如光照不均、相对运动和色彩失真等。对图像进行增强处理,可提高图像品质,丰富图像的信息量,便于计算机进一步理解图像。因此,彩色图像的增强处理技术在交通智能化、军事国防和医学等方面能够发挥相当重要的作用。

Retinex算法逐渐成为AI、信号处理等方向的潮流,Edwin Land在20世纪中叶提出Retinex算法理论,该理论认为人眼所看见的视图是由于物体对光线进行反射所产生的。此后,20世纪90年代,Jobson等人研究发现对图像的对比度加强可以使用高斯模型,文献[1]提出单尺度Retinex算法SSR(Single Scale Retinex),文献[2]指明高斯滤波之所以能够估计光强,内在核心是拉氏运算,即拉普拉斯算法[3]。拉普拉斯算法可以衍生到多尺度Retinex算法MSR(Multi-Scale Retinex)中。在应用图像增强算法过程中,原始图像因为具有不同程度的噪声,会造成处理后图像的局部细节色彩失真,不能真正表现物体的原本色彩,使整体视觉效果变差。针对这一点不足,张慧娜等人[4]将输入的低对比度图像分解为Lab颜色空间中的亮度分量和色度分量,很好地反映了人类视觉系统的感知特征。Krizhevsky等人[5]提出亮信道先验和局部方差映射生成的空间自适应权值映射,自适应地增强正则化参数,能够抑制边界和细节的弱噪声。文献[6]通过最小加权二乘法也能实现对图像的增强显示。基于双边滤波的Retinex算法能够很好地抑制对图像产生的过曝光,但会造成图像灰度值过大。

为了改善传统单尺度Retinex算法中光晕和局部细节缺失的弊端,本文提出了在单尺度Retinex算法基础上的改进型彩色图像增强算法。参考文献并结合Alajarmeh等人[7]提出的增强HSI(色调Hue、饱和度Saturation、亮度Intensity)中的亮度I来增强RGB彩色图像的措施,利用最小加权二乘法作为核心算法,不再使用传统的高斯函数模型,能够显著改善细节表达不完整的缺陷。本文对优化的单尺度Retinex算法处理后的图像层和细节图像层构造增益系数,并进行重构输出一幅结果图像。对图像层构造增益系数的目的是使图像各区域光照效果充分均匀的同时,加强图像细节的表达。对同一图像不同处理方式使用常用的图像质量评估,本文提出的改进型单尺度Retinex算法可有效增强图像,从而得到自然、清晰的图像。

2 Retinex算法原理

Retinex算法[8]是一种基础的图像增强算法,单词Retinex由Retina (视网膜)和Cortex(大脑皮层)中的字母组合而成,即为视网膜大脑皮层理论。Retinex算法建立在3个假设基础上:(1)人的眼睛对感知到的颜色是光和物质相互作用的产物,原本的世界其实是无色的;(2)三原色(红、绿、蓝)构成色彩基本区域;(3)单位图像像素点的色彩由三原色决定。物体呈现的颜色由光波所具有的性质决定,但是物体颜色不受光照强度变化的影响,具有一致性。算法原理如图1所示。

Figure 1 Retinex algorithm schematic diagram
图1 Retinex算法原理图

S(x,y)=R(x,y)·L(x,y)

(1)

其中,S(x,y)为双目的最终成像,L函数为输入波,R函数为反射波。Retinex算法原理的核心是将光照强度对最终成像质量的影响降低或彻底消除,以此增强图像质量。

单尺度Retinex图像增强算法在图像增强领域应用广泛。利用高斯滤波核函数模型[9]先对图像的光强进行粗计算,然后利用对数变换来消除原始图像中光照的影响,以此优化图像,其过程如式(2)所示:

O(x,y)=lgS(x,y)-lg[F(x,y)*S(x,y)]

(2)

其中,*为卷积符号,O(x,y)为优化后的输出图像,函数S为双目成像图。F为中心环绕函数,即:

F(x,y)=ρ×e-(x2+y2)/σ2

(3)

其中,e为常量且e≈2.71828,σ为高斯环绕尺度,ρ为归一化系数,需要满足:

(4)

单尺度Retinex算法易于实现,并且效果良好,但该算法还有一些缺点:

(1)该理论中的入射光是理想状态,即为没有波动的变化,但在实际情况中,往往很难得到假设情况中的理想状态,特别是在图像的四角和边缘,这些边缘区域光强不同,“光晕伪影”[10]现象经常发生。

(2)单尺度算法只能对整幅图进行增强,图像细节部分不能显示出来,图像增强效果差,对比度不够明显。

3 改进的单尺度Retinex算法

针对单尺度Retinex算法存在的图像细节表达不明显和光晕现象这些弊端,本文利用加权最小二乘法来进行优化,以得到令人满意的结果。

首先,对于单尺度Retinex算法不能提取到很好的细节信息问题,关键点就是寻找一个合适的低通滤波器,且该低通滤波器应具有较好的边缘处理特性,即该低通滤波器可以估计出图像的细节轮廓结构。考虑到加权最小二乘法可以使平滑后的结果图像较好地还原原始图像,且在边缘部分不会发生失真,所以加权最小二乘法滤波器是比较合理的选择。加权最小二乘法[11]滤波器目标函数如式(5)所示:

(5)

其中,下标p代表像素点空间位置;λ是正则项参数[12],λ和图像平滑程度成正比;目标函数第1项(up-gp)2代表输入图像u和输出图像g之间的差平方;第2项是对u求偏导并进行正则化处理,这样输出图像g会更细腻;α为权重。当输入图像边缘梯度变化较大的时候,权重α能够降低边缘梯度系数,从而对图像基本信息进行保存。

对于单尺度Retinex算法所存在的“光晕”,本文将重排图像的灰度级,引入符合人眼视觉的HSI空间,将彩色RGB图像转换到HSI空间并对I通道中的色调和亮度进行结合得到新的图像。优化的灰度级算法表达式如式(6)所示:

lgInew=λh·IB(x,y)+β·ID(x,y)

(6)

其中,Inew为处理后的图像;λh为细节层的常数系数;β为基本层图像的增益系数[13],是图像细节波动的控制系数,当β=14时,细节控制最好;IB为细节层函数;ID为基本层函数。

多尺度Retinex算法MSR的核心是在SSR的基础上利用高斯环绕尺度计算,加权求和输出结果。多尺度带彩色恢复即MSRCR (Multi-Scale Retinex with Color Restoration)算法是基于MSR引入颜色恢复函数;而本文提出的改进的SSR算法只需对HSI空间的亮度分量进行最小加权二乘法的计算便能得到增强图像,算法更为简单。常用的图像去模糊方法有逆滤波、约束最小二乘法滤波、加权最小二乘法滤波、维纳(最小均方差)滤波和卡尔曼滤波(Kalman Fliter)等。本文将对比前3种滤波来进行选择,其中约束最小二乘法滤波的核心是色调H对噪声的敏感度,降低噪声敏感度的其中一种方法是复原其平滑度量的最优值, 因此建立下列约束条件[14]:

(7)

其约束条件为:

(8)

Figure 2 Effect comparison among three filter图2 滤波效果对比图

由图2的滤波效果对比可知,加权最小二乘法滤波处理的带有噪声的模糊图像要比其它2种方法的效果更为细腻和平滑,对比度较为明显,故本文选择加权最小二乘法作为优化算法。

本文算法的整体流程为:将输入的待处理图像由RGB空间转换到HSI空间,对空间内的H分量和S分量进行空域滤波处理,过滤后的信号即为细节层。对I通道亮度分量进行3次引导滤波,并求均值使其图像分层,对分层后的图像分别构造对应的系数来进行增强;对细节层的图像构造常数系数来增强图像的细节,对基本层的图像构造增益系数来对图像的亮度进行增强。将细节层和基本层重构,最后进行合并,在HSI空间对重构的亮度图像使用式(6)进行颜色恢复,得到最终的增强图像。通过上述步骤就可以获得增强后的图像。算法流程如图3所示。

Figure 3 Flow chart of improved SSR algorithm 图3 改进的SSR算法流程图

4 实验结果与分析

4.1 实验环境

本文实验选择 SSR 算法和带彩色恢复的MSRCR算法作为对比算法,使用Matlab(R2018a),对网络上不同类型的彩色图像进行增强,再将增强图像进行对比,以检测本文算法的可靠性和有效性。

实验环境为:Intel处理器Core i5,4核2.4 GHz,内存16 GB。实验对象为有雾的模糊图像和夜间图像,它们均来源于百度图片。本文算法采用的激活函数为sigmoid[15],并采用峰值信噪比PSNR、信噪比SNR、均方误差MSE[16]及运行时间对实验结果进行评估。

4.2 实验结果

表1为图4的实验结果,均方误差MSE为原始图像与含有噪声的图像之间的能量差,差值即为噪声,差值越小,图像的噪声也就越小,图像也就越接近原始图像。峰值信噪比PSNR是峰值信号的能量和噪声所含能量的平均值的比值,用分贝表示,分贝越大,效果越好,能量越大。信噪比SNR为有用的信号和噪声的比值。本文算法的MSE值为7.4888e+03,低于另外2种算法的,所以增强后的图像更加接近原始图像,图像更加细腻清晰,图像的噪声会被削弱甚至消除。从表1数据可以看出,本文算法的峰值信噪比最大,增强的效果较好。在对含有雾的图像进行图像增强时,本文算法削弱了噪声值,对光照强度进行补偿从而保持了图像色彩的均衡性。从MSE值的对比中可以看出,本文算法的增强效果最好,MSRCR效果最差。直观观察图像,本文算法将原始图像中存在的白噪声即雾去除得较为彻底,图像色彩的显示也基本还原于物体本来的颜色;而带色彩恢复的算法MSRCR,图像的整体效果对比太暗,树木的绿色被过增强成了深绿,建筑物的颜色过于暗淡,没有很好地还原颜色;而SSR算法所处理的图像,去雾效果不是很好,白色噪声在图像上部居多,而且色彩的恢复较原始图像稍显浅色。综合来看,本文算法的图像增强效果最佳。

Table 1 MSE, SNR and PSNR of mist image by each algorithm表1 各算法处理有雾图像的MSE、SNR和PSNR对比

Figure 4 Effect comparison of mist image图4 有雾图像处理效果对比

图5显示了输入图像“雾中的树”的处理图像效果。从图5中可以看出,SSR算法对比效果加强但雾天更暗;MSRCR算法处理的图像中全局和局部对比度强度很大,但图像背景亮度变暗。通过表2可以明显看出,本文算法去雾效果和光照增强明显,图像更加清晰,失真不明显,比传统单尺度Retinex算法更加优秀,峰值信噪比和均方误差在3种算法中都是最好的。从图像的直观观感上看,前2种算法所处理的图像,感觉都变成了灰度图像,且图像的噪声从视觉层面完全没有消除;而本文算法的增强图像在色彩的真实度上是和原始图像相似的,雾天的效果有明显的消除,但有些细节部分处理得不够完美,整体来说增强效果依旧是最好的。

Figure 5 Effect comparison of ‘the tree in the mist’图5 输入图像“雾中的树”处理效果对比

Table 2 MSE, SNR and PSNR of ‘the tree

图6是对暗光下的图像进行处理的效果对比。从图中6可以看出,SSR算法处理后的图像整体来说对比度明显,但对于人的背影增强过头,出现失真现象,天空的云朵颜色过度增强;MSRCR算法效果很差,人的背影完全变暗,与背景融为一体,色彩也失真。通过表3可以看出,本文算法处理效果优于其它2种算法的,但图像底部的对比度不及SSR算法的效果,算是其中的不足,整体来说性能优异,PSNR和MES也是最好的。通过3幅不同图像的纵向对比,本文算法对去雾和夜间图像进行加强的效果最好。从图6中可以看出,使用MSRCR对图像增强后图像颜色完全失真,图像模糊,且偏暗发红,效果很差;使用SSR增强后的图像色彩亮度过高,不能真实地反映实际图像的颜色,并且造成了人影部分的失真。由此可以看出,本文改进的SSR算法效果是最好的。

Figure 6 Effect comparison of dusk image 图6 黄昏图像处理效果对比

Table 3 MSE, SNR and PSNR

5 结束语

本文提出改进的SSR算法将输入的彩色图像通过HSI的亮度通道I进行滤波,再将过滤后的细节层和基本层重构达到图像增强效果,最后在 RGB 空间对重构的亮度图像进行颜色恢复,得到最终的增强图像。本文算法只需要改变亮度分量I,就能实现对图像的增强,简化了算法实现。在计算时间方面,所用的融合算法相当于多尺度融合参数的自适应化,不仅保留了更多的细节,图像的对比度也有所增强。本文没有利用图像的灰度直方图来进行效果对比,是因为灰度直方图对图像的空间信息丢失严重。但是,灰度直方图可以通过灰度的分布来直观地看出图像质量的好坏,这是本文可以增加对比的地方。从实验结果可以看出,本文算法的PSNR值优于其它算法的值,增强后的图像更接近原图,信噪比SNR在本文对比算法中最高,但与SSR的峰值比相差不大;均方误差MSE在3个对比算法中最小,说明本文算法的精度更高;运行速度高于其它对比算法的,运行时间为0.511 s,图像分辨率为516×451,与SSR算法相比提升了46.8%,与MSRCR算法相比提升了47.6%。对比度提升明显,去雾效果明显,“光晕伪影”现象不明显,是比较理想的基于单尺度Retinex算法的改进型算法,满足要求。

猜你喜欢

图像增强亮度乘法
算乘法
我们一起来学习“乘法的初步认识”
图像增强技术在超跨声叶栅纹影试验中的应用
水下视觉SLAM图像增强研究
《整式的乘法与因式分解》巩固练习
把加法变成乘法
虚拟内窥镜图像增强膝关节镜手术导航系统
亮度调色多面手
基于图像增强的无人机侦察图像去雾方法
亮度一样吗?