基于改进加权融合暗通道算法的图像去雾研究 [PDF全文]
(1.浙江科技学院 自动化与电气工程学院,杭州 310023; 2.浙大宁波理工学院 信息科学与工程学院,浙江 宁波 315100)
针对雾天情况下拍摄图像不清晰的问题,提出了一种改进的加权融合暗通道图像去雾算法。为实现图像降噪和保边的效果,利用直方图均衡化和双边滤波的方法对暗通道图像进行处理,同时通过对透射率权值和大气光值进行改进,并加权融合单尺度Retinex算法,使去雾后的图像更加贴合实际场景下的无雾图像。试验结果显示,本算法能有效地还原图像的清晰度和色彩,并且在颜色偏暗的雾化图像上去雾效果更佳。与暗通道去雾算法、单尺度Retinex算法及暗通道融合图像增强的去雾算法相比较,本算法在主观评价和定量评价上具有明显的去雾优势,因此本算法具有更强的鲁棒性,可以广泛应用于交通监控、目标检测和追踪等领域。
Research of image defogging based on improved weighted-fusion dark channel algorithm
WANG Rong1, SUN Yongzhi1, MA Lianwei2
(1.School of Automation and Electrical Engineering, Zhejiang University of Science and Technology, Hangzhou 310023, Zhejiang, China; 2.School of Information Science and Engineering, NingboTech University, Ningbo 315100, Zhejiang, China)
In order to solve the problem of image-blurring in foggy weather, an improved weighted-fusion dark channelalgorithm was proposed for image defogging. Histogram equalization and bilateral filtering algorithms were used to process the dark channel image to achieve the effect of image denoising and edge preserving. Meanwhile, the transmissivity weight and the atmospheric light value were improved in combination with the weighted-fusion single-scale Retinex algorithm to make the defogged images closer to the images without fog, according with actual scene. Experimental results show that the proposed method can effectively recover the sharpness and color of images, and the effect of defogging is better on the fogging images with dark background. Compared with the dark channel defogging algorithm, the single-scale Retinex algorithm and the dark channel fusion image enhancement defogging algorithm, the proposed algorithm has obvious advantages in subjective evaluation and quantitative evaluation. Thus, this algorithm is more robust and can be widely used in such areas as traffic monitoring, target detection and tracking.
引言

在雾霾天气下,悬浮在空中的颗粒物经过阳光折射和散射等作用后投射到成像设备上,使得拍摄的图像清晰度不高、色彩偏暗,给计算机视觉系统的处理带来了困难,因此研究图像去雾技术具有重要的现实意义。目前国内外研究在去雾算法上主要采用基于图像增强的方法和基于物理模型的方法。

基于图像增强的方法是通过提高图像的对比度和色调[1]等特征来达到去雾效果,典型的方法包括利用直方图均衡化[2-4]、线性平滑滤波[5]、Retinex算法[6-8]和小波变换[9]等方法对雾化图像进行处理。但是这些方法会导致图像退化或去雾效果不明显。

基于物理模型的方法主要是根据Narasimhan在2003年提出的大气散射模型[10],即将模型中的各参数进行定参或假设,再将模型用于图像去雾。最初的基于物理模型的方法需要通过估计场景深度、地理纹理情况[11]、人工提取景物和镜头距离[12]等信息来实现图像去雾,实际应用过于烦琐。2010年He等[13]提出通过暗通道先验技术来实现图像去雾,使得基于物理模型的图像去雾技术得到快速发展。暗通道先验技术是根据大气散射模型来估计透射率,最开始利用Softmatting软抠图来实现图像去雾,但该方法效率较低,不能满足实时性要求,后来使用导向滤波来细化透射率图像,虽然解决了效率低的问题,但是图像细节丢失严重。近些年随着深度学习技术的发展,采用深度学习算法学习雾霾的特征,通过搭建深度学习模型[14-16]实现图像去雾的方法,也得到了较快的发展,但该方法使用的是合成雾化数据集,对实际雾化图像的去雾效果还存在一定的局限性。以上这些方法都在一定程度上实现了去雾效果,然而都存在着较为明显的缺陷,尤其是在图像的边缘保持和降噪平滑处理等方面,效果并不明显。

针对上述图像去雾算法存在的问题,本研究提出了一种加权融合暗通道先验与单尺度Retinex的去雾算法,并提出了3点改进:1)将暗通道图像进行直方图均衡化和双边滤波处理,提高暗通道图像的边缘平滑性和消除图像噪声的作用; 2)将透射率权值w的计算进行改进,使得去雾后的图像效果更加自然; 3)将暗通道先验算法与单尺度Retinex算法进行加权融合,提升了图像的对比度同时也保持了图像的柔和性。通过对多种去雾算法进行对比试验,结果表明本研究提出的方法能有效地去除图像雾化。

1 暗通道先验去雾算法

在图像去雾方面,常用的雾天图像成像模型为式(1)所示的大气散射模型:

I(x)=J(x)t(x)+A[1-t(x)]。(1)

式(1)中:I(x)为雾霾图像; J(x)为去雾图像; t(x)为透射率; A为大气光照值。J(x)t(x)反映了无雾图像透射后作用到成像设备的结果; A[1-t(x)]反映了大气光值散射后作用到成像设备的结果,即图像的雾化效果。

He[13]通过统计大量的户外无雾图像发现,对于图像的非天空区域至少存在一个通道含有很小的像素值,并且几乎接近于0。暗通道公式为

式(2)中:Jdark为暗通道图像; c为R、G、B三通道中的某一通道; Jc(x)为无雾图像c通道内的像素值; Ω(x)为以x为中心的局部窗口。

根据He[13]提出的无雾图像特征和大气散射模型,对式(1)两边取最小值,得透射率表达公式:

式(4)中:Ic(x)为雾化图像c通道内的像素值; Ac为c通道内的大气光值。定义暗通道图像为

如果采用式(4)进行去雾,会导致图像过度去雾,使图像看起来非常不自然,因此应保留点雾化效果,故引入透射率权重值w:

根据式(1)得到去雾图像:

J(x)=(I(x)-A)/(t(x))+A。(7)

2 改进的暗通道去雾算法

图1 算法流程图<br/>Fig.1 Flow chart of algorithm

图1 算法流程图
Fig.1 Flow chart of algorithm

本研究先对暗通道图像进行图像预处理,得到边缘平滑且低噪声的暗通道图像; 再根据暗通道图像特征改进大气光值,得到透射率图像,通过大气散射模型求解无雾图像J1(x); 同时利用图像增强的方法求解无雾图像J2(x); 最后根据加权融合的方法得到去雾图像J(x)。算法流程如图1所示。

2.1 透射率和大气光值的求取

因为传统的雾化暗通道图像往往存在灰度级分布比较密集且图像对比度较低的问题,这就导致雾化暗通道图像在边缘保持和降噪平滑等方面效果较差。为了弥补这些缺陷,先对雾化暗通道图像进行直方图均衡化处理:

式(8)中:xi为第i个灰度级; Ic(xi)为c通道内第i个灰度级像素点的个数; r为图像的宽; h为图像的高; L为像素级的分布个数。

使用直方图滤波后的暗通道图像不会产生新的像素级,因此直方图滤波处理后的图像存在噪声且边缘不够平滑,故对直方图均衡化后的暗通道图像使用双边滤波处理。该方法不仅考虑了所求得中心点与相邻像素点之间的距离,还考虑了公式内部高斯卷积核所涉及的相似度、距离和色度等因素。直方图均衡化后的双边滤波处理公式如下:

式(9)中:xj为与xi相邻的第j个灰度级; Gs为距离产生的权重; Gr为高斯卷积核相关各因素的权重; Wi为归一化因子的倒数。

暗通道先验去雾算法[13]中,大气光值是通过暗通道上最亮点的值作为透射率的估计值,但这容易受到白色和黑色区域的干扰,故将大气光值A的算法做如下改进:

A'=max(B(xi))-min(B(xi))。(10)

式(10)中:A'为改进后的大气光值。

大气光值A'取决于暗通道图像的亮度,但暗通道图像只有一个通道,因此只能得到一个大气光值A'。根据式(7)可知,大气光值A'应为3通道,因此通过随机扩增的方法,将大气光值扩增为[A',A',A'],这样得到的大气光值更符合实际去雾情况,减少了光晕现象。

由式(6)可知,透射率图像质量取决于雾化暗通道图像和大气光值,根据式(8)~(10)可以得到透射率公式:

式(11)中:A'c为c通道的改进大气光值。

图2 透射率权值比例图<br/>Fig.2 Transmissivity weight scale

图2 透射率权值比例图
Fig.2 Transmissivity weight scale

Jie[17]将透射率权重值w设为0.95,但这对偏白的暗通道图像去雾后容易产生曝光。针对此问题,笔者研究发现图像上的黑白区域的面积比例对图像去雾效果存在一定的影响,经过大量的试验验证,得出白色区域的像素点个数与白色和黑色区域的像素点个数比值和透射率权重值w呈现一定的比例关系,比例关系如图2所示:b(B(xi))为双边滤波后的暗通道图像上像素值在(0,57)之间的像素点个数; w(B(xi))为双边滤波后的暗通道图像上像素值在(197,255)之间的像素点个数,根据图像计算白色和黑色像素级的像素点个数。当w(B(xi))远小于b(B(xi))的时候,透射率权重值w近似为0.95; 当w(B(xi))远大于b(B(xi))的时候,透射率权重值w近似为0.70。

图3为不同带雾图像不同透射率权值的去雾效果对比。图3上一排图像中,原图的白色灰度级区域大于黑色灰度级区域,透射率权值w为0.90的去雾图像整体偏暗,相当于图像过度去雾,而透射率权值w为0.80的去雾效果就比较自然。图3下一排图像中,原图的黑色灰度级区域大于白色灰度级区域,透射率权值w为0.90的去雾图像比较清晰,而透射率权值w为0.80的去雾图像去雾效果不佳。

图3 不同透射率权重值去雾效果对比<br/>Fig.3 Comparison of fogging effect of different transmissivity weights

图3 不同透射率权重值去雾效果对比
Fig.3 Comparison of fogging effect of different transmissivity weights

由于使用双边滤波后的暗通道图像为负值,为使其像素值大于0,对其进行反归一化操作:

t1(xi)=t(xi)。(12)

式(12)中:~为取反操作。

t2(xi)=(t1(xi))/(255)。(13)

再将式(13)进行导向滤波处理来细化透射率图像,提升图像去雾速率:

t3(xi)=∑Gi=0W(G)t2(xi)。(14)

式(14)中:W(G)为导向图。

最后得到去雾图像J'(xi):

J'(xi)=(I(xi)-A')/(t3(xi))+A'。(15)

2.2 去雾算法的加权融合

Singh等[18]采用加权平均的图像融合方法,但得到的去雾图像会出现去雾不彻底的问题,并且改进暗通道去雾算法得到的去雾图像不自然,而单尺度Retinex算法在保持图像原始亮度、压缩图像对比度和增强图像的暗处信息等方面处理效果较好,因此采用单尺度Retinex算法作为加权融合的方法。去雾图像与图像的透射率有关,偏白的雾化图像亮度高而对比度低,而偏暗的雾化图像,暗处有用信息太少,增强暗处信息才能使得去雾后的图像更加自然,因此,提出了一种改进的加权融合算法:

J(xi)=max(t3(xi))J1(xi)+(1-max(t3(xi)))J2(xi)。(16)

式(16)中:J1(xi)为改进的暗通道算法得到的准去雾图像; J2(xi)为单尺度Retinex算法得到的准去雾图像。

图4为加权融合前后的去雾效果对比。图4(a)为原图,图4(b)为加权融合前的去雾效果图,图4(c)为加权融合后的去雾效果图。由图4可知,加权融合前的图像不太自然,而加权融合后的图像整体更柔和,与实际拍摄的无雾图像贴合。

图4 加权融合前后图像去雾效果<br/>Fig.4 Image defogging effect before and after weighted fusion

图4 加权融合前后图像去雾效果
Fig.4 Image defogging effect before and after weighted fusion

3 试验验证

为了验证本研究提出的去雾算法的有效性,在处理器为Inter(R)Core(TM)i5-9300H,CPU为2.40 GHz,GPU为1650Ti,内存为8 GB的计算机上进行去雾试验,试验数据分为3类:带雾风景图、带雾目标图和带雾夜景图。

3.1 结果与分析

为了验证本算法能够较好地去除图像的雾化问题,本研究选择有代表性的带雾夜景图、带雾汽车图、带雾风景图和带雾斜阳图各一幅,将本文去雾算法同单尺度Retinex去雾算法、暗通道先验去雾算法、暗通道算法融合单尺度Retinex去雾算法(暗通道+SSR)及暗通道算法融合多尺度Retinex去雾算法(暗通道+MSR)[19]做对比。各算法去雾效果图如图5所示,从图中可以看出,本文算法能够有效地还原图像的清晰度和色彩,并且在颜色偏暗的雾化图像上去雾效果更佳。

图5 各算法去雾效果<br/>Fig.5 Defogging effect of each algorithm

图5 各算法去雾效果
Fig.5 Defogging effect of each algorithm

3.2 定量评价

为了客观评价不同算法的去雾效果,选择平均梯度、标准差及信息熵作为评价指标对不同算法进行量化比较。平均梯度是衡量图像清晰度的客观标准,平均梯度越大,图像清晰度越好。标准差是衡量图像质量的客观标准,标准差越小,图像越稳定。信息熵是衡量图像包含的有用信息数量的客观标准,信息熵越大,图像包含有用信息越多。定量评价实验结果如表1~4所示。

表1 带雾夜景图的去雾算法评价指标<br/>Table 1 Evaluation index of defogging algorithm for foggy night scene

表1 带雾夜景图的去雾算法评价指标
Table 1 Evaluation index of defogging algorithm for foggy night scene

表2 带雾汽车图的去雾算法评价指标<br/>Table 2 Evaluation index of defogging algorithm for foggy vehicle

表2 带雾汽车图的去雾算法评价指标
Table 2 Evaluation index of defogging algorithm for foggy vehicle

表3 带雾风景图的去雾算法评价指标<br/>Table 3 Evaluation index of defogging algorithm for foggy scenery

表3 带雾风景图的去雾算法评价指标
Table 3 Evaluation index of defogging algorithm for foggy scenery

表4 带雾斜阳图的去雾算法评价指标<br/>Table 4 Evaluation index of defogging algorithm for foggy slant sun

表4 带雾斜阳图的去雾算法评价指标
Table 4 Evaluation index of defogging algorithm for foggy slant sun

3.3 结果与讨论

表1~4可见,在标准差的评价指标上,本文去雾算法的数值较单尺度Retinex去雾算法略高,因为图像标准差是描述像素点数值与平均值的差值,两者差值越大,说明像素点数值越大,图像整体越饱和; 而单尺度Retinex算法去雾后的图像像素点数值整体偏高,但由于图像像素点平均值也偏高,因此标准差小,在图像试验呈现出曝光的问题,和实际无雾图像相比去雾效果较差,故应该根据整体评价指标来看。采用本文算法去雾后图像纹理更清晰,图像的离散程度最高,信息也最丰富。综上所述,本研究所提出的去雾算法在去雾效果上有较大的优势。

4 结 语

本研究针对传统去雾算法去雾不彻底的问题,在暗通道去雾算法的基础上进行改进,融合图像增强方法提出了一种新的去雾算法。试验验证结果表明本文算法较大地改善了图像去雾效果,且在颜色偏暗的雾化图像上去雾效果更佳。因此,本文算法可应用到图像去雾领域以实现不同场景下雾化图像的有效去雾。然而,本文算法在有大面积天空的雾化图像上去雾效果仍显不足,这有待深入研究。

参考文献