Print

发布时间: 2016-12-25
摘要点击次数:
全文下载次数:
DOI: 10.11834/jig.20161206
2016 | Volumn 21 | Number 12




    图像分析和识别    




  <<上一篇 




  下一篇>> 





变差函数和形态学滤波的图像去雾算法
expand article info 刘万军1, 赵庆国1, 曲海成1,2
1. 辽宁工程技术大学软件学院, 葫芦岛 125105;
2. 哈尔滨工业大学电子与信息工程学院, 哈尔滨 150006

摘要

目的 为解决户外视觉系统在恶劣环境下捕捉图像存在细节模糊、对比度较低等问题,提出一种基于变差函数和形态学滤波的图像去雾算法(简称IDA_VAM)。 方法 该算法首先利用变差函数获取较准确的全局环境光值,然后对最小通道图采用多结构元形态学开闭滤波器获取粗略的大气散射图,进而估计大气透射率并进行修正,接着采用双边滤波对其进行平滑操作,最后通过物理模型得到复原图像并进行色调调整,获取明亮、清晰无雾的图像。 结果 本文算法与多种图像去雾算法进行对比,在含有雾气的近景图像、远景图像以及有明亮区域的图像均能很好地去除雾气,图像的信息熵值相对提高了38.0%,对比度值相对提高了34.1%,清晰度值相对提高了134.5%,得到较好的复原效果,获取一幅自然明亮的无雾图像。 结论 大量仿真实验结果证实,IDA_VAM能够很好地恢复非复杂场景下的近景图像、远景图像以及含有明亮区域图像的色彩和清晰度,获得清晰明亮的无雾图像,细节可见度较高,且算法的时间复杂度与图像像素点个数呈线性关系,具有较好的实时性。

关键词

图像去雾; 变差函数; 多结构元形态学开闭滤波器; 双边滤波; 色调调整

Image defog algorithm based on variogram and morphological filter
expand article info Liu Wanjun1, Zhao Qingguo1, Qu Haicheng1,2
1. School of Software, Liaoning Technical University, Huludao 125105, China;
2. School of Electronics & Information Engineering, Harbin Institute of Technology, Harbin 150006, China
Supported by: Supported by:National Natural Science Foundation of China(61172144)

Abstract

Objective To solve blurring and low contrast of images captured by outdoor visual systems under bad weather conditions, a new fast image defogging algorithm called IDA_VAM is presented; this algorithm is based on variogram and multiple structure element morphological open-and-close filter. Method The algorithm initially uses a variogram to obtain an accurate atmospheric optical value, and then exploits a multiple structure element morphological open-and-close filter toward the minimum channel map to obtain a rough scattering map. The transmittance map is estimated and corrected, and a bilateral filter is used for smooth operation. Recovery images are obtained by the physical model, and color adjustments are made to obtain bright, clear, and non-foggy images. Resuls Compared with other image defogging algorithms, the proposed method utilized for foggy images containing close range image, image perspective, and image with bright areas can be effective in removing the fog. The information entropy is relatively increased by 38.0%, and the contrast value is relatively increased by 34.1%. The definition value is relatively increased by 134.5%. Moreover, better restoration effect is obtained, thereby achieving a more natural, bright, and haze-free image. Conclusion A large number of experimental results show that this algorithm can effectively recover color and definition of the foggy image containing a close-range image, image perspective, and image with bright areas under non-complex scenes. Clear and natural fog-free images with details of higher visibility can be obtained, and time complexity of the IDA_VAM algorithm and number of image pixels are linearly correlated, thereby meeting real-time requirements.

Key words

image defog; variogram; multiple structure element morphological open and close filter; bilateral filter; color adjustment

0 引 言

所有室外计算机视觉系统,包括自动监控、智能车辆和室外目标识别等,都需要高品质的图像[1-3]。然而,在恶劣的天气条件下拍摄的图像通常会受到大气中大量的悬浮颗粒的散射,造成捕获的图像对比度下降、颜色失真等问题。因此,一个有效的去雾算法对于户外计算机视觉系统是极其重要的。

近几年,基于单幅图像且没有其他附加信息的去雾算法有了很大的进步。基于单幅雾气图像去雾算法包含基于图像增强[4-6]的去雾算法和基于物理模型[7-22]的去雾算法两类。基于大气散射物理模型方法是由实际场景数据的假设出发,从单幅雾气图像估计场景的深度以及有关的未知参数,进而获取无雾图像。Fattal等人[7]利用捕获目标表面阴影与场景透射率具有局部无关性的假设估计场景反照率和大气传输率,通过物理模型恢复雾气图像。Fattal等人的假设在物理上是合理的,但在浓雾或是假设不成立的条件下,求得的场景透射率是无效的。Tarel等人[8]使用快速中值滤波器修复雾气降质图像,虽提高了运行效率,但是中值滤波器没有对边缘进行优化,造成场景透射率与场景深度信息不完全吻合,在景深不连续的区域会有halo效应出现,最终得到的复原图像去雾并不佳。He等人[9]通过暗原色先验理论从单幅雾气降质图像估测场景透射率,进一步恢复雾气图像。该算法对大部分雾气降质图像适用,能够得到较好的复原结果;但处理边缘细节时采用软抠图技术,极大地增加了运行时间和所需的内存空间。为了提高图像去雾的运行效率,He等人[10]对图像的场景透射率使用引导滤波器细化,摒弃了文献[9]中的软抠图技术,该算法虽然很大程度上缩减了运行时间,但复原结果中仍存留雾气,去雾效果不是很理想。Tan等人[11]通过大量测试发现雾气降质图像的对比度要低于清晰图像的对比度,从而对雾气降质图像的局部对比度进行最大化操作来得到复原图像。该方法能够显著提高图像的对比度,但往往使去雾后的图像色调过度饱和而显得不够真实。

针对上述算法存在的缺陷,提出基于变差函数和形态学滤波的图像去雾算法,即IDA_VAM,该算法能够较好地抑制光晕现象,避免噪声的干扰,提高图像透射率的准确性,很好地保留边缘细节,从而获得一幅较为清晰自然的无雾图像,且算法简单,易于实现。通过大量对比实验表明,IDA_VAM具有鲁棒性高、稳定性好的优点,能够有效地恢复图像的颜色和清晰度,且对于深度突变区域和含大片天空区域的位置也能得到较好的复原效果。

1 暗通道理论去雾

在计算机视觉与图形学中,被广泛用来描述雾气降质图像模型的数学公式[9]

$\begin{align} & I\left( x,y \right)=J\left( x,y \right)\cdot t\left( x,y \right)+ \\ & A\left( 1-t\left( x,y \right) \right) \\ \end{align}$ (1)

式中,I(x,y)是观察到的图像亮度,J(x,y)为晴朗天气下的场景辐射强度,A是一个常数,表示全局的环境大气光,t(x,y)为场景透射率,描述的是光线是否分散,并到达相机的镜头。图像去雾就是从一幅输入图像I(x)求解未知的A、t(x)和输出图像J(x)。

He等人[9]首先提出在自然清晰图像的非明亮区域里的场景暗通道图像至少存在一个通道的颜色值趋近于0,即无雾图像J(x)的暗通道公式为

$\begin{align} & {{J}_{dark}}\left( x,y \right)= \\ & \underset{c\in \{R,G,B\}}{\mathop{min}}\,(\underset{\left( x,y \right)\in \Omega \left( x,y \right)}{\mathop{min}}\,({{J}^{c}}\left( x,y \right)))\to 0 \\ \end{align}$ (2)

该去雾算法中全局环境光值A的获取方法:对雾化降质图像的暗通道图进行递减排序,选取像素值排在前0.1%的像素点所对应雾化降质图像像素点集合中的最大值作为A的值。

假设邻域Ω(x,y)内大气透射率是固定不变,则大气透射率的粗略估测可表示为

$\begin{align} & \tilde{t}\left( x,y \right)=1-\omega \times \\ & \underset{\left( x,y \right)\in \Omega \left( x,y \right)}{\mathop{\min }}\,\left( \underset{c\in \{R,G,B\}}{\mathop{min}}\,\left( \frac{{{I}^{c}}\left( x,y \right)}{{{A}^{c}}} \right) \right) \\ \end{align}$ (3)

参数ω∈(0,1],因为在实际场景中,大气无论在什么天气情况下总存有少量杂质分子,因此引入w保留图像中非常少的雾气保证复原效果契合真实场景。

通过软抠图技术细化式(3) 得到的场景透射率,记作t(x,y)。得到At(x,y)后,即可恢复雾气降质图像,即

$J\left( x,y \right)=\frac{I\left( x,y \right)-A}{max(t\left( x,y \right),{{t}_{0}})}+A$ (4)

式中,t0为了减少图像噪声的影响,设定0.1。

基于暗通道理论的去雾算法对大部分雾气降质图像都能得到不错的复原结果。暗通道理论去雾算法复原效果如图 1所示。图 1(b)是文献[9]得到的复原结果,去雾效果较为明显;图 1(d)是暗原色图像,可以看出图像中几乎所有像素点都契合暗通道理论;图 1(e)是暗原色直方图,能够看出像素点亮度值整体分布偏低,接近零,符合暗通道理论,因此能够得到较好的复原效果。

图 1 暗原色先验去雾效果
Fig. 1 Defog effect of fog image by using dark channel prior ((a)fog images; (b) recover images; (c) transmittance maps; (d) dark channel; (e) histograms of dark channel)

2 暗通道算法局限分析

根据全局环境光A的估测方法可以得出A的取值落在图像中的高亮区域。根据式(3) 获取场景透射率t:当I的值与A的大小越相近,对应的t值越小。在图像高亮的地方对应的t值趋近于0,从图 2(c)场景透射率图能够直观地看出。

由式(1) (2) 直接推导场景透射率,即

${{t}_{accurate}}\left( x,y \right)=\frac{1-\underset{c\in \{R,G,B\}}{\mathop{min}}\,\left( \underset{\left( x,y \right)\in \Omega \left( x,y \right)}{\mathop{min}}\,\left( \frac{{{I}^{c}}\left( x,y \right)}{{{A}^{c}}} \right) \right)}{1-\underset{c\in \{R,G,B\}}{\mathop{min}}\,\left( \underset{\left( x,y \right)\in \Omega \left( x,y \right)}{\mathop{min}}\,\left( \frac{{{J}^{c}}\left( x,y \right)}{{{A}^{c}}} \right) \right)}$ (5)

$\underset{c\in \{R,G,B\}}{\mathop{min}}\,\left( \underset{\left( x,y \right)\in \Omega \left( x,y \right)}{\mathop{min}}\,{{I}^{c}}\left( x,y \right)/{{A}^{c}} \right)$在图像高亮区域不能作0处理,因此在图像高亮区域的实际场景透射率taccurate(x,y)要大于由暗通道理论估测的场景透射率${\tilde{t}}$(x,y),因此即便相对颜色值Ic(x,y)-Ac差异不大,除以较小的t后,各通道间相对颜色值会被扩大好几倍甚至几十倍,导致由式(4) 得到的去雾图像与输入图像的像素值有很大的落差,特别当R、G、B通道的方向不同(3个颜色通道中有的通道像素值大于A,有的通道像素值小于A)时,两者的落差会得到累加,导致复原图像出现色彩失真现象,而且容易放大噪声[13]。暗通道理论去雾算法对含

有明亮区域图像的复原效果如图 2所示。图 2(b)是暗原色复原图像,第1幅图像的天空明亮部分和第2幅图像的白云明亮区域出现了不同程度的颜色失真现象;图 2(c)是雾气图像的场景透射率,两幅图像高亮部分的场景透射率趋近0;图 2(d)是雾气图像的暗原色图,两幅暗原色图在高亮区域趋近1,从而可以得出雾气图像在高亮区域不满足暗通道理论。图 2(e)是暗原色直方图,也可以直观地看出像素点集中分布在中间或是高亮区间。综上分析可以得出暗通道先验假设在图像高亮区域是不成立的,所以该区域场景透射率的估测是极不准确的。

图 2 含明亮区域的暗原色先验去雾效果
Fig. 2 Defog effect of fog image containing the bright region by using dark channel prior ((a)fog images; (b) recover images; (c) transmittance maps; (d) dark channel; (e) histograms of dark channel)

3 IDA_VAM算法

针对暗通道去雾算法存在的缺陷,IDA_VAM首先利用变差函数获取较准确的全局环境光值,然后对最小通道图采用多结构元开闭滤波器获取粗略的大气散射图,进而估计大气透射率并进行修正,接着采用双边滤波对其进行平滑操作,最后通过物理模型得到复原图像并进行色调调整,获取细节丰富、明亮清晰无雾的图像。

3.1 全局环境光的估计

经典去雾算法从单幅图像相关的像素点出发求取全局环境光A,这些算法求取全局环境光值受高亮区域的影响相当大,存在一定局限性。在He和其他等人的工作基础上提出一种可以减少甚至排除高亮区域对全局环境光值获取的影响。

通过分析大量的实验数据发现,在浓雾情况下,最大亮度值所对应的图像像素点更接近高亮区域,在一个深度为8的图像强度值接近255。雾气图像的像素点在RGB颜色空间的分布如图 3所示,像素点在一个RGB立方体的对角线上,从黑(0,0,0) 到白(255,255,255) 范围内变化。有雾图像中高亮像素点大都分布在这条对角线周围,如图 3中蓝色点所示。定义一幅图像的变差函数[18]

$S=\sqrt{\frac{{{\left( r-m \right)}^{2}}+{{\left( g-m \right)}^{2}}+{{\left( b-m \right)}^{2}}}{3}}$ (6)

$m=\frac{r+g+b}{3}$ (7)

式中,m是一个像素的平均灰度值。通过计算图像的每个像素点的变差来确定整个图像的变差。

S在高亮区域是非常小的,在其他区域是比较大的,因此利用颜色波动量衡量变差函数值S,颜色波动量越大,变差函数值S越大,颜色越亮。根据景深,高亮物体会随着距离的增加变得暗淡,如图 3中粉红色点所示。一个物体的颜色在距离上是极不稳定的,为了拉伸变差对比,使其效果更加明显,在式(6) 中引入一个比例系数λ,即

$S=\sqrt{\frac{\lambda {{\left( r-m \right)}^{2}}+{{\left( g-m \right)}^{2}}+{{\left( b-m \right)}^{2}}}{3}}$ (8)

通过大量的实验,确定λ的值为18。

图 3 雾气图像的RGB颜色空间
蓝色像素位于天空区域[左上],粉红色像素位于场景内[左下]
Fig. 3 RGB color space of fog image

根据变差函数的定义确定一个阈值,通过比较暗通道图像中像素点值与选定的阈值来判断该像素点是否来自高亮区域,从而确定该像素点的有效性。因此,用Δ作为选定的阈值,实验中设置阈值Δ=42。若s<Δ,认为最亮点来自于高亮区域并丢弃该数据;若s≥Δ,该值作为一个有效的全局环境光值依据。通过使用此阈值能够有效地避免高亮区域的影响,可以有效地保证整个图像的全局环境光值的选择是合理的,全局环境光候选区域如图 4所示。最后按照亮度值递减顺序对筛选后的图像像素点的亮度值进行排序并确保选择的像素点亮度值排在暗通道位置前0.1%的像素点,对应这些位置的雾气降质图像的像素点中的最大值选作全局环境光值。

图 4 全局环境光值候选区域(非黑色区域)
Fig. 4 Candidate region of global atmospheric light value (non black area)

3.2 场景透射率的准确估计

一幅图像的最小值通道图可表示为

$W\left( x \right)=\underset{c\in \{R,G,B\}}{\mathop{min}}\,\left( {{I}^{c}}\left( x \right) \right)$ (9)

最小值通道图包含了较为丰富的图像纹理细节以及边缘信息。大气散射图不受图像纹理信息的影响,要得到更为精确的场景透射率,有必要滤除掉相关的图像纹理细节。为了得到较为精确的场景透射率值,IDA_VAM采用16种不同形态学结构元对最小值通道图进行形态学开闭滤波,达到滤除纹理信息以及抑制噪声干扰的效果,从而提高去雾过程效率和复原图像质量。

形态学滤波操作是基于最重要的运算操作膨胀和腐蚀[23]。现给出定义:

定义1 形态学结构元素S对灰度图像F执行膨胀操作可表示

$\begin{align} & \left( F\oplus S \right)\left( x,y \right)= \\ & max\{F\left( x-x\prime ,\text{ }y-y\prime \right)+ \\ & S\left( x\prime ,\text{ }y\prime \right)\left( x\prime ,\text{ }y\prime \right)\in {{D}_{s}}\} \\ \end{align}$ (10)

式中,DsS的定义域。灰度膨胀在实际应用中采用的结构元通常是平坦的,因此,S(x′,y′)=0。

SF执行腐蚀操作可表示为

$\begin{align} & \left( F\odot S \right)\left( x,y \right)= \\ & min\{F\left( x+x\prime ,y+y\prime \right)+ \\ & S\left( x\prime ,y\prime \right)\left( x\prime ,y\prime \right)\in {{D}_{s}}\} \\ \end{align}$ (11)

同理,S(x′,y′)=0。膨胀和腐蚀虽然都能够平滑图像,去除噪声,但处理后图像中物体的边界都会出现形变,在灰度膨胀和腐蚀操作的基础上定义形态学开运算和闭运算。

定义2 形态学结构元s对灰度图像f执行开操作可表示为

$f\circ s=\left( f\odot s \right)\oplus s$ (12)

sf执行闭操作可表示为

$f\cdot s=\left( f\oplus s \right)\odot s$ (13)

在实际应用中,开操作和闭操作在保证物体结构不发生变化的同时平滑图像以达到去除噪声的目的,本文正是基于这种特性对最小值通道图进行滤波的。但开闭操作由于具有对偶特性,仅能进行一次有意义的开闭操作,若再进行开闭操作则变得没有任何意义。因此,通过调整开闭滤波器形态学结构元的形状来对最小值通道图进行滤波。

根据开操作和闭操作所表现出的几何特性[23],IDA_VAM采用16种不同形状的结构元对最小值通道图进行开闭滤波,以获取图像的重要轮廓与主要细节,同时为了更有效地抑制噪声干扰,16种形态学结构元均利用大小为5×5的尺寸。形态学结构元只是确定需要计算最大值与最小值的位置范围,不像卷积模版需要用选定的数据进行填充,其详细的设计如图 5所示。

图 5 16种不同形状的结构元
Fig. 5 Sixteen different shapes of structural elements

为了融合16种结构元滤波后的结果,IDA_VAM通过不同形状的结构元si对最小值通道图W滤波后的效果表示为

${{W}_{filter}}=\frac{1}{16}\sum\limits_{i=1}^{16}{{}}\sum [(f\circ {{s}_{i}})\cdot {{s}_{i}}]$ (14)

提出的多结构元开闭滤波器,运行速度快,能够去除大部分纹理信息和噪声,使滤波后图像整体平滑效果较为均匀,而且保留了较多的细节轮廓。不同滤波算法对最小值通道图处理效果如图 6所示。图 6(b)是最小值滤波效果图,图 6(c)是多结构元开闭滤波效果,从图 6(c)可以看出,树叶和树枝的完整性得到了最大地保留且图像整体平滑效果较好。

图 6 不同算法对最小通道图滤波效果
Fig. 6 Filtering effect of different algorithms on the minimum channel diagram ((a)fog image; (b) minimum filter; (c) multi-structure open and close filter)

对最小值通道图滤波后,根据式(3) 可得场景透射率

${{t}_{estimate}}=1-\omega \times \frac{{{W}_{filter}}}{A}$ (15)

在暗通道算法局限分析部分已经分析暗原色原理去雾算法在明亮区域处理效果较差,出现色彩失真等问题,因此需要对这些区域的透射率函数进行调整,弱化这些区域的去雾。在全局环境光亮度估计部分通过变差函数已经找出不能适应暗原色先验理论的高亮像素点,因此调整这些像素点所对应的场景透射率

$\left\{ \begin{align} & {{t}_{modify}}=min\left( max\frac{\Delta }{I-A},1 \right)\times \\ & \begin{matrix} max({{t}_{estimate}},\text{ }{{t}_{0}}),1) & S<\Delta \\ \end{matrix} \\ & \begin{matrix} max({{t}_{estimate}},\text{ }{{t}_{0}}) & S\ge \Delta \\ \end{matrix} \\ \end{align} \right.$ (16)

场景透射率调整前后的效果对比图如图 7所示,从图 7(b) (c)可以看出,经过场景透射率调整后得到的天空等明亮区域的场景透射率更加真实自然。

图 7 图像透射率修正前后效果
Fig. 7 Scene transmittance effect of correction before and after ((a) fog image; (b) transmission before correction; (c) transmission after correction)

除了在一些边缘区域由于场景深度发生突变会产生跳跃,雾气图像的场景透射率都是平滑的,因此获取更为准确的场景透射率的关键是恢复好雾气图像的边缘细节。双边滤波器是边缘保持滤波器[24-25]的一种,通常包括一个空间域和一个值域内核函数。把x作为一幅图像中的一个像素点,y作为x邻域N(x)中的一个像素点,I(x)对应像素点x的值域范围,I(y)对应像素点y的值域范围,则图像像素点x过滤后的值域范围为

${{I}_{BF}}\left( x \right)=\frac{\sum\limits_{y\in N\left( x \right)}^{{}}{{}}\left( {{f}_{S}}\left( x,y \right)\cdot {{f}_{R}}\left( I\left( x \right),I\left( y \right) \right)\cdot I\left( y \right) \right)}{\sum\limits_{y\in N\left( x \right)}^{{}}{{}}\left( {{f}_{S}}\left( x,y \right)\cdot {{f}_{R}}\left( I\left( x \right),I\left( y \right) \right) \right)}$ (17)

式中,fSfR分别是空间域和值域的过滤器内核函数。当像素点与领域中心像素点相邻且两者灰度差值较小时,双边滤波器赋较大的权值给该像素点;而当像素点与领域中心像素点相邻且两者灰度差值较大时,双边滤波器赋较小的权值给该像素点。综上所述,双边滤波器能够平滑整体图像,同时图像中的边缘细节无论在光滑区域或是场景深度突变区域都能得到很好地保持。则对透射率优化公式可以简化为

${{t}_{filter}}=BF({{t}_{modify}},\text{ }{{\sigma }_{s}},\text{ }{{\sigma }_{r}})$ (18)

式中,σs是双边滤波器的空间域内核,σr是双边滤波器的值域内核,两者的大小选择直接决定了滤波后图像的平滑效果和边缘细节保持程度。为了缩短运行时间而又不影响去雾效果,IDA_VAM算法利用文献[25]提出的算法对透射率进行平滑滤波操作。该算法把双边滤波器分解成一组空间滤波器组,在任意空间域和任意值域内都具有O(1) 复杂度的核函数。场景透射率在优化前后效果图对比如图 8所示。从图 8(b) (c) 的对比可以看出,场景透射率图中的树叶等边缘经过双边滤波器优化后更加平滑,细节保持更好。

图 8 场景透射率优化前后效果
Fig. 8 Scene transmittance effect of optimization before and after ((a) fog image; (b) transmission before filtering; (c) transmission after filtering)

3.3 场景亮度复原及色调调整

场景透射率t(x)和全局环境光值A已知,根据式(1) 便可求取无雾清晰图像。由式(1) 求取的无雾图像整体亮度偏暗,为了提高图像整体质量以满足人眼的视觉需求,需要调整图像的整体亮度。通过曲线拟合[26-27]调整去雾后图像的整个亮度。曲线拟合可表示为

${{L}_{adjust}}=\frac{{{L}_{recover}}\left( 255+k \right)}{{{L}_{recover}}+k}$ (19)

k是函数调整参数,图像的整体亮度随k的变小而越大,为了使复原图像的整体亮度能够得到自适应地修正,在仿真测试时取k=3×mean(W(x))。去雾图像调整前后效果对比如图 9所示。图 9(b)是调整前复原结果,可以看出,图像去雾较为明显,然而图像整个亮度偏弱,不能满足人眼视觉需求;图 9(c)是调整后复原结果,可以看出,调整后的去雾图像相对于调整前越发清晰明亮,去雾后图像与晴朗无雾条件下捕获的图像更加近似。

图 9 调整前后复原效果图对比
Fig. 9 Recovery effect comparison before and after adjustment ((a) fog image; (b) transmission before color adjustment; (c) transmission after color adjustment)

4 实验结果与分析

实验平台是在Intel(R) Core(TM) i3 CPU M380 @2.53 GHZ 2 GB RAM的PC机用Windows 7MATLAB2012b环境下进行仿真测试。实验参数w=0.95,t0=0.1,σs=0.032×min(h,w),σr=26。

4.1 主观视觉对比

IDA_VAM对近景、远景和含有明亮区域的雾气图像,去雾的中间过程效果图如图 10所示。图 10中1幅是近景图像,第2幅是远景图像,第3幅是含有明亮区域的图像。从3幅图像可以看出,最小通道图经过形态学开闭滤波后的细节信息以及物体的完整性都得到很好地保护。从3幅图像修正前的场景透射率可以看出,天空区域和火车灯光区域的场景透射率均偏小。从3幅图像修正后的场景透射率可得到较为准确的场景透射率,其天空区域和火车灯光区域的场景透射率有了显著的改变。从3幅图像细化后的场景透射率可以看出,整体场景透射率非常平滑。第1幅复原后图像的色调和亮度都得到很好的恢复,第2幅得到的无雾图像,大片天空区域的对比度和颜色都非常自然,第3幅结果图像的清晰度和色彩均能够满足人的视觉需求。实验结果表明,这3幅不同情况的图像,通过IDA_VAM得到的去雾效果在主观视觉都较明显,且图像中景深突变的边缘细节也得到了较好的恢复,可以得出IDA_VAM对不同情形下的雾气图像都能够得到较为理想的去雾效果。

图 10 IDA_VAM中间过程效果
Fig. 10 Intermediate process effect of IDA_VAM ((a)fog images; (b) W after open and close filtering; (c) t before adjustment; (d) t after adjustment; (e) t after optimization; (f) the effect before color adjustment; (g) the effect after color adjustment)

目前经典的针对单幅雾气图像基于物理模型的去雾算法和IDA_VAM对近景、远景和含有明亮区域的雾化图像进行去雾的效果对比如图 11所示。通过实验观察发现,文献[7]对近景图像进行去雾可以获得较为清晰的复原结果,但在场景深度发生突变的边缘区域去雾效果较差,图像1中树叶部分和图像5中的树木与白云区域都没有很好地处理,丢失了很多细节信息;对于远景和含有白色物体的图像复原效果不佳,图像2、图像3和图像4去雾后的图像整体偏暗,出现偏色且失去较多的细节信息。文献[8]算法对大部分雾气图像可以得到较好的复原效果,但是在明亮区域或浓雾区域去雾效果并不理想,去雾后图像的明亮区域出现了光晕现象。文献[9]算法对雾气图像的大气传输率,应用软抠图技术优化,其去雾效果较好,但在天空区域和白色区域的颜色处理过于饱和甚至失真,如图像2、图像3、图像4和图像5在天空区域复原的色彩不够真实。文献[10]应用指导滤波器来细化场景透射率。该算法对雾气图像处理后的色调保持较好,景深细节信息保留很好,但去雾程度不佳,图像1中的树叶部分,图像2和图像3中的天空区域,图像4中的汽车部分,图像5中的白云区域均有不同程度地雾气存在。IDA_VAM算法通过形态学滤波器保持物体轮廓的完整性,抑制噪声,利用双边滤波器平滑图像,保留较多的边缘细节信息,如图 1中的树枝树叶部分,图像2中的楼房部分,图像3中的帆船部分,图像4中的汽车部分以及图像5中的山脉和白云部分的轮廓边缘信息保持得特别清晰。IDA_VAM算法对雾气图像去雾后获得的复原结果,色彩更真实,无论在场景深度变化的地方还是明亮区域去雾后的效果都较其他算法好,边缘细节处理更清晰。

图 11 不同算法去雾效果
Fig. 11 Defog effect of different algorithms ((a)fog image; (b) defog effect of reference[7]; (c) defog effect of reference[8]; (d) defog effect of reference[9]; (e) defog effect of reference[10]; (f) defog effect of IDA_VAM)

4.2 客观指标评价

从信息熵、对比度、清晰度、结构相似性、平均梯度等5个图像评价标准对不同算法去雾后图像的质量进行对比。

信息熵H用来评价图像的清晰度及细节强度,信息熵越大,复原结果的细节强度越大,包括信息量越大,复原结果越清晰[28-29],其表示为

$H=-\sum\limits_{i=0}^{255}{{}}{{p}_{i}}lo{{g}_{2}}~{{p}_{i}}$ (20)

式中,pi是像素值i出现的概率。不同算法对5幅图像去雾后图像信息熵的大小比较如表 1所示,从表 1可以看出,IDA_VAM对近景雾气图像去雾后的图像信息熵是增大的,其他算法去雾后的图像信息熵都在减小,IDA_VAM较其他算法有较高的图像信息熵,复原图像的边缘细节更加突出。对远景图像去雾,文献[8-10]和IDA_VAM得到的复原图像的信息熵均有所提高;对含有明亮区域的图像去雾,本文算法得到的复原图像的信息熵最高且相对于原图有所增加,边缘细节更清晰,去雾效果更明显。综合所有图像的信息熵比较,IDA_VAM具有更大的信息熵值且稳定,复原图像的细节保留得更多,图像更加清晰。

表 1 不同算法的信息熵
Table 1 Comparison of information entropy of different algorithms

下载CSV
图 11原图文献 IDA_VAM
[7][8][9][10]
图像17.196.967.077.127.047.39
图像27.142.586.967.236.977.27
图像36.222.936.896.176.876.67
图像46.344.076.316.595.656.59
图像57.516.677.236.847.307.75

对比度C用于衡量图像的可视性和可读性,C值越大,复原图像的可视性越高[28],其表示为

$C=\sigma /{{\left[ \frac{\frac{1}{MN}\sum\limits_{i=1}^{M}{{}}\sum\limits_{j=1}^{N}{{}}{{\left( I\left( i,j \right)-\mu \right)}^{4}}}{{{({{\sigma }^{2}})}^{2}}} \right]}^{1/4}}$ (21)

式中,μ表示图像I的均值,σ2表示图像I的方差,σ表示图像I的标准差。不同算法对5幅图像去雾后图像对比度的大小比较如表 2所示。从表 2可以看出,文献[7]和IDA_VAM去雾后图像的对比度在图像偏暗和偏亮时均有不同水平的提高,从而提高结果图像的可视性和可读性。文献[8-10]去雾后的图像对比度大小有不同水平的减小,从而降低了复原图像的可视性和可读性。

表 2 不同算法的对比度
Table 2 Comparison of contrast of different algorithms

下载CSV
图 11原图文献 IDA_VAM
[7][8][9][10]
图像132.140.726.330.823.633.1
图像244.288.825.145.544.170.7
图像339.860.231.839.065.473.4
图像436.879.419.537.110.8738.7
图像546.183.432.038.936.854.2

清晰度D用于评价图像的各细部影纹及其边缘的清晰程度,D值越大,复原图像越清晰[28],其表示为

$D=\frac{1}{MN}\sum\limits_{i=1}^{M}{{}}\sum\limits_{j=1}^{N}{{}}\sqrt{{{\left( {{I}_{x}}\left( i,j \right){{)}^{2}}+({{I}_{y}}\left( i,j \right) \right)}^{2}}}$ (22)

式中,Ix(i,j)和Iy(i,j)表示图像在xy方向的导数。各算法对5幅图像去雾后图像清晰度的大小对比如表 3所示。

表 3 不同算法的清晰度
Table 3 Comparison of definition of different algorithms

下载CSV
图 11原图文献 IDA_VAM
[7][8][9][10]
图像17.1416.713.28.7711.514.3
图像27.658.5715.28.958.6318.2
图像33.527.457.323.675.349.01
图像44.567.678.845.685.5711.0
图像56.5812.111.83.6110.915.6

表 3可以得出,对于近景图像,各算法去雾后图像的清晰度均有较大程度的提高。IDA_VAM对远景图像去雾后的复原图像清晰度提高的更明显。文献[7]、文献[8]和IDA_VAM对含有明亮区域的图像去雾后得到的复原图像的清晰度提高较为明显,且IDA_VAM提高更大。综合所有图像的清晰度对比,对不同情况下的图像,IDA_VAM去雾后得到的图像各细部影纹及其边界更明显,具有更好的复原效果。

结构相似性S用于评价保留图像结构信息的能力,S值越大,去雾前后图像的结构相似性越高,图像的去雾效果越柔和,算法保护图像结构信息完整性的能力越强[29],其表示为

$S=\frac{\frac{1}{MN+1}\sum\limits_{i=1}^{M}{{}}\sum\limits_{j=1}^{N}{{}}(I\left( i,j \right)-{{\mu }_{I}})(J\left( i,j \right)-{{\mu }_{J}})}{{{\sigma }_{I}}{{\sigma }_{J}}}$ (23)

式中,I表示雾气图像,J表示复原图像,μIσI分别表示图像I的均值和标准差,μJσJ分别表示图像J的均值和标准差。不同算法对5幅图像去雾后得到的复原图像与雾气图像结构相似性的大小对比如表 4所示。由表 4可以看出,IDA_VAM处理不同情况下的雾气图像,其结构相似性都较高于其他算法,保留图像结构信息的能力更强,去雾效果更加柔和自然。

表 4 不同算法的结构相似性对比
Table 4 Comparison of structure similarity of different algorithms

下载CSV
图 11文献 IDA_VAM
[7][8][9][10]
图像10.830.740.640.780.86
图像20.680.730.820.790.78
图像30.710.690.970.580.93
图像40.960.610.700.610.87
图像50.440.580.860.640.94

平均梯度反映细节信息和纹理信息的细小改变,评价图像的对比度以及细节清晰度,梯度值越大,复原图像的对比度越高,细节越清晰,保边效果越好[28]。其表示为

$\begin{align} & \bar{g}=\frac{1}{\left( M-1 \right)\left( N-1 \right)}\times \sum\limits_{i=1}^{M-1}{{}}\sum\limits_{j=1}^{N-1}{{}} \\ & \sqrt{\frac{{{\left( I\left( i,j \right)-I\left( i+1,j \right) \right)}^{2}}+{{\left( I\left( i,j \right)-I\left( i,j+1 \right) \right)}^{2}}}{2}} \\ \end{align}$ (24)

不同算法对5幅图像去雾后得到的复原图像平均梯度值的大小对比如表 5所示。由表中数据可以得出,对于近景图像,各算法都能够很好地恢复图像的细节信息,文献[7]、文献[8]和IDA_VAM处理后的图像层次更丰富,保边效果更明显。各算法对远景图像去雾后得到的复原图像梯度值都有不同程度增加,IDA_VAM的图像梯度值增加更明显,说明IDA_VAM对远景图像去雾后保边效果及细节清晰度较其他算法好。对于含有明亮区域的雾气图像,只有文献[8]和IDA_VAM对两幅图像去雾后得到的复原图像梯度值都是增加的。根据不同情况下去雾图像平均梯度值的比较,IDA_VAM能够更好地恢复图像的对比度和细节清晰度,得到更加清晰明亮、边缘保持效果更好的无雾图像。

表 5 不同算法的平均梯度对比
Table 5 Comparison of average gradient of different algorithms

下载CSV
图 11原图文献 IDA_VAM
[7][8][9][10]
图像15.7713.9511.17.349.3611.7
图像27.226.8313.97.927.3117.4
图像33.317.377.063.485.118.70
图像46.326.087.454.684.0215.1
图像54.1312.212.13.7810.410.1

若应用到实际的生产生活中,算法处理耗时必须考虑,处理时间的长短反映了算法的复杂程度,能否达到实时性需求。文献[9]采用空间和时间复杂度都较高的抠图技术进行优化透射率。IDA_VAM算法利用文献[25]中的实时性双边滤波器来优化大气透射率,有效地提高了运行速度,具有较好的实时性。各算法在Intel i3 2.53 GHz的PC机上的运行时间如表 6所示。从图像的处理时间来看,文献[9]用时较长,文献[7]、文献[8]、文献[10]和IDA_VAM运行时间相对较少,而且IDA_VAM比其他算法耗时都短。根据表 6可得IDA_VAM运行时间较其他算法要快,可满足实时性需求。

表 6 不同算法的运行时间对比
Table 6 Comparison of running time of different algorithms

下载CSV
图 11图像尺寸/像素文献[7]文献[8]文献[9]文献[10]IDA_VAM
图像1693×71110.4129.36064.24510.6905.602
图像2200×3002.5611.86122.8121.9171.038
图像3802×5329.6547.48354.7539.5235.363
图像4336×2204.3273.45331.5273.4421.145
图像5576×7688.9548.56357.4739.4315.179

5 结 论

本文提出基于变差函数和形态学滤波的图像去雾算法,利用变差函数获取准确的全局环境光值,然后采用多结构元开闭滤波器对最小值通道图进行滤波滤除纹理细节,保留边缘和目标对象的完整性,抑制噪声,进而获得较为精确的场景透射率,接着调整场景透射率并使用双边滤波器对其细化获取更为精确的场景透射率,最后通过物理模型得到去雾图像并对其进行色调调整,得到细节清晰、层次丰富自然的无雾图像。

虽然IDA_VAM算法能够去除绝大部分雾化降质图像中的雾,但该算法的物理模型相对简单,对于复杂场景下的雾化降质图像,例如在运动情况下捕获的模糊的雾化降质图像,IDA_VAM算法尽管能得到无雾图像,但去雾图像仍较模糊。该算法无法达到去雾的同时去除模糊,且复原图像的天空区域出现光晕现象,如图 12所示。

图 12 IDA_VAM去雾效果
Fig. 12 Effect of IDA_VAM ((a) fog image; (b) the defog effect of effectiveless)

室外计算机视觉系统在复杂场景下捕获图像的去雾问题,特别是复杂场景下的视频快速去雾,其处理速度和复原效果是下一步工作的主要内容。

参考文献

  • [1] Narasimhan S G, Nayar S K. Vision and the atmosphere[J]. International Journal of Computer Vision , 2002, 48 (3) : 233–254. DOI:10.1023/A:1016328200723]
  • [2] Garg K, Nayar S K. Vision and rain[J]. International Journal of Computer Vision , 2007, 75 (1) : 3–27. DOI:10.1007/s11263-006-0028-6]
  • [3] Henry R C, Mahadev S, Urquijo S, et al. Color perception through atmospheric haze[J]. Journal of the Optical Society of America A , 2000, 17 (5) : 831–835. DOI:10.1364/JOSAA.17.000831]
  • [4] Su C L, Zhao X M. Research on image defogging enhancement algorithm[J]. Value Engineering , 2012, 31 (32) : 219–221. [ 苏春莉, 赵向梅. 图像去雾增强算法研究[J]. 价值工程 , 2012, 31 (32) : 219–221. DOI:10.3969/j.issn.1006-4311.2012.32.098 ]
  • [5] Zhang S N, Wu Y D, Zhang H Y, et al. Haze image enhancement method based on improved single-scale Retinex[J]. Laser & Infrared , 2013, 43 (6) : 698–702. [ 张赛楠, 吴亚东, 张红英, 等. 改进的单尺度Retinex雾天图像增强算法[J]. 激光与红外 , 2013, 43 (6) : 698–702. DOI:10.3969/j.issn.1001-5078.2013.06.022 ]
  • [6] Wang X M, Huang C, Li Q B, et al. Improved multi-scale Retinex image enhancement algorithm[J]. Journal of Computer Applications , 2010, 30 (8) : 2091–2093. [ 王小明, 黄昶, 李全彬, 等. 改进的多尺度Retinex图像增强算法[J]. 计算机应用 , 2010, 30 (8) : 2091–2093. DOI:10.3724/SP.J.1087.2010.02091 ]
  • [7] Fattal R. Single image dehazing[J]. ACM Transactions on Graphics , 2008, 27 (3) . DOI:10.1145/1360612.1360671]
  • [8] Tarel J P, Hautière N. Fast visibility restoration from a single color or gray level image[C]//Proceedings of the 12th International Conference on Computer Vision. Kyoto, Japan:IEEE, 2009:2201-2208.[DOI:10.1109/ICCV.2009.5459251]
  • [9] He K M, Sun J, Tang X O. Single image haze removal using dark channel prior[C]//Proceedings of IEEE Conference on Computer Vision and Pattern Recognition. Miami, FL, USA:IEEE, 2009:1957-1963.[DOI:10.1109/CVPR.2009.5206515]
  • [10] He K M, Sun J, Tang X O. Guided image filtering[C]//Proceedings of the 11th European Conference on Computer Vision. Berlin Heidelberg:Springer, 2010:1-14.[DOI:10.1007/978-3-642-15549-9_1]
  • [11] Tan R T. Visibility in bad weather from a single image[C]//Proceedings of IEEE Conference on Computer Vision and Pattern Recognition. Anchorage, AK, USA:IEEE, 2008:1-8.[DOI:10.1109/CVPR.2008.4587643]
  • [12] Chen G, Wang T, Zhou H Q. A novel physics-based method for restoration of foggy day images[J]. Journal of Image and Graphics , 2008, 13 (5) : 888–893. [ 陈功, 王唐, 周荷琴. 基于物理模型的雾天图像复原新方法[J]. 中国图像图形学报 , 2008, 13 (5) : 888–893. DOI:10.11834/jig.20080508 ]
  • [13] Yu J, Li D P, Liao Q M. Physics-based fast single image fog removal[J]. Acta Automatica Sinica , 2011, 37 (2) : 143–149. [ 禹晶, 李大鹏, 廖庆敏. 基于物理模型的快速单幅图像去雾方法[J]. 自动化学报 , 2011, 37 (2) : 143–149. DOI:10.3724/SP.J.1004.2011.00143 ]
  • [14] Gan J J, Xiao C X. Fast image dehazing based on accurate scattering map[J]. Journal of Image and Graphics , 2013, 18 (5) : 583–590. [ 甘佳佳, 肖春霞. 结合精确大气散射图计算的图像快速去雾[J]. 中国图象图形学报 , 2013, 18 (5) : 583–590. DOI:10.11834/jig.20130513 ]
  • [15] Pang C Y, Ji X Q, Sun L N, et al. An improved method of image fast defogging[J]. Acta Photonica Sinica , 2013, 42 (7) : 872–877. [ 庞春颖, 嵇晓强, 孙丽娜, 等. 一种改进的图像快速去雾新方法[J]. 光子学报 , 2013, 42 (7) : 872–877. DOI:10.3788/gzxb20134207.0872 ]
  • [16] Yu M J, Zhang H F. Single-image dehazing based on dark channel and incident light assumption[J]. Journal of Image and Graphics , 2014, 19 (12) : 1812–1819. [ 於敏杰, 张浩峰. 基于暗原色及入射光假设的单幅图像去雾[J]. 中国图象图形学报 , 2014, 19 (12) : 1812–1819. DOI:10.11834/jig.20141213 ]
  • [17] Fang F M, Li F, Zeng T Y. Single image dehazing and denoising:a fast variational approach[J]. SIAM Journal on Imaging Sciences , 2014, 7 (2) : 969–996. DOI:10.1137/130919696]
  • [18] Wang J B, He N, Zhang L L, et al. Single image dehazing with a physical model and dark channel prior[J]. Neurocomputing , 2015, 149 : 718–728. DOI:10.1016/j.neucom.2014.08.005]
  • [19] Chen S Z, Ren Z G, Lian Q S. Single image dehazing algorithm based on improved dark channel prior and guided filter[J]. Acta Automatica Sinica , 2016, 42 (3) : 455–465. [ 陈书贞, 任占广, 练秋生. 基于改进暗通道和导向滤波的单幅图像去雾算法[J]. 自动化学报 , 2016, 42 (3) : 455–465. DOI:10.16383/j.aas.2016.c150212 ]
  • [20] Ju M Y, Zhang D Y, Ji Y T. Image haze removal algorithm based on haze thickness estimation[J]. Acta Automatica Sinica , 2016 . [ 鞠铭烨, 张登银, 纪应天. 基于雾气浓度估计的图像去雾算法[J]. 自动化学报 , 2016 . DOI:10.16383/j.aas.2016.c150525 ]
  • [21] Ye C H, Kang L W, Lee M S, et al. Haze effect removal from image via haze density estimation in optical model[J]. Optical Express , 2013, 21 (22) : 27127–27141. DOI:10.1364/OE.21.027127]
  • [22] Wang W, He C J. Depth and reflection total variation for single image dehazing[J]. Chinese National Science Foundation , 2016, 1 : 1–14.
  • [23] Guo W, Li X J, Wen T Y. Watershed algorithm combining multi-structure filter and multi-scale reconstruction[J]. Computer Engineering and Applications , 2015, 51 (14) : 151–157. [ 郭伟, 李喜军, 文添艺. 融合多结构滤波和多尺度重建的分水岭算法[J]. 计算机工程与应用 , 2015, 51 (14) : 151–157. DOI:10.3778/j.issn.1002-8331.1411-0157 ]
  • [24] Yang Q X. Recursive Bilateral Filtering[C]//Proceedings of the 12th European Conference on Computer Vision. Berlin Heidelberg:Springer, 2012:399-413.[DOI:10.1007/978-3-642-33718-5_29]
  • [25] Yang Q X, Tan K H, Ahuja N. Real-time O(1) bilateral filtering[C]//Proceedings of IEEE Conference on Computer Vision and Pattern Recognition. Miami, FL, USA:IEEE, 2009:557-564.[DOI:10.1109/CVPR.2009.5206542]
  • [26] Wang W P, Dai S K. Fast haze removal method based on image fusion and segmentation[J]. Journal of Image and Graphics , 2014, 19 (8) : 1155–1161. [ 王伟鹏, 戴声奎. 结合图像融合与分割的快速去雾[J]. 中国图象图形学报 , 2014, 19 (8) : 1155–1161. DOI:10.11834/jig.20140806 ]
  • [27] Liu X Y, Dai S K. Halo-free and color-distortion-free algorithm for image dehazing[J]. Journal of Image and Graphics , 2015, 20 (11) : 1453–1461. [ 刘兴云, 戴声奎. 消除halo效应和色彩失真的去雾算法[J]. 中国图象图形学报 , 2015, 20 (11) : 1453–1461. DOI:10.11834/jig.20151104 ]
  • [28] Liu H B, Tang Q F, Yang J. Application of improved histogram equalization and Retinex algorithm in gray image enhancement[J]. Chinese Journal of Quantum Electronics , 2014, 31 (5) : 525–532. [ 刘海波, 汤群芳, 杨杰. 改进直方图均衡和Retinex算法在灰度图像增强中的应用[J]. 量子电子学报 , 2014, 31 (5) : 525–532. DOI:10.3969/j.issn.1007-5461.2014.05.003 ]
  • [29] Li D P, Yu J, Xiao C B. No-reference quality assessment method for defogged images[J]. Journal of Image and Graphics , 2011, 16 (9) : 1753–1757. [ 李大鹏, 禹晶, 肖创柏. 图像去雾的无参考客观质量评测方法[J]. 中国图象图形学报 , 2011, 16 (9) : 1753–1757. DOI:10.11834/jig.20110928 ]