张鹏飞 王淑青 王年涛 顿伟超 黄剑锋
[摘 要]为解决传统PCB裸板缺陷检测效率低、误检率高、通用性差等问题,提出一种基于改进MobileNetV3的PCB表面缺陷检测模型。首先对PCB数据集进行预处理,然后采用多方向协调注意力代替原网络中的挤压和激励注意力模块,提升特征定位精度从而增强感受野;最后利用软池化优化MobileNetV3的末端结构,以在简化后的激活映射中保留更多的特征信息。实验结果证明,提出的模型对PCB裸板缺陷检测的平均准确率可达96.1%,图片平均检测速度为25.1 ms,能够高效识别PCB裸板的多种缺陷类型,对工业生产中PCB裸板的质量检测有实际应用价值。
[关键词]PCB裸板;缺陷检测;MobileNetV3;软池化;深度学习
[中图分类号]TP391.4[文献标识码]A
随着电子通讯、智能驾驶、智慧医疗、工业控制等领域的电力电子设备向着高精密、智能化及更加轻薄的方向发展,印刷电路板(PCB)的电路绘制以及功能元件量也越来越多,PCB高度集成模块化也是必然趋势[1]。但PCB作为电子产品的核心组件,其生产工艺非常复杂,包含繁多的制造工序,这将导致PCB在生产过程中不可避免地出现多种质量缺陷,影响整体性能[2]。因此,PCB裸板缺陷检测在整个生产制造工艺过程中显得极为重要。
目前,PCB裸板缺陷检测方法可分为三大类:接触检测法、机器视觉检测法及深度学习检测法[3]。其中前两类传统方法中存在检测效率低以及易受人为因素影响的问题,而深度学习检测法[4]既符合当前人工智能时代的发展趋势,同时也可以更好的解决这些问题。V. A. Adibhatla等[5]采用卷积神经网络对PCB图像进行了缺陷分类,精度较低。在此基础上,瞿栋等[6]使用卷积神经网络结合迁移学习对PCB图像进行了缺陷检测,但检测缺陷类型较少。耿朝辉等[7]在Faster RCNN网络中加入了特征金字塔并优化损失函数对PCB裸板的多种缺陷进行检测,但数据集数量较小有待优化。谢黎等[8]通过在YOLOv4网络中强化特征融合,并结合Kmeans聚类改进网络模型对电路板元器件进行了缺陷检测。为进一步提高PCB裸板的检测精度及速度,降低误检率,本研究采用前沿的轻量级网络MobileNetV3[9],并通过改进注意力机制及池化效果增强了模型的整体性能,实现对PCB裸板多种缺陷的高效检测,对PCB裸板生产工艺的质量规范具有实际意义。
1 PCB裸板检测网络原理
PCB裸板缺陷检测方法主要采用MobileNetV3[9]网络,是由Google在2019年提出的网络架构,其网络建立在高效的构建块bneck上(图1)。
MobileNetV3首先引入深度可分离卷积(DSConv),对传统卷积层进行有效替换。DSConv通过把空间滤波从特征生成机制中分离而出,有效分解了传统卷积。DSConv由两个单独的层来定义,分别为用于空间滤波的轻量级深度卷积和用于特征生产的1×1点卷积构成。其次,引入了线性瓶颈的倒置残差结构,通过采用低秩特性实现更高效的层结构,该结构由1×1膨胀卷积,深度可分离卷积以及1×1映射层构成。当且仅当输入和输出具有相同数量的通道时,使用残差连接的方式,使结构输入和输出更加紧凑,同时在内部扩展到高维度特征空间,以增加非线性(NL)全通道转换的性能。
在此基础上,线性瓶颈结构中引入了挤压和激励的注意力模块(SE)[10],同时提出了一种新的激活函数H-Swish,增强特征提取精度,并提升检测速度,公式如下:
H-Swishx=x·ReLU6(x+3)/6
式中,ReLU6为激活函数。为进一步提高网络预测功能,采用多方向协调注意力(MCA)模块替换SE模块,并对MobileNetV3的网络末端进行了进一步优化,采用软池化(Soft Pool)替代平均池化(Avg Pool)[11],提高PCB裸板缺陷的检测性能。
2 特征提取网络优化
2.1 多方向协调注意力机制
SE模块只考虑通过构建通道关系来重新衡量每个通道的重要性,而忽略了同样重要的位置信息。为此,本文采用MCA模块替换SE模块对特征提取网络进行改进。MCA模块可以看作是一个计算单元,分为两步:协调信息嵌入和协调注意力生成;通过捕获位置信息和通道之间的明确关系,以增强移动网络的特征表达能力(图2)。
如图2所示,在信道注意力中,通常使用全局池化(Global Pooling)[11]对空间信息进行全局编码,但全局空间信息压缩到信息描述符中往往无法保存位置信息,而位置信息是PCB裸板缺陷检测的关键。首先,通过选择任意特征张量X=x1,x2,…,xC∈RC×H×W作为输入,输出为一个带有增广表示的变换张量Y=y1,y2,…,yC大小与X相同,其中R是对应二维空间区域的特征激活映射集合,C为通道数,H为高度,W为宽度。为激励注意力模块通过精确的位置信息捕捉远距离空间交互作用,将全局池化对应分解为一对一维编码操作,给定输入X,通过两个池化核空间范围(H,1)或(1,W)分别沿水平坐标核垂直坐标对每个通道进行编码。因此,可以将第c个通道在高度h处的输出表示如下:
式(1)中,W為通道宽度特征向量,xc为第c个通道的输入值。同理可以得出第c个通道在宽度w处的输出表达式:
式(2)中,H为通道高度特征向量,xc为第c个通道的输入值。以上两种转换操作分别沿着两个空间方向聚合特征,生成一对方向感知特征映射。这与SE模块中的挤压操作是不同的。这两种转换操作让注意力块捕捉到空间方向上的长期依赖关系,并在另一个空间方向上保留了精确的位置信息,使得网络能够更加精准的定位感兴趣区域。
为进一步利用式(1)和式(2)产生的表达性特征,采用协调注意力生成的方式尽可能地保持提取过程的简洁和高效,捕捉通道间的联系;同时可以充分利用定位信息,准确地突出感兴趣区域。协调注意力机制将生成的聚合特征映射连接起来,然后传送到1×1卷积变换函数F1中,具体操作见下式:
式中,f∈RC/r×(H+W)是中间过程在水平和垂直方向上的编码空间信息特征表示,其中r是控制模块大小的缩减比例参数,如SE模块。δ为非线性激活函数;[zh,zw]为空间维度的连接操作。对生成的卷积进行批量归一化及非线性操作之后,沿着空间维度将f函数分解为两个张量,分别为fh∈RC/r×H和fw∈RC/r×W。通过两个1×1卷积变换函数Fh和Fw分别将fh和fw变换到与原有输入X相同通道数的张量上来,如下:
式中,ρ表示激活函数H-Swish,gh和gw表示不同方向上的注意力权重。最后结合各通道输入值xc构成MCA模块的最终输出,如下:
式中,ghc(i),gwcj分别表示不同方向上第c个通道的权重值,yci.j为第c个通道的注意力模块输出值。MCA模块不同于只关注衡量不同通道重要性的SE模块,在水平和垂直方向同时施加注意力作用于输入张量,以确认两种特征表示中的每个元素是否存在于感兴趣区域的对应位置。这种操作方式使MCA模块能更精确地定位有效特征位置,从而实现对PCB裸板上各类缺陷的有效识别。
2.2 软池化方式
Soft Pool是基于Softmax[12]的加权方法,采用自然指数e以确保较大的激活值对输出产生更大的影响,同时保持了可微性,软池化包含了信息的正向传播和反向传播过程中的梯度计算,也就是下采样过程[7];与其他池化方式相似,都具有一个用于描述非线性变换域与对应激活关系的权重值wi,且
式中,每个激活ai和对应的映射i都具有一个对应权重wi,表示为特定激活指数相对于邻域R内所有激活指数总和的占比。这使得在2维特征空间中能够突出更大的激活特性,以保留PCB裸板图像中更易于区别的特征,相比于均值池化更具备合理性。软池化操作的输出值是通过内核领域R内的所有加权激活总和而产生的,如下式:
最终,将式(1)代入式(2)得到软池化具体描述公式如下:
与原有的Avg Pool[9]相比,Soft Pool不需要可训练的参数,并具有更大的计算和记忆效率,由于Soft Pool具有可微性,在反向传播过程中为每个输入获得了梯度值,提高了训练速度。既对整个区域显示进行了一定程度的抑制,又保留了一些较为突出的特征,这对于更加精准的检测PCB裸板的缺陷是更加有利的,PCB图像特征的软池化过程见图3。
如图3所示,通过2×2卷积核对原始PCB图像进行下采样,输出基于内核区域内原始像素的指数加权和,从而改善高对比度区域、线路边缘区域以及特定特征激活映射,更好地提取PCB裸板的缺陷特征。
特征提取网络使用池化操作来减小激活映射,这个过程对于增加接收域和减少后续卷积计算量是至关重要的。为在初始映射过程中不增加额外计算量条件下保留更丰富的最小化信息,采用上述Soft Pool操作,替换MobileNetV3末端网络中的Avg Pool操作,改进后的末端网络结构如图4所示。
最后,将改进的MobileNetV3作为主干网络(Backbone),以YOLOv5[13]网络作为检测模型,实现PCB裸板的缺陷检测,检测模型整体框架如图5所示。
3 实验过程与结果分析
3.1 实验环境配置
本实验的平台为PC机Windows10系统,CPU为 Intel(R) Core (TM) i7-10700K @3.8GHz、GPU为NVIDIA GeForce RTX 3080Ti、显存12G,内存16G;实验环境及软件为Anaconda3、PyCharm 2020.2.1、GPU 加 速 包 为 CUDA11.1 和CUDnn10.1以及深度学习框架Pytorch 1.7。
3.2 数据预处理
实验采用PCB公共数据集[13],共包含10668张PCB裸板图像,其中包含短路、断路、缺口、余铜、漏焊、毛刺6种缺陷类型(图6)。
采用LableImage对PCB裸板的6种缺陷类型进行标记,生成对应的.xml格式文件,文件内主要包含了PCB裸板图片名称filename,图片尺寸宽度width和高度heights,标注目标object,类别标签lables,标注框bndbox及其位置信息xmin、ymin、xmax、ymax等。数据按训练集和测试集7∶3的比例随机分配,其中训练集7467张图像,测试集包含3201张图像。在训练前,对数据设置文件内VOC、COCO的类别名称、数量以及训练路径等相关参数进行初始化。在训练过程中采用动量衰减因子为0.9的SGD优化器对所有模型進行训练,调整图像大小为608×608,批处理大小设为8,最大迭代轮数设为300轮;权重衰减系数设为0.0005,初始学习速率设为0.001。
3.3 模型评估指标
模型评估指标是衡量模型好坏的重要参数,其中平均精度值(AP)是根据在PCB裸板数据集上预测得到的精确率(Precision)和召回率(Recall)决定的,如下:
式中,TP为被正确预测的正类、FP为被正确预测的负类、FN为被错误预测的正类。以Precision为纵轴,Recall为横轴的曲线被称为P-R曲线,曲线下围成的面积占总面积的比例为AP。PCB裸板各类缺陷的AP平均值为mAP值;FPS为每秒处理图片的帧数,上述各指标值越大,说明检测模型的预测效果越好。模型的损失值(Loss)表示预测样本与真实样本的误差,Loss越小代表模型越稳定,检测效果越好。
3.4 模型结果与分析
训练完的模型会生成对应的训练日志,其中包含了所有迭代轮数下的评估指标,通过适当的平滑处理,将PCB裸板缺陷检测模型的整体平均损失值、训练精度值以及召回率绘制成相应曲线图,进行模型评估(图7、图8)。
从图7可以看出,模型整体平均损失值曲线收敛速度较快,在300轮次的迭代下,最终损失值降至0.001以下,说明PCB裸板缺陷分类的效果较好,预测值与真实值之间的偏差较低,有着较稳定的缺陷检测性能。
从图8可以看出,PCB裸板缺陷检测模型的精度值及召回率较高,表示该模型能对于PCB裸板各类缺陷进行精准的预测,漏检率较低;同时较高的召回率可以大大减低PCB裸板缺陷的误检率,最终的平均精确值和召回率分别为98.52%、94.76%,能够较好地完成PCB裸板的缺陷检测任务。
在完成PCB裸板缺陷检测模型的训练及指标获取后,为进一步对改进的模型进行评估,保持实验环境配置信息不变,使用Faster-RCNN[7]、SSD[14]、YOLOv4[8]和YOLOv5[15]深度學习模型在相同数据集上测试,并选择上述模型的最佳权重在测试集上进行比较,各模型的PCB缺陷裸板缺陷平均精度值AP对比见表1;各模型整体性能对比见表2。
由表1和表2可知,与Faster-RCNN、SSD、YOLOv4模型相比,改进的模型mAP值分别提升了7.7.%,9.9%,4.3%;每秒检测图片的速度分别提升了20.9帧,12.5帧,7.3帧,模型性能占明显优势。对于不同主干网络的YOLOv5模型,改进的模型比YOLOv5m提高了1.4%,比YOLOv5(MobileNetV3)提升了2.8%;而检测速度比YOLOv5m降低了0.8帧,比YOLOv5(MobileNetV3)降低了3.9帧。虽然检测速度有些许下降,但同样满足PCB裸板工业缺陷检测需求,并且在此基础上提高了缺陷检测精度,这对于PCB裸板生产的质量保障更为重要;由此证明,改进后的PCB裸板缺陷检测模型的综合性能效果更好,PCB裸板缺陷检测结果见图9。
从图中可以看出,改进后的模型对于PCB裸板的短路、断路、余铜、漏焊、缺口、毛刺6类缺陷的实际检测效果较好,其中一些较小的缺陷,如缺口、毛刺也能很好的识别,强化了PCB裸板多种缺陷的检测性能,大大降低了误检率。
4 结论
提出了一种改进MobileNetV3特征提取网络的PCB裸板表面缺陷检测方法,通过多方向协调注意力模块优化MobileNetV3线性瓶颈结构中的挤压和激励注意力跨块,结合通道和位置信息的明确关系,增强网络的表征能力;并采用Soft Pool替换MobileNetV3末端网络的平均池化操作,保留了更丰富的最小化特征信息。采用YOLOv5网络作为检测模型,完成PCB裸板缺陷检测;由模型的评估及对比实验可知,提出的模型检测效果更好,具有更强的综合性能,可部署于PCB裸板工业缺陷检测环节中,对PCB裸板的质量保障具有一定的实际意义。
[ 参 考 文 献 ]
[1] 李磊, 秦伟鹏, 江庭富. 印制电路板钻孔毛刺的产生原因与改善探讨[J].印制电路信息, 2021, 29(11): 10-13.
[2] IKIRI Y, FUMIYA SAKO, MASAKI HASHIZUME, et al. Open defect detection in assembled circuit boards with built-in relaxation oscillators[J]. In IEEE Transactions on Components, Packaging and Manufacturing Technology, 2021, 11(06): 931-943.
[3] 魏嘉莉,王瑞丰,冀运景, 等.基于机器视觉的PCB板电解电容极性自动定位[J].电子测量技术,2021,44(16):148-155.
[4] 陶显, 侯伟, 徐德. 基于深度学习的表面缺陷检测方法综述[J].自动化学报, 2021, 47(05): 1017-1034.
[5] ADIBHATLA V A, SHIEH J, ABBOD M F, et al. Detecting defects in PCB using deep learning via convolution neural networks[C]. 2018 13th International Microsystems, Packaging, Assembly and Circuits Technology Conference (IMPACT), 2018: 202-205.
[6] 瞿栋, 汪鹏宇, 黄允, 等. 基于卷积神经网络的PCB缺陷图像识别[J].计量与测试技术, 2021, 48(08): 21-23.
[7] 耿朝晖, 龚涛. 基于改进Faster R-CNN的PCB板表面缺陷检测[J].现代计算机,2021(19):89-93.
[8] 谢黎, 袁小芳, 尹柏鑫. 基于改进YOLOv4网络的电路板元器件缺陷检测[J]. 测控技术, 2022, 41(04):9.
[9] HOWARD A, MARK SANDLER, BO CHEN, et al. Searching for MobileNetV3[C]. 2019 IEEE/CVF International Conference on Computer Vision (ICCV), 2019: 1314-1324.
[10]JIE H , LI S , GANG S. Squeeze and excitation networks[C].∥ 2018 IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR). IEEE, 2018:7132-7141.
[11]PALA T, G?VEN? U, KAHRAMAN H T, et al. Comparison of pooling methods for handwritten digit recognition problem[C]. 2018 International Conference on Artificial Intelligence and Data Processing (IDAP), 2018: 1-5.
[12] RAO Q, YU B, HE K, et al. Regularization and iterative initialization of softmax for fast training of convolutional neural networks[C]. 2019 International Joint Conference on Neural Networks (IJCNN), 2019: 1-8.
[13]DING R, DAI L, LI G, et al. TDD-net: a tiny defect detection network for printed circuit boards[J]. In CAAI Transactions on Intelligence Technology, 2019, 4(02): 110-116.
[14]HAO G, YINGKUN Y, YI Q. General target detection method based on improved SSD[C]. 2019 IEEE 8th Joint International Information Technology and Artificial Intelligence Conference (ITAIC), 2019:1787-1791.
[15]FENG H, JIANG Y. Recognition of insulator based on yolov5 algorithm[C]. 2021 IEEE 11th Annual International Conference on CYBER Technology in Automation, Control, and Intelligent Systems (CYBER), 2021: 505-509.
PCB Bare Board Defect Detection Based on Improved MobileNetV3
ZHANG Pengfei, WANG Shuqing, WANG Niantao, DUN Weichao, HUANG Jianfeng
(School of Electrical and Electronic Engineering,Hubei Univ. of Tech.,Wuhan 430068,China)
Abstract:To solve the problems of low efficiency, high error detection rate and poor universality of traditional PCB bare board defect detection, a PCB surface defect detection method based on improved MobileNetV3 was proposed. Firstly, PCB data set was preprocessed. Then, multi-directional coordinated attention was used to replace the squeezing and motivating attention modules in the original network to improve the accuracy of feature localization and enhance the receptive field. Finally, the Soft Pool was used to optimize the terminal structure of MobileNetV3 to retain more feature information in the simplified activation map. Experimental results show that the average accuracy of the proposed model is 96.1%, and the average image detection speed is 25.1ms. The proposed model can efficiently identify various defect types of PCB bare board, and has practical application value for PCB bare board quality detection in industrial production.
Keywords:Bare PCB board; Defect detection; MobileNetV3; Soft pool; Deep learning
[責任编校:张岩芳]