CN115330706A - 基于改进的YOLOv3的PCB缺陷检测方法和装置 - Google Patents

基于改进的YOLOv3的PCB缺陷检测方法和装置 Download PDF

Info

Publication number
CN115330706A
CN115330706A CN202210935378.5A CN202210935378A CN115330706A CN 115330706 A CN115330706 A CN 115330706A CN 202210935378 A CN202210935378 A CN 202210935378A CN 115330706 A CN115330706 A CN 115330706A
Authority
CN
China
Prior art keywords
pcb
defect
improved
defect detection
image
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
CN202210935378.5A
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.)
Jiangsu University of Technology
Original Assignee
Jiangsu University of 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 Jiangsu University of Technology filed Critical Jiangsu University of Technology
Priority to CN202210935378.5A priority Critical patent/CN115330706A/zh
Publication of CN115330706A publication Critical patent/CN115330706A/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
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • 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/762Arrangements for image or video recognition or understanding using pattern recognition or machine learning using clustering, e.g. of similar faces in social networks
    • G06V10/763Non-hierarchical techniques, e.g. based on statistics of modelling distributions
    • 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
    • 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/10Image acquisition modality
    • G06T2207/10004Still image; Photographic image
    • 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/30148Semiconductor; IC; Wafer

Abstract

本发明提供一种基于改进的YOLOv3的PCB缺陷检测方法和装置,其中,所述方法包括以下步骤:获取样本PCB图像,并对所述样本PCB图像进行缺陷类型的标注,以构成PCB缺陷数据集;通过所述PCB缺陷数据集对改进的YOLOv3进行训练,以得到PCB缺陷检测模型,其中,所述改进的YOLOv3的预测头前引入了通道注意力模块,且所述改进的YOLOv3采用DIOU损失函数;获取待检测PCB图像;将所述待检测PCB图像输入所述PCB缺陷检测模型,以得到所述待检测PCB图像的缺陷类型。本发明能够减少检测成本和误判率,并且能够提升检测的稳定性,从而提高PCB缺陷检测的精度。

Description

基于改进的YOLOv3的PCB缺陷检测方法和装置
技术领域
本发明涉及缺陷检测技术领域,具体涉及一种基于改进的YOLOv3的 PCB缺陷检测方法和一种基于改进的YOLOv3的PCB缺陷检测装置。
背景技术
PCB(Printed Circuit Board,印刷电路板)作为一种重要的电子部件,是电子元器件和电子工业的重要支撑体。目前在相关技术中一般采用人工检测或深度学习的方式对PCB进行缺陷检测。深度学习的目标检测算法大体可以分为两类:两阶段检测法和单阶段检测法。其中,两阶段检测法需要先提取物体所在区域,再对区域进行卷积分类和识别。单阶段检测法主要基于回归的方法得到目标类别和位置。但在实际工业生产中,一方面,由于目前市场上的PCB种类繁多且设计规格也不尽相同,导致PCB缺陷类型也多种多样,因此采用人工检测和深度学习对PCB进行缺陷检测的方式存在成本高、误判率高的缺点。另一方面,由于PCB缺陷的尺寸大都比较小,现有的检测方法的精度不够高,检测效果达不到工业生产的要求。
发明内容
本发明为解决上述技术问题,提供了一种基于改进的YOLOv3的PCB缺陷检测方法和装置,能够减少检测成本和误判率,并且能够提升检测的稳定性,从而提高PCB缺陷检测的精度。
本发明采用的技术方案如下:
一种基于改进的YOLOv3的PCB缺陷检测方法,包括以下步骤:获取样本PCB图像,并对所述样本PCB图像进行缺陷类型的标注,以构成PCB缺陷数据集;通过所述PCB缺陷数据集对改进的YOLOv3进行训练,以得到 PCB缺陷检测模型,其中,所述改进的YOLOv3的预测头前引入了通道注意力模块,且所述改进的YOLOv3采用DIOU损失函数;获取待检测PCB图像;将所述待检测PCB图像输入所述PCB缺陷检测模型,以得到所述待检测PCB 图像的缺陷类型。
在通过所述PCB缺陷数据集对改进的YOLOv3进行训练之前,还包括:
使用K-means++聚类算法对所述PCB缺陷数据集进行聚类操作,以获取适用于PCB缺陷检测的先验框。
PCB图像的缺陷类型包括短路、开路、缺口、毛刺、漏焊、余铜中的多个。
所述通道注意力模块执行以下运算:
Figure BDA0003783296090000021
其中,F'为所述通道注意力模块的输出,F为所述通道注意力模块的输入,Mc(F)为一维通道注意力权重。
所述DIOU损失函数为:
Figure BDA0003783296090000022
其中,LDIOU表示DIOU损失函数中的损失,IOU为交并比,ρ2(b,bgt)为预测框与真实框中心点坐标的欧氏距离的平方,b为预测框的中心点坐标,bgt为真实框的中心点坐标,c为包含预测框与真实框的最小矩形框的对角线距离。
一种基于改进的YOLOv3的PCB缺陷检测装置,包括:第一获取单元,所述第一获取单元用于获取样本PCB图像,并对所述样本PCB图像进行缺陷类型的标注,以构成PCB缺陷数据集;训练单元,所述训练单元用于通过所述PCB缺陷数据集对改进的YOLOv3进行训练,以得到PCB缺陷检测模型,其中,所述改进的YOLOv3的预测头前引入了通道注意力模块,且所述改进的YOLOv3采用DIOU损失函数;第二获取单元,所述第二获取单元用于获取待检测PCB图像;检测单元,所述检测单元用于将所述待检测PCB图像输入所述PCB缺陷检测模型,以得到所述待检测PCB图像的缺陷类型。
所述的基于改进的YOLOv3的PCB缺陷检测装置,还包括:聚类单元,所述聚类单元用于在通过所述PCB缺陷数据集对改进的YOLOv3进行训练之前,使用K-means++聚类算法对所述PCB缺陷数据集进行聚类操作,以获取适用于PCB缺陷检测的先验框。
PCB图像的缺陷类型包括短路、开路、缺口、毛刺、漏焊、余铜中的多个。
所述通道注意力模块执行以下运算:
Figure BDA0003783296090000031
其中,F'为所述通道注意力模块的输出,F为所述通道注意力模块的输入,Mc(F)为一维通道注意力权重。
所述DIOU损失函数为:
Figure BDA0003783296090000032
其中,LDIOU表示DIOU损失函数中的损失,IOU为交并比,ρ2(b,bgt)为预测框与真实框中心点坐标的欧氏距离的平方,b为预测框的中心点坐标,bgt为真实框的中心点坐标,c为包含预测框与真实框的最小矩形框的对角线距离。
本发明的有益效果:
本发明通过引入通道注意力模块和采用DIOU损失函数对YOLOv3进行改进,使用PCB缺陷数据集对改性的YOLOv3进行训练得到PCB缺陷检测模型,并将待检测PCB图像输入PCB缺陷检测模型得到PCB图像的缺陷类型,由此,能够减少检测成本和误判率,并且能够提升检测的稳定性,从而提高PCB缺陷检测的精度。
附图说明
图1为本发明实施例的基于改进的YOLOv3的PCB缺陷检测方法的流程图;
图2为本发明一个实施例的通道注意力模块的运行机制示意图;
图3为改进前的YOLOv3的算法结构图;
图4为本发明一个实施例的改进的YOLOv3的算法结构图;
图5为本发明一个实施例的改进的YOLOv3的PCB缺陷检测的识别结果图;
图6为本发明实施例的基于改进的YOLOv3的PCB缺陷检测装置的方框示意图;
图7为本发明一个实施例的基于改进的YOLOv3的PCB缺陷检测装置的方框示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1为本发明实施例的基于的改进的YOLOv3的PCB缺陷检测方法的流程图。
如图1所示,本发明实施例的基于改进的YOLOv3的PCB缺陷检测方法,包括以下步骤:
S1,获取样本PCB图像,并对样本PCB图像进行缺陷类型的标注,以构成PCB缺陷数据集。
在本发明的一个实施例中,可从网络上爬取一些存在缺陷的PCB图像或者从工厂、流水线等生产地拍摄存在缺陷的PCB图像。然后将获取的PCB图像进行缺陷类型标注,构成PCB缺陷数据集。其中,PCB图像的缺陷类型包括短路、开路、缺口、毛刺、漏焊、余铜中的多个。以PCB图像的缺陷类型包括短路、开路、缺口、毛刺、漏焊、余铜共6类为例,可将这些缺陷类型作为标签,对PCB图像进行标注。
S2,通过PCB缺陷数据集对改进的YOLOv3进行训练,以得到PCB缺陷检测模型,其中,改进的YOLOv3的预测头前引入了通道注意力模块,且改进的YOLOv3采用DIOU损失函数。
在本发明的一个实施例中,在通过PCB缺陷数据集对改进的YOLOv3进行训练之前,还包括:使用K-means++聚类算法对PCB缺陷数据集进行聚类操作,以获取适用于PCB缺陷检测的先验框。具体步骤如下:随机选择PCB 缺陷数据集的标签信息集合中的一个点为聚类中心点;计算标签信息集合的每个点和已经有的聚类中心点的最短距离D(x),计算每个点被选为下一个聚类中心点的概率,即为
Figure BDA0003783296090000051
然后使用轮盘法来选择下一个聚类中心,并重复此步骤来选取8个聚类中心点;由上述过程可以得到9个聚类中心点,计算标签信息集合中每个点到9个聚类中心点的距离,根据距离的大小分配个各个聚类中心便可以得到9个簇;将每个簇的平均值作为各个簇的中心,然后重复计算距离,一直到簇的中心不再发生变化或者变化很小。
在本发明的一个实施例中,如图2所示,为进一步提高PCB缺陷检测的精度,在YOLOv3网络预测头前嵌入通道注意力模块以抑制无关信息的干扰和加强缺陷信息的关注度。其中,通道注意力模块执行以下运算:
Figure BDA0003783296090000052
其中,F'为通道注意力模块的输出,F为通道注意力模块的输入,Mc(F) 为一维通道注意力权重。引入通道注意力模块的具体步骤如下:首先给定输入
Figure BDA0003783296090000053
采用全局平均池化操作来聚合空间信息,生成平均池化特征层;采用卷积核大小为3的一维卷积将平均池化特征层每个通道信息进行交互;经过Sigmoid函数得到通道注意力
Figure BDA0003783296090000061
将得到的通道注意力的空间维度扩充至
Figure BDA0003783296090000062
再与输入特征图进行矩阵乘法运算即可得到通道注意力模块图。
由于均方差损失函数无法衡量目标框与真实框的重叠程度,所以采用损失函数来代替原有算法的均方差损失函数。具体地,根据真实框与预测框来确定IOU,然后求R(B,Bgt),具体计算方式如下:
Figure BDA0003783296090000063
Figure BDA0003783296090000064
根据R(B,B gt)来定义DIOU损失函数,即DIOU损失函数为:
Figure BDA0003783296090000065
其中,B为预测框,B gt为真实框,LDIOU表示DIOU损失函数中的损失, IOU为交并比,ρ2(b,bgt)为预测框与真实框中心点坐标的欧氏距离的平方,b 为预测框的中心点坐标,bgt为真实框的中心点坐标,c为包含预测框与真实框的最小矩形框的对角线距离。
根据原有的YOLOv3,引入通道注意力模块,建立基于YOLOv3改进的 PCB缺陷检测模型。具体地,如图3所示,改进前的YOLOv3主干特征提取网络采用的是DarkNet53网络,DarkNet53网络由5个残差块组成,每个残差块中基本组成单元为卷积、批量归一化和激活函数,采用特征金字塔网络将浅层特征图与深层特征图进行融合,最终网络会经过三个YOLO预测头产生大小为13×13、26×26和52×52的特征图来预测结果。图4为改进后的YOLOv3 算法网络结构图,对于原有的YOLOv3的三个YOLO预测头前引入通道注意力机制,用来抑制无关信息的干扰和加强缺陷信息的关注度。
在本发明的一个实施例中,通过改进的YOLOv3对PCB缺陷数据集进行训练,最终选取性能最优的模型进行PCB缺陷的检测。具体步骤如下:将PCB 缺陷数据集按照8:1:1的比例进行划分为训练集、验证集和测试集;加载改进的YOLOv3模型,初始化超参数,其中,超参数包括:动量值、权重衰减系数、学习率、训练批尺寸、迭代轮数以及各部分损失函数的系数值;对训练集中的图像进行滤波降噪、调节饱和度等一系列数据预处理操作,加载网络模型后对输入的训练集图像进行特征提取以及缺陷的定位和分类;训练每一轮,网络都会计算损失函数,然后采用SGD优化器进行参数优化;在验证集上计算网络模型的mAP(MeanAverage Precision,平均精度),判断该模型的mAP是否为最优,若是则保存该模型。
S3,获取待检测PCB图像。
待检测PCB图像可通过在流水线的检测工位拍摄得到。
S4,将待检测PCB图像输入PCB缺陷检测模型,以得到待检测PCB图像的缺陷类型。
本发明一些具体实施例的缺陷检测结果如图5所示。
根据本发明实施例的基于改进的YOLOv3的PCB缺陷检测方法,通过引入通道注意力模块和采用DIOU损失函数对YOLOv3进行改进,使用PCB缺陷数据集对改性的YOLOv3进行训练得到PCB缺陷检测模型,并将待检测 PCB图像输入PCB缺陷检测模型得到PCB图像的缺陷类型,由此,能够减少检测成本和误判率,并且能够提升检测的稳定性,从而提高PCB缺陷检测的精度。
为实现上述实施例的基于改进的YOLOv3的PCB缺陷检测方法,本发明还提出一种基于改进的YOLOv3的PCB缺陷检测装置。
如图6所示,本发明实施例的基于改进的YOLOv3的PCB缺陷检测装置包括:第一获取单元10、训练单元20、第二获取单元30和检测单元40。其中,第一获取单元10用于获取样本PCB图像,并对样本PCB图像进行缺陷类型的标注,以构成PCB缺陷数据集;训练单元20用于通过PCB缺陷数据集对改进的YOLOv3进行训练,以得到PCB缺陷检测模型,其中,改进的YOLOv3的预测头前引入了通道注意力模块,且改进的YOLOv3采用DIOU 损失函数;第二获取单元30用于获取待检测PCB图像;检测单元40用于将待检测PCB图像输入PCB缺陷检测模型,以得到待检测PCB图像的缺陷类型。
在本发明的一个实施例中,第一获取单元10可用于从从网络上爬取一些存在缺陷的PCB图像或者从工厂、流水线等生产地拍摄存在缺陷的PCB图像。将获取的PCB图像进行缺陷类型的标注,构成PCB缺陷数据集。其中,PCB 图像的缺陷类型包括短路、开路、缺口、毛刺、漏焊、余铜中的多个。以PCB 图像的缺陷类型包括短路、开路、缺口、毛刺、漏焊、余铜共6类为例,可将这些缺陷类型作为标签,对PCB图像进行标注。
如图7所示,本发明实施例的基于改进的YOLOv3的PCB缺陷检测装置还可包括:聚类单元50,聚类单元50用于在通过PCB缺陷数据集对改进的 YOLOv3进行训练之前,使用K-means++聚类算法对PCB缺陷数据集进行聚类操作,以获取适用于PCB缺陷检测的先验框。具体步骤如下:随机选择PCB 缺陷数据集的标签信息集合中的一个点为聚类中心点;计算标签信息集合的每个点和已经有的聚类中心点的最短距离D(x),计算每个点被选为下一个聚类中心点的概率,即为
Figure BDA0003783296090000081
然后使用轮盘法来选择下一个聚类中心,并重复此步骤来选取8个聚类中心点;由上述过程可以得到9个聚类中心点,计算标签信息集合中每个点到9个聚类中心点的距离,根据距离的大小分配个各个聚类中心便可以得到9个簇;将每个簇的平均值作为各个簇的中心,然后重复计算距离,一直到簇的中心不再发生变化或者变化很小。
在本发明的一个实施例中,为进一步提高PCB缺陷检测的精度,在 YOLOv3网络预测头前嵌入通道注意力模块以抑制无关信息的干扰和加强缺陷信息的关注度。其中,通道注意力模块执行以下运算:
Figure BDA0003783296090000091
其中,F'为通道注意力模块的输出,F为通道注意力模块的输入,Mc(F) 为一维通道注意力权重。引入通道注意力模块的具体步骤如下:首先给定输入
Figure BDA0003783296090000092
采用全局平均池化操作来聚合空间信息,生成平均池化特征层;采用卷积核大小为3的一维卷积将平均池化特征层每个通道信息进行交互;经过Sigmoid函数得到通道注意力
Figure BDA0003783296090000093
将得到的通道注意力的空间维度扩充至
Figure BDA0003783296090000094
再与输入特征图进行矩阵乘法运算即可得到通道注意力模块图。
在本发明的一个实施例中,由于均方差损失函数无法衡量目标框与真实框的重叠程度,所以采用损失函数来代替原有算法的均方差损失函数。具体地,根据真实框与预测框来确定IOU,然后求R(B,B gt),具体计算方式如下:
Figure BDA0003783296090000095
Figure BDA0003783296090000096
根据R(B,B gt)来定义DIOU损失函数,即DIOU损失函数为:
Figure BDA0003783296090000101
其中,B为预测框,Bgt为真实框,LDIOU表示DIOU损失函数中的损失, IOU为交并比,ρ2(b,bgt)为预测框与真实框中心点坐标的欧氏距离的平方,b 为预测框的中心点坐标,bgt为真实框的中心点坐标,c为包含预测框与真实框的最小矩形框的对角线距离。
根据原有的YOLOv3,引入通道注意力模块,建立基于YOLOv3改进的 PCB缺陷检测模型。具体地,改进前的YOLOv3主干特征提取网络采用的是 DarkNet53网络,DarkNet53网络由5个残差块组成,每个残差块中基本组成单元为卷积、批量归一化和激活函数,采用特征金字塔网络将浅层特征图与深层特征图进行融合,最终网络会经过三个YOLO预测头产生大小为13×13、 26×26和52×52的特征图来预测结果。改进后的YOLOv3对于原有的YOLOv3的三个YOLO预测头前引入通道注意力机制,用来抑制无关信息的干扰和加强缺陷信息的关注度。
在本发明的一个实施例中,训练单元20用于通过改进的YOLOv3对PCB 缺陷数据集进行训练,最终选取性能最优的模型进行PCB缺陷的检测。具体步骤如下:将PCB缺陷数据集按照8:1:1的比例进行划分为训练集、验证集和测试集;加载改进的YOLOv3模型,初始化超参数,其中,超参数包括:动量值、权重衰减系数、学习率、训练批尺寸、迭代轮数以及各部分损失函数的系数值;对训练集中的图像进行滤波降噪。调节饱和度等一系列数据预处理操作,加载网络模型后对输入的训练集图像进行特征提取以及缺陷的定位和分类;训练每一轮,网络都会计算损失函数,然后采用SGD优化器进行参数优化;在验证集上计算网络模型的mAP,判断该模型的mAP是否为最优,若是则保存该模型。
根据本发明实施例的基于改进的YOLOv3的PCB缺陷检测装置,通过引入通道注意力模块和采用DIOU损失函数对YOLOv3进行改进,使用PCB缺陷数据集对改性的YOLOv3进行训练得到PCB缺陷检测模型,并将待检测 PCB图像输入PCB缺陷检测模型得到PCB图像的缺陷类型,由此,能够减少检测成本和误判率,并且能够提升检测的稳定性,从而提高PCB缺陷检测的精度。
在本发明的描述中,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。“多个”的含义是两个或两个以上,除非另有明确具体的限定。
在本发明中,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”、“固定”等术语应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或成一体;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通或两个元件的相互作用关系。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。
在本发明中,除非另有明确的规定和限定,第一特征在第二特征“上”或“下”可以是第一和第二特征直接接触,或第一和第二特征通过中间媒介间接接触。而且,第一特征在第二特征“之上”、“上方”和“上面”可是第一特征在第二特征正上方或斜上方,或仅仅表示第一特征水平高度高于第二特征。第一特征在第二特征“之下”、“下方”和“下面”可以是第一特征在第二特征正下方或斜下方,或仅仅表示第一特征水平高度小于第二特征。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必针对相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,“计算机可读介质”可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器 (CDROM)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
此外,在本发明各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。

Claims (10)

1.一种基于改进的YOLOv3的PCB缺陷检测方法,其特征在于,包括以下步骤:
获取样本PCB图像,并对所述样本PCB图像进行缺陷类型的标注,以构成PCB缺陷数据集;
通过所述PCB缺陷数据集对改进的YOLOv3进行训练,以得到PCB缺陷检测模型,其中,所述改进的YOLOv3的预测头前引入了通道注意力模块,且所述改进的YOLOv3采用DIOU损失函数;
获取待检测PCB图像;
将所述待检测PCB图像输入所述PCB缺陷检测模型,以得到所述待检测PCB图像的缺陷类型。
2.根据权利要求1所述的基于改进的YOLOv3的PCB缺陷检测方法,其特征在于,在通过所述PCB缺陷数据集对改进的YOLOv3进行训练之前,还包括:
使用K-means++聚类算法对所述PCB缺陷数据集进行聚类操作,以获取适用于PCB缺陷检测的先验框。
3.根据权利要求2所述的基于改进的YOLOv3的PCB缺陷检测方法,其特征在于,PCB图像的缺陷类型包括短路、开路、缺口、毛刺、漏焊、余铜中的多个。
4.根据权利要求3所述的基于改进的YOLOv3的PCB缺陷检测方法,其特征在于,所述通道注意力模块执行以下运算:
Figure FDA0003783296080000011
其中,F'为所述通道注意力模块的输出,F为所述通道注意力模块的输入,Mc(F)为一维通道注意力权重。
5.根据权利要求4所述的基于改进的YOLOv3的PCB缺陷检测方法,其特征在于,所述DIOU损失函数为:
Figure FDA0003783296080000021
其中,LDIOU表示DIOU损失函数中的损失,IOU为交并比,ρ2(b,bgt)为预测框与真实框中心点坐标的欧氏距离的平方,b为预测框的中心点坐标,bgt为真实框的中心点坐标,c为包含预测框与真实框的最小矩形框的对角线距离。
6.一种基于改进的YOLOv3的PCB缺陷检测装置,其特征在于,包括:
第一获取单元,所述第一获取单元用于获取样本PCB图像,并对所述样本PCB图像进行缺陷类型的标注,以构成PCB缺陷数据集;
训练单元,所述训练单元用于通过所述PCB缺陷数据集对改进的YOLOv3进行训练,以得到PCB缺陷检测模型,其中,所述改进的YOLOv3的预测头前引入了通道注意力模块,且所述改进的YOLOv3采用DIOU损失函数;
第二获取单元,所述第二获取单元用于获取待检测PCB图像;
检测单元,所述检测单元用于将所述待检测PCB图像输入所述PCB缺陷检测模型,以得到所述待检测PCB图像的缺陷类型。
7.根据权利要求6所述的,其特征在于,还包括:
聚类单元,所述聚类单元用于在通过所述PCB缺陷数据集对改进的YOLOv3进行训练之前,使用K-means++聚类算法对所述PCB缺陷数据集进行聚类操作,以获取适用于PCB缺陷检测的先验框。
8.根据权利要求7所述的基于改进的YOLOv3的PCB缺陷检测装置,其特征在于,PCB图像的缺陷类型包括短路、开路、缺口、毛刺、漏焊、余铜中的多个。
9.根据权利要求8所述的基于改进的YOLOv3的PCB缺陷检测装置,其特征在于,所述通道注意力模块执行以下运算:
Figure FDA0003783296080000031
其中,F'为所述通道注意力模块的输出,F为所述通道注意力模块的输入,Mc(F)为一维通道注意力权重。
10.根据权利要求9所述的基于改进的YOLOv3的PCB缺陷检测装置,其特征在于,所述DIOU损失函数为:
Figure FDA0003783296080000032
其中,LDIOU表示DIOU损失函数中的损失,IOU为交并比,ρ2(b,bgt)为预测框与真实框中心点坐标的欧氏距离的平方,b为预测框的中心点坐标,bgt为真实框的中心点坐标,c为包含预测框与真实框的最小矩形框的对角线距离。
CN202210935378.5A 2022-08-05 2022-08-05 基于改进的YOLOv3的PCB缺陷检测方法和装置 Pending CN115330706A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210935378.5A CN115330706A (zh) 2022-08-05 2022-08-05 基于改进的YOLOv3的PCB缺陷检测方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210935378.5A CN115330706A (zh) 2022-08-05 2022-08-05 基于改进的YOLOv3的PCB缺陷检测方法和装置

Publications (1)

Publication Number Publication Date
CN115330706A true CN115330706A (zh) 2022-11-11

Family

ID=83922026

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210935378.5A Pending CN115330706A (zh) 2022-08-05 2022-08-05 基于改进的YOLOv3的PCB缺陷检测方法和装置

Country Status (1)

Country Link
CN (1) CN115330706A (zh)

Similar Documents

Publication Publication Date Title
CN108154508B (zh) 产品缺陷检测定位的方法、装置、存储介质及终端设备
WO2019051941A1 (zh) 车型识别方法、装置、设备及计算机可读存储介质
CN110992349A (zh) 一种基于深度学习的地下管道异常自动化定位与识别方法
CN110717881A (zh) 晶圆缺陷识别方法、装置、存储介质和终端设备
CN112508846A (zh) 缺陷检测方法及装置、电子设备和存储介质
CN110415214A (zh) 摄像头模组的外观检测方法、装置、电子设备及存储介质
CN116258707A (zh) 一种基于改进的YOLOv5算法的PCB表面缺陷检测方法
CN111899241A (zh) 一种定量化的炉前pcb贴片缺陷在线检测方法及系统
CN113516650B (zh) 基于深度学习的电路板塞孔缺陷检测方法及装置
CN112508950B (zh) 异常检测方法和装置
CN113096130A (zh) 物件缺陷的检测方法、装置
CN116385380A (zh) 基于深度特征的缺陷检测方法、系统、设备及存储介质
CN115170804B (zh) 基于深度学习的表面缺陷检测方法、装置、系统和介质
CN116228741A (zh) 一种pcba元器件缺陷检测方法及装置
CN111144425B (zh) 检测拍屏图片的方法、装置、电子设备及存储介质
CN115170501A (zh) 缺陷检测方法、系统、电子设备及存储介质
CN114299040A (zh) 瓷砖瑕疵检测方法、装置和电子设备
CN111223078A (zh) 瑕疵等级判定的方法及存储介质
CN113554645A (zh) 基于wgan的工业异常检测方法和装置
CN111027601A (zh) 一种基于激光传感器的平面检测方法、装置
CN115082444B (zh) 一种基于图像处理的铜管焊缝缺陷检测方法及系统
CN115147348B (zh) 基于改进的YOLOv3的轮胎缺陷检测方法及系统
CN115330706A (zh) 基于改进的YOLOv3的PCB缺陷检测方法和装置
CN112001388B (zh) 一种基于YOLOv3改进模型的用于检测PCB中圆形目标的方法
CN115249316A (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