一种基于改进的全卷积神经网络的PCB缺陷检测方法

文档序号:30075940发布日期:2022-05-18 03:17阅读:163来源:国知局
一种基于改进的全卷积神经网络的PCB缺陷检测方法
一种基于改进的全卷积神经网络的pcb缺陷检测方法
技术领域
1.本发明涉及图像处理技术领域,尤其涉及一种基于改进的全卷积神经网络的pcb缺陷检测方法。


背景技术:

2.pcb裸板常见的有毛刺、缺口、短路、断路四种缺陷类型,张智杰等人的《一种并行不对称空洞卷积模块》采用的是一种并行不对称的空洞卷积,相较与传统的空洞卷积,其提高了网络模型的特征表达能力,但得到的输出图像依然不够精细;同时,传统的神经网络模型具有5层卷积层和池化层,所以普通的跳级结构输出分别执行32倍、16倍和8倍反卷积操作,其上采样率偏大,所以图片本身的效果并不理想。


技术实现要素:

3.本发明所要解决的技术问题是:解决传统的空洞卷积损失信息连续性的问题;解决跳级结构上采样率偏大,图像分辨率低的问题。
4.本发明所采用的技术方案是:一种基于改进的全卷积神经网络的pcb缺陷检测方法包括以下步骤:
5.s1、图像采集:采集标准pcb图像和待测pcb图像;
6.s2、图像灰度变换:对采集的标准和待测pcb图像进行灰度变换;
7.采用加权均值法对图像灰度变换,加权平均值法是将rgb彩色图像三通道的分量值分别取一个权值,然后进行加权平均,即:
8.gray(i,j)=ωr*r(i,j)+ωg*g(i,j)+ωb*b(i,j)
ꢀꢀ
(1)
9.其中,ωr、ωg、ωb分别为r,g,b的权值,取不同的值形成不同的灰度图像;
10.s3、图像预处理:首先对步骤s2的灰度变换后的图像进行高斯滤波,其次采用对数变换来增强图像的对比度,最后采用最大类方差法来进行阈值分割;
11.使用二维高斯分布函数作为图像平滑滤波器:
[0012][0013]
其中,(x,y)代表像素的模板坐标,模板的中心位置为原点,σ为正态分布的标准偏差,模板的大小取决于图像分辨率的大小。
[0014]
其次,就是采用对数变换来增强图像的对比度,即:
[0015]
s=c*log(1+r)
ꢀꢀꢀꢀ
(3)
[0016]
其中,r为输入图像的灰度值,s为输出图像的灰度值,c为常数;
[0017]
最后,采用最大类方差法来进行阈值分割,即为图片亮度的一个黑白分界值,通过判断两部分像素值的最大方差来确定最佳阈值,即:
[0018]
g=ωo×
ω1(μ
o-μ1)
ꢀꢀꢀꢀꢀ
(4)
[0019]
其中,g为最大方差值,ω0为背景的像素点数占整幅图像的比例,ω1为前景的像素
点数占整幅图像的比例,μ0为背景图像的平均灰度,μ1为前景图像的平均灰度。
[0020]
s4、图像配准:采用归一化互相关模板匹配法进行图像的配准;
[0021]
首先,设g(x,y)是大小为m
×
n的被搜索图像,f(x,y)是大小为m
×
n的模板图像,在被搜索图像中找到与模板图像相匹配的区域;
[0022]
其次,在被搜索图g中,以(i,j)为左上角,取大小为m
×
n的子图,计算其与模板的相似度,遍历整个搜索图,在所有能够取到的子图中,找到与模板图最相似的子图作为最终的匹配结果;
[0023]
最后,mad算法的相似性公式如下:
[0024][0025]
其中,0≤i≤m-m,0≤j≤n-n,f(s,t)代表模板图像中的像素点坐标,公式(5)将模板图像在被搜索图像上面计算平均差值,然后依次从左到右从上到下一个像素单位移动,每移动一次计算一个该区域的平均差值;那么整体遍历完,找到一个平均差值最小的区域,那最小的区域就是“最像”模板图像的区域;
[0026]
平均绝对差d(i,j)越小,表明越相似,故只需要找到最小的d(i,j)即可确定能匹配的子图位置。
[0027]
s5、差影运算处理:将标准pcb图像与待测pcb图像二值化后做差影运算;对待测pcb图像进行缺陷检测与分类就需要提取出pcb图像的缺陷区域,利用标准pcb与待测pcb图像的相似性来做图像分割,即将标准pcb图像与待测pcb图像二值化后做差影运算,差影运算就是将两幅图像对应的像素矩阵相减,得到数字矩阵的差异值,并用图像显示出来,在进行差影计算的函数选择时,使用imabsdiff函数。
[0028]
s6、形态学处理:对差影运算后的图像进行先腐蚀后膨胀的处理,还原缺陷的特征;
[0029]
得到差影图后,依然会存在一定偏差,为了缺陷检测的准确性,需清除这些误判信息,对图形再进行形态学处理,对差影图进行先腐蚀后膨胀的处理,去除那些微小的差异,并还原真实缺陷的特征。
[0030]
s7、将处理后的pcb图像输入改进的全卷积神经网络模型,通过特征融合来识别出待测pcb图像的缺陷目标;
[0031]
所述改进的全卷积神经网络模型是在全卷积神经网络模型的第四卷积层、上采样和softmax分类器之间分别插入空洞卷积模块和跳级结构模块;
[0032]
所述空洞卷积模块是由扩张率分别为1、2、4的连续空洞卷积模块组成;在第四卷积层后引入连续空洞卷积模块,在增大感受野的同时解决普通空洞卷积损失信息连续性的问题;
[0033]
空洞卷积(即膨胀卷积)模块就是在标准的卷积核上注入空洞,以达到扩大感受野(感受野就相当于1个视野范围,感受野的大小等同于卷积核的大小)的目的,相对于传统的卷积,空洞卷积不仅可以保留数据的内部结构,同时也弥补了池化所带来的信息丢失,但同时也带来了空间层次和信息连续性丢失等问题。
[0034]
本发明使用的空洞卷积模块,以三个扩张率为一组,通过结合不同膨胀率的空洞
卷积,充分提取不同尺度的特征,弥补了普通空洞卷积损失信息连续性的问题;
[0035]
所述跳级结构模块是将所述上采样的反卷积倍数设置为8、4和2;
[0036]
本发明采用的全卷积神经网络具有3层卷积层和池化层,把反卷积操作降为8倍、4倍和2倍,因其图片本身的放大倍数减小,所以图像的清晰度增加,提高后续图像训练的准确率。
[0037]
本发明的有益效果是:
[0038]
1、在第四卷积层后引入了连续空洞卷积模块,增大了感受野的同时解决了普通空洞卷积损失信息连续性的问题。
[0039]
2、传统的跳级结构因其上采样率偏大,得到的图片效果不理想,本发明在上采样层之后引入了改进的跳级结构,降低了上采样率,从而得到多尺度融合的特征,以提高图像的分辨率。
附图说明
[0040]
图1是本发明的基于改进的全卷积神经网络的pcb缺陷检测方法流程图;
[0041]
图2是本发明的模板匹配效果图;
[0042]
图3是本发明的改进的全卷积神经网络模型;
[0043]
图4是本发明的连续空洞卷积模块;
[0044]
图5是本发明的连续空洞卷积后效果图;
[0045]
图6是本发明的改进的跳级结构示意图;
[0046]
图7是本发明方法与fcn、cnn效果对比图。
具体实施方式
[0047]
下面结合附图和实施例对本发明作进一步说明,此图为简化的示意图,仅以示意方式说明本发明的基本结构,因此其仅显示与本发明有关的构成。
[0048]
如图1所示,一种基于改进的全卷积神经网络的pcb缺陷检测方法包括以下步骤:
[0049]
s1、图像采集:采集到的标准pcb图像和待测pcb图像组成的毛刺、缺口、短路、断路四种缺陷类型的数据集共474张图像,其中,pcb短路缺陷图212张;
[0050]
s2、图像灰度变换:对采集的标准和待测pcb图像进行灰度变换;
[0051]
采用加权均值法对图像灰度变换,加权平均值法是将rgb彩色图像三通道的分量值分别取一个权值,然后进行加权平均,即:
[0052]
gray(i,j)=0.299r(i,j)+0.587g(i,j)+0.114b(i,j)
ꢀꢀ
(1)
[0053]
其中,ωr、ωg、ωb分别为r,g,b的权值,取不同的值形成不同的灰度图像,本实施例ωr=0.299、ωg=0.587、ωb=0.114得到的灰度图像效果最好。
[0054]
s3、图像预处理:首先对步骤s2的灰度变换后的图像进行高斯滤波,其次采用对数变换来增强图像的对比度,最后采用最大类方差法来进行阈值分割;
[0055]
使用二维高斯分布函数作为图像平滑滤波器:
[0056][0057]
其中,(x,y)代表像素的模板坐标,模板的中心位置为原点,σ为正态分布的标准偏
差,模板的大小取决于图像分辨率的大小,本实施例中图像的分辨率为806
×
725。
[0058]
其次,就是采用对数变换来增强图像的对比度,即:
[0059]
s=c*log(1+r)
ꢀꢀ
(3)
[0060]
其中,r为输入图像的灰度值,s为输出图像的灰度值,c=1;
[0061]
最后,采用最大类方差法来进行阈值分割,即为图片亮度的一个黑白分界值,通过判断两部分像素值的最大方差来确定最佳阈值,即:
[0062]
g=ω0×
ω1(μ
0-μ1)
ꢀꢀꢀꢀ
(4)
[0063]
其中,g为最大方差值,ω0为背景的像素点数占整幅图像的比例,ω1为前景的像素点数占整幅图像的比例,μ0=127,μ1=255。
[0064]
s4、图像配准:采用归一化互相关模板匹配法进行图像的配准;
[0065]
模板匹配如图2所示,首先,设g(x,y)是大小为m
×
n的被搜索图像,f(x,y)是大小为m
×
n的模板图像,在被搜索图像中找到与模板图像相匹配的区域;
[0066]
其次,在被搜索图g中,以(i,j)为左上角,取大小为m
×
n的子图,计算其与模板的相似度,遍历整个搜索图,在所有能够取到的子图中,找到与模板图最相似的子图作为最终的匹配结果;
[0067]
最后,mad算法的相似性公式如下:
[0068][0069]
其中,0≤i≤m-m,0≤j≤n-n,f(s,t)代表模板图像中的像素点坐标,公式(5)将模板图像在被搜索图像上面计算平均差值,然后依次从左到右从上到下一个像素单位移动,每移动一次计算一个该区域的平均差值;那么整体遍历完,找到一个平均差值最小的区域,那最小的区域就是“最像”模板图像的区域;平均绝对差d(i,j)越小,表明越相似,故只需要找到最小的d(i,j)即可确定能匹配的子图位置。
[0070]
s5、差影运算处理:将标准pcb图像与待测pcb图像二值化后做差影运算;
[0071]
所谓差影运算也就是将两幅图像对应的像素矩阵相减,得到数字矩阵的差异值,并用图像显示出来;在进行差影计算的函数选择时,本发明选用了imabsdiff函数,即:
[0072]
t(x)=|p(x)-q(x)|
ꢀꢀ
(6)
[0073]
imabsdiff函数是对数字图像做减法运算,但减法操作有时会导致某些像素值变为一个负数。对于uint8或uint16类型的数据,而imabsdiff计算后取了绝对值。
[0074]
s6、形态学处理:对差影运算后的图像进行先腐蚀后膨胀的处理,还原缺陷的特征;
[0075]
得到差影图后,依然会存在些许偏差,为了缺陷检测的准确性,需清除这些误判信息,由此对图形再进行形态学处理。需要对差影图进行先腐蚀后膨胀的处理,通过腐蚀操作除去那些重影和不构成缺陷的微小差异,然后通过膨胀处理还原真实缺陷的特征。所谓的膨胀处理就是求局部最大值的过程,而腐蚀处理则恰恰相反,是求局部最小值的过程。
[0076]
s7、将处理后的pcb图像输入改进的全卷积神经网络模型,通过特征融合来识别出待测pcb图像的缺陷目标;
[0077]
如图3为改进的全卷积神经网络模型,改进的全卷积神经网络模型是在全卷积神
经网络模型的第四卷积层、上采样和softmax分类器之间分别插入空洞卷积模块和跳级结构模块;
[0078]
如图4为空洞卷积模块是由扩张率分别为1、2、4的连续空洞卷积模块组成;在第四卷积层后引入连续空洞卷积模块,如图5为连续空洞卷积后的效果图,由原来的卷积核为3
×
3的感受野变为15
×
15的感受野,并且也弥补了空洞卷积连续性的问题,提取出了图像清晰的特征,为跳级结构的特征融合做准备;
[0079]
将本发明所提出的连续空洞卷积模块嵌入到resnet-50网络,并与原基础网络和并行不对称空洞卷积模块进行对比。本实施例采用pcb短路缺陷图的数据集,其中训练集、测试集分别为116张和96张,所有数据集的图像均为统一尺寸规格,分辨率为806
×
725,学习率(learning rate)设置为0.001,epoch数量设置为30,每一个epoch迭代一遍训练集;初始卷积核大小为3
×
3,以扩张率(dilation rate)分别为1,2,4进行扩张,充分提取不同尺度的特征,所得训练准确率的对比结果如表1所示:
[0080]
表1基于resnet-50网络训练准确率比较
[0081][0082]
从表1中可以看出在resnet-50中分别嵌入本发明连续空洞卷积模块、并行不对称空洞卷积和基础网络的效果对比,本发明连续卷积模块的训练准确率明显提升。
[0083]
如图6所示,本发明改进的跳级结构示意图,传统的网络模型具有5层卷积层和池化层,所以普通的跳级结构输出分别执行32倍、16倍和8倍反卷积操作,其上采样率偏大,所以图片本身的效果并不理想;本发明改进的全卷积神经网络具有3层卷积层和池化层,所以把反卷积操作降为8倍、4倍和2倍,因其图片本身的放大倍数减小,所以图像的清晰度增加,提高了后续图像训练的准确率。
[0084]
利用pcb短路缺陷图的数据集训练和验证本发明改进的全卷积神经网络模型的准确性,训练过程中批量尺寸(batch size)设为32,将学习率(learning rate)设置为0.001,epoch数量设置为30,每一个epoch迭代一遍训练集。
[0085]
如表2所示,3种客观评价指标针对3种不同训练方法的评价结果,可以看出本发明提出算法的训练时间、损失函数以及训练时的准确率都优于其余2种方法,说明了本文算法的优越性和有效性,更具有应用价值,表如下:
[0086]
表2针对“pcb”数据集训练的评价指标结果
[0087][0088]
图7为三种训练图像的结果图对比,其中图7(a)、(b)、(c)、(d)分别为标准缺陷图、算法cnn、fcn和本发明方法,图中可以看出本发明算法在经过改进的跳级结构后图片的清晰度明显优于cnn和fcn算法。
[0089]
以上述依据本发明的理想实施例为启示,通过上述的说明内容,相关工作人员完全可以在不偏离本项发明技术思想的范围内,进行多样的变更以及修改。本项发明的技术
性范围并不局限于说明书上的内容,必须要根据权利要求范围来确定其技术性范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1