一种基于四阶累积量的自适应均值滤波算法
2008-04-25
作者:潘梅森,肖政宏
摘 要: 提出了一种基于四阶累积量" title="累积量">累积量的自适应均值滤波算法" title="均值滤波算法">均值滤波算法;详细介绍了根据窗口的四阶累积量自适应计算并确定噪声点的阈值;滤波窗口自适应调整大小和权值" title="权值">权值自适应计算的加权均值滤波;对噪声点进行逐点滤波。比较和分析了实验结果。
关键词: 四阶累积量 椒盐噪声 均值滤波 峰值信噪比
图像在景物成像、空间采样和量化等过程中经常被外界各种噪声干扰,使图像质量下降。为尽可能减小噪声影响,对降质图像必须进行去噪" title="去噪">去噪处理。比较成熟的去噪处理方法有多种,均值滤波是其中非常有效的方法之一。标准均值滤波算法是对图像滤波窗口取平均值代替窗口中心像素点,这样可以在一定程度上抑制噪声。但是这种方法本身存在着以下缺陷:图像细节得不到很好的保护,在去噪的同时也破坏了图像的部分细节,从而使图像变得模糊;对脉冲噪声的消除效果不理想。
1 算法思想
本文提出了一种基于四阶累积量的自适应均值滤波算法,其基本思想是:首先用一个3×3窗口在图像上滑动,计算该窗口内所有像素的四阶累积量,并计算出该窗口中心像素的噪声敏感度系数,根据噪声敏感度系数判断该中心像素是否为噪声点;然后根据3×3窗口中噪声点的个数自适应调整滤波窗口大小;最后采用改进的均值滤波方法对标记为噪声点的像素进行滤波。基于四阶累积量的自适应均值滤波算法在很大程度上保护了图像的细节,同时也抑制了噪声,比标准均值滤波算法具有更好的滤波性能,为消除图像中的噪声提供了一种新的途径。
2 基于四阶累积量的自适应均值滤波算法
基于四阶累积量的自适应均值滤波包括三个过程:根据窗口的四阶累积量计算噪声敏感度系数,并确定图像中噪声点;确定滤波窗口大小;对噪声点进行滤波。
2.1 根据窗口的四阶累积量自适应确定噪声点
确定噪声点是整个滤波算法中最重要的一步,它关系到图像中像素点的正确分类。确定噪声点的方法很多,文献[1]采用3×3窗口确定噪声点,通过计算窗口内所有像素点灰度值的平均值与中心像素点的差值,将该差值与给定的阈值进行比较,差值大于阈值的像素点视为噪声点,否则视为非噪声点。该方法存在以下两个问题:(1)阈值的选择具有很大的随机性,选择太大,噪声消除不干净;选择太小,破坏图像的细节,易使图像模糊。(2)阈值是事先给定的一个固定值,在整个滤波过程中不再变化,该固定的阈值不能真实地反映每个像素点对噪声的敏感程度。文献[2]使用一个K×K的窗口在图像上滑动,找出该窗口中灰度的最大值和最小值,如果窗口中心像素灰度值等于最大值或最小值,则确定该像素为噪声点,否则视为非噪声点。该方法的缺点在于:把局部窗口的最大值和最小值作为噪声的判断标准,虽然具有一定的自适应性,但如果该最大值和最小值本身不是噪声点,而以它们为判断噪声的标准,就会把非噪声点误判为噪声点。本文把以上两种方法有机结合起来,采用一种新的方法确定噪声点。
假设图像P大小为M×N,左上角像素点位置为(1,1)。首先找出整幅图像灰度值的最大值和最小值,分别记为Max(PM×N)和Min(PM×N)。在确定噪声点时仍采用3×3窗口在图像上滑动,该窗口中心像素点灰度值为g(i,j),则该窗口内所有像素值构成如下集合:
Si,j={g(i+k,j+r)|k,r=-1,0,1}
求出该窗口中所有像素的平均值Average(Si,j),计算公式如下:
如果中心像素点的阈值用Ti,j表示,确定噪声点的方法为:当中心像素的灰度值g(i,j)=Max(PM×N)、g(i,j)=Min(PM×N)或g(i,j)-Average(Si,j)>Ti,j,则该像素视为噪声点。
噪声点标记为F(i,j)=1,非噪声点标记为F(i,j)=0。对于上述方法,方法(1)和(2)很容易实现,方法(3)实现的难点在于如何确定阈值Ti,j,因为Ti,j对于图像滤波质量有非常重要影响。本文提出基于四阶累积量的噪声敏感度系数来确定阈值Ti,j。
在本文中定义的噪声敏感度系数是人类视觉系统刚好能够感受到的图像噪声的临界值,用β表示。在文献[3]中选用了标准差来定义β;在文献[4]中通过计算像素点r阶中心矩来定义β。本文中,通过计算四阶累积量对β进行定义,这是因为文献[3]和文献[4]所定义的β比较粗糙,而四阶累积量可以得到比标准差更多的信息。βi,j是β矩阵的(i,j)元素值,表示窗口Si,j中心像素点(i,j)的噪声敏感度系数。
假设一个均值为零的实值信号s(t),它的概率密度函数为p(s),K[p(s)]是信号规范的四阶累积量[5],其定义式如下:
其中n2表示窗口的大小,本文中n2=9;C4[g(i+k,j+r)-Average(Si,j)]表示窗口像素对于该窗口均值差值的四阶累积量,这是为了使窗口子图像变为均值为零的信号。把噪声敏感度系数做为判断噪声点的阈值,即Ti,j=βi,j。每个像素是否为噪声点,只要计算中心像素的噪声敏感度系数,然后判断是否g(i,j)-Average(Si,j)>βi,j即可。
2.2 自适应确定滤波窗口大小
标准均值滤波算法的平均效果会引起图像模糊。模糊程度和滤波窗口大小成正比,选择较小的滤波窗口能保护图像细节部分,但是去噪能力较弱;选择较大的滤波窗口虽然能得到较强的去噪能力,但是图像会变得模糊。根据这些特点,本文结合小窗口滤波和大窗口滤波两方面的优势,根据窗口内噪声点的个数,自适应确定滤波窗口大小。
在统计噪声点个数时,仍然采用3×3窗口。在确定窗口中心像素为噪声点的情况下,统计公式如下:
3×3窗口内噪声点个数有关。
2.3 对噪声点进行滤波
在确定噪声点和滤波窗口大小之后,接着进行滤波处理。整个图像像素已划分为噪声点和非噪声点两大类。对非噪声点本身不需要滤波,但可能会参与其邻域像素的滤波,而噪声点则采用改进的均值滤波进行去噪处理。标准均值滤波是用窗口内像素灰度值的平均值代替窗口中心像素点灰度值,或者用窗口内像素灰度值各自乘以一个权值后由加权平均值代替中心像素灰度值。改进的均值滤波与标准均值滤波有些不同。主要区别在于权值的自适应选择。权值的选择应满足:如果滤波窗口内某像素点的灰度值越接近中心像素点灰度值,则其权值也相应越大;反之,如果其灰度值与中心像素点灰度值相差较大,则其权值也相应越小。在计算权值时,本文采用了以下的权值函数:
其中x表示滤波窗口灰度值的平均值与中心像素点的差值,很显然,该函数满足上述权值选择要求。若像素g(i,j)是噪声点,其滤波窗口大小FWi,j为(2n+1)×(2n+1),n∈{1,2,3},则权值计算过程如下:
3 模拟实验和结果分析
在实验图像中,使用大小为256×256像素、灰度为256级的Lena图像,实验图像如图1所示。
实验环境为MatLab 6.5软件。在不同程度噪声干扰下,比较本文提出的基于四阶累积量的自适应均值滤波、标准均值滤波和标准中值滤波" title="中值滤波">中值滤波在去噪、保护细节等方面的性能。选择PSNR和ISNR作为客观评价的标准,PSNR和ISNR的定义分别为:
其中,L是图像中灰度值的最大值,对于256级灰度图像,L=255,M=N=256;h(x,y)为实验图像的灰度值;g(x,y)是加噪后需要滤波的噪声图像的灰度值;f(x,y)是滤波后的图像的灰度值;MSE是图像的均方误差;PSNR是峰值信噪比;ISNR是改善信噪比。
在图1(a)中分别加入5%、10%、20%、30%、40%和45%的椒盐噪声,采用基于HVS的自适应均值滤波、标准均值滤波和标准中值滤波对图像进行去噪处理,相应计算PSNR和ISNR值,得到性能指标比较如表1所示。
由表1和图1可以得到:
(1)基于四阶累积量的自适应均值滤波PSNR与ISNR值比3×3和5×5均值滤波对应的值大得多。这表明基于四阶累积量的自适应均值滤波在去噪及保护细节两方面的能力比均值滤波强。随着椒盐噪声加大,其PSNR与均值滤波的PSNR的差值仍非常明显,有增大的趋势。图1(b)是噪声达到45%时的图像,图1(d)、图1(e)分别是3×3和5×5均值滤波后的结果,图像细节部分基本上没有得到保护,图像变得模糊不清。
(2)基于四阶累积量的自适应均值滤波的PSNR与ISNR值比3×3中值滤波对应的值也要大,并且随着椒盐噪声加大,差值增加非常明显。图1(f)是当噪声加大到45%时滤波的结果,图中显示3×3中值滤波对细节保护较好,但存在较多的噪声,图像有些模糊。
(3)基于四阶累积量的自适应均值滤波的PSNR与ISNR值比5×5中值滤波差值也很明显,但是差值基本上维持在5.4~6.5。图1(g)显示了当噪声加大到45%时滤波的结果,图中显示5×5中值滤波去噪能力有所增强,但图像模糊程度增大,部分细节没有得到很好保护,出现比较明显的变质。
(4)基于四阶累积量的自适应均值滤波基本上去除了噪声,细节也得到了较好的保护,图像清晰度较高。在以上几种滤波方法中,无论是表1数据还是图1都显示了该方法的优异滤波性能。但从图1(c)中也看到,图像中人物的左眼模糊,这也说明该方法在保护细节方面还存在不足。
基于四阶累积量的自适应均值滤波之所以有更好的滤波性能,原因在于:
(1)在确定噪声点时,由于使用了噪声敏感度系数作为阈值,使得每个像素点都有一个客观阈值标准来自适应地进行噪声判断,而不像标准均值滤波那样,随机地给定一个阈值,并且在整个滤波过程中不再变化,显然这个阈值不能真实地反映每个像素点的噪声状况。
(2)在滤波时,小窗口能够较好保护细节,但去噪能力相对较弱;大窗口虽有较好的去噪能力,但是细节保护能力较弱。而基于四阶累积量的自适应均值滤波能根据窗口内噪声点个数自适应地选择合适的滤波窗口,这样,既能较好地保护细节部分,也有较好的去噪声能力。而标准均值滤波和标准中值滤波都不具有自适应性。
(3)由于事先确定了噪声点,所以在滤波时只对噪声点进行滤波,非噪声点参与滤波,这样非噪声点的灰度值就不会遭到破坏。而标准均值滤波和标准中值滤波对所有的像素点都进行滤波,细节得不到真正的保护。
(4)在滤波时,也考虑到权值的自适应性。权值的自适应性表现在:如果滤波窗口内某像素点的灰度值越接近中心像素点灰度值,则其权值相应地也越大;反之,则其权值相应地也越小。本文中所采用的计算权值的函数满足了权值的自适应性。
基于四阶累积量的自适应均值滤波采用了噪声敏感度系数作为确定噪声点的依据,根据窗口内噪声点的个数,自适应地选择合适的滤波窗口,并在滤波时采用了改进的加权平均来计算均值。这种方法在保护细节与去噪能力之间做了较好的折衷,比标准均值滤波和标准中值滤波具有更好的滤波能力。
参考文献
1 Liu J P,Yu Y L.A flexible method for image noise removal[J].Joural of South China University Technology,2000;28(2):60~63
2 祝宇鸿.一种改进的数字图像中值滤波算法[J].长春邮电学院学报,2001;19(2):23~27
3 Piva A,Barni M,Bartolini F et al.DCT-based watermark recovering without resorting to the uncorrupted original image.In:Proceedings of 4th IEEE international conference on image processing ICIP′97.Santa Barbara,CA,USAL:ICIP,1997
4 Zhong W.Image watermarking using legendre array[J].Journal of China Institute of Communications,2001;22(1):1~6
5 张 严.基于高阶累积量的谐波信号参考估计问题研究.吉林工业大学硕士学位论文,1998