APP下载

基于改进NLM的PCB图像去噪算法*

2021-09-23张露文薛晓军王海瑞张国银

计算机工程与科学 2021年9期
关键词:邻域像素点滤波

张露文,薛晓军,李 恒,王海瑞,张国银,赵 磊

(昆明理工大学信息工程与自动化学院,云南 昆明 650500)

1 引言

印刷电路板PCB(Printed Circuit Board)作为信息技术的载体,为各类电子器件提供支撑,在工业生产中的应用十分广泛。从我们平时生活中使用的手机、电脑,到军工的飞机、卫星都少不了PCB板的身影。在PCB的制造过程中,由于生产环境复杂,且其内部的阻性元器件会造成所采集的PCB图像携带大量高斯噪声,对后续PCB断路、孔洞等质量检测与分类带来了干扰,因此如何获得去噪的高质量PCB图像至关重要。

目前,研究人员针对PCB图像去噪问题进行了深入研究,提出了以下算法。刘艳萍等人[1]提出了基于X光机的多帧PCB图像去噪算法,采用多帧平均滤波与中值滤波相结合的方法对PCB图像进行去噪,该算法缩短了对PCB图像去噪的时间,然而去噪结果并不理想。李丹等人[2]提出了一种改进的小波阈值去噪算法,该算法对含噪声的PCB图像进行小波分解,在对分解后不同尺度下的小波系数按照改进的阈值方法进行处理的基础上,进行PCB图像重构,虽然均方误差有所下降,但图像细节没有得到较好的保持。孙家富[3]对常见的几种空间域PCB去噪方法进行了研究和分类,比较它们的优劣性和适用性,通过一定的实验验证了方法,但并没有给出具体的实验数据。余丽红等人[4]提出了一种基于先验信息的PCB图像自适应去噪算法。该算法结合了非局部均值NLM(Non-Local Mean)去噪算法和自适应正则化全变分去噪算法,利用图像自身的相似性和冗余性结构信息来去除噪声,减少了去噪后图像的伪影和阶梯效应等现象,但是图像的边缘信息有所丢失。娄伟等人[5]提出了一种基于L1-L2范数的正则项去噪模型的PCB图像去噪算法,提升了PCB图像无损检测的准确率,改善了PCB图像的视觉效果,然而迭代过程计算量庞大,算法复杂度高。

本文从以下2个方面来重新探讨PCB图像去噪算法:(1)图像的边缘信息有所丢失的问题,首先使用形态学权重自适应图像增强算法对PCB图像进行增强,将增强后的图像用于下一步去噪处理;(2)传统的NLM算法会由于图像中不同噪声对一些相似像素点的干扰,以致权值的计算不够准确,去噪效果不佳,图像容易出现边缘信息丢失的现象。为了解决上述去噪算法的不足,本文旨在提高图像的去噪质量,同时增强图像边缘信息,提出了一种基于特征匹配的改进NLM的去噪算法。

2 非局部均值去噪算法

2.1 噪声模型

对于一幅噪声图像f(x),其噪声可以表示为:

f(x)=t(x)+ε(x),x∈Ψ

(1)

其中,t(x)是初始噪声的图像,ε(x)是噪声项,Ψ是所有像素的集合。从式(1)可得,噪声是直接叠加在原始图像上的,若能够精确地获得噪声,用输入图像减去噪声就可以恢复出原始图像。而实际中,噪声生成的方式不同导致噪声难以定性和定量,不能简单地由输入图像减去原始图像求解出来。

工业生产中阻性元器件内部产生的高斯噪声可近似地由N(μ,σ2)来表示,即方差σ2越大,高斯噪声也就越大。本文着力于研究PCB图像去噪,即去除高斯噪声。对N幅相同的图像求平均[6]的结果将使得高斯噪声的方差降低至原图像的1/N。

2.2 非局部均值去噪

Baudes等人[7]基于噪声图像中包含许多与自身相似元素的特点,提出了NLM算法,该算法利用加权平均的思想对一整幅图像的所有像素点进行处理,选取2个图像块,通过高斯加权欧氏距离度量其结构相似度,再通过结构相似度来确定权重。NLM算法受一些奇异点的影响较小,图像的结构特征保留得较充分[8]。

为了在去除高斯噪声的同时不改变原始图像的信息,基于式(1)求图像平均进行去噪的思想,非局部均值去噪算法应运而生。非局部均值去噪与利用图像局部信息来进行滤波的算法的不同之处在于,它是对整幅图像求平均滤除高斯噪声的[9],因此NLM算法能够保留原始图像的细节纹理和结构特征。

NLM算法可以用式(2)表示:

(2)

因为高斯噪声的存在,单独对图像的局部区域和部分像素点进行滤波不能起到很好的去噪效果。在对图像进行相似度比较时,不再使用单个像素点间的灰度值的相似性作为比较的标准,因此需要计算像素的邻域,这些邻域即为NLM算法的搜索区域。像素x、y的亮度值之差的平方是像素相似度[10],在邻域内由向量之间的欧氏距离衡量像素间的相似性。与强度灰度级向量x相似的灰阶邻域在平均值上有较大的权重,这些权重也被称为欧氏距离,可定义为式(3):

(3)

利用NLM算法去噪后,图像中的像素与图像邻域中像素的加权和的权重等于像素x和像素y的相似度。定义加权欧氏距离的递减函数表示像素x和像素y的相似度,强度灰度级向量x和y影响加权欧氏距离。在带噪邻域中,欧氏距离的计算如式(4)所示:

(4)

NLM算法的复杂度为O(N2Nck2n2),其中,N2为图像的大小,Nc为颜色通道数,k2为块的大小,n2为搜索框的大小。NLM算法不仅仅对单个点的灰度进行比较,还在整个邻域中进行了对比,这使得它比邻域筛选器有着更强的鲁棒性[11]。然而,在采用NLM算法时,图像中不同噪声的存在会干扰一些相似像素点,以致权值的计算不够准确,图像容易出现边缘信息丢失的现象。基于此,本文提出了一种基于改进NLM的去噪算法。

3 基于改进NLM的去噪算法

本文为了在保留PCB图像的边缘信息的同时增强去噪效果,并且降低算法复杂度,提出基于特征匹配的改进非局部均值算法。先对PCB噪声图像f(x)进行形态学权重自适应图像增强,以较好地提取图像的边缘信息,得到增强后的PCB图像F(x);然后引入Harris特征提取模型对f(x)和F(x)进行特征匹配,提取出图像的特征点;将特征点作为先验信息对NLM算法中的权重值进行改进,减少了NLM算法的计算量,且保留了PCB图像的边缘信息,增强了PCB图像的鲁棒性,去噪效果也得到了增强。

3.1 PCB图像的形态学权重自适应图像增强

针对PCB图像焊盘小、走线复杂、纹理信息较为相似和去噪时边缘信息容易丢失的问题,本节采用形态学权重自适应图像增强算法对原始输入PCB噪声图像进行处理,以保留其特征。

原始输入PCB噪声图像为f(x),对f(x)进行形态学权重自适应图像增强得到输出图像F(x)。在对噪声图像f(x)进行滤波处理时,为了增强图像质量,滤除掉不同类型的噪声,需要选取不同维数的结构元素。为了使图像f(x)保留其几何特征和边缘信息,需要构建形态学的多结构元素来对噪声图像f(x)进行处理,采取的方法为构造级联滤波器,用形状相同的结构元素按维数由小至大的顺序对图像进行增强。在多个结构元素级联时,它们的形状和维数都可以对图像增强的效果产生一定作用。因此,结合形态学腐蚀过程中结构元素的匹配原理,以及噪声图像f(x)中结构元素可匹配的次数可以推导出基于形态学权重自适应的权值计算公式,如式(5)所示:

μi=λi/(λ1+λ2+…+λn)

(5)

其中,μ1,μ2,…,μn分别表示n种形状的结构元素的权值,λ1,λ2,…,λn分别表示腐蚀过程中n种形状的结构元素能够匹配图像的次数。

输入图像为f(x),经选取的结构元素进行串行滤波后输出结果为fi(x),i=1,2,…,n,输出图像记作F(x)。使用结构元素结合形态学权重自适应算法来确定权值μ1,μ2,…,μn,确定增强后的图像F(x):

F(x)=sum(μi*fi(x)),i=1,2,…,n

(6)

3.2 基于Harris的特征匹配

Harris算子的表达式如式(7)和式(8)所示:

(7)

R=detM-ktrM

(8)

其中,G(x,y)为高斯函数,R为角点响应值,Ix、Iy分别为图像I(x,y)的x、y方向的梯度。式(8)中,detM为矩阵M的行列式,trM为矩阵M的迹,k为常数(通常取0.04~0.06)。

基于Harris的特征匹配算法的具体实现过程如下:

(9)

(10)

C=D=G(x,y)⊗(IxIy)

(11)

(12)

同理对F(x)也进行该操作得到A′、B′、C′、D′。

步骤2对步骤1中每个像素点A、B、C、D、A′、B′、C′、D′,计算出它们对应的Harris 角点响应函数。将图像f(x)和F(x)灰度化,遍历灰度图像中的每一个点。计算这些像素点在x,y方向上的一阶导数及其一阶导数的积:

R=(AB-CD)2-t(A+B)2

(13)

其中,t为常数。

步骤3提取以每个像素点为中心的ω*ω窗口边界内的极大值点,并计算它的Harris角点响应。如果计算出的角点响应值比规定阈值大,就将该点视为角点[13]。接着对原始图像中所有角点所在窗口进行局部极大值抑制。选取图像中以各像素点为中心的ω*ω窗口范围,顺次提取其极大值点。在这些ω*ω的窗口范围内,若极大值等于图像中心点的像素值,那么这个点即被确定为特征点。

对增强后的PCB图像F(x)中已经确定出的角点,取其邻域(M*M)的相关窗。计算原始PCB图像f(x)和增强后的PCB图像F(x)中对应角点的平移参量,对2幅图像进行叠加处理。

利用加权平均的方法对特征点匹配过后的2幅图像f(x)与F(x)进行特征融合,生成新的图像g(x):

g(x)=ω(x,y)×f(x)+σ(x,y)×F(x)

(14)

其中,ω(x,y)和σ(x,y)分别代表原始图像f(x)和增强后图像F(x)的权重。

计算f(x)与F(x)的角点相关窗的相关系数,取最大值,然后在增强后的PCB图像F(x)中对应寻找求得的最大值所对应的位置点,就是其在PCB图像f(x)中匹配到的特征点。

融合图像的特征点可以表示为:

(15)

其中,Cm为匹配融合过后的特征点,m=1,2,3,…,n,W为融合图像中像素x和像素y的邻域。I1(x,y)为原始PCB图像f(x)中像素x,y的梯度值,I2(x,y)为形态学权重自适应图像增强后的PCB图像F(x)中像素x,y的梯度值。

以上采用对PCB图像的边缘信息进行增强的方法更好地对PCB图像进行去噪,引入特征匹配模型得到的PCB图像的特征点将用于下节对NLM算法的改进。

3.3 基于特征匹配的改进NLM算法

对于一幅PCB噪声图像,基于NLM的PCB图像去噪方法可以表示如式(16)所示:

G(x)=∑y∈Iω(x,y)f(x)

(16)

该式表示对f(x)中的x点进行NLM去噪,其中ω(x,y)为权重,表示像素点x和像素点y之间的近似度。

基于特征匹配的改进NLM去噪算法的具体过程如下:

步骤1在PCB噪声图像f(x)中选取像素点i和像素点j,将i作为中心点,选取i的邻域,又称为相似块比较区域,计算这个邻域里各个点之间的像素值的高斯加权欧氏距离。确定搜索块的大小为21×21,确定相似度比较块的大小为7×7:

(17)

(18)

本文将式(17)中的λ(i)和λ(j)进行改进使搜索块的选取更加适应工业环境中的噪声图像,进而降低NLM算法的复杂度,提高计算速度。首先,对PCB噪声图像f(x)进行形态学权重自适应图像增强,得到增强后的PCB图像F(x),通过增强PCB图像的边缘信息进一步对图像进行去噪;然后,引入Harris特征提取模型对f(x)和F(x)进行特征匹配,提取出图像的特征点;最后,将求得的融合图像的特征点作为先验信息对NLM算法中的权重值进行改进。

在工业环境中带噪声的PCB图像的非边缘区域会产生阶梯效应,但图像中不同区域的灰度特性是不同的,重复不断地选取λ(i)和λ(j)的值的算法不是最优的。因此,用式(15)求得的特征点对式(17) 和式(18)中的λ(i)、λ(j)进行改进。此时扩展图像中以(i,j)为中心的邻域窗口也发生了改变。

改进的NLM算法可以表示为:

(19)

(20)

其中,Q为特征点Cy的邻域,λ(Cx)指以特征点Cx为中心的图像中的一块区域,x和y均为融合图像g(x)中特征点。

相比式(17)和式(18),该式引入了特征匹配模型,对权重值进行了改进。改进前的NLM算法,由于工业PCB图像中噪声会干扰一些相似像素点,以致权值的计算不够准确,PCB图像容易出现边缘信息丢失的现象。通过改进权重可以使相似像素点的选取更加准确,对噪声图像遍历速度变快,使图像的鲁棒性增强,工业中噪声的干扰变小。

步骤2将图像g(x)进行外扩,方便进行块之间的比较。首先在搜索块内取步骤1求得的第1个特征点,然后取该点Cy为中心的比较块与图像内的第1点Cx为中心的比较块,进行比较求得ω(Cx,Cy)。

步骤3反复取搜索块中下一个特征点Cy重复步骤2操作,直至遍历完搜索块中的点为止。对搜索窗口内提取到的一系列特征点求相似度[14]。

(21)

这种等价性显示了改进NLM算法的鲁棒性,欧氏距离可以保存特征点间相似程度。

步骤4将最大权重赋值给点Cx,并进行权重归一化,然后通过NL[g](Cx)得到新图像第1个点的像素值。

步骤5取PCB图像g(x)第2个特征点Cy,重复步骤2操作,直至遍历完图像g(x),得到一幅新的图像G(x)为止。

通过以上步骤对g(x)进行去噪得到输出图像G(x)。

4 仿真实验分析

实验数据集来源于网络搜集的PCB缺陷库中的图像。本节选择了6组PCB图像验证本文算法的可行性,仿真软件为Matlab2016a。通过仿真实验对本文提出的去噪算法和ROF滤波、均值滤波、中值滤波、形态学串联滤波、NLM滤波以及文献[1,2,4,5]中的PCB去噪算法的效果进行比较。

4.1 去噪结果主观评价

图1~图3是利用10种算法分别对数据库中选取的3组PCB图像进行去噪处理后的效果图。从3组图的图c中可以看出,ROF算法对PCB噪声图像的去噪效果很好,但是PCB图像焊盘的边缘信息模糊。从图d和图e中可以看出,中值滤波的去噪效果要优于均值滤波,然而处理后的图像没有ROF算法的结果清晰。从图f中可以看出,形态学自适应图像增强可以更好地保留图像的边缘信息,然而这种算法却损失了图像中的一些信息,焊盘的宽窄与原始图像相比发生了一定的变化。从图g中可以看出,NLM算法会存在一些伪影。从图h和图i中可以看出,文献[1,2]的复合型算法以及改进的小波阈值去噪算法在去噪效果上不够好,文献[4]的基于先验信息的PCB图像自适应去噪算法对PCB图像存在过增强现象,文献[5]对图像的边缘信息保持得较好,但从图像的整体视觉效果来看,可以直观感受到本文算法的整体去噪效果最好。

Figure 1 Denoising effect comparison of PCB1图1 PCB1去噪效果对比图

4.2 去噪效果客观评价

为了更进一步对本文算法进行客观评价[15],采用通用的2个图像质量评价指标——峰值信噪比PSNR(Peak Signal to Noise Ratio)和结构相似度SSIM(Structural Similarity Index)作为去噪后PCB图像质量的评价标准[16],计算公式分别如式(22)和式(23)所示:

(22)

(23)

实验中将标准差设置为15,计算本文提出的去噪算法和均值滤波、中值滤波、ROF算法和NLM算法以及文献[1,2,4,5]中提出的针对PCB图像去噪算法的峰值信噪比和结构相似度,结果分别如表1和表2所示。

分析表1的实验结果可得,由于PCB图像的相似纹理信息很多,利用中值滤波、ROF滤波等传统算法对PCB图像进行去噪的结果不理想。应用本文算法所得到的PSNR最大,信噪比越大图像质量越好,说明采用本文算法得到的PCB图像在平均意义上更加接近原始PCB图像,去噪效果最显著。可以看出本文改进的NLM算法相比其他算法的PSNR值有显著提高。

结构相似度的取值为(0,1),与1越相近说明对图像的去噪效果越好,分析表2的实验结果可得,应用本文算法所得到的SSIM最大,说明利用本文算法得到的PCB去噪图像与原始PCB图像最相似,得到了最好的视觉效果。

Figure 3 Denoising effect comparison of PCB3图3 PCB3去噪效果对比图

Table 1 PSNR comparison of nine denoising algorithms for PCB image

Table 2 Structure similarity comparison of five denoising algorithms for PCB image表2 PCB图像的9种去噪算法的结构相似度对比

5 结束语

为了提高工业生产中PCB图像的去噪质量,本文提出了一种改进NLM的PCB图像去噪算法,该算法结合了形态学权重自适应图像增强和NLM算法的优点,使得PCB图像在提高去噪效果的同时也较好地保留了边缘信息,解决了PCB图像去噪速度慢、去噪后图像鲁棒性不高的问题。实验表明,与传统算法相比,本文改进的NLM算法降低了NLM算法的复杂度,加快了对图像的去噪速度,提高了印刷电路板图像的信噪比,去噪效果有显著改善。

猜你喜欢

邻域像素点滤波
稀疏图平方图的染色数上界
基于邻域竞赛的多目标优化算法
基于canvas的前端数据加密
基于逐像素点深度卷积网络分割模型的上皮和间质组织分割
关于-型邻域空间
RTS平滑滤波在事后姿态确定中的应用
基于线性正则变换的 LMS 自适应滤波
基于Node-Cell结构的HEVC帧内编码
基于时序扩展的邻域保持嵌入算法及其在故障检测中的应用
基于时序扩展的邻域保持嵌入算法及其在故障检测中的应用