融合梯度信息的改进中值滤波算法研究*

2021-03-26 04:35杜忠华王鹏飞卿志勇
传感器与微系统 2021年3期
关键词:细线梯度边缘

马 祥, 杜忠华, 蔡 雨, 王鹏飞, 卿志勇

(1南京理工大学 机械工程学院,江苏 南京 210094;2.黑龙江北方工具有限公司 108分厂,黑龙江 牡丹江 157000)

0 引 言

数字图像中,噪声主要来源于图像的采集、传输和处理过程,噪声使得图像模糊、质量下降,对后续图像处理工作(如图像分割、边缘检测、特征提取等)造成不便[1],去除图像噪声是图像处理的关键步骤。

在椒盐噪声的众多滤波方法中,中值滤波[2](median filtering,MF)是一种能够减少边缘模糊的非线性滤波方法,但是对于高密度噪声图像,容易造成重要边缘信息丢失,尤其是含有细线特征的图像。自适应中值滤波(adaptive median filtering,AMF)算法能够自适应地调整滤波窗口尺寸,在处理高密度椒盐噪声时效果良好,但是在保护细线特征方面仍然有待提高。为此,很多研究人员提出了改进的自适应滤波算法[3~10],2017年由Khan S提出的ADWMF[3],即自适应动态加权中值滤波,根据噪声检测结果动态分配中值滤波器的权值,基于特定区域内检测到的脉冲噪声的像素个数自适应调整窗口大小。宗永胜等人[4]提出一种自适应双阈值中值滤波,采用基于均值的双阈值对脉冲噪声进行判别,再进行中值滤波,但无法自适应的选择滤波窗口。张新明等人[6]采用四点模板中点滤波,降低了计算复杂度,去除高密度椒盐噪声性能优越。黄梦涛等人[11]通过噪声点密度大小自适应调节滤波窗口大小,对低照度图像进行拉伸,实现低照度烟雾图像的去噪和目标增强。文献[12]引入Hough变换检测裂缝的方向,采用与裂缝形状相应的窗口对裂缝进行有针对性滤波,能更好地滤除噪声和减少有用信息的损失,但对于细线特征的保护并没有明确的说明。

王松林等人[13]根据区域噪声的密度自动调整窗口尺寸,为避免邻域噪声的影响,用窗口内的像素值与加权系数乘积的值代替中心像素点的值。

上述文献提出的改进自适应滤波算法在保护细线特征时仍有较大的局限性,为了更好地保护细线特征,本文提出一种融合梯度信息的改进中值滤波算法,根据边缘梯度信息自适应调整滤波窗口的形状和大小,在去除椒盐噪声的同时,能够很好地保护细线特征,减少边缘模糊。

1 基本原理

1.1 中值滤波算法

中值滤波算法是使用一个像素点邻域窗口中灰度级的中值来替代该像素的值。其数学表达式为

(1)

中值滤波算法对每个像素点都利用邻域窗口的中值代替,不可避免地会出现非噪声点被替换,当脉冲噪声密度很大时,固定大小的滤波窗口将无法滤除所有脉冲噪声,增大滤波窗口可以改善滤波效果,但是增大滤波窗口将会破坏图像中的细线特征、边缘模糊,造成图像细节信息的丢失。

1.2 梯度信息

图像中的边缘特征主要表现为灰度值的突变,可以通过计算图像的梯度来定位边缘的位置。局部变化可以用微分来检测,本文采用一阶微分来检测边缘位置。本文选用Sobel算子计算梯度图像,Sobel模板如图1所示。

图1 用于计算梯度的Sobel模板

本文在计算梯度幅值时,使用绝对值近似梯度幅值,不仅能降低计算开销,并且与灰度级的变化保持同步,梯度向量的大小和方向由下式给出

M(x,y)=|gx|+|gy|

(2)

a(x,y)=arctan(gy/gx)

(3)

式中M(x,y)和a(x,y)分别为梯度向量的幅值和方向,gx和gy分别为原图f在(x,y)对x和y的偏微分,M(x,y),a(x,y),gx和gy都是与原图f尺寸相同的图像。

为避免邻域窗口像素点坐标值出现小数,本文将边缘方向量化为4个方向:水平、垂直、+45°和-45°。通过边缘法线方向来确定边缘方向,其中每个边缘均有两个方向范围,例如,边缘法线为0°和180°的边缘表示同一个水平边缘。四个方向的方向范围如图2所示。

图2 边缘方向对应的边缘法线方向范围

本文采用双阈值法来确定真实边缘点,减少伪边缘。双阈值法是通过高低阈值来对边缘点进行判断,当梯度幅值大于高阈值Tmax时,确定为边缘点,梯度幅值小于低阈值Tmin时,确定为非边缘点,当梯度幅值处于高低阈值之间时,若像素点能通过8连通的连接方法连接到边缘点,则标记为边缘点。本文设定高阈值与低阈值的关系为Tmax∶Tmin=3∶1,其中高阈值Tmax取目标像素点邻域窗口的梯度幅值均值。

2 算法实现

为减少滤波过程中丢失的细节信息,本文引入梯度信息,利用梯度图像确定边缘位置及方向,在边缘位置,利用梯度向量方向选择合适的窗口形状,窗口大小根据噪声密度来确定,自适应地对边缘进行滤波。

本文的算法流程如下:

步骤1检测图像中的噪声点,判断准则:当z(x,y)=zmin或z(x,y)=zmax时,将像素点(x,y)标记为可疑噪声点,得到可疑噪声密度ρ1;然后对可疑噪声点做进一步检测,若可疑噪声点满足z(x,y)=zmax,邻域窗口的中值zmed满足zmed=zmax,则此可疑噪声点是图像极值区域中的一点,即非噪声点,否则将可疑噪声点标记为真实噪声点。邻域窗口尺寸n的大小由ρ1决定,确定噪声点数量后,可估计出噪声的密度ρ,得到标记噪声点的图像fnoise。

步骤2对图像fnoise进行预滤波,图像中的非噪声点不需要滤波,直接输出像素值。预滤波的处理过程:用3×3的邻域窗口内非噪声点集合的中值代替噪声点像素值,邻域窗口中非噪声点数量小于3个,则增大滤波窗口尺寸,当窗口尺寸增大到允许的最大尺寸7×7,邻域窗口中的非噪声点数量仍小于3个,但不为零,则取非噪声点像素值的均值,否则,取极大值像素和极小值像素的均值代替噪声点像素值,得到预滤波图像fpre。

步骤3利用Sobel模板与图像fpre进行卷积获得梯度幅值图像M(x,y)和方向图像a(x,y),并根据上文中的边缘点确定方法和边缘方向量化法得到标记边缘点的幅值图像(x,y)和量化后的方向图像

步骤4利用步骤3获得的(x,y)和对fniose中的边缘噪声点进行滤波,滤波窗口制作方法如图3所示。当噪声密度ρ大,需要增大滤波窗口尺寸m,得到边缘点滤波图像fedge。

步骤5将fedge中边缘噪声点滤波结果替换fpre中的边缘噪声点的滤波结果,得到最终滤波图像fend,滤波结束。

图3为两个尺寸为7的滤波窗口,图像坐标系统的原点位于左上角,正x轴向下延伸,正y轴向右延伸。其中数字1,2,3,4分别代表边缘像素点方向为水平、-45°、垂直和+45°,没有数字则表示非边缘点,数字后面标有*表示边缘点为噪声,如1*和3*,数字后面标有#表示正在被滤波的边缘噪声点,如2#和4#。

图3 步骤4中滤波窗口扩展示意

3 实验结果与分析

为检验本文算法的去噪性能,进行了算法验证。选择图4(a)的图像作为原始灰度图像,像素尺寸为300×300,为避免背景分明,对比度强烈,图像背景像素值为127。为直观体现改进算法在保护细线特征和减少边缘模糊的优越性,图像中的边缘均为简单方向边缘。添加密度为0.1的脉冲噪声图像如图4(b)所示。将本文算法与中值滤波算法和自适应中值滤波算法滤波效果进行比较,滤波效果如图4(c)~(d),(e)所示,可看出自适应中值滤波对宽度较小且与背景对比度不强的直线直接滤除,在直线相交处的边缘出现模糊;中值滤波相对自适应中值滤波来说,当直线宽度大于1个像素时,中值滤波能够较好地保护细节,但在直线相交处的边缘仍出现了一定程度的模糊;本文方法在很好滤除噪声的同时,对宽度较小的直线能起到保护作用,边缘模糊的情况相对上述两种算法有很大改善。

图4 原图、噪声图像和三种方法滤波效果

同时,采用峰值信噪比(peak signal-to-noise ratio,PSNR)和结构相似度(structural similarity,SSIM)评价算法性能,其中,SSIM是一种衡量两幅图像相似度的指标,其数学表达式如下

(4)

(5)

表1 三种滤波方法MSE,PSNR和SSIM对比

为了证明本文算法在实际应用过程中的鲁棒性和优越性,将本文算法用于弹壳底部图像的滤波。弹壳底部图像中具有复杂方向的边缘,为了强调滤波效果,给弹壳底部图像添加三种不同密度的脉冲噪声,实验中,添加的脉冲噪声密度为0.05,0.10,0.30。然后利用标准中值滤波、自适应中值滤波、文献[12]的方法和本文算法进行滤波处理,文献[12]中的方法是对中值滤波算法的改进,在保护细节方面优于中值滤波和自适应中值滤波算法,最后对滤波结果进行评价。

计算四种方法滤波后的PSNR和SSIM,并进行比较分析,具体计算结果如表2所示。

表2 四种滤波算法PSNR,SSIM对比

从表2不难看出,随着密度噪声的增大,四种滤波算法的滤波效果都会变差,但是本文算法滤波效果要优于中值滤波和自适应中值滤波。PSNR和SSIM只有轻微的下降;而自适应中值滤波的PSNR和SSIM分别下降了约9 dB和2 %,在较高密度脉冲噪声时(噪声密度为0.10,0.30),本文算法滤波后的PSNR比中值滤波大13~16 dB,SSIM大4 %~6 %。本文算法在保护细线特征和减少边缘模糊方面效果更好,细节信息丢失较少。

4 结 论

利用梯度信息确定边缘的位置和方向,设计滤波窗口,对边缘位置的像素点进行有针对性的滤波。将本文算法用于含有简单方向的细线特征图像滤波,结果表明:算法能够保护细线特征,减少边缘模糊,效果明显优于中值滤波和自适应中值滤波。并实际应用到弹壳底部缺陷图像上,利用PSNR和SSIM对滤波后的图像进行客观评价,实验结果表明:在较高密度噪声图像上,依然能保持很好的滤波效果,并且算法性能要优于中值滤波和自适应中值滤波。下一步将考虑降低算法的计算复杂度,提高滤波效率。

猜你喜欢
细线梯度边缘
The 2022 Report on the Work of the Government
一个改进的WYL型三项共轭梯度法
一种自适应Dai-Liao共轭梯度法
细线转圈
一类扭积形式的梯度近Ricci孤立子
一张图看懂边缘计算
厚膜导电细线印制的研究
以禅宗为灵感:细线生成的天然晶体座椅
地温梯度判定地热异常的探讨
在边缘寻找自我