基于三边滤波的Retinex图像去雾算法

时间:2022-05-27 03:49:57

基于三边滤波的Retinex图像去雾算法

摘 要: 针对传统Retinex算法采用高斯滤波估计图像的照射分量易产生边缘模糊,不能有效去除脉冲噪声且处理后的图像颜色易失真等问题,提出一种基于三边滤波的Retinex图像去雾算法。该算法利用三边滤波器估计图像的照射分量,三边滤波器继承了双边滤波器既可以有效降低图像加性高斯噪声又可以保持图像边缘细节的特性,同时又解决了双边滤波器与高斯滤波器不能有效滤除脉冲噪声,易产生伪边缘等问题。为验证该算法的有效性,采用5种不同的客观评价参数对处理后的图像进行评价。实验证明,该算法能有效地改善雾天图像的退化现象,提高图像的清晰度。

关键词: Retinex算法; 图像去雾; 三边滤波器; 双边滤波器

中图分类号: TN919?34; TP391 文献标识码: A 文章编号: 1004?373X(2013)24?0077?04

Retinex image defogging algorithm based on trilateral filtering

CAO Yong?mei, ZHANG You?sai

(School of Electronics and Information, Jiangsu University of Science and Technology, Zhenjiang 212003, China)

Abstract: A Retinex image defogging algorithm based on trilateral filtering is proposed in this paper to avoid edge fuzziness, impulse noise and color distortion in traditional Retinex algorithm. In the new algorithm, the trilateral filter is adopted to estimate the illumination component on image. The trilateral filter is utilized to replace Gaussian filter and bilateral filter, both of which can not effectively filter the pulse noise but are easy to produce false edge. Trilateral filter can preserve the image’s edges while it suppresses the additive white Gaussian noise as the bilateral filter does. Five different objective evaluation parameters are used to evaluate the disposed images to prove the effectiveness of the algorithm proposed in this paper. Experiment results show that this algorithm can effectively improve the degradation of foggy images and enhance their definition.

Keywords: Retinex algorithm; image defogging; trilateral filter; bilateral filter

0 引 言

近年来,随着计算机视觉领域的发展,雾天图像的清晰化问题逐渐成为该领域的研究热点。目前对于图像去雾技术的研究大体上可以分为两类[1]:基于大气散射物理模型的图像去雾方法和基于图像增强的去雾方法。基于大气散射物理模型的图像去雾方法从造成图像退化的具体原因角度分析,侧重于考虑大气散射作用对成像过程的影响,对雾天图像的退化过程进行数学建模,求解模型参数,再通过图像退化的逆过程来恢复原来的真实图像。基于图像增强的去雾方法不考虑图像退化的原因,而是有选择性的突出图像中感兴趣的特征,减弱不需要的特征。一般通过增强图像的对比度和校正图像的颜色以达到图像去雾的目的,从而使处理后的图像更适合人类的视觉特性或计算机识别系统。基于图像增强的去雾方法以其方法简单、有效而得到更为广泛的应用。

图像增强算法中的Retinex算法以其方法简单、有效而得到广泛的应用。传统Retinex算法将图像的R,G,B通道分别进行处理,将雾的成分近似看作分布在低频且服从高斯分布的噪声,采用高斯滤波器估计图像的照射分量易造成处理后的图像边缘模糊,细节信息丢失且颜色易失真。雾天图像的获取过程中可能引入脉冲噪声,而传统的Retinex算法未考虑这一问题。针对传统Retinex算法的不足,本文提出一种基于三边滤波的Retinex图像去雾算法。该算法将获取的RGB雾天图像转换到HSV空间,保持色调分量H不变,对饱和度分量S进行增强,对亮度分量进行改进后的单尺度Retinex算法处理,采用三边滤波估计图像的照射分量,平滑图像的同时保持图像边缘细节信息且能够去除脉冲与高斯混合噪声,并对获得的反射图进行全局图像增强从而取得较好的去雾效果。

1 传统Retinex算法

Retinex这个词是由视网膜(Retina)和大脑皮层(Cortex)两个词组合而成的。Retinex是一种描述颜色不变性的模型[1],其理论主要包含两个方面的内容:物体的颜色是由物体对长波、中波和短波光线的反射能力决定的,而不是由反射强度的绝对值决定的;物体的色彩不受光照非均匀性的影响,具有一致性。根据Retinex理论,人眼感知物体的亮度取决于环境的照明和物体表面对照射光的反射,其数学表达式为:

[I(x,y)=L(x,y)×R(x,y)] (1)

式中:I(x,y)代表被观察或照相机接收到的图像信号;L(x,y)代表环境光的照射分量;R(x,y)表示携带图像细节信息的目标物体的反射分量。

式(1)两边取对数,在对数域用原始雾天图像减去照射分量得到图像的反射分量:

[lg[R(x,y)]=lg[I(x,y)]-lg[L(x,y)]] (2)

单尺度Retinex(Single Scale Retinex,SSR)算法正是基于上面思路得到的:

[Ri(x,y)=lgIi(x,y)-lg[F(x,y)?Ii(x,y)] =lg{Ii(x,y)[F(x,y)?Ii(x,y)]}, i=1,2,3] (3)

式中:Ri(x,y)代表第i个颜色分量Retinex算法输出结果;*是卷积算子;F(x,y)表示中心/围绕函数,可用高斯函数来实现:[F(x,y)=Ke-(x2+y2)/σ2],式中K由归一化函数决定。σ为高斯函数的尺度参数。σ取值较小时,能较好的完成图像动态范围的压缩,暗区域的细节能得到较好地增强,但是输出颜色易失真;取值较大时,色感一致性较好。通常可以在两者之间寻求平衡点,即引入多尺度Retinex[1?2](Multi Scale Retinex,MSR)。多尺度Retinex算法描述为:

[Ri(x,y)=i=1KWK{lgIi(x,y)-lg[FK(x,y)?Ii(x,y)]}, i=1,2,3] (4)

式中:WK表示和FK相关的权重系数;K表示中心/围绕函数的个数,一般选取高、中、低3个尺度。传统Retinex算法与其他图像增强算法相比,处理后的图像更清晰自然,图像整体对比度得到提高,细节信息突出,但是,存在图像边界模糊,颜色失真等问题。

2 滤波器的改进

2.1 双边滤波器

针对传统Retinex算法存在图像边缘模糊的问题,有学者提出了将双边滤波器融入传统的Retinex算法[1],利用双边滤波器估计图像的照射分量。双边滤波器实现简单,并且它的非迭代性和保边性能够在迅速有效去噪的同时保持图像的边界不被模糊减弱[1]。

将雾近似看作零均值加性高斯噪声,可以得到雾天的图像模型:

[u(x,y)=u0(x,y)+n(x,y)] (5)

式中:u0表示无雾图像;u(x,y)图像中(x,y)点处的像素值。n是服从零均值高斯分布的雾,u是雾天图像。

在双边滤波器中,权函数w为:[w[(x,y),(x′,y′)]=wS[(x,y),(x,y')]×wR[(x,y),(x',y')]] (6)

式中:(x,y)为当前像素点,(x′,y′)∈Ω,Ω为(x,y)的邻域;wS[(x,y),(x′,y′)],wR[(x,y),(x′,y′)]分别为空间邻近度因子和亮度相似度因子,它们的表达式为:

[wS[(x,y),(x′,y′)]=e-(x,y)-(x′,y′)2σ2S] (7)

[wR[(x,y),(x′,y′)]=e-u(x,y)-u(x′,y′)22σ2R] (8)

式中:σS,σR分别为空间邻近度的尺度参数和亮度相似度的尺度参数;u(x,y)表示当前像素点的灰度值;u(x′,y′)表示当前像素点的邻域像素点的灰度值。

双边滤波器既可以有效降低图像加性噪声又可以保持图像的边缘细节,但是若图像中存在脉冲噪声,双边滤波算法会将脉冲噪声误当成图像边缘处理,从而产生伪边缘。在雾天图像的获取过程中极可能引入脉冲噪声,本文提出一种三边滤波器[1],在保持图像边缘细节的同时可以去除高斯与脉冲混合噪声,避免产生伪边缘,在图像去雾过程中起到重要作用。

2.2 三边滤波器

如何确定图像中的像素是否是脉冲这一问题并没有得到很好的定义,所以需要检测图像中可能是脉冲噪声的像素,脉冲噪声点的灰度值会与其邻域内的灰度值有较大的差别。

首先引入ROAD(Rank?ordered Absolute Differences)函数用以简单判断某像素点是图像中边缘点还是被脉冲噪声污染的点。设:

[d[(x,y),(x′y′)]=u(x,y)-u(x′,y′)] (9)

则:

[ROADm(x,y)=i=1mri(x,y)] (10)

当2≤m≤7时:

[ri(x,y)=ith smallest d[(x,y),(x′,y′)] for (x′,y′)∈Ω ] (11)

式中:ri(x,y)是Ω中除去d[(x,y),(x′,y′)]外第i个小的d[(x,y),(x′,y′)]值;而m是Ω邻域内除(x,y)点外,点个数的一半。其思想为:如果一个像素点是图像的边缘点,则其邻域中至少有一半左右的点和其灰度值相近,从而有比较小的ROAD值;否则,若其为被脉冲噪声污染的点,则其邻域内的点与它的灰度值差别较大,故有比较大的ROAD函数值。

为了在保持双边滤波器的照度分量的同时添加脉冲权重,引入一个新的权函数“脉冲”权:

[wI[(x,y),(x′,y′)]=e-ROAD(x,y)22σ2I] (12)

“脉冲”权函数将被脉冲噪声污染的点用周围灰度值的加权平均代替。同时为了不影响没有被脉冲噪声所污染的点,令:

[J[(x,y),(x′,y′)]=1-e-ROAD(x,y)+ROAD(x′,y′)222σ2J] (13)

函数J[(x,y),(x′,y′)]的值设定在[0,1]之间。参数σJ控制函数的形状。

此外,任意单调递减趋向零的非负函数都可以用来代替高斯函数。如果至少有一个点(x,y)或(x′,y′)是脉冲像素且有一个比较大的ROAD值,那么J[(x,y),(x′,y′)]≈1,即当前点被脉冲噪声所污染,则“脉冲”权启用,对当前点进行三边滤波处理。如果既没有脉冲像素也没有较大的ROAD值,那么J[(x,y),(x′,y′)]≈0,即当前点没有被脉冲噪声所污染,从而“脉冲”权基本不起作用,仍然采用双边滤波。

最终三边滤波器的构造为:

[w[(x,y),(x′,y′)]=wS[(x,y),(x′,y′)]×wR[(x,y),(x′,y′)]1-J[(x,y),(x′,y′)]×wI[(x,y),(x′,y′)]J[(x,y),(x′,y′)]] (14)

将权重函数归一化,得到估计的照射分量[u~(x,y)]

[u~(x,y)=(x′,y′)∈Ωw[(x,y),(x′,y′)]u(x′,y′)(x′,y′)∈Ωw[(x,y),(x′,y′)]] (15)

为验证三边滤波器性能的优越,对两幅分别添加高斯噪声与脉冲噪声的图像采用高斯滤波、双边滤波及三边滤波,对滤波后的图像进行比较。结果如图1所示。

图1中的两组图像,A组图像是对添加高斯噪声的图像进行滤波的结果;B组图像是对添加脉冲噪声的图像进行滤波的结果。图1中(a),(b),(c),(d)分别表示噪声图像、高斯滤波的结果图、双边滤波的结果图、三边滤波的结果图。A组采用的参数σS,σR,σI,σJ分别为:16,0.4,2.8,2.8;B组采用的参数σS,σR,σI,σJ分别为:16,0.4,0.4,0.4。

图1 三种滤波器的滤波结果图

从图1中可以看出,对于高斯噪声图像,双边滤波与三边滤波的结果相近,边缘细节保持效果比高斯滤波好;对于脉冲噪声图像,高斯滤波与双边滤波都不能有效去除噪声,而三边滤波能较好地去除脉冲噪声。

为获得较大的图像动态范围,在计算图像的反射分量时,保留部分照射分量,设置常系数k(0

综上所述,雾天图像的反射分量结果为:

[r(x,y)=lg[u(x,y))-klg(u~(x,y)]] (16)

3 基于改进的Retinex算法的增强

3.1 全局图像增强

为了进一步增强图像的对比度,采用伽马校正对图像进行全局增强,伽马变换公式为:

[R=crγ] (17)

式中:c和γ为正常数;r为反射图。R与γ的关系曲线如图2所示。

图2 不同γ值的R=crγ曲线(所有情况c=1)

从图中可以看出,当γ1时可以将输入中范围较窄的高灰度值映射为输出中较宽范围的灰度值。当c=γ=1时简化成了恒等变化。

3.2 饱和度分量增强

根据高斯分布“[3ε]”规则,对于正态随机变量来说,其值落在区间[[μ-3ε,μ+3ε]]内是允许的,所以取:

[Smin=μ-3εSmax=μ+3ε] (18)

式中:Smin和Smax分别为经全局增强后反射图像中亮度的最小值和最大值;[μ]和[ε]是该图像灰度值的均值和标准差。拉伸函数为:

[Sout=0, SinSminl×Sin-SminSmax-Smin, Smin

式中:Sin和Sout分别为饱和度分量的输入输出灰度值;l为常系数。

本文的算法流程图如图3所示。

图3 本文算法流程图

4 实验结果及分析

为了验证本文算法的性能,实验中将本文算法与多尺度Retinex算法、双边滤波算法进行比较。图4中三组图像中的(a),(b),(c),(d)四幅图分别为原始雾天图像,传统多尺度Retinex处理的结果图(σ的取值为:10,50,167),双边滤波算法处理的结果图(σS,σR分别取54,10)以及本文算法处理后的结果图(σS,σR,σI,σJ分别取54,10,10,10,γ取1.55)。

图4 不同增强方法处理的结果图

由上图可以看出,A、B两组图像经过MSR算法处理后的图像出现过增强现象,且处理后的图像颜色失真,双边滤波算法与三边滤波算法处理后的图像从视觉上看差异不大,都能很好地实现去雾目的,且处理后的图像亮度、清晰度都较高。

由于视觉评价图像处理结果有一定的主观性,本文采用均值、标准差、峰值信噪比、信息熵和时间这5个指标来评估图像增强算法的客观效果[1]。均值也称亮度,是指图像灰度的平均值,其值反映了图像的明暗程度。标准差是图像对比度的度量,反映图像细节信息。该值越大,渐变层次就越多,细节信息越丰富。信息熵是衡量图像中信息量大小、图像细节的丰富程度的量,熵的值越大说明图像中所含信息量越大,图像的细节越丰富。

均值:

[AVE=(x=1My=1Nf(x,y))(M×N)] (20)

标准差:

[STD=(x=1My=1N(f(x,y)-AVE)2)(M×N)] (21)

峰值信噪比:

[PSNR=10logx=1My=1Nf(x,y)2maxx=1My=1N(f^(x,y)-f(x,y))] (22)

信息熵:

[H=-i=1255Pilog Pi ] (23)

式中:f(x.y)表示图像在(x,y)处的灰度值;f(x,y)max表示原图像中的最大灰度值;[f^(x,y)]表示处理后的图像在(x,y)处的灰度值;Pi表示第i个灰度级的概率,M×N表示图像大小。经计算后的结果如表1所示。

表1 各种增强方法的客观评价指标

从表1中可以看出,处理后的图像的均值都明显降低,表明各算法在消除雾天图像泛白发灰的问题上起到良好作用;处理后的图像的标准差明显增大,说明处理后的图像的对比度提高,有更丰富的细节信息;图像信息熵与原图相比也有一定的提高,说明有用信息恢复的较多。

5 结 论

本文为克服传统Retinex算法处理雾天图像时存在边缘模糊、不能有效去除脉冲噪声等问题,将三边滤波器融入传统Retinex算法,利用三边滤波器估计图像的照射分量。实验结果证明该算法能很好地保持图像边缘信息,能够有效去除高斯与脉冲混合噪声,使处理后的图像清晰自然。三边滤波器的构造为多边滤波器的实现提供了一个借鉴方向。

参考文献

[1] 禹晶,徐东彬,廖庆敏.图像去雾研究进展[J].中国图象图形学报,2011,16(9):1561?1576.

[2] 夏思宇,李久贤,夏良正.基于色彩恒常性的彩色图像增强改进算法[J].南京航空航天大学学报,2006,38(zl):54?57.

[3] 张尚伟,曾平,罗雪梅,等.具有细节补偿和色彩恢复的多尺度Retinex色调映射算法[J].西安交通大学学报,2012,46(4):32?37.

[4] 谷曙媚,刘志坚,方厚辉.一种自适应尺度的MSR图像增强方法[J].信息技术,2012(5):149?152.

[5] ORSINI G,RAMPONI G,CARRAI P,et al. A modified Retinex for image contrast enhancement and dynamics control [C]// Proceedings of 2003 International Conference on Image Processing. [S.l.]: ICIP,2003: 393?396.

[6] 沈丰,赵宇明.基于实时Retinex与双边滤波的图像增强算法[J].计算机应用与软件,2009,26(11):234?238.

[7] 陈龙,郭宝龙,毕娟,等.基于联合双边滤波的单幅图像去雾算法[J].北京邮电大学学报,2012,35(4):19?23.

[8] GARNETT R,HUEGERICH T,CHUI C,et al. A universal noise removal algorithm with an impulse detector [J]. IEEE Transactions on Image Processing,2005,14(11): 1747?1754.

[9] 李大鹏,禹晶,肖创柏.图像去雾的无参考客观质量评测方法[J].中国图象图形学报,2011,16(9):753?1757.

上一篇:改进人工蜂群算法在数字图像相关中的应用 下一篇:基于Avalon总线的图像处理IP核的设计