翻译至《Impulsive Noise Removal in Color Digital Images Based on the Concept of Digital Paths》Bogdan Smolka
摘要
本文提出一种用于彩色图像脉冲噪声抑制的快速算法。该算法利用数字路径的概念,这些数字路径将滤波窗口的中心像素与其边界相连。为每一条路径分配一个代价值,其中最小代价值将作为衡量中心像素受噪声破坏程度的指标。如果窗口中心到窗口边界连通路径的最小代价值很高,则判定该中心像素已被噪声破坏。滤波器输出结果为原始像素与该像素鲁棒估计值的加权平均;利用最小代价值构建软切换规则,以此得到滤波器输出结果。实验表明,该新算法具备优异性能,对于噪声高度失真的图像效果尤为突出。该算法计算复杂度较低,可应用于实时场景。
1 引言
降噪依旧是数字图像处理最重要的研究方向之一,在绝大多数应用场景中,含噪图像的增强都是必不可少的处理环节。随着多媒体设备市场快速扩张,各类应用能够采集、上传、分享海量彩色图像与视频序列,因此提升彩色图像的视觉质量有着至关重要的意义。
彩色图像常常遭受各类失真问题,失真来源包括感光矩阵的热噪声、光子通量波动引发的散粒噪声、矩阵像素损坏、电磁干扰产生的噪声、模数转换器的量化误差、存储设备老化以及传输错误 [1]。彩色图像经常受到脉冲噪声干扰,脉冲噪声会随机改变像素一个或全部通道的取值。如何复原这类失真图像,正是本文的研究主题。
大量用于抑制彩色图像脉冲噪声的滤波器是基于序统计理论设计 [2]。这类算法对处理窗口W内视作向量的彩色像素进行排序。针对窗口内每一个像素,计算该像素到周围像素的距离之和,随后对累积距离排序,利用排序后的彩色像素序列构建各类去噪方案。经典的向量中值滤波器(VMF)的输出,是滤波窗口内到其余样本距离之和最小的像素 [3]。
向量中值滤波器系列算法的处理效果存在局限:该算法会处理图像中的每一个像素,会对未被噪声污染的像素执行不必要运算,进而造成图像细节丢失。因此,切换型滤波器仅替换那些被检测为脉冲噪声破坏的像素,可以实现更优的去噪效果 [4‑5]。这类滤波器首先检测被破坏的像素,随后将故障像素替换为依据无噪声像素构建得到的鲁棒估计值。
切换滤波器的性能高度依赖脉冲检测方案的准确度,以及区分脉冲噪声与未失真像素的阈值调节。因此软切换滤波器拥有更好的去噪效果;软切换滤波器将处理窗口的中心原始像素与鲁棒处理后的像素估计值(例如向量中值滤波器输出结果)做加权平均 [6‑7]。它的主要优势是无需设置阈值,滤波器输出对像素受破坏程度的估计偏差并不敏感。本文即采用该软切换机制,其决策规则基于本文提出的像素脉冲程度度量指标。
本文组织结构如下:第二部分介绍本文提出的快速滤波算法设计;第三部分展示实验结果,并与当前主流去噪算法开展对比;最后一部分对全文进行总结。
2 滤波器设计
假设存在大小为的滤波窗口W,窗口包含
个像素,窗口中心像素记为
,下标i代表像素在图像区域上的位置。接下来,为所有从中心像素出发、经过r步抵达窗口边界的路径赋予代价值,如图 1 所示。对路径步数做出限制,目的是减少全部可能路径的总数量,算法仅考虑最短路径。
由像素序列)构成的路径,其代价值定义为:
式中d代表相邻像素之间的差异度量。实验表明,选取,
为 RGB 颜色空间的欧氏距离),可以获得理想效果 [8‑10]。
接下来,计算从像素出发、所有长度为r的路径的代价值,找到代价值最小的路径,记其代价为
。该数值可以作为衡量像素脉冲噪声强度的度量。如图 2 (a) 示例,存在一条路径连接亮度相同的像素,因此滤波窗口中心像素对应的C取值等于 0。当中心像素与邻域像素差异很大时,连接中心像素与窗口边界的最小路径代价值会显著升高。如图 2 (b) 的示例,C的取值等于
。
图 1:半径(r=2)的滤波窗口,示例长度为 2、连接中心像素和窗口边界的若干路径。
图 2:连接窗口中心与窗口边界的最小代价路径示意图。
图 3 (a) 展示由 3 个脉冲噪声构成的簇(黄色标记),该脉冲簇可以被轻松检测,因为不存在一条低代价路径将中心像素连通至滤波窗口边界。如果异常像素自身形成连续路径,则算法会将其识别为线条并予以保留,见图 3 (b)。
图 3:(a) 3 个脉冲噪声构成的噪声簇(黄色标记),不存在低代价通路连通中心像素与滤波窗口边界;(b) 若噪声像素构成连续通路,则被视作线条保留。
图 4 (a) 展示测试图像 MOTOBIKE 的局部片段(完整测试图像见图 5)。该图像被占比(p=0.2)的随机值脉冲噪声污染,见图 4 (b)。本文所采用噪声模型会改变占比为p的一部分像素,像素 RGB 通道将替换为区间([0,255])服从均匀分布的随机数。
图 4 (c) 展示每个像素对应的差异度量C所构成映射图。为便于观察像素受破坏程度,图 4 (d) 将噪声映射图所有数值乘以 5。得到的噪声映射容易受到细微纹理细节的干扰。为降低图像结构变化对噪声检测精度带来的影响,本文执行形态学顶帽(Top‑Hat,TH)运算。顶帽变换等于原始噪声映射减去使用 3×3 结构元执行形态学开运算之后的结果。
如图 4 (e) 可以看到,图像细节带来的干扰得到抑制;图 4 (f) 为原始噪声映射与顶帽变换输出的差值。由此,顶帽变换提升脉冲噪声检测的准确率,它是本文算法中十分关键的步骤。它的作用和以往噪声映射增强算法类似,目的是降低纹理对脉冲噪声检测效果的影响 [5]。经过顶帽变换校正后的噪声映射记作:
式中符号代表形态学开运算。
从图 4 可以看出,本文提出的脉冲检测方法,即便是大片聚集的受损像素也能够实现有效检测;而对于依靠局部相似度度量的现有方法,完成该任务相当困难 [5,11‑13]。这类传统方法的判定逻辑:如果一个像素周围至少存在 2 至 3 个邻域像素,二者在 RGB 欧氏距离上足够接近,则该像素判定为未受干扰。因此,一组通道取值相近的脉冲噪声簇,会被误判为无噪声像素。而在本文算法中,即便噪声像素周围存在若干取值相近的其他噪声,依旧可以完成检测(图 3 (a)),因为这些异常像素不存在可以连通中心像素到滤波窗口边界的低代价路径。但如果存在这样的连通路径(图 3 (b)),算法便无法将其和图像线条细节区分,选择将其保留。综上,该算法既可以处理脉冲噪声簇,又能够保留图像微小细节。
利用每一个像素对应的度量值
,可以计算得到图像的鲁棒估计:
为需要调节的平滑参数。
图 6 (a) 为 MOTOBIKE 测试图像的局部;图 6 (b) 为叠加占比\(p=0.2\)脉冲噪声之后的含噪图像;图 6 (c) 展示噪声映射。公式 (2) 计算得到的加权平均结果y如图 6 (d)。可以观察到该结果存在明显模糊:位于锐利边缘两侧的像素,都可以和对应滤波窗口的边界建立低代价连接,输出结果会混合相邻不同区域内的像素。最终将含噪图像x和鲁棒估计y做加权平均:
式中是融合系数,取值介于 0 与 1 之间;
为第二个调参。若像素
对应的
取值很低,代表该像素未失真,
趋近于 1,输出
直接取自含噪图像中的像素
。若像素受到破坏,
取值很大,则
趋近于 0,输出结果选用鲁棒估计
。需要说明,虽然图 6 (d) 的鲁棒估计图像存在模糊,但已经完全消除脉冲噪声,以此保障滤波器最终输出不会受到脉冲噪声的影响。输出像素是含噪原始像素
与鲁棒估计
的加权平均,
承担软切换系数的作用。算法也可以选用其他递减函数,不过指数函数就可以取得令人满意的效果。
4 结论
本文提出一种高效的脉冲噪声抑制算法。该滤波框架可以处理重度失真图像,同时保留图像细节与边缘。和现有主流滤波器对比表明,尤其在图像噪声污染程度较高时,该滤波器拥有更强的降噪能力。滤波窗口内部像素之间的距离可以预先计算并存入内存,因此该算法可以应用于实时处理场景。后续工作将把该算法拓展应用于视频增强任务。