APP下载

基于深度学习的PCB焊锡缺陷检测

2024-02-21卢小康欧阳华兵

无线电工程 2024年2期
关键词:焊锡注意力卷积

卢小康,欧阳华兵*,陈 田,刘 军

(1.上海电机学院 机械学院,上海 201306;2.上海电机学院 凯劳智能制造学院,上海 201306)

0 引言

印刷电路板(PCB)作为现代电子产品的基础部件,在通信电子、汽车电子、医疗电子以及航空航天等多个领域均得到了广泛应用[1]。新时代,随着人工智能、大数据等新兴技术的急速发展,人们对电子产品的需求和质量的要求不断提高。然而,PCB在制作过程中,由于涉及的工序较多,每个工序都可能出现短路、断路、毛刺、焊点缺焊、缺口和余铜等多种缺陷[2-3],极大地影响了电子产品的性能和安全质量。PCB上需要连接的电子元件众多,这就意味着各电子元件焊接过程中容易出现焊接质量缺陷,而这些缺陷对电子产品的最终性能造成很大影响。因此,对其进行质量检测是一项非常重要的工作[4-5]。

最初PCB缺陷主要采用人工检测的方法,该方法人工成本高、效率低、主观性强[6]。随着智能制造产业的发展,工业生产越来越趋向自动化,自动化检测技术的应用也越来越广泛[7-9]。机器视觉代替人工实现24 h全天检测,有效避免了工人的疲劳和主观缺陷。但获取的PCB缺陷图像质量无法得到精确控制,严重影响了识别效率。近年来,随着深度学习算法的发展,许多学者开始将其广泛应用到工业缺陷检测领域,并取得了显著的成绩[10]。

Park等[11]针对焊膏缺陷大小不一、图像收集困难等问题,提出一种D3PointNet的双层缺陷检测模型。实验表明,所提出的模型具有较高的鲁棒性,并且匹配得分较现有CNN模型提高了10.2%。Park等[12]针对检测图像和训练图像尺寸不同而导致CNN检测性能下降的问题,提出了一种基于MarsNet的多标签分类网络。修改扩张残差网络使其可以获得高分辨率特征图,并利用水平垂直池化聚合特征图中的位置信息。通过在PCB锡膏数据集上实验,验证了网络对不同尺寸的图片均有较好的检测效果。Hu等[13]提出了一种基于Faster R-CNN的PCB缺陷检测算法。首先,使用ResNet50作为主干网络,使其能更好地检测小目标;其次,使用GARPN预测更准确的锚点,并合并ShuffleNetV2的剩余单元。实验表明,改进的网络较原Faster R-CNN,在平均精度均值(mean Average Precision,mAP)和检测速度(FPS)上分别提高了9%和每张图像0.042 s。胡珊珊等[14]针对PCB缺陷较小且较为复杂等特点,提出一种基于Faster R-CNN的PCB缺陷检测网络。首先,使用多层卷积对不同维度的特征进行提取;其次,使用上采样和跳跃连接将不同尺度的特征进行融合;最后,利用RPN和ROI-Pooling定位特征图的ROI区域并进行特征提取。实验表明,该方法对PCB导线和焊点缺陷检测的mAP可以达到98.6%,并且可移植性强。Zhang等[15]将特征金字塔网络应用于PCB缺陷检测模型中,通过构建不同尺度的特征图来检测不同大小的缺陷。通过在多个PCB数据集上实验,证明了该网络的有效性。

本文提出一种基于轻量化YOLOv5s的PCB缺陷检测算法。为提高模型对小目标的检测性能,在骨干网络中添加卷积块注意力模块(Convolutional Block Attention Module,CBAM)并增加一个包含更多信息的浅层有效特征。使用C3-CBAM替换PANet中C3模块进一步提高模型对缺陷的感知能力。使用深度可分离卷积(Depthwise Separable Convolution,DWC)替换PANet结构中的下采样操作并去掉检测大目标的Yolo Head结构层,在保证模型检测精度的同时减少模型参数。通过在自制PCB焊锡缺陷数据集上实验,将本文改进算法同常见的目标检测算法进行对比。

1 YOLOv5算法

YOLO算法是一种单阶段的目标检测算法,有效提高了模型的检测速度,为目标检测提供了一种新的研究思路。2020年6月Glenn Jocher在GitHub上发布了YOLOv5算法,根据网络的深度和宽度从小到大YOLOv5算法分可以分为s、m、l、x四种版本。与YOLOv4相比,YOLOv5的检测精度(Average Precision,AP)、FPS等指标都得到了提升并且模型参数量大幅度降低。其中,YOLOv5s是该系列中是深度最小的一个算法,模型参数量仅有7.06 M,约是YOLOv4的1/9。YOLOv5结构框架如图1所示。

图1 YOLOv5模型框架示意Fig.1 Schematic of the YOLOv5 model framework

从图1可以看出,与之前YOLO系列算法类似,YOLOv5网络结构可以划分成Backbone、FPN和Yolo Head三部分。其中,Backbone是YOLOv5的主干网络,用于对输入的图片进行特征提取。在Backbone中将得到3个有效特征层,这3个有效特征层会参与到接下来加强特征金字塔的构建。FPN是YOLOv5的加强特征提取网络,对在Backbone中获得的有效特征层继续进行特征提取。YOLOv5使用PANet结构,对底层特征先进行上采样操作后与上一层的特征进行融合,然后再将融合得到的上层特征进行下采样操作后与底层特征进行融合。通过对不同维度的特征层进行多次特征融合,来提高模型的检测效果。Yolo Head是YOLOv5的分类器与回归器,通过Backbone和FPN处理后可以获得 3个(n×n×75)加强特征层。将3个加强特征层传入Yolo Head,分别将其划分为一个n×n的网格,判断其中是否存在检测目标,然后根据提取的特征信息对先验框进行调整,得到每个特征层的预测结果。对3个特征层分别进行一次解码操作后,选择置信度最大的一个作为最终检测结果[16]。

2 算法改进

2.1 新增浅层有效特征层

2.2 注意力机制

随着网络的加深,图片中的一些纹理、轮廓等信息丢失。针对此问题,本文引入CBAM[17]来突出关键的PCB缺陷特征,弱化无关信息,以提高网络对小目标的检测能力。CBAM注意力机制的结构如 图2所示。CBAM注意力机制会对输入的特征层分别进行通道和空间上的特征提取,不仅节约了模型的参数和计算力,而且相比于SE等只关注于通道的注意力机制来说,CBAM注意力机制具有更好的效果。因此,在主干网络中各有效特征层的后面加入CBAM注意力机制来筛选PCB缺陷特征信息。

图2 CBAM注意力机制结构Fig.2 Structure of CBAM attention mechanism

2.3 C3-CBAM

随着网络层数的加深,PCB缺陷在整个特征图中占据的像素变小,导致其检测效果较差。针对这一问题,使用C3-CBAM模块替代PANet结构中的C3模块,提高模型对PCB缺陷信息的关注力。C3-CBAM结构如图3所示。

图3 C3-CBAM结构Fig.3 C3-CBAM structure

在主干部分的基本卷积块之后加入一个CBAM注意力机制,来增加网络对缺陷信息的关注力,增强网络的检测效果。

2.4 DWC

DWC可以看成是一个3×3的逐通道卷积(Depthwise Convolution)与一个1×1的逐点卷积(Pointwise Convolution)两个过程。对于一个大小为DF×DF,通道数为M的输入特征图来说,采用一个卷积核大小为DK×DK的卷积进行卷积操作,使其输出通道数变成N,普通卷积的计算量和DWC的计算量分别如式(1)和式(2)所示:

根据式(1)和式(2)可以计算出DWC与普通卷积计算量的比值为:

(3)

根据式(3)可以计算出,对于一个2×2的卷积,DWC比普通卷积的计算量减少了75%左右,有效减少了模型的体积。

2.5 删除Yolo Head层

YOLOv5采用3个Yolo Head检测层,在训练进行前,会事先给3个特征层分配3个不同尺度的先验框,用来检测小、中、大3种不同尺寸的目标。本文研究的PCB缺陷属于小目标检测,对于一张输入为608 pixel×608 pixel的图片来说,最后得到的19×19的特征层单个网格划分较大,在经过下采样后捕获的PCB缺陷信息较少,达不到较好的训练效果,故将其去除,而且去掉后可以进一步减少模型参数量和计算量。

办金钱案、关系案、人情案,“吃了原告吃被告”,人民群众对此深恶痛绝。下大力气推行司法责任制改革,科学配置司法职权、保障司法权科学规范运行、完善司法监督制约机制,实现“让审理者裁判、由裁判者负责”,成为牵引司法体制改革的“牛鼻子”。

改进后的YOLOv5s网络框架示意如图4所示。

图4 改进YOLOv5s模型框架示意Fig.4 Schematic of the improved YOLOv5s model framework

通过在主干网络中增加CBAM使模型更关注缺陷信息的提取。通过增加新的浅层有效特征层参与到PANet结构的特征融合,提高模型对PCB缺陷的检测能力。为进一步减少模型的计算量,使用DWC替换PANet结构中下采样的普通卷积。去除检测大目标的Yolo Head结构层,减少模型的参数量,提高模型的检测速度。

3 实验与分析

3.1 实验环境

本文实验采用Windows 10操作系统,显卡型号为RTX3060 12 GB显存,CPU为12代的i5 12490F。使用Python 3.9编程语言,PyTorch 1.7.1深度学习框架搭建网络,选用Anaconda3工具进行开发环境配置,使用PyCharm进行开发。

3.2 数据集

本文采用自制数据集,主要包括引脚多焊锡、多焊锡2种缺陷共180张图片。由于原始数据集较少,故根据图像在实际采集过程中可能遇到的情况对图像进行随机角度的旋转、亮度调节、曝光值调节和添加噪声处理等操作对数据集进行扩充。本文共制作了4 240张不同角度、光线强度的图片。图5展示了对同一张图片进行数据增强操作生成的部分图片。

本文采集的PCB焊锡缺陷图片使用labelImg进行标注,标注文件格式为xml,标注结果如图6所示。

图6 图像标注Fig.6 Image annotation

3.3 实验评价标准

实验采用精确度(Precision,P)、召回率(Recall,R)、AP和mAP等作为模型的评价指标。具体计算如下:

式中:TP为缺陷检测正确的个数,FP为缺陷误检个数,FN为缺陷漏检个数。可以看出,P用来评价算法寻找目标的准确性,其值越大说明模型的误检率越低。R用来评价算法找出数据集中某一类样本的能力,其值越大说明模型的漏检率越低。F1是体现精确度和召回率的重要指标。

AP和mAP的计算如下:

式中:n为待检测目标的总类数,APi为第i类目标的AP值。可以看出,AP值用于衡量算法在检测目标时的P和R,AP值的大小与检测效果成正比。mAP表示算法整体检测性能的好坏,mAP越大则模型整体检测性能越好。

3.4 参数设置

相较于ImageNet等数据集来说,本文制作的PCB焊锡缺陷数据集的数量较少,直接进行训练达不到较高的识别率。因此,通过使用迁移学习来对模型进行优化,可以在数据集较小的情况下加快模型的收敛速度,并使模型获得更高的准确率。迁移学习策略主要是前期先冻结主干网络,只训练FPN部分,后期再将主干网络解冻,在全网络上训练模型。实验具体的参数设置如表1所示。

表1 实验参数设置

3.5 实验结果与分析

3.5.1 消融实验

为验证本文提出各种改进措施的有效性,共设置了YOLOv5s、YOLOv5s_A(YOLOv5s+增加CBAM注意力模块)、YOLOv5s_B(YOLOv5s_A+增加新增浅层特征层+C3-CBAM)和YOLOv5s_C(YOLOv5s_B+使用DWC+去掉Yolo Head层)四组消融实验,各算法的具体实验结果如表2所示。

表2 训练结果

通过表2可以看出,YOLOv5s_A各性能指标较原YOLOv5s均得到改善,其中YOLOv5s_A的mAP达到96.89%,在增加少量参数的前提下,mAP提高了2.82%。YOLOv5s_B的检测性能较YOLOv5s_A得到了进一步的提升,mAP达到了99.41%,较原YOLOv5s提高了 5.49%。YOLOv5s_C较YOLOv5s_B在参数量减少了27.47%的情况下,仍能保持与YOLOv5s_B一样较高的检测性能,mAP达到了 99.46%。通过以上消融实验可以看出,本文提出的算法在降低参数量的同时提高了模型的mAP。

3.5.2对比试验

在相同的硬件条件以及在相同模型训练参数设置的情况下,将本文改进的YOLOv5s算法同目前常见的缺陷检测算法进行对比,具体结果如表3所示。

表3 不同算法性能指标对比

从表3可以看出,本文改进的算法参数量较原YOLOv5s算法减少了24.8%,并且参数量远远小于Faster R-CNN等算法。此外,本文算法的检测效果较Faster R-CNN、SDD、YOLOv4以及原YOLOv5s和YOLOv7模型均得到了提升,其mAP达到了99.46%,相较于Faster R-CNN、SSD、YOLOv4和原YOLOv5s算法分别提高了345%、326%、16.37%、5.54%,比更先进的YOLOv7算法检测精度更高,并且参数量减少85.72%。各算法对同一张存在多种缺陷图片的检测结果如图7所示。

图7 不同算法检测效果对比Fig.7 Comparison of detection effects of different algorithms

从图7可以看出,对于同一张图片,Faster R-CNN、SSD算法存在大量漏检情况,检测效果最差。YOLOv4算法的检测效果要明显优于前2种算法,但仍然存在较多漏检。YOLOv5s和更为先进的YOLOv7算法的检测效果较好,但仍存在极少漏检情况。而本文改进的YOLOv5s算法可检测出更多的缺陷,大大减少了模型的漏检率。

综上分析,本文改进的模型具有模型参数少、误检率低、准确率高和查全率高等优点,可以更好实现PCB缺陷检测。

4 结束语

针对现有PCB缺陷检测算法存在的检测时间长、检测结果精度差和漏检率高等问题,本文在原YOLOv5s算法的基础上进行了多方面改进。通过添加注意力机制和引入浅层特征层,提高模型对小目标检测的效果。此外,通过使用DWC和删除用于检测大目标的Yolo Head结构层,使模型参数量减少了27.47%。在自制PCB焊锡缺陷数据集上进行的多组对比试验结果表明,改进的网络较原网络在平均精度、模型体积等方面均取得了不错的效果,漏检问题得到很大改进。之后将进一步提高算法的检测能力,同时减少模型参数,使其可以在嵌入式设备上部署。

猜你喜欢

焊锡注意力卷积
芯片封装用高精度BGA焊锡球开发及产业化
让注意力“飞”回来
基于3D-Winograd的快速卷积算法设计及FPGA实现
微型步进马达FPC与定子组自动焊锡设备设计
从滤波器理解卷积
专利名称:一种废电路板焊锡回收装置
基于傅里叶域卷积表示的目标跟踪算法
“扬眼”APP:让注意力“变现”
A Beautiful Way Of Looking At Things
一种基于卷积神经网络的性别识别方法