基于椒盐噪声滤波算法的优化处理
2019-04-11董林鹭杨平先陈明举
董林鹭,杨平先,陈明举
(四川轻化工大学自动化与信息工程学院,四川 自贡643000)
引言
在21世纪这个信息大爆炸的时代,人们获取信息的主要来源是图像方式。但是由于通讯技术的限制,图像在传输过程中会受到很多噪声污染,其中椒盐噪声最常见,其特点就像椒(像素值0)、盐(像素值255)随机分布在图像上,极大地影响了人们对图像中所含信息的获取。
椒盐噪声处理中不乏一些经典的滤波算法,如中值滤波算法(MF)[1]、均值滤波算法等,这一类算法的特点是算法简单、计算速度快。在这基础上学者们提出了许多改进的椒盐滤波算法[2-7],然而这些算法的滤波过程同样依赖于滤波窗口的大小,当窗口较大时,滤波处理后的图像较模糊,造成图像细节的损失。为了使滤波过程中只针对噪声进行滤波处理,学者们提出了一些先检测噪声,再滤波处理的算法[8-12]。该类算法在噪声密度较低时,滤波效果比较优秀,但当噪声密度过大或成块出现时,其处理效果就比较差。文献[13]提出了极值中值滤波算法,先比较某一区域内某像素点与相邻像素点值的大小,如果该像素值在该区域内值最大则判定为盐噪声,如果该像素值最小就判定为椒噪声,其他情况判定为原图像素点,但这在很大程度上会对图像细节像素点造成误判断,使得去噪的同时对图像造成二次污染。文献[14-15]提出的方法是针对成块状的核辐照噪声,利用图像修复技术将被辐照污染的区域当作待修复区进行滤波处理,但这种方法易将灯光等像素值较高的这类细节当成噪声处理,使得细节丢失。
为了解决图像二次污染的问题,本文在上述椒盐滤波算法基础上,对滤波算法进行优化处理,将噪声图像分为噪声像素点和细节像素点,使椒盐噪声滤波算法只对噪声像素点进行滤波处理,对细节像素点不处理,以进一步保护图像的细节部分。
1 优化方法的实现
1.1 优化方法的数学模型
对椒盐噪声图像分析可知,受到椒盐噪声污染后的图像由噪声像素点和细节像素点两部分构成,可表示为:
式中:U(i,j)表示被椒盐噪声污染的图像,N(i,j)表示细节像素点构成的图像,Z(i,j)表示噪声像素点构成的图像。
(1)对被椒盐噪声污染的图像U(i,j)进行平滑预处理,得到处理后的图像记为U1(i,j),求出噪声像素点构成的图像Z(i,j)。对于图像Z(i,j),为防止细节像素点被误判定为噪声像素点,本文设立一个阈值K,当像素值Z(i,j)<3.5K时,置Z(i,j)=0;当Z(i,j)>3.5K时,置Z(i,j)=255。其中,当差值为负数时令其值为0。其表达式为:
(2)利用噪声像素点构成的图像Z(i,j)和被噪声污染的图像U(i,j)求得细节像素点构成的图像N(i,j)。其表达式为:
(3)由噪声像素点构成的图像经过滤波处理后的图像记为Z2(i,j)。为了保证优化的效果,同样需要阈值K,与式(2)中的阈值K相同,当Z2(i,j)<K时,置Z2(i,j)=0,并与细节像素点构成的图像N(i,j)镶嵌融合,得到滤波算法优化后的图像,记为U3(i,j)。其中,当差值为负数时令其值为0。其表达式为:
(4)阈值K的确定。为了让优化后的细节像素点的像素值尽可能地与优化前细节像素点的像素值相同,设立了阈值K,其方法是先求得经滤波处理后的细节像素点构成的图像,记为N1(i,j)。其数学表达式为:
再分别求出各自的灰度平均值记M1为N(i,j)内像素值的和、M2为N1(i,j)内像素之和。其表达式为:
式中:C为权值,本文选取C=60,是经过大量的实验得出的。从数学模型分析可知,噪声的污染百分比越小,优化的效果就越明显。
1.2 优化方法的具体过程
本文选取中值滤波算法(MF)进行图像滤波优化处理。选取256×256大小的8 bit灰度图像Baboon进行实验,对原图加入密度为20%的椒盐噪声,优化步骤为:
(1)对椒盐噪声图像U平滑预处理得到图像U1,再将U1与U做差,得到由噪声像素点构成的图像Z,如图1所示。
(2)再利用噪声图像U减去噪声像素点构成的图像Z,得到由细节像素点构成的图像N,如图2所示。
(3)对噪声图像U采用中值滤波处理(对应需要优化的滤波算法)得到图像U1,再用U1减去由细节像素点构成的图像N,得到了噪声被滤波处理后的像素点构成的图像Z2,如图3所示。
(4)最后将由细节像素点构成的图像N与噪声被滤波处理后的像素点构成的图像Z2进行镶嵌融合得到优化后的图像U3,如图4所示。
图1 由椒盐噪声像素点构成图像Z的提取过程图
图2 未被污染的细节图像N的提取过程图
图3 椒盐噪声滤波处理后像素点所构成图像Z2的提取过程图
图4 滤波算法优化过程图
2 实验结果与讨论
2.1 滤波算法优化处理的主观评价
本文首先利用主观评价来验证优化方法对椒盐滤波算法的有效性,为了证明滤波算法优化的普遍性,选用256×256大小的8 bit灰度图像cameraman、einstein、核辐照噪声图像作为处理对象。对前两幅图像分别添加10%、40%密度椒盐噪声,先用经典的中值滤波(MF)、加权中值滤波(WFM)对它们进行滤波处理,再利用本文方法对中值滤波算法和加权中值滤波算法的滤波效果图进行优化处理,得到优化后的效果图分别用OMF、OWMF来表示,如图5所示。第三幅图像是从核辐照现场采集的视频中截取的核辐照噪声图像,对该图像采用文献[15]方法结合本文方法进行滤波处理,如图6所示。其中,为了试验的公正性,对于需要手动调整滤波窗口大小的中值滤波,其输出的效果图为最优滤波窗口大小。
图5 传统滤波算法优化效果图
图6 新颖滤波算法优化效果图
对比分析图5(a)~5(l)可知,中值滤波和加权中值滤波处理的图像在经过优化处理后,图像的纹理细节更清晰。对于图6的核辐照图像,由于技术原因,不能对图像加核辐照噪声,只能从核辐照现场视频中截取实验图像。通过对比文献[15]方法滤波处理的效果与优化后的效果图可以看到,在对灯光细节的处理上优化处理后的细节效果更优。因此,本文的优化方法不仅对传统的椒盐噪声滤波算法有优化的作用,对核辐照噪声滤波算法[14-15]也同样具有优化作用,对图像的细节保护[16]效果更优。
2.2 评价指标
(1)为了客观地评价滤波算法在优化后其滤波性能提升的可靠性,这里采用峰值信噪比(PSNR)与结构相似度(SSIM)来对优化后的效果与原滤波算法的效果进行评价。PSNR定义为:
式中:M和N分别为图像横向和纵向的像素个数;X(i,j)为原始图像的灰度值;Y(i,j)为经过滤波器处理后的图像灰度值;S为图像中可能出现的最大灰度值(本文选用8 bit灰度图像,则S=255)。由式(9)可知,PSNR值越大,滤波图像与原图越接近。
SSIM定义为:
式中:μx是x的平均值;μy是y的平均值;σ2x是x的方差;σ2y是y的方差;σxy是x和y的协方差;c1=(k1L)2,c2=(k2L)2,是用来维持稳定的常数,其中,L是像素值的动态范围,k1=0.01、k2=0.03。由式(15)可知,在0到1之间,SSIM值越接近1,两张图片结构越相似,当值为1时表示两图完全一致。
(2)一种滤波算法的优劣有两个重要的指标,一是噪声滤波处理后还原图像的质量,二是完成图像滤波处理所用的时间T,这样才能够满足实际工程中的需要。因此,一种滤波算法的优劣由噪声滤波质量和滤波速度共同决定。于是引入了滤波处理消耗时间T,作为客观评价的一个要素。
2.3 滤波算法优化处理的客观评价
本文采用Matlab2016编程,以2.60 GHz的英特尔CPU、内存为8 GB的笔记本为平台进行实验仿真,分别对30幅265×265大小8 bit的标准Matlab灰度图加10%~90%的椒盐噪声,再利用经典的中值滤波(MF)、加权中值滤波(WMF)[17]、自适应中值滤波(AMF)[18]、极值中值滤波(EMF)对图像进行滤波处理。为了结果公平,手动调节经典中值滤波的窗口大小,使其输出结果为最优,再分别对以上滤波算法进行优化处理,分别用OMF、OWMF、OEMF、OAMF来表示对应滤波算法的优化结果,多次实验得到平均评价数据,见表1。
表1 几种滤波算法的评价与优化处理后的评价的对比
由表1可知,优化处理后的椒盐滤波算法在处理图像的峰值信噪比和结构相似度上,相较于对应的原滤波算法其效果都有不同程度的提高,如在噪声密度为10%时,处理速度快的经典中值滤(MF)优化处理后的结构相似度从0.8996提升到0.9672,高于处理速度比其慢15倍的自适应中值滤波(AMF)的结构相似度(SSIM=0.9619),同时在该密度下,原中值滤波算法在处理过程中需要的时间为0.0011 s,优化处理过程需要的时间需要0.0041 s,因此,优化后处理提升了滤波效果,滤波时间较原滤波算法并没有显著增加。将表1中PSNR数值绘制曲线图,如图7~图8所示。
从图7与图8可知,利用噪声灰度值与邻域像素灰度值关联的方法进行中值滤波处理时,算法依赖关联方法的程度越大,优化程度越明显,峰值信噪比最高可提升2 dB左右。由于优化处理方法的数学模型限制,对于噪声密度高于50%的噪声滤波算法的优化效果不是很明显。
3 结束语
图7 WMF和EMF优化处理后的PSNR比较
图8 AMF和MF优化处理后的PSNR比较
现有的滤波算法处理椒盐噪声时都是依赖噪声邻域像素的灰度值来滤出噪声污染,这很可能会对图像造成二次污染,滤波的同时也会将图像原有的细节模糊化。针对这一问题,提出了一种对滤波算法优化的方法。仿真实验表明,优化方法对传统的椒盐滤波算和核辐照滤波算法都有不同程度的性能优化,且不会明显影响滤波算法本身的速度,但是当椒盐噪声密度大于50%时,优化后的滤波算法较原滤波算法的提升效果不明显,因此还需要进一步对其进行研究。