王园园,张娜,韩美林
(商洛学院 电子信息与电气工程学院,陕西商洛 726000)
随着科技的发展,图像处理和机器视觉在我们生活中起着非常重要的作用,如交通监控、目标跟踪等。但在雾霾较为严重的情况下,因可视性低,室外采集装置采集的图像出现模糊。细节丢失等失真现象。采集到的图像在影响人的视觉同时给后续图像处理产生重大的影响[1-2]。因此,对雾霾天气下采集的图像进行去雾增强处理成为了近年来图像处理领域的热点。目前经典增强算法包括直方图均衡、灰度变换、小波算法、同态滤波算法、Retinex 算法等。Land[3]提出 Retinex 理论,后期Jobson 等[4]提出了基于同态滤波的Retinex 算法,Funt 等[5]提出了重复的多解决方案的非线性滤波Retinex 方法,Retinex 理论在彩色图像增强领域得到应用并取得了很好的效果。
Retinex 理论认为物体的颜色取决于物体对长(红色)以及中(绿色)和短(蓝色)光线的反射值。因此基于色感的一致性,可将一幅图像分为照射分量图像和反射分量图像[6-7]。如图1所示,由物体表面反射入射光L 得到观察者看到的物体的图像I,反射率R 由物体本身确定,不受入射光L 的影响。
图1 Retinex 理论中图像的构成
Retinex 理论的基本假设表达式为:
I(x,y)表示原始图像,L(x,y)表示照射光图像,R(x,y)表示对象的反射特性。
使用高斯环绕函数对照度分量进行估计,得到单尺度 Retinex 算法(SSR)公式为[8]:
采用高斯函数进行估算照度分量:
因此入射分量可有 S(x,y)和 G(x,y)得到:
所以,经过变换后的SSR 算法表达式为:
通常,选择高斯环绕函数G(x,y),其中尺度参数δ 的大小选择直接影响SSR 算法的图像去雾效果,该算法的主要缺点之一是该算法不能考虑动态范围压缩、边缘锐化、色彩保真等特性。另外,图像细节和图像的整体结构不能同时保存,并且处理后获得的图具有光晕现象[8-9]。而多尺度Retinex 算法的可以看做是由多个不同尺度的加权平均值,表达式为:
高斯卷积函数Gk(x,y)的公式为:
其中,ri(x,y)表示分层后第i 个通道上的输出,Si(x,y)表示待处理图像的第i 个通道,Gk(x,y)是高斯环绕函数,k 是高斯环绕函数的数量,并且是标度的权重。权衡增强效果和处理速度一般选取k 值为3,将图像分为大中小三个尺度。算法流程如图2所示。
图2 多尺度Retinex 算法流程
常见的多尺度Retinex 算法在RGB 色彩空间中,对R、G、B 三个分量同时进行增强,再将结果合成RGB 图像,但RGB 色彩空间三宗颜色之间的相关性影响了处理结果[9]。而HSI 色彩空间更符合人眼视觉特性,可以弥补Retinex 算法本身的数学缺陷。
首先进行色彩空间的转换与分量提取,将输入的 RGB 彩色图像 Si(x,y),i∈{R、G、B}转换成转换成 HSI 彩色图像 Sj(x,y),j∈{H、S、I};对于一幅RGB 彩色图像,每个RGB 像素对应的分量H 为:
其中
饱和度分量S 为:
亮度分量I 为:
将MSR 算法原理应用于I 分量:
其中,ri(x,y)为 MSR 在第i 个通道上的输出,Si(x,y)表示输入图像的第i 个通道,Gk(x,y)为高斯环绕函数,k 是高斯环绕函数的个数,Wk是k尺度的相关权值,且满足
为了确保最终结果能够有效输出,使用增益/偏移方法来修正图像像素:
其中,G 表示增益系数,b 表示偏移量,rmin和rmax分别表示增益/偏移校正后的输出图像像素的灰度值的最小值和最大值。得到修正后的表达式:
从 HSI 到 RGB 的彩色转换,在[0,1]内给出HSI 值,找到相同的值域所对应的RGB 值。
当 0°≤H<120°,RGB 分量的公式为:
当 120°≤H<240°,首先从 H 中减去 120°,即
则:
当 240°≤H<360°,则从 H 中减去 240°,即
则:
由于仅仅对I 分量进行了增强,H 和s 未做任何处理,因此将增强后的I 分量、原始的H 和S 分量带入式(16)和式(25),即可得到增强后的R、G、B 分量,进行合成即可得到去雾霾后图像。
为了比较算法的性能,本文对两幅图像进行了实验仿真。本文的实验环境为Matlab R2014a,在windows 10 系统下进行。图3是两张雾霾图像的原始图像,图4为利用MSR 算法去雾霾处理后图像,图5为本文算法去雾霾处理后输出图像。
图3 原始图像
图4 MSR 算法
图5 本文算法
从图3中可以看出,原始图像颜色灰白且图像对比度低,图4可以看出MSR 算法处理的结果改善了图像的视觉效果并突出了隐藏的细节,但图像彩色整体色彩失真, 图5中本文算法的图像突出了距离中隐藏的细节,提高了图像对比度,达到了较好的视觉效果。
针对雾霾图像,分析常用的单尺度、多尺度Retinex 算法,认为RGB 色彩空间三种颜色之间的相关性影响了处理结果,因此将输入的RGB彩色图像转换成HIS 彩色图像,提取亮度I 分量,用改进的Retinex 算法对I 分量进行图像增强,再转换回RGB 空间进行合成,在MATLAB环境下使用三种算法分别对多张图像进行去雾霾处理,处理后图像提高了图像对比度,细节信息明显增强,图片的视觉效果显著改善。