一种基于MAIRNet的PCB缺陷检测与识别方法

文档序号:29911040发布日期:2022-05-06 01:24阅读:77来源:国知局
一种基于MAIRNet的PCB缺陷检测与识别方法
一种基于mairnet的pcb缺陷检测与识别方法
技术领域
1.本发明涉及机器视觉及深度学习的技术领域,具体涉及一种基于mairnet的pcb缺陷检测与识别方法。


背景技术:

2.随着机器视觉及人工智能技术的飞速发展,深度学习、神经网络等技术逐渐应用到了工业化检测的过程当中。pcb具备高密度化、重量轻、集成度高等特点,这也使得pcb缺陷检测过程面临着目标元器件多样化、检测对象尺寸小,难以识别的问题。
3.当前pcb检测的主要方式主要分为人工目测、接触性检测及非接触性检测三类。人工目测存在着效率低下的问题,接触性检测又极易损伤pcb表面元器件,随着图像处理技术及视觉传感器的发展,基于视觉的pcb检测逐渐应用到实际生产当中,但目前常用的视觉检测方式无法同时识别检测多种元器件,仍需要相对复杂的人工操作过程,具有局限性。
4.基于传统图像处理技术的检测与识别方法不需要复杂昂贵的硬件,但具有一定局限性,对于目标种类众多的pcb复杂背景检测与识别精度较低,无法准确判别元器件类型与缺陷种类。当前基于深度学习的目标检测与识别技术没有针对pcb缺陷搭建的特定神经网络模型,针对pcb常见的各类缺陷,如:焊点连焊及虚焊、元器件缺失以及极性接反等问题的检测与识别技术相对还不够成熟,难以对pcb存在的多类缺陷进行针对性的检测与识别,同时深度神经网络由于网络结构复杂、层数加深,导致模型复杂,占用计算资源增加,难以移植到嵌入式开发板上应用到工业生产检测中。
5.所以,需要一个新的技术方案来解决这些问题。


技术实现要素:

6.发明目的:为了克服现有技术中存在的不足,提供一种基于mairnet的pcb缺陷检测与识别方法,使用基于深度学习及机器视觉的检测方法取代传统检测方式,在实际应用场景下成本相对低廉,不需要昂贵的自动光学检测(aoi)系统,同时相较于人工检测和接触性检测来说,效率大幅提升,不易造成pcb表面元器件损伤,且本发明提供的方法基于神经网络模型搭建,模型复杂程度较低,便于移植到嵌入式开发板上应用到实际的工业生产检测中,同时能够在单次检测操作中实现多类缺陷目标的检测功能,提高生产的效率和可靠性,满足高性能、高复杂度产品的生产需求,能够极大程度地提高智能电网装备板件生产流水线上pcb整体的检测水平,具有重要的实际应用价值。
7.技术方案:为实现上述目的,本发明提供一种基于mairnet的pcb缺陷检测与识别方法,包括如下步骤:
8.s1:分别采集pcb正反两面的模板图像与待检测图像,构建数据集,并且划分成测试集图像和训练集图像,对训练集图像进行元器件类别以及缺陷情况的标注,生成对应的标签文件;
9.s2:将训练集中的待检测图像和模板图像全部输入到元器件存在性检测模块,检
测是否存在元器件缺失的情况,最终输出缺失元器件定位信息并在待检测图像中进行标注;
10.s3:将测试集中的pcb图像输入搭建和训练好的基于mairnet的pcb缺陷检测与识别模型进行检测和识别操作,输出对于极性元器件的定位情况、色环电阻种类及定位信息和焊点缺陷类别及定位信息;
11.s4:利用步骤s3中输出的极性元器件定位情况对待检测图像与模板图像进行裁剪筛选,输出裁剪后的pcb极性元器件待检测图像与模板图像,构建一种pcb元器件极性判别方法,利用元器件存在性检测模块进行操作,通过对极性元器件存在区域进行分割,单独对待检测图像与模板图像的极性元器件区域进行对比,将对比情况输入到极性检测模块中进行判别,最终输出元器件极性接插情况;
12.s5:对获取的缺失元器件定位信息与pcb图像上的标注情况、元器件极性接插情况、色环电阻种类及定位信息、焊点缺陷类别及定位信息进行汇总显示。
13.进一步地,所述步骤s2中元器件存在性检测模块的检测方法为:
14.d1:对输入的待检测图像进行预处理,使用orb特征对待检测图像与原始图像进行图像配准操作,确保待检测图像与模板图像包含的相关特征尽可能位置相近;
15.d2:对于图像配准后的待检测图像与模板图像进行图像灰度化操作,生成待检测灰度图与模板灰度图;
16.d3:对于待检测灰度图与模板灰度图进行图像差分;
17.d4:对于步骤d3中得到的差分灰度图进行图像二值化处理,得到差分二值图,并进行图像形态学处理,采用腐蚀膨胀操作进一步减少pcb背景环境对元器件缺失区域定位带来的噪声及影响;
18.d5:对于步骤d4中进行图像形态学处理后的差分二值图进行像素筛选,筛选出图像中的最大连通区域;
19.d6:对于步骤d5中筛选出的最大连通区域进行矩形框标注,并将标注元器件缺失区域的矩形框映射到输入的待检测图像中,进而输出缺失元器件定位信息并实现标注。
20.进一步地,所述步骤s3中基于mairnet的pcb缺陷检测与识别模型的搭建方法包括如下步骤:
21.a1:构建基于mairnet用于提取训练集中pcb图像的特征,输出多种不同尺度的特征图,mairnet是一种多维注意力机制逆残差网络(multidimensional attention inverse residual network);
22.a2:对多种不同尺度的特征图进行pcb元器件目标检测与识别,目标所处的边界框bounding box位置信息目标对应的类别信息,类别信息包含目标元器件的具体类别以及缺陷情况。
23.进一步地,所述步骤a1具体包括如下步骤:
24.b1:mairnet由逆残差网络、多维注意力模块所组成,并且在网络搭建过程中使用了多尺度特征融合机制;
25.b2:在逆残差网络的基础上增加了一种多维注意力模块,使用多维注意力模块对于逆残差网络中的每一个逆残差模块进行优化,得到多维注意力模块优化的逆残差模块;
26.b3:按照多尺度特征融合机制搭建mairnet。
27.进一步地,所述步骤a2具体包括如下步骤:
28.c1:将经过多维注意力增强神经网络输出的5层特征图输入到pcb元器件目标检测与识别模块中分别进行极性元器件定位、色环电阻识别、焊点检测三类操作,每一类操作中5层特征图均通过了4组卷积神经网络;每组卷积神经网络包含卷积核为3
×
3、步长为1的卷积,群组归一化操作,最终使用relu激活函数进行激活;
29.c2:每一类操作中,对通过4组卷积神经网络卷积输出的特征图进行边界框回归,确定元器件目标所在区域,使用广义交并比函数giou(generalized intersection over union)作为边界框回归损失函数;
30.c3:每一类操作中,对通过4组卷积神经网络卷积输出的特征图进行分类,确定元器件目标的种类及缺陷类别,使用焦点损失函数focalloss作为分类损失函数。
31.进一步地,所述步骤c2中广义交并比函数giou的具体计算过程为:
32.l
giou
=1-giou
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(1)
[0033][0034][0035]
式中,a表示预测边界框,b表示真实边界框,c表示预测边界框和真实边界框的最小闭包矩形区域,l
giou
表示边界框回归损失函数,iou表示预测边界框与真实边界框之间的交并比函数,giou表示预测边界框与真实边界框之间的广义交并比函数。
[0036]
进一步地,所述步骤c3中焦点损失函数focalloss的具体计算过程为:
[0037]
fl(p,y)=-y(1-p)
γ
log(p)-(1-y)p
γ
log(1-p)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(4)
[0038]
式中,p表示预测为某一类别标签的预测值,在0到1之间,y表示实际的类别标签,为0或是1,γ表示人为设定的常数。
[0039]
进一步地,所述步骤s4中pcb元器件极性判别方法包括如下步骤:
[0040]
e1:对输入的pcb极性元器件待检测图像进行预处理,使用orb特征对待检测图像与原始图像进行图像配准操作,确保pcb极性元器件待检测图像与pcb极性元器件模板图像包含的相关特征尽可能位置相近;
[0041]
e2:对于图像配准后得到的pcb极性元器件待检测图像与pcb极性元器件模板图像进行图像灰度化操作,生成pcb极性元器件待检测灰度图与pcb极性元器件模板灰度图;
[0042]
e3:对于pcb极性元器件待检测灰度图与pcb极性元器件模板灰度图进行图像差分;
[0043]
e4:对于步骤e3中得到的pcb极性元器件差分灰度图进行图像二值化处理,得到pcb极性元器件差分二值图,并进行图像形态学处理,采用腐蚀膨胀操作进一步较少pcb背景环境对极性元器件差异区域的定位带来的噪声及影响;
[0044]
e5:对于步骤e4中进行图像形态学处理后的差分二值图进行像素筛选,筛选出pcb极性元器件差分二值图中的最大连通区域;
[0045]
e6:将步骤e5中筛选出的最大连通区域输入到极性检测模块中进行进一步判别,设定阈值s
t
,若最大连通区域大于设定阈值s
t
则说明可能存在极性错误的情况,若最大连通
区域不超过设定阈值s
t
则说明极性正确。
[0046]
进一步地,所述步骤b1中mairnet的主体是一个由17个逆残差模块构建的逆残差网络,每一个逆残差模块首端为1
×
1卷积,1
×
1卷积用于扩张特征矩阵通道,丰富特征数量,逆残差模块中间部分由卷积核为3
×
3的深度卷积组成,用于生成与输入特征矩阵通道数一致的特征矩阵,从而减少参数量以及运算成本,最终使用relu6激活函数增强网络的表达能力;
[0047]
所述步骤b2中多维注意力模块的具体操作为:通过每一个逆残差模块的特征矩阵被分为两个通道进行平均池化操作,平均池化后的两个通道的特征矩阵分别进行连接及1
×
1卷积,使用batch norm归一化操作,并通过swish激活函数进行激活,将激活后的特征矩阵再次分解为两个通道的特征矩阵,对两个通道的特征矩阵分别使用1
×
1卷积和sigmoid激活函数进行激活,得到的两个通道的特征矩阵与逆残差模块输出的原始特征矩阵进行合并,从而得到多维注意力增强的特征图,增强后的特征图能够更加有效地表达原始图像中的信息;
[0048]
所述步骤b3具体为:将17个多维注意力模块优化的逆残差模块分为7层网络,其中第1层至第7层,每层依次包含:1,2,3,4,3,3,1个多维注意力优化的逆残差模块,将经过第2层、第3层、第5层、第7层网络处理的特征图分别定义为c2、c3、c5、c7进行1
×
1卷积得到f2、f3、f5、f7,并将f7再次进行步长为2的卷积得到f7’
,对不同尺度的特征图进行融合,最终融合输出5层特征图f2、f3、f5、f7、f7’

[0049]
进一步地,所述步骤s5中通过搭建用户软件系统界面进行汇总显示。
[0050]
有益效果:本发明与现有技术相比,具备如下优点:
[0051]
1、本发明采集工业生产中pcb图像,对待检测图像与模板图像进行标注,构建数据集,通过工业摄像头采集图像,配置完成软件运行环境即可进行检测与识别,无需价格高昂的检测设备与夹具,同时避免了接触性检测对pcb元器件带来的损伤,成本较低,所需人工辅助工作更少,实现方式快捷便利,易于操作。
[0052]
2、本发明采用了一种基于多维注意力增强的神经网络进行检测,对于焊点等小目标存在的缺陷有较好的检测识别效果。
[0053]
3、本发明能够一次性检测及识别出多类常见pcb缺陷,无需复杂人工操作和多次检测,同时构建了交互界面输出缺陷检测识别结果,具有识别精度高、检测速度快、操作简便、显示结果直观的优势。
附图说明
[0054]
图1是本发明方法的流程框图;
[0055]
图2是本发明中基于mairnet的pcb缺陷检测与识别模型结构图;
[0056]
图3是本发明使用的多维注意力模块优化的逆残差模块结构图;
[0057]
图4是广义交并比函数giou的原理图;
[0058]
图5是基于mairnet对pcb常见缺陷的检测与识别结果图;
[0059]
图6是本发明中元器件存在性检测模块输出的元器件缺失情况检测图;
[0060]
图7是本发明中极性检测模块输出的元器件极性判别情况结果图;
[0061]
图8是本发明搭建的用户软件系统界面示意图。
具体实施方式
[0062]
下面结合附图和具体实施例,进一步阐明本发明,应理解这些实施例仅用于说明本发明而不用于限制本发明的范围,在阅读了本发明之后,本领域技术人员对本发明的各种等价形式的修改均落于本技术所附权利要求所限定的范围。
[0063]
本发明提供一种基于多维注意力增强神经网络(mairnet)的pcb缺陷检测与识别方法,如图1所示,其包括如下步骤:
[0064]
s1:采集pcb正反两面的待检测图像以及模板图像,其中待检测图像存在元器件缺失、元器件极性接插错误、色环电阻接错、焊点缺陷的情况。按照3:7的比例划分测试集图像和训练集图像,对训练集图像进行元器件类别以及缺陷情况的标注,生成对应的标签文件;
[0065]
s2:搭建基于mairnet的pcb缺陷检测与识别模型;
[0066]
s3:将训练集中的待检测图像与模板图像全部输入到元器件存在性检测模块,检测是否存在元器件缺失的情况,最终输出缺失元器件定位信息并在待检测图像中进行标注。
[0067]
s4:将测试集中的pcb图像输入训练好的基于mairnet的pcb缺陷检测与识别模型进行检测和识别操作,输出对于极性元器件的定位情况、色环电阻种类及定位信息和焊点缺陷类别及定位信息;
[0068]
s5:利用步骤s4中输出的极性元器件定位情况对待检测图像与模板图像进行裁剪筛选,输出裁剪后的pcb极性元器待检测图像与模板图像。构建一种pcb元器件极性判别方法,利用s3中的元器件存在性检测模块中进行操作,通过对极性元器件存在区域进行分割,单独对待检测图像与模板图像的极性元器件区域进行对比,将对比情况输入到极性检测模块中进行判别,最终输出元器件极性接插情况;
[0069]
s6:搭建用户软件系统界面,将步骤s3中输出的缺失元器件定位信息与pcb图像上的标注情况、元器件极性接插情况、色环电阻种类及定位信息、焊点缺陷类别及定位信息汇总显示在用户软件系统界面当中。
[0070]
本实施例中步骤s2的具体过程如下:
[0071]
a1:构建基于mairnet用于提取训练集中pcb图像的特征,输出多种不同尺度的特征图,mairnet是一种多维注意力机制逆残差网络(multidimensional attention inverse residual network);
[0072]
a2:对多种不同尺度的特征图进行pcb元器件目标检测与识别,目标所处的边界框bounding box位置信息目标对应的类别信息,类别信息包含目标元器件的具体类别以及缺陷情况;具体结构如图2所示;
[0073]
本实施例中步骤a1的具体过程如下:
[0074]
b1:mairnet由:逆残差网络、多维注意力模块所组成,并且在网络搭建过程中使用了多尺度特征融合机制。其中mairnet的主体是一个由17个逆残差模块构建的逆残差网络,每一个逆残差模块首端为1
×
1卷积,1
×
1卷积用于扩张特征矩阵通道,丰富特征数量,逆残差模块中间部分由卷积核为3
×
3的深度卷积组成,用于生成与输入特征矩阵通道数一致的特征矩阵,从而减少参数量以及运算成本,最终使用relu6激活函数增强网络的表达能力;
[0075]
b2:在逆残差网络的基础上增加了一种多维注意力模块,使用多维注意力模块对于逆残差网络中的每一个逆残差模块进行优化,得到多维注意力模块优化的逆残差模块。
多维注意力模块的具体操作如下所示:通过每一个逆残差模块的特征矩阵被分为两个通道进行平均池化操作,平均池化后的两个通道的特征矩阵分别进行连接及1
×
1卷积,使用batch norm归一化操作,并通过swish激活函数进行激活,将激活后的特征矩阵再次分解为两个通道的特征矩阵,对两个通道的特征矩阵分别使用1
×
1卷积和sigmoid激活函数进行激活,得到的两个通道的特征矩阵与逆残差模块输出的原始特征矩阵进行合并,从而得到多维注意力增强的特征图,增强后的特征图能够更加有效地表达原始图像中的信息;多维注意力模块优化的逆残差模块具体结构如图3所示;
[0076]
b3:按照多尺度特征融合机制搭建mairnet。将17个多维注意力模块优化的逆残差模块分为7层网络,其中第1层至第7层,每层依次包含:1,2,3,4,3,3,1个多维注意力优化的逆残差模块,将经过第2层、第3层、第5层、第7层网络处理的特征图分别定义为c2、c3、c5、c7进行1
×
1卷积得到f2、f3、f5、f7,并将f7再次进行步长为2的卷积得到f7’
,对不同尺度的特征图进行融合,最终融合输出5层特征图f2、f3、f5、f7、f7'。
[0077]
本实施例中步骤a2的具体过程如下:
[0078]
c1:将经过多维注意力增强神经网络输出的5层特征图输入到pcb元器件目标检测与识别模块中分别进行极性元器件定位、色环电阻识别、焊点检测三类操作,每一类操作中5层特征图均通过了4组卷积神经网络。每组卷积神经网络包含卷积核为3
×
3、步长为1的卷积,群组归一化操作,最终使用relu激活函数进行激活;
[0079]
c2:每一类操作中,对通过4组卷积神经网络卷积输出的特征图进行边界框回归,确定元器件目标所在区域,使用广义交并比函数giou(generalized intersection over union)作为边界框回归损失函数;
[0080]
c3:每一类操作中,对通过4组卷积神经网络卷积输出的特征图进行分类,确定元器件目标的种类及缺陷类别,使用焦点损失函数focal loss作为分类损失函数。
[0081]
这里需要说明的是,步骤c2中giou函数的原理图如图4所示,具体可见:
[0082]
l
giou
=1-giou
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(1)
[0083][0084][0085]
式中,a表示预测边界框,b表示真实边界框,c表示预测边界框和真实边界框的最小闭包矩形区域,l
giou
表示边界框回归损失函数,iou表示预测边界框与真实边界框之间的交并比函数,giou表示预测边界框与真实边界框之间的广义交并比函数。
[0086]
这里需要说明的是,步骤c3中焦点损失函数focalloss的计算过程具体如下:
[0087]
fl(p,y)=-y(1-p)
γ
log(p)-(1-y)p
γ
log(1-p)
ꢀꢀꢀꢀꢀꢀꢀꢀ
(4)
[0088]
式中,p表示预测为某一类别标签的预测值,在0到1之间,y表示实际的类别标签,为0或是1,γ表示人为设定的常数。
[0089]
本实施例中步骤s3的具体过程如下:
[0090]
d1:对输入的待检测图像进行预处理,使用orb特征对待检测图像与原始图像进行图像配准操作,确保待检测图像与模板图像包含的相关特征尽可能位置相近;
[0091]
d2:对于图像配准后的待检测图像与模板图像进行图像灰度化操作,生成待检测灰度图与模板灰度图;
[0092]
d3:对于待检测灰度图与模板灰度图进行图像差分;
[0093]
d4:对于步骤d3中得到的差分灰度图进行图像二值化处理,得到差分二值图,并进行图像形态学处理,采用腐蚀膨胀操作进一步较少pcb背景环境对元器件缺失区域定位带来的噪声及影响;
[0094]
d5:对于步骤d4中进行图像形态学处理后的差分二值图进行像素筛选,筛选出图像中的最大连通区域;
[0095]
d6:对于步骤d5中筛选出的最大连通区域进行矩形框标注,并将标注元器件缺失区域的矩形框映射到输入的待检测图像中,进而输出缺失元器件定位信息并实现标注。
[0096]
本实施例中步骤s5的具体过程如下:
[0097]
e1:对输入的pcb极性元器件待检测图像进行预处理,使用orb特征对待检测图像与原始图像进行图像配准操作,确保pcb极性元器件待检测图像与pcb极性元器件模板图像包含的相关特征尽可能位置相近;
[0098]
e2:对于图像配准后得到的pcb极性元器件待检测图像与pcb极性元器件模板图像进行图像灰度化操作,生成pcb极性元器件待检测灰度图与pcb极性元器件模板灰度图;
[0099]
e3:对于pcb极性元器件待检测灰度图与pcb极性元器件模板灰度图进行图像差分;
[0100]
e4:对于步骤f3中得到的pcb极性元器件差分灰度图进行图像二值化处理,得到pcb极性元器件差分二值图,并进行图像形态学处理,采用腐蚀膨胀操作进一步较少pcb背景环境对极性元器件差异区域的定位带来的噪声及影响;
[0101]
e5:对于步骤f4中进行图像形态学处理后的差分二值图进行像素筛选,筛选出pcb极性元器件差分二值图中的最大连通区域;
[0102]
e6:将步骤f5中筛选出的最大连通区域输入到极性检测模块中进行进一步判别,设定阈值s
t
,若最大连通区域大于设定阈值s
t
则说明可能存在极性错误的情况,若最大连通区域不超过设定阈值s
t
则说明极性正确。
[0103]
本实施例中为了验证本发明方法的实际效果,对本发明方法进行了实际的检测应用,其中基于mairnet的pcb缺陷检测与识别模型对于电阻与焊点的实际检测与识别情况分别如图5(a)、(b)所示,可见,图5(a)、(b)能够清楚、高效的识别出电阻目标的类别与焊点存在缺陷的区域;元器件存在性检测模块对于常见元器件检测的结果如图6所示,可见,元器件存在性检测模块能够对于缺失元器件的区域进行精确的定位;对于极性元器件接插情况的判别结果如图7所示,最终在用户软件系统界面输出判别结果,可见,极性检测模块能够完成对于常见极性元器件接插情况的判别,图5、图6、图7的检测与识别结果验证了本发明方法的实际效果,用户软件系统界面如图8所示。
[0104]
可见本发明能够检测识别出pcb表面常见的元器件缺失、元器件极性接插错误、焊点缺陷等问题,输出缺陷区域的位置信息、类别信息,并能够对色环电阻类别进行检测与识别,检测精度高达95%,单张图像平均检测与识别速度不超过2秒,与人工检测的方式相比具有显著优势。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1