基于双边滤波的Retinex 图像增强算法

2010-01-01 01:45胡韦伟汪荣贵
图学学报 2010年2期
关键词:光晕伪影双边

胡韦伟, 汪荣贵, 方 帅, 胡 琼

(合肥工业大学计算机与信息学院,安徽 合肥 230009)

图像增强是指利用各种数学方法和变换手段提高图像中感兴趣物体的对比度和清晰度,以满足特定应用的图像处理技术[1]。现有的图像增强技术可分为空间统一方法和空间非统一方法两类。空间统一方法主要包括:对数压缩,伽玛校正,直方图均衡,线性拉伸;这类方法计算高效,实现简单,但是效果往往不能满足实际的应用。空间非统一方法主要包括:局部直方图均衡,基于人眼对比敏感度的方法[2],基于Retinex 方法等[3-4]。后一类方法较多,它们往往针对专门的应用而设计,因此算法效果好,但是计算复杂度一般较高。其中,最具代表性的就是基于Retinex的增强方法。

Retinex 图像增强技术可以有效地改善图像的视觉效果,是一种强大的图像增强工具。在过去的几十年里有众多的研究人员提出了不同的实现方法,其中最具代表性的是NASA(美国国家航空航天局)下属的一个研究机构提出的中心环绕Retinex 算法[4-5]。但这些方法都有这样一个共同缺点:在增强结果图像中高对比度边缘区域会存在“光晕伪影”。“光晕伪影”指的是经过增强的图像中在高对比度边缘区域存在着像光晕一样的影子。本文经过分析得出了产生“光晕伪影”的原因,这是由于现有技术在估计照度时主要根据周围像素的位置远近赋予不同的权重,没有充分考虑到像素亮度本身的意义,从而对造成高对比度边缘区域照度估计的失真。为此,本文提出了一种基于双边滤波的Retinex 算法,该算法使用双边滤波来进行照度估计,使用它可以更精确地估计高对比度边缘区域的照度,避免失真。本文算法的主要流程是:先将原图像分解成照度图像和反射图像,再分别采用不同的策略压缩照度图像和增强反射图像,最后把两部分图像合成为新的图像。实验结果表明该算法有较好的增强效果,能有效解决“光晕伪影”问题。

1 Retinex 算法

1.1 Retinex 算法基本思想

Retinex 理论是由Land 等人[6]提出的。它详细阐明了人类视觉系统是如何达到颜色恒常的。颜色恒常指的是在物体周围颜色发生变化时或入射光照发生变化时,人眼感知到的物体颜色和亮度保持相对不变。Retinex 是一个由“retina”和“cortex”组成的合成词,表示整个处理过程和人的视网膜和大脑皮层有着密切的关系:视网膜用来获取数据,大脑皮层用来独立于周围的光照识别出物体。

根据Retinex 理论,一幅图像可以看成是照度图像和反射图像的乘积,如下式所示

其中 S 为原始图像,R 为反射图像,L 为照度图像。实际上,反射图像R 真正决定了一幅图像的本质属性,照度图像L 决定一幅图像能达到的动态范围。Retinex 的目的就是从原始图像S 中获得图像的本质属性,从而避免照度的影响,达到颜色恒常。

在实际的Retinex 计算中会先利用对数变换将乘积关系转换为求和关系,再将图像进行分解。具体做法是先对原始图像取对数,再用特定的方法进行照度估计,得到照度图像L。在估计照度图像时遵循这样一个事实:照度图像表示原始图像中变换缓慢的信号。然后通过计算原始图像S 与照度图像L 的差获得反射图像。在获得照度图像和反射图像以后再采用不同的策略对这两个部分进行不同的处理,最后合成新的图像。

1.2 “光晕伪影”产生原因简要分析

实际上,由一幅图像分解成两幅图像在数学上是一个“病态”问题。因为单一的像素亮度表达了照度信息和图像内容双重含义,在这种情况下要想准确的估计出照度情况只能依靠计算像素本身和图像中其它像素的关系。现有技术在计算照度时主要根据周围像素的位置远近赋予不同的权重来估算当前像素的照度,没有充分考虑到像素亮度本身的意义。这直接导致了在估算图像高对比度边缘区域照度的时候,边缘两边的高低值像素会相互影响:高值像素的照度受相邻低值像素的影响导致所估计的照度较低;低值像素的照度受相邻高值像素的影响导致所估计的照度较高。这会造成这一区域照度估计失真,出现结果图像中的“光晕伪影”。

2 本文算法

本文在进行照度估计时综合考虑了像素亮度本身和周围像素位置远近的意义,采用带有边缘保存功能的双边滤波[7]进行照度估计,可以有效避免照度估计时高对比度边缘附近高低像素之间的相互影响,最终消除“光晕伪影”。算法流程图如图1 所示。

图 1 算法流程图

如图所示,输入图像先被转化到对数域中,然后用照度估计将图像分成两个部分,再分别采用不同的方法对这两个部分进行处理,最后再合成为一幅新的图像。下面详细介绍一下关键技术。

2.1 照度估计

本文使用双边滤波来进行照度估计。双边滤波是一种非常有用的滤波技术,可以用在图像处理及图形学的各个方面,是一种带有边缘保存功能的滤波技术。它的输出值不仅与周围像素的空间位置有关,而且还和它们的亮度差值有关,具体的形式化定义可见下式

其中 Ω 表示图像的所有像素集合,Bs 表示s 点的双边滤波输出结果,f 和g 都是高斯函数,分别计算p 点空间域和亮度域的权值贡献。Ip表示p 点的亮度值。k(s)是一个标准化因子,满足

从上式中可以看出,s 点的亮度值主要被空间相邻并且有相似亮度的像素影响。

在具体的实现过程中,如果只按照原始定义来实现双边滤波的话,计算效率非常低。为此,使用基于灰度值分层的方法来提高双边滤波的计算速度,该方法对于较大空间尺度的滤波计算速度有较好的提升效果,具体计算方法如下:

预定义:用三维网格ψ 来表示二维灰度图像,网格的前两维对应图像像素的位置,第三维对应图像的亮度。完成定义以后,双边滤波可用下面的步骤来计算:

(1) 先对于一幅二维图像,初始化一个向量网格ψ,满足

(2) 再对向量网格ψ 的每一层执行高斯滤波

其中 Gσs,σr是一个三维高斯函数,σs是空域参数,σr是亮度域参数;

2.2 照度图像压缩

对输入图像经过照度估计处理后得到了照度图像,接着本文先用直方图截取方法截去照度图像直方图两端的一部分像素,并把剩下的像素压缩到[0,1]范围内,然后用改进的Gamma 校正方法对其校正,最后用线型拉伸计算出最终的照度图像。

改进的Gamma 校正定义如下

i 是原像素值,y(i)表示输出值,a 是控制参数,不同的a 代表不同的校正函数,如图2 所示:

从图2 可以看出通过调整参数a 采用不同的校正函数进行亮度映射。a 越小时,对于整体亮度偏小的图像更为有效;当a=0.6 时,大部分较低像素值在函数y=x 以上,小部分较高像素值在函数y=x 以下,表示除了可以对低亮度区域进行增强还能够有效抑制高亮度区域的过度曝光;当a=0.8 时,小部分较低像素值在函数y=x 以上,大部分较高像素值在函数y=x 以下,表示此曲线对于整体亮度较高的图像具有更好的压缩效果。

图 2 照度图像亮度映射图

2.3 反射图像增强

获得了照度图像之后,在对数域中将原图像和照度图像做差运算就可以得到反射图像。反射图像包含图像的细节信息,对它的增强至关重要,本文采用Sigmoid 函数对其进行增强,定义如下

r 是反射图像的亮度,a 是控制参数,映射函数如图3 所示。

图 3 反射图像亮度映射图

由于反射图像的亮度值是在对数域里,所以可能出现负数的情况。从图3 中可以看出,当a越大时,映射曲线越陡峭,对应反射图像的增强也越显著。

下面以彩色图像为例,说明一下本文算法的计算流程:

(2) 取对数;

(3) 用双边滤波和灰度值分层加速技术对L 操作得到照度图像I;

(4) 用L 减去I,得到R;

(5) 先用直方图截取方法截去I 两端各1%的像素,再用式(6)对I 操作,最后进行线性拉伸;

(6) 用式(7)对R 操作;

(7) 用I 加上R 得到新的图像New;

(8) 取exp;

3 实验结果

为了说明本文算法的有效性,下面分别从主观视觉效果和客观质量评价两方面对其进行验证。本文算法中相关参数的设置如下:双边滤波器的大小为20×20,σs=80,σr=100。

3.1 主观视觉效果对比

用主观视觉观察数字图像是一种非常有效而又重要的图像质量评价方法。现在将本文算法和直方图均衡以及NASA 提出的Retinex 方法所处理的图像结果列出来(见图4,图5,图6)。

图 4 算法效果图(一)

图 5 算法效果图(二)

在下面这些图中(a)为原始图像;(b)为直方图均衡效果图;(c)为NASA 的Retinex 效果图;(d)是本文算法效果图。和直方图均衡相比,NASA 的技术和本文的算法在图像的细节表现和动态范围压缩能力上均要明显更好一些。和NASA的技术相比可以看到,在图4结果(c)中塔的周围有明显的“光晕伪影”,而在结果(d)中这一现象被明显消除;图5结果(c)中光晕随处可见,而在结果(d)中整幅图像色彩则显得更加平滑;图6结果(c)中看到在小孩的额头和头发交接的地方,皮肤颜色已经严重受到头发像素的影响;背景的木板也是黑一块,黄一块,很不协调。而在结果(d)中这些现象大大得到改善,整幅图像看起来更加和谐自然;从上面所有这些结果中可以看出本文算法比NASA的方法具有更好的视觉表现能力。

图 6 算法效果图(三)

3.2 客观质量评价对比

人眼观察是一种有效的图像质量评价标准,但它是一种主观的标准,为了更确定性的说明问题,本文还采用客观质量评价标准来检验算法的有效性。数字图像的客观评价标准比较多,本文采用均值、标准差、熵这三个简洁而有效的标准作为评价指标。均值反映了图像的明暗程度;标准差反映了图像的对比度;熵反映了图像的信息量。

这里先将图像分成50×50 的子块,分别计算这些子块的均值、标准差、熵,然后再除以整个图像的块数得到最后的评价标准。需要说明的是彩色图像中R、G、B 三个通道独立进行的,这里只把每幅图像R 通道计算结果展示出来(见表1~表3)。

表1 图4 评价标准

表2 图5 评价标准

表3 图6 评价标准

从表中数据可以看出:3 种图像增强方法对于图像的均值和标准差都有显著提高,起到了较好的增强效果;NASA 的方法和本文的方法对于图像的熵也有明显的提升。

4 结 论

Retinex 是一种经典的颜色恒常计算模型,它也是一个强大的图像增强工具,可以有效地改善数字图像的视觉效果,但在增强结果图像中高对比度边缘区域会存在“光晕伪影”现象。本文简要分析了产生“光晕伪影”的原因,并提出了一种基于双边滤波的Retinex 算法。该算法先使用带有边缘保存功能的双边滤波将原图像分解成照度图像和反射图像,再分别采用不同的策略压缩照度图像和增强反射图像,最后把两部分图像合成为新的图像。作者通过从主观视觉效果和客观质量评价两方面将本文算法和不同的增强技术进行效果对比。试验结果表明本文提出的算法有较好的增强效果,能有效消除“光晕伪影”现象,和NASA 的方法相比,本文提出的算法还具有更好的细节表现力和动态范围压缩能力。

[1] [美]冈萨雷斯. 数字图像处理(第2版)[M]. 阮秋琦译. 北京: 电子工业出版社, 2003. 59-61.

[2] Majumder A. Contrast enhancement of multi-displays using human contrast sensitivity [C]//Proc. IEEE Conference on CVPR 2005, 2005, 2: 377-382.

[3] Kimmel R, Elad M, Shaked D, et al. A variational framework for Retinex [J]. Int. J. Comp. Vision, 2003, 52(1): 7-23.

[4] Jobson D J, Rahman Zia-ur, Woodell G A. Properties and performance of a center/surround Retinex [J]. IEEE Transactions on Image Processing, 1997, 6(3): 451-462.

[5] Rahman Zia-ur, Jobson D J, Woodell G A. Retinex processing for automatic image enhancement [J]. Journal of Electronic Imaging, 2004, 13(1): 100-110.

[6] Edwin H Land. The retinex theory of color vision [J]. Scientific American, 1977, 237(6): 108-129.

[7] Tomasi C, Manduchi R. Bilateral filtering for gray and color images [C]//Proc.of the 1998 IEEE Inter. Conf. on Computer Vision. Bombay, India, 1998: 839-846.

猜你喜欢
光晕伪影双边
核磁共振临床应用中常见伪影分析及应对措施
基于MR衰减校正出现的PET/MR常见伪影类型
电子产品回收供应链的双边匹配策略
圣诞节的灯光
新型自适应稳健双边滤波图像分割
减少头部运动伪影及磁敏感伪影的propller技术应用价值评价
一种无伪影小动物头部成像固定装置的设计
双边同步驱动焊接夹具设计
凝固的光
中厚板双边剪模拟剪切的研究