一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

基于深度学习的电路板塞孔缺陷检测方法及装置与流程

2021-10-19 23:27:00 来源:中国专利 TAG:缺陷 电路板 电子设备 深度 检测方法


1.本发明涉及工业缺陷检测技术领域,特别是涉及一种基于深度学习的电路板塞孔缺陷检测方法、装置、存储介质以及电子设备。


背景技术:

2.树脂塞孔被广泛用于印刷电路板(pcb)制造中,以优化pcb的寄生电容和电感。由于树脂塞孔逐渐地被越来越多的线路板加工应用,而树脂塞孔的各种缺陷都会导致pcb板的报废,因此pcb板树脂塞孔的检测越来越严格。
3.但是,由于树脂塞孔缺陷的特征在很大范围内变化,且树脂塞孔缺陷样品数量少。许多不确定样本与缺陷样本非常相似,占据了绝大多数数据集的类似缺陷的不确定样本使卷积神经网络容易在缺陷的样本上过拟合,导致缺陷的样本很容易被误认为是正常样本。
4.发明人在实施本发明过程中发现现有技术至少存在以下问题:现有技术方案都没有充分利用不确定样本中隐藏的信息,从而导致电路板塞孔缺陷检测精度低。


技术实现要素:

5.基于此,本发明的目的在于,提供一种基于深度学习的电路板塞孔缺陷检测方法、装置、存储介质以及电子设备,其具有提高电路板塞孔缺陷检测精度的优点。
6.根据本技术实施例的第一方面,提供一种基于深度学习的电路板塞孔缺陷检测方法,包括如下步骤:
7.获取电路板塞孔图像样本;
8.构建电路板塞孔缺陷检测模型以及所述电路板塞孔缺陷检测模型的损失函数,其中,所述电路板塞孔缺陷检测模型包括依次连接的特征提取网络、多层感知神经网络和softmax分类器,所述电路板塞孔缺陷检测模型的损失函数包括焦点损失函数、软损失函数和引力损失函数;
9.将所述电路板塞孔图像样本输入至所述特征提取网络、多层感知神经网络和softmax分类器进行训练,且通过所述焦点损失函数、软损失函数和引力损失函数对所述特征提取网络、多层感知神经网络和softmax分类器进行优化,获得训练好的电路板塞孔缺陷检测模型;
10.将待检测的电路板塞孔图像输入到训练好的所述电路板塞孔缺陷检测模型中,获取所述电路板塞孔图像的缺陷识别结果;
11.根据所述电路板塞孔图像的缺陷识别结果,确定缺陷类别。
12.根据本技术实施例的第二方面,提供一种基于深度学习的电路板塞孔缺陷检测方法装置,包括:
13.第一获取模块,用于获取电路板塞孔图像样本;
14.构建模块,用于构建电路板塞孔缺陷检测模型以及所述电路板塞孔缺陷检测模型的损失函数,其中,所述电路板塞孔缺陷检测模型包括依次连接的特征提取网络、多层感知
神经网络和softmax分类器,所述电路板塞孔缺陷检测模型的损失函数包括焦点损失函数、软损失函数和引力损失函数;
15.训练模块,用于将所述电路板塞孔图像样本输入至所述特征提取网络、多层感知神经网络和softmax分类器进行训练,且通过所述焦点损失函数、软损失函数和引力损失函数对所述特征提取网络、多层感知神经网络和softmax分类器进行优化,获得训练好的电路板塞孔缺陷检测模型;
16.第二获取模块,用于将待检测的电路板塞孔图像输入到训练好的所述电路板塞孔缺陷检测模型中,获取所述电路板塞孔图像的缺陷识别结果;
17.确定模块,用于根据所述电路板塞孔图像的缺陷识别结果,确定缺陷类别。
18.根据本技术实施例的第三方面,提供一种电子设备,包括:处理器和存储器;其中,所述存储器存储有计算机程序,所述计算机程序适于由所述处理器加载并执行如上述任意一项所述的基于深度学习的电路板塞孔缺陷检测方法。
19.根据本技术实施例的第四方面,提供一种计算机可读存储介质,其上储存有计算机程序,该计算机程序被处理器执行时实现如上述任意一项所述的基于深度学习的电路板塞孔缺陷检测方法。
20.本技术实施例通过获取电路板塞孔图像样本,构建电路板塞孔缺陷检测模型以及所述电路板塞孔缺陷检测模型的损失函数,将所述电路板塞孔图像样本输入至所述特征提取网络、多层感知神经网络和softmax分类器进行训练,且通过所述焦点损失函数、软损失函数和引力损失函数对所述特征提取网络、多层感知神经网络和softmax分类器进行优化,获得训练好的电路板塞孔缺陷检测模型,将待检测的电路板塞孔图像输入到训练好的所述电路板塞孔缺陷检测模型中,获取所述电路板塞孔图像的缺陷识别结果根据所述电路板塞孔图像的缺陷识别结果,确定缺陷类别。通过引力损失函数将各种缺陷特征以不均匀的方式远离无缺陷的中心,分散地分布,突出了不确定样本和有缺陷样本之间的差异。进一步地,通过软损失函数使不确定样本更接近标签空间中的真实分布。综合所述焦点损失函数、软损失函数和引力损失函数的联合监督,使所述电路板塞孔缺陷检测模型考虑了缺陷特征的巨大变化和不确定样本的模糊性,从而提高了电路板塞孔缺陷检测精度。
21.应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本技术。
22.为了更好地理解和实施,下面结合附图详细说明本发明。
附图说明
23.图1为本发明基于深度学习的电路板塞孔缺陷检测方法的流程示意图;
24.图2为本发明基于深度学习的电路板塞孔缺陷检测中s30的流程示意图;
25.图3为本发明基于深度学习的电路板塞孔缺陷检测装置的结构框图;
26.图4为本发明基于深度学习的电路板塞孔缺陷检测训练模块63的结构框图。
具体实施方式
27.为使本技术的目的、技术方案和优点更加清楚,下面将结合附图对本技术实施例方式作进一步地详细描述。
28.应当明确,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本技术保护的范围。
29.在本技术实施例使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本技术实施例。在本技术实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
30.下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本技术相一致的所有实施方式。相反,它们仅是如所附权利要求书中所详述的、本技术的一些方面相一致的装置和方法的例子。在本技术的描述中,需要理解的是,术语“第一”、“第二”、“第三”等仅用于区别类似的对象,而不必用于描述特定的顺序或先后次序,也不能理解为指示或暗示相对重要性。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本技术中的具体含义。
31.此外,在本技术的描述中,除非另有说明,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
32.请参阅图1,本发明实施例提供一种基于深度学习的电路板塞孔缺陷检测方法,包括如下步骤:
33.s10.获取电路板塞孔图像样本。
34.在本技术实施例中,使用线扫描ccd相机从多层pcb的生产线上获取取电路板塞孔图像样本,从而构建一个树脂塞孔的数据集。具体地,所述数据集包括119个无缺陷、5146个不确定和602个有缺陷的图像。每张图像仅包含一个塞孔,图像的三分之二用于训练,其余用于测试。
35.s20.构建电路板塞孔缺陷检测模型以及所述电路板塞孔缺陷检测模型的损失函数,其中,所述电路板塞孔缺陷检测模型包括依次连接的特征提取网络、多层感知神经网络和softmax分类器,所述电路板塞孔缺陷检测模型的损失函数包括焦点损失函数、软损失函数和引力损失函数。
36.在本技术实施例中,将所述电路板塞孔图像样本输入至特征提取网络,生成高维特征向量。将所述高维特征向量输入至多层感知神经网络,所述多层感知神经网络包括3个全连接层,通道数分别为128、128和1,输出一个数值,将所述数值输入至softmax分类器,输出预测概率值。
37.s30.将所述电路板塞孔图像样本输入至所述特征提取网络、多层感知神经网络和softmax分类器进行训练,且通过所述焦点损失函数、软损失函数和引力损失函数对所述特征提取网络、多层感知神经网络和softmax分类器进行优化,获得训练好的电路板塞孔缺陷检测模型。
38.在本技术实施例中,将所述预测概率值与样本标签值进行比较,计算损失函数值,从而利用反向传播算法和梯度下降算法优化所述特征提取网络和所述多层感知神经网络的网络参数,获取训练好的电路板塞孔缺陷检测模型。
39.s40.将待检测的电路板塞孔图像输入到训练好的所述电路板塞孔缺陷检测模型
中,获取所述电路板塞孔图像的缺陷识别结果。
40.在本技术实施例中,根据训练好的所述电路板塞孔缺陷检测模型,对待检测的电路板塞孔图像进行缺陷检测,获取缺陷识别结果,所述缺陷识别结果为一个0到1之间的概率值。
41.s50.根据所述电路板塞孔图像的缺陷识别结果,确定缺陷类别。
42.在本技术实施例中,所述缺陷类别包括正常和有缺陷。例如,当缺陷识别结果对应的概率值为0.6,表示有60%的概率确定所述电路板塞孔图像是有缺陷图像。
43.应用本发明实施例,通过获取电路板塞孔图像样本,构建电路板塞孔缺陷检测模型以及所述电路板塞孔缺陷检测模型的损失函数,将所述电路板塞孔图像样本输入至所述特征提取网络、多层感知神经网络和softmax分类器进行训练,且通过所述焦点损失函数、软损失函数和引力损失函数对所述特征提取网络、多层感知神经网络和softmax分类器进行优化,获得训练好的电路板塞孔缺陷检测模型,将待检测的电路板塞孔图像输入到训练好的所述电路板塞孔缺陷检测模型中,获取所述电路板塞孔图像的缺陷识别结果根据所述电路板塞孔图像的缺陷识别结果,确定缺陷类别。通过引力损失函数将各种缺陷特征以不均匀的方式远离无缺陷的中心,分散地分布,突出了不确定样本和有缺陷样本之间的差异。进一步地,通过软损失函数使不确定样本更接近标签空间中的真实分布。综合所述焦点损失函数、软损失函数和引力损失函数的联合监督,使所述电路板塞孔缺陷检测模型考虑了缺陷特征的巨大变化和不确定样本的模糊性,从而提高了电路板塞孔缺陷检测精度。
44.在一个可选的实施例中,请参阅图2,所述步骤s30包括s31~s34,具体如下:
45.s31.将所述电路板塞孔图像样本输入至所述特征提取网络进行特征提取,获得特征图,并根据所述特征图以及所述引力损失函数,计算所述引力损失值,且所述引力损失值大于预设阈值时,通过反向传播算法和梯度下降算法优化所述特征提取网络的网络参数,以根据设定的迭代次数重复计算所述引力损失值,直至所述引力损失值下降至预设阈值;
46.s32.将所述特征图输入至所述多层感知神经网络,得到概率向量;
47.s33.将所述概率向量输入至所述softmax分类器,得到归一化的第一概率向量,并根据所述第一概率向量以及所述焦点损失函数,计算所述焦点损失值,且所述焦点损失值大于预设阈值时,通过反向传播算法和梯度下降算法优化所述特征提取网络和所述多层感知神经网络的网络参数,以根据设定的迭代次数重复计算所述焦点损失值,直至所述焦点损失值下降至预设阈值;
48.s34.将所述概率向量除以调和因子,输入至所述softmax分类器,得到归一化的第二概率向量,并根据所述第二概率向量以及所述软损失函数,计算所述软损失值,且所述软损失值大于预设阈值时,通过反向传播算法和梯度下降算法优化所述特征提取网络和所述多层感知神经网络的网络参数,以根据设定的迭代次数重复计算所述软损失值,直至所述软损失值下降至预设阈值。
49.在本技术实施例中,所述引力损失函数根据不同的数据特征增强特征空间中的判别力,所述软损失函数使不确定样本更接近标签空间中的真实分布,所述焦点损失函数便于模型拟合,更好地处理不合格的异常值。在所述引力损失函数、所述软损失函数以及所述焦点损失函数的联合监督训练下,增强了深度学习网络对特征的区分能力,提高了所述电路板塞孔缺陷检测模型的缺陷检测精度。
50.在一个可选的实施例中,所述焦点损失函数的公式为:
[0051][0052]
其中,l
c
表示所述焦点损失函数,y

i
是所述电路板塞孔缺陷检测模型给出的预测类别概率,y是真实样本标签,α和γ是常数;
[0053]
所述软损失函数的公式为:
[0054][0055]
其中,l
s
表示软损失函数,n
u
表示不确定样本对应的特征图集合大小,y
u
表示不确定样本的标签集,所述标签集通过所述数据集标注处理得到,表示预测的概率值,表示不确定样本的标签;
[0056]
所述引力损失函数的公式为:
[0057]
l
g
=l
f
l
u
l
d
[0058][0059]
其中,l
g
为引力损失函数,l
f
表示对无缺陷样本的吸引力项,l
u
表示对不确定样本的吸引力项,l
d
表示对缺陷样本的排斥项,h
f
表示无缺陷样本对应的特征图集合,h
u
表示不确定样本对应的特征图集合,h
d
表示缺陷样本对应的特征图集合,n
f
、n
u
和n
d
分别表示所述特征图集合h
f
、h
u
和h
d
的大小,x
i
表示所述特征图集合的第i个特征图,c表示无缺陷样本特征中心,r1、r2和r3代表距离参数,|| ||为欧几里得距离,[x]

=max(0,x);
[0060]
则所述电路板塞孔缺陷检测模型的损失函数的公式为:
[0061]
l=λ1l
g
λ2l
s
l
c
其中,l表示所述损失函数,λ1和λ2为权重系数。
[0062]
在本技术实施例中,l
g
以不同的方式约束三种类型的特征。具体来说,它鼓励三种特征l
f
、l
u
和l
d
到c的距离分别小于r1和r2且大于r3,分层形成同心超球面。r2和r3之间的较大差距有助于大大增强深度特征的判别能力,而r1和r2之间的差异有助于不确定特征在嵌入空间中更恰当地定位。因此,可以容易地训练针对缺陷检查中的缺陷类型的变化。此外,在特征提取网络后添加了多层感知神经网络,并采用焦点损失函数l
c
,以帮助所述电路板塞孔缺陷检测模型更好地拟合不受超球面分布影响的不合格异常值。l
s
充分利用了不确定样本中的歧义性,更好地表征了不确定样本和缺陷样本之间的相似性。
[0063]
在一个可选的实施例中,在每次迭代重复计算之后,通过更新方程更新所述无缺陷特征的中心,所述更新方程为:
[0064][0065]
其中,c
n
为当前无缺陷特征的中心,c
n 1
为迭代之后无缺陷特征的中心,β是小于1的正调节因子。
[0066]
在本技术实施例中,在每次迭代重复计算之后,对所述无缺陷特征的中心进行更新,是为了保持深度学习网络训练的稳定性,从而提高所述电路板塞孔缺陷检测模型的鲁棒性。
[0067]
在一个可选的实施例中,所述特征提取网络包括3个池化层、5个卷积层、1个批归一化bn层和relu激活函数,所述多层感知神经网络包括3个全连接层。
[0068]
在一个可选的实施例中,所述获取电路板塞孔图像样本的步骤之后,还包括:
[0069]
对所述电路板塞孔图像样本进行数据扩充,获得扩充后的电路板塞孔图像样本;其中,所述数据扩充包括平移、旋转、对称、缩放、裁剪、填充、左右翻转以及颜色变换操作。
[0070]
在本技术实施例中,在构建数据集的过程中,对采集的电路板塞孔图像样本进行预处理,包括,使用平移、旋转、对称、缩放、裁剪、填充、左右翻转以及颜色变换操作对所述电路板塞孔图像样本进行数据增强扩充,有利于增加数据集中的相关数据量。设置网络训练批量大小batchsize为128,权重衰减为0.0001,初始学习率为0.001,嵌入向量的长度为128。训练使用了adam优化器的模型进行350时期,并动态降低学习率20%,只要准确度在40时期内没有增加就提前停止。通过网络调整最佳的超参数,并在引力损失函数、软损失函数和焦点损失函数联合监督下训练电路板塞孔缺陷检测模型,权重系数λ1=0.2,λ2=0.01。
[0071]
相应于上述方法实施例,请参阅图3,本发明实施例提供一种基于深度学习的电路板塞孔缺陷检测装置6,包括:
[0072]
第一获取模块61,用于获取电路板塞孔图像样本;
[0073]
构建模块62,用于构建电路板塞孔缺陷检测模型以及所述电路板塞孔缺陷检测模型的损失函数,其中,所述电路板塞孔缺陷检测模型包括依次连接的特征提取网络、多层感知神经网络和softmax分类器,所述电路板塞孔缺陷检测模型的损失函数包括焦点损失函数、软损失函数和引力损失函数;
[0074]
训练模块63,用于将所述电路板塞孔图像样本输入至所述特征提取网络、多层感知神经网络和softmax分类器进行训练,且通过所述焦点损失函数、软损失函数和引力损失函数对所述特征提取网络、多层感知神经网络和softmax分类器进行优化,获得训练好的电路板塞孔缺陷检测模型;
[0075]
第二获取模块64,用于将待检测的电路板塞孔图像输入到训练好的所述电路板塞孔缺陷检测模型中,获取所述电路板塞孔图像的缺陷识别结果;
[0076]
确定模块65,用于根据所述电路板塞孔图像的缺陷识别结果,确定缺陷类别。
[0077]
可选的,请参阅图4,所述训练模块63,包括:
[0078]
第一输入单元632,用于将所述电路板塞孔图像样本输入至所述特征提取网络进行特征提取,获得特征图,并根据所述特征图以及所述引力损失函数,计算所述引力损失
值,且所述引力损失值大于预设阈值时,通过反向传播算法和梯度下降算法优化所述特征提取网络的网络参数,以根据设定的迭代次数重复计算所述引力损失值,直至所述引力损失值下降至预设阈值;
[0079]
第二输入单元634,用于将所述特征图输入至所述多层感知神经网络,得到概率向量;
[0080]
第三输入单元636,用于将所述概率向量输入至所述softmax分类器,得到归一化的第一概率向量,并根据所述第一概率向量以及所述焦点损失函数,计算所述焦点损失值,且所述焦点损失值大于预设阈值时,通过反向传播算法和梯度下降算法优化所述特征提取网络和所述多层感知神经网络的网络参数,以根据设定的迭代次数重复计算所述焦点损失值,直至所述焦点损失值下降至预设阈值;
[0081]
第四输入单元638,用于将所述概率向量除以调和因子,输入至所述softmax分类器,得到归一化的第二概率向量,并根据所述第二概率向量以及所述软损失函数,计算所述软损失值,且所述软损失值大于预设阈值时,通过反向传播算法和梯度下降算法优化所述特征提取网络和所述多层感知神经网络的网络参数,以根据设定的迭代次数重复计算所述软损失值,直至所述软损失值下降至预设阈值。
[0082]
应用本发明实施例,通过获取电路板塞孔图像样本,构建电路板塞孔缺陷检测模型以及所述电路板塞孔缺陷检测模型的损失函数,将所述电路板塞孔图像样本输入至所述特征提取网络、多层感知神经网络和softmax分类器进行训练,且通过所述焦点损失函数、软损失函数和引力损失函数对所述特征提取网络、多层感知神经网络和softmax分类器进行优化,获得训练好的电路板塞孔缺陷检测模型,将待检测的电路板塞孔图像输入到训练好的所述电路板塞孔缺陷检测模型中,获取所述电路板塞孔图像的缺陷识别结果根据所述电路板塞孔图像的缺陷识别结果,确定缺陷类别。通过引力损失函数将各种缺陷特征以不均匀的方式远离无缺陷的中心,分散地分布,突出了不确定样本和有缺陷样本之间的差异。进一步地,通过软损失函数使不确定样本更接近标签空间中的真实分布。综合所述焦点损失函数、软损失函数和引力损失函数的联合监督,使所述电路板塞孔缺陷检测模型考虑了缺陷特征的巨大变化和不确定样本的模糊性,从而提高了电路板塞孔缺陷检测精度。
[0083]
本技术还提供一种电子设备,包括:处理器和存储器;其中,所述存储器存储有计算机程序,所述计算机程序适于由所述处理器加载并执行上述实施例的方法步骤。
[0084]
本技术还提供一种计算机可读存储介质,其上储存有计算机程序,该计算机程序被处理器执行时实现上述实施例的方法步骤。
[0085]
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,则本发明也意图包含这些改动和变形。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献

  • 日榜
  • 周榜
  • 月榜