刘 晨,田东平
(喀什大学计算机科学与技术学院,新疆喀什 844000)
引导滤波是一种局部线性模型滤波,利用引导图像得到输出图像,引导图像可以是另一个图像,也可以是输入图像本身.引导滤波在计算机视觉中有多重应用,包括去雾、羽化、平滑、图像增强、图像压缩等.本文介绍经典引导滤波[1]以及四种改进的引导滤波,改进的引导滤波分别是Weighted Guided Image Filtering[2]、Gradient Domain Guided Image Filtering[3]、LoG 边缘算子改进的加权引导滤波[4]和加权聚合图像引导滤波[5].
由于沙尘雾霾[6]等因素的影响,得到的图像存在图像对比度低、图像模糊等问题,因此需要对沙尘、雾霾等图像进行清晰化处理.本文介绍经典的暗通道先验算法[7-8],并且使用五种引导滤波对算法中的传输率图进行进一步修正,对实际拍摄的沙尘图像利用暗通道算法完成清晰化处理后可得到对比度更高的图像.
首先定义输入图像、引导图像和输出图像分别为p,I,q,则引导滤波基本公式为
其中:ak和bk是参数,wk是矩形窗口.根据式(1)定义代价函数,求解ak和bk,代价函数定义为
式(2)中ε是正则化参数.对式(2)求最小值,可得:
在式(3)(4)中,|w|是窗口wk像素个数,μk和是引导图像I在窗口wk中的均值和方差,是输入图像在窗口wk中的均值.引导滤波伪代码可以表示如下:
Weighted Guided Image Filtering 这种改进的引导滤波也是基于引导滤波算法的.改进代价函数可重新定义为
分别求ak和bk如下:
其中
式(6)中,N是图像像素点总数;ζ是一个常数,通常选择为(0.001*L)2,L为输入图像的动态范围;σ2(i)表示以像素点i为中心的3*3 窗口内像素方差.伪代码和经典导向滤波计算相似.
Gradient Domain Guided Image Filtering 这种改进的引导滤波也是基于引导滤波算法的.改进代价函数可重新定义为
求得ak和bk分别为
伪代码和经典导向滤波计算相似.
这种改进的引导滤波和上两节改进算法类似,也是基于引导滤波算法的.改进代价函数可重新定义为
加权聚合图像引导滤波利用均方误差计算每个滤波窗口内的置信度,代价函数以及ak、bk与经典引导滤波求法相同,其伪代码如下:
为了客观的评价五种引导滤波性能,采用峰值信噪比PSNR 和结构相似性度指数SSIM[9-10]作为评价指标度量不同引导滤波性能.为方便起见,引导滤波、Weighted Guided Image Filtering、Gradient Domain Guided Image Filtering、LoG 边缘算子改进的加权引导滤波和加权聚合图像引导滤波分别简写为GF、WGF、GDGF、LOGGF 和WAGF.参数ε=0.001,r=15.图1 为不同导向滤波算法处理后的图像.
图1 不同导向滤波算法处理结果
图1 中(a)是原图,(b)到(f)分别是GF、WGF、GDGF、LOGGF 和WAGF 五种导向滤波处理结果.表1 是不同导向滤波算法PSNR 和SSIM 的比较,因为五种导向滤波的基本原理没有本质区别,他们处理结果和客观评价标准基本相似.
表1 不同导向滤波算法PSNR和SSIM的比较
在计算机视觉领域中,广泛用于描述朦胧图像的模型为
式中:I表示观察到的模糊图像,如沙尘图像,雾霾图像等;J是需要得到清晰图像;t是传输率;A是大气光值.根据暗通道先验算法原理,在图像的非天空区域中,至少一个通道中一些图像强度只非常低接近于0值,从而定义暗通道:
其中,Ω(x)表示以x为中心的矩形块,c是图像三通道.
根据式(9)可以得到
根据暗通道定义可以得到
因为Jdark→0,从而可以得到传输率:
在式(12)中引入一个参数w,从而得到最终的传输率:
本文使用五种导向滤波对传输率图t(x)进行进一步修正.对于大气光值A的选取原则是:首先获取暗通道中亮度最大的0.1%的像素,在选中的像素当中,大气光值A为输入图像I 中强度最大的像素点.
用上述五种不同导向滤波对暗通道算法中的传输率图进行修正.为方便起见,GF、WGF、GDGF、LOGGF 和WAGF 修正暗通道算法分别简写为DCPGF、DCPWGF、DCPGDGF、DCPLOGGF和DCPWAGF.暗通道算法中w为0.95,Ω(x)半径为5.采用峰值信噪比PSNR 和结构相似性度指数SSIM[11-12]作为评价指标度量性能.
下文所使用的图片是2023 年3 月份喀什沙尘天气情况下使用手机拍摄的喀什大学新泉校区照片.图2、3、4 之(a)分别是有些许、少许、大量天空等三种类型沙尘图片.在些许天空的沙尘图片中,使用五种不同导向滤波改进暗通道算法中的传播率图,都能较好的增加图像对比度,如图2之(b)—(f)所示.由于暗通道算法本身对天空区域处理效果不佳,随着天空区域的增多,暗通道处理结果效果依次递减,如图3 之(b)—(f)和图4 之(b)—(f)所示.表2是不同暗通道算法对不同类型图片处理后PSNR 和SSIM 的比较结果,特别注意的是最后DCPWAGF 方法在PSNR 和SSIM 效果上要弱于前四 种 DCPGF、DCPWGF、DCPGDGF 和DCPLOGGF 方法,原因是DCPWAGF 方法和DCPGF、DCPWGF、DCPGDGF、DCPLOGGF 四种方法处理流程有一定区别(前面伪代码过程中已有详细说明).
表2 不同暗通道算法对不同类型图片处理后PSNR 和SSIM 的比较
图2 些许天空图片不同DCP 算法处理结果
图3 少许天空图片不同DCP 算法处理结果
图4 大量天空图片不同DCP 算法处理结果
本文使用matlab 编程实现了经典引导滤波以及四种改进的引导滤波,并且使用五种导向滤波对经典的暗通道先验算法中的传输率图进行进一步修正,通过对实际沙尘照片的处理,验证了该方法的有效性.但是由于暗通道先验算法本身的缺陷,对含有大量天空区域清晰化处理效果不是非常理想.在后续研究中,需要结合深度学习相关方法进一步深入研究引导滤波和暗通道先验算法.