基于稀疏表达和暗通道的图像去雾霾算法
2017-06-28徐志江卢为党
徐志江,安 晟,卢为党
(浙江工业大学 浙江省通信网技术应用研究重点实验室,浙江 杭州 310023)
基于稀疏表达和暗通道的图像去雾霾算法
徐志江,安 晟,卢为党
(浙江工业大学 浙江省通信网技术应用研究重点实验室,浙江 杭州 310023)
目前,雾霾所引起的图像模糊问题,主流的算法主要都侧重于处理雾气,对于霾没有相关的处理.针对此缺陷,提出了一种联合K-SVD(K-singular value decomposition)稀疏算法和暗通道先验算法的全新算法,来克服雾霾引起的图像模糊问题.图像的处理主要分两个步骤:第一步是运用K-SVD稀疏算法去除图像中的霾恢复出只含雾气的图像,第二步通过经典的暗通道算法去除图像上的层层雾气.计算机仿真结果表明,该方法对于图像的处理结果要优于FVR(Fast visiblity restoration)算法,暗通道先验算法和直方图均衡化算法.
K-SVD稀疏算法;暗通道先验算法;去雾霾
近年来,雾霾天气频发,给日常出行带来严重不便,连旅游时拍下的照片都很不清晰.众多研究人员对此现象做了大量的分析和研究,提出大量去雾霾算法可供参考[1],主要分为两类算法:一是基于图像增强的算法[2],不需要求解大气散射模型,可以通过增强图像对比度和颜色来提高图像质量[3].Retinex算法[4]和直方图均衡化算法[5]都是典型的此类算法.基于颜色恒常理论的Retinex算法能有效的去除雾在有雾霾图像中的比例,从而获得带有图像信息部分,很好的恢复出无雾图像.直方图均衡化算法对于整体特征比较单一的图像去雾霾效果很明显,但是受参数的影响比较大,特别是取样数的大小,可能会造成局部图像的过增强.此类算法最大的缺点就是凭主观知觉对图像和雾所占的比率进行估计,对于薄雾所形成的图片的去雾效果不是很理想;二是基于图像复原的算法[6],此类算法从图像的成雾模型出发,得出影响图片质量的相关参数,从而恢复出高清的图像.FVR算法[7]和暗通道先验算法(Dark channel defog, DCP)[8]就是此类算法,FVR算法最重要的特点就是运行速度快,其基于大气散射模型,通过中值滤波[9]进行去雾霾,去雾霾效果明显,但是由于使用中值滤波,所以图像周边有明显分界效果,可能会导致失真.暗通道算法是He等[10-12]根据大气物理模型和大多数非天空局部区域里某一些像素总会有至少一个颜色通道趋于零的统计规律,可以计算出图片的相关参数,从而恢复原始图像,对雾气处理效果较好.
以上算法主要专注图像中雾气的恢复,对霾并没有进行深入处理.基于字典学习[13]的稀疏表示在去除图像中各种杂质的研究中有很好的效果[14].使用稀疏表示算法可以将有用图像信息用稀疏字典去模拟构建来表示[15],而霾不含有特定的结构特性,从而稀疏表示能有效的恢复有用图像信息去除霾等杂质成分.因此对于有雾霾图片的处理分为两步:首先,使用K-SVD[16]稀疏算法去除图像中杂质颗粒形成的霾,恢复出只含雾气的图像,第二步通过暗通道先验算法去除图像上由水汽形成的雾气,从而较好的实现了对图像中雾霾的处理.
1 稀疏分解去霾的基本思想
基于字典学习的稀疏表示在去除图像中各种杂质方面有良好效果[17],雾霾天气中除了空气成分之外,还有一部分悬浮颗粒,如粉尘、烟雾和有机碳氢化物等微小粒子,这些颗粒聚集程度决定了雾霾等天气的出现.基于以上的雾霾特性以及稀疏表示对于杂质处理的优点,根据霾不含有特定的结构特性,而有用图像信息可用稀疏字典模型去模拟构建恢复图像,可将雾霾图像分解为有雾图像加上霾进行去霾处理,从而去除霾等杂质成分恢复为只含雾气图像.对雾霾图像可建立模型,即
Y=I+H
(1)
(2)
为了更好的表示图像信号I,我们需要找到一个恰当的字典D,使得表示信号DA最接近原始图像信号I.笔者的初始字典是DCT[20]字典,使用K-SVD算法能够通过更新字典D来很好的表示原始图像信号I[21].式(2)可转化为
(3)
使用K-SVD算法更新字典D的具体流程:
参数设置:原始输入图像信息Y=[y1,y2,…,yl]∈Rn×l,字典D(0),K为字典D(0)字典原子列数.
1)初始化:原始字典D(0)为DCT字典,将字典D(0)每列归一化.
2)字典更新:对于字典D(0)中的每一个列j=1,2,3,…,K,通过奇异值分解进行更新,即
以上步骤完成之后,字典进入下一次训练、更新,直至K次训练完成,得到稀疏字典.
2 暗通道先验去雾算法
使用K-SVD稀疏算法去除雾霾中的霾后只剩下含雾气的图像,现在只需要对雾气进行处理.暗通道算法以图片中成雾模型出发,获得影响图片质量的相关参数,从而恢复出高清的图像,对图片的处理效果好,因此采用该算法对雾气处理,通常有雾时拍摄出来的图片可以用基本模型进行模拟,即
I(x)=J(x)t(x)+A(1-t(x))
(4)
其中:x为图片的某一像素;I(x)为待去雾图像,也是我们已有的图像;J(x)为无雾天气下的图像,即我们要恢复的无雾霾图像;A为大气光成分;t(x)为透射率.光线在图像任意位置x处的透射率t(x)可表示为
t(x)=exp(-βd(x))
(5)
这里β为大气的散射系数,式(5)表明景物光线是随着景物深度d按指数衰减的.在RGB色彩空间中,R,G和B三个颜色通道在无雾情况下的颜色值Jc(x)组成J,同理,由R,G和B三个通道的雾化图像颜色值Ic(x)组成向量I.如下所述,下标c表示R/G/B某个通道的意思.去雾的本质就是从I中获取J,A,t.
暗通道先验理论指出:绝大多数非天空的局部区域里,某个像素点总有至少一个颜色通道具有很低的值,甚至接近于0.用公式表示为
(6)
其中:Jc(y)为图像的每个通道;Ω(x)表示以像素点x为中心的窗口,窗口的暗通道值是对该窗口内
的每个像素点分别求最小通道值,然后再对最小通道值求最小值得到.
有了该理论基础我们可以求解式(4),将式(4)做处理可以变形为
(7)
(8)
由式(6)可推导得
(9)
(10)
3 仿真结果
该算法运行环境如下:处理器2.70GHzIntelCorei5,内存8GB1 867MHzDDR3,MACOS操作系统,Matlab2014软件.实验图像数据选取不同场景下拍摄的几幅图像,进行去雾霾处理,通过与不同算法之间的比较,体现该算法的有效性.如图1,2所示,显示了此算法、FVR算法、暗通道算法和直方图均衡化算法分别对两幅图像进行去雾霾的效果图,图1分辨率为400×600的南瓜地处理图,2分辨率为525×600的城市处理图.
图1 南瓜地雾霾图像各算法处理结果Fig.1 The results of pumpkin haze image
图2 城市雾霾图像各算法处理结果Fig.2 The results of city haze image
根据图1,2的显示结果表明:几种图像去雾霾算法对图像的处理结果比原图的图像质量都有较大提高,从客观数据看暗通道算法和FVR两种算法所处理的图像结果比较清晰,直方图均衡化算法让颜色过于饱和,这也导致实际处理出来的图片不适于人眼观看,处理效果并没那么好.因为FVR使用中值滤波,所以图像物体边界有明显分界,对于边界处理不好,导致图像看起来有些失真,而暗通道算法效果比较自然,边缘细节保留完好.以上几种算法对霾的处理不理想,在图1,2(d~f)处理结果中可以看到仍有杂质存在.从图1,2(c)结果可看出:所提算法有效的去除了雾,保持了图片的原有信息,边缘细节保留完好,也有效去掉了图像中的霾;而且去除了图像中的冗余信息,简化了图像处理的复杂度.
在图像去雾霾领域,评价一个算法优劣的两个重要指标是图像质量和算法效率.对于去雾霾图像的质量,目前并没有一个量化的标准来衡量其优劣.图像去雾算法的目的是需要恢复出清晰的图像,同时为了避免图像过于清晰而导致失真.峰值信噪比(Peaksignaltonoiseratio,PSNR)是一种评价图像的客观标准.通常在图像处理后,输出的图像都会在某种程度与原始图像不同.为了衡量处理后的图像品质,我们通常会参考PSNR值来衡量某个处理程序能否令人满意.它是原图像与被处理图像之间的均方误差相对于(2n-1)2的对数值(n为每个采样值的比特数).PSNR值越大,就代表失真越少.结构相似度(Structural similarity , SSIM),是一种全参考的图像质量评价指标,它分别从亮度、对比度和结构三方面度量图像相似性.SSIM取值范围为[0,1],该值越大,表示图像失真越小.在实际应用中,可以利用滑动窗将图像分块,令分块总数为N,考虑到窗口形状对分块的影响,采用高斯加权计算每一窗口的均值、方差以及协方差,然后计算对应块的结构相似度SSIM,最后将平均值作为两图像的结构相似性度量.以上2个参数能够较好反映处理后图像的客观指标,由此笔者使用信噪比和结构相似度作为衡量指标.从表1可以看出:该算法在信噪比上跟其他算法相比数据较好,这是因为此算法中使用K-SVD稀疏算法,弥补了其他算法对霾没有深入处理的缺陷,也可以看出直方图均衡算法对霾的处理最差.而结构相似度是衡量恢复出的图像跟原本雾霾图像的结构对比的相似程度,从数据对比中可以看出使用该算法在结构相似度上表现出色,这表示在对雾霾图像恢复上不会跟原图像结构有太大差异,不会引起失真.而就FVR和直方图均衡算法来看,和仿真出的图片数据一样,FVR算法和直方图均衡算法的结构相似度较差,在边界上过度处理,引起失真.
表1 几种去雾霾算法仿真结果评价指标
Table 1 Evaluation indicators of the simulation results of several kinds of haze algorithm
算法类型信噪比/dB南瓜地图城市图结构相似度南瓜地图城市图笔者算法17.425615.85320.902150.83250暗通道算法14.123510.59800.884570.82125直方图均衡算法4.67593.71870.870640.61151FVR算法13.133312.76300.699350.77120
4 结 论
以图像去雾霾为出发点,介绍了当前的去雾霾算法现状,介于当前算法主要侧重对雾气的恢复,而对霾没有深入处理,从而提出了基于稀疏表示的图像去雾霾算法.稀疏表示可以根据霾不含有特定的结构特性,而有用图片信息可用稀疏字典模型去模拟构建恢复,由此可以进行去霾处理.该算法使用了经典的K-SVD字典设计算法,运用正交匹配追踪计算出与字典相乘的系数,用该系数结合K-SVD算法对字典的原子进行一一更新,结合暗通道算法最后得到干净无雾霾的图像.理论和仿真结果表明:基于K-SVD的稀疏表示和暗通道先验算法的图像去雾霾算法,处理效果良好同时克服了图像增强以及图像复原在去雾霾中存在的局限性,具有良好的实用价值.
[1] 韩婷.数字图像去雾算法研究[D].兰州:兰州大学,2013.
[2] 张东衡,沈永增,张敏捷.基于分形的低反差图像增强方法[J].浙江工业大学学报,2006,34(3):266-268.
[3] RUSSO F. An image enhancement technique combining sharpening and noise reduction[J]. IEEE transactions on instrumentation & measurement,2001,51(4):1921-1924.
[4] RAHMAN Z, JOBSON D J, WOODELL G A. Retinex processing for automatic image enhancement[J]. Journal of electronic imaging,2004,13(1):100-110.
[5] 张道华.雾霾条件下单幅图像去雾算法研究与实现[J].韶关学院学报,2015,36(6):8-13.
[6] LIU Q, ZHANG H, LIN M, et al. Research on image dehazing algorithms based on physical model[C]// International Conference Multimedia Technology(ICMT). Zurich, Switzerland: IEEE,2011:467-470.
[7] TAREL J P, HAUTIERE N. Fast visibility restoration from a single color or gray level image[C]// IEEE International Conference on Computer Vision(ICCV).Kyoto,Japan:IEEE Computer Society,2009:2201-2208.
[8] HE K, SUN J, TANG X. Single image haze removal using dark channel prior[J]. IEEE transactions on pattern analysis & machine intelligence,2010,33(12):2341-2353.
[9] 吕梅蕾,郑怡文.一种有效的基于中值滤波的BTC图像编码算法[J].浙江工业大学学报,2003,31(4):382-386.
[10] SONG Y, LUO H, HUI B, et al. An improved image dehazing and enhancing method using dark channel prior[C]//The 27th Chinese Control and Decision Conference (2015 CCDC). Qingdao, China: IEEE,2015:5840-5845.
[11] ZHANG Q,LI X. Fast image dehazing using guided filter[C]//International Conference on Communication Technology(ICCT).Melbourne, Australia: IEEE,2015:182-185.
[12] 杜以清.基于暗原色先验与Retinex的图像去雾算法及改进[D].兰州:西北师范大学,2015.
[13] ELAD M. Sparse and redundant representations: from theory to applications in signal and image processing[M]. Germany: Springer Publishing Company, Incorporated,2010.
[14] CHEN Y, ZHAN Y. A fast image denoising algorithm via over-complete dictionary[C]//Progress in Informatics and Computing (PIC), International Conference. Shanghai, China:IEEE,2014:321-325.
[15] 王建英.信号与图像的稀疏分解及初步应用[M].张春梅,译.1版.成都:西南交通大学出版社,2006.
[16] AHARON M, ELAD M, BRUCKSTEIN A. K-SVD: an algorithm for designing overcomplete dictionaries for sparse representation[J]. IEEE transactions on signal processing,2006,54(11):4311-4322.
[17] 易学能.图像的稀疏字典及其应用[D].武汉:华中科技大学,2011.
[18] ELAD M, AHARON M. Image denoising via sparse and redundant representations over learned dictionaries[J]. IEEE transactions on Image processing,2006,15(12):3736-3745.
[19] SONI A,HAUPT J.Estimation error guarantees for poisson denoising with sparse and structured dictionary models[C]//IEEE International Symposium on Information Theory. Honolulu,USA:IEEE,2014:2002-2006.
[20] 胡同森,周维,蒋成成.一种基于DCT系数和Fourier描述子的人脸识别方法[J].浙江工业大学学报,2010,38(5):557-560.
[21] 黄安民.基于感知字典的稀疏重建算法研究[D].成都:电子科技大学,2011.
(责任编辑:刘 岩)
Image dehaze algorithm based on sparse representation and dark channel
XU Zhijiang, AN Sheng, LU Weidang
(Zhejiang Provincial Key Laboratory of Communication Networks and Applications, Zhejiang University of Technology, Hangzhou 310023, China)
At present, to solve the problem of image blur caused by haze, most algorithms focus on eliminating blur caused by mist but ignore the blur caused by suspended particles. Aiming at solving the problem mentioned above, a novel algorithm based on K-SVD sparse algorithm and the dark channel priori algorithm is proposed. The algorithm can be divided into two steps: first, K-SVD sparse algorithm is employed to remove the dust particles in the image, obtaining a recovered, fog-only image. Second, the fog in the image is removed by means of the classic dark channel algorithm. The simulation results illustrate that the proposed algorithm is better than FVR algorithm, dark channel priori algorithm and histogram equalization algorithm, which proves the superiority of this method.
K-SVD sparse algorithm;dark channel prior algorithm;dehaze
2016-11-22
国家自然科学基金资助项目(U1509219,61471322,61402416)
徐志江(1973—),男,浙江绍兴人,副教授,研究方向为信道编译码、网络测量与建模、计算机网络及应用等,E-mail:zyfxzj@zjut.edu.cn.
TP391
A
1006-4303(2017)03-0315-05