结合天空区域分割和加权融合的图像去雾算法
1 引言
在雾、霾等环境下拍摄的室外图像由于大气中存在大量悬浮颗粒,图像质量在对比度、色彩等方面会受到不同程度的影响。但在目标检测、卫星遥感等诸多图像处理系统中,人们对于输入图像的质量都有严格的要求。因此,对质量退化的雾天图像进行清晰化处理在计算机视觉领域中有着非常现实的意义。
在图像去雾工作的初期,常采用提升图像对比度、饱和度等方法来表现图像的主要特征,这种方法可以达到图像清晰化的目的,但是可靠性低,往往会出现大量的信息丢失现象。随着现代科技的不断发展,对图像质量要求的不断提高,大气散射模型被应用到了图像去雾领域,并由此出现了大量依靠大气散射模型的去雾算法,这些算法充分考虑图像退化过程,在物理意义上对图像中存在的雾气进行了去除。目前,伴随着深度学习的崛起,应用深度学习的方法来处理有雾图像也逐渐成为了一种主流,但是此类方法受诸多因素的限制,在对真实场景下的图像进行清晰化处理时仍存在去雾不彻底等问题。综上,针对雾天图像进行清晰化处理的方法可以分为三类:基于图像增强的算法、基于深度学习的算法及基于物理模型的去雾算法。基于图像增强的去雾算法能够有效地改善图像的对比度和色彩信息,但会牺牲掉部分细节信息,例如基于直方图均衡化[1]、曲波变换[2]、Retinex[3]的去雾算法。基于深度学习的图像去雾算法在近些年相继出现。Ren等[4]提出了多尺度特征提取的卷积神经网络,并通过对雾图透射率估计进行去雾。Cai等[5]提出了一种端到端雾图训练模型,并提出双边线性修正改善恢复图像可视性。Li等[6]也在单幅图像去雾方面提出了一种新的深度卷积神经网络,但在处理真实天气下的雾图时表现往往不尽人意。基于物理模型的去雾算法分析了图像质量退化的过程,针对性更强。例如,Tan等[7]提出了无雾图像对比度要高于有雾图像的假设,但恢复图像会因为过度补偿而出现光晕伪影。Fattal等[8]提出了透射率和物体表面投影局部不相关的假设,但是当假设失效时,恢复效果较差。Tarel等[9]提出了一种基于中值滤波的雾图恢复算法,运行速度较快,但边缘信息损失较多。Yang等[10]提出了一种基于边缘保持的自适应高斯衰减去雾方法,去雾效果显著。He等[11]提出了暗通道去雾算法,利用该算法可以对多数有雾图像进行有效恢复,但由于明亮的天空区域不满足暗通道先验,处理后的天空区域会产生严重的光晕效应。
针对暗通道先验在天空区域失效及在图像边缘区域处理效果不佳的问题,提出了一种基于天空区域分割和透射率融合的图像去雾算法。首先将雾图分割为天空和非天空区域,然后对不同滤波尺寸的暗通道图进行融合得到融合暗通道,并在粗分割结果的基础上获取更准确的大气光值,最后分别对天空和非天空区域求取透射率,并设置过渡区域权重图对透射率进行融合。实验结果表明,本文算法明显改善了去雾图像天空区域颜色失真的问题,并在一定程度上抑制了边缘区域的光晕效应。
2 暗通道先验去雾算法
2.1 大气散射模型
在计算机视觉领域,通常使用大气散射模型来描述雾天图像的成像过程,表达式为
式中:I(x)为雾天情况下采集到的图像;J(x)为场景图像;A代表大气光值;透射率t(x)与场景深度d(x)有着密切的关系,可以表示为
式中:β为大气散射系数。图像去雾的过程就是先估计出图像的大气光值A和透射率t(x),然后代入(1)式得到无雾图像J。
2.2 暗通道先验理论
基于对室外清晰图像的观察,He等[11]提出了暗通道先验:在大多数非天空区域中,至少一个颜色通道中的像素值趋于0,可表示为
式中:Jdark 为暗通道;Ω(x) 表示以像素点x为中心的邻域;Jc表示图像J的R,G,B三个颜色通道。
将暗通道先验用于大气散射模型,并假设大气光值A为常数,进一步估计出初始透射率,其表达式为
为了达到更好的视觉效果,引入雾浓度调节参数ω用于保留适量雾气,取值一般为0.95。
初始透射率精度较低,不能直接用于雾图恢复,否则会出现光晕效应,因此文献[ 11]利用引导滤波来对初始透射率进行优化得到最终透射率t(x)。为防止透射率取值过小,降低噪声对恢复图像的影响,对透射率设置下限t0=0.1,并恢复无雾图像J(x),表达式为
2.3 暗通道算法局限性
暗通道先验算法在图像去雾方面简单有效,但仍存在部分问题。首先,分析暗通道先验定义,可知明亮的天空区域不满足该先验,会使天空区域复原结果出现偏色及伪轮廓。其次,求暗通道时用到的最小值滤波。因滤波尺寸会影响最终的去雾效果,故滤波尺寸选择不当时会使复原图像颜色过饱和或者在边缘区域产生光晕效应。最后,在大气光值估计方面,文献[ 11]选择暗通道中最亮的0.1%的像素点所对应的最高原始像素值作为全球大气光值,但是当图像中存在较大面积的明亮物体时,将错误地估计大气光值,导致复原图像产生色偏。
3 本文算法
在上述研究的基础上,提出本文算法,算法流程如
3.1 天空区域分割
在含有天空区域的雾图中,天空区域的亮度值要明显高于非天空区域,且平滑度也比较高。因此将雾图转换到HSV(Hue, Saturation, Value)颜色空间中并对明度分量V进行处理。具体步骤如下:
1) 将图像I(x)由RGB颜色空间转入到HSV颜色空间,提取明度分量V并归一化。
2) 提取整幅图像明度分量归一化后的众数M[12],同时为了确保能够更完整地分割出天空区域,用小于1的常数约束众数M,以μ=pM为阈值对图像进行分割,得到二值图像,表达式为
式中B(x)即为天空区域的初步分割结果。受高光及白色物体的影响,初步分割结果中产生散点或小面积斑块,故需进一步对分割结果进行细化。
3) 对B(x)中的连通区域进行标记之后,找到最大的连通区域,同时将此连通区域之外的区域标记为零,由此可得细化之后的天空区域分割结果
图 2. 天空区域分割结果. (a)有雾图像;(b)明度分量;(c)粗分割结果;(d)细分割结果
Fig. 2. Sky region segmentation.(a) Hazy image; (b) brightness component; (c) rough segmentation result; (d) fine segmentation result
3.2 暗通道估计
在使用最小值滤波操作来获取暗通道的过程中,滤波尺寸是影响最终去雾效果的关键参数。较大的滤波尺寸与暗通道理论更为契合,这是因为其中包含了更多的暗像素,但与此同时也会由于大尺寸滤波而引起光晕效应;相反,较小的滤波尺寸能够有效地抑制边缘区域的光晕效应,但是又会使恢复的图像出现过饱和现象。
为了解决上述不足,本文提出了一种改进暗通道估计方法,对不同滤波尺寸暗通道图进行融合:边缘区域侧重于使用较小滤波尺寸暗通道图,以便更好地提取深度不连续区域的场景结构信息,避免边缘区域产生光晕伪影;平滑区域使用较大滤波尺寸暗通道图,以保证恢复图像不会由于过度增强产生偏色现象。因此,融合的关键就是构造出展示深度不连续区域的权重图,而中值滤波技术作为一种非线性滤波操作,可以有效地抑制脉冲噪声分量,同时保留边缘信息,具体的边缘信息可表示为
式中:Ω1(x)是以x为中心的滤波区域(取15×15的方形矩阵),median为中值滤波操作,W为输入图像的最小值通道。
图像边缘信息如
式中,
图 3. 融合暗通道与不同尺寸暗通道实验对比。(a)雾图;(b)权重图;(c)融合暗通道;(d)小尺寸暗通道复原图;(e)大尺寸暗通道复原图;(f)融合暗通道复原图
Fig. 3. Experimental comparison of fusion dark channel and dark channel of different sizes. (a) Hazy image; (b) weight map; (c) fusion dark channel; (d) small-size dark channel restoration image; (e) large-size dark channel restoration image; (f) fusion dark channel restoration image
3.3 改进大气光值估计
大气光值的选取对最终恢复图像的视觉效果有相当重要的影响,估计出的大气光值过大会导致恢复图像较暗,相反,估计过小的大气光值会使恢复的图像较亮。在暗通道去雾算法中,选择暗通道中最亮的0.1%的像素点所对应的最高原始像素值作为全球大气光值,但是当雾图中存在高光或者白色物体时,大气光值的选取会出现误差。为了让所获得的大气光值最大限度地接近真实值,本研究提出了一种基于加权和天空区域分割的大气光值求取方法,具体步骤如下:
1) 利用初始天空区域分割结果B(x)分别求取天空和非天空区域的暗通道Isdark及Indark;
2) 求取Isdark及Indark中最亮的0.1%的像素点所对应的最高原始像素值A1和A2;
3) 根据不同区域所占比例,将输入图像的大气光值表示为
式中:ws 为A1的权重,wn为A2的权重,ws和wn 分别定义为
其中hs和hn分别为初始天空和非天空区域像素点的总数,M×N表示输入图像的像素总数。由此,获得了A1、A2的各自权重,并且由于输入图像的任意像素都属于初始天空或非天空区域,所以有
通过这种加权方式所获得的大气光值最大限度地避免了普通大气光值求取方法中将高光及白色区域误选为大气光值的问题,所得大气光值也与现实更为接近。
3.4 透射率结合与细化
获取大气光值A后,在暗通道先验的基础上,可以利用 (4) 式估计出初始透射率
将天空区域的透射率值统一设置为固定值,这将导致恢复图像的天空和非天空区域的交界处存在较大的灰度突变。为提升视觉效果,本研究提出在天空和非天空区域透射率的交界处设置过渡区域,以此来减少灰度突变所带来的影响。首先对在天空区域分割之后的二值图像
若B'(x)=1,即完全属于天空区域,则该点的透射率为分割阈值;若B'(x)=δ,即属于过渡区域,则该点的透射率为tsky和
交叉双边滤波属于空域和频域滤波器的结合,利用它既可以消除边缘纹理效应,也可以保持图像的边缘信息。对结合透射率进一步优化,可得最终的优化透射率为
式中:Rpw为计算t1(x)的窗口;k1、k2分别是频域和空域滤波器;hr、hs分别为频域和空域滤波器的内核;C为归一化常数; *为卷积操作;f为空域部分;fn是窗口Rpw中围绕像素x的位置;E是f对应频域部分;En是fn对应频域部分;Dn为t(x)在窗口Rpw中的位置。优化后的透射率如
图 4. 透射率结合与细化。(a)雾图;(b)边缘检测图;(c)过渡区域;(d)初始透射率;(e)细化透射率;(f)复原图像
Fig. 4. Transmission combining and refining effect. (a) Hazy image; (b) edge detection graph; (c) transition zone; (d) rough transmission; (e) fine transmission; (f) fog-free image
4 实验结果与分析
为了证明本文所提算法的有效性和鲁棒性,选取了几组含有大片天空区域的雾图像进行实验,如
图 5. 不同算法恢复得到的实验效果对比。(a)雾图;(b)文献[ 11]中的算法;(c)文献[ 13] 中的算法;(d)文献[ 14] 中的算法;(e)文献[ 15] 中的算法;(f)本文所提算法
Fig. 5. Comparison of experimental results obtained by different algorithms.(a) Hazy image; (b) method in Ref. [11]; (c) method in Ref. [13]; (d) method in Ref. [14]; (e) method in Ref. [15]; (f) our algorithm
4.1 主观评价
为了验证本文所提算法在应用方面的有效性,将本文算法分别与不同去雾算法进行比较,实验结果如
由
4.2 客观评价
相较于主观评价,客观评价具有一定的理论支撑。因此为了进一步证实本文算法的有效性,采用无参考的图像质量评估办法[16],选取饱和像素点占比(η)、可见边增加率(e)、平均梯度(r)及运行时间(t’)作为恢复图像的客观评价指标。其中e、r的值越大表明恢复图像可视性更好,而η和t’的取值越小越好。计算公式如下:
1) 饱和像素点占比(η)。该指标用来表示新出现的饱和像素点占整幅图像的比例,以反映算法是否出现过饱和问题,计算公式为
式中:ns表示复原后的图像相较于原图像多出的像素点为0或255的像素数量,M'×N'为复原图像的大小。
2) 可见边增加率(e)。该指标表示算法对图像在边缘处的增强程度,计算公式为
式中:nr表示复原后图像的可见边数量,n0表示原图的可见边数量。
3) 平均梯度(r)。平均梯度属于盲评估指标,它用图像梯度的增加程度来表示算法对图像边缘和纹理信息的能力,计算公式为
式中:ri表示恢复图像与原图的梯度比,ηr为复原图像的可见边集合。
由
图 6. 客观评价实验结果图。(a)饱和像素点占比;(b)可见边增加率;(c)平均梯度;(d)平均运算时间
Fig. 6. the objective experimental results. (a) Percentage of saturated pixels; (b) increasing rate of visible edges; (c) average gradient; (d) average running time
5 结论
暗通道先验理论在图像边缘处会产生光晕效应,并对天空区域失效,导致天空区域透射率估计不足,使得恢复图像天空区域色彩失真。针对上述问题,本研究对不同滤波尺寸的暗通道图进行融合,抑制了由局部最小值滤波引起的光晕效应。将有雾图像分割为天空和非天空区域,分别估计透射率,并通过设置过渡区域,将天空和非天空区域透射率相结合,避免了对非天空区域单独使用暗通道先验时因滤波窗口造成的边界锯齿效应。此外,以天空区域分割为基础获得了更为精准的大气光值,保证了恢复图像的明暗程度。经过主客观实验对比分析,可知含有天空的雾图在经过本文算法恢复之后,复原效果明亮自然,细节明显,具有较高的色彩保真度。
[1] 云海姣, 吴志勇, 王冠军, 等. 结合直方图均衡和模糊集理论的红外图像增强[J]. 计算机辅助设计与图形学学报, 2015, 27(8): 1498-1505.
Yun H J, Wu Z Y, Wang G J, et al. Enhancement of infrared image combined with histogram equalization and fuzzy set theory[J]. Journal of Computer-Aided Design & Computer Graphics, 2015, 27(8): 1498-1505.
[2] Qiao T, Ren J C, Wang Z, et al. Effective denoising and classification of hyperspectral images using curvelet transform and singular spectrum analysis[J]. IEEE Transactions on Geoscience and Remote Sensing, 2017, 55(1): 119-133.
[3] 刘海波, 杨杰, 吴正平, 等. 基于暗通道先验和Retinex理论的快速单幅图像去雾方法[J]. 自动化学报, 2015, 41(7): 1264-1273.
Liu H B, Yang J, Wu Z P, et al. A fast single image dehazing method based on dark channel prior and Retinex theory[J]. Acta Automatica Sinica, 2015, 41(7): 1264-1273.
[4] Ren W Q, Pan J S, Zhang H, et al. Single image dehazing via multi-scale convolutional neural networks with holistic edges[J]. International Journal of Computer Vision, 2020, 128(1): 240-259.
[5] Cai B L, Xu X M, Jia K, et al. DehazeNet: an end-to-end system for single image haze removal[J]. IEEE Transactions on Image Processing, 2016, 25(11): 5187-5198.
[6] Li C Y, Guo C L, Guo J C, et al. PDR-net: perception-inspired single image dehazing network with refinement[J]. IEEE Transactions on Multimedia, 2020, 22(3): 704-716.
[7] Tan RT. Visibility in bad weather from a single image[C] //2008 IEEE Conference on Computer Vision and Pattern Recognition, June 23-28, 2008, Anchorage, AK, USA.New York: IEEE Press, 2008: 1- 8.
[8] Fattal R. Single image dehazing[J]. ACM Transactions on Graphics, 2008, 27(3): 1-9.
[9] Tarel JP, HautièreN. Fast visibility restoration from a single color or gray level image[C] //2009 IEEE 12th International Conference on Computer Vision, September 29-October 2, 2009, Kyoto, Japan.New York: IEEE Press, 2009: 2201- 2208.
[10] 杨燕, 张国强, 李一菲, 等. 基于边缘保持的自适应高斯衰减去雾算法[J]. 激光与光电子学进展, 2018, 55(8): 081004.
[12] 宋瑞霞, 刚睿鹏, 王小春. 含有大片天空区域图像的去雾算法[J]. 计算机辅助设计与图形学学报, 2019, 31(11): 1946-1954.
Song R X, Gang R P, Wang X C. Image defogging algorithm for images with large sky region[J]. Journal of Computer-Aided Design & Computer Graphics, 2019, 31(11): 1946-1954.
[13] 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.
[14] Wang W C, Yuan X H, Wu X J, et al. Fast image dehazing method based on linear transformation[J]. IEEE Transactions on Multimedia, 2017, 19(6): 1142-1155.
[15] Meng GF, WangY, Duan JY, et al.Efficient image dehazing with boundary constraint and contextual regularization[C] //2013 IEEE International Conference on Computer Vision, December 1-8, 2013, Sydney, NSW, Australia.New York: IEEE Press, 2013: 617- 624.
[16] Hautière N, Tarel J P, Aubert D, et al. Blind contrast enhancement assessment by gradient ratioing at visible edges[J]. Image Analysis & Stereology, 2011, 27(2): 87-95.
Article Outline
杨燕, 武旭栋, 杜康. 结合天空区域分割和加权融合的图像去雾算法[J]. 激光与光电子学进展, 2021, 58(16): 1610021. Yan Yang, Xudong Wu, Kang Du. Image Dehazing Algorithm Using Sky Region Segmentation and Weighted Fusion[J]. Laser & Optoelectronics Progress, 2021, 58(16): 1610021.