1、简介
数字图像经常被脉冲噪声损坏,由于一个噪声污染的摄像头传感器和模拟到数字转换过程
的故障。噪声的图像会严重阻碍后续的图像处理,如分割,目标检测和分类。因此,去除
有噪声的损坏的图像是绝对必要的而且是非常重要的。图像去噪的目标是尽可能地去除噪
声,同时保留更多的图像细节。与高斯噪声不同的是,脉冲噪声的特性是,对于脉冲噪声
污染的图像,并不是所有的像素值被改变,但只有一部分的像素被替换成噪声。为简单起
见,设和分别表示在污染和干净的图像中在(i,j)位置的像素强度,且像素值被界限于和
之间( > )。然后,脉冲噪声模型可以被描述为:
(1)
其中表示噪声的灰度值,是噪声率。一般来说,有两种脉冲噪声,即椒盐噪声(SPN)和
随机值脉冲噪声(RVIN)。对于椒盐噪声(SPN),噪声的像素值从和选择。而 RVIN,损坏
的像素的强度可以改变成(Nmin ,Nmax)之间的任何价值。与 SPN 相比,RVIN 更难更难
被去除。
为了抑制脉冲噪声,各种滤波器和技术已被采用。中值滤波器(MED),以其简单而著名,
是最常见的工具之一。然而,中值滤波器可能会删除图像中的一些理想的细节,特别是当
噪声密度较高。因此,一些中值滤波器得到扩展,然后提出以获得更好的去噪性能。如加
权中值(WM)滤波器,中心加权中值(CWM)滤波器和递归加权中值滤波器(RWMF)。
通过分配权重以突出理想的像素,这些过滤器可以实现更好的过滤性能。然而,它们仍然
会降低图像质量,因为它们只是处理噪声图像的每个像素,而不考虑它是否是噪声。
为了解决上述问题,已经开发了几种滤波技术与噪声检测器相结合。噪声检测器,在过滤
之前,是用来区分损坏和干净的像素的。然后检测到的噪声像素被过滤,而干净的保持不
变。这些技术很多都是基于中值或平均型滤波器,例如其中包括自适应中心加权中值
(ACWM)滤波器,罗—迭代法,定向加权中值(DWM)滤波器,自适应开关中值(种)
滤波、最优方向中值滤波,两相开关排序的算术平均值(TSRAM)滤波器,和 ROR 的非局
部均值(ror-nlm)。
在参考文献[ 18 ]中,基于自然图像的假设,像素的信息总是与他们相邻的像素有很强的关
系,加内特(Garnett)等人介绍了局部统计等级排序绝对差(ROAD)来描述噪声像素。后
来,东(Dong,[ 15 ])等人发现通过使用对数函数来提高噪声像素和干净像素之间的差
异,可以提高检测精度。因此,基于 ROAD,他们提出了一个新的统计 ROLD 并将其和边缘
保持规则化(EPR)[ 30 ]相结合用于抑制 RVIN。虽然 ROAD 和 ROLD 可以检测出大部分的脉
冲噪声,但是仍然可能在边缘检测上失败。为了克服这一缺陷,产生一个相对不同的图
像,于(Yu)等[ 38 ],提出了一种等级排序相对差异法(RORD)用于识别噪声。利用一张
参考图像,RORD 可以保存最边缘像素。然而,它过分依赖于参考图像,这是不能保证完
全清除的。因此,它仍然损害了一些图像细节,特别是当噪声密度高的时候。在参考文献
[ 28 ]中,结合噪声检测器,稀疏表示技术(the sparse representation technique)也被扩展
用于脉冲噪声的去除。
最近,一些使用模糊规则的去噪技术已经开发。由于其固有的不确定性特征,模糊规则适
用于脉冲噪声。已经证明了在去除椒盐噪声(SPN)甚至噪声密度高达 90%的椒盐噪声
中,模糊检测器或模糊滤波器可以达到很好的性能。不幸的是,大多数这些模糊技术是为
了椒盐噪声提出的,很少有适合随机值脉冲噪声(RVIN)的。
在本文中,我们提出了一种新的图像去噪算法用于去除随机值脉冲噪声。该算法也基于
“先检测然后再过滤”的方法。为了检测噪声,提出了一种两相(两阶段)噪声检测器。
在第一阶段,提出了一个 rod-road 方案用于区分可能噪声(noise-like)和可能干净(clean-
like)的像素。对滑动窗口中可能干净的像素的中位数绝对偏差进行计算,并引入一个隶属
函数来描述什么是可能噪声的像素点。由于边缘像素总是被错误地检测为噪声,在第二阶
段,我们提出了一个统计 MEPD 用于识别哪些是被错误地检测为噪声的边缘像素。这个过
程是必要的,以保护边缘以免被损坏。对于过滤,一种新的加权均值滤波器(WMF),它
不仅考虑到图像的特征信息,而且考虑到脉冲噪声的特点,设计的目的是消除检测出来的
噪声像素点。我们的主要贡献概括如下,
• 介绍一种新的 ROD-ROAD 方案,以产生一个更干净的参考变量用于检测噪声。
• 利用隶属函数的模糊规则描述一个像素点被脉冲噪声损坏的可能性。
• 提出了一种局部统计 MEPD 以选出边缘像素。据我们所知,这是第一次从候选噪声中
识别边缘像素,这有助于保护图像细节。
• 整合图像特征和脉冲噪声的特点,设计了一种新的 WMF 更适合用于去除脉冲噪声。
本文的其余部分组织如下。第 2 节显示了一些相关的作品。第 3 节介绍了两相噪声检测
器。在 4 节介绍了新的加权均值滤波算法。在第 5 节中给出了迭代去噪算法,并在 6 节和
7 节给出了结论。
2、相关作品
在这一节中,我们回顾了一些相关的研究工作,重点对噪声检测器和过滤器的脉冲噪声去
除的设计。首先,我们简要回顾一些噪声检测方案,然后介绍一些开关滤波器。
2.1、噪声检测器
One crucial problem for Impulse Noise removal is the noise detection. Most existing IN detectors
can be classified into two types, one is based on the absolute deviation defined as,
脉冲噪声去除的一个关键问题是噪声检测。大多数现有的脉冲噪声检测器可以分为 2 种类
型,一个是基于绝对偏差定义为,
(2)
其中表示从局部信息计算的参考变量。这个绝对偏差值进一步与适当的阈值 T 相比,然后
选择一个二进制矩阵 f 用于比较结果的记录。
(3)
这里的值“1”表示当前像素 x(i,j)是一个噪声污染的像素,否则 x(i,j)是一种干净
的像素。
多年来,各种局部的统计数据被用作参考变量。
For example, X(i,j) is replaced by the median or weighted median in [29,32,37], normalized
mean in [17], rank order in [1], center-weighted median in [12], median of the absolute
deviations from the median (MAD) in [13], directional weighted median in [16], weighted mean
in [3], and median of sorted quadrant median vector (SQMV) in [25].
例如,在[ 29,32,37 ]中 X(i,j)被中位数或加权中位数所取代,在[17]中被标准化平均,在
[1]中按等级排序,在[12]中中心加权中值,在[13]中中值的绝对偏差(MAD)中值,在[16]
中定向加权中值,在[ 3 ]中加权平均数、在[ 25 ]中 中值排序象限矢量中值(SQMV)
另一个是基于中心像素和它的相邻像素之间的绝对差异。在局部窗口中,X(k,l)表示 X
(i,j)的相邻像素,然后绝对差被定义为,
(4)
这种检测方案的一个典型代表是等级排序绝对差(rank-ordered absolute difference ,
ROAD)[18],
(5)
其中
是等式(4) n 个中最小的一个。
ROAD 的值,这可能是用来与一个阈值相比,提供了一个像素与它的相邻的 m 个最相似的
像素之间的距离测量。后来,采用绝对差的对数,东等人[ 15 ]提出了一种统计 ROLD 的方
法 来 提 高 检 测 精 度 。 采 用 一 个 参 考 图 像 , 于 等 人 [38] 介 绍 了 等 级 排 序 的 相 对 差 异 法
(RORD),相比于 ROAD 和 ROLD,此法可以保留更多的图像边缘。在[19]中,ghanehar 等
人用指数函数来扩大(4)式中的绝对差,并与 ROAD 方案使用类似的方法识别噪声。
2.2、开关滤波器
开关滤波器,它首先利用一些检测器,以确定噪声像素,然后使用一些过滤器,以消除噪
声像素,被广泛用于解决脉冲噪声去除问题。一种常用的滤波器是中值型滤波器。陈等人
[11]提出的自适应中心加权中值滤波器(ACWM),中位值用于判断中心像素是否是噪声,
然后通过中心加权中值滤波器对噪声像素进行抑制。这种策略是由新 ACWM[ 26 ]和自适应
加权均值滤波器(AWMF)[41]进一步提高的。在[19]中,以提出了基于对比度增强的滤波
器(CEF),绝对差首先被指数函数扩大,然后总结以识别噪声像素。通过加权中值滤波器对
噪声像素进一步过滤。蔡(Tsai)等人[34]采用十个现有的脉冲噪声检测器,构建了一个两
级树用于噪声像素的检测,并通过与支持向量回归方法相关联的中值型滤波器恢复噪声像
素。最近几年,一些均值滤波器也纳入了脉冲噪声去除的转换方案,因为它们可以捕捉到
更多的图像详细信息。在[18]中,统计学上的 ROAD 被纳入双边滤波器和一个三边滤波器,
被设计用于减少脉冲噪声。在[ 27 ]中,将等级排序算术均值滤波器与检测器相结合,以消
除脉冲噪声。林等人[ 25 ]提出了一种切换双边滤波器来抑制脉冲噪声的方法。最近,联合
检测器,非局部均值(NLM)滤波器[8]由于其出色的去噪性能也扩展用于去除脉冲噪声
[ 37,22 ]。在[37]中,在初步去噪图像中计算了 NLM 的权重,而这些在[22]中的计算是在噪
声图像中通过减少相似性度量计算提供的噪声像素的贡献实现的。将噪声检测器结合到远
程学习中,德龙等人[14]提出了一种基于补丁的脉冲噪声去除方法。
虽然上面提到的技术可以抑制大部分的脉冲噪声,中值型滤波器不能很好地保护图像的细
节,因为他们只是使用中值型的值来代替噪声的像素,并没有充分利用局部窗口所有的像
素。相比之下,均值型的滤波器已经表现出更好的去噪性能。
However, they still do not catch the characteristic of Impulse Noise well and bring in some
artifacts because those mean filters are originally developed for GN removal.
然而,他们仍然不能很好地抓住脉冲噪声的特性并带来一些假象,因为那些均值滤波器最
初是为高斯噪声(GN)的去除而开发的。
All these show that it is very critical to design better filters for Impulse Noise reduction.
所有这些都表明,设计更好的过滤器用于降低脉冲噪声是非常关键的。
3、双相位噪声检测器
在这一节,我们提出了一种有效的噪声检测器,用于检测噪声像素。该探测器由两部
分组成,第一部分是基于 rod-road 方案的候选噪声检测阶段。第二部分是一个边缘像
素识别阶段,这是用来从候选噪声中识别边缘像素的。图 1 显示了两相检测流程图。
边缘像素
噪声图像
边缘像素的识别
候选噪声检测方案
检测结果
噪声像素
Map
无噪声的
3.1 、ROD-ROAD 的起因
上述两种检测方案在 2.1 节都有各自的不足之处。例如,在第一个方案中,噪声信息参考
变量可能导致极其不准确的检测结果。等式(5)中的 ROAD 和它的变型,是第二个检测方
案典型代表,会在不同的图像模式中失败。这将在下面的例子中演示。
从等式(5)的定义,可以看到每个 ROAD 值与像素有关。ROAD 方案的基本假设是,较大
的 ROAD 值表示噪声的像素,而较小的表示干净的像素。噪声像素的检测是通过比较它们
的 ROAD 值与预先定义的阈值。然而,如图 2 所示,在图像中 ROAD 值是很容易受不同的
模式的影响,。在图中,斑点 A、B 的两张 5x5 图片含有不同的模式,是从含有 5%脉冲噪声
的“莱娜”图像中提取的。斑点 A 是从一个平滑的区域选取的,而斑点 B 是从一个包含边
缘的详细区域选择的。在两个斑点中噪声像素都使用椭圆标出。图 3 显示了这 2 个斑点的
对应的 ROAD 值。这两个斑点的 ROAD 值的阈值 T,可以从这三个例子中分析得到,如图 4
所示。可以看出,由于在斑点 A 中的噪声像素的 ROAD 值接近斑点 B 的一些干净像素的
ROAD 值,不存在这样一个适当的阈值可以在两个斑点同时正确区分噪声像素和干净像素。
ROD-ROAD 因此提出了解决这些问题的方法。
图 2。含有 5%脉冲噪声的莱娜图像中的 2 个斑点。(a1)斑点 A 的噪声像素的噪声数据用
椭圆标记,(a2)斑点 A 的原始数据,(b1)斑点 B 的噪声像素的噪声数据用椭圆标记,
(b2)斑点 B 的原始数据
图 3。图 2 中的 A 斑点和 B 斑点的 ROAD 值:(a)A 斑点的 ROAD 值。(b)B 斑点的 ROAD
值。
3.2、ROD-ROAD 方案
ROAD 的基本假设是假设噪声像素的 ROAD 值总是大于那些干净的像素。然而,这不是很正
确,因为像素的边缘通常也有较大的 ROAD 值(见图。2 和 3),导致检测结果不准确。基于
这样的观察,虽然 ROAD 值会因不同模式的图像斑点而有很大的差异(例如,边缘,纹理,
或平滑区域),但它们的偏差并没有这么大的变化。这是因为在一个斑点的像素属于相同的
模式,然后通过计算每个斑点的 ROAD 值的偏差,从而消除了不同的模式的影响,导致更准
确的检测结果。受此启发,我们提出了一个新的标准,称为等级排序差异的 ROAD(rod-
road),基于 ROAD 值的偏差强制检测可能的噪声像素。rod-road 方案被描述为:首先,计
算滑动窗口中的每个像素值的 ROAD 值,并按照升序排列。然后每一个 ROAD 值被其下一个
相邻的元素减去,然后得到 rod-road。最后,利用阈值 T 来区分可能是噪声和可能是干净
的像素点。
我们仍然以图 2 中的斑点 A 和 B 为例子。操作可描述为,
(a)对图 3 中 2 个斑点的 ROAD 值进行分类,斑点 A: 4,4,4,4,4,5,5,6,6,6,
6,8,8,9,9,12,12,13,14,16,18,19,19,132,142;斑点 B: 85,86,89,
94,95,96,98,102,106,109,110,112,119,123,124,125, 131,132,136,
143,144,147,156,158,204。
(b)计算相邻元素的差,=(0,0,0,0,1,0,1,0,0,0,2,0,1,0,3,0,1,1,2,2,1,0,113,10 );
=(1,3,5,1,1,2,4,4,3,1,2,7,4,1,1,6,1,4,7,1,3,9,1,46).
(c)选择一个阈值(例如 T=12),并在和中找到第一个大于这个阈值的元素。这个 rod-
road 值是由相邻两个 ROAD 值生成的,后者表示噪声像素。此外,ROAD 值大于此处发现的
一个也被视为对应于噪声像素。例如,在斑点 A 中,19 和 132 产生的 113 是第一个值大于
阈值的元素,因此 132 关联一个噪声像素(即,146)。此外,下一个 142 也被认为是对应
于一个噪声像素。因此,在斑点 A 中,146 和 171 被确定为噪声像素,其余被确定为干净
的。类似地,在斑点 B 中,使用相同的阈值,125 被检测为噪声像素,其余的都是干净
的。利用 rod-road 方案,检测结果更加准确。
3.3、候选噪声检测
rod-road 方案可以检测噪声,然而,其检测性能仍然是脆弱的,因为它只是 ROAD 的一个简
单的改进。事实上,它们之间的区别是,在 ROD-ROAD 中阈值是自适应选择的(即,基于
偏差)而在 ROAD 中是手动调谐的。由于 ROAD 的性能差,ROD-ROAD 的性能也有待提高。
(在第 6.3 节中的实验进一步验证了这一分析)。要解决这些问题,并不是直接使用 ROD-
ROAD 方案来检测噪声,我们将其与等式(2)的绝对偏差方案相结合用于检测脉冲噪声。
正如前面所分析的,在等式(2)中的参考变量极大地影响检测结果。一个干净的会导致好
的结果,而一个噪声的会导致坏的检测结果。为此,我们首先采用了 ROD-ROAD 方案选出
干净的像的像素,然后一个更干净的参考变量命名为 MSP(所选择的像素的中值)用于公
式(2)中进行计算。这将导致更准确的检测结果。设是一个(2n + 1)*(2n + 1)滑动窗
口中的一组像素坐标,以点(i;j)为中心。新的候选噪声检测机制被描述为,
1。噪声图像,使用 5x5 的窗口并令 m=8,通过等式(5)计算 ROAD 绘制 R 图。对于噪声
图像的每一个(i,j)像素点,初始化 N = 1。
2。设置一个以为中心的(2N+1)*(2N+1)滑动窗口。令
为一组
包含 ROAD 值对应于窗口中的所有像素的集合。
3 。 将 按 升 序 排 列 , 表 示 为
, 其 中 是 的 排 序 值 . 假 设
是对应像素的值。
4。rod-road 方案:计算相邻的两个元素之间的绝对差;得到一组包含所有的差值的集合
。从 D 中找到一个,如
≤T,jT。然后
是一组包含(k+1)个最小的 ROAD 值的集
合,其中 T 是一个阈值,作为 D 的平均值。如果<5,则 N=N+1,转到步骤 2。
5 。 这 些 像 素 的 ROAD 值 所 对 应 的 被 选 作 可 能 干 净 的 像 素 , 用
表示。
6。计算加权中值,
,
其中
表示重复像素
次。在滑动窗口中的(k,l)像素,加权定义为:
(6)
7. Compute the absolute deviation between the pixel xi;j and xmsp, e.g., dref i;j ¼ jxi;j xmspj.
7。计算像素和之间的绝对偏差,如
。
图 4。选择阈值的说明。T1 不能正确识别斑块 B 的一些干净像素;T2 是不能够准确地检测
出斑块 A 的噪声像素;T3 不能识别这两个斑块的噪声像素。
接下来提出一个模糊的标准来描述噪声像素。因为模糊规则是随机的,可以更正确地描述
脉冲噪声。隶属函数描述一个像素是如何有可能被脉冲噪声污染的,
其中阈值 Tmax 大于 Tmin。在我们的方法中参数 α 设置为 0.2,通过我们的扩展模拟,任何
0.1<α<0.5 可以取得令人满意的结果。
(7)
3.4、边缘像素识别
虽然我们提出的候选噪声检测器可以显着地减少错误地将信息像素检测为噪声像素的概
率,一些边缘的难以处理的像素仍然容易被错误地判断。因此,根据第一检测结果,本节
提出了一种边缘像素的检测器,以便从候选噪声中提取边缘像素。这样的边缘像素识别策
略的灵感来自于观察,对于未被脉冲噪声损坏的边缘的像素,该像素的边缘应该是小的,
而衍生的噪声像素是大。值得注意的是,这个过程只是专为候选的噪声像素设计的。以下
显示步骤:
1。扫描第一检测结果图。如果(i;j)> 0.5,则在噪声图像 X 中设置一个以为中心的(2N
+ 1)*(2N + 1)滑动窗口。
2。计算这四个集合: