张有航
(北京航空航天大学 机械工程及其自动化学院,北京 100191)
图像噪声是存在于图像数据中的不必要的或多余的随机性干扰信息,这些噪声信息会不同程度的影响人眼观看以及图像分析应用。常见的噪声基本有高斯噪声、椒盐噪声[1]、泊松噪声[2]等。针对高斯、椒盐等图像噪声,典型的去噪方法包括均值滤波、中值滤波、高斯滤波等。均值滤波算法计算简单,速度快,但会使图像模糊,特别是景物的边缘和细节部分。高斯滤波算法对于高斯噪声图像能保留一定图像细节特征,但也会造成图像一定程度上的模糊。中值滤波对椒盐噪声处理效果较好,对高斯噪声的抑制效果一般。双边滤波算法既考虑了参与滤波像素的距离因素,也考虑到了像素值差异,是一种改进的边缘保护性滤波方法。除了典型的基本滤波方法之外,针对椒盐噪声,文献[3]基于中值滤波对椒盐噪声去噪效果较好,小波变换对高斯噪声处理中效果较好,将二者结合起来,综合二者的优点,比单一方法去噪效果要好。另外,文献[4]针对泊松核噪声提出改进的双边滤波算法。然而,在实际生活中,由于大部分图像噪声是高斯噪声,因此本文主要针对高斯噪声进行图像去噪处理。
目前针对视频的高斯噪声,文献[5]提出了基于运动补偿的自适应时域视频降噪算法。该方法通过运动补偿技术,在时域上跟踪最匹配的运动区域并提取噪声,并实现滤波的强度根据物体的运动强度自适应变化。实验效果在保护边缘和细节,提高PSNR(Peak Signal to Noise Ratio,峰值信噪比)方面更具有优势。而文献[6]中不仅引入了运动估计算法、自适应滤波强度机制,而且同时引入时域滤波方法和空域滤波方法。该方法在运动强度较小时进行时域滤波,运动强度过大时,进行空域滤波。因而该算法在自适应性上更强。文献[7]面向高效能的滤波需求,提出快速双边滤波算法,在处理速度上具有显著优势,不过会导致一定的算法性能损失。
以上算法虽然有各自的优点,但是它们都具有一定的不足。一方面,它们都是基于整幅图像进行去噪滤波,没有考虑到图像不同区域内容差别。这意味着,整幅图像使用相同的滤波参数,可能会导致有的区域滤波多而产生模糊,反之另外的区域可能滤波不足而噪声去除不干净。另一方面,这些去噪方法没有考虑到人眼的视觉特性HVS(Human Visual System,人眼视觉特性),即滤波后的结果未必是能够取得较好的人眼感知质量。事实上,在图像处理领域中,人眼是大多数被处理图像的最终接收器,因此有必要从视觉角度出发构建人眼视觉模型,并应用于图像降噪中以获取更好的主观滤波效果。为解决以上算法的不足,本文提出一种符合人眼的视觉特性的图像降噪算法。特别地,本文提出了基于JND(Just Noticeable Difference)模型的自适应双边滤波算法。该方法一方面考虑到以互相不重叠的图像块为单位进行滤波,充分体现不同区域内容的特性不同。另一方面,本方法计算每个图像块的JND值,用于充分考虑各区域人眼视觉感知的失真程度。基于以上方法,本文将JND值用于自适应地决定双边滤波的权重,实现了基于感知的图像自适应双边滤波算法。实验结果表明相比于传统的双边滤波算法,本文的自适应感知双边滤波算法在PSNR和SSIM(Structural Similarity,结构相似性)有了很大的提升,同时去噪后的图像主观质量也有显著的改进。
传统双边滤波是一种非线性滤波器,它可以达到保持边缘、降噪平滑的效果。双边滤波采用加权平均的方法,用当前待滤波的像素周边像素亮度值的加权平均值获取最终的滤波像素。在双边滤波过程中,每个参与加权滤波像素的权重不仅考虑了既考虑了参与滤波像素的距离因素,也考虑到了像素值差异。即总权重分为值域权重和空域权重。在平坦区域,像素差值较小,对应值域权重接近于1,此时空域权重起主要作用,相当于直接对此区域进行高斯模糊,在边缘区域,像素差值较大,值域系数下降,导致此处滤波权重下降,当前像素受到的影响就越小,从而保持了边缘的细节信息。
具体来说,双边滤波的滤波核由两部分乘积组成:空域核与值域核。两个滤波核通常都采用高斯函数形式。
对于以像素q为滤波中心的窗口,某一参与滤波的像素点p在双边滤波过程中的权重如下:
其中:Gr为p点值域权重,Gs为p点空域权重,G(p)为p点总权重。Ip为p点像素值,Iq为p点像素值,σr为值域高斯函数的标准差。σs为空域高斯函数的标准差。
根据式(3),对于像素p的滤波结果BF(p)计算方法如下:
虽然从式(4)可以看出,双边滤波考虑到了保护像素边缘的行为。但是,本质上双边滤波由两个高斯滤波核构成,即意味着它实际上也具有高斯滤波的性质,即当噪声强度较大或者滤波强度过大时,图像滤波难免会变的模糊。此外,双边滤波只是从像素值差异角度来看边缘,并没有没考虑到图像不同区域内容特性,也没有考虑到人眼的视觉感知特性,滤波后的结果未必是能够取得较好的人眼感知质量。
在图像处理领域,JND可以用来度量人眼对图像中不同区域失真的敏感性,本文同样采用JND模型指导双边滤波。
在JND模型中,主要基于两个关键因素建立感知失真模型,包括LA(Luminance adaptation,亮度自适应,指HVS对背景亮度的掩蔽效应)和CM(contrast masking,对比度掩蔽,指另一个视觉信号出现时,一个视觉信号的能见度降低的现象)。
首先,对亮度自适应产生的掩蔽效应程度LA计算方法如下:
其中:(x,y)为像素位置,f(x,y)为(x,y)处背景亮度。
其次,由于人类视觉系统的熵掩蔽特性,在计算对比掩蔽效应时,需要区分由边缘掩蔽和纹理掩蔽造成的对比掩蔽导致的结果。事实上,通常噪声在空间内容信息变化大的区域不容易明显被感知到,反之在光滑和强结构区域更容易明显被察觉。这是由于人类大脑在处理同时发生的复杂现象时的局限性,即由于观察者对视觉内容不熟悉,纹理和结构区域会导致熵掩蔽。所以,文献[8]提出了一种基于新的对比掩蔽估计算法的增强像素域JND模型,由边缘掩蔽和纹理掩蔽分别产生的EMu和TMv两方面构成的掩蔽程度值CM,计算公式如下,
其中:u指结构图像,v指纹理图像,EMu为结构图像中的边缘掩蔽,TMv为纹理图像中的纹理掩蔽,Cs为5×5邻域的最大亮度差,We和Wt用于反映边缘掩蔽和纹理掩蔽对人眼影响程度的不同,分别被设置为1和3。常数β根据经验值设置为0.117。
根据以上亮度掩蔽效应结果和对比掩蔽效应结果,最终每个像素的JND值计算如下:
其中:CIc代表两种掩蔽效应产生的重叠掩蔽影响程度,即实际的掩蔽效果需要考虑到两者综合影响结果。在文献[12]的NAMM模型中设置为0.3。
传统滤波算法都是基于整幅图像进行去噪滤波,并没有考虑到图像不同区域内容差别。这意味着,整幅图像使用相同的滤波参数,可能会导致有的区域滤波多而产生模糊,而另外的区域可能滤波不足而噪声去除不干净。因此本文采用基于块方法进行滤波,将块大小定义为N×N,不同的块区域会有不同的滤波参数,图像去噪效果更好。同时将每个块的JND方差用于指导其滤波强度,整个算法过程流程图如图1所示。
图1 本文所提出算法流程图
首先,在滤波之前需要估计图像级别的平均噪声强度。所以,本文对于每个N×N块的像素求方差,并进行从小到大的排序,将前10%的方差均值作为图像的噪声强度σ02。
其次,通过2.1节中的JND模型可以计算出图像每个像素点的JND值,由此可进行每个块的JND方差的计算:
基于初始帧级的噪声强度σ02以及当前块的JND方差,对当前块,本文定义基于感知的双边滤波值域权重为:
从式(10)可以看出,本文考虑到当噪声强度比较小的时候,部分区域内容可能比较复杂,导致JND较大,进而可能产生滤波过度的情况。因此,本文取图像噪声强度σ02跟每个块区域内的JND方差最小值作为值域滤波强度。在本实验中w取3,σjnd_r最小值设为0.1,由此得到值域高斯函数的标准差σjnd_r,并更新值域权重Gjnd_r,如下:
除此之外,在本方法中,空域权重计算方法与初始双边滤波方法一致,默认不变。因此,将值域权重更新为本文基于感知的值域权重模型后,与空域权重相乘得到最终权重Gjnd(p)。如第2节所示,将得到的最终权重值代入双边滤波中进行基于块和感知的图像滤波得到最终结果如下:
为验证本文提出的感知双边滤波算法性能和效果,本实验选用图像Lena和Barboon并在MATLAB2018a进行测试。每一测试图像分别使用MATLAB进行添加高斯噪声,包括高斯噪声强度σn2为25、30、35、40、45共五个噪声水平。实验分别使用本文提出的符合人眼视觉感知特性的自适应双边滤波器与传统默认双边滤波器对这几幅灰度图像进行滤波处理进行对比。需要说明的是,本实验中将滤波窗口大小设置为5×5,块大小为16×16。
本实验采用了512×512的Lena和Baboon图像,使用PSNR和SSIM对两种滤波方法进行评价。PSNR越大,表示图像的失真程度越小,细节保留的更完整。另外,SSIM是衡量两幅图像相似度的指标,其范围从0到1,当两张图像完全一样时,SSIM值为1。通过各表可以看到,Lena图像和Baboon图像在各个噪声水平上,采取本文方法的PSNR和SSIM值均大于传统双边滤波算法,尤其是SSIM能高出30%,有明显的提升效果。比如,对于Lena图像中,本文方法滤波结果的PSNR值和SSIM值提升幅度可达7.20 dB和0.280,而对于Baboon图像中,PSNR值和SSIM最多增益可以达到5.78dB和0.221。
进一步的,如图2和图3所示,本文随机选择了测试图像的不同噪声强度下的去噪结果展示滤波的主观效果。可以看到通过对比两幅图像噪声图和使用两种滤波方法后的图像,不论时低噪声强度还是高噪声强度,本文所提出的滤波方法,可以明显相比于传统双边滤波算法。本文算法处理的图像中噪声点大幅减少,边缘细节、轮廓保留比较清晰完整,在视觉效果上非常具有优势。因此本文提出的滤波算法要优于传统双边滤波算法。
图2 Lena图像高斯噪声强度σn2为25
图3 Baboon图像高斯噪声强度σn2为45
综上,本文在客观和主观都取得了显著的性能增益和改善,可以说明本文提出的符合人眼视觉感知特性的自适应双边滤波算法要优于传统的双边滤波算法。
本文从人眼视觉角度出发,同时考虑图像内容的不同区域特性,引用JND模型和块级滤波方法,提出一种符合人眼视觉感知特性的自适应双边滤波算法。实验结果表明,本文方法可以从主观和客观两方面都取得较好的实验结果。在未来我们会考虑根据视频图像不同区域内容,研究自适应调整空域滤波权重以及滤波窗口的大小的方法,从而进一步改善图像去噪效果。