APP下载

快速二步交叉非局部的图像混合噪声滤波器

2021-10-26郑宏亮张天壮刘芳菲

吉林大学学报(信息科学版) 2021年5期
关键词:椒盐邻域像素点

郑宏亮, 王 奕, 张天壮, 刘芳菲, 傅 博

(辽宁师范大学 计算机与信息技术学院, 辽宁 大连 116081)

0 引 言

图像能对自然景物进行客观反映, 是人类认识世界和本身的重要源泉。随着科学技术发展和生活水平提高, 数字图像不仅已深入人们生活, 同时对图像质量的要求也越来越高。然而, 图像在形成、 采集和传输过程中会不可避免地受到各种形式的噪声污染。例如, 图像传感器在拍摄时视场不够明亮或亮度不够均匀导致产生高斯噪声、 图像切割时会产生椒盐噪声等。上述图像噪声不仅影响人们对图像的观察与欣赏, 同时可能影响后续的图像分析工作。为获取高质量的图像, 有必要对图像进行去噪处理。

目前噪声种类有很多, 常见的噪声模型主要有高斯噪声、 脉冲噪声、 瑞利噪声、 伽马噪声、 指数分布噪声和均匀噪声等。去除不同的噪声需要采取不同的方法, 比如去除椒盐噪声, 最有效的方法是中值滤波, 而去除高斯噪声可以使用均值滤波。均值滤波是一种典型的线性滤波, 对处理加性噪声有很好的效果。其基本思想是以当前像素点为中心, 求窗口内所有像素点灰度值之和, 以其平均值代替当前像素点灰度值。传统的均值滤波算法简单, 但需要对全部像素操作, 会影响无噪声的像素点。同时, 均值滤波忽略了像素点之间的关系, 不注意保护图像边缘。传统的中值滤波是典型的非线性滤波, 其基本思想是使用像素点邻域灰度值的中值代替该像素点的灰度值, 其对椒盐噪声的处理效果优于均值滤波, 在消除噪声的同时也能很好地保护图像的边缘, 处理非线性噪声效果良好, 目前得到了广泛应用。然而, 传统的中值滤波与传统的均值滤波均存在一定问题, 即只考虑像素点的空间相邻关系, 并且其在数据排序上费时较多, 在特别大的窗口下, 需要进行大量的数据比较工作。同时, 这类方法不能自适应地控制窗口大小, 且存在过度平滑丢失图像细节的问题。

Buades等[1]于2005年提出了非局部均值去噪算法(NLM: Non-Local Means), 该算法很大程度上解决了传统的均值滤波保护图像边缘弱、 不考虑像素点之间关系的问题。但NLM算法处理图像的时间过长, 不符合人们对速度的追求。同时, NLM算法对去除椒盐噪声没有达到良好的效果。为解决传统NLM算法存在的问题, 目前已由传统的非局部均值去噪算法衍生出了许多优秀的算法。例如, 何春等[2]提出的改进权重函数的非局部均值去噪算法, 该算法针对传统的非局部均值算法耗时较长, 且权重分配不够合理以及利用欧氏距离计算邻域之间相似性时不能很好地突出中心像素点作用问题提出的一种新的改进算法。Froment[3]提出的快速非局部均值去噪算法解决了传统的非局部均值算法耗时长的问题。但上述算法依然没有很好地解决椒盐噪声处理效果不佳的问题。燕红文等[4]和谈锋[5]分别提出了不同的基于传统中值滤波改进的自适应中值滤波算法, 其保护图像细节能力大大提高, 但仍然需要考虑像素点的空间上的相邻关系。傅博等[6]在非局部滤波中增加了边缘导向, 可以一定程度地保护图像边缘。李伟伟[7]针对混合噪声提出了非局部欧氏中值滤波的改进算法, 该方法首先对椒盐噪声进行预处理以降低后续非局部均值计算相似性的干扰, 使处理效果进一步得到提高。郭林等[8]与路敬祎等[9]分别采用偏微分方程与变分方程解决图像去噪问题并取得了较好的效果。总体而言, 尽管目前提出的一些改进方法较传统滤波效果更好, 但大部分改进后去噪方法针对单一噪声设计, 而实际自然图像往往受到多种图像噪声污染, 现有的去噪方法无法处理混合噪声污染情况。同时, 类似非局部均值的方法需要在较大范围计算切块之间的相似度, 隐私时间复杂度较高。张玉征等[10]在度量相似度的过程中采用了双核函数进行度量并获得了较好的效果。江巨浪等[11]通过引入方向系数的方式使滤波器具有一定的方向保护特性。He等[12]则通过导向滤波器的方式进行边缘保护。

针对上述问题, 笔者提出了一种快速二步交叉非局部混合滤波的混合噪声去噪方法。算法利用积分图像技术[13]改进了现有的NLM算法, 降低了NLM算法的计算邻域相似度部分的时间复杂度, 同时加入非局部中值滤波处理图像。该算法能极大地缩短图像处理的时间, 也能保护图像细节和边缘部分, 对椒盐噪声能达到更好的去除效果。

1 相关工作

一张数字图像u, 其受到混合噪声叠加污染的表达模型如下

v(i)=u(i)+n(i)+m(i)

(1)

其中v(i)为含有噪声的图像,u(i)为未受噪声污染的图像,n(i)可以为高斯噪声等,m(i)表示椒盐噪声。传统的NLM算法的基本思想是当前像素的估计值由图像中与它具有相似邻域结构的像素加权平均得到, 可定义如下

(2)

其中w(i,j)为图像v中的像素i和像素j的相似性系数, 0≤w(i,j)≤1,w(i,j)可表示为

(3)

其中规定v(Ni)为以i为中心的矩形邻域,α为高斯核标准差且大于0,h为平滑参数,h越小, 图像边缘保留细节越多, 但会残留许多噪点。

传统的NLM算法只去除了式(1)中的n(i)噪声, 并未很好地去除m(i)噪声, 且每次搜索都需重新寻找v(Ni)和v(Nj), 导致算法时间复杂度过高。因此, NLM算法也衍生出了许多优秀的改进算法, 如改进权重函数的非局部均值滤波算法、 使用积分图像原理改进的非局部均值滤波算法等, 但其仍无法很好地去除椒盐噪声。传统的中值滤波算法只是在处理椒盐噪声时获得了比传统的NLM算法更好的效果, 并没有有效地去除高斯噪声。针对上述问题, 笔者以非局部均值滤波算法为基础, 提出了一种快速二步交叉非局部混合滤波去噪方法。

2 快速二步交叉非局部混合滤波算法

笔者提出的算法在以下两个方面对传统的非局部均值滤波算法进行了改进。其一是针对传统非局部均值滤波算法在计算某一偏离坐标点方向的权重时存在重复计算导致算法运行时间过长的问题, 笔者算法使用积分图像原理构造出一个差值积分图, 使图像中每个点与偏离其在一定偏移的坐标点的距离都可通过查表方法和有限次简单运算方法得到, 大大降低了算法的时间复杂度, 提高了算法的运算效率。其二是针对椒盐噪声去除效果不理想的问题, 在传统非局部均值滤波算法基础上, 将计算加权平均值改为根据权重计算中值, 得到非局部中值滤波算法, 并将改进的非局部均值滤波算法和非局部中值滤波算法交叉使用。这使该算法有效去除了椒盐噪声, 增强了其去除混合噪声的效果。

2.1 积分图像的构建

由于图像是由一系列离散的像素点构成的, 所以图像的积分就是求和过程。图像的积分图中每个像素点的值, 都是原图像中该点左上角图像的所有点像素值之和。建立数组A作为积分图像, 其长宽与原图像相等, 其中每点存放的是该点与图像原点构成的矩形中所有点像素值之和, 表示为

(4)

其中I(x,y)为图像(x,y)位置点的像素值。积分图像可以采用增量计算方式

S(x,y)=S(x,y-1)+S(x-1,y)-S(x-1,y-1)+I(x,y)

(5)

其中初始边界:S(-1,y)=S(x,-1)=S(-1,-1)=0。

将积分图像技术运用于NLM算法中, 对算法进行加速。首先构造关于像素值的差值积分图像

(6)

其中st(z)=‖v(z)-v(z+t)‖2,St(x)=st(x)+St(x1-1,x2)-St(x1,x2-1)-St(x1-1,x2-1)。

计算邻域v(x)和v(y)之间的距离公式如下

其中ds为邻域窗口半径,d为邻域窗口直径。利用积分图像加速后, 非局部均值部分算法时间复杂度降低为O(ND2), 其中,D为搜索窗口直径。

2.2 非局部中值算法

非局部均值算法的基本思想是当前像素的估计值由图像中与它具有相似邻域结构的像素加权平均得到。利用该思想, 在其他步骤不变的情况下, 当前像素的估计值用与当前像素具有相似邻域结构的像素根据权重求中值得到的像素值代替。

2.3 快速二步交叉非局部混合滤波

笔者提出的二步交叉非局部混合滤波算法步骤如下。

1) 读入含有噪声的彩色图像。分离出R、G、B3个色道, 分别对3个色道进行如下处理。

2) 首先进行预处理。当图像中的像素点的灰度值为0、1、254或255时, 使用非局部中值滤波进行去椒盐噪声处理。

3) 对图像整体采用积分加速的非局部均值滤波进行处理, 去除高斯噪声等。

4) 对图像整体采用非局部中值滤波进行处理, 进一步去除椒盐噪声。

5) 将处理完成的3个色道合并, 显示处理后的彩色图像。

算法流程如图1所示。

图1 快速二步交叉非局部混合滤波算法流程图Fig.1 Diagram of fast two-step cross non-local hybrid filtering method

3 实验结果分析

实验使用Windows10操作系统, 实验环境为Matlab R2017b。为验证笔者算法的可行性和有效性, 分别对5张公开测试图像Baboon、 Barb、 Bark、 Gray和Lena进行测试。将上述图像进行不同程度噪声污染后, 采用未改进的算法和改进后算法进行对比实验和分析。其中非局部中值部分算法邻域窗口大小为3×3, 搜索窗口大小为5×5, 腐蚀系数为3。非局部均值算法邻域窗口大小为5×5, 搜索窗口大小为11×11, 腐蚀系数为10。实验结果如图2~图5所示。

除了视觉效果, 峰值信噪比(PSNR: Peak Signal-to-Noise Ratio)和算法运行时间也是衡量算法优劣的指标, 信噪比数值大表示去噪效果好, 算法运行速度越短表示算法时间复杂度越低。为更好地显示改进后算法的优越性, 笔者还从信噪比PSNR和算法运行时间上对实际结果进行量化。5张图像量化结果如表1所示。

图2 原图Fig.2 Source images

图3 加噪声后图像示意图Fig.3 Noisy images

表1 5张图像量化结果对比表

综上所述, 传统的非局部滤波与快速二步交叉非局部混合滤波相比, 后者的各项性能明显优于前者。因此, 快速二步交叉非局部混合滤波处理噪声效果更加理想, 更适合处理混合噪声。

4 结 语

笔者针对传统的非局部滤波在去除被混合噪声干扰的图像时, 去噪速度过慢和去噪效果不佳的问题, 通过积分图像加速技术改进非局部均值滤波, 并融合非局部中值滤波和改进的非局部均值滤波, 提高算法的运行速度, 改善混合噪声的去噪效果。实验证明, 该算法的运行速度有了明显提升, 混合噪声的去除也达到了更加理想效果。

猜你喜欢

椒盐邻域像素点
基于混合变邻域的自动化滴灌轮灌分组算法
图像二值化处理硬件加速引擎的设计
含例邻域逻辑的萨奎斯特对应理论
融合t-分布随机邻域嵌入与自动谱聚类的脑功能精细分区方法
基于局部相似性的特征匹配筛选算法
学做椒盐虾
一种X射线图像白点噪声去除算法
基于canvas的前端数据加密
椒盐芝麻烧饼
椒盐卷饼