APP下载

结合暗亮通道先验的远近景融合去雾算法

2021-10-11高涛刘梦尼陈婷王松涛蒋硕

西安交通大学学报 2021年10期
关键词:透射率先验像素点

高涛,刘梦尼,陈婷,王松涛,蒋硕

(长安大学信息工程学院,710000,西安)

雾霾中的悬浮微粒对光线的吸收、散射和反射作用,严重影响了空气的能见度,降低了可视距离。雾霾天气下采集到的图像往往会出现亮度偏低、对比度下降、细节模糊、色彩失真等现象,导致图像难以作为有效信息的来源。因此,如何更加快速地复原雾霾天气条件下采集的图像仍然是国内外学者研究的热点[1-2]。

目前,图像去雾算法可大致划分为3类[3]:第1类是基于图像增强的去雾方法,其中具有代表性的方法为Retinex算法、Liu等人在结合带色彩恢复的多尺度视网膜增强算法(MSRCR)的基础上提出的一种新的图像保真度评估框架[4]以及Zhang等人提出的一种多通道卷积的MSRCR去雾算法[5]等。但是,基于Retinex理论的方法均未完全从根本上解决光晕问题。第2类是基于图像复原的去雾方法,其中最具有代表性的就是He等人提出的暗通道先验的去雾算法,获得了良好的去雾效果[6];在此基础上,He等人又提出了引导滤波的算法来解决原有方法中软抠图运算量较大,算法过于复杂的问题[7]。然而,基于图像复原的方法没有能够解决高亮区域的透射率和大气光值估值产生偏差以及去雾过程中去雾参数固定等问题。之后,Xu等人提出了一种使用暗通道和亮通道结合的方法来进行图像去雾[8];Li等人提出了一种基于同态滤波和球模型改进的暗通道先验的两阶段图像去雾算法[9];Wang等人提出了一种改进邻域结合暗通道先验的去雾算法[10]。第3类是基于深度学习的去雾方法,其中Engin等提出Cycle-Dehaze算法,该算法的模型效果对于烟雾效果处理甚好,但是对雾霾处理效果欠佳[11]。Li等提出基于残差图像学习的去雾算法,该算法对大气散射模型进行变形,用卷积神经网络估计参数并代入模型,得到去雾图像[12]。Zhang等人提出了一种融合的端对端的密集连接金字塔去雾网络(DCPDN),取得了不错的图像复原效果[13]。Ren等人提出了一种由编码器和解码器组成的端到端可训练神经网络,并采用多尺度方法训练网络,避免出现去雾图像的光晕现象[14]。Chen等人提出使用端对端的上下文聚合网络来进行图像的去雾,所恢复的无雾图像在相关的客观评价指标上有了很大的提升,方法也具有一定的通用性[15]。但基于深度学习的去雾方法往往依赖于同一场景下的有雾图像和无雾清晰图像对,在实际情况中难以获取,所以该类方法通常通过大量仿真雾天数据进行学习得到网络结构,在真实雾天场景下效果欠佳。

目前主流的基于暗原色先验的去雾方法主要存在不适用于大面积白色区域、大气光估值过高和去雾参数较为单一等问题。为此,本文提出了一种结合暗亮通道先验的远近景融合去雾算法,去雾后的图像具有更好的对比度和亮度,同时展示出了更好的视觉感受,解决了传统暗通道先验方法所存在的问题。

1 传统的暗通道先验去雾算法

1.1 暗通道先验理论

目前广泛使用的大气散射模型表述如下

I(x)=J(x)t(x)+A(1-t(x))

(1)

式中:x表示有雾图像中各个像素点对应的位置;I(x)表示观测到的有雾图像;J(x)表示复原的图像;A和t(x)分别表示大气光值和透射率。

假设大气分布均匀,透射率t(x)的表达式如下

t(x)=e-β d(x)

(2)

式中:β为大气散射系数;d(x)为场景深度。

2009年,He等提出了暗原色先验理论,即绝大多数的无雾图像在非天空区域的某些像素在RGB的3个通道中至少有1个颜色通道的像素值很低甚至趋近于0,并将这些像素点称为暗原色像素点[7]。暗原色Jdark(x)的表达式如下

(3)

用Ic(x)和Jc(x)分别表示某通道下的有雾图像和清晰图像。将式(1)两边同时除以大气光值Ac可得

(4)

对等式两边同时进行局部区域最小值运算和颜色通道最小值的操作,可以得到

(5)

(6)

由于保留一定的雾气会使图片有景深感,为了使图片在人眼观察下更加真实自然,文献[6]中引入经验值ω=0.95进行调节,来保留一定程度的雾气,粗估计的透射率公式改进为

(7)

在式(1)中,如果透射率t(x)过小,将导致直接衰减项J(x)t(x)→0,复原图像J(x)容易产生噪声,文献[6]中对于阈值进行了经验值设定,设置阈值t0=0.1作为t(x)的下限。此时,最终的去雾算法改进为

(8)

1.2 引导滤波算法

He等人提出了引导滤波的方法来细化透射率[7],这种方法不仅大大减少了处理时间,并且经过引导滤波细化后的图像边缘细节更加清晰,“块状”效应大大减少,去雾效果更好。引导滤波的公式定义为[7]

(9)

式中:|ω|为窗口ωk中的像素个数;ak、bk是窗口ωk的线性参数,为两个固定常数,它们的值分别为

(10)

(11)

2 本文提出的算法

2.1 改进的二维Otsu图像分割算法

1978年,Otsu提出了一维最大类间方差法,即Otsu算法[16]。该算法以其分割效果良好、适用范围广泛并且简单有效而引起了人们的广泛关注。但由于图像中的目标和背景的灰度区别不明显时,会导致分割出的图像信息丢失,因此文献[17]将一维Otsu阈值法推广到了二维,二维Otsu算法利用原图像与其邻域平滑图像构建二维直方图,具有较好的抗噪性。由于雾天条件下,图像灰度信息区别较小,在薄雾区域即近景区域图像信息部分缺失以及近景区域存在亮色物体等原因导致二维Otsu算法分割不均匀,不能准确将近景和远景区域分割出来,所以结合二值图像的腐蚀算法,对分割区域进行边界腐蚀,最后选取最大连通区域作为最终的近景区域,图像分割流程图如图1所示。

图1 改进的二维Otsu图像分割算法流程图Fig.1 A flow chart of the improved two-dimensional Otsu algorithm

Otsu分割算法与本文分割算法的分割区域对比如图2所示。在图2a中,山体应为近景区域,天空区域应为远景区域,由于山顶存在积雪即亮色物体,Otsu算法没有准确分割出近景区域,本文算法在原有基础上进行改进,较好地分割出了近景区域。在图2b中,公路和两侧的树林应为近景区域,远处中间位置的树林和天空区域应为远景区域,但由于公路存在亮黄色的标志线,Otsu算法没有准确分割出近景区域,本文算法在较好地保留了树的边缘信息的前提下良好地分割出了近景区域。

(a)山体场景分割

(b)户外场景分割图2 Otsu分割算法与本文分割算法分割区域对比图Fig.2 A comparison diagram of segmentation regions between Otsu algorithm and the proposed segmentation algorithm

2.2 混合暗通道算法

(12)

(a)城市建筑暗通道对比图

(b)道路交通暗通道对比图图3 传统暗通道和混合暗通道对比图Fig.3 A comparison of traditional and mixed dark channels

2.3 暗亮通道融合模型

在基于图像复原的去雾算法中,大多数的算法都是基于式(1)所示的大气光散射模型为基础进行无雾图像的复原。在式(1)中,大气光值A被认为是一个常量,通过大量的实验发现,大气光值并非一个唯一确定的值,恒定的大气光值并不适用于整幅图像,因此将大气光散射模型改进为

I(x)=J(x)t(x)+A(x)(1-t(x))

(13)

本文引入亮通道先验理论对大气光值进行更为精准的估计。亮通道先验理论与暗通道先验理论相对应,经过对大量户外雾天图像的观察和实验,该理论认为:对于雾天图像的绝大部分区域,至少存在1个颜色通道具有较大的像素值。对于任意一张有雾图像I,其亮通道Ilight表达式为

(14)

式中:Ic表示图像I某一颜色通道的图像;Ω(x)表示以像素点x为中心的局部区域。

亮通道理论指出,有雾图像的某一像素点的亮通道值接近于该有雾图像对应的无雾图像的大气光值[8],可得出下式

Ilight(x)→Alight(x)

(15)

式中:Alight(x)为亮通道所估计的大气光值,通过式(14)和式(15)可以得到

(16)

由上式可知,有雾图像的大气光值可以由其对应的亮通道值来获取,为了增强大气光值的鲁棒性,本文结合亮通道和混合暗通道对大气光值的求取进行适当的调整,避免了只利用暗通道获取大气光值估值过高的问题。新的大气光值估值表达式如下

A(x)=mAlight(x)+nA0

(17)

式中:A0的求取方法为首先获取混合暗通道图中前0.1%最亮的像素点,其次找到这些像素点所对应的原有雾图像的像素点,最后再取它们的均值;m和n是调整参数。由于实际情况中大气光值强度大于无雾图像的强度值,即J(x)≤A(x),又由式(6)可知t(x)∈(0,1),故可以得出J(x)≤I(x)≤A(x)。由前面步骤可知,Alight(x)和A0的计算过程涉及到对I(x)取最大值,所以应该满足m+n<1,由于亮通道像素值接近无雾图像的大气光值,因此通常设置m>n,使通过亮通道获取的大气光值权重较大。有雾图像及其大气光图如图4所示。

(a)城市建筑改进大气光图

(b)道路交通改进大气光图图4 有雾图像与其大气光图Fig.4 Foggy image and its atmospheric light map

2.4 基于视觉感知的亮度/颜色补偿修正模型

为了更直观地观察去雾算法,将式(13)变形如下

(18)

式中:JY(x)、IY(x)分别表示YCbCr空间的复原图像和有雾图像;AY(x)、tY(x)分别表示YCbCr空间的大气光值和透射率。

求取YCbCr空间的大气光值时,直接利用传统暗通道图中前0.1%最亮的像素点并找到这些像素点对应的原有雾图像在YCbCr空间中对应的像素点,并求取它们的均值作为大气光值,如下式所示

(19)

根据式(7)可得,在YCbCr空间中有

(20)

图5 YCbCr空间粗透射率细化流程图Fig.5 Flow chart of refining rough transmittance in YCbCr space

将RGB空间的复原图像与YCbCr空间的复原图像进行加权融合,可增强复原图像的真实感和色彩饱和度,复原图像修正模型表达式如下

J(x)=pJc(x)+qJY(x)

(21)

式中:p、q是调节参数,均为常数,且满足p+q=1;Jc(x)代表RGB空间的复原图像;JY(x)代表YCbCr空间的复原图像;J(x)代表最终的复原图像。

本文通过实验的方式确定了调节参数的取值,实验结果如图6所示。由图6可知,当p>0.5、q<0.5时,雾天图像去雾力度欠缺,图像中还存在着少量雾气,当p<0.5、q>0.5时,图像存在明显失真。当p=q=0.5时,图像去雾效果良好,色彩饱和度适中,细节信息保留完好,达到了较为理想的去雾效果。因此,本文中将参数值设定为p=q=0.5。

(a)城市有雾图像

(b)p=1,q=0

(c)p=0.75,q=0.25

(d)p=0.5,q=0.5

(e)p=0.25,q=0.75

(f)p=0,q=1图6 基于本文算法的不同参数值下去雾效果对比图Fig.6 A comparison of defog effects based on different parameter values of the proposed algorithm

2.5 无雾图像的复原

经过上述的工作,已经得到了恢复无雾图像的条件,在改良的大气光散射模型中通过提出的暗亮通道融合模型求取出大气光图并引入原始图像的灰度图作为引导图像细化透射率,进而在RGB和YCbCr空间分别求取出复原图像,最后进行基于视觉感知的亮度/颜色补偿修正。本文的算法流程图如图7所示。

图7 算法流程图Fig.7 Flow chart of the algorithm

3 实验仿真

3.1 视觉效果分析

选取Tarel算法[18]、He算法[19]、Tufail算法[20]以及Xie算法[21]与本文算法进行对比实验,实验结果如图8~图11所示。

由图8可见:Tarel算法在整幅图像呈现灰暗,天空部分失真严重;He算法在天空与城市的衔接部分呈现灰霾,存在失真;Tufail算法在整幅图片上颜色饱和度过高,使图片发黄发暗;Xie算法在城市建筑物边缘存在一些块状效应,并且天空部分出现大面积失真;本文算法在天空区域还原出了云朵部分以及较为自然的蓝色,城市部分清晰,色彩饱和度在视觉感受上更为自然真实。

(a)原图

(b)Tarel算法[18]

(c)He算法[19]

(d)Tufail算法[20]

(e)Xie算法[21]

(f)本文算法图8 城市有雾图像去雾效果对比图Fig.8 A comparison of defogging effects of image of city with fog

由图9可见:Tarel算法在整幅图像颜色饱和度较低,存在噪声干扰;He算法在整幅图像偏暗,但去雾效果良好;Tufail算法使图片呈现大面积蓝黑色,出现严重失真现象;Xie算法在树干和车辆边缘存在一些块状效应,整体颜色偏暗;本文算法在远景浓雾区域去雾效果良好,色彩饱和度在视觉感受上更为自然真实。

(a)原图

(b)Tarel算法[18]

(c)He算法[19]

(d)Tufail算法[20]

(e)Xie算法[21]

(f)本文算法图9 道路有雾图像去雾效果对比图Fig.9 A comparison of defogging effects of road foggy image

由图10可见:Tarel算法在整幅图像颜色偏灰暗,色彩饱和度较低;He算法在天空区域偏暗,存在失真;Tufail算法在远景区域呈现大面积失真,颜色过暗;Xie算法在建筑物边缘存在光晕,整体颜色不够明亮;本文算法在远景山体及浓雾区域去雾效果良好,色彩饱和度在视觉感受上更为自然真实。

(a)原图

(b)Tarel算法[18]

(c)He算法[19]]

(d)Tufail算法[20]

(e)Xie算法[21]

(f)本文算法图10 乡镇有雾图像去雾效果对比图Fig.10 A comparison of defogging effects of country foggy image

在图11中,Tarel算法在远景区域还残存少量薄雾;He算法在远景区域出现失真现象;Tufail算法在远景区域呈现大面积黑色,图片出现失真现象;Xie算法在建筑物边缘存在一些块状效应,并且图片亮度偏低;本文算法在远景区域去雾效果相对良好,色彩饱和度在视觉感受上更为自然真实。

(a)原图

(b)Tarel算法[18]

(c)He算法[19]

(d)Tufail算法[20]

(e)Xie算法[21]

(f)本文算法图11 港口有雾图像去雾效果对比图Fig.11 A comparison of defogging effects of port foggy image

3.2 图像去雾评价指标

客观质量评价采用通用质量指数(Universal Quality Index,UQI)[22]、结构相似度(Structural Similarity Index Measurement,SSIM)[23]、峰值信噪比(Peak Signal-to-Noise Ratio,PSNR)[24]和信息熵[25]这4个评价指标。结构相似度和通用质量指数为有雾图像和复原图像结构相似性的评价指标,数值越高表示去雾后的图像结构越合理;峰值信噪比和信息熵分别是衡量图像失真水平以及图像信息含量的评价指标,数值越大表示图像信息越丰富,图像细节越清晰。

4组对比实验的评价结果如表1~表4所示。

表1 第1组图像基于5种去雾算法去雾后的客观评比结果Table 1 Objective evaluation results on the first group of dehazed images based on five defogging algorithms

表2 第2组图像基于5种去雾算法去雾后的客观评比结果Table 2 Objective evaluation results on the second group of dehazed images based on five defogging algorithms

表3 第3组图像基于5种去雾算法去雾后的客观评比结果Table 3 Objective evaluation results on the third group of dehazed images based on five defogging algorithms

表4 第4组图像基于5种去雾算法去雾后的客观评比结果Table 4 Objective evaluation results on the fourth group of dehazed images based on five defogging algorithms

由于Tarel采用的中值滤波方法会造成复原图像在景深发生突变的边缘出现光晕现象,在第1组对比实验中表现稍差,在其他3组对比实验中仅次于本文,也展现出了相对良好的复原效果;He的算法由于对大气光估值不准确,容易造成天空区域的失真,在第1组对比实验中评比结果仅次于本文,但在其他3组对比实验中表现稍差;由于Tufail的算法在YCbCr空间进行大气光值以及透射率的求取,造成复原图像色彩饱和度过高,在4组对比实验中表现最不理想;Xie的算法基于PSNR对透射率中的调节参数进行改进,缺乏对于大气光值估计以及透射率细化的改进,容易造成图像部分失真,在4组对比实验中表现较差,未达到理想效果;本文在改进了对透射率以及大气光值估计的基础上,又增加了补偿模型进一步改善了图像的色彩饱和度,所以在4组对比实验的评比结果中均达到了最优值,验证了本文算法的有效性。

4 结 论

结合暗通道先验原理本文提出了一种结合暗亮通道先验的远近景融合去雾算法。首先提出了改进的二维Otsu图像分割算法,进而改进了传统暗通道算法和大气光散射模型,再通过暗亮通道融合模型求取大气光图,进而使用原始有雾图像的灰度图作为引导图像对透射率进行细化,最后引入基于视觉感知的亮度/颜色补偿模型提升了图像的饱和度和对比度。通过图像质量评估实验得出,本文算法在主观和客观角度均取得最好的效果,可以得到更加清晰、细节更加突出、结构更加明显的复原图像,更适于人眼的观察。

猜你喜欢

透射率先验像素点
康德定言命令的演绎是一种先验演绎吗?——论纯粹知性与实践理性在先天原则证成方面之异同
基于暗通道先验的单幅图像去雾算法研究与实现
基于局部相似性的特征匹配筛选算法
先验想象力在范畴先验演绎中的定位研究
一种X射线图像白点噪声去除算法
基于暗原色先验与WLS的图像去雾算法
基于canvas的前端数据加密
图像采集过程中基于肤色理论的采集框自动定位
图像去雾中的大气光强度自适应恢复算法研究
先验的风