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

一种基于深度卷积神经网络的PCB焊点识别方法

2022-12-20 00:31:36 来源:中国专利 TAG:

一种基于深度卷积神经网络的pcb焊点识别方法
技术领域
1.本发明涉及深度学习和模式识别技术领域,尤其涉及一种基于深度卷积神经网络的pcb焊点识别方法。


背景技术:

2.随着科技的快速发展,计算机的计算能力越来越强,能够胜任越来越复杂的计算任务。在过去几十年的发展中,计算机已经成功在多个领域内代替了人工,足以自动甚至智能地完成任务。相比于人工完成任务,计算机自动化具有快速、准确的优点。然而,随着人工智能领域的快速发展,不仅计算机能变得智能,而且工业生产也能变得智能化。
3.目前,pcb电路板组装技术精密化快速发展,传统的人工目检方法变得越来越困难,这种方法容易受到主观因素的影响而发生误查或漏查,并且效率较低。


技术实现要素:

4.本发明公开一种基于深度卷积神经网络的pcb焊点识别方法,旨在解决背景技术中提出的pcb电路板组装技术精密化快速发展,传统的人工目检方法变得越来越困难,这种方法容易受到主观因素的影响而发生误查或漏查,并且效率较低的技术问题。
5.为了实现上述目的,本发明采用了如下技术方案:
6.一种基于深度卷积神经网络的pcb焊点识别方法,具体包括以下步骤:
7.s1:对输入图像进行基于亮度均衡的阈值分割操作;
8.s2:将分割出的图像基于形态学操作进行逐个焊点截取;
9.s3:对切分的焊点图像进行数据增强,并归一化;
10.s4:将数据增强的数据输入到多路卷积和池化操作,提取多尺度卷积特征;然后将多尺度特征经过gap(global average pooling)降维,最后通过分类器输出焊点对应类别;
11.s5:在原图中显示每个焊点对应类别。
12.在一个优选的方案中,所述s1步骤具体包括以下步骤:
13.s11:基于亮度均衡的阈值对输入图像进行分割操作:首先加载图像,求取图像的全局平均亮度;
14.s12:将图像分成大小相同的子块,对图像的每小块进行扫描求取该块的平均亮度,按照每个小子快的分布获得子块平均亮度矩阵,把子块亮度矩阵中每个值都减去全局平均亮度,获得子块亮度差值矩阵;
15.s13:把子块亮度差值矩阵通过插值运算扩展到与原图像相同大小,获得全图像亮度差值矩阵;将原始图像各像素亮度值各自减去全图像亮度差值矩阵中对应的数值,这样使得图像亮度高的区域同时衰减,而亮度低的区域得到增强;
16.s14:根据原图像中最低和最高亮度来调节每个子块像素的亮度使之符合整个亮度范围,利用常用阈值选取方法分割图像,最后输出图像,得到亮度均衡后的pcb焊板图像,所述s1步骤将原图像分为32x32大小的图像小块,得到子块亮度矩阵之后使用bicubic差值
法扩展到与原图像相同大小。
17.在一个优选的方案中,所述s2步骤具体包括以下步骤:
18.s21:将分割出来的图像使用opencv图像形态学操作进行逐个焊点截取;
19.s22:将rgb三通道的图像使用opencv转换到hsv空间,然后利用hsv空间的饱和度s轴做形态学操作,通过腐蚀、膨胀、二值化和开操作方式确定原图像中类焊点位置,得到图像img1;
20.s23:通过对原图像的灰度图使用形态学操作确定焊板中不是焊点的噪声位置,得到图像img2;
21.s24:将上面得到的两个图像使用opencv中掩码操作去除噪点位置,确定全部焊点位置,得到图像img3;
22.s25:对原图像和img3使用掩码操作,确定原图像中焊点位置,使用焊点位置对应的最小矩形框进行图像截取,得到每个焊点对应的rgb彩色图像;
23.所述s2步骤中根据类间方差法求得大津法二值化转换的阈值。
24.在一个优选的方案中,所述s3步骤中使用数据增强对截取的焊点彩色图像进行数据扩充,基于图像的平移不变性特征,使用旋转、随机裁剪、色域变换的方法进行数据增强,将数据量扩充至原先的3倍,提高训练模型的泛化能力和鲁棒性,然后将数据集进行归一化处理,得到统一分布的数据。
25.在一个优选的方案中,所述s4步骤将归一化的图像数据缩放至固定大小输入到多层卷积神经网络具体包括以下步骤:
26.s41:输入图像经过一次卷积和平均池化提取特征,为c1特征提取层;
27.s42:对s41输出的特征图,通过两路不同卷积和一路池化做特征提取,连续两次,第一次做升维操作,第二次做特征提取,为c2特征提取层;
28.s43:对s42输出的三路特征图进行合并,并使用一层卷积进行特征融合,再经过两次卷积和池化提取特征,为c3、c4特征提取层;
29.s44:对s43输出的特征图进行gap(global average pooling)操作降维,输出较少维数的卷积特征,所述s5步骤中将s4步骤中输出的卷积特征,经过分类器进行分类,按照正常、少锡、多锡、漏焊四个类别进行分类,并根据之前记录的位置信息在原图中将对应区域使用不同颜色矩形框标注;
30.所述s42步骤使用三路不用卷积核,其特征是:首先通过三路(1x1)*32卷积升维,并对三路数据分别进行(5x5)*32卷积层、(3x3)*32卷积层、(2x2)*32平均池化层,所述s43步骤中,c4特征提取层的池化操作使用最大池化,卷积核尺寸为(7x7)*256,所述s44步骤中,gap(global average pooling)操作的卷积核尺寸为(2x2)*512。
31.由上可知,一种基于深度卷积神经网络的pcb焊点识别方法,具体包括以下步骤:s1:对输入图像进行基于亮度均衡的阈值分割操作;s2:将分割出的图像基于形态学操作进行逐个焊点截取;s3:对切分的焊点图像进行数据增强,并归一化;s4:将数据增强的数据输入到多路卷积和池化操作,提取多尺度卷积特征;然后将多尺度特征经过gap(global average pooling)降维,最后通过分类器输出焊点对应类别;s5:在原图中显示每个焊点对应类别。本发明提供的基于深度卷积神经网络的pcb焊点识别方法具有以下技术效果:
32.(1)从图像分割方面考虑,使用基于亮度均衡的图像阈值分割技术修正图像中的
光照影响,使得处于不用光照强度下的输入图像趋于一致。
33.(2)从模型结构方面考虑,采用三路不同卷积方式特征提取和下采样,并将多尺度的特征信息拼接做特征提取,增强网络泛化能力,提升模型性能。
34.(3)从产品实施应用方面考虑,可以应用在pcb电路板检测、教学评分领域,通过pcb电路板中合格焊点的比例给焊板打分或者判别是否符合生产标准,大大降低人力开销。
35.(4)从焊点识别的准确率考虑,本发明使用深度卷积是神经网络强大的特征提取和特征学习能力,避免了传统方法局限性和人工设计图像特征的复杂性。
附图说明
36.图1为本发明提出的一种基于深度卷积神经网络的pcb焊点识别方法的每类焊点实例图。
37.图2为本发明提出的一种基于深度卷积神经网络的pcb焊点识别方法的pcb焊板图像亮度均衡分割前后图。
38.图3为本发明提出的一种基于深度卷积神经网络的pcb焊点识别方法的深度卷积神经网络的模型图。
具体实施方式
39.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。
40.参照图1-3,一种基于深度卷积神经网络的pcb焊点识别方法,具体包括以下步骤:
41.步骤1:基于亮度均衡的阈值对输入图像进行分割操作:首先加载图像,求取图像的全局平均亮度;将图像分成大小相同的子块(32x32或64x64),对图像的每小块进行扫描求取该块的平均亮度,按照每个小子快的分布获得子块平均亮度矩阵,把子块亮度矩阵中每个值都减去全局平均亮度,获得子块亮度差值矩阵;把子块亮度差值矩阵通过插值运算扩展到与原图像相同大小,获得全图像亮度差值矩阵;将原始图像各像素亮度值各自减去全图像亮度差值矩阵中对应的数值,这样使得图像亮度高的区域同时衰减,而亮度低的区域得到增强;根据原图像中最低和最高亮度来调节每个子块像素的亮度使之符合整个亮度范围,可利用常用阈值选取方法分割图像,最后输出图像,得到亮度均衡后的pcb焊板图像;
42.pcb电路板中焊点图像占比小,电路板背景占据大部分视野范围,焊点在图像中表现为白色镜面光,如果直接将拍摄的图像进行识别,由于光线不均匀或者光线较强,引入其他噪声影响会出现误检和漏检,可以先对图像进行亮度均衡,尽可能保持整张图像中的光线均匀且无较大差距,将可能与白色镜面光相似的焊点区域去除。
43.算法原理:传入尺寸为n
×
n的图像,二值化后取值范围为(0,...,l)。平均亮度则为:
[0044][0045]
其中p(i,j)是图像每个坐标为(i,j)的像素对应亮度值。
[0046]
取图像中大小为n
×
n的子块图像,则对应子块的亮度均值为:
[0047][0048]
则亮度子块均值与全局亮度均值的差为δ
lum
=lum
av_bn-lum
av
[0049]
由上可得图像中高亮度子块的δ
lum
大于0,低亮度子块的δ
lum
小于0。实现图像的亮度均衡就需要对每个子块的亮度进行调整,但是为了保证图像的平滑,不能直接每个子块都加上或者减去同一个调整值,而是对按照分块的δ
lum
格式对子块的矩阵进行bicubic插值,使得子块大小扩展到原始图像大小,bicubic插值法又叫双三次插值法,该方法中函数f在点(x,y)的值可以通过矩阵网格中最近的十六个采样点的加权平均得到,需要使用两个多项式插值三次函数,每个方向使用一个,函数表达式如下:
[0050][0051]
其中权重w(x)公式为:
[0052][0053]
然后用原始图像的像素值减去扩展后δ
lum
的矩阵,即可实现整个图像的亮度均衡。
[0054]
步骤2:将分割出来的图像使用opencv图像形态学操作进行逐个焊点截取:将rgb三通道的图像使用opencv转换到hsv空间,然后利用hsv空间的饱和度(s)轴做形态学操作,通过腐蚀、膨胀、二值化、开操作等方式确定原图像中类焊点位置,得到图像img1;另外通过对原图像的灰度图使用形态学操作确定焊板中不是焊点的噪声位置,得到图像img2;将上面得到的两个图像使用opencv中掩码操作去除噪点位置,确定全部焊点位置,得到图像img3;对原图像和img3使用掩码操作,确定原图像中焊点位置,使用焊点位置对应的最小矩形框进行图像截取,得到每个焊点对应的rgb彩色图像;
[0055]
将亮度均衡分割输出的图像进行色域转换,经过一次hsv转换使用s轴确定类焊点位置,一次灰度图转换确定无用点位置,之后使用掩码操作去除无用点,即可确定全部焊点位置,使用图像截取方法得到全部单独焊点图片,并存储对应焊点位置信息。其具体执行步骤如下:
[0056]
a)首先rgb三通道图像转换到hsv色域空间,计算式如下:首先将r,g,b转换到[0,1]空间分别得到得到其3个通道的最大值cmax和最小值cmin,以及二者之差:
[0057]
cmin=min(r

,g

,b

);cmax=max(r

,g

,b

);δ=cmax-cmin色调值(hue)计算式为:
[0058][0059]
饱和度(saturation)计算式为:
[0060][0061]
明度(value)即亮度计算式为:v=cmax
[0062]
b)rgb三通道图像转换到单通道灰度图,计算式如下:
[0063]
gray
(i,j)
=r
(i,j)
*0.299 g
(i,j)
*0.587 b
(i,j)
*0.114
[0064]
其中(i,j)为图像中对应像素位置坐标点,gray为对应灰度图像素值。
[0065]
c)对转换色域的图像进行形态学操作,例如腐蚀、膨胀、开操作和闭操作等,确定焊点位置并去除噪声点。首先通过腐蚀去除小的噪声点,腐蚀会通过局部最小值将相对焊点较小的噪声消除掉,腐蚀的函数表达式为:
[0066]
e(f,k)=f!k=min{f(m-a,n-b)-k(a,b)
[0067]
其中f代表原始图像,k表示对原始图像进行膨胀运算的结构化要素,这里使用!表示膨胀操作,e表示腐蚀操作之后得到的灰度图像素值。
[0068]
之后使用膨胀操作还原正常焊点大小,加大正常焊点和噪声点的差别,膨胀的函数表达式为:
[0069][0070]
其中f代表原始图像,k表示对原始图像进行膨胀运算的结构化要素,这里使用表示膨胀操作,d表示腐蚀操作之后得到的灰度图像素值。
[0071]
最后再使用开操作消除正确焊点以外的噪声,既先腐蚀后膨胀,使用闭操作填充焊点空缺,既先膨胀后腐蚀。
[0072]
以上操作完成可得到基于类似焊点的hsv色域s轴灰度图和基于无用焊点的二值化灰度图,将二者通过opencv的掩码操作合并即可得到图像正确焊点信息,轮廓检测算法可以通过图像获取其中正确焊点的位置信息,提取剩余焊点对应位置信息并保存。
[0073]
根据位置信息对应的最小矩形框,从原图中切分得到逐个焊点的彩色图像。
[0074]
步骤3:使用数据增强对切分得到的逐个焊点彩色图像扩充数据:由于图像的特征平移不变性,使用旋转、随机裁剪、色域变换等方法进行数据增强,将数据量扩充至原先的3倍,提高训练模型的泛化能力和鲁棒性。然后将数据集进行归一化处理,得到统一分布的数据;
[0075]
步骤4:将全部焊点类别分为四类。分别为正常、少锡、多锡、漏焊四种情况。将图像
尺寸缩放为112x112,输入深度卷积神经网络训练模型,其中c1为第一个特征提取层,首先对输入数据做卷积操作,卷积核尺寸为(3x3)*16,3x3是卷积核尺寸,16为卷积核个数,步长为1,卷积计算之后输出的特征图尺寸为(112x112)*16。卷积之后再使用平均池化进行一次下采样操作,平均池化卷积核尺寸为(2x2)*16,步长为2,池化计算之后输出的特征图尺寸为(56x56)*16。
[0076]
c2为第二层特征提取层,使用三路不同操作处理图像,首先同时使用(1x1)*32卷积对特征图升维,之后在进行三路不同的操作提取特征,最右边使用(5x5)卷积操作提取特征,卷积核尺寸为(5x5)*32,步长为1。卷积计算之后输出的特征图尺寸为(56x56)*32。中间使用(3x3)卷积操作提取特征,卷积核尺寸为(3x3)*32,步长为1。卷积计算之后输出的特征图尺寸为(56x56)*32。最左边使用(2x2)平均池化操作,池化卷积核尺寸为(3x3)*32,步长为1。池化计算之后输出的特征图为(56x56)*32。将三路输出分别使用最大池化下采样,最大池化尺寸为(2x2)*32,步长为1。三路池化操作结果concat,得到尺寸为(28x28)*96的融合特征图。使用卷积操作对融合特征图进行多尺度特征提取,卷积核尺寸为(3x3)*128,步长为1。卷积计算之后输出的特征图尺寸为(28x28)*128。
[0077]
c3为第三层特征提取层,首先使用卷积操作提取特征,卷积核尺寸为(3x3)*256,步长为1。卷积计算之后输出的特征图尺寸为(28x28)*256。再使用池化操作进行下采样,平均池化操作卷积核尺寸为(2x2)*256,步长为2。池化计算之后输出的特征图尺寸为(14x14)*256。
[0078]
c4为第四层特征提取层,首先使用卷积操作提取特征,卷积核尺寸为(3x3)*512,步长为1。卷积计算之后输出的特征图尺寸为(14x14)*512。再使用池化操作进行下采样,最大池化操作卷积核尺寸为(7x7)*512,步长为7。池化计算之后输出的特征图尺寸为(2x2)*512。
[0079]
gap层主要起到降维作用,代替卷积神经网络原始结构的全连接层,大大减少卷积神经网络的整体参数量,使用的卷积核尺寸为(2x2)*512,每个特征图得到一个向量值,最后输出一个长度维512的一维向量,再使用一个全连接层将长度512的向量映射到对应类别数4,
[0080]
步骤5:将步骤4输出的特征向量,经过softmax函数分类器进行分类,按照正常、少锡、多锡、漏焊四个类别进行分类,并根据步骤2中记录的位置信息使用不同颜色矩形框标注对应类别焊点,最后可获得全部pcb焊点分类结果。
[0081]
在一个优选的实施方式中,每类焊点的实例如附图1所示。
[0082]
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,根据本发明的技术方案及其发明构思加以等同替换或改变,都应涵盖在本发明的保护范围之内。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

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

相关文献