基于暗通道先验的图像去雾改进

2019-06-10 01:01冯昕晨穆平安
软件导刊 2019年2期

冯昕晨 穆平安

摘 要:雾天环境一般会导致相机拍摄的图像对比度下降、色彩失真。传统暗通道先验去雾算法虽然可以估算雾天透射率并获得较好的去雾效果,但仍然存在算法复杂度高、容易出现块效应,以及明亮区域色彩偏离问题。针对上述问题提出一种改进的去雾算法,该算法通过引入容差机制校正明亮区域的透射率,然后利用引导滤波进一步细化透射率。实验结果表明,使用改进后的算法可有效改善色彩偏离问题,提高运算速度。

关键词:图像去雾;暗原色先验;引导滤波;容差机制

DOI:10. 11907/rjdk. 181898

中图分类号:TP317.4文献标识码:A文章编号:1672-7800(2019)002-0145-03

Abstract:In a foggy environment, images captured by the camera may cause a drop in contrast and color distortion. Although the traditional dark channel prior defogging algorithm can estimate the fog day transmittance and obtain better defogging effect, there is still a problem that the algorithm is high in complexity, prone to blockiness, and of bright area color deviation. In view of the above problems, this paper proposes an improved defogging algorithm, which corrects the transmittance of the bright area by introducing a tolerance mechanism, and then uses guide filtering to refine the transmittance. Experimental results show that the improved algorithm can effectively improve the color distortion and improve the speed of operation.

Key Words:image dehazing; dark channel prior; guided filter; tolerance mechanism

0 引言

在雾天条件时,渗透在空气中的雾与尘埃会模糊人们的视线,户外景物的可见度大幅降低。此时在户外获得的图像会严重退化,并且图像对象的对比度与颜色等特征也将出现衰减,从而大大降低了图像应用价值[1]。因此,在图像处理中应用去雾技术有着重要意义。

目前,图像去雾方法主要分为两类:基于非物理模型的方法与基于物理模型的方法。前者主要通过图像增强方法达到去雾目的,如:直方图均衡化、Retinex 算法、同态滤波、小波变换等。该类方法在一定程度上可达到去雾效果,但可能会造成一定的信息损失;后者则是建立雾天成像的物理模型,并且利用一定先验知识对图像进行去雾。通过该方法恢复出的无雾图像具有自然的视觉效果,且一般不会丢失信息。

Tan等[2]根据无雾图像对比度高于有雾图像的特点,最大化地将图像局部对比度复原,但复原图像颜色通常过于饱和;Fattal[3]假设大气的局部小范围区域内反射率恒定且为常数,计算介质透射率,最终复原出无雾图像,但其前提假设限制了该方法应用范围;He等[4]通过大量实验研究提出暗原色先验规律,利用软抠图算法细化介质透射率,最终获得很好的去雾效果。但是软抠图方法会引入大量计算与存储开销,进而影响算法处理速率,并且由于暗原色先验本身的局限性,使恢复图像在明亮区域存在色彩失真现象。为此,本文提出使用引导滤波代替软抠图算法提高处理速度。同时,针对明亮区域色彩失真问题提出一种改进方法,利用容差机制修正透射率,使复原图像清晰、自然。

1 暗原色先验理论

1.1 大气散射模型

在现有图像去雾技术中,被广泛应用的自然模型为大气散射模型,其描述了在雾霾与光照共同作用下的成像机制。如果太阳光在物体表面形成反射光,反射光在通过雾霾过程中会发生散射,只有一部分能量能够到达镜头。同时,太阳光也散射在悬浮粒子表面,形成摄像机接收的大气光。因此,摄像头中的成像可由两部分组成,即透射的物体亮度与散射的大气光照。

其中,[I(x)]为相机得到的图片,即待去雾图像;[J(x)]为物体反射光强度,即清晰无雾的图像;[t(x)]是媒介透射率,即能順利透过雾霾到达摄像头的比率;[A]是全局大气光。由式(1)可知,目标为从已有图像中计算得到原始无雾图像、透射率以及大气光成分。

1.2 暗通道理论

在大多数非天空的局部区域,一些像素通常至少有一个颜色通道,并且数值非常低。也即是说,该区域光强度最小值是个非常小的数字。因此,对于任意输入图像[J(x)],暗通道可以表示为:

其中[Ω(x)]表示以[x]为中心的图像窗口,[Jc(y)]表示RGB图像某一点[y]的某一通道。[Jdark(x)]是无雾图像[J]的暗通道。根据暗通道先验理论可得,对于[J]的非天空区域,[Jdark(x)]的值趋近于0。

1.3 粗透射率求解

从式(2)可以看出,无雾图像的暗通道像素亮度很低,甚至接近于0。因此,这些暗像素可用于评估图像部分受雾影响的程度,并估算透射率[t(x)]。根据基本代数知识可知,式(1)需要在先验信息基础上才可求出定解,因此假定在每个窗口中的透射率[t(x)]为常数,定义为[t(x)],并且假设A值已定。将式(1)变形为:

对等式(3)的两边执行两次最小值运算,可得:

结合之前的暗原色理论,且[Ac]通常情况下为正数,可得出:

将式(5)带入式(4)中可得粗透射率:

然而,即使是晴天白云,空气中也有一些颗粒,看远处物体仍然可以感受到雾的影响。另外,雾的存在可以让人感受到景深效果。因此,在去雾过程中,有必要保留一定程度的雾,即引入一个在[0,1]之间的因子[ω]:

1.4 全局大气光[A]估计

按照亮度大小,从雾化暗通道图中提取前0.1%的像素,然后在这些位置中,从原始有雾图像[I(x)]中找到对应具有最大亮度的点,将该值作为[A]值。

2 改进算法

2.1 粗透射率修正

通过式(7)得到粗透射率后,可引入引导滤波进行优化。引导滤波器是一种局部线性图像滤波器,相比于软抠图方法,其算法复杂度更低,并具有良好的边缘保持性能。根据定义,可得到在大小为[wk]、以像素[k]为中心的窗口中,输出图像与引导图的局部线性关系为:

其中[q]为输出图像,[I]为引导图,[i]和[k]为像素索引,[a]、[b]为线性系数且在局部窗口[k]中为常数。对上式求导后可得[?q=a?I],从而确保了输出图像边缘仅在引导图像具有边缘时存在。

为使输出图像与真实去雾图像尽可能接近,并确定线性系数[a]和[b],需将运算转化为最优化问题,使下式值最小:

利用线性回归可求解线性系数[(ak,bk)]:

其中[μk]和[σ2k]分别表示[I]在局部窗口[wk]中的均值与方差,[w]是窗口内的像素数,[pk]是[p]在窗口中的均值。根据式(8)可得:

其中,[ai]、[bi]表示在局部窗口中的平均值。

假定引导图像与滤波器输入图像相等,即[I=p],此时[(ak,bk)]可求得:

其中[μk]和[σ2k]分别表示[I]在局部窗口[wk]中的均值与方差,[ε]为调整参数。

当[ε=0]时,[ak=1],[bk=0],当[ε>0]时,有以下两种情况:①当像素[i]在高方差区域时,有方差[σ2k>>ε],输出像素值与输入基本不变,输出图像保持了原有图像的细节;②当像素[i]在高平滑区域时,有方差[σ2k<<ε],输出像素值是窗口内像素的均值,输出图像的边缘具有平滑的效果。即在高方差区域,保持值不变,在平滑区域,使用临近像素平均值。

2.2 明亮区域优化

暗原色先验的统计规律是通过实验观察基于晴天的非天空区域无雾图像,当存在诸如天空或白色物体等大面积明亮区域时,其像素值很大,很难找到像素值接近于零的暗原色点,因此统计规律不成立。若不考虑假设,根据式(3)推导出的准确透射率应为:

与式(6)相比可知,对于明亮区域,求得的透射率会偏小,从而导致复原后产生明显色差。因此,需引入参数[K]调整每个像素对应的透射率补偿。若区域满足[I-AK],则被认为满足暗通道先验规律,依旧保持之前的透射率。

根据上述定义,得出修正后的透射率为:

3 实验结果

为了验证优化算法,利用Matlab R2014a软件在Win7系统中进行仿真实验。仿真结果如图1所示。对比图1(c)与图1(d),可以明显看出优化后的透射率图具有更多细节;对比图1(e)与图1(f),可看出利用本文算法去雾的图像色彩更加柔和,并且在树叶边缘处明显消除了块效应。

为验证本文算法能改善明亮区域的色彩偏移问题,特选取包含天空的图片,仿真结果如图2所示。比较图2(c)与图2(d),可以清楚地看到,优化后的透射率图具有更多细节;图2(e)为He算法去雾后的复原图,由于天空区域的透射率估计过小,复原后图片引入了大量噪声,且色调明显偏暗;本文算法由于引入容差机制后修正了透射率,图2(f)中天空部分明显变亮,边界也更加清晰。

为了客观评价不同去雾方法的效果以及改进后去雾方法的优良特性,选择PSNR峰值信噪比与运行时间两个指标进行评价。PSNR值越大,说明复原后图像失真越小;运行时间越短,说明算法实时性越好。去雾算法客观指标如表1所示。

4 结语

本文基于暗原色先验的去雾算法,针对明亮区域色彩失真问题,引入容差机制修正其透射率,针对运算速率低的问题,采用暗原色与引导滤波相结合的方法,通过Matlab仿真,表明本文提出的改进算法具有良好的去雾效果,能够有效消除块效应,提高运算速度。去雾后图像的主观视觉效果与客观评价都得到了明显提升。

参考文献:

[1] 陈剑鹏, 毕笃彦, 张晟翀. 基于暗通道理論的快速单幅图像去雾算法[J]. 计算机工程与设计, 2014, 35(6):2047-2051.

[2] TAN R T. Visibility in bad weather from a single image[C]. CVPR 2008: Proceedings of the 2008 IEEE Conference on Computer Vision and Pattern Recognition,2008:1-8.

[3] FATTAL R. Single image dehazing[J]. ACM Transactions on Graphics,2008,27(3): 1-9.

[4] 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,33(12): 2341-2353.

[5] 蒋建国,侯天峰,齐美彬. 改进的基于暗原色先验的图像去雾算法[J]. 电路与系统学报,2011,16(2):7-12.

[6] 王雪梅, 鞠铭烨. 基于暗通道先验的快速图像去雾[J]. 科学技术与工程,2016,16(20):1437-1443.

[7] 李加元, 胡庆武, 艾明耀, 等. 结合天空识别和暗通道原理的图像去雾[J].中国图象图形学报, 2015, 20(4):514-519.

[8] 张晶晶,陈自红,张徳祥,等. 基于暗原色先验原理的偏振图像浓雾去除算法[J]. 计算机应用,2015,35 (12):3576-3580.

[9] TAREL J P,HAUTIRE N. Fast visibility restoration from a single color or gray level image [C]. Proceedings of the 2009 IEEE 12th International Conference on Computer Vision,2009: 2201-2208.

[10] 张仁斌,李兴兴,夏宏丽. 基于景深的单幅图像快速去雾算法[J]. 计算机工程,2014, 40(2):237-239.

[11] 卢鹏丽,张强. 雾天图像清晰化方法研究[J]. 计算机应用与软件, 2013, 30(8): 178-180.

[12] 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.

[13] 陈功,王唐,周荷琴. 基于物理模型的雾天图像复原新方法[J]. 中国图象图形学报,2008,13(5): 888-893.

[14] 吳迪,朱青松. 图像去雾的最新研究进展[J]. 自动化学报,2015,41(2):221-239.

[15] 孙伟,李大健,刘宏娟,等. 基于大气散射模型的单幅图像快速去雾[J]. 光学精密工程,2013,21(4):1040-1046.

[16] 李大鹏,禹晶,肖创柏. 图像去雾的无参考客观质量评测方法[J]. 中国图象图形学报,2011,16(9):1753-1757.

[17] 郭璠,蔡自兴,谢斌,等. 图像去雾技术研究综述与展望[J]. 计算机应用,2010,30( 9): 2417-2421.

[18] WANG G Y,REN G H,JIANG L H,et al. Single image dehazing  algorithm based on sky region segmentation[J]. Information Technology Journal,2013,12(6):1168 -1175.

[19] TRIPATHI A K,MUKHOPADHYAY S. Single image fog removal  using anisotropic diffusion[J]. IET Image Processing,2012,6(7): 966-975.

[20] 胡伟,袁国栋,董朝,等. 基于暗通道优先的单幅图像去雾新方法[J]. 计算机研究与发展,2010,47(12) : 2132-2140.

[21] 褚宏莉, 李元祥, 周则明, 等. 基于黑色通道的图像快速去雾优化算法[J]. 电子学报,2013,41(4):791-797.

(责任编辑:黄 健)