基于排序差值脉冲噪声检测的彩色图像滤波方法
2008-07-31
作者:景 娜,刘嘉敏,黄有群
摘 要:提出一种针对彩色图像" title="彩色图像">彩色图像脉冲噪声" title="脉冲噪声">脉冲噪声进行检测,并根据检测结果利用改进的自适应矢量中值滤波" title="中值滤波">中值滤波法滤除彩色图像脉冲噪声的方法。试验结果表明,该方法能够明显地减少脉冲噪声检测" title="噪声检测">噪声检测过程中的噪声漏判数量,有效地去除彩色图像中的脉冲噪声,滤波后不会产生新的颜色,并能较好地保持图像的边缘与细节信息。
关键词:脉冲噪声;噪声检测;像素值排序;彩色图像滤波;自适应中值滤波
彩色图像在其采集、传输等过程中,经常会引入脉冲噪声,这种噪声会对图像质量产生较大的影响。因此,有效地滤除脉冲噪声对后续的图像分析与应用尤为重要。对于彩色图像的滤波,传统的标量方法是对图像的三个颜色通道分量分别滤波,然后将滤波后的三个分量重新合成新的图像。这种方法没有充分考虑彩色图像三个颜色分量之间的有机联系,合成后的新图像可能产生原图像没有的颜色。通常,矢量滤波方法" title="滤波方法">滤波方法比标量方法更适合于彩色图像滤波[1]。矢量方法是将彩色图像的每个像素作为一个三维矢量进行处理,通过各通道颜色分量之间的联系来处理彩色像素,不会产生原图像所没有的颜色。在矢量滤波方法中,基于排序统计的矢量中值滤波[2]是一种常用的方法。然而,这种方法随着滑动窗口的增大运算量也迅速增加,为此人们又提出了一些改进的矢量中值滤波方法[3-4]。这些方法大大降低了运算复杂度,对于彩色脉冲噪声均有一定的滤除能力,但在处理噪声干扰图像时,没有区分当前像素及其邻域像素是否受到噪声污染。无条件地对每个像素进行滤波处理必然会损失图像的某些原始信息,影响最终的滤波效果。因此,对彩色图像中的脉冲噪声像素点进行检测,并根据检测结果仅对脉冲噪声像素进行滤波,是进一步提高彩色图像细节保持能力的关键。据此,人们又提出了基于脉冲噪声检测的图像滤波方法[5-8],使图像滤波的细节保持能力得到更进一步的提高。参考文献[9]中通过分析和比较,指出这些方法存在较多的噪声误判和漏判现象,提出了一种应用多通道脉冲噪声检测的彩色图像自适应中值滤波方法,并通过试验数据表明该方法优于参考文献[5-8]的滤波方法。这种方法在噪声检测过程中采用的是将彩色图像按R、G、B三个颜色通道分为三个子图像。对于每个子图像,根据子图像中像素的灰度值与其邻域内像素的灰度均值的关系对该子图像进行噪声判定。通过三个子图像的噪声检测结果得到整个彩色图像噪声检测结果。这种噪声检测的方法虽然减少了噪声点漏判及误判的数量,然而,该法在噪声检测过程中,邻域均值的大小决定了噪声判定域值的选取,这导致噪声的检测能力受邻域均值的影响较大,尤其是在图像中噪声干扰较大时表现得尤为明显,存在较多的噪声漏判现象。
本文针对上述方法的缺陷,提出了一种基于排序差值脉冲噪声检测的彩色图像滤波方法。该方法通过对滤波窗口内像素的各颜色通道的分量值进行排序,根据排序后相邻像素的相应分量的差值和中心像素的位置情况进行噪声点检测。由于噪声的判定与邻域均值无关,故该法的噪声检测能力不受邻域均值的影响。最后,采用改进的自适应矢量中值滤波方法,仅对受噪声干扰的像素进行滤波,对未受噪声干扰的像素保持原值。在进行脉冲噪声滤除的同时,保持彩色图像的原始信息不遭破坏。试验结果表明,该方法使图像获得了很好的滤波效果。
1 彩色图像脉冲噪声检测
在RGB颜色空间中,彩色图像颜色值是由R、G、B三通道分量值组成的。对于彩色图像中的任意一像素,噪声可能在一个或多个颜色通道中引入,即使是在一个通道中产生的,也会对该像素的颜色产生很大影响。故在彩色图像中,若某像素的任意一颜色通道被噪声污染,则该像素被认为是噪声像素。由于彩色图像的三个通道都有可能受到脉冲噪声的干扰,因此可以分别对三个颜色通道进行脉冲噪声检测,并根据各个颜色通道脉冲噪声检测的结果得到整个彩色图像的脉冲噪声检测结果。
1.1 噪声特征分析
设RGB颜色空间中受噪声污染的彩色图像中各个像素表示为:
式中,(i,j)代表像素的位置, L和M分别为图像的行数和列数。把以O′(i,j)为中心、边长为2k+1(k为非负的整数)个像素大小的正方形窗口定义为像素O′(i,j)的滤波窗口?棕(O′(i,j)),并假设K的初始值为k0。
在彩色图像中,任意颜色通道C∈{R,G,B}的脉冲噪声图像为一灰度图像。在一个受脉冲噪声污染的灰度图像中,对于任意像素O′C(i,j),将它的滤波窗口内像素按像素值大小进行排序,每两个相邻像素的像素值会存在一个差值,如果某两个相邻像素的差值很大,并且发生在靠近排序后的最大值和最小值处,则说明窗口内有少数像素明显不同于其他像素,这些像素点在正常的图像中是很少存在的,可作为候选噪声点[10]。如果窗口中心像素位于这些候选噪声点范围内,即O′C(i,j)为少数突变点之一,则可判定该像素为噪声点。
1.2 噪声判定算法描述
首先建立与各颜色通道图像的维数大小相同的布尔矩阵和一个与彩色图像的维数大小相同的布尔矩阵,分别用来标识各通道噪声点的位置和整个彩色图像噪声点的位置,表示为NC和N,C∈{R,G,B}。矩阵NC中每个元素都与待处理的相应单通道噪声图像中每个像素相对应,用NC(i,j)表示为:
矩阵N中每个元素都与待处理的彩色噪声图像中每个像素相对应,用N(i,j)表示为:
式中,(i,j)代表像素点的位置,L和M分别为图像的行数和列数。矩阵中元素为0表示该元素所对应的图像像素为脉冲噪声,为1表示原图像像素。把NC和N初始化为全1 矩阵,在进行脉冲噪声检测的过程中,根据噪声检测的结果将矩阵NC和N中的元素赋值为0或保持原值 1。下面按照从左到右、从上到下的顺序对图像中的每个像素进行噪声检测。
步骤1:对于任意像素O′(i,j),顺序地对它的R、G、B三通道按照步骤2~4进行单通道噪声检测,即顺序地对O′R(i,j)、O′G(i,j)、O′B(i,j)进行噪声检测。只要检测出有一个通道被噪声污染,则认为O′(i,j)是噪声像素。
步骤2:对于O′C(i,j),C∈{R,G,B}判断与它对应的NC(i,j)是否为1,如果为1,则转到步骤3;否则该通道噪声检测结束。
步骤 3:对于O′C(i,j)的滤波窗口ω(O′(i,j))内的任意一点O′C(i+p,j+q)(其中-k≤p≤k,-k≤q≤k),如果与它对应的NC(i+p,j+q)等于1,则将它保存到O′C(i,j)的判断向量WC(O′C(i,j))中,否则不予考虑。假设滤波窗口内有H个适合条件的元素, 即得到长度为H的判断向量WC(O′C(i,j)):
将WC(O′C(i,j))按照从小到大的顺序排序,得到新的向量W′C(O′C(i,j)):
然后从左至右求W′C(O′C(i,j))中两两相邻元素的差值的绝对值,得到差值向量GC(O′C(i,j)):
接下来求出GC(O′C(i,j))中前H/2个和后H/2个向量的最大值max1、max2。假设分别为:
步骤4:对于给定的域值T0,如果上述各值同时满足以下三个条件:
则可以判定像素点O′C(i,j)为噪声点, 并将NC(i,j)和N(i,j)赋值为0,否则保持NC(i,j)和N(i,j)的原值不变。
步骤5:判断O′(i,j)是否为图像的最后一个像素点,如果不是,则将彩色图像窗口的中心移到下一个像素点,并且转到步骤1继续操作;如果已经是图像的最后一个像素点,则判断k是否为0,如果是,则噪声检测结束,否则将k减1,并且将T0减5,将窗口中心移到图像的起始点,然后转到步骤1继续执行操作。
1.3 参数选择
本文采用峰值信号噪声比PSNR作为滤波性能的客观评价标准,定义如下:
式中,O(i,j)为原始彩色图像像素,为经滤波处理后的彩色图像像素。PSNR值越大,滤波效果越好。大量实验表明,T0=25时PSNR最高。本文经验性地给出当噪声小于10%时滤波窗口的初始大小k0为2,当噪声大于或等于10%时,k0为3。
2 脉冲噪声的自适应滤除
本文采用改进的自适应矢量中值滤波法[9]对噪声图像进行滤波,其基本思想是只对噪声像素进行滤波,对未受噪声干扰的像素则保持原值,并且根据噪声污染程度的不同,自适应地选取滤波窗口的大小。具体算法如下:
(1)遍历彩色图像各像素所对应的噪声检测矩阵N的元素值,如果为0,则对所对应的像素点O′(i,j)进行滤波,为1,则保持原值。对于检测出来的噪声点O′(i,j),如果其3×3(k=1)滤波窗口内的非噪声点数为0,则将k加1,直至窗口内存在非噪声点(从实验结果看,5×5的滤波窗口就已经足够)。根据图像中各个区域的噪声污染程度的不同,自适应地调整滤波窗口的大小,有助于噪声点的滤除,以达到更好的滤波效果。
(2)对滤波窗口ω中的矢量集合计算其平均值颜色矢量,已经被判定为噪声像素的颜色值不参与计算,以增加像素颜色的复原效果。
(3)对窗口ω中的所有非噪声像素颜色矢量,计算其到平均值矢量V?棕的距离,取其中距离最小(argmin)的颜色矢量作为滤波器的输出矢量Vout,噪声像素O′(i,j)颜色矢量被颜色矢量Vout所替换。即:
式中,i=1,2,…T,则Vout=Ve,Ve∈ω,T表示滤波窗口中的非噪声像素的个数。
3 实验结果
为了验证本文方法的有效性,对本文方法和参考文献[9]方法进行了实验比较,实验用原始彩色图像为160×154、24bit的RGB空间的、如图1所示的女孩图像。
图2(b)、图2(c)分别给出对图2(a)加入20%脉冲噪声的女孩图像去噪处理后的视觉效果比较。通过对比观察可以看出,采用本文方法处理后,图像中的噪声像素被明显地滤除,图像清晰,视觉效果较好。
表1给出对于受不同强度脉冲噪声污染的女孩图像,即本文方法的噪声判断效率与参考文献[9]方法的比较结果。漏判点是指将噪声像素点误判为非噪声像素点,而错判点是指将非噪声像素点最终误判为噪声像素点。通过比较可以发现,本文方法具有较少的漏判点数,噪声判断整体效率较高。虽然参考文献[9]方法的错判点数较少, 但是它的漏判点数远多于本文方法,致使误判总数也远多于本文方法。因为漏判与错判点多发生在图像的边缘处, 所以这将影响参考文献[9]方法在进行图像恢复时细节的保持能力。
表2是本文方法与参考文献[9]方法对女孩图像滤波后的PSNR值比较。可以看出, 本文提出的方法获得了较高的峰值信号噪声比。
基于噪声检测的滤波方法可以在滤除噪声的同时有效地保护图像的细节信息。本文提出了一种简单、易于实现的基于脉冲噪声检测的彩色图像滤波方法。该方法由于有较好的噪声检测能力,并结合改进的自适应矢量中值滤波法对噪声像素进行滤波,使该方法能在有效地滤除图像中脉冲噪声的同时,较好地保持了图像的边缘细节信息,滤波过程中不会产生新的颜色。
参考文献
[1] MACHUCA R,PHILLIPS K.Applications of vector fields to image processing.IEEE Trans PAMI,1983,5:316-329.
[2] ASTOLA J,HAAVISTO P,NEUVO Y.Vector median filters[J].Proceedings of the IEEE,1990,78(4):678-689.
[3] KARAKOS D G,TRANIAS P E.Combining vector median and vector directional filters:the directional-distance filters[A]. In:Proc of IEEE Int.Conf on Image Processing 95[C],1995:171-174.
[4] TRAHANIAS P E,PITAS I,VENETSANOPOULOS A N.Directional processing of color image:theory and experimental
results[J].IEEE Trans. on Image Processing,1996,5(6):868-880.
[5] 蒋刚毅,郁梅,郁伯康.自适应彩色图像滤波新方法[J].科学通报,1999,44(18):1937-1942.
[6] 郁梅,郁伯康,蒋刚毅,等.基于噪声检测的彩色图像脉冲噪声滤波[J].计算机工程与应用,2000,(3):55-57,74.
[7] 郁伯康,郁梅.彩色图像脉冲噪声的自适应矢量滤波[J].电子科技大学学报,2000,29(2):131-135.
[8] 王文惠,楼生强,万建伟,等.一种彩色图像的非线性自适应滤波算法[J].计算机工程与科学,2001,23(4):18-20.
[9] 韩晓微,晏磊,原忠虎,等.应用多通道脉冲噪声检测的彩色图像自适应中值滤波方法[J].程图学学报,2006,6
(6):63-68.
[10] 张大志,张卫宁,史英,等.基于排序跳变点的脉冲噪声检测与滤除算法[J].计算机工程与应用,2006,(35):58-60.