Print

发布时间: 2021-03-16
摘要点击次数:
全文下载次数:
DOI: 10.11834/jig.200057
2021 | Volume 26 | Number 3




    图像分析和识别    




  <<上一篇 




  下一篇>> 





两阶段特征提取策略的图像去雾
expand article info 袁非牛1,2, 李志强2, 史劲亭3, 夏雪2, 李雅2
1. 上海师范大学信息与机电工程学院, 上海 201418;
2. 江西财经大学信息管理学院, 南昌 330013;
3. 江西农业大学职业师范(技术)学院, 南昌 330045

摘要

目的 传统以先验知识为基础的去雾算法,如最大化饱和度、暗通道等,在某些特定场景下效果非常不稳定,会出现色彩扭曲和光晕等现象。由于标注好的训练数据严重不足、特征的冗余性等原因,传统基于学习的去雾算法容易导致模型过拟合。为克服这些问题,本文提出一种基于两阶段特征提取的场景透射率回归去雾方法。方法 在第1阶段,提取图像在颜色空间上的饱和度、最小通道、最大通道以及灰度图的盖博响应等43维特征作为初始雾的特征,并在提取的特征图像局部窗口内,进一步提取最小值、最大值、均值、方差、偏度、峰度、高斯均值等7维特征。在第2阶段,将提取的43×7=301个维度特征组成表征雾的二阶段特征向量。最后采用支持向量机进行训练,得到雾的特征向量和场景透射率的回归模型。结果 实验结果表明,本文算法取得了非常好的去雾效果。平均梯度值为4.475,高于所有对比算法;峰值信噪比为18.150 dB,仅次于多尺度卷积神经网络去雾算法;结构相似性为0.867,处于较高水平;去雾后的亮度和对比度,也均排于前列。本文算法的去雾测试性能接近甚至超过了已有的基于深度学习的去雾算法,表明本文提出的两阶段特征能够很好地对雾进行表征,实现了小样本学习的高效去雾。结论 本文通过两阶段的特征提取策略,极大提升了算法的鲁棒性,仅需要极少量样本就能训练得到性能很好的去雾模型,具有很好的泛化性能。

关键词

图像去雾; 图像增强; 特征提取; 支持向量机(SVM); 机器学习

Image defogging algorithm using a two-phase feature extraction strategy
expand article info Yuan Feiniu1,2, Li Zhiqiang2, Shi Jinting3, Xia Xue2, Li Ya2
1. College of Information, Mechanical and Electrical Engineering, Shanghai Normal University, Shanghai 201418, China;
2. School of Information Technology, Jiangxi University of Finance and Economics, Nanchang 330013, China;
3. Vocational School of Teachers(Technology), Jiangxi Agricultural University, Nanchang 330045, China
Supported by: National Natural Science Foundation of China (61862029)

Abstract

Objective Haze is a very common phenomenon in nature scenes, which mainly leads to poor image quality. Image dehazing has important research significance in practical applications, such as machine vision and intelligent transportation primarily because fog reduces image contrast, resulting in instability of feature extraction methods and recognition systems. Traditional defogging algorithms based on prior knowledge, such as maximizing saturation and dark channels, have unstable effects on certain specific scenes, such as color distortion and halo. Traditional learning-based defogging methods are prone to overfitting due to lack of insufficient labeled training data and feature redundancy. Method We propose a two-phase strategy for feature extraction to improve effectiveness and representation capabilities of existing features for fog and haze by analyzing the advantages and drawbacks of existing image defogging methods. In the first phase, inspired by the successes of dark channel defogging method, similarity of Gabor filters, and human vision responses, the paper extracts color saturation, minimum color channel, maximum color channel, and Gabor responses of gray-scale images as initial fog features. Gabor filters are set to have eight orientations and five scales for a total of 40 responses of Gabor filters. Hence, the initial fog features in the first phase are 43 dimensional for each pixel. This paper extracts the minimum, maximum, mean, variance, skewness, kurtosis, and Gaussian average of each local region on every feature map of the first phase to improve the robustness of these initial features. These features are seven dimensional for each pixel of a feature map extracted in the first phase. Thus, The paper extracts 43×7=301 features in the second phase for each pixel. These features are formed as a 301-dimensional feature vector for each pixel, which has very powerful representation capabilities. Finally, we adopt support vector machine with 301-dimensional feature vectors to train a regression model between a 301-dimensional feature vector and a transmission rate. Result The paper performs experiments on several public data sets to compare our method and several image defogging methods, including deep-learning-based algorithms. Experimental results show that the algorithm in this paper achieves a very good defogging effect. For the evaluation index of average gradient, the value of this algorithm is 4.475, which is higher than all the comparison algorithms. For the peak signal-to-noise ratio, the value of the algorithm in this paper is second, with a value of 18.150 dB, second only to the multiscale convolutional neural network defogging algorithm. For structural similarity, the algorithm in this paper is 0.867, which is high. For brightness and contrast after defogging, the proposed algorithm is also in the forefront. Our method's defogging results are similar to those obtained by existing deep-learning-based defogging methods. In several cases, our results are even better than those of deep learning methods. The experimental results validate that our two-phase features can represent fog and haze. We also implement an effective image defogging method from a small labeled training dataset. Conclusion This paper can greatly enhance the robustness and representation capabilities of initial fog features, and we can use only a small training data set to train a suitable model that has very good generalization performance by using a two-phase feature extraction strategy.

Key words

image defogging; image enhancement; feature extraction; support vector machine(SVM); machine learning

0 引言

图像由摄像机、数码照相机、手机等光学成像电子设备拍摄而成。这些设备捕获的图像不可避免地受到噪声干扰。大气散射如图 1所示,太阳发出的光线被空气中的悬浮颗粒吸收和散射形成空气光,空气光照射观察场景,再经过一定的场景距离,反射到接受光线的仪器或人眼中。由于观察者与观察场景之间同样存在许多悬浮颗粒,使得反射的光线被散射或吸收,从而影响观察的场景画质。雾是造成户外场景图像降质的主要因素。恶劣天气情况下,空气中的悬浮尘埃等小颗粒物体增多,使照射到物体本身的光大量减弱。另一方面,随着场景图与图像捕获设备之间的距离增加,空气中积累的微颗粒物质增多,光的能量减弱,致使观察到的光强度严重减弱。

图 1 大气散射示意图
Fig. 1 Illustration of the atmospheric scattering model

在无限远的情况下,捕捉到的光成分基本为空气光。雾严重降低了图像质量,为了更好地获取图像的本质特征,还原图像在无雾时的清晰度,通常需要对输入图像进行去雾处理。去雾技术在图像处理及机器视觉领域具有重要意义。

去雾技术是指将捕获的图像复原成无雾效果图,从而提高图像质量。场景的深度估计是去雾中非常具有挑战性的难题。从图 1可以看出,如果景深估计有误,会直接影响实际获得的场景与拍摄场景之间尘埃颗粒的数量,从而使去雾效果有很大偏差。此外,成像过程中的各个阶段都会产生人工因素形成的噪声,错误的景深估计同样会对这些噪声产生影响, 从而影响最终效果。只有精准的景深估计才可以还原最真实的无雾效果图。然而,目前的研究中几乎没有直接估计图像景深的算法,大多数是通过估计图像的透射图从而间接计算图像景深。

为了满足各式各样的应用需求,出现了许多去雾算法,在对有雾图的透射图估算等问题上取得了重大进展。这些算法大致分为两类,一类是基于先验假设的传统算法,另一类是基于机器学习的算法。

传统算法主要基于色彩、纹理等属性进行先验假设。Tan(2008)通过观察发现无雾图的对比度比有雾图的对比度更高,提出一种使用马尔可夫随机场提高局部图像块对比度的图像恢复方法,取得了一定效果,但是在某些情况下会造成图像过度饱和化,导致结果不自然。Fattal(2008)认为在同样一小块的有雾图中,透射率呈线性相关,并据此先验计算出透射率和大气光从而获得无雾图,这种方法对大部分有雾图都能取得不错效果。Wang等人(2018)通过视网膜增强算法延伸图像的动态范围,使像素值的分布更为均匀,提高了图像的对比度,但无法避免色彩扭曲的情况发生。刘万军等人(2019)通过融合暗通道先验算法与视网膜增强算法求取场景透射率图,并使用加权四叉树搜索求取大气光,进而恢复无雾图像。Li和Zheng(2018)通过全局引导滤波对有雾图进行优化,去雾效果明显。Tripathi和Mukhopadhyay(2012)Gibson和Nguyen(2013)以及曾接贤和余永龙(2017)分别使用双边滤波、维纳滤波以及滤波与暗通道融合的方法估算空气光,进而计算透射率以恢复图像,但是滤波产生的边缘会出现光晕影响,使去雾后的图像看起来连接不平滑,导致效果并不是很理想。王平等人(2018)通过对去雾效果迭代的方式,使得结果图达到一定亮度时取得最佳的去雾效果。Guo等人(2017)采用图像融合的方法进行图像去雾,通过融合透射率和形态学闭操作计算透射率从而完成图像色彩复原,其中融合的权值通过引导滤波确定。Zhu等人(2015)通过观察发现场景中因为雾和光亮的增加而出现颜色稀少现象,提出了颜色稀化先验理论,构建了一个线性模型表示景深、亮度以及饱和度的关系,最后在引导滤波的帮助下实现去雾。Meng等人(2013)Fattal(2014)Gibson等人(2012)Ancuti等人(2010)分别运用不同的先验知识实现去雾。He等人(2011)观察数千张有雾图后得出在RGB颜色空间颜色鲜艳像素点的3个色彩通道值中必定有一个是非常小的,据此提出暗通道假设并用于估计透射率,得到了较好效果。总体而言,尽管这些基于先验知识的传统去雾算法均获得了一定效果,但是普遍需要对提取的透射图进行优化,而不能直接使用粗制透射图复原图像。

基于机器学习的去雾算法一定程度上解决了传统算法需要优化的问题。Ren等人(2016)通过多尺度卷积神经网络估计透射图和大气光。Tang等人(2014)对图像提取局部饱和度、局部对比度等特征后,通过随机森林方法构建回归模型对透射图进行预测。Santra等人(2018)通过使用卷积神经网络(convolutional neural network,CNN)训练出一个可以获取单局部块中最佳透射率的模型实现图像去雾。Li和Zheng(2018)通过生成对抗网络(generative adversarial network,GAN)训练出从有雾图直接生成无雾图的模型。类似地,肖进胜等人(2020)通过改变生成器构建适用于图像去雾的生成对抗网络模型。这类方法都是先通过训练大量数据样本用于估计传输图的模型,然后按照传统方法估算大气光后复原清晰的图像。但是,基于机器学习的方法可能会将一些对去雾没有增益的图像特征学习到模型中。有雾图的特征需要高维度地表现出来,冗余的特征会导致训练的模型预测结果有所偏差。此外,该类方法需要大量的数据集支持模型训练。

本文旨在从小样本量数据中尽可能多地提取有效特征,从而获取高质量透射图进行去雾。在对流行算法分析后,采用一种两阶段特征提取策略,提出一种基于两阶段特征和支持向量机(support vector machine,SVM)的单幅图回归去雾算法。具体为:在第1阶段提取图像在RGB颜色空间的最大通道、最小通道、HSV(hue,saturation,value)颜色空间的饱和度以及灰度图的Gabor滤波器在5个频率8个方向的共43个初级特征;在第2阶段对这些初级特征以小窗口滑动局部取最大值、最小值、均值、方差、偏度、峰度和高斯滤波获得二次特征。然后将提取的特征送入支持向量机建模训练,得到特征与透射图之间的关系,从而预测出较为准确的透射率图。最终基于大气散射模型计算出无雾图。实验表明,本文方法仅需要极少量样本,就能获取高质量、稳定的去雾效果,并能适用大多数场景,具有良好的泛化性能。

1 本文去雾算法

1.1 大气散射模型

在去雾研究领域,McCartney和Hall(1977)提出的视觉衰减模型广泛用于描述雾的形成,表达式为

$ \boldsymbol{I}(x)=\boldsymbol{J}(x) \boldsymbol{t}(x)+\boldsymbol{A}(1-\boldsymbol{t}(x)) $ (1)

$ \boldsymbol{t}(x)=\mathrm{e}^{-\beta d(x)} $ (2)

式中,$\mathit{\boldsymbol{I}}$为输入的有雾图,$\mathit{\boldsymbol{I}}\left(x \right)$为位置$x$的像素值,$\mathit{\boldsymbol{A}}$为全局大气光,$\mathit{\boldsymbol{J}}$为待估计的无雾图像,$\mathit{\boldsymbol{t}}\left(x \right)$为光线透过介质的透射率。去雾的目标就是从已知$\mathit{\boldsymbol{I}}\left(x \right)$中估计出大气光$\mathit{\boldsymbol{A}}$与透射率$\mathit{\boldsymbol{t}}\left(x \right)$,从而恢复$\mathit{\boldsymbol{J}}\left(x \right)$。式(1)中的$\mathit{\boldsymbol{J}}\left(x \right)\mathit{\boldsymbol{t}}\left(x \right)$称为直接散射强度,$\mathit{\boldsymbol{A}}\left({1 - \mathit{\boldsymbol{t}}\left(x \right)} \right)$项称为空气光。显然,随着透射率$\mathit{\boldsymbol{t}}\left(x \right)$的增长,空气光的强度减弱,观察到的图像逐步清晰。式(2)中,$β$为大气散射系数,通常为定值,$\mathit{\boldsymbol{d}}\left(x \right)$为场景深度。可见,当$\mathit{\boldsymbol{d}}\left(x \right)$越大时,透射率$\mathit{\boldsymbol{t}}\left(x \right)$越小。

1.2 大气光估计

大气光$\mathit{\boldsymbol{A}}$用于描述场景氛围光,在场景图中是恒定的。在图像去雾中,大部分方法都是预先通过先验假设估计方法估计出大气光$\mathit{\boldsymbol{A}}$Tan(2008)认为有雾的像素点亮度是过饱和的,提出利用这些像素点估计大气光$\mathit{\boldsymbol{A}}$的值。Tarel和Hautière(2009)通过提取有雾图灰度图像的白平衡估计空气光,从而间接估计了大气光和透射率。He等人(2011)提出的暗通道先验算法是效果较好的一种,首先从有雾图的暗通道图中按照亮度的大小取前0.1%的像素点,并认为这些点是构成雾的主要像素点,随后记录这些点在原图中的坐标,最后找出这些坐标对应原图中最亮的点作为大气光。

本文采用He等人(2011)的暗通道方法对大气光进行估计。暗通道先验是指在大部分非天空或者纯白色的局部区域中,某个像素在其RGB通道中总有一个通道的值很低。在有雾图中,构成雾点的RGB值非常相近,雾较多的区域得到的暗通道值很大。据此可以进行大气光估计。对任意图像$\mathit{\boldsymbol{I}}$,其暗通道可以表示为

$ \boldsymbol{I}^{\text {dark }}(x)=\min \limits_{\boldsymbol{y} \in \boldsymbol{\varOmega}(x)}\left\{\min \limits_{c \in\{\mathrm{r}, \mathrm{g}, \mathrm{b}\}} \boldsymbol{I}^{c}(y)\right\} $ (3)

式中,$\mathit{\boldsymbol{ \boldsymbol{\varOmega} }}\left(x \right)$是一个以$x$为中心的局部窗口,$y$为该窗口中的像素点,$c$为彩色图像中的RGB通道之一。在计算出暗通道图$\mathit{\boldsymbol{I}}^{\rm{dark}}$后,选亮度在前0.1%的像素并记录其对应坐标,依据这些坐标在输入图中搜寻出最亮点的像素值作为大气光$\mathit{\boldsymbol{A}}$的值。本文没有选择最大亮度点作为大气光,而是通过对前0.1%的点求均值得出大气光,相比直接使用最亮点可以减少对大气光的误判。

1.3 透射率估计

透射率用于描述光线从拍摄物体到图像捕获设备之间损失的权重。当透射率趋近1时,表明场景中没有介质阻挡光线传播,到达相机的光能没有损耗。当透射率趋近0时,说明场景中尘埃颗粒太多,导致到达相机的光能几乎损耗殆尽,以至捕捉不到场景图像。

透射率的估算方法有多种。He等人(2011)认为暗通道先验同样符合视觉衰减模型,通过对暗通道图进行归一化,可以得出直接散射强度值趋近0,从而反推得到透射率,但得到透射率需进一步细化,耗费了大量时间。Berman等人(2016)在RGB色彩空间中对输入图像聚类,然后从去除大气光之后的每个类别中选取最大2-范数作为该类的最大透射边,类中每个集合元素的2-范数与其所属类别最大透射边的比例作为透射率,最后通过最小二乘法得到精细的透射率,此算法使用的最大透射边为聚合类中含雾量最少的点,最后得出的透射率还是会有偏差,与本文直接估计透射率产生的偏差相比较多。Tang等人(2014)通过提取输入图的饱和度、对比度等特征,并利用随机森林训练得到透射率预测的模型,该方法表明有雾图中提取的一些特征与透射率之间存在相应的映射关系。

现有算法对雾的表达不够鲁棒。Tang等人(2014)只选取了4个低阶图像特征,对雾浓度不敏感,而高维特征对雾点的变化非常敏感。Tang等人(2014)采用随机森林方法预测透射率,但预测效果相比其在分类上的效果差很多,因为随机森林是采用决策树结构设计的,不能对回归问题做出线性输出,而且对噪声不敏感,会使模型过拟合。而雾就是一种常见的图像降质现象,在一幅有雾图中,远景处雾较浓厚,近景处雾较稀薄。在小窗口滤波中,低阶特征对浓雾不是很敏感,需要对其选取高阶特征表现出雾的浓度变化。

本文采用一种两阶段特征提取算法,提取表征每个点$x$的第2阶段特征向量${\mathit{\boldsymbol{F}}_2}\left(x \right)$,然后采用支持向量机得到该特征向量${\mathit{\boldsymbol{F}}_2}\left(x \right)$与透射率$\mathit{\boldsymbol{t}}\left(x \right)$之间的映射关系$T$,数学表达式为

$ \mathit{\boldsymbol{t}}(x) = T({\mathit{\boldsymbol{F}}_2}(x)) $ (4)

1.3.1 两阶段特征提取

图像特征提取是改善去雾效果的主要因素。基于透射率映射的特征学习去雾算法,大部分只考虑颜色空间特征,很少关注有雾图的局部特征,因而会受到一定限制。例如,当图像内部出现大面积颜色相同或相近区域时,仅依赖颜色特征就不够鲁棒。为了增加特征鲁棒性,本文采用基于颜色空间以及局部区域特征的两阶段特征提取。第1阶段从原始图像提取43幅特征图像,第2阶段从这43幅特征图像的每幅特征图像中提取7个局部特征,因此共得到43×7=301维的第2阶段特征,如图 2所示。

图 2 特征提取流程图
Fig. 2 Flow chart of feature extraction

1) 第1阶段特征提取。He等人(2011)提出的暗通道先验能够取得较好的去雾效果。通过观察发现,有雾的地方色彩饱和度较低,而最小通道与最大通道反而呈现较高值。此外,由于盖博滤波器的频率和方向响应与人类的视觉系统类似,是一种可以描述图像纹理信息的有效特征。无雾图像比有雾图像具有更丰富的纹理信息。因此,第1阶段提取色彩饱和度、最小通道、最大通道以及盖博特征分别用于表征雾在颜色及纹理的变化规律。其中,盖博特征包含5个频率和8个方向的特征。因此,本阶段特征共43个,具体表示为

$ \begin{array}{c} \boldsymbol{F}_{1}=\left[\boldsymbol{f}_{1}^{n} \mid n \in\right. \\ \left.\left\{\boldsymbol{m i n}_{c}, {\boldsymbol{max}} _{c}, {\boldsymbol{sat}} , {\boldsymbol{gabor}}_{1}, \cdots, {\boldsymbol{gabor}}_{40}\right\}\right] \end{array} $ (5)

式中,$\mathit{\boldsymbol{mi}}{\mathit{\boldsymbol{n}}_c}$$\mathit{\boldsymbol{ma}}{\mathit{\boldsymbol{x}}_c}$分别表示提取色彩RGB通道的最小值与最大值,$\mathit{\boldsymbol{sat}}$表示提取色彩饱和度,$\mathit{\boldsymbol{gabo}}{\mathit{\boldsymbol{r}}_i}$表示计算图像的第i幅盖博特征。

色彩最小通道和最大通道、特征饱和度${\mathit{\boldsymbol{f}}_1}^{{\rm{sat}}}(\mathit{\boldsymbol{x}})$、盖博特征的计算式分别为

$ {\boldsymbol{f}_{1}}^{min _{c}}(x)=\min \limits_{c \in\{\mathrm{r}, \mathrm{g}, \mathrm{b}\}} \boldsymbol{I}^{c}(x) $ (6)

$ {\boldsymbol{f}_{1}}^{max _{c}}(x)=\max \limits_{c \in\{\mathrm{r}, \mathrm{g}, \mathrm{b}\}} \boldsymbol{I}^{c}(x) $ (7)

$ {\boldsymbol{f}_{1}}^{s a t}(x)=1-\frac{{\boldsymbol{f}_{1}}^{\min _{c}}(x)}{{\boldsymbol{f}_{1}}^{\max _{c}}(x)} $ (8)

$ {\boldsymbol{f}_{1}}^{ {gabor }_{i}}(x)=\boldsymbol{I}(x) * \boldsymbol{g a b o r}_{i}(x) $ (9)

式(6)和式(7)中,${\mathit{\boldsymbol{I}}^c}\left(x \right)$为原始彩色图像的$c$通道图。式(9)中,$\mathit{\boldsymbol{gabo}}{\mathit{\boldsymbol{r}}_i}\left(x \right)$指第$i$个盖博卷积核,$i$= 1, …, 40。第$i$个盖博卷积核的计算式为

$ \begin{array}{c} g(s, t ; \lambda, \theta, \psi, \sigma, \gamma)= \\ \exp \left(-\frac{u^{2}+\gamma^{2} v^{2}}{2 \sigma^{2}}\right) \cos \left(2 {\rm{ \mathsf{ π}}} \frac{u}{\lambda}+\psi\right) \end{array} $ (10)

$ u=s \cos \theta+r \sin \theta $ (11)

$ v=-s \sin \theta+r \cos \theta $ (12)

式中,$s$$r$分别为坐标$x$的横纵分量;$λ$是波长参数,通常取5个尺度,取值一般大于等于2且小于图像尺寸的0.2倍;$θ$为滤波方向,通常取8个方向,取值在0~360°之间;$ψ$是相位偏移参数,取值在-180~180°之间;$σ$为高斯因子标准差,通常设置为0.5倍的波长;$γ$为空间纵横比,本文设置的窗口均为正方形,所以该值设置为1。

2) 第2阶段特征提取。局部特征对透射率的估计至关重要。在局部块内,透射率可以认为是不变的,许多去雾算法基于该假设获得了较好的去雾效果。因此,第2阶段基于局部块进一步提取特征。具体为在局部窗口计算第1阶段特征的最大值、最小值、均值、方差、偏度、峰度以及高斯滤波值,即每幅第1阶段特征图可以得到7幅特征图,即每个点有7维特征,具体表示为

$ \begin{array}{*{20}{c}} {{\mathit{\boldsymbol{F}}_2} = }\\ {\left[ {\begin{array}{*{20}{l}} {{\mathit{\boldsymbol{f}}_2}^{m,n}} \end{array}\mid \begin{array}{*{20}{l}} {m \in \{ \mathit{\boldsymbol{min}},\mathit{\boldsymbol{max}},{\rm{ }}\mathit{\boldsymbol{avg}}{\rm{ }},{\rm{ }}\mathit{\boldsymbol{std}}{\rm{ }},{\rm{ }}\mathit{\boldsymbol{ske}}{\rm{ }},{\rm{ }}\mathit{\boldsymbol{kur}}{\rm{ }},{\rm{ }}\mathit{\boldsymbol{gau}}{\rm{ }}\} }\\ {n \in \left\{ {\mathit{\boldsymbol{mi}}{\mathit{\boldsymbol{n}}_c},\mathit{\boldsymbol{ma}}{\mathit{\boldsymbol{x}}_c},{\rm{ }}\mathit{\boldsymbol{sat}}{\rm{ }},{\rm{ }}\mathit{\boldsymbol{gabor}}{{\rm{ }}_1}, \cdots ,{\rm{ }}\mathit{\boldsymbol{gabor}}{{\rm{ }}_{40}}} \right\}} \end{array}} \right]} \end{array} $ (13)

式中,$\mathit{\boldsymbol{min}}、\mathit{\boldsymbol{max}}、\mathit{\boldsymbol{avg}}、\mathit{\boldsymbol{std}}、\mathit{\boldsymbol{ske}}、\mathit{\boldsymbol{kur}}$$\mathit{\boldsymbol{gau}}$分别表示在当前窗口内计算最小值、最大值、均值、方差、偏度、峰度和高斯卷积值,所有这些计算操作都是在以$x$为中心的局部窗口内进行的。

具体地,在局部窗口内,最小值$\mathit{\boldsymbol{f}}_2^{\mathit{min}, n}$($x$)、最大值$\mathit{\boldsymbol{f}}_2^{\mathit{max}, n}$($x$)、均值特征$\mathit{\boldsymbol{f}}_2^{\mathit{avg}, n}$($x$)、方差特征$\mathit{\boldsymbol{f}}_2^{\mathit{std}, n}$($x$)、偏度$\mathit{\boldsymbol{f}}_2^{\mathit{ske}, n}$($x$)、峰度特征值$\mathit{\boldsymbol{f}}_2^{\mathit{kur}, n}$($x$)和高斯滤波特征$\mathit{\boldsymbol{f}}_2^{\mathit{gau}, n}$($x$)的计算式分别为

$ \boldsymbol{f}_{2}^{min , n}(x)=\min \limits_{\boldsymbol{y} \in \boldsymbol{\varOmega}(x)}\left(\boldsymbol{f}_{1}^{n}(y)\right) $ (14)

$ \boldsymbol{f}_{2}^{max , n}(x)=\max \limits_{y \in \boldsymbol{\varOmega}(x)}\left(\boldsymbol{f}_{1}^{n}(y)\right) $ (15)

$ \boldsymbol{f}_{2}^{a v g, n}(x)=\frac{1}{|\boldsymbol{\varOmega}(x)|} \sum\limits_{y \in \boldsymbol{\varOmega}(x)} \boldsymbol{f}_{1}^{n}(y) $ (16)

$ \boldsymbol{f}_{2}^{s t d, n}(x)=\frac{1}{|\boldsymbol{\varOmega}(x)|} \sum\limits_{y \in \boldsymbol{\varOmega}(x)}\left[\boldsymbol{f}_{1}^{n}(y)-\boldsymbol{f}_{2}^{a d g, n}(x)\right]^{2} $ (17)

$ \boldsymbol{f}_{2}^{ {ske }, n}(x)=\frac{\frac{1}{|\boldsymbol{\varOmega}(x)|} \sum\limits_{y \in \boldsymbol{\varOmega}(x)}\left[\boldsymbol{f}_{1}^{n}(y)-\boldsymbol{f}_{2}^{a v g, n}(x)\right]^{3}}{\left[\boldsymbol{f}_{2}^{s t d, n}(x)\right]^{3 / 2}} $ (18)

$ \begin{array}{*{20}{c}} {\qquad \begin{array}{*{20}{c}} {{\mathit{\boldsymbol{f}}_2}^{kur,n}(x) = }\\ {\frac{{\frac{1}{{\left| {\mathit{\boldsymbol{\varOmega }}(x)} \right|}}\sum\limits_{y \in \mathit{\boldsymbol{\varOmega }}(x)} {{{\left[ {\mathit{\boldsymbol{f}}_1^n(y) - \mathit{\boldsymbol{f}}_2^{avg,n}(x)} \right]}^4}} }}{{{{\left[ {\mathit{\boldsymbol{f}}_2^{std,n}(x)} \right]}^2}}}} \end{array}} \end{array} $ (19)

$ \boldsymbol{f}_{2}^{g a u, n}(x)=\boldsymbol{f}_{1}^{n}(x) * \boldsymbol{g}(x) $ (20)

式(16)中,|$\mathit{\boldsymbol{ \boldsymbol{\varOmega} }}\left(x \right)$|表示局部窗口的像素个数。式(20)中,$\mathit{\boldsymbol{g}}\left(x \right)$为高斯核函数。高斯滤波特征$\mathit{\boldsymbol{f}}_2^{\mathit{gau}, n}$($x$)以当前像素值为重点保留对象,同时保留周边像素值的部分信息,对判断该点是否为雾点有重要意义。

第2阶段提取的局部窗口内的均值、最大值和最小值会随着雾的强度增加而变大,而方差会随着雾的强度增加而变小。偏度特征用于反映该窗口内部像素值总体水平的偏向。若该值大于其中的中位数,则大部分像素值较高,说明该块内部雾的强度较大,反之亦然。峰度特征能够捕获该区域内像素值在均值水平变化的程度,峰度越高,该窗口内像素值之间的差异越大,该区域内雾的强度就越低。高斯滤波特征能够进一步保留该区域一部分相似的像素值。

1.3.2 特征与透射率回归

支持向量机(SVM)是一种二元监督学习算法,后来迅速发展成为多元分类、多元回归的一种监督学习算法。在图像处理领域,支持向量机广泛应用于统计分类和回归分析。由于SVM仅需使用少量数据就可以获得很好的训练模型,特别适合训练样本不足的场合,因此本文采用SVM学习图像特征向量${\mathit{\boldsymbol{F}}_2}\left(x \right)$和透射率图$\mathit{\boldsymbol{t}}\left(x \right)$之间的回归映射关系$T$。SVM包含了用于分类的SVC(support vector classification)和用于回归的SVR(support vector regression)。

采用映射函数$T$实现${\mathit{\boldsymbol{F}}_2}\left(x \right)$与透射率图$\mathit{\boldsymbol{t}}\left(x \right)$之间的映射,映射函数$T$可以是logistic回归方法等机器学习算法。由于SVR对需要的训练数据集要求较低且回归性能较好,因此本文采用SVR训练得到一个模型$T$。一旦训练得到了映射模型,就可以利用这个模型对任意输入有雾图预测透射率。

1.3.3 引导滤波

引导滤波是He等人(2013)提出的一种图像滤波算法。该算法与双边滤波类似,可以保留图像的边缘信息,但原理与双边滤波不同。引导滤波在使用时需要用到引导图像,该图像可以是原图本身,或者是与原图结构相似的图像。引导滤波可用于降噪、细节平滑、HDR(high dynamic range)压缩、抠图、去雾以及联合采样等领域。在去雾算法中,引导滤波广泛用于透射率图的优化。李喆等人(2019)对引导滤波进行改进,使用自适应加权方式的引导滤波对透射率图进行精化,设想在局部窗口内引导图与输出图之间存在一种线性模型,对吸收粗糙透射率图的精华有很好效果。本文采用引导滤波对透射率图像进行降噪处理,以保证最后输出的透射率图噪声较少。

1.4 无雾图像恢复

由训练所得的回归模型预测透射率图后,进一步使用引导滤波对其进行精化。依据式(1)可得无雾图像恢复公式,具体为

$ \mathit{\boldsymbol{J}}(x) = \frac{{\mathit{\boldsymbol{I}}(x) - \mathit{\boldsymbol{A}}}}{{{\rm{max}}(0.1,\mathit{\boldsymbol{t}}(x))}} + \mathit{\boldsymbol{A}} $ (21)

式中,$\mathit{\boldsymbol{A}}$$\mathit{\boldsymbol{t}}\left(x \right)$已经在之前的步骤估算得出,$\mathit{\boldsymbol{I}}$($x$)为已知无雾图像。max操作为取最大值操作,用于防止$\mathit{\boldsymbol{t}}\left(x \right)$为负以及除数为0的情况。阈值设置为0.1,防止透射率过小导致$\mathit{\boldsymbol{J}}$($x$)值过大而使图像泛白。

2 实验及分析

2.1 软硬件配置

实验采用的硬件配置为英特尔酷睿i7-4710 hq CPU,伟达gtx965 m板载显卡,2 × 8 GB双通道内存。操作系统以及编程软件为Windows 10教育版、MATLAB R2016a。

2.2 训练和测试数据集

实验数据集采用美国纽约大学深度图像数据库NYU(New York University) Depth V1(Silberman和Fergus,2011)、美国布朗大学图像数据库FRIDA(Foggy Road Image Database)(Tarel等,2010)及一些流行算法中的图像。其中,训练数据集包含随机从纽约大学深度图像数据库的数据集1中选取的50幅图像、从布朗大学图像数据集1中选取的10幅图像、数据集2中选取的40幅图像,共100幅图像。由于需要对每幅图像的每个像素提取特征,这样会产生海量的训练数据。因此使用100幅训练图像训练模型已经足够。根据式(1)和式(2)分别生成这100幅图像的有雾图和透射率真值图。训练图像包含室内图像和室外模拟图像,比较有代表性,图 3展示了部分用于训练的图像及对应的透射率图。在实验中,对支持向量机需要的数据集也进行了测试。

图 3 训练集中部分样本示例
Fig. 3 Some images of the training dataset
((a) indoor hazy images and corresponding transmission maps; (b) outdoor hazy images and corresponding transmission maps)

测试数据集由59幅有雾图像构成。为了公平地进行本文算法与流行算法的对比实验,从对比算法中的自然有雾图中选取34幅图像,其中包含2幅人工合成的图像。其余25幅图像随机选自于纽约大学深度图像数据库和布朗大学数据集。

2.3 算法实现

本文的编程代码为MATLAB。MATLAB有很多优点,易读性较强,且对各种图像处理工具包都集成在内部。本文算法的伪代码如下:

1) 特征提取模块

feature(input)//提取特征, input为输入图

$\mathit{\boldsymbol{F}}_1^1$←计算最小通道(input)

$\mathit{\boldsymbol{F}}_2^1$←计算最大通道(input)

$\mathit{\boldsymbol{F}}_3^1$←计算饱和度(input)

for $i$←1 to gabor卷积核//40个卷积核

$\mathit{\boldsymbol{F}}_{i + 3}^1$←计算当前卷积核的特征图(input)

end

for $i$←1 to 43

$\mathit{\boldsymbol{F}}_i^2$←计算7种滤波($\mathit{\boldsymbol{F}}_i^1$) {包含最大值、最小值、均值、方差、峰度、偏度以及高斯滤波}

end

return ${\mathit{\boldsymbol{F}}_2}$//301个通道特征图

2) 训练过程

train(data, label)//data为训练数据, label为标签

for $i$←1 to data//100幅

${\mathit{\boldsymbol{F}}_2}$←feature(${\rm{dat}}{{\rm{a}}_i}$)//提取第$i$幅图像特征

model←train_one(${\rm{label}}{{\rm{a}}_i}$, ${\mathit{\boldsymbol{F}}_2}$)//对应标签训练

end

return model//返回模型

3) 测试过程

test($\mathit{\boldsymbol{I}}$)// $\mathit{\boldsymbol{I}}$为输入图像

$\mathit{\boldsymbol{A}}$←暗通道计算($\mathit{\boldsymbol{I}}$)//计算大气光

${\mathit{\boldsymbol{F}}_2}$←提取特征($\mathit{\boldsymbol{I}}$)//提取特征

$\mathit{\boldsymbol{t}}$←predict_one(${\mathit{\boldsymbol{F}}_2}$, model)//预测$\mathit{\boldsymbol{t}}$

$\mathit{\boldsymbol{t}}$←引导滤波($\mathit{\boldsymbol{t}}$)

$\mathit{\boldsymbol{J}}$←($\mathit{\boldsymbol{I}}$-$\mathit{\boldsymbol{A}}$)/max(0.1, t)+$\mathit{\boldsymbol{A}}$

return $\mathit{\boldsymbol{J}}$ //$\mathit{\boldsymbol{J}}$为去雾后的输出图像

2.4 特征提取和参数设置

提取的特征数值需要归一化,以便消除不同特征的量纲差异。在预测阶段,以同样的方式提取目标有雾图的特征图并转换为向量,因为其数据可能计算出异常值且要保持预测得到的透射率图的完整性,所以此处将异常结果置为0,以方便模型预测出完整透射率图。依据实验部分的平均梯度(average gradient,AG)、峰值信噪比(peak signal to noise ratio,PSNR)和结构相似性(structural similarity index,SSIM)等客观评价指标,特征提取的局部窗口大小为7 × 7时效果最好。因为窗口过大会导致图像边缘产生明显的光晕现象,窗口过小又会使提取的特征信息量不足影响训练和学习效果。特征向量组的采样使用的步长为7,通过式(1)和式(2)生成的有雾图像中,大气光的3通道取值均在0.8~1.0之间随机生成,大气散射系数在0.1~0.5之间随机生成。在实验测试结果图像中,增加了0.3的亮度,以防止图像过暗。本文使用Chih-Jen Lin开发的支持向量机库libsvm(https://www.csie.ntu.edu.tw/~cjlin/libsvm)。

2.5 实验结果及分析

为验证本文算法的性能,与CAP(color attenuation prior)(Zhu等,2015)、Dehaze-Net(Cai等,2016)、多尺度卷积神经网络(multi scale convolutional neural network,MSCNN)(Ren等,2016)、FogDensity(Choi等,2015)和CEP(color ellipsoid prior)(Bui和Kim,2018)等5种性能较好的去雾算法进行对比实验。其中,CEP算法由本文根据原作者的描述实现,其他算法均采用原作者公开的源程序。本文算法源程序及训练所得模型均可从网上获取(http://staff.ustc.edu.cn/~yfn/index.html)。

自然有雾图去雾实验对比结果如图 4所示。可以看出,CAP方法会出现边缘光晕等现象,这是由局部取块造成的,尽管后期使用了引导滤波精细化透射率图,还是无法避免出现较多的光晕。DehazeNet和MSCNN虽然没有出现光晕,但去雾力度还需要进一步加强。相比本文方法,这两种去雾方法的效果稍微逊色。FogDensity去雾结果产生了严重的颜色扭曲,图像整体偏暗。CEP去雾的效果良好,但存在一定的色彩扭曲。本文算法去雾效果良好,且保证了无边缘光晕、颜色扭曲等现象。如图 4(g)所示,第1行树林图像去雾效果在薄雾处较好,在中间雾较浓处力度不够,但可以看出边缘细节。第2行可以清楚地看到故宫边缘和人物衣服边缘。第3行可清晰地看到天安门广场右下角的房子,房子的去雾力度较大,图像更接近自然。

图 4 自然有雾图去雾效果对比
Fig. 4 Comparisons of defogged results on natural images using different algorithms
((a)hazy images; (b)CAP; (c)DehazeNet; (d)MSCNN; (e)FogDensity; (f)CEP; (g)ours)

图 5展示了本文算法和对比算法在纽约大学数据集人工合成有雾图上的去雾结果。可以看出,CAP在人工有雾图的结果上效果较差,所有结果几乎泛白。DehazeNet、MSCNN和本文方法的效果较好。FogDensity和CEP相比于真值图,存在不真实的效果以及色彩扭曲等情况。

图 5 纽约大学数据集人工合成有雾图去雾效果对比
Fig. 5 Comparisons of defogged results on the NYU Depth V1 synthetic fog dataset
((a) hazy images; (b)CAP; (c)DehazeNet; (d)MSCNN; (e)FogDensity; (f)CEP; (g)ours; (h)ground truth)

在布朗大学数据集生成有雾图上的去雾对比实验结果如图 6所示。可以看出,CAP基本没有去雾效果,DehazeNet和CEP的去雾结果过度变暗,本文方法的结果虽然在某些小细节上有色彩扭曲,但更接近真值图。

图 6 布朗大学数据集人工合成有雾图去雾效果对比
Fig. 6 Comparisons of defogged results on the FRIDA synthetic fog dataset of Brown University
((a)hazy images; (b)CAP; (c)DehazeNet; (d)MSCNN; (e)FogDensity; (f)CEP; (g)ours; (h)ground truth)

在同一幅图像中,雾的强度随场景深度的增加而增加,如图 7所示,在场景深处与近处,去雾效果有很大差别。有些算法在近景处的去雾效果不及在远景处的效果,而有的算法则相反,在远景处的效果优于近景处。对较远处的小块,FogDensity和CEP的效果几乎呈绿色,DehazeNet则泛白,本文算法与CAP算法保留的细节相对较多且颜色没有发生扭曲,MSCNN在颜色上稍微偏绿。对近处的小块,DehazeNet可以获得很好的效果且保留了较多细节,本文算法效果稍微泛白,MSCNN与CAP的效果在近处相似,但MSCNN在远处则呈现出更绿情况,而CAP在远处细节与本文算法效果相似,FogDensity与CEP则丢失了一些细节,因为二者都有色彩扭曲情况,导致整幅图像局部都会出现颜色过暗、色彩过饱和的现象。显然,本文算法无论在场景深处还是近处都取得了不错的去雾效果。

图 7 不同雾强度的去雾效果对比图
Fig. 7 Comparisons of defogged results under different fog densities
((a)CAP; (b)DehazeNet; (c)MSCNN; (d)FogDensity; (e)CEP; (f)ours)

为弥补主观比较与分析的不足,本文进一步采用评价指标客观评估提出的方法。首先将测试集上的去雾效果图转换为灰度图像;然后采用平均梯度(AG)、峰值信噪比(PSNR)和结构相似性(SSIM)等评价指标展开评估。

平均梯度(AG)是指图像像素梯度幅值的平均值。平均梯度值越大,说明该图像表现出的细节成分越多;平均梯度值越小,说明该图像细节成分越少。计算为

$ A G=\frac{1}{W H} \sum\limits_{h=1}^{H} \sum\limits_{w=1}^{W} \sqrt{\left(\frac{\partial \boldsymbol{I}(w, h)}{\partial w}\right)^{2}+\left(\frac{\partial \boldsymbol{I}(w, h)}{\partial h}\right)^{2}} $ (22)

式中,$W$$H$分别是图像的长和宽。

图像峰值信噪比(PSNR)常用于衡量有雾图像和去雾后图像之间的差异。比值越大,表明图像信息保存越完整。计算为

$ P S N R=10 \times \lg \left(\frac{\left(2^{k}-1\right)^{2}}{M S E}\right) $ (23)

式中,$MSE$是两幅大小相同的图像逐像素均方差,$k$为图像深度位数。

图像结构相似性(SSIM)用于描述两幅图像之间的结构相似程度,取值范围在0~1之间。取值为1时,表明两幅图像结构完全一致。计算为

$ S S I M=\frac{\left(2 \mu_{a} \mu_{b}+c_{1}\right)\left(2 \sigma_{a b}+c_{2}\right)}{\left(\mu_{a}^{2}+\mu_{b}^{2}+c_{1}\right)\left(\sigma_{a}^{2}+\sigma_{b}^{2}+c_{2}\right)} $ (24)

式中,$\mathit{\boldsymbol{a}}$$\mathit{\boldsymbol{b}}$为两幅同样大小的图像,${\mu _a}$${\mu _b}$分别为图像$\mathit{\boldsymbol{a}}$$\mathit{\boldsymbol{b}}$的均值,${c_1}$${c_2}$是稳定系数,$\delta _a^2$$\delta _b^2$分别是图像$\mathit{\boldsymbol{a}}$$\mathit{\boldsymbol{b}}$的方差,${\delta _{ab}}$为图像$\mathit{\boldsymbol{a}}$$\mathit{\boldsymbol{b}}$的协方差。

本文计算了纽约大学数据集和布朗大学数据集的测试集中的上述3种指标,如表 1所示。可以看出,在基于深度学习的方法中,本文方法的AG指标最高、PSNR指标处于中等水平、SSIM指标上与MSCNN方法较接近,说明在这两个数据集上,本文方法具有保留更多细节的优势,与原图相比,没有丢失太多的结构信息。

表 1 不同算法的客观评价指标对比
Table 1 Comparisons of objective metrics among different methods

下载CSV
方法 AG PSNR/dB SSIM
CAP 3.466 9.998 0.738
DehazeNet 4.286 16.642 0.747
MSCNN 3.799 20.283 0.893
FogDensity 3.905 17.141 0.767
CEP 3.678 13.226 0.584
本文 4.475 18.150 0.867
注:加粗字体表示每列最优结果。

图像细节是表示图像特征信息的重要指标,通常采用图像边缘信息描述图像细节的强度。为了对比去雾后的细节信息,本文采用Canny算子计算图像对应的二值细节纹理特征图。其中,特征图中值为1的点表示图像在该处具有纹理特征。统计结果为该图像中具有纹理特征点的个数,如表 2表 3所示,其中每列为一幅不同的图像。

表 2 部分合成图像细节对比
Table 2 Comparisons of details for some synthetized images

下载CSV
方法 纹理特征点/个
图像1 图像2 图像3 图像4 图像5 图像6 图像7 图像8 图像9 图像10 图像11
真值图 21 883 23 732 32 449 34 025 36 579 25 730 24 744 24 330 21 908 20 427 22 245
CAP 21 749 21 981 30 408 22 239 25 456 28 476 28 000 24 957 23 834 21 307 22 438
DehazeNet 21 116 22 837 33 179 30 119 35 364 26 793 26 100 25 498 22 507 20 719 22 247
MSCNN 18 542 27 169 31 214 31 142 36 465 25 056 28 053 23 055 22 058 20 481 20 448
FogDensity 23 207 24 292 28 172 29 452 32 184 23 849 21 123 22 969 22 342 21 700 22 991
CEP 38 573 27 805 28 219 31 478 33 962 25 027 20 699 22 191 20 059 20 009 18 783
本文 21 278 27 338 35 388 33 169 37 350 28 478 29 272 26 200 20 412 22 607 24 059
注:加粗字体表示每列最优结果。

表 3 部分自然图像细节对比
Table 3 Comparisons of details for some natural images

下载CSV
方法 纹理特征点/个
图像1 图像2 图像3 图像4 图像5 图像6
原雾图 36 067 18 436 15 495 33 104 34 781 67 328
CAP 36 929 19 024 18 137 36 133 36 592 66 406
DehazeNet 35 815 18 942 17 360 31 189 36 303 67 298
MSCNN 37 688 18 733 17 671 36 000 38 338 65 431
FogDensity 35 919 17 957 17 911 31 275 37 440 61 795
CEP 32 925 18 878 18 090 29 414 30 671 60 176
本文 35 535 19 313 17 671 34 109 38 697 68 152
注:加粗字体表示每列最优结果。

图像的色调信息也是一项重要指标。本文对恢复图像灰度图的亮度与对比度进行计算,并与对比算法进行比较,如图 8所示。计算的亮度和对比度都是各算法在所有自然测试雾图结果的平均值。亮度越高,说明图中的雾保留越多;对比度越高,说明图中含雾越少。本文算法指标上均处于中上水平。

图 8 亮度与对比度比较图
Fig. 8 Comparison of brightness and contrast

运行时间也是算法评价指标之一。本文算法在算法运行时间上弱于其他算法,这是将来工作需要改进之处。通过采用编程优化、硬件加速等方式,可以提高本文算法的运算速度。

3 结论

本文通过梳理传统先验算法与基于机器学习的去雾算法,提出了一种基于两阶段特征的小样本训练算法,用于估计透射率图,从而实现图像去雾的方法。首先将提取的盖博等初级特征作为第1阶段特征,然后在第2阶段提取图像局部窗口的方差、峰度和偏度等特征,采用SVM模型进行训练。显然,第2阶段提取的特征对雾更具有表征能力。随着雾浓度的变化,特征数值的变化更为显著。为验证算法性能,进行了大量实验。实验数据包括一半模拟生成的室外远景图和一半是室内人工合成的有雾图,二者在图像数据上对称。

本文方法通过提取对雾敏感的两阶段特征,采用支持向量机训练出很好的预测模型,预测所得的透射率图精密准确。相较其他机器学习方法,本文方法去雾效果优势明显,并且能够较好地推广到实际应用中。

参考文献

  • Ancuti C O, Ancuti C, Hermans C and Bekaert P. 2010. A fast semi-inverse approach to detect and remove the haze from a single image//Proceedings of the 10th Asian Conference on Computer Vision. Queenstown, New Zealand: Springer: 501-514[DOI: 10.1007/978-3-642-19309-5_39]
  • Berman D, Treibitz T and Avidan S. 2016. Non-local image dehazing//Proceedings of 2016 IEEE Conference on Computer Vision and Pattern Recognition. Las Vegas, USA: IEEE: 1674-1682[DOI: 10.1109/CVPR.2016.185]
  • Bui T M, Kim W. 2018. Single image dehazing using color ellipsoid prior. IEEE Transactions on Image Processing, 27(2): 999-1009 [DOI:10.1109/TIP.2017.2771158]
  • Cai B L, Xu X M, Jia K, Qing C, Tao D. 2016. DehazeNet: an end-to-end system for single image haze removal. IEEE Transactions on Image Processing, 25(11): 5187-5198 [DOI:10.1109/TIP.2016.2598681]
  • Choi L K, You J, Bovik A C. 2015. Referenceless prediction of perceptual fog density and perceptual image defogging. IEEE Transactions on Image Processing, 24(11): 3888-3901 [DOI:10.1109/tip.2015.2456502]
  • Fattal R. 2008. Single image dehazing. ACM Transactions on Graphics, 27(3): 1-9 [DOI:10.1145/1399504.1360671]
  • Fattal R. 2014. Dehazing using color-lines. ACM Transactions on Graphics, 34(1): 1-14 [DOI:10.1145/2651362]
  • Gibson K B and Nguyen T Q. 2013. Fast single image fog removal using the adaptive wiener filter//Proceedings of 2013 IEEE International Conference on Image Processing. Melbourne, Australia: IEEE: 714-718[DOI: 10.1109/ICIP.2013.6738147]
  • Gibson K B, Vo D T, Nguyen T Q. 2012. An investigation of dehazing effects on image and video coding. IEEE Transactions on Image Processing, 21(2): 662-673 [DOI:10.1109/TIP.2011.2166968]
  • Guo J M, Syue J Y, Radzicki V R, Lee H. 2017. An efficient fusion-based defogging. IEEE Transactions on Image Processing, 26(9): 4217-4228 [DOI:10.1109/TIP.2017.2706526]
  • He K M, Sun J, Tang X O. 2011. Single image haze removal using dark channel prior. IEEE Transactions on Pattern Analysis and Machine Intelligence, 33(12): 2341-2353 [DOI:10.1109/TPAMI.2010.168]
  • He K M, Sun J, Tang X O. 2013. Guided image filtering. IEEE Transactions on Pattern Analysis and Machine Intelligence, 35(6): 1397-1409 [DOI:10.1109/TPAMI.2012.213]
  • Li R D, Pan J S, Li Z C and Tang J H. 2018. Single image dehazing via conditional generative adversarial network//Proceedings of 2018 IEEE/CVF Conference on Computer Vision and Pattern Recognition. Salt Lake City, USA: IEEE: 8202-8211[DOI: 10.1109/CVPR.2018.00856]
  • Li Z, Li J Z, Hu Y J, Zhang Y. 2019. Mixed prior and weighted guided filter image dehazing algorithm. Journal of Image and Graphics, 24(2): 170-179 (李喆, 李建增, 胡永江, 张岩. 2019. 混合先验与加权引导滤波的图像去雾算法. 中国图象图形学报, 24(2): 170-179) [DOI:10.11834/jig.180450]
  • Li Z G, Zheng J H. 2018. Single image de-hazing using globally guided image filtering. IEEE Transactions on Image Processing, 27(1): 442-450 [DOI:10.1109/TIP.2017.2750418]
  • Liu W J, Bai W S, Qu H C, Zhao Q G. 2019. Image dehazing based on GF-MSRCR and dark channel prior. Journal of Image and Graphics, 24(11): 1893-1905 (刘万军, 白宛司, 曲海成, 赵庆国. 2019. 融合GF-MSRCR和暗通道先验的图像去雾. 中国图象图形学报, 24(11): 1893-1905) [DOI:10.11834/jig.190089]
  • McCartney E J, Hall Jr F F. 1977. Optics of the atmosphere: scattering by molecules and particles. Physics Today, 30(5): 76-77 [DOI:10.1063/1.3037551]
  • Meng G F, Wang Y, Duan J Y, Xiang S M and Pan C H. 2013. Efficient image dehazing with boundary constraint and contextual regularization//Proceedings of 2013 IEEE International Conference on Computer Vision. Sydney, Australia: IEEE: 617-624[DOI: 10.1109/ICCV.2013.82]
  • Ren W Q, Liu S, Zhang H, Pan J S, Cao X C and Yang M H. 2016. Single image dehazing via multi-scale convolutional neural networks//Proceedings of the 14th European Conference on Computer Vision. Amsterdam, the Netherlands: Springer: 154-169[DOI: 10.1007/978-3-319-46475-6_10]
  • Santra S, Mondal R, Chanda B. 2018. Learning a patch quality comparator for single image dehazing. IEEE Transactions on Image Processing, 27(9): 4598-4607 [DOI:10.1109/TIP.2018.2841198]
  • Silberman N and Fergus R. 2011. Indoor scene segmentation using a structured light sensor//Proceedings of 2011 IEEE International Conference on Computer Vision Workshops. Barcelona, Spain: IEEE: 601-608[DOI: 10.1109/ICCVW.2011.6130298]
  • Tan R T. 2008. Visibility in bad weather from a single image//Proceedings of 2008 IEEE Conference on Computer Vision and Pattern Recognition. Anchorage, USA: IEEE: 1-8[DOI: 10.1109/CVPR.2008.4587643]
  • Tang K T, Yang J C and Wang J. 2014. Investigating haze-relevant features in a learning framework for image dehazing//Proceedings of 2014 IEEE Conference on Computer Vision and Pattern Recognition. Columbus, USA: IEEE: 2995-3002[DOI: 10.1109/CVPR.2014.383]
  • Tarel J P and Hautière N. 2009. Fast visibility restoration from a single color or gray level image//Proceedings of the 12th IEEE International Conference on Computer Vision. Kyoto, Japan: IEEE: 2201-2208[DOI: 10.1109/ICCV.2009.5459251]
  • Tarel J P, Hautière N, Cord A, Gruyer D and Halmaoui H. 2010. Improved visibility of road scene images under heterogeneous fog//Proceedings of 2010 IEEE Intelligent Vehicles Symposium. San Diego, USA: IEEE: 478-485[DOI: 10.1109/IVS.2010.5548128]
  • Tripathi A K and Mukhopadhyay S. 2012. Single image fog removal using bilateral filter//Proceedings of 2012 IEEE International Conference on Signal Processing, Computing and Control. Waknaghat Solan, India: IEEE: 1-6[DOI: 10.1109/ISPCC.2012.6224342]
  • Wang J B, Lu K, Xue J, He N, Ling S. 2018. Single image dehazing based on the physical model and MSRCR algorithm. IEEE Transactions on Circuits and Systems for Video Technology, 28(9): 2190-2199 [DOI:10.1109/TCSVT.2017.2728822]
  • Wang P, Zhang Y F, Bao F X, Du H W, Zhang C M. 2018. Multivariate optimized haze removal method based on hazy image degradation model. Journal of Image and Graphics, 23(4): 605-616 (王平, 张云峰, 包芳勋, 杜宏伟, 张彩明. 2018. 基于雾天图像降质模型的优化去雾方法. 中国图象图形学报, 23(4): 605-616) [DOI:10.11834/jig.170358]
  • Xiao J S, Shen M Y, Lei J F, Xiong W X, Jiao C K. 2020. Image conversion algorithm for haze scene based on generative adversarial networks. Chinese Journal of Computers, 43(1): 165-176 (肖进胜, 申梦瑶, 雷俊锋, 熊闻心, 焦陈坤. 2020. 基于生成对抗网络的雾霾场景图像转换算法. 计算机学报, 43(1): 165-176) [DOI:10.11897/SP.J.1016.2020.00165]
  • Zeng J X, Yu Y L. 2017. Image defogging and edge preserving algorithm based on dark channel prior and bilateral filtering. Journal of Image and Graphics, 22(2): 147-153 (曾接贤, 余永龙. 2017. 双边滤波与暗通道结合的图像保边去雾算法. 中国图象图形学报, 22(2): 147-153) [DOI:10.11834/jig.20170201]
  • Zhu Q S, Mai J M, Shao L. 2015. A fast single image haze removal algorithm using color attenuation prior. IEEE Transactions on Image Processing, 24(11): 3522-3533 [DOI:10.1109/TIP.2015.2446191]