结合自适应高斯滤波的单幅图像去雾方法
张晨光, 史伟光, 毕长浩
天津工业大学 电子与信息工程学院,天津 300387
通信作者:史伟光(1985-),男,黑龙江人,博士,讲师,主要研究方向:通信信息系统.E-mail:shiweiguang12345@126.com.cn.

作者简介:张晨光(1988-),女,天津人,硕士,助教,主要研究方向:智能信息处理,计算机图形学.E-mail:zhangchenguang_123@126.con.

摘要

传统图像去雾方法中基于景深局部相似性假设来估计场景透射率时,因无法适应景深突变而在其边缘处出现偏移,严重影响去雾效果.为此,提出了一种结合自适应高斯滤波的单幅图像去雾方法.首先,为简化参数的估计,对大气散射模型进行改进,将场景透射率的估计等效为附加大气光的估计,综合利用邻域内像素点的空间邻近度和景深边界信息构建自适应高斯滤波器,对附加大气光进行细化操作.然后,引用四叉树分割理论估计大气光强度,进而恢复场景反射光.最后,将该去雾方法与传统方法进行对比分析.实验结果表明,该方法能有效去除图像中的雾霾,消除景深突变处的Halo,保持图像整体亮度平衡,对图像细节信息的复原也取得了不错的效果,从根本上提高了图像的可视性.

关键词: 图像去雾; 大气散射; 景深; 自适应滤波; 附加大气光
中图分类号:TP391.4 文献标志码:A 文章编号:0258-7971(2017)03-0369-07
Single image dehazing with an adaptive gauss filter
ZHANG Chen-guang, SHI Wei-guang, BI Chang-hao
School of Electronics and Information Engineering,Tianjin Polytechnic University,Tianjin 300387,China
Abstract

A novel single image dehazing method with an adaptive gauss filter is proposed to solve the problem in the traditional method that when the medium scene transmission is estimated under the assumption that neighbouring pixels have similar depth,it often leads to a undesirable shift on the depth edge in image dehazing and serious influence to the dehazing effect.Firstly,to simplify the parameter estimates,an improved atmospheric scattering model is given,the estimation of scene transmission can be equivalent to the estimation of veiling in the derivation of the model,that is refined using an adaptive gauss filter based on the spatial proximity and the depth edge.Then,the airlight in a given hazy image is estimated based on the quad-tree subdivision,thus,a high-quality haze-free image can be recovered.Finally,an experiment over several types of outdoor hazy images demonstrates that the proposed approach outperforms state-of-the-art haze removal methods in the efficiency of recovered haze-free radiances and eliminated halo effect,and a high-accuracy image can also be obtained,which results in a great improvement in image visibility.

Keyword: image dehazing; atmospheric scattering; scene depth; adaptive filter; veiling

计算机视觉系统在军事技术、智能城市、视频监控等领域的广泛应用中, 均以被测对象的图像作为其特征提取的主要手段.然而, 受雾霾天气的影响, 使得获取图像的清晰度、色彩真实性急剧减弱, 非常不利于一些需要提取图像细节特征的实际应用.因此, 对图像去雾方法进行深入研究就显得十分必要.

场景在雾霾天气的成像过程中, 常采用大气散射模型[1, 2, 3]来描述, 该模型主要由2部分相加组成:①因大气传输介质中大量悬浮颗粒、小水滴的散射作用而被衰减的场景反射光; ②经大气悬浮颗粒散射后渗入到场景中的一部分大气光.在基于该模型的去雾方法中, 通常采用参数估计的方式来求解场景反射光, 即去雾后的图像.

由于雾天图像本身携带的信息量较少, 对上述模型中参数的估计都需依赖于对图像数据进行强有力的假设和先验来构造约束条件或代价函数[4, 5, 6, 7], 以求得满足条件的最佳方案作为最终解.文献[4]基于无雾图像对比度较高, 且渗入到场景中的大气光随景深变化一致, 符合局部相似性先验, 在马尔科夫随机场框架下, 构造代价函数来使图像局部对比度最大化, 进而恢复图像细节.尽管该方法对浓雾区域的处理效果较为理想, 但仅从提高视觉效果的角度来恢复图像, 没有考虑实际的物理成像模型, 使得对无雾或薄雾区域去雾后明显过饱和.文献[5]假设图像局部区域的场景反射率为常量, 利用场景透射率与物体表面色度的局部统计独立特性建立成像模型.该模型的求解取决于显著变化的颜色信息.但由于浓雾区域像素颜色变化减弱且信噪比低, 将导致估计不准确.文献[6]提出一种暗通道先验理论, 采用最小滤波法对场景透射率进行粗估计, 之后借助软抠图法进行细化操作.当场景景深结构较复杂或场景中存在与大气光强度相接近的对象时, 去雾效果欠佳, 且软抠图算法实现起来过于复杂.文献[7]Kratz基于场景反射率与景深的统计独立先验, 利用FMRF对雾天图像建模, 通过EM方法求解.去雾图像的边缘保持效果较好, 但容易出现过增强现象.为此, 本文提出了一种结合自适应高斯滤波的单幅图像去雾方法来解决上述方法中存在的不足.

1 大气散射模型的改进

为了描述雾天图像的成像过程, Narasimhan和Nayer等定义了大气散射模型[1, 2, 3], 可表示为:

Ix=Jxtx+(1-tx)A, (1)

式中, x表示像素的位置索引; Ix表示成像设备所获取的图像; Jx表示无雾图像, 文中称之为场景反射光; A为大气光强度, 表示图像中最大环境亮度; tx为场景透射率, 表示场景反射光对大气介质的穿透能力.Jxtx表示因大气粒子的散射作用, 穿过传输介质时发生的直接衰减; (1-tx)A表示成像过程中大气光对场景反射光的附加成分, 表示环境亮度, 文中称之为Veiling.

当大气成分均匀, 场景透射率可定义为:

tx= e-βdx, (2)

式中, dx表示成像设备与场景对象之间的距离, 即景深; β 是大气散射系数, 为已知.理想状态下, tx随景深dx在[0, )上呈指数衰减, 有0< tx≤ 1.因此, 在雾天成像系统中, 越是远处的对象, 场景透射率tx越低, 图像质量越差[8].

基于大气散射模型恢复场景反射光Jx即为估计未知参数Adxtx的问题.但雾天图像中并无有效信息用来提取景深dx, 因此将给tx的合理估计带来困难.为简化参数的估计, 本文将Veiling值作为后续模型改进的依据, 其定义为:

Vx=(1-tx)A. (3)

由(3)式可知, 场景透射率越小, 混入到场景反射光中的大气光的量越多.

将上式代入大气散射模型(1)后可得其改进模型为:

Ix=Jx 1-VxA+Vx. (4)

因此, 场景反射光Jx可表示为:

Jx= Ix-A1-VxA+A. (5)

综上, 雾化图像Ix的复原可分解成如下几个步骤:由Ix估计Veiling值Vx; 估计大气光强度A; 将已知参数代入式(5)得到场景反射光Jx.

2 本文的去雾方法

本文从改进后的大气散射模型出发, 根据环境光线具有分段光滑性的特点, 将场景透射率的估计等效为对Veiling的估计, 得到其粗估计值; 结合景深边界信息和像素空间邻近度构建自适应高斯滤波器, 对Veiling进行细化修复; 再引入四叉树分割理论来估计大气光强度A, 最终还原场景反射光.

2.1 Veiling的估计

根据暗通道先验理论[6], 假设场景反射光的R、G、B颜色通道中至少有一个通道存在最小灰度值, 即 minc{R, G, B}Jx→ 0.因此, 对式(4)进行最小颜色分量操作可消去等式右边第1项, 得到Veiling的粗估计值为:

Ṽx= minc{R, G, B}Ixc, (6)

式中的 V˙表示Veiling的粗估计值, Ixc表示图像IxC通道颜色分量.

2.1.1 Veiling的细化 若采用式(6)直接复原图像将引入误差, 其主要原因是:当场景中包含白色物体时, 对于图像最小颜色通道的假设 minc{R, G, B}Jx→ 0不必然成立; 由式(2)、(3)可知, 当已知大气光强度A时, Vx仅与景深dx相关, 与成像物体本身的颜色、纹理均无关[9].图1所示, ab两像素点处有景深dadb, 因此有VaVb, 而其估计值 ṼaṼb, 与真实值不符.

图1 光学成像模型示意图Fig.1 The pictorial description of the optical model

由于场景中同一成像物体的景深局部相似, 且Veiling在同一景深区域内具有分段光滑性.针对此特点, Veiling作为大气光的附加成分可以参考与环境光线[10, 11]类似估计方法.为此, 本文将Veiling的细化修复看成是一个在景深边界处仍需保留其边缘细节的平滑滤波[12]问题.

文献[6]中对场景透射率的估计实际上等效于对式(6)进行最小滤波, 即以邻域窗口Ω x内像素的最小灰度值来替代中心像素x[13].但是, 由于在景深跳变边缘两边雾化程度差异较大, 场景透射率的估计值与实际值相比将出现严重偏移, 产生白色Halo并伴随明显斑块感.因此, 文献[6]在后续处理中借助软抠图法、文献[5]利用统计平滑法对其进行平滑操作, 但效果均不理想.所以, 本文对Veiling的保边平滑需综合考虑景深边界信息, 并结合像素的空间邻近度构建一种自适应高斯滤波器, 其计算公式可表示为:

Vx= 1ky∈Ωx(ṼxG( Ṽx, Ṽy), (7)

其中:

σ r= σ0, nodepthedgeiscrossedalongr, σ1, adepthedgeiscrossedalongr,

式中, Veiling的细化Vx由其粗估计值 V˙xΩ x内各像素点的G( Ṽx, Ṽy)高斯加权平均来表示r为高斯核函数的尺度参数, x-y表示两像素点的欧氏距离, k是归一化系数.Ω x邻域内, r表示中心像素与邻域内各像素点之间的半径, |r|表示其像素距离, 取值范围为|r|=1, …, n.当像素距离|r|确定以后, 各像素点的高斯权重可由G( Ṽx, Ṽy)计算得出.在中心像素的任一r半径方向上, 尺度参数σ r的初始值均为σ 0, 若沿此半径方向上的某像素距离|r'|处出现景深边界, 则由|r'|+1直至像素距离n处, σ r的取值为σ 1, 且有σ 1< σ 0.景深边界信息的检测将在2.1.2节进行详细讨论.

对于与中心像素距离邻近且具有相似景深的像素点, σ r值越大, 高斯曲线下降越缓慢, 平滑效果越明显, 对Vx值的贡献越大.而对于与中心像素距离较远且不同景深的像素, σ r值越小, 高斯曲线下降越迅速, 平滑效果越差, 对Vx值的贡献越小[14].所以, 自适应高斯滤波能良好地适应景深边界, 又因其同时融合了部分场景的边缘信息, 对景深突变处引入的Halo效应有良好地抑制效果, 且能够保持图像边缘细节.

由于本文提出的自适应高斯滤波是一种非线性滤波, 无法使用空域卷积直接计算, 为降低运算的时间开销, 在估计Vx时, 仅考虑中心像素的8个r方向.

2.1.2 景深边界检测 由式(2)、(3)可知, 雾天图像随着景深dx逐渐增加, 场景透射率tx逐渐降低, 图像中混入的大气光的量越多, 雾浓度越高, 因此图像饱和度越差[8].当景深dx足够大时, 即dx大于某阈值时, 有tx→ 0, 可近似认为场景中的对象被均匀地淹没在灰白色大气光A之中, 因此有:

Vx=Ix=A. (8)

由式中可知, 景深dx值越大, 图像饱和度越差, 亮度越高, 为此基于图像HSV彩色模型对某景深连续的雾天图像进行分析, 分析结果如图2所示.

图2(b)为雾天图像2(a)的饱和度S与亮度V随雾浓度而变化的关系图.无雾区域(dx较小)S较高, V为接近人眼视觉特性的标称值, V-S值接近0, 平面中各点与拟合曲线贴合度较差; 随着雾浓度增加(dx较大), V逐渐增大, S急剧减小, 平面中各点与拟合曲线贴合度较高.将此关系与式(8)结合可知, dx越大, Veiling的平滑性越好, 因此细化Veiling时所需要的边缘信息就越少, 当dx大于某阈值时甚至可以忽略不计.但对于近景对象, 由于雾霾本身属于加性噪声, 为保证在平滑Veiling的同时不损失其边缘特征, 在景深边界检测时要保留边缘信息.因雾天图像S分量较V分量随雾浓度变化更为显著, 为此本文提取其作为景深边界检测的输入数据.

图2 雾天图像与V-S关系示意图Fig.2 V-S increases along with the concentration of the haze

采用Canny算子对图像S分量进行边缘检测, 得到标记景深边界信息的二值图像作为确定尺度参数σ r的依据.Canny边缘检测算法中采用的平滑滤波模板尺寸和区分强弱边缘像素的高、低阈值均采用固定经验值.对于被检测的S分量有存在无景深边界信息的可能, 其主要原因在于本文仅着眼于景深的强突变点的处理, 弱突变点的检测与否对后续处理产生的效果并无显著影响.图3即为某雾天实景图像的景深边界检测结果.

2.2 大气光强度的估计

文献[4]直接利用图像中的最亮像素值估计大气光强度A, 易与场景中的高亮噪声或白色对象相混淆, 致使估计的A值偏高或偏低, 恢复出的图像整体发白或偏暗[15].文献[6]通过求得图像暗通道, 选取前0.1%最亮像素作为图像中最浓雾区域, 用对应原图中最大灰度值像素来估计A.但若图像中远场景浓雾区域的尺寸小于暗通道的最小滤波窗口尺寸时, 将出现误判全局大气光A的情况.

图3 景深边界检测结果示意图Fig.3 The detection results of depth boundaries

文中, 当式(2)中dx时, 则有:

IxA. (9)

很明显, 景深无穷远处的像素基本被灰白色大气光亮度A所淹没, 通过对雾天图像进行统计分析可知, 最大环境亮度区域通常具有以下几个特点:位置偏上, 亮度较高; 饱和度较低.本文利用此特点来估计大气光强度A.

首先, 根据对图2的分析可知, 雾天图像存在雾浓度∝ dxV-S的关系.通常最大环境亮度区域透射率tx值较低, 结合式(2)tx仅与景深dx呈指数衰减关系, 对VS分量做相减运算V-S, 以此来估计全局大气光A.然后, 结合四叉树分割理论对图像中全局大气光A所在区域进行估计.图4所示, 将图3中雾天图像的分量V-S平均分成4块, 计算每块像素的均值, 选择出均值最大的像素块再平均分成4块, 依此类推, 直到所选像素块的尺寸小于预先设定的阈值(本文阈值尺寸为30× 30pixels)时区域A分割完毕.如分割过程中遇到冲突, 优先选择位置偏上的像素块.最后, 选择雾化原图中与分割得到的A区域对应位置上的最大像素值确定为全局大气光A的估计值.

图4 估计全局大气光强度示意图Fig.4 The airlight estimation

2.3 场景反射光的恢复

现已知Veiling的细化值Vx和全局大气光A, 依据式(5)可得到场景反射光图像Jx为:

Jx= Ix-Aminmax1-VxA, 0.05, 0.95+A, (10)

式中, 由于在景深无穷远处Vx取值近似为A, 分母1- VxA有可能为0; 在近景处Vx取值有可能等于0, 分母1- VxA则趋于1.在出现上述2种情况时直接恢复场景反射光图像Jx将造成部分像素出现严重失真, 因此本文将其分母强制约束在[0.05, 0.95]之间, 省去了色彩校正等后续操作.图5即为某雾天实景图像的恢复过程.

图5 雾天实景图像去雾结果Fig.5 Haze removal result of outdoor hazy image

3 实验结果与分析

在配置为Intel(R)Core(TM)i5CPU(3.2 GHz)2GB的计算机上, 利用Matlab2009b实现了本文提出的去雾方法.实验中像素邻域窗口Ω x的尺寸大小为:20× 20 pixels, 尺度参数σ r通常设定为图像尺寸的除数, 为防止在景深突变的边缘处出现严重偏移, 影响去雾效果, σ 0取值应尽可能小于或等于2σ 1的值, 本文去雾方法中均取经验值.

为了验证本文所提出方法的效能, 与当前具有代表性的方法进行实景图像去雾效果比较, 对比实验结果如图6所示, 其中, (a)列为雾天图像, (b)列为文献[6]方法的处理结果, (c)列为文献[5]方法的处理结果, (d)列为本文方法的处理结果, (e)列为本文处理结果的局部区域放大图.

由第1组图像可以看出, 文献[6]方法在景深突变的边缘处产生Halo效应(注意树叶与红墙的交界处), 文献[5]方法中虽未出现类似情况, 但其处理后图像有明显的过增强现象(注意图像中上部的红墙).同时, 对于图像边缘细节复杂处和物体表面反射率单一区域的处理效果也不甚理想(注意树叶浓密处和左侧窗子处).本文方法的处理结果中树叶与红墙交界处无Halo现象, 且左侧窗子处的薄雾也被有效去除(见局部区域放大), 枝叶浓密处的细节可视性也明显优于文献[5]的处理结果.对于第2组图像中, 文献[5]方法的处理结果也表现出同样的问题(注意草棚下边的墙壁).在第3组图像中, 文献[6]方法和文献[5]方法对于远场景景物的恢复效果欠佳(注意河岸对面建筑物上的窗子、局部放大图中红色方框圈住的草丛), 且文献[5]方法在整体色彩真实度恢复及层次感处理上稍逊于文献[6]和本文的方法.

出现以上问题的主要原因就在于这2种去雾方法均未能将景深边界的变化应用到去雾方法中, 致使远景、近景去雾化程度相同, 与实际雾天成像特性不符, 所以不能同时兼顾.而本文的去雾方法由于结合景深边界信息, 不仅能够有效去雾, 在边缘保持、色彩保真和细节还原等方面也有不错的表现(如局部区域放大图6(e)所示).

除此之外, 本文还引入了平均亮度、边缘强度和暗通道比重作为客观评价标准.其中, 边缘强度体现对场景细节的表达能力; 平均亮度代表图像的亮度水平, 当其分布在120左右最便于人眼观测; 暗通道比是图像暗通道灰度值小于25的像素点所占像素总数的比例[16], 当平均亮度值在合理范围时, 其值越大图像去雾的效果越好.图6的具体评价结果见表1所示.

通过表1中对各项评价结果的对比可知, 本文方法在边缘强度上比文献[5-6]高出5.5%~40%, 平均亮度与最便于人眼观测值120相比, 基本偏离0.75%~15%, 由此结果可以判断出本文方法在一定程度上优于另外2种.对于第3组图像, 虽然本文的暗通道比例较文献[5-6]方法的处理结果无显著升高, 但因图像整体亮度偏暗, 如树枝区域几乎成团簇状, 且像素灰度值主要分布在0~80之间, 明显不在可视度的合理范围内.因此, 在对暗通道比例这一评价指标进行考量时, 还需结合平均亮度标准进行综合评价.综上, 表1中的数据充分体现了本文方法去雾效果与主观描述的一致性.

图6 去雾结果比较Fig.6 Comparison with other methods

表1 去雾方法客观评价数据 Tab.1 Objective evaluation comparison with other haze removal methods
4 结束语

本文针对环境光线具有分段光滑性的特点, 提出了结合自适应高斯滤波的单幅图像去雾方法.该方法将传统去雾方法中的场景透射率估计等效为Veiling的估计, 并结合景深突变信息构建自适应高斯滤波器, 对Veiling进行保边细化.除此之外, 在估计全局大气光强度时引入四叉树分割理论, 避免了复原图像整体亮度失衡的问题.当已知估计参数Veiling和后, 利用改进的大气散射模型恢复处场景反射光.最后, 在大量的室外雾天图像上进行去雾性能比较, 结果表明该方法能有效去除雾, 在细节还原、色彩保真等方面也具有良好的表现.但是, 与现有大多数算法存在共同的不足是, 本文对淹没在浓雾区域内对象的复原不甚理想, 有待后续工作中做进一步改进.

The authors have declared that no competing interests exist.

参考文献
[1] NARASIMHAN S G, NAYAR S K. Vision and the Atmosphere[J]. International Journal of Computer Vision, 2002, 48(3): 233-254. [本文引用:2]
[2] NARASIMHAN S G, NAYAR S K. Contrast restoration of weather degraded images[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2003, 25(6): 713-724. [本文引用:2]
[3] NAYAR S K, NARASIMHAN S G. Vision in bad weather[J]. The Proceedings of the 7th IEEE International Conference on Computer Vision, 1999, 2: 820-827. [本文引用:2]
[4] TAN R T. Visibility in bad weather from a single image[J]. IEEE Conf Computer Vision and Pattern Recognition, 2008. Dio: 10-1109/CVPR. 2008. 4587643. [本文引用:1]
[5] FATTAL R. Single image dehazing[J]. ACM Transactions on Graphics, 2008, 27(3): 1-9. [本文引用:1]
[6] HE K M, SUN J, TANG X O. Single image haze removal using dark channel prior[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2011, 12(33): 2341-2353. [本文引用:]
[7] KRATZ L, NISHINO K. Factorizing scene albedo and depth from a single foggy image[C]. The Proceedings of the IEEE International Conference on Computer Vision, 2009: 1701-1708. [本文引用:1]
[8] ZHU Q S, MAI J M, SHAO L. A fast single image haze removal algorithm using color attenuation prior[J]. IEEE Transactions on Image Processing, 2015, 24(11): 3522-3533. [本文引用:2]
[9] GIBSON K B, NGUYEN T Q. Fast single image fog removal using the adaptive Wiener filter[C]. IEEE International Conference on Image Processing, 2013: 714-718. [本文引用:1]
[10] SAINT-MARC P, CHEN J S, MEDIONI. Adaptive smoothing: a general tool for early vision[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 1991, 13(6): 514-529. [本文引用:1]
[11] PARK Y K, PARK S L, KIM J. Retinex method based on adaptive smoothing for illumination invariant face recognition[J]. Signal Processing, 2008, 88(8): 1929-1945. [本文引用:1]
[12] YU J, LIAO Q. Fast single image fog removal using edge-preserving smoothing[J] International Conference on Acoustics, Speech, & Signal Processing, Icassp, 2011: 1245-1248. [本文引用:1]
[13] 王卫星, 肖翔, 陈良琴. 结合最小滤波和引导滤波的暗原色去雾[J]. 光学精密工程, 2015, 23(7): 2100-2108.
WANG W X, XIAO X, CHEN L Q. Image dark channel prior haze removal based on minimum filtering and guided filtering[J]. Optics and Precision Engineering, 2015, 23(7): 2100-2108. [本文引用:1]
[14] LAURENCE M, SABINE S. High dynamic range image rendering with a Retinex-based adaptive filter[J]. IEEE Transactions on Image Processing, 2006, 15(9): 2820-2830. [本文引用:1]
[15] SULAMI M, GLATZER I, FATTAL R. Automatic recovery of the atmospheric light in hazy images[C]. IEEE International Conference on Computational Photography, 2014: 1-11. [本文引用:1]
[16] 南栋, 毕笃彦, 马时平, . 基于景深约束的单幅雾天图像去雾算法[J]. 电子学报, 2015, 43(3): 500-504.
NAN D, BI D Y, MA S P, et al. Single image dehazing method based on scene depth constraint[J]. Acta Electronica Sinica, 2015, 43(3): 500-504. [本文引用:1]