一种改进的方向加权中值滤波算法
2019-04-28江巨浪
江巨浪,辛 倩,朱 柱
(安庆师范大学物理与电气工程学院,安徽安庆246113)
脉冲干扰是数字图像中的常见噪声污染之一,主要产生于图像的采集、传输与存储过程。去除脉冲噪声,提高图像质量,是图像后续处理中如图像压缩、边缘检测、图像分割、图像检索、图像理解、目标识别等工作的一个重要预处理环节[1]。依据污染像素的灰度值分布,脉冲噪声分为随机值与固定值两类。固定值噪声以最大灰度值或最小灰度值随机分布在图像数据中,视觉上常显示为白点或黑点。去除固定值脉冲噪声的研究已趋于成熟,甚至在噪声密度超过90%时,仍可恢复出视觉效果良好的图像[2]。而去除随机值脉冲噪声的研究相对落后,由于噪声像素的灰度值在最小值和最大值之间随机分布且污染位置随机以及图像的多模态复杂性等因素,噪声像素准确检测和修复等工作仍有待深入研究[3-4]。中值滤波简单易用,有较好的噪声抑制能力。多年来,研究人员依据标准中值滤波和开关中值滤波,通过改进滤波器[5]和设计检测算子[6]提升此类滤波的性能。方向加权中值滤波(DWM)是用于抑制随机值脉冲噪声的典型算法[7]。DWM算法基于当前像素与其4个主要方向的邻域差异而设计,与加权中值滤波相结合,抑制图像随机值脉冲噪声能够保持更多的细节特征,具有较好的去噪性能。本文依据图像局部特征自适应设置截断阈值,用于判断当前像素是否属于噪声像素,并将判断结果用于修正DWM算法中的中值运算的像素权重。改进的DWM算法用于去除图像高密度随机值脉冲噪声具有良好的性能。
1 DWM算法分析
对于5×5的滤波窗口,设中心像素坐标为(i,j)。将空间分为4个方向,第k个方向的方向指数由该方向上的各像素与中心像素yi,j的灰度差的加权求和计算得到,
其中,k为方向序号,1≤k≤4;Sk为第k方向的像素,s,t为邻域像素的相对坐标。从4个方向指标中选取最小值ri,j,用于像素的随机值脉冲检测,
T为噪声判断阈值,初始值取T=510。采用迭代方式检测噪声像素,阈值T按照0.8的递减倍数逐次降低,迭代次数一般为5至10次。噪声检测之后,对于判定为非噪声像素,直接输出其像素值。对于判定为噪声的像素,依次计算4个方向的所有灰度值标准差,其中最小值对应的方向为边界保持方向,设其序号为l。对周边3×3邻域的像素进行加权中值运算,噪声像素的恢复值:
其中,◇表示像素值的重复运算符,ῶs,t为像素值重复次数的权重:
(4)式中,Sl表示方向序号为l的边界保持方向。
2 改进的DWM算法
在DWM算法中,由于只考虑到像素位置以及边界保持方向对像素权重的影响,没有考虑邻域噪声像素与非噪声像素对权重影响的差别,在一定程度上弱化了非噪声像素对噪声修复的主导作用。本文依据图像中每个像素的局部特征,计算像素的截断阈值,作为噪声像素的判别依据。将噪声判断结果用于修正DWM算法的中值运算权重,加强非噪声像素在图像恢复中的主导作用,以期进一步提高图像去噪质量。
2.1 基于截断阈值判别噪声像素
随机值脉冲噪声像素的亮度与局部背景融合度差,利用这一视觉现象,构造一种阈值截断算子用于噪声像素判别。以像素(i,j)为中心,选取边长为2n+1的窗口。首先,计算窗口中每一行像素亮度的中值,构成包含2n+1个元素的向量,
然后,计算窗口中每一列像素亮度的中值,构成包含2n+1个元素的向量,
最后,合并以上两个向量,记录其中的最大值、最小值,
判断中心像素(i,j)的亮度是否位于这个区间。若在此区间内,则认为该像素溶于背景,将其认定为噪声像素,记并录噪声判别值N(i,j)为真;若中心像素(i,j)的亮度不在此区间内,则该像素不溶于背景,令其噪声判别值为假。将判别结果输入图像中的滑动窗口,可得到一个噪声判别矩阵,
2.2 中值滤波器权重优化
本文算法在DWM算法基础上,将上述的噪声判别矩阵N用于优化(3)式的DWM中值滤波器的像素权值。同时进一步考虑将3×3邻域内噪声像素与非噪声像素对权重的不同影响,对判别为非噪声的邻域像素在DWM算法基础上对其权重继续增加1个重复次数,因此对(4)式的像素权重定义进行修正为
通过修正像素权值后,中值运算在一定程度上加强了非噪声像素对噪声修复的主导作用,尤其当噪声密度较大时,非噪声像素数量减少,其在噪声像素修复中的作用更加重要。提高非噪声像素在中值运算中的权重,有利于提升去噪质量。
3 仿真结果与讨论
用Lena、Pepper和Boats 3幅图像进行算法性能测试。采用峰值信噪比(PSNR)对不同浓度的随机值脉冲噪声的去噪性能进行客观评价,结果如表1所示。统计数据表明,本文算法用于处理密度大于40%的高密度随机值脉冲噪声具有高于DWM算法的PSNR值,可以获得更好的图像质量。这是因为当噪声密度较小时,非噪声像素数量本来就较多,增加非噪声像素在中值运算中的权重,相对削弱了方向性权值的作用,没有有效提高PSNR的值。当噪声密度较大时,非噪声像素数量减少,适当增加非噪声像素在中值运算中的权重,计算结果有利于图像恢复的合理性,在一定程度上改善了去噪质量。
表1 不同密度随机值脉冲噪声修复结果的峰值信噪比
本文使用Matlab(R2010a)编程进行仿真实验,操作系统为Windows 7,计算机配置为3.0 GHz Intel Pentium Dual处理器、2 G内存。图1是对密度为60%的随机值脉冲噪声的处理效果。图1(a)是随机值脉冲噪声污染的图像,图1(b)是DWM算法对图像进行去噪的效果,图1(c)是本文算法的去噪效果。处理512×512的图像,DWM算法的平均运行时间为3.713 s,本文算法平均运行时间3.757 s,算法效率相近。
4 结束语
本文提出一种用于去除高密度随机值脉冲噪声的改进DWM算法。在DWM算法基础上,将基于截断阈值的噪声判别结果,用于修正DWM算法的中值运算像素权值。实验结果表明,该算法用于去除密度大于40%的高密度随机值脉冲噪声能够取得优于DWM算法的去噪性能。
图1 对浓度为60%的图像随机值脉冲噪声的去噪效果比较