CN116958052A - 一种基于yolo和注意力机制的印刷电路板缺陷检测方法 - Google Patents
一种基于yolo和注意力机制的印刷电路板缺陷检测方法 Download PDFInfo
- Publication number
- CN116958052A CN116958052A CN202310741649.8A CN202310741649A CN116958052A CN 116958052 A CN116958052 A CN 116958052A CN 202310741649 A CN202310741649 A CN 202310741649A CN 116958052 A CN116958052 A CN 116958052A
- Authority
- CN
- China
- Prior art keywords
- printed circuit
- circuit board
- yolo
- wiou
- model
- 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
- 230000007547 defect Effects 0.000 title claims abstract description 79
- 230000007246 mechanism Effects 0.000 title claims abstract description 58
- 238000001514 detection method Methods 0.000 title claims abstract description 41
- 238000000034 method Methods 0.000 claims abstract description 28
- 238000012360 testing method Methods 0.000 claims abstract description 22
- 238000012545 processing Methods 0.000 claims abstract description 4
- 238000012549 training Methods 0.000 claims description 15
- 238000012795 verification Methods 0.000 claims description 13
- 230000008569 process Effects 0.000 claims description 9
- 238000002372 labelling Methods 0.000 claims description 7
- 238000007781 pre-processing Methods 0.000 claims description 7
- 238000005457 optimization Methods 0.000 claims description 4
- 230000004927 fusion Effects 0.000 claims description 3
- 238000011423 initialization method Methods 0.000 claims description 3
- 238000010586 diagram Methods 0.000 description 25
- 230000006870 function Effects 0.000 description 24
- 238000013527 convolutional neural network Methods 0.000 description 6
- 230000000694 effects Effects 0.000 description 6
- 230000000007 visual effect Effects 0.000 description 6
- RYGMFSIKBFXOCR-UHFFFAOYSA-N Copper Chemical compound [Cu] RYGMFSIKBFXOCR-UHFFFAOYSA-N 0.000 description 4
- 229910052802 copper Inorganic materials 0.000 description 4
- 239000010949 copper Substances 0.000 description 4
- 238000011176 pooling Methods 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 3
- 230000006872 improvement Effects 0.000 description 3
- 238000007689 inspection Methods 0.000 description 3
- 238000004519 manufacturing process Methods 0.000 description 3
- 238000012544 monitoring process Methods 0.000 description 3
- 238000013135 deep learning Methods 0.000 description 2
- 238000009826 distribution Methods 0.000 description 2
- 238000000605 extraction Methods 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 238000010845 search algorithm Methods 0.000 description 2
- 238000002679 ablation Methods 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000008034 disappearance Effects 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 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
- 230000002035 prolonged effect Effects 0.000 description 1
- 238000011897 real-time detection Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 238000010998 test method Methods 0.000 description 1
- 239000010409 thin film Substances 0.000 description 1
- 238000010200 validation analysis Methods 0.000 description 1
- 238000003466 welding Methods 0.000 description 1
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
-
- 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
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/764—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/77—Processing 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/774—Generating sets of training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/77—Processing 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/80—Fusion, i.e. combining data from various sources at the sensor level, preprocessing level, feature extraction level or classification level
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/82—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
-
- 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)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Software Systems (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Computing Systems (AREA)
- Medical Informatics (AREA)
- Databases & Information Systems (AREA)
- Multimedia (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Molecular Biology (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Quality & Reliability (AREA)
- Investigating Materials By The Use Of Optical Means Adapted For Particular Applications (AREA)
Abstract
本发明公开了一种基于YOLO和注意力机制的印刷电路板缺陷检测方法,属于印刷电路板表面缺陷识别技术领域,包括以下步骤:S1:图像处理;S2:对比并融合不同的注意力机制;S3:损失函数优化;S4:缺陷识别。本发明在印刷电路板独立测试集上获得了97.8%mAP以及80.1FPS的成绩,优于其他现有方法;使用CA注意力机制优化YOLO v5m,使其计算复杂度由49.0GFLOPs下降到了41.0GFLOPs,而在独立测试集上的精度反而有所提高;本发明提出的模型具有良好的鲁棒性,能够同时准确识别并定位多种类型的缺陷。
Description
技术领域
本发明涉及印刷电路板表面缺陷识别技术领域,具体涉及一种基于YOLO和注意力机制的印刷电路板缺陷检测方法。
背景技术
印刷电路板是现代电力电子系统中不可缺少的一部分,用于各种电气元件的连接和支撑。然而,由于其特殊的生产工艺,印刷电路板经常暴露在高温和潮湿的环境中。因此,随着时间的推移,缺陷将不可避免地出现。一旦出现缺陷,可能会对整个设备造成无法弥补的损坏。因此,以定位和分类印刷电路板表面缺陷为核心目的检测具有重要意义。识别缺陷的传统方法涉及由经验丰富的工人进行人工检查。这种方法不仅成本高,而且效率低下,因此,人工检测逐渐被自动光学检测(AOI)系统所取代。AOI是一种有效的检测方法,广泛用于液晶显示器(LCD)/薄膜晶体管(TFT)和PCB工业过程。AOI可以自动检测PCB上的各种组装错误和焊接缺陷,还提供在线检测解决方案,与传统方法相比,大大提高了检测速度和效率。
目标检测网络可分为两阶段和单阶段模型,在两阶段模型中,选择性搜索算法在被检图像上生成候选框,然后将其送入特征提取网络进行预测。研究人员修改了区域卷积神经网络(R-CNN),被称为Faster R-CNN。同时提出了一种新颖的区域建议网络(RPN),为首次使用卷积神经网络生成锚点。此外,他们使用感兴趣区域(RoI)池化层来代替全连接层。因此,Faster R-CNN可以接受任何大小的输入,并减少由于翘曲造成的信息损失。FasterR-CNN在COCO数据集上以mAP(0.5)42.7%实现了最先进的性能。被认为是两阶段目标检测网络性能的巅峰。
另一方面,以YOLO系列为代表的单阶段模型直接预测边界框,不需要选择性搜索算法和区域建议网络。两种模型各有优缺点,模型的选择取决于具体的应用和要求。YOLOv5是一种应用广泛的目标检测网络,包括主干、颈部和头部。主干是使用CSPDarkNet-53网络构建的,由一系列重复堆叠的C3模块组成。同时,为了解决多尺度目标预测问题,YOLO v5采用3个检测头分别预测大、中和小目标。此外,通过基于特定数据集的聚类算法获得不同尺度的锚框,将有助于网络的收敛。YOLO v5m在COCO数据集上实现了64.1%mAP(0.5),在V100 GPU上的单张图像测速为121FPS。YOLO v5m显着提高了检测速度,有效地满足了实时检测的要求。
近年来,基于深度学习的目标检测模型以其检测速度快、准确率高、易于部署等优点被广泛应用于印刷电路板检测领域。一些研究人员提出了一个基于ResNet-10的框架,该框架基于特征金字塔网络结构,对之前的语义信息采用1×1卷积横向融合,融合后的特征采用3×3卷积得到最终的特征层。最后,他们在公共PCB数据集上实现了96.2%的平均精度(mAP);由于PCB缺陷图像难以获取且大多数缺陷是小目标,一些研究人员提出了一种基于改进的CBAM的特征增强模块,并制定了多尺度特征融合策略,可以提取PCB的多尺度特征图并将其融合成包含不同尺度信息的高质量特征图,提高模型对小物体缺陷的检测精度;还有一些研究人员摒弃了传统的使用卷积神经网络提取图像特征的思路,采用Swim-Transformer作为特征提取网络,同时修改特征图中通道的顺序,使网络有效地关注具有更大价值的信息。Transformer-YOLO在公共PCB数据集上获得了21FPS、97.04%mAP的结果,平衡了检测速度和准确度的平均时间。
两阶段和单阶段模型都是深度学习目标检测模型中重要的组成部分,两阶段模型具有更高的精度但检测效率较低,适合对精度需求和算力较高的场合。单阶段模型以其参数和计算量低而受到广泛关注,在牺牲一定精度的情况下能够换来速度的提升。以YOLO v5为例:YOLO v5具有m和s两个版本,YOLO v5m的参数量为YOLO v5s的3倍,而在COCO数据集上仅有7.3%的精度提升,检测速度由49.0FPS降至16.5FPS。因此精度与速度,参数和计算量的平衡是当前目标检测模型研究的重点和难点。为此,本发明提出一种基于YOLO和注意力机制的印刷电路板缺陷检测方法。
发明内容
本发明所要解决的技术问题在于:如何让目标检测模型能够准确地定位到被检图像上的每个缺陷,并能够正确地分类它;同时能够以更少的参数量以及更低的计算复杂度获得更高的检测性能,以便于在边缘设备上部署,提供了一种基于YOLO和注意力机制的印刷电路板缺陷检测方法。
本发明是通过以下技术方案解决上述技术问题的,本发明包括以下步骤:
S1:图像处理
获取印刷电路板表面缺陷的公开数据集,并且根据任务需求对数据集中的图像进行预处理;
S2:对比并融合不同的注意力机制
在YOLO v5m的CSPDarkNet53中分别添加CBAM、CA、SE注意力机制模块并对比其性能,得到添加CA注意力机制模块的YOLO v5m的性能最高,将添加CA注意力机制模块的YOLOv5m作为印刷电路板缺陷识别模型;
S3:损失函数优化
选择WIoU作为边界框回归损失函数,利用WIoU对印刷电路板缺陷识别模型进行优化,得到优化后的印刷电路板缺陷识别模型并对模型进行性能验证;
S4:缺陷识别
将待检测图片输入优化后的印刷电路板缺陷识别模型中,获得印刷电路板缺陷识别结果。
更进一步地,在所述步骤S1中,预处理包括Mosaic数据增强与去噪处理。
更进一步地,在所述步骤S1中,还包括如下过程:
S11:将预处理后的印刷电路板缺陷图像按照设定的比例分别划分为训练集、验证集和测试集;
S12:将训练集以及验证集中的图像统一调整至设定尺寸。
更进一步地,在所述步骤S2中,具体过程如下:
S21:选择YOLO v5m作为基础模型,在其骨干网络CSPDarkNet53的C3模块中,利用CBAM、CA、SE注意力机制模块替换掉C3模块中第一个ConvBNSiLU块,并采用相同的模型初始化方法分别进行训练,得到三种融合了不同注意力机制的模型;
S22:将添加CBAM、CA、SE注意力机制的模型在独立测试集上验证精确度以及速度;
S23:发现添加CA注意力机制模块的YOLO v5m精确度以及速度最高,因此将其作为印刷电路板缺陷识别模型。
更进一步地,在所述步骤S22中,在验证精确度的同时对独立测试集上的三种模型进行了TP、FP和FN的分析;其中TP即正确分类且预测框与标注框的交并比>0.5,FP为漏检,即正确分类但预测框与标注框的交并比<0.5,FN为误检,即预测框与标注框的交并比>0.5,但未正确分类。
更进一步地,在所述步骤S3中,具体过程如下:
S31:使用新的边界框回归损失函数WIoU代替传统的边界框回归损失函数;
S32:将优化后的印刷电路板缺陷识别模型与原始模型进行性能对比。
更进一步地,在所述步骤S31中,损失函数WIoU中的RWIoU算子定义如下:
其中,x,y分别表示预测框中心点的横,纵坐标;xgt,ygt分别表示真实框中心点的横,纵坐标;Hi,Wi分别表示预测框与真实框并集矩形的高度和宽度,*表示从计算图中分离;
得到RWIoU算子后,即得到损失函数WIoU如下:
LWIoU=RWIoULIoU。
更进一步地,在所述步骤S31中,传统的边界框回归损失函数在预测框与标注框重叠时,对于Hi和Wi的梯度将消失,从而导致无法优化。
本发明相比现有技术具有以下优点:该基于YOLO和注意力机制的印刷电路板缺陷检测方法,在印刷电路板独立测试集上获得了97.8%mAP以及80.1FPS的成绩,优于其他现有方法;使用CA注意力机制优化YOLO v5m,使其计算复杂度由49.0GFLOPs下降到了41.0GFLOPs,而在独立测试集上的精度反而有所提高;本发明提出的模型具有良好的鲁棒性,能够同时准确识别并定位多种类型的缺陷。
附图说明
图1是本发明实施例中基于YOLO和注意力机制的印刷电路板缺陷检测方法的流程示意图;
图2(1)是本发明实施例中NEU-CLS数据库中印刷电路板缺孔缺陷样本示例图;
图2(2)是本发明实施例中NEU-CLS数据库中印刷电路板鼠咬缺陷样本示例图;
图2(3)是本发明实施例中NEU-CLS数据库中印刷电路板开路缺陷样本示例图;
图2(4)是本发明实施例中NEU-CLS数据库中印刷电路板短路缺陷样本示例图;
图2(5)是本发明实施例中NEU-CLS数据库中印刷电路板划刺缺陷样本示例图;
图2(6)是本发明实施例中NEU-CLS数据库中印刷电路板杂铜缺陷样本示例图;
图3是本发明实施例中CSPDarkNet53网络中的C3模块的结构示意图;
图4是本发明实施例中CBAM注意力机制模块的结构示意图;
图5是本发明实施例中SE注意力机制模块的结构示意图;
图6是本发明实施例中CA注意力机制模块的结构示意图;
图7(1)是本发明实施例中三种模型在不同轮次下的分类损失函数值(Cls loss),反映了模型的分类性能,采用交叉熵损失函数;
图7(2)是本发明实施例中三种模型在不同轮次下的边界框回归损失函数值(Boxloss),反映了模型的定位性能,采用WioU损失函数;
图7(3)是本发明实施例中三种模型在不同轮次下的前景损失函数值(Obj loss),反映了模型区分前景和背景的能力,采用二值交叉熵损失函数;
图8是本发明实施例中印刷电路板缺陷识别模型的结构示意图;
图9(1)是本发明实施例中NEU-CLS数据库中印刷电路板缺孔缺陷的可视化效果图,其中左侧为缺孔缺陷图片,右侧为效果图;
图9(2)是本发明实施例中NEU-CLS数据库中印刷电路板鼠咬缺陷的可视化效果图,其中左侧为鼠咬缺陷图片,右侧为效果图;
图9(3)是本发明实施例中NEU-CLS数据库中印刷电路板开路缺陷的可视化效果图,其中左侧为开路缺陷图片,右侧为效果图;
图9(4)是本发明实施例中NEU-CLS数据库中印刷电路板短路缺陷的可视化效果图,其中左侧为短路缺陷图片,右侧为效果图;
图9(5)是本发明实施例中NEU-CLS数据库中印刷电路板划刺缺陷的可视化效果图,其中左侧为划刺缺陷图片,右侧为效果图;
图9(6)是本发明实施例中NEU-CLS数据库中印刷电路板杂铜缺陷的可视化效果图,其中左侧为杂铜缺陷图片,右侧为效果图。
具体实施方式
下面对本发明的实施例作详细说明,本实施例在以本发明技术方案为前提下进行实施,给出了详细的实施方式和具体的操作过程,但本发明的保护范围不限于下述的实施例。
如图1所示,本实施例提供一种技术方案:一种基于YOLO和注意力机制的印刷电路板缺陷检测方法,包括:
S1:原始图像处理。
在步骤S1中,包括以下两个子步骤:
S11:获取印刷电路板表面缺陷的公开数据集,并且根据任务需求对数据集中的图像进行必要的预处理,包括但不限于mosaic数据增强与去噪算法,按照8:1:1的比例分别划分为训练集、验证集和测试集;预处理后的数据集分布情况如表1所示。典型的6类缺陷样本,即缺孔(missing hole)、鼠咬(mouse bite)、开路(open circuit)、短路(short)、划刺(spur)、杂铜(spurious copper)的示例如图2中的(1)-(6)所示;
S12:将训练集与验证集中的图像统一调整至640×640大小,将训练集与验证集中的所有图像统一大小是为了适应模型的输入尺寸要求,不同的输入尺寸将导致计算设备无法构建统一的批次进行训练。
表1预处理后的数据集分布
S2:对比并融合不同的注意力机制模块,不同的注意力机制之间性能有所差异,在对比了CBAM,SE和CA注意力机制模块之后,发现CA注意力机制模块的性能较为优秀;
在步骤S2中,包括以下子步骤:
S21:选择YOLO v5m作为基础模型,在其骨干网络——CSPDarkNet53的C3模块中,利用CBAM、CA、SE注意力机制模块替换掉C3模块中第一个ConvBNSiLU块,并采用相同的模型初始化方法分别进行训练,得到三种融合了不同注意力机制的模型;C3模块的结构示意图如图3所示,CBAM,SE和CA注意力机制模块的结构示意图分别如图4、5、6所示;
在所述步骤S21中,YOLO官方为YOLO v5开发了不同的版本,从轻量到大模型分别包括Nano,Small,Medium,Large和Extra。轻量模型具有更快的检测速度但精度较低,大模型能够很好地检测出印刷电路板的缺陷但速度较慢,而YOLO v5m均衡了速度与精度的需求,适合作为深入研究的模型对象;
S22:采用相同的模型初始化策略,并控制好其他因素训练模型;
S23:训练完三种包含注意力机制的模型后,在独立测试集上分别验证它们的性能。
具体地,在所述步骤S21中,CBAM,SE和CA均为在各类计算机视觉任务中得到应用的注意力机制。CBAM由通道注意力和空间注意力组成,在通道注意力中,输入的特征图经过全局最大池化和全局平均池化后进入空间注意力,然后在全连接层中融合;SE通过对通道之间的相互依赖性进行显式建模来自适应地重新校准通道特征响应,在全局平均池化后,将特征映射启用到两个连续的全连接层,再与输入融合以生成新的特征映射;CA将信道注意力分解为两个一维特征编码过程,并沿两个空间方向组合特征;能够捕获沿一个空间方向的长距离依赖关系,同时沿另一个空间方向保留准确的位置信息。
具体地,在步骤S22中,具体的训练方案如下:
S221:将初始学习率设置为0.001,共训练300轮,并设置监控模型的mAP变化情况,若mAP在10轮内均没有变化,则将学习率调整为原来的一半,但最低不小于0.00001;
S222:使用TensorBoard记录模型各轮的mAP与损失函数的值,并以折线图的形式记录,表2展示了不同注意力机制模块的性能,从表2中可知,原始YOLO v5m在独立测试集上的mAP为95.3%,在添加注意力机制模块后,mAP均有所提高,其中添加CA注意力机制模块的提升最高为1.6%,而添加CBAM和CA注意力机制模块分别为0.3%和1.2%,验证集mAP,召回率和FPS也具有相似的情形,因此选择包含CA注意力机制模块的模型作为后续优化的对象,图7(1)-(3)展示了三种模型的不同的损失函数值。
表2不同注意力机制模块的性能
S3:针对小目标检测优化损失函数
在步骤S3中,包括以下子步骤:
S31:发现以IoU为基础的传统边界框回归损失函数在预测框与真实框没有重叠时将导致梯度消失的问题,计划采用WIoU作为改进方法进行优化;
在步骤S31中,传统的IoU边界框回归损失函数在预测框与标注框重叠时,对于Hi和Wi的梯度将消失,从而导致无法优化,具体地,以Wi为例:
WIoU的具体形式已在上文中说明,WIoU具有如下特点:先前对于边界框损失函数的优化工作主要是通过添加罚项完成,而WIoU通过设计RWIoU算子解决了极端情况下梯度消失的问题,且在预测框与标注框较好重叠时能够削弱RWIoU算子的惩罚,从而提高模型的泛化能力。
S32:WIoU是一种新颖的边界框回归损失函数,目标检测模型的性能很大程度上取决于损失函数的设计,而以传统IoU为基准的边界框损失为整体损失函数的重要组成部分,但传统的IoU在预测框与真实框没有重叠时,将导致LIoU的梯度消失,WIoU中的RWIoU算子具体形式定义如下:
其中,x,y分别表示预测框中心点的横,纵坐标;xgt,ygt分别表示真实框中心点的横,纵坐标;Hi,Wi分别表示预测框与真实框并集矩形的高度和宽度,*表示从计算图中分离,所谓计算图,即在反向传播中各参数间的嵌套关系图,并且在优化模型的过程中需要利用计算图来获取各参数的梯度,而Hi和Wi包含过多子参数,极大延长了优化模型的时间,因此需要将它们部分子参数的梯度固定,即从计算图中分离;
得到RWIoU算子后,就可以得到WIoU损失函数的具体形式:
LWIoU=RWIoULIoU
S33:再次在独立测试集上验证动态调整学习率,Mosaic数据增强以及WIoU的性能,结果如表3所示,从表中可见WIoU对于缓解梯度消失问题有帮助。
表3各种训练技巧的性能
模型 | 验证集mAP(%) |
YOLO v5m+CA | 96.5 |
+Mosaic数据增强 | 96.9(↑0.4) |
+学习率监视 | 97.2(↑0.3) |
+WIoU | 97.8(↑0.6) |
S4:在独立测试集上验证所提出模型的性能。详细方案如下:
S41:为了评估本发明的有效性,我们在独立测试集上验证了本发明模型的精度,召回率以及FPS,并与其他检测方法比较,测试结果如表4所示:
表4本发明方法对比其他缺陷检测方法
模型 | 验证集mAP(%) | 测试集mAP(%) | 召回率(%) | FPS |
Faster R-CNN | 89.5 | 82.1 | 44.7 | 10.27 |
YOLO v5m | 97.1 | 95.3 | 94.2 | 64.29 |
YOLO v5n | 93.0 | 90.9 | 91.1 | 71.35 |
YOLO v7 | 98.9 | 95.2 | 97.1 | 55.35 |
YOLO X | 96.7 | 94.1 | 96.9 | 27.67 |
TDD-Net | 98.9 | 95.3 | 91.5 | 11.35 |
Transformer-YOLO | 97.0 | 94.4 | 91.3 | 21.00 |
本发明模型 | 99.0 | 97.8 | 96.7 | 80.1 |
从表4中可以看出,本发明所设计的印刷电路板缺陷识别模型在验证集上达到了99.0%的mAP,领先与其他模型,在独立测试集上的mAP为97.8%,甚至超越了YOLO v7,同时也具有最快的检测速度(FPS)。
S42:为了进一步验证所提出模型的性能,我们统计出了独立测试集上中每类缺陷的数量,并记录不同注意力机制在独立测试集上的表现,统计了3个模型的TP、FP和FN。所谓TP即正确检测,FP为漏检,即没有预测框和真实框的交并比大于所设定的阈值(通常为0.5),FN为误检,即定位正确但缺陷类别识别错误。结果如表5所示:
表5独立测试集结果对比
综上所述,上述实施例的基于YOLO和注意力机制的印刷电路板缺陷检测方法,首先对公开印刷电路板缺陷数据集进行了必要的Mosaic数据增强和去噪处理等,然后对比了三种不同的注意力机制,通过消融实验发现CA注意力机制具有较好的性能。接着根据以IoU为基础的传统边界框回归损失函数具有梯度消失的问题,采用更为高效的WIoU来使网络更加容易收敛。最后应用了监视学习率等一系列技巧,在独立验证集上验证并比较了不同模型之间的性能,实验结果证明这些技巧能够加快网络的收敛和鲁棒性;本发明提出的模型具有较高的检测精度与速度。未来有望在边缘设备上部署以投入至生产与应用。
尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。
Claims (8)
1.一种基于YOLO和注意力机制的印刷电路板缺陷检测方法,其特征在于,包括以下步骤:
S1:图像处理
获取印刷电路板表面缺陷的公开数据集,并且根据任务需求对数据集中的图像进行预处理;
S2:对比并融合不同的注意力机制
在YOLO v5m的CSPDarkNet53中分别添加CBAM、CA、SE注意力机制模块并对比其性能,得到添加CA注意力机制模块的YOLO v5m的性能最高,将添加CA注意力机制模块的YOLO v5m作为印刷电路板缺陷识别模型;
S3:损失函数优化
选择WIoU作为边界框回归损失函数,利用WIoU对印刷电路板缺陷识别模型进行优化,得到优化后的印刷电路板缺陷识别模型并对模型进行性能验证;
S4:缺陷识别
将待检测图片输入优化后的印刷电路板缺陷识别模型中,获得印刷电路板缺陷识别结果。
2.根据权利要求1所述的一种基于YOLO和注意力机制的印刷电路板缺陷检测方法,其特征在于:在所述步骤S1中,预处理包括Mosaic数据增强与去噪处理。
3.根据权利要求2所述的一种基于YOLO和注意力机制的印刷电路板缺陷检测方法,其特征在于:在所述步骤S1中,还包括如下过程:
S11:将预处理后的印刷电路板缺陷图像按照设定的比例分别划分为训练集、验证集和测试集;
S12:将训练集以及验证集中的图像统一调整至设定尺寸。
4.根据权利要求1所述的一种基于YOLO和注意力机制的印刷电路板缺陷检测方法,其特征在于:在所述步骤S2中,具体过程如下:
S21:选择YOLO v5m作为基础模型,在其骨干网络CSPDarkNet53的C3模块中,利用CBAM、CA、SE注意力机制模块替换掉C3模块中第一个ConvBNSiLU块,并采用相同的模型初始化方法分别进行训练,得到三种融合了不同注意力机制的模型;
S22:将添加CBAM、CA、SE注意力机制的模型在独立测试集上验证精确度以及速度;
S23:发现添加CA注意力机制模块的YOLO v5m精确度以及速度最高,因此将其作为印刷电路板缺陷识别模型。
5.根据权利要求4所述的一种基于YOLO和注意力机制的印刷电路板缺陷检测方法,其特征在于:在所述步骤S22中,在验证精确度的同时对独立测试集上的三种模型进行了TP、FP和FN的分析;其中TP即正确分类且预测框与标注框的交并比>0.5,FP为漏检,即正确分类但预测框与标注框的交并比<0.5,FN为误检,即预测框与标注框的交并比>0.5,但未正确分类。
6.根据权利要求5所述的一种基于YOLO和注意力机制的印刷电路板缺陷检测方法,其特征在于:在所述步骤S3中,具体过程如下:
S31:使用新的边界框回归损失函数WIoU代替传统的边界框回归损失函数;
S32:将优化后的印刷电路板缺陷识别模型与原始模型进行性能对比。
7.根据权利要求6所述的一种基于YOLO和注意力机制的印刷电路板缺陷检测方法,其特征在于:在所述步骤S31中,损失函数WIoU中的RWIoU算子定义如下:
其中,x,y分别表示预测框中心点的横,纵坐标;xgt,ygt分别表示真实框中心点的横,纵坐标;Hi,Wi分别表示预测框与真实框并集矩形的高度和宽度,*表示从计算图中分离;
得到RWIoU算子后,即得到损失函数WIoU如下:
LWIoU=RWIoULIoU。
8.根据权利要求7所述的一种基于YOLO和注意力机制的印刷电路板缺陷检测方法,其特征在于:在所述步骤S31中,传统的边界框回归损失函数在预测框与标注框重叠时,对于Hi和Wi的梯度将消失,从而导致无法优化。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310741649.8A CN116958052A (zh) | 2023-06-21 | 2023-06-21 | 一种基于yolo和注意力机制的印刷电路板缺陷检测方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310741649.8A CN116958052A (zh) | 2023-06-21 | 2023-06-21 | 一种基于yolo和注意力机制的印刷电路板缺陷检测方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116958052A true CN116958052A (zh) | 2023-10-27 |
Family
ID=88461047
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310741649.8A Pending CN116958052A (zh) | 2023-06-21 | 2023-06-21 | 一种基于yolo和注意力机制的印刷电路板缺陷检测方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116958052A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117670876A (zh) * | 2024-01-31 | 2024-03-08 | 成都数之联科技股份有限公司 | 一种面板缺陷严重程度判级方法、系统、设备及存储介质 |
-
2023
- 2023-06-21 CN CN202310741649.8A patent/CN116958052A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117670876A (zh) * | 2024-01-31 | 2024-03-08 | 成都数之联科技股份有限公司 | 一种面板缺陷严重程度判级方法、系统、设备及存储介质 |
CN117670876B (zh) * | 2024-01-31 | 2024-05-03 | 成都数之联科技股份有限公司 | 一种面板缺陷严重程度判级方法、系统、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109683360B (zh) | 液晶面板缺陷检测方法及装置 | |
CN103324937B (zh) | 标注目标的方法和装置 | |
CN107085846B (zh) | 工件表面缺陷图像识别方法 | |
CN111754498A (zh) | 一种基于YOLOv3的传送带托辊检测方法 | |
CN112614105B (zh) | 一种基于深度网络的3d点云焊点缺陷检测方法 | |
CN113724231A (zh) | 一种基于语义分割和目标检测融合模型的工业缺陷检测方法 | |
CN111242899B (zh) | 基于图像的瑕疵检测方法及计算机可读存储介质 | |
CN113222913B (zh) | 一种电路板缺陷检测定位方法、装置和存储介质 | |
CN112669275A (zh) | 基于YOLOv3算法的PCB表面缺陷检测方法及装置 | |
Wang et al. | Attention-based deep learning for chip-surface-defect detection | |
CN116958052A (zh) | 一种基于yolo和注意力机制的印刷电路板缺陷检测方法 | |
CN115995056A (zh) | 一种基于深度学习的桥梁病害自动识别方法 | |
CN115294089A (zh) | 一种基于改进YOLOv5的钢材表面缺陷检测方法 | |
Cui et al. | Real-time detection of wood defects based on SPP-improved YOLO algorithm | |
Chen et al. | Real-time defect detection of TFT-LCD displays using a lightweight network architecture | |
CN117593244A (zh) | 一种基于改进注意力机制的膜产品缺陷检测方法 | |
CN116665054A (zh) | 一种基于改进YOLOv3的遥感影像小目标检测方法 | |
CN114596273B (zh) | 利用yolov4网络的陶瓷基板多种瑕疵智能检测方法 | |
CN116363426A (zh) | 公路防眩板健康状态自动检测方法 | |
CN112380970B (zh) | 基于局部区域搜索的视频目标检测方法 | |
CN115661542A (zh) | 一种基于特征关系迁移的小样本目标检测方法 | |
CN112633327B (zh) | 分阶段金属表面缺陷检测方法、系统、介质、设备及应用 | |
Wang et al. | A deep learning-based method for vehicle licenseplate recognition in natural scene | |
CN115035118A (zh) | 一种基于识别模型的pcb生产线残缺检测方法及系统 | |
Chen et al. | EEE-Net: Efficient edge enhanced network for surface defect detection of glass |
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 |