一种适用于pcb板真假缺陷的识别方法及系统
技术领域
1.本发明涉及图像处理技术领域,尤其涉及一种适用于pcb板真假缺陷的识别方法及系统。
背景技术:2.pcb板的生产涉及一系列复杂精密的制造过程,随着电路板集成度更高,更复杂,出现缺陷和失败的几率也随之增大。目前大多采用aoi(外观检查机)和avi(光学线路检查机)对pcb板进行检测,但是由于检修机器仅仅是通过图像匹配之后,根据像素之间的差值进行判定缺陷,因此无法对真假缺陷进行分检,导致检测准确率低。
技术实现要素:3.本发明的目的在于提出一种适用于pcb板真假缺陷的识别方法及系统,能对真假缺陷进行分检,提高检测准确率。
4.为达此目的,本发明采用以下技术方案:
5.一种适用于pcb板真假缺陷的识别方法,包括以下步骤:
6.s1、将包含pcb真假缺陷的数据集进行预处理,将预处理后的数据集随机分为训练数据集与测试数据集,其中数据集包括pcb实际缺陷图和pcb标准缺陷图;
7.s2、构建基于多信号图卷积神经网络的pcb真假缺陷识别模型,并设置超参数和配置关系;
8.s3、将训练数据集导入pcb真假缺陷识别模型中,采用随机梯度下降算法、l2正则化算法和交叉熵损失函数,对pcb真假缺陷识别模型进行模型训练至收敛,得到pcb真假缺陷的训练分类预测结果,其中训练分类预测结果包括训练损失值和训练准确率;
9.s4、将测试数据集导入收敛后的pcb真假缺陷识别模型,采用随机梯度下降算法、l2正则化算法和交叉熵损失函数,对pcb真假缺陷识别模型进行模型测试,得到pcb真假缺陷的测试分类预测结果,其中训练分类预测结果包括测试损失值和测试准确率;
10.s5、将训练分类预测结果与测试分类预测结果进行对比,若对比结果符合配置关系,则将pcb真假缺陷识别模型投入实际应用;若对比结果不符合配置关系,则根据配置关系调节超参数,重复步骤s3-s5。
11.优选的,在s1中,所述将包含pcb真假缺陷数据集进行预处理,包括以下步骤:
12.s11、完成图像配准步骤:对pcb实际缺陷图和pcb标准缺陷图进行灰度化处理,再将灰度化处理后的pcb实际缺陷图和pcb标准缺陷图通过二维卷积操作后得到一个二维特征矩阵;再求得该二维特征矩阵最大值的参数坐标o1,以该参数坐标o1为中心,在三通道的pcb标准缺陷图中截取出与pcb实际缺陷图相同维度大小的图片作为标准cam图像;
13.s12、去除标准cam图像中不必要信息步骤:将标准cam图像导入到hsv颜色模型中进行读取,通过设定标准cam图像中pcb通孔的颜色数值范围获取色块区域;再将该色块区域的颜色替换为黑色,输出黑化cam图像;
14.s13、生成傅里叶变换频谱图像步骤:将黑化cam图像通过二维离散傅里叶变换操作得到傅里叶变换频谱图,其中二维离散傅里叶变换公式如下:
[0015][0016]
其中,f(x,y)表示输入图像的数据分布,m、n分别为原始图像的长和宽,u、v分别为确定正余弦的频率。
[0017]
优选的,在s1中,所述将预处理后的数据集随机分为训练数据集与测试数据集,其中,所述预处理后的数据集包括pcb实际缺陷图以及对应的黑化cam图像和傅里叶变换频谱图,所述训练数据集占所述预处理后的数据集总数的80%,所述测试数据集占所述预处理后的数据集总数的20%。
[0018]
优选的,在s2中,所述pcb真假缺陷识别模型包括第一并联层、第二并联层、第三合并层、第四全连接层和多个残差连接结构,所述残差连接结构用于对维度不相同的层进行跳跃连接。
[0019]
优选的,在s2中,所述超参数包括多信号图卷积神经网络的学习率、l2正则化参数和batch_size,batch_size表示单次传递给程序用以训练的参数个数。
[0020]
优选的,在s3中,所述l2正则化算法,包括以下步骤:
[0021]
s31、通过正则化项公式缓解模型过拟合的问题,所述正则化项公式如下所示:
[0022][0023][0024]
其中,表示交叉熵损失函数,表示模型预测样本是正例的概率,y表示样本标签,如果样本属于正例,则y的取值为1,否则y的取值为0;λ表示l2正则化参数;w表示神经网络中隐藏层的权重参数;
[0025]
s32、将黑化cam图像和傅里叶变换频谱图均输入到神经网络进行一次正向计算,并将该正向传播的结果标记为
[0026]
s33、将正向传播的结果与标签y均代入交叉熵损失函数,并求得其交叉熵损失函数的梯度,沿梯度下降方向一步步优化网络参数;
[0027]
s34、通过计算公式获得查全率,所述计算公式如下所示:
[0028][0029]
其中,r表示查全率,tp为混淆矩阵中的真正例,fn为混淆矩阵中的真反例。
[0030]
优选的,在s3中,所述交叉熵损失函数如下:
[0031][0032]
其中,表示模型预测样本是正例的概率,y表示样本标签,如果样本属于正例,则y的取值为1,否则y的取值为0。
[0033]
优选的,在s4中,所述对pcb真假缺陷识别模型进行模型训练,包括以下步骤:
[0034]
s41、初始化超参数;
[0035]
s42、所述第一并联层采用膨胀系数分别为1、2、3的锯齿状排列的空洞卷积核,对pcb实际缺陷图和对应的黑化cam图像分别提取大范围缺陷特征;
[0036]
s43、所述第二并联层采用二维卷积核,对pcb实际缺陷图和对应的傅里叶变换频谱图分别提取小范围缺陷特征;
[0037]
s44、所述第三合并层采用二维卷积核,将所述第一并联层和输出的大范围缺陷特征所述第二并联层输出的小范围缺陷特征进行合并,得到合并的缺陷特征;
[0038]
s45、所述第四全连接层对合并的缺陷特征,结合随机梯度下降算法、l2正则化算法和交叉熵损失函数进行分析,得到训练损失值和训练准确率。
[0039]
优选的,在s5中,所述根据配置关系调节超参数,包括以下:
[0040]
配置关系一:当测试损失值与训练损失值之差大于0.005时,对当前学习率递乘0.99,反之则不调整l2正则化参数;
[0041]
配置关系二:当训练准确率与测试准确率之差大于0.003时,对当前正则化参数递加0.005,反之不调整正则化参数。
[0042]
一种适用于pcb板真假缺陷的识别系统,采用如上述所述的一种适用于pcb板真假缺陷的识别方法,包括:
[0043]
数据处理模块,用于将包含pcb真假缺陷的数据集进行预处理,将预处理后的数据集随机分为训练数据集与测试数据集,其中数据集包括pcb实际缺陷图和pcb标准缺陷图;
[0044]
模型构建模块,用于构建基于多信号图卷积神经网络的pcb真假缺陷识别模型,并设置超参数和配置关系;
[0045]
模型训练模块,用于将训练数据集导入pcb真假缺陷识别模型中,采用随机梯度下降算法、l2正则化算法和交叉熵损失函数,对pcb真假缺陷识别模型进行模型训练至收敛,得到pcb真假缺陷的训练分类预测结果,其中训练分类预测结果包括训练损失值和训练准确率;
[0046]
模型测试模块,用于将测试数据集导入收敛后的pcb真假缺陷识别模型,采用随机梯度下降算法、l2正则化算法和交叉熵损失函数,对pcb真假缺陷识别模型进行模型测试,得到pcb真假缺陷的测试分类预测结果,其中训练分类预测结果包括测试损失值和测试准确率;
[0047]
结果对比模块,用于将训练分类预测结果与测试分类预测结果进行对比,若对比结果符合配置关系,则将pcb真假缺陷识别模型投入实际应用;若对比结果不符合配置关系,则根据配置关系调节超参数,重复数据处理模块、模型构建模块、模型训练模块和模型测试模块。
[0048]
上述技术方案中的一个技术方案具有以下有益效果:相比于现有技术,本发明的实施例基于多信号图卷积神经网络构建的pcb真假缺陷识别模型,结合采用随机梯度下降算法、l2正则化算法和交叉熵损失函数,分别对训练数据集与测试数据集进行训练和测试,利用训练分类预测结果与测试分类预测结果的对比结果,判断是否符合预先设计的超参数和配置关系,若不符合,则根据配置关系调节超参数,随后将pcb真假缺陷识别模型反复训练与测试。本发明能够提高pcb真假缺陷识别模型对pcb板真假缺陷的分检效率的同时,也能够提高检测准确率。
附图说明
[0049]
图1是本发明一种适用于pcb板真假缺陷的识别方法的流程示意图;
[0050]
图2是本发明一种适用于pcb板真假缺陷的识别方法的深度学习神经网络框架示意图;
[0051]
图3是本发明一种适用于pcb板真假缺陷的识别方法的去除标准cam图像中不必要信息的前后对比图;
[0052]
图4是本发明一种适用于pcb板真假缺陷的识别方法的深度学习神经网络的混合空洞卷积核示意图;
[0053]
图5是本发明一种适用于pcb板真假缺陷的识别方法的深度学习神经网络的混合空洞卷积块结构示意图;
[0054]
图6是本发明一种适用于pcb板真假缺陷的识别方法的深度学习神经网络的残差连接结构与网络整体结构示意图;
[0055]
图7是本发明一种适用于pcb板真假缺陷的识别方法的.npy格式文件标注缺陷数据的部分数据集示意图。
具体实施方式
[0056]
下面结合附图并通过具体实施方式来进一步说明本发明的技术方案。
[0057]
如图1-7所示,一种适用于pcb板真假缺陷的识别方法,包括以下步骤:
[0058]
s1、将包含pcb真假缺陷的数据集进行预处理,将预处理后的数据集随机分为训练数据集与测试数据集,其中数据集包括pcb实际缺陷图和pcb标准缺陷图;
[0059]
s2、构建基于多信号图卷积神经网络的pcb真假缺陷识别模型,并设置超参数和配置关系;
[0060]
s3、将训练数据集导入pcb真假缺陷识别模型中,采用随机梯度下降算法、l2正则化算法和交叉熵损失函数,对pcb真假缺陷识别模型进行模型训练至收敛,得到pcb真假缺陷的训练分类预测结果,其中训练分类预测结果包括训练损失值和训练准确率;
[0061]
s4、将测试数据集导入收敛后的pcb真假缺陷识别模型,采用随机梯度下降算法、l2正则化算法和交叉熵损失函数,对pcb真假缺陷识别模型进行模型测试,得到pcb真假缺陷的测试分类预测结果,其中训练分类预测结果包括测试损失值和测试准确率;
[0062]
s5、将训练分类预测结果与测试分类预测结果进行对比,若对比结果符合配置关系,则将pcb真假缺陷识别模型投入实际应用;若对比结果不符合配置关系,则根据配置关系调节超参数,重复步骤s3-s5。
[0063]
相比于现有技术,本发明的实施例基于多信号图卷积神经网络构建的pcb真假缺陷识别模型,结合采用随机梯度下降算法、l2正则化算法和交叉熵损失函数,分别对训练数据集与测试数据集进行训练和测试,利用训练分类预测结果与测试分类预测结果的对比结果,判断是否符合预先设计的超参数和配置关系,若不符合,则根据配置关系调节超参数,随后将pcb真假缺陷识别模型反复训练与测试。本发明的方法能够提高pcb真假缺陷识别模型对pcb板真假缺陷的分检效率的同时,也能够提高检测准确率。
[0064]
需要说明的是,随机梯度下降算法(stochastic gradient descent)简称sgd,是一种简单且成熟的计算方法,具体为每次训练迭代时,仅使用当前训练样本集合中的一个
随机样本来计算代价函数梯度,在此不多赘述。
[0065]
更进一步的说明,在s1中,所述将包含pcb真假缺陷数据集进行预处理,包括以下步骤:
[0066]
s11、完成图像配准步骤:对pcb实际缺陷图和pcb标准缺陷图进行灰度化处理,再将灰度化处理后的pcb实际缺陷图和pcb标准缺陷图通过二维卷积操作后得到一个二维特征矩阵;再求得该二维特征矩阵最大值的参数坐标o1,以该参数坐标o1为中心,在三通道的pcb标准缺陷图中截取出与pcb实际缺陷图相同维度大小的图片作为标准cam图像;需要说明的是,在完成图像配准步骤的二维卷积操作中,确定卷积核为真实缺陷图,而被卷积图像为标准图。
[0067]
s12、去除标准cam图像中不必要信息步骤:将标准cam图像导入到hsv颜色模型中进行读取,通过设定标准cam图像中pcb通孔的颜色数值范围获取色块区域;再将该色块区域的颜色替换为黑色,输出黑化cam图像;在本实施例中,如图3所示,在标准cam图中采用绿点表示pcb板中的通孔信息,由于之间采用标准cam图像进行傅里叶变换的过程中会产生不必要的频域信息,因此需要去除标准cam图像中不必要的通孔信息。
[0068]
s13、生成傅里叶变换频谱图像步骤:将黑化cam图像通过二维离散傅里叶变换操作得到傅里叶变换频谱图,其中二维离散傅里叶变换公式如下:
[0069][0070]
其中,f(x,y)表示输入图像的数据分布,m、n分别为原始图像的长和宽,u、v分别为确定正余弦的频率。通过预处理后的数据集,有利于后续的模型训练和缺陷检测。
[0071]
具体的,为了使得数据读取速度更快,还可以将初始格式为.jpeg和.jpg格式的pcb实际缺陷图以及对应的黑化cam图像和傅里叶变换频谱图,转换为.npy格式文件存储在数据库中,并对每个.npy格式文件进行标注缺陷数据,每个.npy文件有8个缺陷数据,标签为0的是假缺陷,标签为1的是真缺陷,如图7所示。
[0072]
更进一步的说明,在s1中,所述将预处理后的数据集随机分为训练数据集与测试数据集,其中,所述预处理后的数据集包括pcb实际缺陷图以及对应的黑化cam图像和傅里叶变换频谱图,所述训练数据集占所述预处理后的数据集总数的80%,所述测试数据集占所述预处理后的数据集总数的20%。
[0073]
在大数据处理中,一般都要划分训练数据集和测试数据集,其中训练数据集用来训练模型,而测试数据集不进入模型,是在训练好模型以后,测试数据集的数据进入模型,检测模型的准确度。
[0074]
当训练数据集占所述预处理后的数据集总数少于80%,样品量不够,会导致建立的pcb真假缺陷识别模型并不能准确反映实际,当训练数据集占所述预处理后的数据集总数大于80%时,会导致测试数据集样品不够,得到的测试值不能够详细和准确地反映检测结果。因此当随机抽取所述预处理后的数据集总数的80%为训练数据集,所述预处理后的数据集总数的20%为测试数据集时,让训练数据集和测试数据集的数据不产生重叠,从而使得建立的pcb真假缺陷识别模型能准确反映实际。
[0075]
更进一步的说明,在s2中,所述pcb真假缺陷识别模型包括第一并联层、第二并联
层、第三合并层、第四全连接层和多个残差连接结构,所述残差连接结构用于对维度不相同的层进行跳跃连接。
[0076]
在本实施例中,如图5-6所示,在pcb真假缺陷识别模型中加入了多个残差连接结构,其能够将多维度信息特征融合后提高信息挖掘效率的同时,解决深度神经网络梯度消失的情况。具体的,残差连接结构为模型中的跳跃连接,如果要对维度不相同的层进行跳跃连接,则对跳跃进行步长下采样,使得跳跃连接层可完成特征连接。而多维度信息特征一般代表神经网络中的隐藏神经元。
[0077]
更进一步的说明,在s2中,所述超参数包括多信号图卷积神经网络的学习率、l2正则化参数和batch_size,其中batch_size表示单次传递给程序用以训练的参数个数。
[0078]
更进一步的说明,在s3中,所述l2正则化算法,包括以下步骤:
[0079]
s31、通过正则化项公式缓解模型过拟合的问题,所述正则化项公式如下所示:
[0080][0081][0082]
其中,表示交叉熵损失函数,表示模型预测样本是正例的概率,y表示样本标签,如果样本属于正例,则y的取值为1,否则y的取值为0;λ表示l2正则化参数;w表示神经网络中隐藏层的权重参数;
[0083]
s32、将黑化cam图像和傅里叶变换频谱图均输入到神经网络进行一次正向计算,并将该正向传播的结果标记为
[0084]
s33、将正向传播的结果与标签y均代入交叉熵损失函数,并求得其交叉熵损失函数的梯度,沿梯度下降方向一步步优化网络参数;
[0085]
s34、通过计算公式获得查全率,所述计算公式如下所示:
[0086][0087]
其中,r表示查全率,tp为混淆矩阵中的真正例,fn为混淆矩阵中的真反例。
[0088]
更进一步的说明,在s3中,所述交叉熵损失函数如下:
[0089][0090]
其中,表示模型预测样本是正例的概率,y表示样本标签,如果样本属于正例,则y的取值为1,否则y的取值为0。
[0091]
更进一步的说明,在s4中,所述对pcb真假缺陷识别模型进行模型训练,包括以下步骤:
[0092]
s41、初始化超参数;具体的,在本实施例中,学习率的初始值为0.001,l2正则化参数初始值为0.001,batch_size初始值设置为128;
[0093]
s42、所述第一并联层采用膨胀系数分别为1、2、3的锯齿状排列的空洞卷积核,对pcb实际缺陷图和对应的黑化cam图像分别提取大范围缺陷特征;
[0094]
s43、所述第二并联层采用二维卷积核,对pcb实际缺陷图和对应的傅里叶变换频谱图分别提取小范围缺陷特征;
[0095]
s44、所述第三合并层采用二维卷积核,将所述第一并联层和输出的大范围缺陷特
征所述第二并联层输出的小范围缺陷特征进行合并,得到合并的缺陷特征;
[0096]
s45、所述第四全连接层对合并的缺陷特征,结合随机梯度下降算法、l2正则化算法和交叉熵损失函数进行分析,得到训练损失值和训练准确率。
[0097]
更进一步的说明,在s5中,所述根据配置关系调节超参数,包括以下:
[0098]
配置关系一:当测试损失值与训练损失值之差大于0.005时,则认为当前学习率过大,对当前学习率递乘0.99,反之则不调整l2正则化参数;
[0099]
配置关系二:当训练准确率与测试准确率之差大于0.003时,则认为当前拟合效果较差,预测结果过拟合,对当前正则化参数递加0.005,反之则认为当前拟合效果较好,既没有过拟合,也没有欠拟合,此时不调整正则化参数。
[0100]
一种适用于pcb板真假缺陷的识别系统,采用如上述所述的一种适用于pcb板真假缺陷的识别方法,包括:
[0101]
数据处理模块,用于将包含pcb真假缺陷的数据集进行预处理,将预处理后的数据集随机分为训练数据集与测试数据集,其中数据集包括pcb实际缺陷图和pcb标准缺陷图;
[0102]
模型构建模块,用于构建基于多信号图卷积神经网络的pcb真假缺陷识别模型,并设置超参数和配置关系;
[0103]
模型训练模块,用于将训练数据集导入pcb真假缺陷识别模型中,采用随机梯度下降算法、l2正则化算法和交叉熵损失函数,对pcb真假缺陷识别模型进行模型训练至收敛,得到pcb真假缺陷的训练分类预测结果,其中训练分类预测结果包括训练损失值和训练准确率;
[0104]
模型测试模块,用于将测试数据集导入收敛后的pcb真假缺陷识别模型,采用随机梯度下降算法、l2正则化算法和交叉熵损失函数,对pcb真假缺陷识别模型进行模型测试,得到pcb真假缺陷的测试分类预测结果,其中训练分类预测结果包括测试损失值和测试准确率;
[0105]
结果对比模块,用于将训练分类预测结果与测试分类预测结果进行对比,若对比结果符合配置关系,则将pcb真假缺陷识别模型投入实际应用;若对比结果不符合配置关系,则根据配置关系调节超参数,重复数据处理模块、模型构建模块、模型训练模块和模型测试模块。
[0106]
本发明的系统采用如上述所述的一种适用于pcb板真假缺陷的识别方法,可实际投入应用到pcb板生产中,能够对pcb板真假缺陷的分检效率的同时,也能够提高检测准确率。
[0107]
以上结合具体实施例描述了本发明的技术原理。这些描述只是为了解释本发明的原理,而不能以任何方式解释为对本发明保护范围的限制。基于此处的解释,本领域的技术人员不需要付出创造性的劳动即可联想到本发明的其它具体实施方式,这些等同的变型或替换均包含在本技术权利要求所限定的范围内。