CN116934696A - 一种基于YOLOv7-Tiny模型改进的工业PCB缺陷检测方法及其装置 - Google Patents

一种基于YOLOv7-Tiny模型改进的工业PCB缺陷检测方法及其装置 Download PDF

Info

Publication number
CN116934696A
CN116934696A CN202310853551.1A CN202310853551A CN116934696A CN 116934696 A CN116934696 A CN 116934696A CN 202310853551 A CN202310853551 A CN 202310853551A CN 116934696 A CN116934696 A CN 116934696A
Authority
CN
China
Prior art keywords
model
module
yolov7
tiny
feature
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
CN202310853551.1A
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.)
East China Jiaotong University
Original Assignee
East China Jiaotong University
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 East China Jiaotong University filed Critical East China Jiaotong University
Priority to CN202310853551.1A priority Critical patent/CN116934696A/zh
Publication of CN116934696A publication Critical patent/CN116934696A/zh
Pending legal-status Critical Current

Links

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
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/0464Convolutional networks [CNN, ConvNet]
    • 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/048Activation functions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/44Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components
    • G06V10/443Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components by matching or filtering
    • G06V10/449Biologically inspired filters, e.g. difference of Gaussians [DoG] or Gabor filters
    • G06V10/451Biologically inspired filters, e.g. difference of Gaussians [DoG] or Gabor filters with interaction between the filter responses, e.g. cortical complex cells
    • G06V10/454Integrating the filters into a hierarchical structure, e.g. convolutional neural networks [CNN]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/52Scale-space analysis, e.g. wavelet analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/764Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
    • G06V10/765Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects using rules for classification or partitioning the feature space
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/77Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
    • G06V10/80Fusion, i.e. combining data from various sources at the sensor level, preprocessing level, feature extraction level or classification level
    • G06V10/806Fusion, i.e. combining data from various sources at the sensor level, preprocessing level, feature extraction level or classification level of extracted features
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/82Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30108Industrial image inspection
    • G06T2207/30141Printed circuit board [PCB]
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/30Computing systems specially adapted for manufacturing

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Multimedia (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Biomedical Technology (AREA)
  • Medical Informatics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Databases & Information Systems (AREA)
  • Molecular Biology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Quality & Reliability (AREA)
  • Biodiversity & Conservation Biology (AREA)
  • Image Analysis (AREA)

Abstract

本发明提出了一种基于YOLOv7‑Tiny模型改进的工业PCB缺陷检测方法及其装置,包括:采集并获取待检测的PCB图片,形成数据集;对原始YOLOv7‑Tiny模型进行修改,包括在原始YOLOv7‑Tiny模型的主干特征提取网络中引入注意力机制模块,在原始YOLOv7‑Tiny模型的颈部Neck模块和检测头部Head模块之间添加ASFF模块,得到改进YOLOv7‑Tiny模型网络;采用训练数据集对模型进行训练,得到改进训练模型;利用得到的改进训练模型对工业PCB进行缺陷检测。在原有网络结构中引入SE注意力机制,有效减少不重要、冗余因素的干扰,对重要的缺陷目标给与更高的权重,提升了模型网络获取重要特征的能力;通过在Neck模块与Head模块之间通过添加ASFF模块,自适应的学习多尺度特征与映射融合的空间权重,充分实现了模型的多尺度特征融合。

Description

一种基于YOLOv7-Tiny模型改进的工业PCB缺陷检测方法及其 装置
技术领域
本发明属于技术领域,具体涉及一种基于YOLOv7-Tiny模型改进的工业PCB缺陷检测方法及其装置。
背景技术
印刷电路板(Printed Circuit Board,PCB)是电子元器件的重要组成部分,近年来随着应用产品的升级与需求量的增加,PCB在现代工业中也越来越重要,从而对PCB的成品质量有了更高的要求,一旦PCB质量出现问题,可能对应用产品产生不可忽视的缺陷。
但是由于存在生产工艺缺陷的限制,PCB成品难免会存在缺陷,这些缺陷可能会导致应用产品无法使用,也可能导致产生潜在的危害,其主要缺陷包括:开路(open)、短路(short)、鼠咬(mousebite)、缺口(pin-hole)、毛刺(spur)、余铜(copper)等。PCB缺陷检测技术可以筛选出存在缺陷的PCB,进而提高PCB成品整体的质量。因此,使用一个精度与速度兼顾的PCB缺陷检测方法是重要的。
PCB缺陷存在着以下特点:1)PCB线路存在众多类型导致缺陷辨别困难;2)PCB缺陷区域与背景辨别度低,缺陷区域面积小;3)不同缺陷类型之间相似度高导致难以辨别。传统的PCB缺陷检测方法为人工目视法,线上测试法、功能测试法。然而这些方法多存在人力成本投入大、检测效率较低、检测难度较高、错检与漏检概率大等缺点,难以满足现代工业的发展与PCB种类与缺陷类型的多样性,具有较大局限性。
基于机器视觉的自动光学检测系统(Automated Optical Inspection,AOI)近年来逐渐被广泛应用,基于深度学习的PCB缺陷检测在效率与准确率等方面在实践中往往有着更优秀的表现。使用深度学习进行缺陷检测主要有包括检测和识别两个阶段的双阶段目标检测模型(如R-CNN,Mask R-CNN,Fast R-CNN,Faster R-CNN等)。使用深度学习进行缺陷检测还包括只需一次提取特征的单阶段目标方法(如SSD、YOLO系列方法等)。
有鉴于此,提出一种基于YOLOv7-Tiny模型改进的工业PCB缺陷检测方法及其装置是非常具有意义的。
发明内容
为了解决现有在PCB缺陷检测过程中存在的准确率不足、缺陷目标尺寸小、检测成本高等问题,本发明提供一种基于YOLOv7-Tiny模型改进的工业PCB缺陷检测方法及其装置,以解决上述存在的技术缺陷问题。
第一方面,本发明提出了一种基于YOLOv7-Tiny模型改进的工业PCB缺陷检测方法,该方法包括如下步骤:
采集并获取待检测的PCB图片,形成数据集;
对原始YOLOv7-Tiny模型进行修改,包括在原始YOLOv7-Tiny模型的主干特征提取网络中引入注意力机制模块,在原始YOLOv7-Tiny模型的颈部Neck模块和检测头部Head模块之间添加ASFF模块,得到改进YOLOv7-Tiny模型网络;
将获取的所述数据集按比例8:1:1分为训练集、验证集以及测试集,采用训练数据集对模型进行训练,得到改进训练模型;
利用得到的改进训练模型对工业PCB进行缺陷检测。
优选的,在原始YOLOv7-Tiny模型的主干特征提取网络中引入注意力机制模块包括:
在原始YOLOv7-tiny模型中使用两个concat模块分别对第一层特征图和第二层特征图、第二层特征图和第三层特征图进行融合,在两个所述concat模块前进行引入SE注意力机制。
进一步优选的,SE注意力机制具体分为压缩与激励两个模块:
压缩模块负责对全局空间信息通过全局平均池化的方式将维度为H×W×C的原特征图顺空间维度压缩为为维度1×1×C的特征向量;
激励模块先通过两个全连接层W1与W2对向量z进行处理,得到通道权重值s,s表示不同通道的权重信息,其中,第一层使用ReLU激活函数,第二层使用Sigmoid激活函数:
最后再将生成的通道权重值s对特征图赋予权重,其尺寸大小与特征图U完全一样。
进一步优选的,SE注意力机制相关计算公式如下:
s=Fex(z,W)=σ(g(z,W))=σ(W2δ(W1z))
其中,zc表示特征层C个特征图的数值分布情况;Fsq表示压缩操作,全局平均池化将H*W*C的输入,变成1*1*C的输出;uc表示一个二维矩阵;W,H,C分别表示特征图的不同维度;s表示用于刻画特征图权重信息;Fex表示激励操作;W1与W2表示两个全连接层;z表示1×1×C特征向量;σ表示relu激活函数、δ表示sigmoid激活函数;Fscale表示赋予权重的操作;表示特征图;sc表示一个数即权重。
进一步优选的,在原始YOLOv7-Tiny模型的主干特征提取网络中引入注意力机制模块还包括:
在Backbone模块和Neck模块间和在主干特征提取的Neck模块中的三个特征层后引入CMBA注意力机制或ECA注意力机制。
进一步优选的,在原始YOLOv7-Tiny模型的颈部Neck模块和检测头部Head模块之间添加ASFF模块具体包括:
先通过Neck模块获得三种不同尺寸类型的特征图,第一层特征图使用卷积的方法得到与第三层特征图具有相同数量的通道与纬度;
第二层特征图采用下采样与卷积的方式使得通道数与纬度与第三层特征图相同;
再将X1→3、X2→3、X3→3分别乘以对应的权重再求和以得到融合完成的特征图。
进一步优选的,相关计算公式如下:
其中,表示融合后得到特征图,/>是通过调整后的特征图经1×1卷积得到的权重;/>表示从n层到l层的特征图;/> 表示不同层的权重系数且其范围为[0,1],其中使用concat拼接后通过softmax函数处理使各层权重之和为1。
第二方面,本发明实施例还提供一种工业PCB缺陷检测装置,该装置包括:
数据采集模块,用于采集并获取待检测的PCB图片,形成数据集;
模型修改模块,用于对原始YOLOv7-Tiny模型进行修改,包括在原始YOLOv7-Tiny模型的主干特征提取网络中引入注意力机制模块,在原始YOLOv7-Tiny模型的颈部Neck模块和检测头部Head模块之间添加ASFF模块,得到改进YOLOv7-Tiny模型网络;
训练模块,用于将获取的所述数据集按比例8:1:1分为训练集、验证集以及测试集,采用训练数据集对模型进行训练,得到改进训练模型;
检测模块,用于利用得到的改进训练模型对工业PCB进行缺陷检测。
与现有技术相比,本发明的有益成果在于:
(1)本发明的技术方案提出一种基于YOLOv7-Tiny的PCB缺陷检测模型,在原有网络结构中引入SE注意力机制,有效减少不重要、冗余因素的干扰,对重要的缺陷目标给与更高的权重,提升了模型网络获取重要特征的能力;通过在Neck模块与Head模块之间通过添加ASFF模块,自适应的学习多尺度特征与映射融合的空间权重,充分实现了模型的多尺度特征融合。经过实验的验证,在设置loU阈值为0.7的情况下,本文改进模型精度达到94.26%,召回率达到90.04%,mAP达到94.03%,mMR-2为0.1067,在检测速度上。
(2)本发明的技术方案提出一种应用于PCB缺陷检测,基于YOLOv7-Tiny模型的改进模型,通过引入SE注意力机制,减少冗余信息,给与重要特征更高的权重以达到突出重要模型在检测中的作用,解决信息的过载,提升模型网络获取重要特征的能力;通过在在Neck模块与Head模块之间添加ASFF模块,通过自适应学习多尺度特征与映射融合的空间权重的方式,对不同的特征在每个空间位置上调整了权重参数,使不同特征图维度与通道数相同,充分实现模型多尺度特征融合,对不同尺度的目标得到更好PCB缺陷检测效果。
(3)通过引入注意力机制和添加ASFF模块的改进模型针对PCB缺陷检测存在的特征缺陷尺度小等问题,提升了缺陷检测过程中的精度,展现了注意力机制和ASFF模块的有效性。较于原模型具有一定的优势,能够满足PCB缺陷检测的实际要求。
(4)通过使用公开PCB数据集对文中模型进行对比与验证。进行不同改进方案的对比实验与不同模型的对比实验,将不同改进方案和不同类型的检测模型进行对比,更直观的展现出文中模型相比于其他改进的方案与其他类型检测模型有着准确率高、误检率低、召回率高等方面优点。
附图说明
包括附图以提供对实施例的进一步理解并且附图被并入本说明书中并且构成本说明书的一部分。附图图示了实施例并且与描述一起用于解释本发明的原理。将容易认识到其它实施例和实施例的很多预期优点,因为通过引用以下详细描述,它们变得被更好地理解。附图的元件不一定是相互按照比例的。同样的附图标记指代对应的类似部件。
图1为本发明的实施例的基于YOLOv7-Tiny模型改进的工业PCB缺陷检测方法的流程示意图;
图2为本发明的实施例的基于YOLOv7-Tiny模型改进的工业PCB缺陷检测方法中YOLOv7-Tiny模型网络结构图;
图3为本发明的实施例的基于YOLOv7-Tiny模型改进的工业PCB缺陷检测方法中在原始YOLOv7-tiny模型的基础上的改进图;
图4为本发明的实施例的基于YOLOv7-Tiny模型改进的工业PCB缺陷检测方法中SE注意力机制具体模块结构图;
图5为本发明的实施例的基于YOLOv7-Tiny模型改进的工业PCB缺陷检测方法中引入SE注意力机制的位置示意图;
图6为本发明的实施例的基于YOLOv7-Tiny模型改进的工业PCB缺陷检测方法中ASFF模块添加示意图;
图7为本发明的实施例的基于YOLOv7-Tiny模型改进的工业PCB缺陷检测方法中基于YOLOv7-Tiny改进模型网络结构图;
图8为本发明的实施例的基于YOLOv7-Tiny模型改进的工业PCB缺陷检测方法中YOLOv7-Tiny原模型的CAM可视化热力图;
图9为本发明的实施例的基于YOLOv7-Tiny模型改进的工业PCB缺陷检测方法中改进模型的CAM可视化热力图;
图10中A、B分别为本发明的实施例的基于YOLOv7-Tiny模型改进的工业PCB缺陷检测方法中文中模型与YOLOv7-Tiny原模型的检测图;
图11为本发明的实施例的工业PCB缺陷检测装置的结构示意图。
具体实施方式
在以下详细描述中,参考附图,该附图形成详细描述的一部分,并且通过其中可实践本发明的说明性具体实施例来示出。对此,参考描述的图的取向来使用方向术语,例如“顶”、“底”、“左”、“右”、“上”、“下”等。因为实施例的部件可被定位于若干不同取向中,为了图示的目的使用方向术语并且方向术语绝非限制。应当理解的是,可以利用其他实施例或可以做出逻辑改变,而不背离本发明的范围。因此以下详细描述不应当在限制的意义上被采用,并且本发明的范围由所附权利要求来限定。
传统的PCB缺陷检测方法为人工目视法,线上测试法、功能测试法。这些方法多存在人力成本投入大、检测效率较低、检测难度较高、错检与漏检概率大等缺点,难以满足现代工业的发展与PCB种类与缺陷类型的多样性,具有较大局限性。针对在PCB检测领域存在的缺陷尺度小,且检测成本高的问题,本发明提出了一种基于改进YOLOv7-Tiny算法的PCB缺陷检测方法,通过引入SE注意力机制,减少冗余信息,解决信息的过载,提升模型网络获取重要特征的能力;通过在在Neck模块与Head模块之间添加ASFF模块,通过自适应学习多尺度特征与映射融合的空间权重的方式,对不同的特征在每个空间位置上调整了权重参数,使不同特征图维度与通道数相同,充分实现模型多尺度特征融合,增强模型对PCB缺陷检测的效果,对不同尺度的目标得到更好PCB缺陷检测效果。
图1示出了本发明的实施例公开了一种基于YOLOv7-Tiny模型改进的工业PCB缺陷检测方法,如图1所示,该方法包括如下步骤:
S1、采集并获取待检测的PCB图片,形成数据集;
S2、对原始YOLOv7-Tiny模型进行修改,包括在原始YOLOv7-Tiny模型的主干特征提取网络中引入注意力机制模块,在原始YOLOv7-Tiny模型的颈部Neck模块和检测头部Head模块之间添加ASFF模块,得到改进YOLOv7-Tiny模型网络;
S3、将获取的所述数据集按比例8:1:1分为训练集、验证集以及测试集,采用训练数据集对模型进行训练,得到改进训练模型;
S4、利用得到的改进训练模型对工业PCB进行缺陷检测。
具体的,下面对本发明的技术方案做出详细阐述:
YOLO系列模型为单阶段(One-Stage)目标检测模型的典型代表,从YOLOv1发展到YOLOv7-Tiny的过程中速度与精度均具有提升。YOLOv7-Tiny模型网络由四部分模块组成:输入(Input)、基础骨干网络(Backbone)、颈部(Neck)和检测头部(Head)。在Input模块将待检测的数据集图像进行输入;Backbone模块用于YOLOv7-Tiny的主干特征提取,提取到的特征用于作为特征的集合;Neck模块为FPN(Feature Pyramid Netwoks)特征金字塔网络,用于进对特征进行融合,YOLOv7-Tiny在Neck模块中也沿用了PAnet(Path Aggregationnetwork)结构,缩短了底层与顶层之间的信息路径;Head模块接受从Neck模块输入的三种特征图,通过特征图对先验框的特征进行推理、预测、输出。YOLOv7-Tiny模型网络结构图如图2所示。
具体来说,Backbone模块中:BCB模块使用Conv函数、BN和SiLu激活函数,作用是提取图像特征,是YOLOv7-Tiny模型里基本的卷积模块(Basic Conv Block)ELAN模块使用expand、shuffle、merge cardinality提升网络的学习能力;
Neck模块中:SPPCSPC模块通过空间金字塔池化使网络能更适应不同的对象,cat模块用于融合提取到的不同层次的图像特征信息,MP模块能够有效缩小特征图的尺寸,减少计算量的同时能做到加快模型速度;
Head模块中:Rep模块和Detect模块用于检测推理图像特征从而输出,在Rep模块用到了重参数化卷积的方法。
检测过程为先由Input模块输入图像,经过数据处理后进入Backbone模块提取不同图像的特征,再由Neck模块对识别的不同尺寸的特征结合上采样与下采样的方式进行融合处理,后被送入Head模块输出结果。
YOLOv7-Tiny模型相比于先前的YOLO系列模型,使用了多分枝堆叠结构对检测目标进行特征提取,使用最大池化操作与步长2×2的特征进行下采样。在SPPCSPC中引入了CSP结构,相比先前YOLO系列模型每一个先验框负责一个真实框,在YOLOv7-Tiny网络中,每一个真实框不再与一个先验框一一对应,而是可以由多个先验框负责预测的操作。
YOLOv7-Tiny从模型结构,卷积方法与辅助头检测和标签分配等方面均有创新之处。由于ELAN中的计算块和梯度路径长度已达到稳定状态且不宜再进行无限制的堆叠,在YOLOv7-Tiny网络中运用了更高效的网络架构ELAN*。其为拓展的高效层聚合网络(Extended efficient layer aggregation networks),使用群卷积拓展了通道与通道数,在不破坏原始的梯度路径下增加了网络学习的学习能力,能够更有效的利用图像。
YOLOv7-Tiny网络使用模型重参数化方法对网络模型进行加速,在训练阶段将模块拆分为多个模块分支,使得训练信息能够更多被网络学习利用从而增加训练的效率,在推理阶段再将多个计算块合并。
YOLOv7-Tiny网络的Head部分中,用于输出的头部为引导头(Lead head)、用于辅助训练的头部为辅助头(Axu head),Lead head与Axu head作用分别为获取网络的深层信息和浅层信息。与先前的标签分配策略不同,先前通常使用真实标签生成硬标签。在YOLOv7-Tiny中综合预测结果与真实标签,使用Lead head预测作为引导生成软标签,分配从粗到细的标签用于学习,使其成为比独立标签分配策略更佳的策略。其中,为了避免丢失重要特征,粗标签通过降低对正样本分配的约束而产生。在Lead head检测头引导Aux head检测头的过程中,能够通过检测正确的正样本解决正样本差问题,改善了整体性能。
下面以输入一张640×640×3的图片为例,经过四层BCB模块与ELAN模块后特征图尺寸变为160×160×256,再经过一层MP模块和ELAN模块得到尺寸为80×80×512的图像作为主干特征输出的第一层,在此基础上再经过一层MP模块和ELAN模块得到40×40×1024大小的图像作为主干特征输出的第二层,在此基础上经过一层MP模块和ELAN模块得到20×20×1024大小的图像作为主干特征输出的第三层,再经过SPPCSPC模块增大感受野,由此得到了三层特征图。分别在每层特征图后均引入SE注意力机制。在YOLOv7-tiny模型中使用concat模块对第一层特征图和第二层特征图、第二层特征图与第三层特征图进行融合,在这两个concat模块前进行引入SE注意力机制。三层特征图经过Neck模块处理后,尺寸大小分别为80×80×128、40×40×256、20×20×512。在Neck尾部输出的这三层特征图后分别引入ASFF模块进行多尺度特征的融合。最后经过Head得到的特征图大小分别为80×80×255、40×40×255、20×20×255。在原始YOLOv7-tiny模型的基础上的改进图如图3所示。
进一步的,注意力机制(Attention Mechanism)被广泛运用于机器学习中的数据处理。主要的注意力机制主要有SE注意力机制、CBMA注意力机制、ECA注意力机制等。类似于人类的注意力机制,神经网络的注意力机制可以对需要关注的目标对象得到更多的注意力资源,而对于更不重要的各种信息减少注意力资源。注意力机制一般在语义分割与图像描述生成方面广泛使用。使用加权的方式,给予不同特征图中重要的信息更高的权重,从而在众多信息中做到解决信息过载问题,提高处理信息的能力。注意力机制能够提升检测关键的PCB缺陷特征的速度与精度,从而做到更高效的对PCB缺陷的检测。
在本实施例中,通过引入SE注意力机制(Squeeze and Excitation),聚焦关键信息而降低对不重要信息的注意力,使改进后的模型更有效的处理PCB缺陷检测中的重要信息,增加检测的精度。SE(Squeeze and Excitation)注意力机制对于检测重要信息程度不同的情况,使用一组权重表示每个特征的重要程度,再对特征重新根据权重大小排列。
SE注意力机制具体分为压缩与激励两个模块,压缩(Squeeze)模块负责对全局空间信息通过全局平均池化的方式将维度为H×W×C的原特征图顺空间维度压缩为维度1×1×C的特征向量。激励(Excitation)模块先通过两个全连接层W1与W2对向量z进行处理,得到通道权重值s,s表示不同通道的权重信息,其中,第一层使用ReLU激活函数,第二层使用Sigmoid激活函数。最后再将生成的通道权重值s对特征图赋予权重,其尺寸大小与特征图U完全一样。压缩与激励的计算公式可用公式表示。SE注意力机制具体模块结构如图4所示。
SE注意力机制相关计算公式如下:
s=Fex(z,W)=σ(g(z,W))=σ(W2δ(W1z))
其中,zc表示该层C个特征图的数值分布情况;Fsq表示压缩操作,全局平均池化将H*W*C的输入,变成1*1*C的输出;uc表示一个二维矩阵;W,H,C分别表示特征图的不同维度;s表示用于刻画特征图权重信息;Fex表示激励操作;W1与W2表示两个全连接层;z表示1×1×C特征向量;σ表示relu激活函数、δ表示sigmoid激活函数;Fscale表示赋予权重的操作;表示特征图;sc表示一个数即权重。
在YOLOv7-Tiny网络模型中,在Neck模块中对提取到的特征进行深度的特征融合。在发明中同时在主干特征提取网络Backbone三个输出特征层与输入到Neck层之间引入SE注意力机制。引入SE注意力机制的位置如图5所示。
进一步的,作为本发明改进模型的备选方案,本文还考虑了在Backbone模块和Neck模块间和在主干特征提取的Neck模块中的三个特征层后引入CMBA(ConvolutionalBlock Attention Module)注意力机制或ECA(Efficient Channel Attention)注意力机制。
CBMA注意力机制为混合注意力机制的代表,CBMA注意力机制由通道注意力模块CAM和空间注意力模块组合而成。CAM模块对特征图进行全局池化与平均池化,随后送入多层感知机制中进行学习,再通过Sigmoid函数得到最终的结果,SAM对输入的特征图同样的进行全局池化与平均池化,按照通道进行拼接与卷积,通过激活函数得到结果。
ECA注意力机制为通道注意力的一种,先对特征图通过池化操作进行压缩,随后使用1*1卷积得到维度仍然为1*1*C的特征图,去除了全连接层,随后逐通道相乘得到加权后的特征图。
进一步的,特征金字塔通过构造不同大小的特征图进行模型训练,兼顾浅层与深层特征,FPN(Feature Pyramid Netwoks)通过对多尺度特征的融合,能够提升模型对于不同尺寸目标的鲁棒性,但是无法有效充分利用多尺度的特征。因此在Neck模块与Head模块之间通过添加ASFF模块,自适应的学习多尺度特征与映射融合的空间权重,对不同的特征在每个空间位置上调整了权重参数,使不同特征图维度与通道数相同,充分实现了模型的多尺度特征融合,对不同尺度的目标得到更好的缺陷检测效果。ASFF模块添加示意图如图6所示。
具体过程为:先通过Neck模块获得三种不同尺寸类型的特征图,第一层特征图使用卷积的方法得到与第三层特征图具有相同数量的通道与纬度,对于第二层特征图,采用下采样与卷积的方式使得通道数与纬度与第三层特征图相同,再将X1→3、X2→3、X3→3分别乘以对应的权重再求和以得到融合完成的特征图[12]。权重是通过调整后的特征图经1×1卷积得到的,且其范围为[0,1],使用concat拼接后通过softmax函数处理使各层权重之和为1。具体的过程可用公式表示:
其中,表示融合后得到特征图,/>是通过调整后的特征图经1×1卷积得到的权重;/>表示从n层到l层的特征图;/> 表示不同层的权重系数且其范围为[0,1],其中使用concat拼接后通过softmax函数处理使各层权重之和为1。
最后经过Head模块推理、预测、输出得到的特征图大小分别为80×80×255、40×40×255、20×20×255。
本发明基于YOLOv7-Tiny改进模型网络结构图如图7所示。
具体的,在本实施例中,数据集包含六种PCB缺陷类型,分别为开路(open)、短路(short)、鼠咬(mousebite)、毛刺(spur)、缺口(pin_hole)、余铜(spurious copper)。每幅图像约有3~12个缺陷,其中1215张图像用于训练,135张图像用于验证,150张图像用于测试。
在训练图像中将608张图像利用Mosaic策略进行数据增强,对原始图像以随机裁剪、随机缩放、随机排布的方式进行拼接,再对Mosaic数据增强后的304张图像进行mixup数据增强,在每次训练中随机选择两张Mosaic数据增强后的图像,并以一定比例混合生成新的图像。各类缺陷类型与分布如表1所示。
表1各类缺陷类型与缺陷数量
根据改进的YOLOv7-tiny模型,利用迁移学习的思想对改进的模型进行训练。
实验环境:实验环境配置如表2所示:
参数设置:实验参数设置如表3所示:
实验结果:在相同的实验条件下,设立了6组不同条件的实验,分别是:(1)YOLOv7-Tiny原模型;(2)在Neck模块尾部输出添加ASFF模块的改进模型;(3)在三个不同尺寸的特征输出层和Neck模块中加强特征提取部分添加CBMA注意力机制和在Neck模块尾部输出添加ASFF模块的改进模型;(4)相同位置添加ECA注意力机制和在Neck模块尾部输出添加ASFF模块的改进模型;(5)文中改进模型。实验设置loU阈值为0.7,各实验方案的评价指标结果如表4所示。
表4文中模型与其他改进方案及原模型对比
通过表4对比不同的方案得出:以YOLOv7-Tiny为基准模型添加ASFF模块后,相较于原模型,mAP提升了1.45%,Precision提升了0.88%,Recall提升了0.78%,mMR-2比原模型减少了0.025,F1提升了0.0083。以YOLOv7-Tiny为基准模型,文中模型(添加SE注意力机制和ASFF模块)相较于原YOLOv7-Tiny模型,mAP提升了4.23%,Precision提升了2.13%,Recall提升了1.05%,mMR-2比原模型减少了0.065,F1提升了0.0167。由此可以看出改进的模型方案相较于其他改进方案和原模型有着更好的效果。
如下表5所示,本发明中改进模型相较于未改进模型在六个主要PCB缺陷的mAP均有提升。其中在loU阈值为0.7的条件下,短路(short)的mAP从81%提升到86%,提升幅度为8%。毛刺(spur)的mAP从81%提升到了86%,提升幅度为5%。可以看出改进模型的精确度有较显著的提升。在评价指标MR-2方面,开路(open)的MR-2从0.26降低到0.19,降低幅度为0.07。短路(short)的MR-2从0.31降低到0.24,降低幅度为0.07。毛刺(spur)的MR-2从0.19降低到0.07,降低幅度为0.12。可以看出改进模型误检率较显著降低。在召回率Recall方面,开路(open)的Recall从88.38%提升到90.77%,提升幅度为2.39%。毛刺(spur)的Recall从89.09%提升到91.39%,提升幅度为2.3%。可以看出改进模型在召回率方面有所提升。综上分析可以得出,相较于未改进的YOLOv7-Tiny模型,文中改进模型在PCB缺陷检测方面具有更高的准确率、漏检率、召回率,具有更好的效果。
进一步的,上述实验在NVIDIA GTX 1080Ti 11GB显卡、Xeon(R)E5-2650v4CPU、开发语言为Python,版本为3.8;深度学习框架为PyTorch,版本为1.8.1;使用Cuda对GPU进行加速,版本为11.1的实验环境下进行。
实验所使用的数据为公开缺陷检测数据集Deep PCB进行训练、测试、验证。该数据集包含1500张640×640大小的PCB缺陷图像与对应的缺陷标注。该数据集包含六种PCB缺陷类型,分别为开路(open)、短路(short)、鼠咬(mousebite)、毛刺(spur)、缺口(pin_hole)、余铜(spurious copper)。每幅图像约有3~12个缺陷,其中1215张图像用于训练,135张图像用于验证,150张图像用于测试。各类缺陷类型与分布如表6所示。
/>
本发明使用的目标检测模型评价指标包括平均精度(Average Precision,AP)、平均精度均值(mean Average Precision,mAP)、精度(Precision,P)、召回率(Recall,R)、F1、对数平均误检率(log average Miss Rate,MR-2)和MR-FFPI(Miss Rate Versus FalsePositives Per Image)[12]。通过对类激活图(Class Activation Map,CAM)的可视化,可以使用训练好的模型的输出结果计算出图像可视的CAM,它可以以热力图的形式对模型的关注程度进行可视化,表示了每一个位置对该图像的关注程度,有助于评价模型的性能提升。
其中,平均精度AP是反映每一类正确结果与样本数的比值,其值为Precision-Recall曲线与坐标轴的面积;平均精度均值mAP是各类正确结果与总样本数的比值的平均数,是评价模型的重要指标;精度P是检测正确结果与所有检测到的结果的比值;召回率R是检测正确结果与所有应该检测到的结果的比值;F1分数(F1 score)由于精度P和召回率R的矛盾性,是通过对P和R加权计算得出的数据可以用于综合评价模型性能,计算公式如下。
Precision=TP/(TP+FP)
Recall=TP/TP+FN
F1=2×P×R/P+R
其中P为精度,R为召回率,APi为第i个类别的平均精度,C为类别数,在混淆矩阵中:TP为预测正确的样本数,FP为预测错误的缺陷样本数,FN为预测错误的非缺陷样本数。
误检率(MR)可以通过召回率计算;通过改变检测的阈值,在对数空间绘制图像可以绘制误检率FPPI;对数平均误检率MR-2在对数坐标中,以FPPI值为横坐标,以log(MR)为纵坐标,在[0.01,1]之间随机选取9个FPPI值并且计算这九个纵坐标的平均值,是用于总结模型性能的指标。计算公式如下所示,其中N为样本数,δ(FPPI)为FPPI与log(MR)的映射关系。
MR=1-Recall
FPPI=FP/N
MR-2=∑δ(FPPI)/9
进一步的,通过使用热力图将CAM可视化,对PCB缺陷检测过程中模型对图像不同区域的关注程度使用直观的方式表达出来,有助于将改进模型相较于原模型的性能提升更加具体、显著的表示出来。YOLOv7-Tiny原模型与文中模型的CAM可视化热力图分别如图8和图9所示。
通过类激活的可视化,可以看出文中改进模型相较于YOLOv7-Tiny原模型在检测过程中对于关键的缺陷特征热力图颜色更深,说明文中改进模型网络对关键缺陷特征更能够更具关注度,相比于YOLOv7-Tiny原模型对PCB的缺陷更能精准的检测。
为了更直观评价在实践中文中改进模型相比于YOLOv7-Tiny原模型的检测效果,在测试结果中选取了两对测试图进行直观对比。通过图10显示了改进模型和原模型对于六种不同在实际PCB缺陷检测遇到的缺陷类型的检测效果。
通过图10中的A、B两部分图可以看出,对于PCB主要缺陷,YOLOv7-Tiny原模型对于PCB的检测过程中的检测置信度较低,文中改进模型检测置信度较高。对于不同的缺陷类型,改进模型能够更精准的检测出来。在检测的置信度与定位的准确度方面,相比于原模型均有提升。
针对在PCB检测领域存在的缺陷尺度小,且检测成本高的问题。本发明基于YOLOv7-Tiny从网络结构对PCB缺陷检测模型进行改进,先通过引入SE注意力机制以提升网络结构对于PCB检测中重要特征的权重,优先处理重要缺陷信息,更高效的解决信息冗余的问题。随后在Neck模块与Head模块之间添加ASFF模块,使得改进的模型网络结构能够对检测到的不同尺度PCB缺陷特征进行多尺度特征的融合,提升模型对不同尺度缺陷特征的检测效果。
通过使用公开PCB数据集对文中模型进行对比与验证。进行不同改进方案的对比实验与不同模型的对比实验,将不同改进方案和不同类型的检测模型进行对比,更直观的展现出文中模型相比于其他改进的方案与其他类型检测模型有着准确率高、误检率低、召回率高等方面优点。
第二方面,本发明实施例还公开了一种工业PCB缺陷检测装置,如图11所示,该装置包括:数据采集模块111,模型修改模块112,训练模块113以及检测模块114。
在一个具体实施例中,数据采集模块111,用于采集并获取待检测的PCB图片,形成数据集;模型修改模块112,用于对原始YOLOv7-Tiny模型进行修改,包括在原始YOLOv7-Tiny模型的主干特征提取网络中引入注意力机制模块,在原始YOLOv7-Tiny模型的颈部Neck模块和检测头部Head模块之间添加ASFF模块,得到改进YOLOv7-Tiny模型网络;训练模块113,用于将获取的所述数据集按比例8:1:1分为训练集、验证集以及测试集,采用训练数据集对模型进行训练,得到改进训练模型;检测模块114,用于利用得到的改进训练模型对工业PCB进行缺陷检测。
以上描述仅为本发明的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本发明中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本发明中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。

Claims (8)

1.一种基于YOLOv7-Tiny模型改进的工业PCB缺陷检测方法,其特征在于,该方法包括如下步骤:
采集并获取待检测的PCB图片,形成数据集;
对原始YOLOv7-Tiny模型进行修改,包括在原始YOLOv7-Tiny模型的主干特征提取网络中引入注意力机制模块,在原始YOLOv7-Tiny模型的颈部Neck模块和检测头部Head模块之间添加ASFF模块,得到改进YOLOv7-Tiny模型网络;
将获取的所述数据集按比例8:1:1分为训练集、验证集以及测试集,采用训练数据集对模型进行训练,得到改进训练模型;
利用得到的改进训练模型对工业PCB进行缺陷检测。
2.根据权利要求1所述的基于YOLOv7-Tiny模型改进的工业PCB缺陷检测方法,其特征在于,在原始YOLOv7-Tiny模型的主干特征提取网络中引入注意力机制模块包括:
在原始YOLOv7-tiny模型中使用两个concat模块分别对第一层特征图和第二层特征图、第二层特征图和第三层特征图进行融合,在两个所述concat模块前进行引入SE注意力机制。
3.根据权利要求2所述的基于YOLOv7-Tiny模型改进的工业PCB缺陷检测方法,其特征在于,SE注意力机制具体分为压缩与激励两个模块:
压缩模块负责对全局空间信息通过全局平均池化的方式将维度为H×W×C的原特征图顺空间维度压缩为为维度1×1×C的特征向量;
激励模块先通过两个全连接层W1与W2对向量z进行处理,得到通道权重值s,s表示不同通道的权重信息,其中,第一层使用ReLU激活函数,第二层使用Sigmoid激活函数;
最后再将生成的通道权重值s对特征图赋予权重,其尺寸大小与特征图U完全一样。
4.根据权利要求3所述的基于YOLOv7-Tiny模型改进的工业PCB缺陷检测方法,其特征在于,SE注意力机制相关计算公式如下:
s=Fex(z,W)=σ(g(z,W))=σ(W2δ(W1z))
其中,zc表示特征层C个特征图的数值分布情况;Fsq表示压缩操作,全局平均池化将H*W*C的输入,变成1*1*C的输出;uc表示一个二维矩阵;W,H,C分别表示特征图的不同维度;s表示用于刻画特征图权重信息;Fex表示激励操作;W1与W2表示两个全连接层;z表示1×1×C特征向量;σ表示relu激活函数、δ表示sigmoid激活函数;Fscale表示赋予权重的操作;表示特征图;sc表示一个数即权重。
5.根据权利要求4所述的基于YOLOv7-Tiny模型改进的工业PCB缺陷检测方法,其特征在于,在原始YOLOv7-Tiny模型的主干特征提取网络中引入注意力机制模块还包括:
在Backbone模块和Neck模块间和在主干特征提取的Neck模块中的三个特征层后引入CMBA注意力机制或ECA注意力机制。
6.根据权利要求5所述的基于YOLOv7-Tiny模型改进的工业PCB缺陷检测方法,其特征在于,在原始YOLOv7-Tiny模型的颈部Neck模块和检测头部Head模块之间添加ASFF模块具体包括:
先通过Neck模块获得三种不同尺寸类型的特征图,第一层特征图使用卷积的方法得到与第三层特征图具有相同数量的通道与纬度;
第二层特征图采用下采样与卷积的方式使得通道数与纬度与第三层特征图相同;
再将X1→3、X2→3、X3→3分别乘以对应的权重再求和以得到融合完成的特征图。
7.根据权利要求6所述的基于YOLOv7-Tiny模型改进的工业PCB缺陷检测方法,其特征在于,相关计算公式如下:
其中,表示融合后得到特征图,/>是通过调整后的特征图经1×1卷积得到的权重;/>表示从n层到l层的特征图;/> 表示不同层的权重系数且其范围为[0,1],其中使用concat拼接后通过softmax函数处理使各层权重之和为1。
8.一种工业PCB缺陷检测装置,其特征在于,该装置包括:
数据采集模块,用于采集并获取待检测的PCB图片,形成数据集;
模型修改模块,用于对原始YOLOv7-Tiny模型进行修改,包括在原始YOLOv7-Tiny模型的主干特征提取网络中引入注意力机制模块,在原始YOLOv7-Tiny模型的颈部Neck模块和检测头部Head模块之间添加ASFF模块,得到改进YOLOv7-Tiny模型网络;
训练模块,用于将获取的所述数据集按比例8:1:1分为训练集、验证集以及测试集,采用训练数据集对模型进行训练,得到改进训练模型;
检测模块,用于利用得到的改进训练模型对工业PCB进行缺陷检测。
CN202310853551.1A 2023-07-12 2023-07-12 一种基于YOLOv7-Tiny模型改进的工业PCB缺陷检测方法及其装置 Pending CN116934696A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310853551.1A CN116934696A (zh) 2023-07-12 2023-07-12 一种基于YOLOv7-Tiny模型改进的工业PCB缺陷检测方法及其装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310853551.1A CN116934696A (zh) 2023-07-12 2023-07-12 一种基于YOLOv7-Tiny模型改进的工业PCB缺陷检测方法及其装置

Publications (1)

Publication Number Publication Date
CN116934696A true CN116934696A (zh) 2023-10-24

Family

ID=88388883

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310853551.1A Pending CN116934696A (zh) 2023-07-12 2023-07-12 一种基于YOLOv7-Tiny模型改进的工业PCB缺陷检测方法及其装置

Country Status (1)

Country Link
CN (1) CN116934696A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117788436A (zh) * 2023-12-27 2024-03-29 国网四川省电力公司电力科学研究院 基于云边协同的线路金具锈蚀缺陷检测方法、系统及介质

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117788436A (zh) * 2023-12-27 2024-03-29 国网四川省电力公司电力科学研究院 基于云边协同的线路金具锈蚀缺陷检测方法、系统及介质

Similar Documents

Publication Publication Date Title
CN111223088B (zh) 一种基于深层卷积神经网络的铸件表面缺陷识别方法
CN110852316B (zh) 一种采用密集结构卷积网络的图像篡改检测和定位方法
CN110992349A (zh) 一种基于深度学习的地下管道异常自动化定位与识别方法
CN114495029B (zh) 一种基于改进YOLOv4的交通目标检测方法及系统
CN111860171A (zh) 一种大规模遥感图像中不规则形状目标的检测方法及系统
CN111680705B (zh) 适于目标检测的mb-ssd方法和mb-ssd特征提取网络
CN112819748B (zh) 一种带钢表面缺陷识别模型的训练方法及装置
CN110222604A (zh) 基于共享卷积神经网络的目标识别方法和装置
CN111768415A (zh) 一种无量化池化的图像实例分割方法
CN116934696A (zh) 一种基于YOLOv7-Tiny模型改进的工业PCB缺陷检测方法及其装置
CN116823738A (zh) 一种基于YOLOv8的PCB裸板表面缺陷检测方法
CN115409797A (zh) 一种基于改进深度学习算法的pcb缺陷图像检测方法
CN111539456B (zh) 一种目标识别方法及设备
CN116597224A (zh) 基于改进yolo v8网络模型的马铃薯缺陷检测方法
CN115439694A (zh) 一种基于深度学习的高精度点云补全方法及装置
CN111368775A (zh) 一种基于局部上下文感知的复杂场景密集目标检测方法
CN115908356A (zh) 一种基于LDLFModel的PCB缺陷检测方法
CN117252815A (zh) 基于2d-3d多模态图像的工业零件缺陷检测方法、系统、设备及存储介质
CN114022727B (zh) 一种基于图像知识回顾的深度卷积神经网络自蒸馏方法
CN111199255A (zh) 基于darknet53网络的小目标检测网络模型及检测方法
CN112837281B (zh) 基于级联卷积神经网络的销钉缺陷识别方法、装置和设备
CN113379685A (zh) 一种基于双通道特征比对模型的pcb板缺陷检测方法及装置
CN117523394A (zh) 一种基于聚合特征增强网络的sar船舰检测方法
CN117197146A (zh) 一种铸件内部缺陷自动识别方法
CN111079585B (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