CN114429445A - 一种基于MAIRNet的PCB缺陷检测与识别方法 - Google Patents
一种基于MAIRNet的PCB缺陷检测与识别方法 Download PDFInfo
- Publication number
- CN114429445A CN114429445A CN202111318512.9A CN202111318512A CN114429445A CN 114429445 A CN114429445 A CN 114429445A CN 202111318512 A CN202111318512 A CN 202111318512A CN 114429445 A CN114429445 A CN 114429445A
- Authority
- CN
- China
- Prior art keywords
- image
- pcb
- component
- detected
- mairnet
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000001514 detection method Methods 0.000 title claims abstract description 80
- 230000007547 defect Effects 0.000 title claims abstract description 58
- 238000000034 method Methods 0.000 title claims abstract description 50
- 238000003466 welding Methods 0.000 claims abstract description 14
- 238000012549 training Methods 0.000 claims abstract description 13
- 238000012360 testing method Methods 0.000 claims abstract description 7
- 238000012545 processing Methods 0.000 claims description 20
- 238000010586 diagram Methods 0.000 claims description 17
- 239000011159 matrix material Substances 0.000 claims description 17
- 238000013528 artificial neural network Methods 0.000 claims description 16
- 230000008569 process Effects 0.000 claims description 16
- 230000004913 activation Effects 0.000 claims description 15
- 238000012216 screening Methods 0.000 claims description 12
- 238000002372 labelling Methods 0.000 claims description 11
- 230000003213 activating effect Effects 0.000 claims description 6
- 238000004891 communication Methods 0.000 claims description 6
- 230000007797 corrosion Effects 0.000 claims description 6
- 238000005260 corrosion Methods 0.000 claims description 6
- 230000004927 fusion Effects 0.000 claims description 6
- 230000007246 mechanism Effects 0.000 claims description 6
- 238000010606 normalization Methods 0.000 claims description 6
- 238000011176 pooling Methods 0.000 claims description 6
- 238000007781 pre-processing Methods 0.000 claims description 6
- 238000004364 calculation method Methods 0.000 claims description 5
- 230000000877 morphologic effect Effects 0.000 claims description 4
- 238000005457 optimization Methods 0.000 claims description 4
- 238000013527 convolutional neural network Methods 0.000 claims description 3
- 238000005520 cutting process Methods 0.000 claims description 3
- 238000013507 mapping Methods 0.000 claims description 3
- 230000007812 deficiency Effects 0.000 claims description 2
- 230000002950 deficient Effects 0.000 claims description 2
- 230000006870 function Effects 0.000 description 26
- 238000005516 engineering process Methods 0.000 description 6
- 238000013135 deep learning Methods 0.000 description 4
- 238000011161 development Methods 0.000 description 4
- 238000004519 manufacturing process Methods 0.000 description 4
- 229910000679 solder Inorganic materials 0.000 description 4
- 230000000694 effects Effects 0.000 description 3
- 238000009776 industrial production Methods 0.000 description 3
- 230000000007 visual effect Effects 0.000 description 3
- 230000006378 damage Effects 0.000 description 2
- 238000003062 neural network model Methods 0.000 description 2
- 238000011179 visual inspection Methods 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/0002—Inspection of images, e.g. flaw detection
- G06T7/0004—Industrial image inspection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/048—Activation functions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/20—Image enhancement or restoration using local operators
- G06T5/30—Erosion or dilatation, e.g. thinning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/70—Denoising; Smoothing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/90—Dynamic range modification of images or parts thereof
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/30—Determination of transform parameters for the alignment of images, i.e. image registration
- G06T7/33—Determination of transform parameters for the alignment of images, i.e. image registration using feature-based methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20036—Morphological image processing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20081—Training; Learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20084—Artificial neural networks [ANN]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30108—Industrial image inspection
- G06T2207/30141—Printed circuit board [PCB]
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- General Engineering & Computer Science (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Biomedical Technology (AREA)
- Life Sciences & Earth Sciences (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Quality & Reliability (AREA)
- Image Analysis (AREA)
Abstract
本发明公开了一种基于MAIRNet的PCB缺陷检测与识别方法,包括:采集PCB模板图像与待检测图像,构建数据集,并且划分成测试集图像和训练集图像;检测是否存在元器件缺失的情况,最终输出缺失元器件定位信息并在待检测图像中进行标注;输出对于极性元器件的定位情况、色环电阻种类及定位信息和焊点缺陷类别及定位信息;输出裁剪后的PCB极性元器件待检测图像与模板图像,构建一种PCB元器件极性判别方法,输出元器件极性接插情况;对获取的信息进行汇总显示。本发明能够检测识别出PCB表面常见的元器件缺失、元器件极性接插错误、焊点缺陷等问题,输出缺陷区域的位置信息、类别信息,并能够对色环电阻类别进行检测与识别,与人工检测的方式相比具有显著优势。
Description
技术领域
本发明涉及机器视觉及深度学习的技术领域,具体涉及一种基于MAIRNet的PCB缺陷检测与识别方法。
背景技术
随着机器视觉及人工智能技术的飞速发展,深度学习、神经网络等技术逐渐应用到了工业化检测的过程当中。PCB具备高密度化、重量轻、集成度高等特点,这也使得PCB缺陷检测过程面临着目标元器件多样化、检测对象尺寸小,难以识别的问题。
当前PCB检测的主要方式主要分为人工目测、接触性检测及非接触性检测三类。人工目测存在着效率低下的问题,接触性检测又极易损伤PCB表面元器件,随着图像处理技术及视觉传感器的发展,基于视觉的PCB检测逐渐应用到实际生产当中,但目前常用的视觉检测方式无法同时识别检测多种元器件,仍需要相对复杂的人工操作过程,具有局限性。
基于传统图像处理技术的检测与识别方法不需要复杂昂贵的硬件,但具有一定局限性,对于目标种类众多的PCB复杂背景检测与识别精度较低,无法准确判别元器件类型与缺陷种类。当前基于深度学习的目标检测与识别技术没有针对PCB缺陷搭建的特定神经网络模型,针对PCB常见的各类缺陷,如:焊点连焊及虚焊、元器件缺失以及极性接反等问题的检测与识别技术相对还不够成熟,难以对PCB存在的多类缺陷进行针对性的检测与识别,同时深度神经网络由于网络结构复杂、层数加深,导致模型复杂,占用计算资源增加,难以移植到嵌入式开发板上应用到工业生产检测中。
所以,需要一个新的技术方案来解决这些问题。
发明内容
发明目的:为了克服现有技术中存在的不足,提供一种基于MAIRNet的PCB缺陷检测与识别方法,使用基于深度学***,具有重要的实际应用价值。
技术方案:为实现上述目的,本发明提供一种基于MAIRNet的PCB缺陷检测与识别方法,包括如下步骤:
S1:分别采集PCB正反两面的模板图像与待检测图像,构建数据集,并且划分成测试集图像和训练集图像,对训练集图像进行元器件类别以及缺陷情况的标注,生成对应的标签文件;
S2:将训练集中的待检测图像和模板图像全部输入到元器件存在性检测模块,检测是否存在元器件缺失的情况,最终输出缺失元器件定位信息并在待检测图像中进行标注;
S3:将测试集中的PCB图像输入搭建和训练好的基于MAIRNet的PCB缺陷检测与识别模型进行检测和识别操作,输出对于极性元器件的定位情况、色环电阻种类及定位信息和焊点缺陷类别及定位信息;
S4:利用步骤S3中输出的极性元器件定位情况对待检测图像与模板图像进行裁剪筛选,输出裁剪后的PCB极性元器件待检测图像与模板图像,构建一种PCB元器件极性判别方法,利用元器件存在性检测模块进行操作,通过对极性元器件存在区域进行分割,单独对待检测图像与模板图像的极性元器件区域进行对比,将对比情况输入到极性检测模块中进行判别,最终输出元器件极性接插情况;
S5:对获取的缺失元器件定位信息与PCB图像上的标注情况、元器件极性接插情况、色环电阻种类及定位信息、焊点缺陷类别及定位信息进行汇总显示。
进一步地,所述步骤S2中元器件存在性检测模块的检测方法为:
D1:对输入的待检测图像进行预处理,使用ORB特征对待检测图像与原始图像进行图像配准操作,确保待检测图像与模板图像包含的相关特征尽可能位置相近;
D2:对于图像配准后的待检测图像与模板图像进行图像灰度化操作,生成待检测灰度图与模板灰度图;
D3:对于待检测灰度图与模板灰度图进行图像差分;
D4:对于步骤D3中得到的差分灰度图进行图像二值化处理,得到差分二值图,并进行图像形态学处理,采用腐蚀膨胀操作进一步减少PCB背景环境对元器件缺失区域定位带来的噪声及影响;
D5:对于步骤D4中进行图像形态学处理后的差分二值图进行像素筛选,筛选出图像中的最大连通区域;
D6:对于步骤D5中筛选出的最大连通区域进行矩形框标注,并将标注元器件缺失区域的矩形框映射到输入的待检测图像中,进而输出缺失元器件定位信息并实现标注。
进一步地,所述步骤S3中基于MAIRNet的PCB缺陷检测与识别模型的搭建方法包括如下步骤:
A1:构建基于MAIRNet用于提取训练集中PCB图像的特征,输出多种不同尺度的特征图,MAIRNet是一种多维注意力机制逆残差网络(Multidimensional Attention InverseResidual Network);
A2:对多种不同尺度的特征图进行PCB元器件目标检测与识别,目标所处的边界框bounding box位置信息目标对应的类别信息,类别信息包含目标元器件的具体类别以及缺陷情况。
进一步地,所述步骤A1具体包括如下步骤:
B1:MAIRNet由逆残差网络、多维注意力模块所组成,并且在网络搭建过程中使用了多尺度特征融合机制;
B2:在逆残差网络的基础上增加了一种多维注意力模块,使用多维注意力模块对于逆残差网络中的每一个逆残差模块进行优化,得到多维注意力模块优化的逆残差模块;
B3:按照多尺度特征融合机制搭建MAIRNet。
进一步地,所述步骤A2具体包括如下步骤:
C1:将经过多维注意力增强神经网络输出的5层特征图输入到PCB元器件目标检测与识别模块中分别进行极性元器件定位、色环电阻识别、焊点检测三类操作,每一类操作中5层特征图均通过了4组卷积神经网络;每组卷积神经网络包含卷积核为3×3、步长为1的卷积,群组归一化操作,最终使用ReLU激活函数进行激活;
C2:每一类操作中,对通过4组卷积神经网络卷积输出的特征图进行边界框回归,确定元器件目标所在区域,使用广义交并比函数GIoU(Generalized Intersection overUnion)作为边界框回归损失函数;
C3:每一类操作中,对通过4组卷积神经网络卷积输出的特征图进行分类,确定元器件目标的种类及缺陷类别,使用焦点损失函数FocalLoss作为分类损失函数。
进一步地,所述步骤C2中广义交并比函数GIoU的具体计算过程为:
LGIoU=1-GIoU (1)
式中,A表示预测边界框,B表示真实边界框,C表示预测边界框和真实边界框的最小闭包矩形区域,LGIoU表示边界框回归损失函数,IoU表示预测边界框与真实边界框之间的交并比函数,GIoU表示预测边界框与真实边界框之间的广义交并比函数。
进一步地,所述步骤C3中焦点损失函数FocalLoss的具体计算过程为:
FL(p,y)=-y(1-p)γlog(p)-(1-y)pγlog(1-p) (4)
式中,p表示预测为某一类别标签的预测值,在0到1之间,y表示实际的类别标签,为0或是1,γ表示人为设定的常数。
进一步地,所述步骤S4中PCB元器件极性判别方法包括如下步骤:
E1:对输入的PCB极性元器件待检测图像进行预处理,使用ORB特征对待检测图像与原始图像进行图像配准操作,确保PCB极性元器件待检测图像与PCB极性元器件模板图像包含的相关特征尽可能位置相近;
E2:对于图像配准后得到的PCB极性元器件待检测图像与PCB极性元器件模板图像进行图像灰度化操作,生成PCB极性元器件待检测灰度图与PCB极性元器件模板灰度图;
E3:对于PCB极性元器件待检测灰度图与PCB极性元器件模板灰度图进行图像差分;
E4:对于步骤E3中得到的PCB极性元器件差分灰度图进行图像二值化处理,得到PCB极性元器件差分二值图,并进行图像形态学处理,采用腐蚀膨胀操作进一步较少PCB背景环境对极性元器件差异区域的定位带来的噪声及影响;
E5:对于步骤E4中进行图像形态学处理后的差分二值图进行像素筛选,筛选出PCB极性元器件差分二值图中的最大连通区域;
E6:将步骤E5中筛选出的最大连通区域输入到极性检测模块中进行进一步判别,设定阈值St,若最大连通区域大于设定阈值St则说明可能存在极性错误的情况,若最大连通区域不超过设定阈值St则说明极性正确。
进一步地,所述步骤B1中MAIRNet的主体是一个由17个逆残差模块构建的逆残差网络,每一个逆残差模块首端为1×1卷积,1×1卷积用于扩张特征矩阵通道,丰富特征数量,逆残差模块中间部分由卷积核为3×3的深度卷积组成,用于生成与输入特征矩阵通道数一致的特征矩阵,从而减少参数量以及运算成本,最终使用ReLU6激活函数增强网络的表达能力;
所述步骤B2中多维注意力模块的具体操作为:通过每一个逆残差模块的特征矩阵被分为两个通道进行平均池化操作,平均池化后的两个通道的特征矩阵分别进行连接及1×1卷积,使用Batch Norm归一化操作,并通过Swish激活函数进行激活,将激活后的特征矩阵再次分解为两个通道的特征矩阵,对两个通道的特征矩阵分别使用1×1卷积和Sigmoid激活函数进行激活,得到的两个通道的特征矩阵与逆残差模块输出的原始特征矩阵进行合并,从而得到多维注意力增强的特征图,增强后的特征图能够更加有效地表达原始图像中的信息;
所述步骤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’。
进一步地,所述步骤S5中通过搭建用户软件***界面进行汇总显示。
有益效果:本发明与现有技术相比,具备如下优点:
1、本发明采集工业生产中PCB图像,对待检测图像与模板图像进行标注,构建数据集,通过工业摄像头采集图像,配置完成软件运行环境即可进行检测与识别,无需价格高昂的检测设备与夹具,同时避免了接触性检测对PCB元器件带来的损伤,成本较低,所需人工辅助工作更少,实现方式快捷便利,易于操作。
2、本发明采用了一种基于多维注意力增强的神经网络进行检测,对于焊点等小目标存在的缺陷有较好的检测识别效果。
3、本发明能够一次性检测及识别出多类常见PCB缺陷,无需复杂人工操作和多次检测,同时构建了交互界面输出缺陷检测识别结果,具有识别精度高、检测速度快、操作简便、显示结果直观的优势。
附图说明
图1是本发明方法的流程框图;
图2是本发明中基于MAIRNet的PCB缺陷检测与识别模型结构图;
图3是本发明使用的多维注意力模块优化的逆残差模块结构图;
图4是广义交并比函数GIoU的原理图;
图5是基于MAIRNet对PCB常见缺陷的检测与识别结果图;
图6是本发明中元器件存在性检测模块输出的元器件缺失情况检测图;
图7是本发明中极性检测模块输出的元器件极性判别情况结果图;
图8是本发明搭建的用户软件***界面示意图。
具体实施方式
下面结合附图和具体实施例,进一步阐明本发明,应理解这些实施例仅用于说明本发明而不用于限制本发明的范围,在阅读了本发明之后,本领域技术人员对本发明的各种等价形式的修改均落于本申请所附权利要求所限定的范围。
本发明提供一种基于多维注意力增强神经网络(MAIRNet)的PCB缺陷检测与识别方法,如图1所示,其包括如下步骤:
S1:采集PCB正反两面的待检测图像以及模板图像,其中待检测图像存在元器件缺失、元器件极性接插错误、色环电阻接错、焊点缺陷的情况。按照3:7的比例划分测试集图像和训练集图像,对训练集图像进行元器件类别以及缺陷情况的标注,生成对应的标签文件;
S2:搭建基于MAIRNet的PCB缺陷检测与识别模型;
S3:将训练集中的待检测图像与模板图像全部输入到元器件存在性检测模块,检测是否存在元器件缺失的情况,最终输出缺失元器件定位信息并在待检测图像中进行标注。
S4:将测试集中的PCB图像输入训练好的基于MAIRNet的PCB缺陷检测与识别模型进行检测和识别操作,输出对于极性元器件的定位情况、色环电阻种类及定位信息和焊点缺陷类别及定位信息;
S5:利用步骤S4中输出的极性元器件定位情况对待检测图像与模板图像进行裁剪筛选,输出裁剪后的PCB极性元器待检测图像与模板图像。构建一种PCB元器件极性判别方法,利用S3中的元器件存在性检测模块中进行操作,通过对极性元器件存在区域进行分割,单独对待检测图像与模板图像的极性元器件区域进行对比,将对比情况输入到极性检测模块中进行判别,最终输出元器件极性接插情况;
S6:搭建用户软件***界面,将步骤S3中输出的缺失元器件定位信息与PCB图像上的标注情况、元器件极性接插情况、色环电阻种类及定位信息、焊点缺陷类别及定位信息汇总显示在用户软件***界面当中。
本实施例中步骤S2的具体过程如下:
A1:构建基于MAIRNet用于提取训练集中PCB图像的特征,输出多种不同尺度的特征图,MAIRNet是一种多维注意力机制逆残差网络(Multidimensional Attention InverseResidual Network);
A2:对多种不同尺度的特征图进行PCB元器件目标检测与识别,目标所处的边界框bounding box位置信息目标对应的类别信息,类别信息包含目标元器件的具体类别以及缺陷情况;具体结构如图2所示;
本实施例中步骤A1的具体过程如下:
B1:MAIRNet由:逆残差网络、多维注意力模块所组成,并且在网络搭建过程中使用了多尺度特征融合机制。其中MAIRNet的主体是一个由17个逆残差模块构建的逆残差网络,每一个逆残差模块首端为1×1卷积,1×1卷积用于扩张特征矩阵通道,丰富特征数量,逆残差模块中间部分由卷积核为3×3的深度卷积组成,用于生成与输入特征矩阵通道数一致的特征矩阵,从而减少参数量以及运算成本,最终使用ReLU6激活函数增强网络的表达能力;
B2:在逆残差网络的基础上增加了一种多维注意力模块,使用多维注意力模块对于逆残差网络中的每一个逆残差模块进行优化,得到多维注意力模块优化的逆残差模块。多维注意力模块的具体操作如下所示:通过每一个逆残差模块的特征矩阵被分为两个通道进行平均池化操作,平均池化后的两个通道的特征矩阵分别进行连接及1×1卷积,使用Batch Norm归一化操作,并通过Swish激活函数进行激活,将激活后的特征矩阵再次分解为两个通道的特征矩阵,对两个通道的特征矩阵分别使用1×1卷积和Sigmoid激活函数进行激活,得到的两个通道的特征矩阵与逆残差模块输出的原始特征矩阵进行合并,从而得到多维注意力增强的特征图,增强后的特征图能够更加有效地表达原始图像中的信息;多维注意力模块优化的逆残差模块具体结构如图3所示;
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'。
本实施例中步骤A2的具体过程如下:
C1:将经过多维注意力增强神经网络输出的5层特征图输入到PCB元器件目标检测与识别模块中分别进行极性元器件定位、色环电阻识别、焊点检测三类操作,每一类操作中5层特征图均通过了4组卷积神经网络。每组卷积神经网络包含卷积核为3×3、步长为1的卷积,群组归一化操作,最终使用ReLU激活函数进行激活;
C2:每一类操作中,对通过4组卷积神经网络卷积输出的特征图进行边界框回归,确定元器件目标所在区域,使用广义交并比函数GIoU(Generalized Intersection overUnion)作为边界框回归损失函数;
C3:每一类操作中,对通过4组卷积神经网络卷积输出的特征图进行分类,确定元器件目标的种类及缺陷类别,使用焦点损失函数Focal Loss作为分类损失函数。
这里需要说明的是,步骤C2中GIoU函数的原理图如图4所示,具体可见:
LGIoU=1-GIoU (1)
式中,A表示预测边界框,B表示真实边界框,C表示预测边界框和真实边界框的最小闭包矩形区域,LGIoU表示边界框回归损失函数,IoU表示预测边界框与真实边界框之间的交并比函数,GIoU表示预测边界框与真实边界框之间的广义交并比函数。
这里需要说明的是,步骤C3中焦点损失函数FocalLoss的计算过程具体如下:
FL(p,y)=-y(1-p)γlog(p)-(1-y)pγlog(1-p) (4)
式中,p表示预测为某一类别标签的预测值,在0到1之间,y表示实际的类别标签,为0或是1,γ表示人为设定的常数。
本实施例中步骤S3的具体过程如下:
D1:对输入的待检测图像进行预处理,使用ORB特征对待检测图像与原始图像进行图像配准操作,确保待检测图像与模板图像包含的相关特征尽可能位置相近;
D2:对于图像配准后的待检测图像与模板图像进行图像灰度化操作,生成待检测灰度图与模板灰度图;
D3:对于待检测灰度图与模板灰度图进行图像差分;
D4:对于步骤D3中得到的差分灰度图进行图像二值化处理,得到差分二值图,并进行图像形态学处理,采用腐蚀膨胀操作进一步较少PCB背景环境对元器件缺失区域定位带来的噪声及影响;
D5:对于步骤D4中进行图像形态学处理后的差分二值图进行像素筛选,筛选出图像中的最大连通区域;
D6:对于步骤D5中筛选出的最大连通区域进行矩形框标注,并将标注元器件缺失区域的矩形框映射到输入的待检测图像中,进而输出缺失元器件定位信息并实现标注。
本实施例中步骤S5的具体过程如下:
E1:对输入的PCB极性元器件待检测图像进行预处理,使用ORB特征对待检测图像与原始图像进行图像配准操作,确保PCB极性元器件待检测图像与PCB极性元器件模板图像包含的相关特征尽可能位置相近;
E2:对于图像配准后得到的PCB极性元器件待检测图像与PCB极性元器件模板图像进行图像灰度化操作,生成PCB极性元器件待检测灰度图与PCB极性元器件模板灰度图;
E3:对于PCB极性元器件待检测灰度图与PCB极性元器件模板灰度图进行图像差分;
E4:对于步骤F3中得到的PCB极性元器件差分灰度图进行图像二值化处理,得到PCB极性元器件差分二值图,并进行图像形态学处理,采用腐蚀膨胀操作进一步较少PCB背景环境对极性元器件差异区域的定位带来的噪声及影响;
E5:对于步骤F4中进行图像形态学处理后的差分二值图进行像素筛选,筛选出PCB极性元器件差分二值图中的最大连通区域;
E6:将步骤F5中筛选出的最大连通区域输入到极性检测模块中进行进一步判别,设定阈值St,若最大连通区域大于设定阈值St则说明可能存在极性错误的情况,若最大连通区域不超过设定阈值St则说明极性正确。
本实施例中为了验证本发明方法的实际效果,对本发明方法进行了实际的检测应用,其中基于MAIRNet的PCB缺陷检测与识别模型对于电阻与焊点的实际检测与识别情况分别如图5(a)、(b)所示,可见,图5(a)、(b)能够清楚、高效的识别出电阻目标的类别与焊点存在缺陷的区域;元器件存在性检测模块对于常见元器件检测的结果如图6所示,可见,元器件存在性检测模块能够对于缺失元器件的区域进行精确的定位;对于极性元器件接插情况的判别结果如图7所示,最终在用户软件***界面输出判别结果,可见,极性检测模块能够完成对于常见极性元器件接插情况的判别,图5、图6、图7的检测与识别结果验证了本发明方法的实际效果,用户软件***界面如图8所示。
可见本发明能够检测识别出PCB表面常见的元器件缺失、元器件极性接插错误、焊点缺陷等问题,输出缺陷区域的位置信息、类别信息,并能够对色环电阻类别进行检测与识别,检测精度高达95%,单张图像平均检测与识别速度不超过2秒,与人工检测的方式相比具有显著优势。
Claims (10)
1.一种基于MAIRNet的PCB缺陷检测与识别方法,其特征在于,包括如下步骤:
S1:分别采集PCB正反两面的模板图像与待检测图像,构建数据集,并且划分成测试集图像和训练集图像,对训练集图像进行元器件类别以及缺陷情况的标注,生成对应的标签文件;
S2:将训练集中的待检测图像和模板图像全部输入到元器件存在性检测模块,检测是否存在元器件缺失的情况,最终输出缺失元器件定位信息并在待检测图像中进行标注;
S3:将测试集中的PCB图像输入搭建和训练好的基于MAIRNet的PCB缺陷检测与识别模型进行检测和识别操作,输出对于极性元器件的定位情况、色环电阻种类及定位信息和焊点缺陷类别及定位信息;
S4:利用步骤S3中输出的极性元器件定位情况对待检测图像与模板图像进行裁剪筛选,输出裁剪后的PCB极性元器件待检测图像与模板图像,构建一种PCB元器件极性判别方法,利用元器件存在性检测模块进行操作,通过对极性元器件存在区域进行分割,单独对待检测图像与模板图像的极性元器件区域进行对比,将对比情况输入到极性检测模块中进行判别,最终输出元器件极性接插情况;
S5:对获取的缺失元器件定位信息与PCB图像上的标注情况、元器件极性接插情况、色环电阻种类及定位信息、焊点缺陷类别及定位信息进行汇总显示。
2.根据权利要求1所述的一种基于MAIRNet的PCB缺陷检测与识别方法,其特征在于,所述步骤S2中元器件存在性检测模块的检测方法为:
D1:对输入的待检测图像进行预处理,使用ORB特征对待检测图像与原始图像进行图像配准操作;
D2:对于图像配准后的待检测图像与模板图像进行图像灰度化操作,生成待检测灰度图与模板灰度图;
D3:对于待检测灰度图与模板灰度图进行图像差分;
D4:对于步骤D3中得到的差分灰度图进行图像二值化处理,得到差分二值图,并进行图像形态学处理,采用腐蚀膨胀操作进一步减少PCB背景环境对元器件缺失区域定位带来的噪声及影响;
D5:对于步骤D4中进行图像形态学处理后的差分二值图进行像素筛选,筛选出图像中的最大连通区域;
D6:对于步骤D5中筛选出的最大连通区域进行矩形框标注,并将标注元器件缺失区域的矩形框映射到输入的待检测图像中,进而输出缺失元器件定位信息并实现标注。
3.根据权利要求1所述的一种基于MAIRNet的PCB缺陷检测与识别方法,其特征在于,所述步骤S3中基于MAIRNet的PCB缺陷检测与识别模型的搭建方法包括如下步骤:
A1:构建基于MAIRNet用于提取训练集中PCB图像的特征,输出多种不同尺度的特征图;
A2:对多种不同尺度的特征图进行PCB元器件目标检测与识别,目标所处的边界框bounding box位置信息目标对应的类别信息,类别信息包含目标元器件的具体类别以及缺陷情况。
4.根据权利要求3所述的一种基于MAIRNet的PCB缺陷检测与识别方法,其特征在于,所述步骤A1具体包括如下步骤:
B1:MAIRNet由逆残差网络、多维注意力模块所组成,并且在网络搭建过程中使用了多尺度特征融合机制;
B2:在逆残差网络的基础上增加了一种多维注意力模块,使用多维注意力模块对于逆残差网络中的每一个逆残差模块进行优化,得到多维注意力模块优化的逆残差模块;
B3:按照多尺度特征融合机制搭建MAIRNet。
5.根据权利要求3所述的一种基于MAIRNet的PCB缺陷检测与识别方法,其特征在于,所述步骤A2具体包括如下步骤:
C1:将经过多维注意力增强神经网络输出的5层特征图输入到PCB元器件目标检测与识别模块中分别进行极性元器件定位、色环电阻识别、焊点检测三类操作,每一类操作中5层特征图均通过了4组卷积神经网络;每组卷积神经网络包含卷积核为3×3、步长为1的卷积,群组归一化操作,最终使用ReLU激活函数进行激活;
C2:每一类操作中,对通过4组卷积神经网络卷积输出的特征图进行边界框回归,确定元器件目标所在区域,使用广义交并比函数GIoU作为边界框回归损失函数;
C3:每一类操作中,对通过4组卷积神经网络卷积输出的特征图进行分类,确定元器件目标的种类及缺陷类别,使用焦点损失函数Focal Loss作为分类损失函数。
7.根据权利要求5所述的一种基于MAIRNet的PCB缺陷检测与识别方法,其特征在于,所述步骤C3中焦点损失函数Focal Loss的具体计算过程为:
FL(p,y)=-y(1-p)γlog(p)-(1-y)pγlog(1-p) (4)
式中,p表示预测为某一类别标签的预测值,在0到1之间,y表示实际的类别标签,为0或是1,γ表示人为设定的常数。
8.根据权利要求1所述的一种基于MAIRNet的PCB缺陷检测与识别方法,其特征在于,所述步骤S4中PCB元器件极性判别方法包括如下步骤:
E1:对输入的PCB极性元器件待检测图像进行预处理,使用ORB特征对待检测图像与原始图像进行图像配准操作;
E2:对于图像配准后得到的PCB极性元器件待检测图像与PCB极性元器件模板图像进行图像灰度化操作,生成PCB极性元器件待检测灰度图与PCB极性元器件模板灰度图;
E3:对于PCB极性元器件待检测灰度图与PCB极性元器件模板灰度图进行图像差分;
E4:对于步骤E3中得到的PCB极性元器件差分灰度图进行图像二值化处理,得到PCB极性元器件差分二值图,并进行图像形态学处理,采用腐蚀膨胀操作进一步较少PCB背景环境对极性元器件差异区域的定位带来的噪声及影响;
E5:对于步骤E4中进行图像形态学处理后的差分二值图进行像素筛选,筛选出PCB极性元器件差分二值图中的最大连通区域;
E6:将步骤E5中筛选出的最大连通区域输入到极性检测模块中进行进一步判别,设定阈值St,若最大连通区域大于设定阈值St则说明可能存在极性错误的情况,若最大连通区域不超过设定阈值St则说明极性正确。
9.根据权利要求4所述的一种基于MAIRNet的PCB缺陷检测与识别方法,其特征在于,所述步骤B1中MAIRNet的主体是一个由17个逆残差模块构建的逆残差网络,每一个逆残差模块首端为1×1卷积,1×1卷积用于扩张特征矩阵通道,丰富特征数量,逆残差模块中间部分由卷积核为3×3的深度卷积组成,用于生成与输入特征矩阵通道数一致的特征矩阵,从而减少参数量以及运算成本,最终使用ReLU6激活函数增强网络的表达能力;
所述步骤B2中多维注意力模块的具体操作为:通过每一个逆残差模块的特征矩阵被分为两个通道进行平均池化操作,平均池化后的两个通道的特征矩阵分别进行连接及1×1卷积,使用BatchNorm归一化操作,并通过Swish激活函数进行激活,将激活后的特征矩阵再次分解为两个通道的特征矩阵,对两个通道的特征矩阵分别使用1×1卷积和Sigmoid激活函数进行激活,得到的两个通道的特征矩阵与逆残差模块输出的原始特征矩阵进行合并,从而得到多维注意力增强的特征图;
所述步骤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’。
10.根据权利要求1所述的一种基于MAIRNet的PCB缺陷检测与识别方法,其特征在于,所述步骤S5中通过搭建用户软件***界面进行汇总显示。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111318512.9A CN114429445A (zh) | 2021-11-09 | 2021-11-09 | 一种基于MAIRNet的PCB缺陷检测与识别方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111318512.9A CN114429445A (zh) | 2021-11-09 | 2021-11-09 | 一种基于MAIRNet的PCB缺陷检测与识别方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114429445A true CN114429445A (zh) | 2022-05-03 |
Family
ID=81311239
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111318512.9A Pending CN114429445A (zh) | 2021-11-09 | 2021-11-09 | 一种基于MAIRNet的PCB缺陷检测与识别方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114429445A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116703926A (zh) * | 2023-08-08 | 2023-09-05 | 苏州思谋智能科技有限公司 | 缺陷检测方法、装置、计算机设备及计算机可读存储介质 |
CN117409261A (zh) * | 2023-12-14 | 2024-01-16 | 成都数之联科技股份有限公司 | 一种基于分类模型的元件角度分类方法及*** |
-
2021
- 2021-11-09 CN CN202111318512.9A patent/CN114429445A/zh active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116703926A (zh) * | 2023-08-08 | 2023-09-05 | 苏州思谋智能科技有限公司 | 缺陷检测方法、装置、计算机设备及计算机可读存储介质 |
CN116703926B (zh) * | 2023-08-08 | 2023-11-03 | 苏州思谋智能科技有限公司 | 缺陷检测方法、装置、计算机设备及计算机可读存储介质 |
CN117409261A (zh) * | 2023-12-14 | 2024-01-16 | 成都数之联科技股份有限公司 | 一种基于分类模型的元件角度分类方法及*** |
CN117409261B (zh) * | 2023-12-14 | 2024-02-20 | 成都数之联科技股份有限公司 | 一种基于分类模型的元件角度分类方法及*** |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111179251B (zh) | 基于孪生神经网络利用模板比对的缺陷检测***及方法 | |
CN110992317B (zh) | 一种基于语义分割的pcb板缺陷检测方法 | |
CN111257341B (zh) | 基于多尺度特征与堆叠式全卷积网络的水下建筑物裂缝检测方法 | |
CN109285139A (zh) | 一种基于深度学习的x射线成像焊缝检测方法 | |
CN110070536A (zh) | 一种基于深度学习的pcb板元器件检测方法 | |
CN105574550A (zh) | 一种车辆识别方法及装置 | |
CN111667455A (zh) | 一种刷具多种缺陷的ai检测方法 | |
CN114429445A (zh) | 一种基于MAIRNet的PCB缺陷检测与识别方法 | |
CN112037219A (zh) | 一种基于两阶段卷积神经网络的金属表面缺陷检测方法 | |
CN113298757A (zh) | 一种基于u-net卷积神经网络的金属表面缺陷检测方法 | |
CN114663346A (zh) | 一种基于改进YOLOv5网络的带钢表面缺陷检测方法 | |
CN111768365A (zh) | 基于卷积神经网络多特征融合的太阳能电池缺陷检测方法 | |
CN113222913B (zh) | 一种电路板缺陷检测定位方法、装置和存储介质 | |
CN104777176A (zh) | 一种pcb板检测方法及装置 | |
WO2024002187A1 (zh) | 缺陷检测方法、缺陷检测设备及存储介质 | |
CN104200215A (zh) | 一种大口径光学元件表面灰尘与麻点识别方法 | |
CN115272204A (zh) | 一种基于机器视觉的轴承表面划痕检测方法 | |
CN111161237A (zh) | 一种果蔬表面质检方法及其储存介质、分拣装置 | |
CN115597494B (zh) | 一种基于点云的预制构件预留孔的精度检测方法、*** | |
CN111626249A (zh) | 题目图像中几何图形的识别方法、装置和计算机存储介质 | |
CN116071315A (zh) | 一种基于机器视觉的产品可视缺陷检测方法及*** | |
CN115866502A (zh) | 一种麦克风零件表面缺陷在线检测流程 | |
CN113516652A (zh) | 电池表面缺陷和粘合剂检测方法、装置、介质和电子设备 | |
Madessa et al. | Leveraging an instance segmentation method for detection of transparent materials | |
CN115995023A (zh) | 瑕疵检测方法、装置、电子设备、计算机可读存储介质及产品检测方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |