基于改进YOLOv8的印刷电路板缺陷检测方法研究

known 发布于 2025-08-25 阅读(418)

摘" 要:为了解决印刷电路板表面小目标缺陷检测精度较低与检测效率不高的问题,文章提出了基于改进YOLOv8的印刷电路板缺陷检测方法。在YOLOv8模型主干网络中使用简单空间金字塔池化融合模块,采用修正的线性单元激活函数,有效地提升了检测效率;使用改进的瓶颈注意力模块,利用通道注意力分支与空间注意力分支,使模型具有较强的表征能力获取特征信息,提升了检测精度;对损失函数进行了改进,构建了WIoU损失函数,降低了锚框与目标框重合时几何因素的影响。在印刷电路板电路板瑕疵数据集上,网络模型的检测精度mAP@0.5值达到了90.2%,相比原网络模型提高了5.7%,对印刷电路板缺陷检测具有重要的意义。

关键词:YOLOv8;印刷电路板;缺陷检测

中图分类号:TP391.4;TP183 文献标识码:A 文章编号:2096-4706(2024)24-0026-05

Research on Defect Detection Method of Printed Circuit Board Based on Improved Yolov8

JIN Qiangshan, FENG Guang, TIAN Jiya, ZHANG Yichuan

(Xinjiang Institute of Technology, Aksu" 843100, China)

Abstract: In order to solve the problem of low detection accuracy and low detection efficiency of small target defects on the surface of the Printed Circuit Board, this paper proposes the Printed Circuit Board defect detection method based on improved YOLOv8. The Simplified Spatial Pyramid Pooling Fast module is used in the YOLOv8 model backbone network, and the Rectified Linear Unit activation function is used to effectively improve the detection efficiency. Using the improved Bottleneck Attention Module, the channel attention branch and the spatial attention branch are used to make the model have a strong representation ability to obtain feature information and improve the detection accuracy. The loss function is improved, and the WIoU loss function is constructed to reduce the influence of geometric factors when the anchor box coincides with the target box. On the defect data set of Printed Circuit Board, the detection accuracy mAP@0.5 value of the network model reaches 90.2%, which is 5.7% higher than that of the original network model, which is of great significance to the defect detection of Printed Circuit Board.

Keywords: YOLOv8; Printed Circuit Board; defect detection

0" 引" 言

印刷电路板(Printed Circuit Board, PCB)是电子元器件之间实现电气连接的基础,其发展水平体现了国家或地区电子信息产业发展的技术水准。然而,在印刷电路板生产过程中,存在漏孔、缺口、短路、开路、余铜、毛刺等缺陷,及时有效地检测出不合格产品,对于保障电子设备的安全性至关重要。常见的印刷电路板检测方法包括人工目视主观判定法、仪器线上检测法和视觉检测技术。但是,人工目视主观盘点法存在准确率低、人力资本高、缺陷检测不连续等问题;仪器线上检测法面临测试夹具成本高、使用难度大、编程与调试时间长等问题。因此,研究与应用目标检测算法,快速、高效、准确地检测印刷电路板缺陷,具有重要的现实意义。

基于深度学习的缺陷检测算法主要是利用目标检测算法,完成对印刷电路板的缺陷检测,从而实现对缺陷的分类与定位。深度学习缺陷检测算法在当前计算机视觉领域中被广泛应用,主要分为两大类:双阶段目标检测算法与单阶段目标检测算法。双阶段目标检测算法的核心思想是先形成一系列候选目标区域,然后对目标区域进行特征提取和分类。在双阶段目标检测算法的发展过程中,Girshick等人[1]于2014年提出了R-CNN算法,该算法在目标检测任务中取得了显著的性能提升,但其训练和推理速度较慢,且需要大量的存储空间。Ren等人[2]提出了Faster R-CNN算法,引入了区域生成网络(Region Proposal Network, RPN),该网络能够直接在特征图上生成候选区域,从而实现了端到端的训练,进一步提高了目标检测的速度。随着深度学习技术的飞速发展,Faster R-CNN作为双阶段目标检测算法的代表,虽然显著提升了缺陷检测的精度,但同时也面临着网络复杂度、候选框数量以及分类与回归子网络复杂度等方面的挑战。这些挑战导致了模型计算量的不断增加,使得在实际应用中需要更高的计算资源和更长的处理时间。单阶段目标检测算法简化了检测流程,将候选区域生成与目标分类定位整合到一个阶段,从而大大提高了检测速度。在单阶段目标检测算法中,Redmon等人[3]于2016年首次提出了YOLO算法。这一算法颠覆了传统目标检测的思路,将复杂的检测任务简化为一个回归问题。通过单个神经网络,YOLO能够同时完成候选区域的生成、目标的分类以及精确的定位,实现了实时且高效的目标检测,为深度学习在缺陷检测领域的应用开辟了新的道路。SSD(Single Shot MultiBox Detector)是单阶段目标检测算法中的代表性工作。Liu等人[4]于2016年提出了SSD算法,该算法采用了多尺度的特征图进行预测,能够同时检测不同尺度的目标。SSD结合了YOLO的高速度和Faster R-CNN的多尺度检测优势,在保持实时性的同时,实现了较高的检测精度。

目前,印刷电路板缺陷检测主要存在以下难点:

1)印刷电路板缺陷目标较小,缺陷相互叠加特征难提取,导致小目标缺陷检测精度较低。

2)缺陷检测网络模型较为复杂,轻量化程度较低,检测速度慢。

为了解决以上问题,本文以YOLOv8作为基准模型.首先,使用简单空间金字塔池化融合模块(SimSPPF),替换了YOLOv8中原有的空间金字塔池化融合模块(SPPF),有效降低了计算复杂度和处理时间,提升了印刷电路板缺陷检测的实时性。其次,改进了瓶颈注意力模块,通过通道注意力分支和空间注意力分支,获得了更强的特征表征能力,有效关注重要信息,屏蔽不重要信息,提升了印刷电路板缺陷的检测精度。

1" YOLOv8算法结构与工作原理

YOLOv8[5]算法模型主要包括主干(Backbone)、颈部(Neck)、头部(Head)三部分,如图1所示。

Backbone:在YOLOv7[6]中C3模块和ELAN概念的基础上,YOLOv8引入了C2f模块,使模型能够获得更加丰富的梯度流信息。C2f模块由2个ConvModule和n个DarknetBottleNeck通过Split和Concat连接组成。此部分还引入了空间金字塔池化(Spatial Pyramid Pooling Fast, SPPF)的快速模块,以提高模型的推理速度,使模型具有更好的学习能力和更短的推理时间。

Neck:主要思想是采用特征金字塔网络(FPN)[7]和路径聚合网络(PAN)[8]架构,增强了模型的特征融合能力。FPN从上到下进行上采样,目的是增加底部特征图中的特征信息;PAN则从下到上进行采样,以获得更多的顶部特征图信息。上层由于额外的网络层而获取更多信息,而下层由于较少的卷积层而保留位置信息。这种使用上采样和下采样技术将高级和低级特征图结合起来,促进了语义和定位特征的传输。通过这种方法,网络能够更好地融合不同尺度物体的特征,从而增强其对不同尺度物体的检测性能。

Head:检测头遵循分类分离的方法,主要涉及损失计算和目标检测过滤框。损失计算过程的任务是确定正负样本分配,而正样本的选择基于分类和回归分数的加权组合。分类分支利用二元交叉熵(BCE)损失,而回归分支则利用分布焦点损失(DFL)[9]和CIoU损失函数。预测框使用了解耦头[10],它能够同时预测分类分数和回归坐标。分类分数由二维矩阵表示每个像素中是否存在对象。回归坐标则用四维矩阵表示物体中心距离每个像素的偏差。最后,采用分类分数和回归坐标计算任务对齐度,即将分类分数与IoU值相结合,以提升精确度。

2" 改进的YOLOv8目标检测算法

2.1" 空间金字塔池化优化

为了提升印刷电路板缺陷检测的实时性,本文引入了速度更快的简单空间金字塔池化融合模块(SimSPPF),以替换YOLOv8模型中原有的SPPF模块。SimSPPF模块最初在YOLOv6[11]中提出,能够有效降低计算复杂度和缩短处理时间。SimSPPF使用了三个5×5的最大池化层来处理输入数据,并生成固定大小的特征图。特征图在深度学习中是非常重要的,因为它们能够增强模型的感受野,并改善特征的表示能力。值得注意的是,SimSPPF采用修正线性单元激活函数(ReLU),如式(1)所示,而SPPF模块则使用平移线性单元激活函数(SiLU),如式(2)所示,激活函数在神经网络中扮演着关键角色,决定了神经元如何根据输入数据来更新其输出。

(1)

(2)

总体来说,ReLU函数相较于SiLU函数在计算效率和梯度传递方面展现出明显优势。具体而言,SiLU函数中的指数计算增加了计算复杂性,而ReLU函数则通过其简洁的非线性特性有效解决了梯度消失的问题,并加快了收敛速度,SimSPPF的具体结构如图2所示。

2.2" 瓶颈注意力模块

针对印刷电路板表面缺陷较小、叠加、难提取的问题,我们改进了瓶颈注意力模块,有效关注重要的信息,屏蔽不重要的信息,从而获得更强的表征能力,提升网络对印刷电路板各类缺陷的精准检测能力。

瓶颈注意力模块(Bottleneck Attention Module, BAM)主要由通道注意力分支(Channel attention branch)和空间注意力分支(Spatial attention branch)两部分组成,如图3所示。根据文献[12]的启示,我们对空间注意力分支和两个分支融合进行了改进,增加了空间注意力分支3×3卷积的层数,扩张了卷积,使其具备更大的感受野。两个分支注意力采用逐元素求和的方式,之后利用Sigmoid函数最终形成3D注意力图。

通道注意力分支实现了对每个通道特定特征信息的有效聚合,对通道特征进行全局平均池化并生成通道向量FC∈RC×1×1,然后利用多层感知器MLP对通道向量估算通道注意力,最后添加批归一化BN处理,调整空间分支输出的尺度。

空间注意力分支主要用来强调或抑制不同位置的特征。使用1×1卷积将特征投影降维,各通道使用相同的减速比对通道分支实现特征压缩和整合,缩减后再利用三个3×3卷积对上下文信息进行有效整合,最后利用1×1卷积将特征再次简化到R1×H×W的空间注意力图中。

2.3" 改进损失函数

针对训练数据中由于距离和长宽比等几何因素,不可避免产生一些低质量的数据,从而降低模型泛化能力。受文献[13]启发,对损失函数进行了改进,将锚框与目标框重合时降低了几何因素的影响,构建了WIoU,如式(3)和式(4)所示。

(3)

(4)

当∈[1,e)时,将显著放大普通锚框的。当∈[0,1)时,锚框与目标框很好地重合,将显著降低锚框及其对中心点之间的距离。其中,Wg、Hg是最小封闭框的尺寸,为了防止产生阻碍收敛的梯度,对Wg、Hg在计算过程中实现分离。

3" 实验结果及分析

3.1" 数据集和实验设置

实验使用的数据集来源于北京大学智能机器人开发实验室,公共合成的印刷电路板电路板瑕疵数据集,该数据集共有1 386张图像,包含漏孔、缺口、短路、开路、余铜、毛刺6种缺陷类别,每张图像的平均尺寸为2 777×2 138。由于数据集图像数量较少,采用数据增广技术对数据集进行处理,处理后图像大小为600×600,训练集图像9 930张,每类图像1 655张;测试集图像1 254张,验证集图像1 254张,每类图像209张。

3.2" 评价标准

本文采用每秒钟处理帧数(Frame Per Second, FPS)、精确度(Precision, P)、召回率(Recall, R)、平均精度(Average Precision, AP)以及平均精度均值(mean Average Precision, mAP)作为模型评价指标。其中,FPS指每秒钟检测图像的帧数,是衡量模型速度的指标;如式(5)所示,精确度(P)又称查准率,指预测结果中实际为正样本数量占正例的样本的比例,TP为真正例,FP为假正例;如式(6)所示,召回率(R)又称查全率,指预测结果中为正样本中实际正样本数量占全体样本中正样本的比例;平均精度AP指由精确度和召回率绘制的P-R曲线下所占的面积,用于衡量目标检测的性能;mAP指对所有类别AP值求平均值。

(5)

(6)

3.3" 实验平台及参数

实验采用的硬件设备为20核CPU,显卡为NVIDIA RTX 4090 24 GB,内存为80 GB,工作空间为50 GB。本研究的软件环境基于Ubuntu 18.04操作系统,并配备了CUDA 11.8以支持高性能计算。为了构建网络模型,选用了PyTorch框架,并确保其与Python 3.8版本以及PyTorch 1.12.0版本兼容。在参数配置方面,本研究参照了袁梦等人[14]的研究,对超参数进行了细致的调整:将每个批次的样本数(batch size)设置为16,以确保在训练过程中的计算效率和内存使用达到平衡;将整个训练周期(epoch)设定为200次,以充分优化模型性能。此外,初始学习率被设置为0.01,随着训练的进行,学习率将逐渐降低至0.000 1,以实现更精细的模型调整。

3.4" 消融实验

为了对比分析三种不同方案在提升YOLOv8网络模型性能方面的实际效果及其有效性,在保持软硬件配置和参数设置完全一致的基础上,设计并实施了一系列对比实验。在这些实验中,分别对比分析了原始YOLOv8网络模型与两种或三种改进方案后的表现。通过对比实验结果,能够清晰地观察到不同方案对模型优化效果的贡献,从而更全面地验证其改进效果与有效性。实验结果如表1所示。

消融实验结果分析:

1)第一组实验为原始YOLOv8模型检测结果,实验结果将作为后四组实验的基准对照,mAP@0.5值为84.5%。

2)第二组实验在YOLOv8的基础上,添加了SimSPPF模块和WIoU损失函数两种改进方法,mAP@0.5值为86.7%,与第一组相比,精确度和召回率有所提升,计算量和参数量提升不大。

3)第三组实验在YOLOv8的基础上,添加了瓶颈注意力模块和WIoU损失函数两种改进方法,mAP@0.5值为85.1%,与第二组相比,精确度有所降低。

4)第四组实验使用了SimSPPF模块和瓶颈注意力模块,mAP@0.5值为89.5%,与前几组相比,精确度和召回率有显著提升,计算量和参数量提升不大。

5)第五组实验使用了SimSPPF模块、瓶颈注意力模块和WIoU损失函数,mAP@0.5值、精确率及召回率相较于其他四组均较高,对于印刷电路板缺陷的检测效果有了大幅度提升。

3.5" 对比实验

为了深入分析改进后的方法在印刷电路板缺陷检测和识别方面的性能表现,本研究特意设置了一系列对比实验,将改进后的方法作为独立对象进行评测,以更精确地评估所提方法对于提升缺陷检测和识别效果的实际贡献。实验结果如表2所示。

根据实验结果对比分析,本研究提出了SimSPPF模块、瓶颈注意力机制、WIoU损失函数3种改进方法。在精确率方面,YOLOv8+BAM与其他改进方法相比,表现效果较好;在召回率方面,3种改进方法与原始YOLOv8方法相比,表现较好,但是差异不显著;在平均精度均值方面,3种改进方法与原始YOLOv8方法相比,表现略好,但是差异不显著。

为了验证改进的YOLOv8模型的检测效果,本研究对印刷电路板缺陷数据集随机抽取了6类缺陷数据进行检测,分别采用YOLOv8+SimSPPF、YOLOv8+BAM、YOLOv8+WIoU与本文模型进行检测结果对比,具体结果分析如图4所示。对于漏洞、缺口两种缺陷类型,模型YOLOv8+WIoU与本文模型的检测精度相对较高,损失函数WIoU对比分析过程中效果较好。对于短路、开路、余铜、毛刺四种缺陷类型,4种模型均未出现漏检的情况,相比之下,本文模型在平均检测精度方面,略高于其他模型。

4" 结" 论

本文采用YOLOv8网络架构,提出了一种能够实时检测小目标物体的模型。使用简单空间金字塔池化融合模块,有效降低了计算复杂度和处理时间,提升了检测效率。为了进一步加强模型的特征表征能力,改进了瓶颈注意力模块,利用通道注意力分支和空间注意力分支,使模型更好地关注小目标物体,有效检测小目标缺陷。本研究在检测精度和检测实效方面均有较好的表现,对实际缺陷检测具有重要意义。

参考文献:

[1] GIRSHICK R,DONAHUE J,DARRELL T,et al. Rich Feature Hierarchies for Accurate Object Detection and Semantic Segmentation [C]//2014 IEEE Conference on Computer Vision and Pattern Recognition.Columbus:IEEE,2014:580-587.

[2] REN Q S,HE K M,GIRSHICK R,et al. Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks [J]//IEEE Transactions on Pattern Analysis and Machine Intelligence,2017,39(6):1137-1149

[3] REDMON J,DIVVALA S,GIRSHICK R,et al. You Only Look Once: Unified, Real-Time Object Detection [C]//2016 IEEE Conference on Computer Vision and Pattern Recognition (CVPR).Las Vegas:IEEE,2016:779-788.

[4] LIU W,ANGUELOV D,ERHAN D,et al. SSD: Single Shot MultiBox Detector [C]//Computer Vision-ECCV 2016.Amsterdam:Springer,2015:21-37.

[5] GitHub. ultralytics/ultralytics [EB/OL].[2024-05-16].https://github.com/ultralytics/ultralytics.

[6] WANG C Y,BOCHKOVSKIY A,LIAO H Y M. YOLOv7: Trainable Bag-of-Freebies Sets New State-of-the-Art for Real-Time Object Detectors [C]//2023 IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR).Vancouver:IEEE,2023:7464-7475.

[7] LIN T Y,DOLLÁR PIOTR,GIRSHICK ROSS,et al. Feature Pyramid Networks for Object Detection [C]//2017 IEEE Conference on Computer Vision and Pattern Recognition (CVPR).Honolulu:IEEE,2017:936-944.

[8] LIU S,QI L,SHI J P,et al. Path Aggregation Network for Instance Segmentation [C]//2018 IEEE/CVF Conference on Computer Vision and Pattern Recognition.Salt Lake City:IEEE,2018:8759-8768.

[9] HOSSAIN M S,BETTS J M,PAPLINSKI A P. Dual Focal Loss to address class imbalance in semantic segmentation [J].Neurocomputing,2021,462:69-87.

[10] GE Z,LIU S T,WANG F,et al. YOLOX: Exceeding YOLO Series in 2021 [J/OL].arXiv:2107.0843 [cs.CV].(2021-07-18).https://arxiv.org/abs/2107.08430.

[11] LI C Y,LI L L,JIANG H L,et al. YOLOv6: A Single-Stage Object Detection Framework for Industrial Applications [J/OL].arXiv:2209.02976 [cs.CV].(2021-09-01).https://arxiv.org/abs/2209.02976.

[12] PARK J,WOO S,LEE J Y,et al. BAM: Bottleneck Attention Module [J/OL].arXiv:1807.06514 [cs.CV].(2018-07-17).https://arxiv.org/abs/1807.06514.

[13] TONG Z J,CHEN Y H,XU Z W,et al. Wise-IoU: Bounding Box Regression Loss with Dynamic Focusing Mechanism [J/OL].arXiv:2301.10051 [cs.CV].(2023-01-24).https://arxiv.org/abs/2301.10051.

[14] 袁梦,苏工兵,王晶,等.基于 BCGS-YOLOv7 tiny 的零件表面微小缺陷检测 [J].制造技术与机床,2023(10):137-144.

作者简介:金强山(1990—),男,汉族,甘肃永昌人,副教授,硕士,研究方向:数字图像修复。

标签:  缺陷 

免责声明

本文来自网络,不代表本站立场。如有不愿意被转载的情况,请联系我们。

iidomino cuppor