CN113724245A - 用于pcb插件焊点缺陷检测方法、系统及其存储介质 - Google Patents

用于pcb插件焊点缺陷检测方法、系统及其存储介质 Download PDF

Info

Publication number
CN113724245A
CN113724245A CN202111076187.XA CN202111076187A CN113724245A CN 113724245 A CN113724245 A CN 113724245A CN 202111076187 A CN202111076187 A CN 202111076187A CN 113724245 A CN113724245 A CN 113724245A
Authority
CN
China
Prior art keywords
training
network structure
data set
detection
yolo
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
Application number
CN202111076187.XA
Other languages
English (en)
Inventor
王政
陈文斌
李太福
毛从谱
贺红伟
刘平
黄星耀
苏远超
熊瑞
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Chongqing Hongkuang Electronic Technology Co ltd
Chongqing University of Science and Technology
Original Assignee
Chongqing Hongkuang Electronic Technology Co ltd
Chongqing University of Science and Technology
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Chongqing Hongkuang Electronic Technology Co ltd, Chongqing University of Science and Technology filed Critical Chongqing Hongkuang Electronic Technology Co ltd
Priority to CN202111076187.XA priority Critical patent/CN113724245A/zh
Publication of CN113724245A publication Critical patent/CN113724245A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/0002Inspection of images, e.g. flaw detection
    • G06T7/0004Industrial image inspection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/23Clustering techniques
    • G06F18/232Non-hierarchical techniques
    • G06F18/2321Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions
    • G06F18/23213Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions with fixed number of clusters, e.g. K-means clustering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/25Fusion techniques
    • G06F18/253Fusion techniques of extracted features
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20081Training; Learning

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • General Physics & Mathematics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Artificial Intelligence (AREA)
  • General Engineering & Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Computational Linguistics (AREA)
  • Molecular Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • General Health & Medical Sciences (AREA)
  • Evolutionary Biology (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Probability & Statistics with Applications (AREA)
  • Quality & Reliability (AREA)
  • Image Analysis (AREA)

Abstract

本发明涉及目标检测技术领域,公开了用于PCB插件焊点缺陷检测方法、系统及其存储介质,所述用于PCB插件焊点缺陷检测方法包括:采集PCB插件的焊点缺陷图片并进行处理;对先验框进行修改优化;对原始YOLO v3网络结构进行修改优化,在主干网络中增加通道注意力模块,在检测网络中添加卷积注意力模块,在输出层进行晚特征融合,并修改网络损失函数;采用开源数据集及训练数据集对改进YOLO v3网络结构进行训练,得到改进训练模型并验证。本发明的优点在于:本发明形成的模型在进行PCB插件焊点缺陷检测的时候,漏检率低,精准度更高,边框置信度更高,且检测效率也有相应提升。

Description

用于PCB插件焊点缺陷检测方法、系统及其存储介质
技术领域
本发明涉及目标检测技术领域,具体涉及一种用于PCB插件焊点缺陷检测方法、系统及其存储介质。
背景技术
随着科学技术的不断创新进步,电子产品行业高速发展,而PCB(Printed CircuitBoard)作为电子产品的核心部件,其产量与需求量也在日益增长。而电器元器件的焊接作为构成PCB的一个重要环节,焊点的好坏将直接影响PCB的生产质量,进而影响电子产品的好坏。由于现代设备越来越精密,组成电子设备的元器件越来越小,这直接导致PCB元器件在焊接过程中易出现如漏焊、拉尖、少锡、孔洞、连锡等缺陷。因此,对PCB板焊点进行缺陷检测是非常有必要的。
传统人工目测法,受人工情绪波动、视觉疲劳等因素影响较大,其检测效率较低,较难满足现代工业生产需求。基于机器视觉的缺陷检测已经成为了研究热点,相比较于传统检测方法,基于机器视觉的缺陷检测方法不仅不受人为因素影响,还较大程度地提高了检测效率。然而,尽管机器视觉在对PCB板的缺陷检测上表现出了良好的准确性,但是仍然需采用人为手工设计特征、强烈依赖特征模板、对环境光线敏感,并且输入的图片大都需要进行预处理操作,这也直接导致其存在检测精度较低、漏检误检率较高、工作效率较低等问题。
发明内容
本发明意在提供用于PCB插件焊点缺陷检测方法、系统及其存储介质,达到提高焊点缺陷检测精准度及检测效率、降低漏检率及误检率的效果。
为达到以上目的,提供如下方案:
方案一:
本发明提供的用于PCB插件焊点缺陷检测方法,包括如下步骤:
S1:采集PCB插件的焊点缺陷图片,由若干焊点缺陷图片形成缺陷数据集;
S2:对缺陷数据集进行预处理,得到预处理数据集,所述预处理数据集中包括若干预处理后的焊点缺陷图片;
S3:对预处理后的焊点缺陷图片进行标注,获得可用于训练的训练图片和与训练图片相对应的标签文件,形成训练数据集;
S4:对所有先验框进行修改优化,形成改进先验框;
S5:对原始YOLO v3网络结构进行修改,在原始YOLO v3网络结构的主干网络中添加通道注意力模块,在原始YOLO v3网络结构的检测网络中引入卷积注意力模块;原始YOLOv3网络结构的检测网络包括至少三个检测层,在最后三个检测层中进行晚特征融合;修改原始YOLO v3网络结构损失函数,得到改进YOLO v3网络结构;
S6:采用开源数据集对改进YOLO v3网络结构进行预训练,获得预训练模型;采用训练数据集对预训练模型进行修正,得到改进训练模型。
本方案的效果及优点在于:第一,直接采集图片做为数据集,相比于其他文字化、数字化的数据模式,更为准确直观,且对采集到的焊点缺陷图片进行了预处理,使得得到的数据更为精确有效。第二,对先验框进行了修改优化,一般而言,设置先验框是比较常用的数据筛选和处理手段,然而,对于先验框本身的设置都是比较常规的,大家也没有动机要去改变先验框。而本方案对先验框进行了修改优化,使得通过先验框筛选的数据能够更加符合要求,以便得到更准确的模型。
第三,对原始YOLO v3网络结构进行修改,具体为:引入通道注意力模块、卷积注意力模块,这两种模块能够使YOLO v3网络能够自动找出图片中需要注意的位置,使得YOLOv3网络重点评价需要关注的点,提升YOLO v3网络对于焊点缺陷位置的判断力及精准度;进行晚特征融合,即在原始YOLO v3网络结构中增加一次特征融合操作,对特征进行融合处理,能够简化网络复杂度,减小计算量,提升检测效率及检测性能;修改原始YOLO v3网络结构损失函数,选用运算结果更符合要求的函数,运算结果的准确度提升了,进而有助于提升检测精准度。相比于现有技术中采用的原始YOLO v3网络结构的模型,存在因图片采集数据较庞大,造成检测速度较慢,检测效率较低,产品的竞争力较低的问题,本方案对原始YOLOv3网络结构进行修改后,网络对于数据的处理速度及处理精度都提升了,能有效提高焊点缺陷检测精准度及检测效率、降低漏检率及误检率。
采用开源数据集及自主采集到的训练数据集对改进YOLO v3网络结构进行了训练,不断改进模型系数,能够优化训练模型,提高模型的泛化能力,从而得到更好的模型运行性能,从而提升检测的精度及效率。需要说明的是,本方案的训练数据集就是PCB缺陷数据集,采用PCB缺陷数据集对预训练模型进行修正,能够更加真实直观地训练出所需要的模型。综上,本方案可达到提高焊点缺陷检测精准度及检测效率、降低漏检率及误检率的效果。
进一步,在所述步骤S2中,所述预处理包括裁剪处理、缩放处理及模糊操作。
通过对图片进行裁剪,可以将采集到的焊点缺陷图片中与PCB板本体无关的内容去除,降低后续数据处理工作量,便于提升工作效率。通过对图片进行缩放及模糊处理,可以增强图片样本数据量,提高样本质量,还便于在后续形成预处理数据集时提供较多的数据量,进而形成较丰富的训练数据集,训练时有助于提高模型的泛化能力。
进一步,在所述步骤S4中,所述对所有先验框进行修改优化为:采用有序概率加权算法对采用K-means方法产生的先验框进行修改优化。
K-Means算法是一种简单的迭代型聚类算法,采用距离作为相似性指标,从而发现给定数据集中的K个类,且每个类的中心是根据类中所有数值的均值得到的,每个类的中心用聚类中心来描述。
先验框采用K-means方法产生,现有技术中常直接使用此种先验框,但是K-means方法存在一个明显缺陷:K个聚类中心位置的随机初始化,会导致聚类结果不准确,因此,会对模型精度及运行时间造成较大程度的影响。故,本方案创造性地提出了对先验框的修改优化方法,以解决上述问题,具体为:
采用有序概率加权算法对先验框进行修改优化,能够有效的解决由K-means方法带来的聚类中心位置初始化不准确的问题,修改后的先验框大小更加适合所检测的目标,能够在训练过程中降低时间复杂度,同时,在预测框调整中,能够减少预测框调整的时间,并且由于先验框的大小更贴近真实目标检测框,因此得到的模型更加准确,有利于提高模型召回率及模型平均精度。
进一步,在所述步骤S5中,所述通道注意力模块为SE模块,在添加通道注意力模块时,在原始YOLO v3网络结构的每个stage中的3x3卷积模块下,去掉原网络的Leaky ReLu函数,然后添加通道注意力模块。
在原始YOLO v3网络结构中添加通道注意力模块SE模块,可使网络自动找出图片中需要注意的位置,使得网络重点评价需要关注的点,能够提升网络对于焊点缺陷位置的判断力;并且,能够解决原始YOLO v3网络结构在卷积池化过程中特征图的不同通道所占的重要性不同带来的损失问题,在传统的卷积池化过程中,默认特征图的每个通道是同等重要的,而在实际的问题中,不同通道的重要性是有差异的,设置SE模块可减少这种差异带来的误差,提升网络对于焊点缺陷位置判断的精准度。去掉原网络的Leaky ReLu函数,然后添加通道注意力模块,不会增加网络结构的复杂度,不会对网络运行效率造成影响,同时能够提升检测的精准度。
进一步,在所述步骤S5中,所述卷积注意力模块为CBAM模块;检测网络的最后三个检测层分别为第一检测层、第二检测层和第三检测层,添加CBAM模块时,将CBAM模块添加到第一检测层和第二检测层中Concat函数和卷积模块之间,将CBAM模块添加到第三检测层的两个卷积模块之间。
在原始YOLO v3网络结构中添加卷积注意力模块CBAM模块,能够从通道和空间两个方面来推断特征图,既考虑不同通道像素的重要性,又考虑了同一通道不同位置像素的重要性,通过整合CBAM模块中通道和空间两方面,提取显著的特征图,增强了焊点检测区域的可识别度,抑制了PCB背景信息的干扰,能够有效降低原始YOLO v3网络结构的边界框的定位误差并提升检测精度。
此外,将添加位置选择为原始YOLO v3网络结构的第一检测层和第二检测层中Concat函数和卷积模块之间,将CBAM模块添加到第三检测层的两个卷积模块之间;相比于将CBAM模块添加在浅层的网络结构中,更能充分发挥模块的作用,保证其运行有效。且对于不同尺度的研究对象而言,其检测性能受到网络接受域的影响,且较大的接受域有助于区分更复杂的背景信息。因此,本方案在检测层进行特征融合后再嵌入CBAM模块,通过该模块扩大了对全局信息感知范围,进而可降低检测的漏检率,且较大的接受域使得网络对于复杂信息的处理能力增强了,进而提升了检测的精准度。
进一步,在所述步骤S5中,所述晚特征融合包括在原始YOLO v3网络结构的检测层输出前,对检测层进行池化操作。
在检测层输出前对检测层进行池化操作,对于特征数据进行特征融合处理,能够缓解卷积层对位置的过度敏感性,有利于提高预测边框置信度,提升检测性能。并且,相比于原始YOLO v3网络结构,增加了一次特征融合操作,共进行两次特征融合操作,相比于再次使用原始YOLO v3网络结构中的特征融合结构,采用池化操作能够在保证两次特征融合精确度的同时,避免增加计算量。
进一步,所述池化操作采用最大池化。
选择采用最大池化,能够减小卷积层参数误差造成估计均值的偏移误差,能更多地保留纹理信息,便于提取最明显的特征,能够提升检测的精确度。
进一步,在所述步骤S5中,对原始YOLO v3网络结构损失函数的修改为采用Giou损失函数替换掉原始YOLO v3网络结构中的Iou损失函数。
原始YOLO v3网络结构中的Iou损失函数存在两个缺点:无法优化预测框与真实框不相交的情况;无法反映预测框与真实框是如何相交的。采用Giou损失函数替换掉原始YOLO v3网络结构中的Iou损失函数后能解决上述缺点,并更好地反映预测框与真实框的重合度,边框置信度更高,有助于提高检测的精准度,降低漏检率。
方案二:
本发明还提供一种用于PCB插件焊点缺陷检测系统,包括:数据采集单元、数据处理单元、模型改进单元及模型训练单元;
所述数据采集单元,用于采集PCB插件的焊点缺陷图片,由若干焊点缺陷图片形成缺陷数据集,并传输给数据处理单元;
所述数据处理单元,用于对缺陷数据集进行预处理得到预处理数据集,并对预处理数据集中的预处理焊点缺陷图片进行标注形成训练数据集;
所述模型改进单元,用于修改优化先验框,并对原始YOLO v3网络结构进行修改,包括在其主干网络中添加通道注意力模块,在其检测网络中引入卷积注意力模块,在其检测层的最后三层进行晚特征融合,并修改原始YOLO v3网络结构损失函数,得到改进YOLOv3网络结构;
所述模型训练单元,用于采用开源数据集及训练数据集训练改进YOLO v3网络结构,得到改进训练模型。
本方案的效果及优点在于:设置了数据处理单元,对采集到的数据进行预处理和标注处理,可降低后续数据处理工作量,便于提升工作效率。设置了模型改进单元及模型训练单元,对先验框进行修改优化,使之能够提供更精确更丰富的数据,便于提升焊点缺陷检测的精确度并降低漏检率。并对原始YOLO v3网络结构进行修改优化,优化了其对数据特征的处理模式,提升网络对于焊点缺陷位置的判断力、精准度及检测效率。然后对改进YOLOv3网络结构进行训练,得到优化的改进训练模型,这样设置,能够不断优化模型系数,得到具备更优运行性能的改进训练模型。故,本方案提供的系统能够有效提高焊点缺陷检测精准度及检测效率、降低漏检率及误检率。
方案三:
本发明还提供一种存储介质,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如方案一中所述的方法。
本方案的优点在于:使得方案一中的用于PCB插件焊点缺陷检测方法可被实体处理器执行,便于在实际场合中应用。
附图说明
图1为本发明用于PCB插件焊点缺陷检测方法、系统及其存储介质实施例一的原始YOLO v3网络结构的示意性框图。
图2为本发明用于PCB插件焊点缺陷检测方法、系统及其存储介质实施例一的改进YOLO v3网络结构的示意性框图。
图3为本发明用于PCB插件焊点缺陷检测方法、系统及其存储介质实施例二提供的用于PCB插件焊点缺陷检测系统的示意性框图。
具体实施方式
下面通过具体实施方式进一步详细的说明:
说明书附图中的标记包括:用于PCB插件焊点缺陷检测系统10、数据采集单元11、数据处理单元12、模型改进单元13、模型训练单元14、模型验证单元15。
实施例一:
基本如附图1、2所示:
首先,本实施例用于PCB插件焊点缺陷检测方法、系统及其存储介质,提供了用于PCB插件焊点缺陷检测方法,包括以下步骤:
步骤1:采集常见的PCB插件焊点缺陷图片,所述缺陷包括漏焊、拉尖、连锡、孔洞和少锡。同时,在数据采集过程中,为提高图片数据的多样性同时增加数据量,同一个PCB板拍两张图片,并在拍第二张图片时改变PCB板位置以及调整补光方向。然后将采集到的若干PCB插件的焊点缺陷图片作为缺陷数据集。
步骤2:对缺陷数据集进行预处理,所述预处理主要是对获取的焊点缺陷照片进行裁剪,将除PCB板以外的背景去除掉,同时对裁剪好的焊点缺陷图片做以下操作,以增强样本数据量:(1)采用opencv对焊点缺陷图片的长宽进行缩放,缩放比例为0.1和0.2;(2)采用高斯模糊函数对焊点缺陷图片进行模糊操作,高斯模糊因子设定为7和11。经过上述步骤可得到若干预处理焊点缺陷图片,这些预处理焊点缺陷图片可形成预处理数据集。
步骤3:对预处理焊点缺陷图片进行标注,获得可用于训练的训练图片和与训练图片相对应的标签文件,形成训练数据集。本实施例中,采用labImage对插件缺陷进行标注,标注名称分别为:孔洞(kongdong)、连锡(lianxi)、少锡(shaoxi)、拉尖(lajian)和漏焊(louhan)。标注好的预处理焊点缺陷图片成为训练图片,每一张训练图片对应一个标签文件,训练图片与标签文件分开存放,二者共同形成训练数据集。并将训练数据集按9:1进行划分,以便在后续步骤中,将训练数据集中占比多的一部分用作预训练模型的训练,占比少的一部分用作改进训练模型的测试。
步骤4:对所有先验框进行修改优化,形成改进先验框。具体地,对所有先验框进行修改优化后,从中选取最优解作为改进先验框,包括以下步骤:
(1)首先采用了K-means方法利用标签文件产生n组先验框。
本实施例中,选择产生10组先验框,即n=10;每组先验框包含了9个长和宽的数值,表示为[x1,x2...x9],[y1,y2...y9];
(2)对每组中的长和宽按从大到小进行单独排序:
[x1,x2...x9]=[x1,x2...x9].sort(reverse=True)
[y1,y2...y9]=[y1,y2...y9].sort(reverse=True)
(3)在第二步的基础上对n组数据中处于相同位置的数据按由小到大进行排序,形成矩阵,本实施例中
Figure BDA0003262341380000071
(4)利用加权算法确定步骤(3)中每个数据的权重;
具体地,权重的计算步骤如下:
规定权重:w=(w1,w2,...wn)满足正态分布规律;
Figure BDA0003262341380000081
其中,un表示序号1....n的平均数,δn表示的是1....n的标准差(其中n表示的是利用K-means实验的次数)。
Figure BDA0003262341380000082
Figure BDA0003262341380000083
同时,为了保证wi∈[0,1],且
Figure BDA0003262341380000084
即权重表达式为:
Figure BDA0003262341380000085
(5)利用步骤(4)产生的权重对步骤(3)的数据进行聚合,即:
Figure BDA0003262341380000086
Figure BDA0003262341380000087
综上,步骤(3)至(5)成为OWA(Ordered weighted aggregation)有序概率加权算法。采用上述方法得到的改进先验框,能够有效的解决先验框中由K-means方法带来的聚类中心位置初始化不准确的问题,改进先验框大小更加适合所检测的目标,得到的模型更加准确,有利于提高模型召回率及模型平均精度。
步骤5:对原始YOLO v3网络结构进行修改,在原始YOLO v3网络结构的主干网络中添加通道注意力模块,在原始YOLO v3网络结构的检测网络中引入卷积注意力模块;原始YOLO v3网络结构的检测网络包括至少三个检测层,在最后三个检测层中进行晚特征融合;修改原始YOLO v3网络结构损失函数,得到改进YOLO v3网络结构,如附图2所示。
具体地,在原始YOLO v3网络结构的主干网络中添加的通道注意力模块为SE模块。SE模块主要包含了Squeeze(压缩)和Excitation(激励)两个操作。Squeeze操作可对网络上一层输入的特征信息进行压缩,将特征图聚合成维度为WxH的特征图,并以此作为特征描述器,然后对特征图进行平均池化操作,压缩特征;Excitation操作包含一个缩放参数,可通过减少通道个数从而降低计算量。故,SE模块可以对特征进行处理,能够解决原始YOLO v3网络结构在卷积池化过程中特征图的不同通道所占的重要性不同带来的误差,并降低计算量,提升检测精准度和效率。
SE模块的添加位置即在每个stage中的3x3卷积模块下,去掉原网络的Leaky ReLu函数,然后添加SE模块。这样设置,不会增加网络结构的复杂度,不会对网络运行效率造成影响,同时能够提升检测的精准度。
另,本实施例中,原始YOLO v3网络结构的主干网络包括5个stage(阶段),每个stage图片的尺寸减小一半,并且每个stage都使用相同的卷积块,分别是1x1和3x3的卷积块;每个stage使用残差的次数分别是1,2,8,8,4。
在原始YOLO v3网络结构的检测网络中添加的卷积注意力模块为CBAM模块。CBAM模块由通道注意力和空间注意力两部分构成,可从通道和空间两个维度来推断特征图,然后将获得的特征图和输入的特征图进行点乘得到自适应特征图,既考虑不同通道像素的重要性,又考虑了同一通道不同位置像素的重要性,能够有效降低原始YOLO v3网络结构的边界框的定位误差并提升检测精度。
原始YOLO v3网络结构共有三个检测层,CBAM模块的添加位置即第一检测层和第二检测层中Concat函数和卷积模块之间,将CBAM模块添加到第三检测层的两个卷积模块之间,本实施例中,添加位置具体为:在特征图为13x13的检查网络处,直接添加在输出层前;对于特征图为26x26和特征图为52x52的检查网络,添加在特征融合后,即Concat函数后。这样设置,能充分发挥模块的作用,保证其运行有效,提升检测精度。
在原始YOLO v3网络结构的检测层的最后三层进行了晚特征融合。相比于原始YOLO v3网络结构,增加了一次特征融合操作,共进行两次特征融合操作,可提升特征融合精确度。具体地,原始YOLO v3网络结构的检测层输出大小分别是13x13,26x26,52x52。在检测层输出前,对52x52检测层进行池化操作,操作后得到的特征图与26x26检测层采用Concat函数进行特征融合操作,同理,对26x26检测层进行池化操作,操作后得到的特征图与13x13检测层采用Concat函数进行特征融合操作。
进一步,上述步骤中的池化操作采用最大池化(Maxpool),步长设定为2,没有边缘填充。此处选择采用最大池化,能够减小卷积层参数误差造成估计均值的偏移误差,能更多地保留纹理信息,便于提取最明显的特征,能够提升检测的精确度。
对原始YOLO v3网络结构损失函数的修改为采用Giou损失函数替换掉原始YOLOv3网络结构中的Iou损失函数。Giou损失函数是对Iou损失函数的优化,能够更好地反映预测框与真实框的重合度,边框置信度更高,有助于提高检测的精准度,降低漏检率。
另,本实施例中所述的Giou损失函数和Iou损失函数均为常用的目标检测中的回归损失函数,故不做赘述。
步骤6:采用开源数据集对改进YOLO v3网络结构进行预训练,获得预训练模型;采用训练数据集对预训练模型进行修改,得到改进训练模型。本实施例中,训练采用200个epoch,采用coco大型数据集进行预训练,训练完成后保留预训练模型。然后,利用步骤3中形成的训练数据集中占比为9的那部分数据进行训练,这个训练包括两个阶段,第一阶段,加入coco预训练模型进行参数的微调,并冻结改进YOLO v3网络结构主干网络中前两个卷积层;第二阶段,从第一阶段恢复训练权重,并且恢复之前冻结的卷积层。其中,第一阶段采用50epoch,第二阶段采用50epoch,一共采用100个epoch。采用上述步骤,有助于提高训练模型深度学习的精度,并且有助于提高训练模型的识别精度。并且,对模型参数采用微调,可以省去大量计算资源和计算时间,提高了计算效率。
另,本实施例中所述epoch(时期),指当一个完整的数据集通过了网络一次并且返回了一次,这个过程称为一次epoch,也就是说,所有训练样本在网络中都进行了一次正向传播和一次反向传播。即,一个epoch就是将所有训练样本训练一次的过程。
本实施例提供的用于PCB插件焊点缺陷检测方法,能够使本方法形成的模型在进行PCB插件焊点缺陷检测的时候,漏检率低,精准度更高,边框置信度更高,且工作效率也有相应提升。
其次,本实施例还提供了用于PCB插件焊点缺陷检测系统,以执行本实施提供的一种用于PCB插件焊点缺陷检测方法。该用于PCB插件焊点缺陷检测系统10包括数据采集单元11、数据处理单元12、模型改进单元13、模型训练单元14。具体地:
数据采集单元11,用于采集PCB插件的焊点缺陷图片,由若干焊点缺陷图片形成缺陷数据集,并传输给数据处理单元12;
数据处理单元12,用于对缺陷数据集进行预处理得到预处理数据集,并对预处理数据集中的预处理焊点缺陷图片进行标注形成训练数据集;
模型改进单元13,用于修改优化先验框,并对原始YOLO v3网络结构进行修改,包括在其主干网络中添加通道注意力模块,在其检测网络中引入卷积注意力模块,在其检测层的最后三层进行晚特征融合,并修改原始YOLO v3网络结构损失函数,得到改进YOLO v3网络结构;
模型训练单元14,用于采用开源数据集及训练数据集训练改进YOLO v3网络结构,得到改进训练模型。
最后,本实施例还提供了一种存储介质,存储介质中存储有计算机程序,所述计算机程序被处理器执行时实现用于PCB插件焊点缺陷检测方法。所述存储介质可以为U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random AccessMemory)、磁碟或者光盘等各种可以存储程序代码的介质。
实施例二:
首先,本实施例用于PCB插件焊点缺陷检测方法、系统及其存储介质,提供了用于PCB插件焊点缺陷检测方法,在实施例一所述方法的步骤后,增加:
步骤7:对改进训练模型的精度以及准确度进行验证。采用训练数据集中占比为1的训练数据验证改进训练模型的精度及准确度,能够进一步测试并证明改进训练模型的优化程度。
其次,如附图3所示,本实施例还提供了用于PCB插件焊点缺陷检测系统,以执行本实施提供的一种用于PCB插件焊点缺陷检测方法。该用于PCB插件焊点缺陷检测系统10包括数据采集单元11、数据处理单元12、模型改进单元13、模型训练单元14、模型验证单元15。即,在实施例一的基础上增设了模型验证单元15。
具体地,模型验证单元15,对改进训练模型的精度以及准确度进行验证,当精度及准确度达到预设要求后,当前改进训练模型即成为检测模型。
最后,本实施例还提供了一种存储介质,存储介质中存储有计算机程序,所述计算机程序被处理器执行时实现用于PCB插件焊点缺陷检测方法。所述存储介质可以为U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random AccessMemory)、磁碟或者光盘等各种可以存储程序代码的介质。
本实施例提供的用于PCB插件焊点缺陷检测方法及系统,相比于实施例一,分别增设了验证步骤及模型验证单元15,对改进训练模型的精度以及准确度进行验证,能够确保得到检测性能相对最优的模型。
此外,在本发明所提供的实施例中,应该理解到,上述用于PCB插件焊点缺陷检测方法和系统,可以通过其它的方式实现。例如,以上所描述的系统实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。
以上所述的仅是本发明的实施例,方案中公知的具体结构及特性等常识在此未作过多描述,所属领域普通技术人员知晓申请日或者优先权日之前发明所属技术领域所有的普通技术知识,能够获知该领域中所有的现有技术,并且具有应用该日期之前常规实验手段的能力,所属领域普通技术人员可以在本申请给出的启示下,结合自身能力完善并实施本方案,一些典型的公知结构或者公知方法不应当成为所属领域普通技术人员实施本申请的障碍。应当指出,对于本领域的技术人员来说,在不脱离本发明结构的前提下,还可以作出若干变形和改进,这些也应该视为本发明的保护范围,这些都不会影响本发明实施的效果和专利的实用性。本申请要求的保护范围应当以其权利要求的内容为准,说明书中的具体实施方式等记载可以用于解释权利要求的内容。

Claims (10)

1.用于PCB插件焊点缺陷检测方法,其特征在于,包括如下步骤:
S1:采集PCB插件的焊点缺陷图片,由若干焊点缺陷图片形成缺陷数据集;
S2:对缺陷数据集进行预处理,得到预处理数据集,所述预处理数据集中包括若干预处理后的焊点缺陷图片;
S3:对预处理后的焊点缺陷图片进行标注,获得可用于训练的训练图片和与训练图片相对应的标签文件,形成训练数据集;
S4:对所有先验框进行修改优化,形成改进先验框;
S5:对原始YOLO v3网络结构进行修改,在原始YOLO v3网络结构的主干网络中添加通道注意力模块,在原始YOLO v3网络结构的检测网络中引入卷积注意力模块;原始YOLO v3网络结构的检测网络包括至少三个检测层,在最后三个检测层中进行晚特征融合;修改原始YOLO v3网络结构损失函数,得到改进YOLO v3网络结构;
S6:采用开源数据集对改进YOLO v3网络结构进行预训练,获得预训练模型;采用训练数据集对预训练模型进行修正,得到改进训练模型。
2.根据权利要求1所述的用于PCB插件焊点缺陷检测方法,其特征在于,在所述步骤S2中,所述预处理包括裁剪处理、缩放处理及模糊操作。
3.根据权利要求1所述的用于PCB插件焊点缺陷检测方法,其特征在于,在所述步骤S4中,所述对所有先验框进行修改优化为:采用有序概率加权算法对采用K-means方法产生的先验框进行修改优化。
4.根据权利要求1所述的用于PCB插件焊点缺陷检测方法,其特征在于,在所述步骤S5中,所述通道注意力模块为SE模块,在添加通道注意力模块时,在原始YOLO v3网络结构的每个stage中的3x3卷积模块下,去掉原网络的Leaky ReLu函数,然后添加通道注意力模块。
5.根据权利要求1所述的用于PCB插件焊点缺陷检测方法,其特征在于,在所述步骤S5中,所述卷积注意力模块为CBAM模块;检测网络的最后三个检测层分别为第一检测层、第二检测层和第三检测层,添加CBAM模块时,将CBAM模块添加到第一检测层和第二检测层中Concat函数和卷积模块之间,将CBAM模块添加到第三检测层的两个卷积模块之间。
6.根据权利要求1所述的用于PCB插件焊点缺陷检测方法,其特征在于,在所述步骤S5中,所述晚特征融合包括在原始YOLO v3网络结构的检测层输出前,对检测层进行池化操作。
7.根据权利要求6所述的用于PCB插件焊点缺陷检测方法,其特征在于,所述池化操作采用最大池化。
8.根据权利要求1所述的用于PCB插件焊点缺陷检测方法,其特征在于,在所述步骤S5中,对原始YOLO v3网络结构损失函数的修改为采用Giou损失函数替换掉原始YOLO v3网络结构中的Iou损失函数。
9.用于PCB插件焊点缺陷检测系统,其特征在于,包括:数据采集单元、数据处理单元、模型改进单元及模型训练单元;
所述数据采集单元,用于采集PCB插件的焊点缺陷图片,由若干焊点缺陷图片形成缺陷数据集,并传输给数据处理单元;
所述数据处理单元,用于对缺陷数据集进行预处理得到预处理数据集,并对预处理数据集中的预处理焊点缺陷图片进行标注形成训练数据集;
所述模型改进单元,用于修改优化先验框,并对原始YOLO v3网络结构进行修改,包括在其主干网络中添加通道注意力模块,在其检测网络中引入卷积注意力模块,在其检测层的最后三层进行晚特征融合,并修改原始YOLO v3网络结构损失函数,得到改进YOLO v3网络结构;
所述模型训练单元,用于采用开源数据集及训练数据集训练改进YOLO v3网络结构,得到改进训练模型。
10.一种存储介质,所述存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1-8中任一项所述的用于PCB插件焊点缺陷检测方法。
CN202111076187.XA 2021-09-14 2021-09-14 用于pcb插件焊点缺陷检测方法、系统及其存储介质 Pending CN113724245A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111076187.XA CN113724245A (zh) 2021-09-14 2021-09-14 用于pcb插件焊点缺陷检测方法、系统及其存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111076187.XA CN113724245A (zh) 2021-09-14 2021-09-14 用于pcb插件焊点缺陷检测方法、系统及其存储介质

Publications (1)

Publication Number Publication Date
CN113724245A true CN113724245A (zh) 2021-11-30

Family

ID=78683674

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111076187.XA Pending CN113724245A (zh) 2021-09-14 2021-09-14 用于pcb插件焊点缺陷检测方法、系统及其存储介质

Country Status (1)

Country Link
CN (1) CN113724245A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114943683A (zh) * 2022-03-23 2022-08-26 燕山大学 一种基于改进的YOLOv5s的塑料表面缺陷检测方法
CN115331384A (zh) * 2022-08-22 2022-11-11 重庆科技学院 基于边缘计算的作业平台火灾事故预警系统

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114943683A (zh) * 2022-03-23 2022-08-26 燕山大学 一种基于改进的YOLOv5s的塑料表面缺陷检测方法
CN115331384A (zh) * 2022-08-22 2022-11-11 重庆科技学院 基于边缘计算的作业平台火灾事故预警系统

Similar Documents

Publication Publication Date Title
Adibhatla et al. Applying deep learning to defect detection in printed circuit boards via a newest model of you-only-look-once
KR20200057618A (ko) 불균형 예측을 위한 전경-배경-인식 앳로우즈 다중스케일 네트워크
CN109190752A (zh) 基于深度学习的全局特征和局部特征的图像语义分割方法
CN111932511B (zh) 一种基于深度学习的电子元器件质量检测方法与系统
CN113724245A (zh) 用于pcb插件焊点缺陷检测方法、系统及其存储介质
CN111798447B (zh) 一种基于Faster RCNN的深度学习塑化材料缺陷检测方法
CN109284779A (zh) 基于深度全卷积网络的物体检测方法
CN112700442A (zh) 基于Faster R-CNN的模切机工件缺陷检测方法和系统
CN112365514A (zh) 基于改进PSPNet的语义分割方法
CN112819748B (zh) 一种带钢表面缺陷识别模型的训练方法及装置
CN111583180B (zh) 一种图像的篡改识别方法、装置、计算机设备及存储介质
CN112215217B (zh) 模拟医师阅片的数字图像识别方法及装置
CN113222913B (zh) 一种电路板缺陷检测定位方法、装置和存储介质
CN113781510B (zh) 边缘检测方法、装置及电子设备
CN105184225A (zh) 一种多国纸币图像识别方法和装置
CN109816634B (zh) 检测方法、模型训练方法、装置及设备
CN115409797A (zh) 一种基于改进深度学习算法的pcb缺陷图像检测方法
CN113034528A (zh) 基于影像组学的靶区及危及器官勾画轮廓准确性检验方法
CN114612802A (zh) 基于mbcnn的舰船目标细粒度分类系统及方法
CN116311462A (zh) 一种结合上下文信息和vgg19的人脸图像修复识别方法
Luo et al. A lightweight detector based on attention mechanism for fabric defect detection
CN114240822A (zh) 基于YOLOv3及多尺度特征融合的棉布瑕疵检测方法
CN111062338B (zh) 一种证照人像一致性比对方法及其系统
CN114494891B (zh) 一种基于多尺度并行检测的危险品识别装置和方法
MAHURKAR et al. Novel Outline Tracing Techniques for Leaf Species Identification from Shrouded Leaves

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