基于噪点检测的中值滤波图像去噪方法
2016-01-21
作者:唐 宁,吕 洋
来源:2015年微型机与应用第5期
摘 要:图像去噪是图像处理中一个非常重要的环节。针对传统中值滤波方法存在的不足,提出一种新的基于噪点检测的自适应中值滤波图像去噪方法。该方法通过自适应地改变滤波窗口的大小,局部检测并判断极值点是否为噪声点,有效地降低了非噪声点误判为噪声点的概率。实验结果表明,该方法能够更有效地去除图像中的噪声,并较好地保持图像细节和边缘。
关键词: 图像去噪;中值滤波;噪点检测方法
0 引言
图像是对外界信息识别的重要途径,图像的清晰度直接影响到人们对外界的识别以及进一步分析。在图像采集传输过程中由于外界噪声的干扰,会削弱或消除一些图像基本信息,进一步导致图像质量的降低。对加入噪声的图像可以通过平滑、滤波等一系列预处理来改善图像质量。
中值滤波被广泛应用于图像去噪中。它不同于一般的模板,中值滤波采用周围邻域像素的中间值来代替,能够较高地保留高频信号,使图像能更好地保持边缘清晰[1]。本文通过对中值滤波及其改进的算法进行研究,提出了一种基于噪点检测的中值滤波图像去噪方法,通过实验对比进一步体现改进方法的优势,使其能够更好地保留原始图像的细节及边缘。
1 图像噪声及图像质量评估方法
1.1 图像噪声
图像噪声主要是源于图像的获取和传输,在此过程中受到了外界随机信号的干扰,从而影响人们对其信息的接收。因而描述噪声的方法完全可以借用随机过程的描述,即使用概率分布函数和概率密度分布函数[2]。图像中的噪声,可以根据概率密度函数分为高斯噪声、瑞利噪声、脉冲噪声等;依据噪声频谱分类可将其分为:白噪声、1/f噪声、三角噪声等[2]。本文中将主要对椒盐噪声进行去噪分析。
1.2 图像质量评估方法
图像质量主要包含图像的逼真度与可懂度[2]。目前,主要通过均方误差和峰值信噪比来客观地对图像质量进行评估:
均方误差:
其中f(x,y)、f′(x,y)分别是原始图像和降质图像复原后的图像中点(x,y)的灰度值,M和N分别是以像素点数表征的图像的长度和宽度[2]。L为数字图像的灰度级数。根据以上数值来评估图像质量,MSE越小则表明图像恢复后的质量越高,PSNR越大则表明图像视觉效果越好。
2 中值滤波
中值滤波是对中心像素点的邻域进行处理,其处理方式不能用一个线性表达式来表示。某个像素点的滤波结果就是用滤波器包围的图像区域中像素的灰度值的中值来替代该像素的值。用数学公式表达如下:
其中,f(x,y)为滤波输出,sxy表示以(x,y)为中心的滤波窗口中的所有坐标点;g(x,y)为坐标点(x,y)处的灰度值,median表示对其进行中值处理。传统中值滤波算法通过设定不同大小的窗口进行滤波,对该滑动窗口内的像素点灰度值排序,取中值作为当前像素点的灰度值[3]。
3 算法分析
针对传统中值滤波方法,参考文献[4]提出了一种改进的自适应中值滤波方法,取得了较好的滤波效果,但对于去除高密度噪声图像效果较差,对于图像边缘细节处理不够,容易噪声边缘模糊。
参考文献[5]中利用噪声像素点的性质,首先计算含噪声图像的噪声污染率,通过求得污染率与中心权值的先验函数,提出了一种有效的自适应滤波算法,但该算法计算较为复杂,并不易于实现。
参考文献[6-7]提出了基于统计思想的中值滤波算法,其通过将像素模板中的一个灰度值与其他的值进行比较[7],分别统计出大于和小于这个灰度值的像素个数,若两组像素个数相同,则表明此灰度值为中值,否则继续选择下一灰度值作为比较,该统计思想需要将选取灰度值与窗口内每个像素点进行比较。
参考文献[8]提出一种有效的开关中值滤波算法,先通过对噪声进行分类,然后运用迭代的方法对其进行滤波,但该方法在强噪声时迭代所需要的处理时间较长。
传统的滤波方法中,缺乏对椒盐噪声中极值点是否为噪声点的判断,从而容易造成图像边缘模糊,极大地增大了对非噪声点误判的可能性[9]。根据以上算法分析,本文提出了一种新的改进算法。
4 改进的中值滤波
4.1 三态中值滤波算法原理
三态中值滤波[10]是将标准中值滤波和中心加权滤波算法结合,并对其进行改进的一种滤波算法。在三态中值滤波中,通过比较中值滤波及中心加权滤波的原始像素值和其中心像素值,得出合适的输出像素值。其原理如图1所示。
标准中值滤波算法(Standard Median filter,SM),其定义为:
f(x,y)SM=median{g(x,y)|g(x,y)∈Nf(x,y)}(4)
其中g(x,y)为任意像素点的灰度值,Nf(x,y)表示f(x,y)的实心邻域[10]。
中心加权滤波算法(Center Weighted Median filter,CWM),其可定义为:
f(x,y)CWM=med{kxf(x,y),f(r,s)|f(r,s)∈Npc(x,y)}(5)
其中Npc(x,y)表示像素点p(x,y)的空心邻域,f(x,y)表示像素点的灰度值,f(r,s)表示Npc(x,y)内所有像素点对应的灰度值[2]。中心加权中值滤波主要是对中心像素加权后,将其邻域像素进行分组,在以中值分组的两组中分别排序计算出中值,通过比较,来计算求得最终的输出中值。
对于三态中值滤波(Tri-State Median filter,TSM),其遵循下述公式:
在式(6)中T为阈值,f(x,y)为像素点的灰度值, f(x,y)sm为标准中值,如式(4)所示,f(x,y)cwm中心加权滤波的输出如式(5)所示,d1为像素灰度值与标准中值之差的绝对值,如式(7)所示,d2为像素灰度值与中心加权滤波输出值之差的绝对值,如式(8)所示:
d1=|f(x,y)-f(x,y)SM|(7)
d2=|f(x,y)-f(x,y)CWM|(8)
以上公式中,可以证明。
三态中值滤波算法结合了标准中值滤波和中心加权滤波算法的优点,通过设置阈值T作为判断条件,更好地保留了图像细节。
4.2 本文改进算法
椒盐噪声在图像像素点中表现为极大值或极小值[10]。在对图像进行去噪之前,针对图像像素点的特殊性,可将像素点分为非噪声点、噪声点和图像细节点,从而在处理中保护非噪声点[11]。在图像噪声点检测中,处于极值点之间的噪声点可以进行全局检测,从而判定其是否为噪声点,但对于极值点并不能判定其是否为噪声点。在本文中,基于噪点检测的中值图像去噪方法主要引进一种局部图像噪声点检测算法,先通过全局检测判断后,再对极值点进行局部检测,其主要目的是为了判别极值点的像素点是否为噪声点,从而通过降低误判率来保护图像细节。
本文提出了基于噪点检测的中值滤波图像去噪方法,该方法主要在两方面进行了改进:
(1)通过设置阈值,对图像内像素点判断其是否为极值点,并对其进行区分;
(2)在局部检测时,通过自适应地扩展窗口大小,判断极值点是否为噪声点。
最后通过与中心加权滤波和三态中值滤波算法进行比较,从主观图像观察和客观数值比较来证实本文方法的优越性。
4.2.1噪点检测中滤波窗口的选择
在筛选图像噪点中,滤波窗口的大小对滤波效果有巨大的影响。当滤波窗口取值较小时,易于保护图像细节但去噪效果较差;当滤波窗口较大时,去噪效果较好,但却使图像模糊程度增大。
如图2所示,该图表示加噪图像中局部区域的灰度值,当加入噪声密度较大时,较小的滤波窗口不能正确判断中心像素是否为噪声点,增大了对中心像素误判的可能性。在图2(a)中,3×3的滤波窗口中有6个噪声极大值点,在噪点检测中该F
在滤除图像噪点中,窗口的大小对于去噪效果有重要的影响,滑动滤波窗口可以根据对图像噪声点的判断自适应地调节窗口大小。当滤波窗口较小时,易于保护图像细节,但去噪性能不好;当滤波窗口较大时,去噪性能较好,但图像易于被模糊。如图3中,图3(a)为原图,图3(b)为3×3滤波窗口,图3(c)为5×5滤波窗口,图3(d)为7×7滤波窗口。在图3中明显地可以看出,当选取7×7滤波窗口时,图像较为模糊,去噪性能大大降低。
4.2.2 改进算法步骤
(1)输入值为f(x,y),F,Gmin,Gmax及阈值T;其中 f(x,y)为图像像素点的灰度值,F为像素点与其窗口邻域内像素点灰度值的差的绝对值之和的均值,Gmin与Gmax分别为图像全部像素灰度值的最大值和最小值,选取w=w×w为滑动滤波窗口大小。
(2)首先对图像所有像素点进行检测,若满足式(9):
则该像素点为非噪声点,保持其灰度值不变。
(3)若不满足式(9),则进行局部检测。选择3×3的滑动滤波窗口,计算该滑动窗口中像素点的三态中值滤波fTSM,若满足:
则对于当前滑动窗口,计算F的值,若F小于其阈值T,则该像素点为非噪声点;若其F大于T,则像素点为噪声点。
(4)若不满足式(10),扩展滤波窗口为5×5,即窗口大小为w=(w+2)×(w+2),则返回至步骤(3)重新计算F及fTSM进行判别。
4.3 算法流程图
本文基于图像噪点检测的改进三态中值滤波算法流程图如图4所示。
4.4 本文去噪算法结果分析
在实验仿真中,以MATLAB作为仿真平台,选取了256×256的camerman.jpg图像作为主要测试图像,测试中加入了0.08的椒盐噪声,其阈值设定为15,5×5的滑动窗口作为最大滑动窗口,其权值设为11;选取3×3的滑动窗口作为最小的滑动窗口,其权值设为3,依据以上算法,对中心加权滤波算法做了仿真测试,并进行对比测试,结果如图5~图7所示。去噪后的MSE值及PSNR/dB值如表1、表2所示。
通过对camerman、lena、Peppers等多幅图像进行测试,结果表明中心加权滤波算法对邻域像素的中心元素进行了加权,权值的增大可能会导致输入邻域像素点灰度值的增大,它根据窗口内像素权值的不同来调节图像细节和噪声的矛盾,但却降低了消除噪声的能力。
基于噪点检测的中值滤波去噪方法结合了标准中值滤波和中心加权滤波,通过设定阈值T判断像素点是否为极值点,并通过自适应的调节窗口大小局部检测极值点是否为噪声点,其降低了误判的可能性,能够更好地筛选噪声点,从而更好地保持了图像细节并且更好地去除椒盐噪声。
5 结论
本文主要对加入椒盐噪声的图像采用基于噪点检测的中值滤波图像去噪算法进行去噪处理。在该方法中,首先对图像像素点进行极值点分类,通过自适应的改变滑动滤波窗口大小判断极值点是否为噪声点,从而降低了噪声点误判的概率,更为有效地去除了噪声。实验结果表明,与传统的中值滤波方法相比,基于噪点检测的中值图像去噪方法能够有效地去除图像中的椒盐噪声,并能够较好的保持图像特征完整。
参考文献
[1] 赵海丽,刘艳霞,陈智强,等.数字视频图像传输中基于FPGA的图像去噪方法[J].吉林大学学报:信息科学版,2012,29(6):600-606.
[2] 陆天华.数字图像处理[M].北京:清华大学出版社,2007.
[3] SHUKLA A K, BHATEJA V, VERMA R L, et al. An improved directional weighted median filter for restoration of images corrupted with high density impulse noise[C]. Optimization, Reliabilty, and Information Technology (ICROIT), 2014 International Conference on. IEEE, 2014: 506-511.
[4] CHANG C C,HSIAO J Y,HSIEH C P. An adaptive median filter for image denoising[C]. Intelligent Information Technology Application, 2008.IITA′08.Second International Symposium on. IEEE, 2008:346-350.
[5] 金良海,熊才权,李德华.自适应型中心加权的中值滤波器[J].华中科技大学学报:自然科学版,2008,36(8):9-12.
[6] 李元帅,张勇,周国忠,等.图像中值滤波硬件算法及其在FPGA中的实现[J].计算机应用,2006,26(B06):61-62.
[7] 董付国,原达,王金鹏.中值滤波快速算法的进一步思考[J].计算机工程与应用,2007,43(26):48-49.
[8] WANG Z, ZHANG D. Progressive switching median filter for the removal of impulse noise from highly corrupted images[J]. Circuits and Systems II: Analog and Digital Signal Processing, IEEE Transactions on,1999,46(1):78-80.
[9] 王宇新,贺圆圆,郭禾,等.基于FPGA的快速中值滤波算法[J].计算机应用研究,2009,26(1):225-226.
[10] HORNG S J, HSU L Y, LI T, et al. Using sorted switching median filter to remove high-density impulse noises[J]. Journal of Visual Communication and Image Representation, 2013,4(7):956-967.
[11] RAMAMOORTHY K, CHELLADURAI T, SUNDARARAJAN P, et al. Noise suppression using weighted median filter for improved edge analysis in ultrasound kidney images[J]. Int. J. Comp. Sci. Mobile Comput,2014(3):97-105.