计算机应用   2017, Vol. 37 Issue (3): 832-838  DOI: 10.11772/j.issn.1001-9081.2017.03.832
0

引用本文 

张新明, 康强, 程金凤, 涂强. 采用自适应四点窗中点滤波的高椒盐噪声滤除方法[J]. 计算机应用, 2017, 37(3): 832-838.DOI: 10.11772/j.issn.1001-9081.2017.03.832.
ZHANG Xinming, KANG Qiang, CHENG Jinfeng, TU Qiang. Adaptive four-dot midpoint filter for removing high density salt-and-pepper noise in images[J]. JOURNAL OF COMPUTER APPLICATIONS, 2017, 37(3): 832-838. DOI: 10.11772/j.issn.1001-9081.2017.03.832.

基金项目

河南省重点科技攻关项目(132102110209);河南省基础与前沿技术研究计划项目(142300410295)

通信作者

张新明(1963-),男,湖北孝感人,教授,硕士,CCF会员,主要研究方向:数字图像处理、智能优化算法、模式识别. E-mail:xinmingzhang@126.com

作者简介

康强(1989-),男,河南郑州人,硕士研究生,主要研究方向:数字图像处理、智能优化算法;
程金凤(1990-),女,河南夏邑人,硕士研究生,主要研究方向:数字图像处理;
涂强(1995-),男,河南光山人,硕士研究生,主要研究方向:数字图像处理、智能优化算法

文章历史

收稿日期:2016-09-06
修回日期:2016-11-07
采用自适应四点窗中点滤波的高椒盐噪声滤除方法
张新明1,2, 康强1, 程金凤1, 涂强1    
1. 河南师范大学 计算机与信息工程学院, 河南 新乡 453007;
2. 河南省高校计算智能与数据挖掘工程技术研究中心, 河南 新乡 453007
摘要: 针对当前中值滤波器处理图像高椒盐噪声效果不佳和实时性不强等问题,提出了一种快速自适应四点窗中点滤波(AFMF)方法。首先,为了降低计算复杂度,使用简单的极值方法检测噪声点;然后,摒弃传统的全点窗口,不用中值滤波,而是在开关滤波和裁剪滤波的基础上,采用新型的非线性滤波方法:中点滤波,简化了算法的流程,提升了算法的计算效率,提高了去噪效果;最后,从3×3窗口开始到由里向外推进,逐渐增大窗口,形成自适应滤波,一直到噪声点处理完,如此避免了窗口大小参数的设置。实验结果表明,与AMF、SAMF、MDBUTMF以及DBCWMF相比,AFMF在处理高密度椒盐噪声上不仅有更好的去噪性能、更快的运行速度(约0.18 s),且无需设置参数,可操作性强,具有较强的实用性。
关键词: 图像恢复    图像去噪    开关中值滤波    自适应滤波    中点滤波    四点模板    椒盐噪声    
Adaptive four-dot midpoint filter for removing high density salt-and-pepper noise in images
ZHANG Xinming1,2, KANG Qiang1, CHENG Jinfeng1, TU Qiang1     
1. College of Computer and Information Engineering, Henan Normal University, Xinxiang Henan 453007, China;
2. Engineering Technology Research Center for Computing Intelligence & Data Mining of Henan Province, Xinxiang Henan 453007, China
Abstract: In view of poor denoising performance and unideal speed of the current median filter, a fast and Adaptive Four-dot Midpoint Filter (AFMF) was proposed. Firstly, noise pixels and non-noise pixels of an image were identified using a simple extreme method to reduce the computational complexity. Then, the traditional full-point window was discarded, instead of median filtering, but on the basis of switch filtering and clipping filtering, a new nonlinear filtering method named midpoint filtering was adopted to simplify the algorithm flow, improve the calculation efficiency, improve the denoising effect. Finally, starting from a 3×3 window from inside to outside, the window was gradually enlarged to form adaptive filtering, until all the noise pixels were processed, the setting of window size parameters was avoided. The experimental results show that compared with AMF, SAMF, MDBUTMF and DBCWMF, AFMF not only has better denoising performance but also faster operation speed (about 0.18 s), but also does not need to set parameters, which is easy to operate and has strong practicability.
Key words: image restoration    image denoising    switching median filtering    adaptive filtering    midpoint filtering    four-dot mask    salt-and-pepper noise    
0 引言

椒盐噪声是脉冲噪声的一种,易产生于数字图像的生成和存储过程中,以最小灰度值和最大灰度值的形式出现。在高椒盐噪声图像中有50%以上的像素受到了椒盐噪声污染,噪声密度超过常规滤波算法所能处理的范围,这种污染使得图像质量下降,对后续图像分割和图像识别等造成严重的影响[1],因此,降除图像中的椒盐噪声十分重要,一直成为国内外研究的热点。最常用的降除方法是滤波方法,滤波方法分为两类:线性滤波方法如均值滤波和非线性滤波方法如中值滤波(Median Filtering, MF)。与均值滤波相比,MF方法滤除椒盐噪声更为有效[2],但标准的MF会造成图像边缘模糊,且在高密度噪声下算法失效[2-3]。为了提高其去噪能力,一些学者在传统MF算法基础上提出了自适应MF算法[2-4]。为了更好地保护好图像的细节信息,一些学者提出了开关中值滤波算法[5],有效地缓解MF带来的图像模糊问题,但传统开关中值滤波算法采用固定窗函数时存在大滤波窗口在低噪声密度下图像模糊,小滤波窗口在高噪声密度下算法失效的问题。针对此问题,文献[6]通过计算窗内局部阈值对噪声进行检测,在阈值选取上具有局部噪声的自适应性;文献[7]根据噪声密度的估计值调整滤波窗口尺寸。这两种算法均属于自适应开关中值滤波方法,具有噪声的自适应特性,但仍存在难以保护图像细节的问题,且当大噪声在图像上形成块状噪声时,算法的去噪效果较差。由此,方向加权中值滤波算法被提出,该算法采用方向加权卷积检测和滤除噪声[8],在消除噪声的同时具有保护图像边缘的特点,但算法均采用较大滤波窗口,图像边沿噪声问题突出,甚至在小噪声下算法整体效果也不佳。与以上的开关中值滤波算法不同,模糊开关中值滤波算法[9-11]是一类采用模糊理论来修正噪声的方法,该类算法在大噪声下均具有较好的效果,但算法均存在图像边沿噪声的问题,使整体去噪效果下降。最近,文献[12-15]在开关中值滤波的基础上,采用了裁剪滤波技术,即采用滤波窗口中的非噪声像素的中值或均值取代噪声点的值,去噪效果明显增强,但随着大数据时代的到来,人们对高密度噪声图像的恢复结果要求越来越高,要求去噪效果更好,且实时性更强。

鉴于此,本文提出了一种用于去除图像高椒盐噪声的快速自适应四点窗中点滤波(Adaptive Four-dot Midpoint Filtering, AFMF)方法。摒弃传统的全点窗口,不用中值滤波,而是在开关滤波和裁剪滤波的基础上,采用新型的非线性滤波方法:中点滤波,简化了算法的流程,提升了算法的计算效率,提高了去噪效果。仿真实验结果证明,AFMF算法不仅有较好的去噪性能,且无需调整的参数,易于操控,并有较高的去噪速度。

1 中值滤波器 1.1 标准中值滤波

图像中值滤波方法的基本原理就是首先定义一个奇数窗口为滤波窗口,让该窗口在图像上滑动,将窗口内各像素点的灰度值按从小到大进行排序,最中间的那个值作为输出值。设一幅大小为m×n的图像I,其中值滤波的输出结果为R,则MF的数学描述如式(1) 所示:

$R\left( i,j \right)=\left[ \underset{(x,y)\in s}{\mathop{Sort}}\,I(x,y) \right]\frac{\left| s \right|+1}{2}$ (1)

其中:Sort表示排序,s表示滤波窗口中的像素点集合,|s|表示该窗口中像素点的个数,i=1, 2, …, m, j=1, 2, …, n

窗口外形和大小的选择决定了MF的效果,根据情况的不同,可选用不同的外形和窗口尺寸,一般主要有方形、线状、圆形、十字形等[16]。与均值滤波相比,MF更好地保留了图像中的细节信息,但由于采用固定窗口和对所有像素进行处理,传统的MF算法会造成图像边缘模糊,且在大噪声情况下失效。为了提高图像的去噪能力,同时能有效保持图像的局部细节,对输入窗口进行加权操作,成为加权MF;另外,还与其他滤波器一起来使用更进一步提高去噪效果;为了克服固定窗口MF算法的不足,采用自适应MF方法:初始时利用最小尺寸的窗口,然后逐渐增大窗口尺寸,直到达到一定条件后停止;为了减少MF对图像边缘的模糊,采用开关中值滤波算法。

1.2 开关中值滤波

开关中值滤波分为两个阶段。第一个阶段为噪声检测阶段。确定图像中的每个像素是否受到椒盐噪声的污染,这个阶段输出结果为一个与图像大小相等的噪声0-1二值映射矩阵,0代表此点为噪声点,1表示为非噪声点。

第二个阶段为噪声去除阶段,即对于每个噪声点采用滤波窗口中的中值替换,而非噪声像素保持不变。如果设噪声0-1二值映射矩阵为N,对于每一个像素(i, j),其对应滤波窗口中所有点的集合为Sij,则开关中值滤波的数学描述如式(2) 所示:

$R(i,j)=\left\{ \begin{matrix} \underset{(x,y)\in {{S}_{ij}}}{\mathop{median}}\,\{I(x,y)\},N(i,j)=0 \\ I(i,j),\text{ }N(i,j)=1 \\ \end{matrix} \right.$ (2)

其中:median表示中值滤波。相比传统的MF,开关中值滤波在噪声滤除和细节保护两个方面都有很好的提升,但在处理高密度噪声时仍显不足。为了进一步提高性能,常将裁剪滤波方案嵌入到开关中值滤波中, 形成开关裁剪中值滤波方法,即在保持非噪声点不变的情况下,仅用滤波窗口中非噪声点的中值替代待处理噪声点的值。

2 新型滤波器

虽然开关裁剪中值滤波方法大幅度提高了去噪性能,但仍然存在以下不足:

1) 采用窗口中所有非噪声点获取中值,如果非噪声点较多,不仅有较多的冗余计算,而且窗口中的每个邻域点对图像恢复的贡献是不一样,所有非噪声点参与的滤波效果不一定最好。

2) 中值滤波需要取滤波窗口中的点先进行排序,然后获取中值,对于大窗口,排序的计算复杂度较高。

3) 正如前文所述,采用固定的窗口不能适应在不同噪声密度下的去噪:窗口太大,虽然有利于消除噪声,但计算复杂度高,而且细节保护差;反之,窗口较小,不利于消除高密度噪声。

4) 现有的开关裁剪中值滤波方法对图像中未污染像素的有用信息还没有充分利用好。

鉴于以上不足,本文提出了一种新型滤波方法:自适应四点模板开关中点滤波方法。利用小窗口到大窗口的自适应调节,平衡噪声消除和细节保护的矛盾,也提高算法在不同噪声密度下的去噪有效性;利用四点模板,不仅降低复杂度,而且提高去噪性能;利用中点滤波避免MF中的排序操作,进一步降低计算复杂度。

2.1 中点滤波

一般线性滤波器在处理椒盐噪声中效果并不佳,而非线性滤波器在滤除噪声和保留细节方面会有更好的效果。中点滤波与中值滤波一样是非线性滤波器,但中值滤波的排序操作复杂度较高,特别是在大窗口中,而中点滤波使用滤波窗口中的极值求平均,所以无需排序,计算复杂度低。中点滤波的数学描述为:

$Mp=[\text{Min}({{S}_{ij}})+\text{Max}({{S}_{ij}})]/2$ (3)

其中:Min(Sij)表示求滤波窗口中各个像素值的最小值,Max(Sij)表示求滤波窗口中各个像素值的最大值,Mp表示中点滤波的结果。如果对滤波窗口中所有点进行排序,最小值和最大值分别排在最前和最后两端,取其均值,刚好是中点,故称中点滤波。当窗口中含有最小值0和最大值255的椒盐噪声时,滤波窗口的中点值为127.5。 这样结果不是本文所需要的,故必须采用裁剪中点滤波,即用滤波窗口中的非噪声点来获取中点,构建中点滤波器。

2.2 四点模板

正如文献[17]所指出:当噪声密度较小时,使用滤波窗口对角线上的点进行中值滤波没有必要,仅仅使用水平和垂直方向上的四个点获取中值,不仅降低复杂度,而且可以提高去噪效果。基于此,本文提出了四点滤波模板,即不管窗口有多大,仅仅使用水平和垂直方向上的四个点,如图 1所示,其中黑色的圆点构成四点模板,图 1(a)为3×3四点模板,图 1(b)为5×5四点模板。

图 1 四点模板 Figure 1 Four point template

如果窗口中的中心点位置为(i, j):那么在3×3四点模板中,四个点位置为(i-1, j),(i, j-1) ,(i, j+1) 和(i+1, j);在5×5四点模板中,四个点位置为(i-2, j),(i, j-2) ,(i, j+2) 和(i+2, j);在7×7四点模板中,四个点位置为(i-3, j),(i, j-3) ,(i, j+3) 和(i+3, j);如此类推。

2.3 自适应四点模板中点滤波

为了满足四点模板滤波的条件,采用递归滤波,即上一次滤波的结果(噪声密度降低)作为下次滤波的输入,并融合开关裁剪滤波和自适应滤波等技术形成AFMF算法,以便它能够有效抑制高密度噪声,运行速度快捷。AFMF算法具体步骤如下。

步骤1 输入大小为m×n,灰度级为0到L之间的噪声图像I,其中L在图像数据类型为uint8时取255。

步骤2 采用最简单的极值方法判断噪声,生成噪声0-1二值映射矩阵NI,即当像素值为最小值0或者为最大值L时,该像素为噪声点NI(i, j)=0,否则为非噪声点NI(i, j)=1:

${{N}^{I}}(i,j)=\left\{ \begin{align} & \begin{matrix} 0, & I(i,j)=0\text{ 或 }I(i,j)=L \\ \end{matrix} \\ & 1,\text{其他} \\ \end{align} \right.$ (4)

步骤3 设初始窗为3×3,R为恢复图像,令R=INR=NI

步骤4 采用3×3四点模板进行递归中点滤波。

步骤4.1 对于R中的每一个像素(i,j),用3×3四点模板中点滤波,3×3四点模板对应的点且非噪声点数大于1,为:

${{S}_{ij}}=\{{{N}^{R}}(i-1,j),{{N}^{R}}(i,j-1),{{N}^{R}}(i,j+1),{{N}^{R}}(i+1,j)\}$,并且有$\sum\limits_{(x,y)\in {{S}_{ij}}}{{{N}^{R}}(x,y)}>1$,获得滤波结果R1

${{R}_{1}}(i,j)=\left\{ \begin{align} & \begin{matrix} \underset{(x,y)\in {{S}_{ij}}}{\mathop{midp}}\,\{R(x,y)\}, & {{N}^{R}}(i,j)=0 \\ \end{matrix} \\ & \begin{matrix} R(i,j), & {{N}^{R}}(i,j)=1 \\ \end{matrix} \\ \end{align} \right.$ (5)

其中:midp表示中点滤波。以上采用了开关滤波技术,即对噪声点(NI(i, j)=0) 作中点滤波,非噪声点(NI(i, j)=1) 保持不变;也采用了裁剪滤波技术,即只对Sij中为1的点(非噪声点)取中点。

如果Sij为空,表示四点邻域中没有非噪声点,则R1(i, j)=0,即对R1(i, j)不处理,以后处理。更新噪声0-1二值映射矩阵:${{N}^{{{R}_{1}}}}(i,j)=\left\{ \begin{align} & \begin{matrix} 1, & \text{0}<{{R}_{1}}(i,j)<L \\ \end{matrix} \\ & \begin{matrix} 0, & 其他 \\ \end{matrix} \\ \end{align} \right.$

步骤4.2 如果二值矩阵中的元素全为1,表示噪声已处理完,则R=R1,算法终止,输出滤波结果R;否则进行递归滤波。

步骤4.3 对于R1中的每一个像素(i, j),采用3×3四点模板中点滤波,3×3四点模板对应的点Sij,获滤波结果R2

$\begin{align} & {{S}_{ij}}=\{{{N}^{{{R}_{1}}}}(i-1,j),{{N}^{{{R}_{1}}}}(i,j-1),{{N}^{{{R}_{1}}}}(i,j+1), \\ & {{N}^{{{R}_{1}}}}(i+1,j)\} \\ \end{align}$ (6)
${{R}_{2}}(i,j)=\left\{ \begin{align} & \begin{matrix} \underset{(x,y)\in {{S}_{ij}}}{\mathop{midp}}\,\{{{R}_{1}}(x,y)\}, & {{N}^{{{R}_{1}}}}(i,j)=0 \\ \end{matrix} \\ & \begin{matrix} {{R}_{1}}(i,j), & {{N}^{{{R}_{1}}}}(i,j)=1 \\ \end{matrix} \\ \end{align} \right.$ (7)

以上采用递归滤波,即对上一次输出R1再作中点滤波。如果Sij为零矩阵,则R2(i, j)=0;令R=R2,并更新R对应的噪声0-1矩阵。

步骤4.4 如果二值矩阵中的每个元素都为1,则算法终止,输出滤波结果R;否则增大窗口为5×5,进行5×5窗口递归中点滤波。

步骤5 采用5×5四点模板进行递归中点滤波。

步骤5.1 对于R中的每一个像素(i, j),用5×5四点模板中点滤波,5×5四点模板对应的点且非噪声点数大于1,为:

${{S}_{ij}}=\{{{N}^{R}}(i-2,j),{{N}^{R}}(i,j-2),{{N}^{R}}(i,j+2),{{N}^{R}}(i+2,j)\}$并且有$\sum\limits_{(x,y)\in {{S}_{ij}}}{{{N}^{R}}(x,y)}>1$,获得滤波结果R1

${{R}_{1}}(i,j)=\left\{ \begin{align} & \begin{matrix} \underset{(x,y)\in {{S}_{ij}}}{\mathop{midp}}\,\{R(x,y)\}, & {{N}^{R}}(i,j)=0 \\ \end{matrix} \\ & \begin{matrix} R(i,j), & R(i,j) \\ \end{matrix} \\ \end{align} \right.$ (8)

如果Sij为空,则R1(i, j)=0;更新噪声0-1二值映射矩阵:${{N}^{{{R}_{1}}}}(i,j)=\left\{ \begin{align} & \begin{matrix} 1, & \text{0}<{{R}_{1}}(i,j)<L \\ \end{matrix} \\ & \begin{matrix} 0, & 其他 \\ \end{matrix} \\ \end{align} \right.$

步骤5.2 如果二值矩阵中的每个元素都为1,则R=R1,算法终止,输出滤波结果R;否则进行递归滤波。

步骤5.3 对于R1中的每一个像素(i, j),采用5×5四点模板中点滤波,5×5四点模板对应的点Sij,获滤波结果R2

$\begin{align} & {{S}_{ij}}=\{{{N}^{{{R}_{1}}}}(i-2,j),{{N}^{{{R}_{1}}}}(i,j-2),{{N}^{{{R}_{1}}}}(i,j+2),{{N}^{{{R}_{1}}}}(i+ \\ & 2,j)\} \\ \end{align}$ (9)
${{R}_{2}}(i,j)=\left\{ \begin{align} & \begin{matrix} \underset{(x,y)\in {{S}_{ij}}}{\mathop{midp}}\,\{{{R}_{1}}(x,y)\}, & {{N}^{{{R}_{1}}}}(i,j)=0 \\ \end{matrix} \\ & \begin{matrix} {{R}_{1}}(i,j), & {{N}^{{{R}_{1}}}}(i,j)=1 \\ \end{matrix} \\ \end{align} \right.$ (10)

如果Sij为零矩阵,则R2(i, j)=0;令R=R2,并更新R对应的噪声0-1二值矩阵。

步骤5.4 如果二值矩阵中的每个元素都为1,则算法终止,输出去噪结果R;否则增大窗口为7×7,进行如上所述类似的7×7四点模板递归中点滤波,持续更大窗口的四点模板递归中点滤波,一直到噪声点处理完算法终止。

从以上算法步骤可以看出:其一,仅用与待处理点最相关的四个点获取待处理点的值,空间相关有用信息得到充分利用。其二,先采用非噪声点数大于1的模板进行滤波,使得中点滤波可以实现,这是因为如果滤波窗口中的非噪声点数为1,则其最小值和最大值为同一个数,不能发挥中点滤波的作用,所以为了充分发挥中点滤波的作用,应尽量使滤波窗口中的非噪声点数大于1,但如果都采用这种形式,会增加计算复杂度。为了兼顾二者,再次采用非噪声数大于0的递归滤波。二次使用中点滤波,使图像最近邻域(较小窗口)的有用信息更加得到充分利用,获得更好的去噪效果,也使基于四点模板的滤波更好地实施。其三,AFMF首先采用最小的3×3窗口滤波见步骤3,每次滤波后更新和检查噪声二值矩阵,如果点已处理完算法结束,否则增大窗口继续处理,形成了自适应滤波。故噪声密度大,为了处理完噪声点,滤波窗口会自适应增大,滤波次数增多,会导致运行时间增长,而且窗口大滤波后的图像质量会变差,但由于AFMF充分利用了有用信息,在同等情况下会减少最大窗口的大小,这不仅会更加降低计算复杂度,也会提高去噪图像的质量。

3 实验结果与分析

为了验证AFMF方法的有效性,进行图像去噪实验,并将其去噪结果与四种state-of-the-art算法的滤波结果进行比较,这四种算法是目前国内外学者常用来进行去噪对比分析的自适应中值滤波AMF[2]、自适应开关裁剪中值滤波SAMF[7]、开关裁剪中值滤波MDBUTMF[12]和自适应开关裁剪中值滤波DBCWMF[14],这四种算法具有较强竞争力,有较强的可比性,都采用开关中值滤波。其中,AMF和SAMF没有规定最大窗口大小;DBCWMF规定了最大窗口大小,MDBUTMF采用3×3固定窗口的开关裁剪中值滤波算法,如果噪声还未处理完,二者都再使用普通3×3均值滤波处理。为了增强可比性,本实验中将MDBUTMF窗口大小设置为5×5使其在高椒盐噪声密度的情况下去噪效果更好。另外,SAMF、MDBUTMF和DBCWMF算法是先检测噪声点,然后依滤波窗口中非噪声点数决定是否进行中值滤波。篇幅限制,本文仅用一幅人工合成图像Gray21和三幅自然图像Pepper、Lena和Cameraman作为示例说明,如图 2所示,Cameraman大小为256×256,其他三幅图像大小都为512×512。其滤除95%噪声的结果如图 3所示。

图 2 四幅原图像 Figure 2 Four original images
图 3 含95%椒盐噪声图及其5种算法的去噪结果 Figure 3 Images containing 95% salt and pepper noise and their denoising results by five kinds of algorithms

所有实验均在操作系统为Windows 7、CPU为主频3.10 GHz和内存为4 GB的PC上进行,编程语言采用Matlab R2014a。经过大量的不同图像去噪实验,本文提出的算法即使当噪声密度达99%时,处理完所有的噪声点,自适应最大滤波窗口为13×13,算法就终止,因此为了公平起见,AMF和SAMF的最大窗口大小也都设为13×13,其他参数的设置见相应的参考文献。采用峰值信噪比(Peak Signal-to-Noise Ratio, PSNR)、结构相似度指数(Structural SIMilarity index, SSIM)和运行时间Time作为去噪性能的评价标准,其中PSNR和Time的单位分别是分贝(dB)和秒(s);PSNR和SSIM的计算见式(11) 和式(12) :

$PSNR=10\lg \left[ \frac{{{255}^{2}}mn}{\sum\limits_{i=1}^{m}{\sum\limits_{j=1}^{n}{{{(O(i,j)-R(i,j))}^{2}}}}} \right]$ (11)
$SSIM=\frac{(2{{\mu }_{O}}{{\mu }_{R}}+{{C}_{1}})(2{{\sigma }_{OR}}+{{C}_{2}})}{(\mu _{O}^{2}+\mu _{R}^{2}+{{C}_{1}})(\sigma _{O}^{2}+\sigma _{R}^{2}+{{C}_{2}})}$ (12)

其中:O, IR分别代表原始图像、噪声图像和恢复图像; μOμR分别是原图像和恢复图像的均值;σOσR 分别是其对应的方差,σOROR之间的协方差, C1C2为参数[17]C1= (255K1)2C2= (255K2)2K1= 0.01 和 K2= 0.03。因为椒盐噪声是一种随机噪声,每次运行的结果会不同,为公平起见,每种算法运行30次取平均结果如表 12所示,其中D代表噪声密度,优者用下划线表示。

表 1 五种算法处理四幅噪声图像后的PSNR和SSIM对比 Table 1 Comparison of PSNR and SSIM after processing four noise images with five algorithms
表 2 五种滤波算法对两幅噪声图像处理的时间对比 s Table 2 Time comparison of five filtering algorithms for two noisy images s
3.1 去噪性能比较

为了凸显AFMF算法的去噪性能,考察其在高密度噪声图像中的去噪情况,即仅对在50%到95%高噪声密度下去噪结果进行讨论。为了更能说明问题,本实验将噪声分成两个区间:高密度区间和超高密度区间,对高密度50%~90%区间,以10%作为增量,对超高密度91%~95%区间,以1%作为增量的各种情况进行考察。表 1是五种算法对四幅噪声图像的去噪结果PSNR和SSIM值。从表 1可以看出,AFMF获得了最好的去噪结果。在自然的三幅图像和人工合成的Gray21图像上,在50%~95%噪声密度的任一种情况下,AFMF的PSNR和SSIM的值都是最高。尤其噪声密度越高,这种优势更明显见图 4所示:在50%~90%噪声密度下,在PSNR上,AFMF比对比算法中最好结果的DBCWMF要高(如图 4(a));而在91%~95%噪声密度下,AFMF大幅度领先于DBCWMF,在95%噪声密度下,AFMF的PSNR值高于DBCWMF的PSNR值6 dB以上。这是由于AFMF采用新型滤波:四点模板中点滤波(充分利用了图像有用信息)的结果,也是自适应滤波、开关滤波和裁剪滤波融合的结果。去噪性能按优到差排序为:AFMF、DBCWMF、MDBUTMF、SAMF和AMF,见表 1最后一行平均值。AMF最差,未采用裁剪滤波是其原因之一。从图 3的视觉效果看也是如此:AMF去噪结果图中有大量的黑白噪声块,MDBUTMF和SAMF去噪结果图中也含有噪声点,与AMF、MDBUTMF和SAMF相比,DBCWMF去噪结果要好得多,但也含有噪声点。因为DBCWMF、MDBUTMF和SAMF都采用将开关滤波和裁剪滤波有机融合技术,因此提高了去噪效果,但它们的去噪效果不及AFMF,其主要原因是它们都未能充分利用非噪声点的有用信息。

图 4 五种算法在Gray21图像上的PSNR对比 Figure 4 PSNR comparison of five algorithms on image Gray21
3.2 运行时间比较

表 2是五种算法对两幅噪声图像的去噪耗时,图 5(a)是五种算法对含50%~90%噪声密度的Peppers图像去噪耗时对比图,图 5(b)是五种算法在91%~95%噪声密度下耗时对比。

图 5 五种算法在Peppers图像上运行时间对比 Figure 5 Running time comparison of five algorithms on image Peppers

表 2可以看出,无论是在所有噪声密度下的单项耗时还是总体平均耗时,AFMF最少。两幅图像不同噪声密度情况下的平均时间见表 2的最后一行,AFMF约为DBCWMF的2/3、MDBUTMF的3/5、SAMF的1/5和AMF的1/2。这是由于AFMF采用了四点模板中点滤波不仅一次,只处理四个点而且无排序操作,降低了计算复杂度。而其他四种算法都采用全点模板的中值滤波,这是耗时较多的原因之一。SAMF耗时最多,见表 3的第四列,这是因为SAMF要求滤波窗口中非噪声点的数目大于8才进行滤波处理,在同等情况下使用更大窗口的中值滤波,这大幅度增加了计算复杂度;而DBCWMF要求非噪声点数目大于1即可,MDBUTMF采用5×5固定窗口,所以二者耗时少于SAMF的耗时。另外从表 2图 5还可以看出:在50%~90%的区间内,随着噪声密度的增加,五种算法的耗时增加见图 5(a),这是因为噪声密度增加,在开关滤波处理中会增加滤波操作以致计算复杂度增加;但在91%~95%的区间内,随着噪声密度的增加,而MDBUTMF和SAMF的运行时间反而减少见图 5(b),这是因为:在噪声密度大于91%后,MDBUTMF由中值滤波逐渐转为均值滤波,均值滤波仅对滤波窗口中非噪声点进行均值算术运算,无需排序,所以运行时间少;SAMF的窗口大小达到最大13×13后,由于噪声密度高导致滤波窗口中的非噪声点数部分未达到8以上,故部分噪声点逐渐不进行中值替换操作,致使去噪效果差,其耗时相反逐渐减少。而DBCWMF耗时缓慢减少,这是因为在噪声密度较高时,中值滤波也变为均值滤波。由于AMF一直采用最大值滤波、最小值滤波和中值滤波(三个内嵌函数)等操作同时噪声检测和滤除,即使窗口达到最大后仍进行这些操作,故AMF耗时较少而近似不变,且此时噪声误检率大及中值滤波的结果仍是噪声,所以效果最差。

综上所述,在高密度噪声的图像去噪中,AFMF算法是有效的,不管在去噪性能,还是运行速度都优于目前基于中值滤波的state-of-the-art算法:AMF、MDBUTMF、SAMF和DBCWMF算法。

4 结语

针对当前中值滤波在图像高椒盐噪声上去噪效果不佳和实时性不强等问题,提出了一种高效、快速的新型滤波器:自适应四点模板中点滤波器,用于图像高密度椒盐噪声的滤除,采用四点模板中点滤波,并融合递归滤波、开关裁剪滤波和自适应滤波等技术,能够有效抑制高密度噪声,降低计算复杂度。实验结果证明,本文提出的算法在处理高密度噪声时,去噪效果优于当前的中值滤波改进算法,并且运行速度快,可以应用到许多实时处理的场合。另外本文的方法虽然适用于高椒盐噪声的滤除,但对脉冲噪声、高斯噪声等其他噪声滤除也有一定的启示作用。

参考文献
[1] 张新明, 尹欣欣, 涂强. 动态迁移和椒盐变异融合生物地理学优化算法的高维多阈值分割[J]. 光学精密工程, 2015, 23 (10) : 2943-2951. ( ZHANG X M, YIN X X, TU Q. High-dimensional multilevel thresholding based on BBO with dynamic migration and salt and pepper mutation[J]. Optics and Precision Engineering, 2015, 23 (10) : 2943-2951. doi: 10.3788/OPE. )
[2] HWANG H, HADDAD R A. Adaptive median filters:new algorithms and results[J]. IEEE Transactions on Image Processing, 1995, 4 (4) : 499-502. doi: 10.1109/83.370679
[3] 张新明, 孙印杰. 基于混沌优化的自适应中值滤波[J]. 电子技术应用, 2007, 33 (9) : 63-65. ( ZHANG X M, SUN Y J. Adaptive median filter based on chaos optimization[J]. Application of Electronic Technology, 2007, 33 (9) : 63-65. )
[4] RAMADAN Z M. Efficient restoration method for images corrupted with impulse noise[J]. Circuits, Systems, and Signal Processing, 2012, 31 (4) : 1397-1406. doi: 10.1007/s00034-011-9380-z
[5] TOH K K V, IBRAHIM H, MAHYUDDIN M N. Salt-and-pepper noise detection and reduction using fuzzy switching median filter[J]. IEEE Transactions on Consumer Electronics, 2008, 54 (4) : 1956-1961. doi: 10.1109/TCE.2008.4711258
[6] AKKOUL S, LEDEE R, LECONGE R, et al. A new adaptive switching median filter[J]. IEEE Signal Processing Letters, 2010, 17 (6) : 587-590. doi: 10.1109/LSP.2010.2048646
[7] IBRAHIM H, KONG N S P, NG T F. Simple adaptive median filter for the removal of impulse noise from highly corrupted images[J]. IEEE Transactions on Consumer Electronics, 2008, 54 (4) : 1920-1927. doi: 10.1109/TCE.2008.4711254
[8] LU C T, CHOU T C. Denoising of salt-and-pepper noise corrupted image using modified directional-weighted-median filter[J]. Pattern Recognition Letters, 2012, 33 (10) : 1287-1295. doi: 10.1016/j.patrec.2012.03.025
[9] MEHER S K. Recursive and noise-exclusive fuzzy switching median filter for impulse noise reduction[J]. Engineering Applications of Artificial Intelligence, 2014, 30 : 145-154. doi: 10.1016/j.engappai.2014.01.002
[10] MARCEL J S, JAYACHANDRAN A, SUNDARARAJ G K. An efficient algorithm for removal of impulse noise using adaptive fuzzy switching weighted median filter[EB/OL].[2016-01-06]. http://www.ijctee.org/files/VOLUME2ISSUE2/IJCTEE_0412_01.pdf.
[11] 王贵军, 杨永强. 基于高概率椒盐噪声的模糊滤波器在图像恢复中的算法设计[J]. 电子学报, 2015, 43 (1) : 24-29. ( WANG G J, YANG Y Q. Algorithm design of fuzzy filter based on salt and pepper noise with high probability in image restoration[J]. Acta Electronica Sinica, 2015, 43 (1) : 24-29. )
[12] ESAKKIRAJAN S, VEERAKUMAR T, SUBRAMANYAM A N, et al. Removal of high density salt and pepper noise through modified decision based unsymmetric trimmed median filter[J]. IEEE Signal Processing Letter, 2011, 18 (5) : 287-290. doi: 10.1109/LSP.2011.2122333
[13] 吕宗伟, 唐治德, 周林, 等. 一种高效快速的高密度椒盐噪声消除算法[J]. 电子学报, 2011, 39 (8) : 1903-1906. ( LYU Z W, TANG Z D, ZHOU L, et al. One efficient and fast method for the removal of high-density salt and pepper noise[J]. Acta Electronica Sinica, 2011, 39 (8) : 1903-1906. )
[14] BHADOURIA V S, GHOSHAL D, SIDDIQI A H. A new approach for high density saturated impulse noise removal using decision-based coupled window median filter[J]. Signal, Image and Video Processing, 2014, 8 (1) : 71-84. doi: 10.1007/s11760-013-0487-5
[15] 黄光亚, 曾水玲, 张书真, 等. 基于三维轴距的图像去噪算法[J]. 电子与信息学报, 2015, 37 (3) : 552-559. ( HUANG G Y, ZENG S L, ZHANG S Z, et al. Image denoise algorithm based on three-dimensional axis distance[J]. Journal of Electronics and Information Technology, 2015, 37 (3) : 552-559. )
[16] 张新明, 党留群, 徐久成. 基于十字滑动窗口的快速自适应图像中值滤波[J]. 计算机工程与应用, 2007, 43 (27) : 37-39. ( ZHANG X M, DANG L Q, XU J C. Fast adaptive image median filter based on crossing windows[J]. Computer Engineering and Applications, 2007, 43 (27) : 37-39. )
[17] HSIEH M H, CHENG F C, SHIE M C, et al. Fast and efficient median filter for removing 1-99% levels of salt-and-pepper noise in images[J]. Engineering Applications of Artificial Intelligence, 2013, 26 (4) : 1333-1338. doi: 10.1016/j.engappai.2012.10.012