雾天图像增强中Retinex算法的细节信息优化
扫描二维码
随时随地手机看文章
引 言
图像增强是为了达到人们观察或机器分析和判别的目的从而在原始图像上采取的改进方法[1]。如今,因为人类活动对环境的破坏,导致雾霾现象经常出现。雾天环境下,户外景物的颜色及对比度都发生了退化,计算机视觉系统不能正确对场景中的目标进行检测和跟踪,因此需要对雾天图像作清晰化处理 [2-4]。目前,雾天图像处理方法主要分为基于大气退化物理模型[5-7] 的方法和增强对比度[8] 这两种方法。
Retinex 算法是Land[9] 等人在 1964 年提出的,现已从不同角度有所发展,虽然基于Retinex 算法的增强效果较好,但它忽略了雾天图像亮度较低的特点,使得处理结果色彩暗淡, 细节表现力差[10]。为了解决现有的雾天图像增强中的细节处理问题,本文提出了一种基于亮度块的 Retinex 算法增强图像的细节。首先采用背景亮度作为激励亮度值对图像的亮度块进行分割,然后采用不同尺度的增强因子对分割块进行增强, 最后在对像素的边缘信息分割之后,按照一定的比例对块信息进行融合。实验结果表明,与传统的Retinex 算法相比,本文算法的信息熵较高,增强之后图像细节更丰富。
1 标准 Retinex算法
基本的Retinex 算法是基于运行在人眼视觉系统(HVS) 上的三视网膜皮层系统的应用思想提出的,Retinex 理论认为物体的颜色由物体表面对光线的反射特性决定,从而将图像看作是由照度图像 L 和反射图像 R 相乘得到:
S(x,y)=R(x,y)×L(x,y)(1)
对公式(1)两边取对数变换得到
logR(x,y)=logS(x,y)-logL(x,y)(2)
2 改进的 Retinex算法
2.1 亮度块分割
根据心理学韦伯定律,ΔB/B=K,B 表示激励强度,ΔB 表示最小的显著差别,K 是一常数。引入背景强度代替激励强度,不同区域有不同的斜坡,每个区域分割成三个区域:饱和区、中亮度区和低亮度区。高亮度区由于受刺激饱和度的影响称作饱和区。中亮度区随亮度均匀变化,颜色信息丰富,因此人眼确定的主要区域集中在中亮度区。而在低亮度区,人眼很难感知到亮度的变化。
根据背景强度和灰度值转换率,每个像素的亮度都被分割成不同的区域,背景强度和梯度信息用于对图像进行二维分解,根据亮度图像像素被分解到不同的区域,其中,背景强度B(x,y)由其邻域像素的加权得到 :
其中,m和 n是权重,i是对像素点的上、下、左、右等邻域像素点进行处理得到的设定像素值,i' 是对对角线上的四个点处理得到的设置像素值。将采用边缘检测算法计算得到的像素值的梯度 T(x,y)作为信息的转换率。图像像素之间最大的差异值定义如式(4):
当像素满足 B1≤ B(x,y)≤ B2和 T(x,y)/B(x,y)≥ T1时,该区域被判定为中亮度区;当像素满足 B(x,y)≥ B2 和 T(x,y)/B(x,y)2≥ T 时,该区域被判定为饱和区 ;其它的为低亮度区。按照上述方法将图像的亮度分割为很多区域来实现不同图像分别实施图像增强的目的对对应的参数进行设置,a=0.01, b=0.7,m=0.8,n=1.6。
2.2 亮度块增强
在本文中,原始图像的 3 个分割区域的亮度定义为 :低亮度区 I1,中亮度区 I2 和饱和区 I3。Retinex 算法的计算过程不采用线性加权的方法而采用亮度区的划分结果,在不同的尺度 σ 上进行有针对性的Retinex 增强,从而集成了不同尺度高斯函数的优点。
由于中亮度区的视觉效果最好且更适合人眼观察效果, 因此本文以中亮度区的处理为例。首先,采用尺度为 σ2 的高斯函数进行滤波操作得到区域的输入系数,然后从图像中减去输入系数得到反射系数,从而实现对亮度区的增强。将原始图像 S 用亮度 I 来表示,则可以用如下公式表示:
其中,F2(x,y)是尺度为 σ2 的高斯函数,I2(x,y)是分割之后 亮度区的像素,与中亮度区的计算类似,余下的饱和区和低亮 度区同样采用独立处理方法进行处理,分别采用不同的高斯 滤波器在不同的尺度上进行运算以实现不同亮度区的亮度增 强,公式表达如下:
其中,Fk(x,y)是尺度为 σk 的高斯函数,Ik 是不同的亮度区, k=1,2,3。* 代表仅应用在对应亮度区 Ik,k=1,2,3 的高斯 模版的中心核。
通过上述对不同亮度区的分别处理得到其对应的亮度区 反射系数 R1(x,y),R2(x,y)和 R3(x,y),从而实现图像增强。
2.3 块信息融合
定义所有区域经过不同尺度处理之后的结果为 :I'1,I'2,和 I'3。选择区域中心像素点 O(x,y)作为中心点,区域周边大小为 N×N 的方形窗口作为模版,窗口中低亮度区、中亮度区及饱和区的比例分别表示为 p1,p2 和 p3,则信息融合的比例公式如下:
其中,N 通常取奇数如 3 和 5,以 3×3 的窗口为例,矩阵的中心点代表未知图像的亮度点。随着窗口选择的细化,计算量也随之增大。将最终结果的 I'(x,y)与原始图像的 H,S 分量相 结合就得到我们需要的增强结果。该算法只处理图像的亮度 信息,因此,与原图像相比,增强的图像在颜色和饱和度上的 失真较少,且视觉特征也得到了提高。
3 实验仿真
为了验证本文所提算法的有效性,进行了仿真实验并与 传统的 Retinex 算法作比较。在浓雾和薄雾的实验条件下,比 较了采用两种算法增强之后图像的信息熵,实验结果如图 1 和 图 2 所示。
由图 1 和图 2 可以看出,与传统的 Retinex 算法增强相比, 采用本文提出的 Retinex 算法进行增强后图像的信息熵更大, 因此通过采用改进的 Retinex 算法进行图像增强,图像的细节 更加丰富。
4 结 语
针对雾天图像增强中存在的细节优化问题,提出了基于亮 度块分割的改进 Retinex 算法图像增强算法,采用背景亮度作 为激励亮度值对图像的亮度块进行分割,然后采用不同尺度 的增强因子对分割块进行增强,最后在对像素的边缘信息分 割之后,按照一定的比例对块信息进行融合。仿真结果显示 : 与传统的 Retinex 算法相比,本文提出的基于亮度块的图像增 强 Retinex 算法的信息熵较高,增强之后图像细节更丰富。