基于
射线
图像
PCB
缺陷
检测
系统
现代电子技术Modern Electronics TechniqueSep.2023Vol.46 No.182023年9月15日第46卷第18期0 引 言随着工业 4.0、工业互联网、智能制造等概念的提出,制造业发展开始向高端化、智能化、自动化转型。印刷电路板(Printed Circuit Board,PCB)是大多数电子设备的关键组成部分,在电子信息产业中有着十分重要的地位1。PCBA(PCB Assemble)是将各种电子器件通过表面封装工艺组装在PCB上,其缺陷的自动化检测更是未来制造业发展的主要方向之一。目前在 PCB检测行业中,对于某些不能通过外观检查到的部位以及PCB通孔内部和其他内部缺陷,只能使用X射线透视系统来检测。但是 XRay设备效率低、检测速度慢、缺陷图像识别困难,因此快速、准确、自动地检测 PCBA的内部缺陷对电子信息制造业是非常重要的2。在PCB检测领域,基于传统机器学习和深度学习的PCB裸板表面缺陷检测已有不少学者研究。李云峰等人提取了PCB缺陷区域相关的边界像素,将梯度方向信息作为特征向量进行缺陷分类与识别,可以识别PCB表面划伤、毛刺等缺陷,但存在缺陷与背景环境对比度较低时难以检测的问题3。刘畅等人提出利用形态学来提取 PCB 缺陷区域进行缺陷分类,降低缺陷识别的误判率;但是基于形状特征提取缺陷时,对形状差异大的同DOI:10.16652/j.issn.1004373x.2023.18.005引用格式:林健,詹道桦.基于X射线图像的PCB缺陷检测系统J.现代电子技术,2023,46(18):2532.基于X射线图像的PCB缺陷检测系统林 健,詹道桦(广东工业大学 机电工程学院,广东 广州 510006)摘 要:针对 PCB内部缺陷检测速度慢、精度低的问题,提出一种基于 X射线图像的 PCB缺陷检测系统。该系统算法对 YOLOv7进行改进,在 Neck区域设计一种高效的特征提取模块,优化 Neck区域网络结构,降低模型复杂度。在多尺度特征融合模块引入ACmix注意力机制,增加不同尺度目标特征的权重。将SIoU作为边框损失函数,提高网络的定位能力。实验结果表明:所提系统算法在测试集上的平均准确度均值(mAP)达到了 92.8%,比 YOLOv7算法提高 4.6%;检测速度提升25%,模型计算量降低29%,面对复杂场景具有较强的鲁棒性,能够满足实际工业检测的需求。关键词:印刷电路板(PCB);缺陷检测系统;X射线图像;YOLOv7算法;多尺度融合;损失函数中图分类号:TN4134;TP391.4 文献标识码:A 文章编号:1004373X(2023)18002508PCB defect detection system based on Xray imagesLIN Jian,ZHAN Daohua(School of Mechanical and Electrical Engineering,Guangdong University of Technology,Guangzhou 510006,China)Abstract:In allusion to the problems of slow speed and low accuracy of PCB(printed circuit board)internal defect detection,a PCB defect detection system based on Xray images is proposed.In this system,the algorithm is used to improve YOLOv7,and an efficient feature extraction module is designed in the Neck area to optimze the network structure of the Neck area,so as to reduce the complexity of the model.The ACmix attention mechanism is introduced in the multiscale feature fusion module to increase the weight of target features with different scales.SIoU is used as the bounding box loss function to improve the localization ability of the network.The experimental results demonstrate that the average precision(mAP)of the proposed system algorithm on the test set has reached 92.8%,which is 4.6%higher than that of YOLOv7 algorithm,the detection speed has been increased by 25%,and the computational complexity of the model is reduced by 29%,which has a strong robustness in complex scenes,and can meet the needs of actual industrial testing.Keywords:PCB;defect detection system;Xray images;YOLOv7 algorithm;multiscale fusion;loss function收稿日期:20230202 修回日期:20230307基金项目:国家自然科学基金项目:光栅尺测量误差耦合产生机理及深度强化学习补偿机制研究(62171142);广东省自然科学基金项目:基于深度学习的光栅尺耦合误差补偿机制研究(2021A1515011908)2525现代电子技术2023年第46卷类缺陷无法很好识别4。朱寒等人提出基于改进模板匹配的PCB缺陷多级检测算法,解决了PCB缺陷识别准确度低的问题,提高了PCB缺陷检测的准确性,同时也带来了缺陷与模板差异大时检测准确度降低的问题5。Yuk等人基于加速鲁棒特征和随机森林,提出一种利用机器学习检测缺陷类型的方法,该方法通过学习故障模式,可以在没有正常图像的情况下对PCB 进行缺陷检测。然而这些方法无法检测不同尺度的缺陷和无法适应复杂多变的外部光照环境6。冉光再等人基于残差学习的思想,利用图像下采样方法对图像感受野进行扩大,设计残差块提取PCB图像噪声特征,提高去噪效率,解决了 PCB 图像检测清晰度不够的问题7。Kim等人提出一种双流卷积神经网络,该网络使用两个焊料区域来检查表面贴装技术组装缺陷,与此同时模型的复杂度和计算量也大大增加8。为了解决传统方法易受环境影响及现有的深度学习方法模型规模大、实时性差等问题,Liu等人构建一个基于特征金字塔网络的增强特征提取网络来检测 PCB 缺陷,但是检测精度有限9。虽然现在已经把深度学习引用到 PCB 的缺陷检测中,但是识别精度和识别速度仍需提高。本文将 PCBA 内部缺陷中常见的五类缺陷(划痕、断线、短路、杂质、气泡)作为检测目标,对 YOLOv710算法进行改进,提出一种基于X射线图像的PCB缺陷检测系统,在Neck区域设计一种高效的特征提取模块,优化Neck 区域网络结构,降低模型复杂度。在多尺度特征融合模块引入ACmix注意力机制11,增加不同尺度目标特征的权重;将 SIoU12作为边框损失函数,提高网络的定位能力。最终通过实验验证该系统的检测性能。1 基于X射线图像的PCB缺陷检测系统构成基于 X 射线图像的 PCB 缺陷检测系统由运动系统硬件结构和成像系统及检测界面组成,运动系统硬件结构由 Zmotion运动控制器、驱动器、四轴运动平台组成,成像及检测界面由 X 射线成像系统、PCB 板以及用PYQT开发的上位机控制软件组成,如图1所示。图1中,运动控制器、驱动器、四轴运动平台共同组成运动系统,实现 PCB 板在四轴方向的运动,X 射线管和平板探测器组成X射线成像系统,上位机软件实现运动控制以及图像采集与检测功能。计算机则通过与运动控制器通信发送运动脉冲,再通过图像采集反馈X射线拍摄的图像。本文的整体系统使用 Pcharm/PyQT 进行开发,实现不同运行硬件下的信息交互。图1 系统整体构成示意图 2 检测系统的算法构成2.1 YOLOv7算法YOLOv7 是 YOLO 系列最新推出的单阶段检测算法,其准确度和精度都超越了以往的目标检测器,检测思路与 YOLOv5 相似。如图 2 所示,YOLOv7 网络主要由输入端(Input)、主干网络(Backbone)、颈部(Neck)和预测(Prediction)等 4 个模块组成。输入图像在输入端经过像素一致化和数据增强等一系列图像预处理操作后,满足主干网络的训练要求。Backbone模块进行图像的特征提取,主要由多个 BConv 卷积层、EELAN 卷积层、MPConv 卷积层以及 SPPCSPC 融合层组成,其中BConv卷积层由常规卷积、批量归一化层、SiLU组成,提取不同尺度的图像特征。EELAN卷积层在保留 ELAN设计框架的基础上,通过引导不同特征组的计算块学习更多样化的特征,增强网络学习的能力。MPConv卷积层由两个分支组成,将正常BConv卷积处理的特征信息与 MaxPool扩张感受野的特征信息进行融合,提高了网络的泛化性。SPPCSPC 融合层在原有 SPP13的基础上加上多个BConv卷积进行融合,解决了图像失真和重复特征提取的问题。Neck模块由传统的 PAFPN14结构组成,将浅层特征信息高效传递到深层,实现了不同层次特征的高效融合。Prediction模块中通过 REPConv卷积层对 PAFPN输出的大、中、小三个不同尺度的特征进行图像通道数调整、检测类别和置信度的预测。2.2 网络结构改进针对 PCB 缺陷尺寸在整张图像占比小、模型功耗大、检测效率低的问题,为提高模型的检测速度和小尺寸缺陷的检测精度,本文设计一种高效的卷积方法(SDConv),在保证精度的前提下减轻模型的负担,更好地平衡模型的精度和速度。如图3所示,SDConv首先通26第18期过BConv将输入特征向高维通道映射,因为高维的特征空间有利于特征信息的表达,然后对特征图进行分组,按 1 4 的 比 例 将 特 征 通 道 划 分 为 两 组,受 到MobileNetV215中DWConv的启发,其中一组采用深度可分离卷积可以减少高维映射带来的内存消耗和计算负担;另一组保留本身,再对 DWConv的两个特征图进行融合操作,最后进行 channel shuffle16操作,实现频道信息的交互。图2 YOLOv7模型结构图3 SDConv结构主干网络中进行多次空间信息向信道信息的传输,每次特征图的空间压缩和通道扩展都会导致语义信息的部分丢失,而 SDConv可以更多地保留每个信道之间的连接。为了加快预测的计算速度,减少模型推理时间,选择在图像宽度和高度尺寸比较小的 Neck层使用SDConv进行替换;同时在 PCB 缺陷占整图比较小的情况下,Neck区域对大尺度目标的检测部分显得多余,为减少模型的计算量,参考tiny17网络的设计思路,删除大尺寸检测对象的特征图分支。改进结构如图4所示,其中将 Neck 区域 EELAN 卷积层、MPConv 卷积层中的BConv替换为SDConv,并命名为EELANSD和MPConvSD以示区分。图4 改进的YOLOv7网络结构2.3 融合空间金字塔注意力机制针对 PCB内部缺陷中不同类型缺陷尺度差异大以林 健,等:基于X射线图像的PCB缺陷检测系统27现代电子技术2023年第46卷及 YOLOv7网络中缺乏注意力机制的问题,本文提出在侧重于空间信息的空间金字塔池化模块 SPPCSPC中加入结构简单、计算成本低的注意力机制方法,这种局部特征增强方法可以显著提高模型的准确性。注意力机制是指通过对网络输入部分赋予不同的权重,使得模型忽略无关信息,将注意力集中在重要信息上,常分为卷积注意力机制和自注意力机制。其中卷积注意力模块多注重输入与输出的关系,自注意力模块多注重输入之间的关系。受 CoAtNet启发,本文结合自注意力和卷积注 意 力 二 者 的 优 点,将 ACmix 注 意 力 模 块 引 入SPPCSPC,增 强 网 络 对 于 不 同 尺 度 目 标 的 注 意 力。ACmix注意力模块首先通过11卷积映射到N个子特征中,将得到的子特征进行两个不同分支处理,上分支是卷积注意力部分,通过全连接层进行通道扩展,对生成的特征进行偏移、聚合和卷积处理;下分支是自注意力部分,与传统自注意力机制一致。最后将两个分支的输出特征进行融合,融合结果由两个可控参数决定,公式如下:Fout=Fatt+Fconv (1)式中:Fout代表输出特征图;Fatt和Fconv分别代表自注意力处理后特征图和卷积处理后特征图;和分别代表自注意力处理和卷积处理的权重参数,本文检测侧重卷积注意力对尺度信息的表现能力,因此和的参数值分别为 0.6和 1.2。SPPCSPC 模块在原空间金字塔池化SPP基础上,加入 CSP模块,将输入特征分为两部分,一部分进行常规处理,另一部分进行 SPP处理,再将两部分融合,可以起到提高精度的同时降低计算量的作用。在SPPCSPC中引入ACmix模块,将其放在SPP结构处理后,能够有效地对 4 个不同尺度的感受野赋予不同的权重,提高小尺度目标的识别能力,其改进结构如图 5所示。图5 改进的SPPCSPC结构2.4 边界框损失函数YOLOv7的损失函数包含置信度损失、分类概率损失和边界框回归损失三部分,公式如下:Lossobject=Lossconf+Lossclass+Losslog (2)置 信 度 损 失 和 分 类 概 率 损 失 采 用 BCEWith LogitsLoss 函数进行预测,边界框回归损失采用 CIoU18函数进行预测,计算公式如下:LCIoU=1-IoU+2()b,bgtc2+v (3)v=42()arctanwgthgt-arctanwh2 (4)=v()1-IoU+v (5)式中:代表两个中心点之间的欧氏距离;b和bgt分别代表预测框和真实框的中心点;c表示能够同时包含预测28第18期框和真实框的最小闭包区域的对角线距离;w和wgt分别代表预测框和真实框的宽度;h和hgt分别代表预测框和真实框的高度;IoU是预测框和真实框之间的交集和并集之比;用于平衡参数;v用来衡量长宽比是否一致。从公式(5)可以看出,当预测框与真实框的长宽比一样大时,v取 0,此时长宽比的惩罚项并没有起到作用,CIoU损失忽略了宽、高分别与其置信度的真实差异,不利于损失函数的稳定表达。针对这一问题,SIoU 损失考虑到所需回归之间的向量角度、距离和形状,增加角度成本、距离成本和形状成本,有效减少总自由度,减少了惩罚项为 0出现的概率,其计算公式如下:LSIoU=1-IoU+2 (6)=1-2 sin2()arcsin x-4 (7)=2-(8)=t=x,y(1-e-t)(9)=t=w,h(1-e-wt)(10)式中:、和分别代表角度成本、距离成本和形状成本;表示被赋予时间优先的距离值;代表形状损失的关注程度;x和y代表预测框和真实框中心点与对角线距离的比值的平方;ww代表预测框与真实框宽度差值的绝对值与最大值的比;wh代表预测框与真实框高度差值的绝对值与最大值的比。由于角度成本的增加,使得损失函数收敛更加平稳,改善了回归精度,从而降低了预测误差,因此本文采用性能更优的SIoU损失作为边界框回归损失函数。3 实验结果与分析3.1 平台搭建与实验配置根据系统自动检测功能需求,本文搭建了相应的检测平台,检测系统硬件部分由运动模块和成像模块构成,如图 6 所示。本网络实验环境基于 WIN 10 操作系统,Python 3.8,Pytorch 1.8.1,NVIDIA RTX3060 GPU,AMD Ryzen 7 5800 CPU3.40 GHz 处 理 器,CUDA 11.2,CuDNN 8.4。初始学习率选取为 0.01,优化器使用SGD,动量为 0.9,权重衰减为 0.000 1,采用余弦退火算法调整学习率,批量大小为8,训练迭代为300次。图6 检测平台实物图3.2 实验数据处理实验数据包括 PCB板划痕、断线、短路、杂质、气泡五种缺陷,缺陷类型如图7所示。图7 PCB缺陷类型针对数据采集难度大和缺陷种类有限的问题,为了增加训练样本的数量以及多样性,提升网络的鲁棒性,本文对原始数据集采用随机翻转、旋转、裁剪、随机擦除、随机增强、添加马赛克等方式进行数据增强,得到由1 853张图像组成的数据集。采用LabelImg标注软件对各类缺陷进行标签标注,为满足实验需求,本文以 3 1 1林 健,等:基于X射线图像的PCB缺陷检测系统29现代电子技术2023年第46卷比例划分为训练集、验证集和测试集。3.3 模型评价指标本实验采用模型的计算量(FLOPs)、平均准确率均值(mAP)和检测速度(FPS)作为主要评价指标。FPS表示预测阶段检测速度,其大小为100个测试图像的平均值。FLOPs是浮点运算数,其大小用于表示模型的计算量和复杂度,计算公式如下:FLOPs=i=1L2HW(CiinK2+1)Ciout (11)式中:L代表网络的总层数;H和W代表特征图尺寸的高度和宽度;Ciin和Ciout代表某层网络的输入通道数和输出通道数;K代表卷积核大小。mAP为 PR曲线下方的面积大小,该曲线根据类别准确率和召回率绘制而成,其计算公式为:mAP=1cAPi (12)AP=01P(r)dr (13)P=TPTP+FP (14)R=TPTP+FN (15)式中:TP代表正确预测数;FP代表错误预测数;FN为正确预测中漏检数;c为目标检测的总类别数。3.4 实验设计为了验证本文算法的PCB缺陷检测性能,设计2组实验。第1组实验验证不同的改进方法对YOLOv7模型性能的影响,第2组实验是对比本文算法与现有目标检测算法的检测性能。3.4.1 改进方法对模型性能的影响为了验证本文所提出的各项改进方法的有效性,设计3组实验对结果进行对比分析,每组实验使用相同的训练策略与参数,其中“”代表在 YOLOv7模型基础上加入对应的改进策略。对比实验结果如表 1所示。表中,第 0 组实验是原 YOLOv7 网络的训练结果。第 1 组实验在空间金字塔池化 SPPCSPC模块中加入注意力机制 ACmix,让模型将注意力集中在目标特征上,在只增加少量模型计算的情况下,mAP提高3.4%。第2组实验是在实验 1 的基础上加入高效的 SDConv 卷积,替换Neck区域中 BConv卷积,同时对网络进行精简,裁剪大尺寸特征分支,在保证精度的前提下减轻模型的负担,加快检测速度,FLOPs减少29%,速度提升25%。第3组实验在实验 2的基础上将 SIoU 作为边界框回归的损失函数,考虑到所需回归之间的向量角度、距离和形状,改善回归精度,从而降低预测误差,提高模型边界框的定位精度。改进后的 YOLOv7相较于原始 YOLOv7,mAP提高 4.6%,速度提升 25%,FLOPs 降低 29%,实现了对PCB缺陷准确快速检测的目的。表1 各组方法改进实验结果对比GroupG0G1G2G3ACmixSDConvSIoUmAP/%88.291.591.492.8FPS42.242.652.852.8FLOPs/109104.8106.474.674.63.4.2 现有经典模型性能对比为了验证本文算法对 PCB缺陷各个类别的检测性能,本实验将改进后算法和经典目标检测算法 FasterRCNN、RetinaNet、SSD300、YOLOv3、YOLOv5s和YOLOv7进行对比,对比结果如表2所示。由表2分析可得,改进后YOLOv7算法的mAP值超过了其他目标检测网络,具有更好的检测精度,更适合PCB缺陷检测场景。表2 现有经典检测算法性能对比ModelFasterRCNNRetinaNetSSD300YOLOv3YOLOv5sYOLOv7本文算法mAP/%87.483.279.686.887.588.292.8FPS11.316.425.731.345.142.252.8FLOPs/109249.9227.830.7155.115.9104.874.63.5 实验效果与分析图 8 分 别 比 较 了 上 述 几 种 检 测 算 法 与 改 进 的YOLOv7 算法在 PCB 缺陷数据集上的检测效果。从图中可以看出,原始 YOLOv7面对复杂场景中比较小的缺陷无法准确识别,会出现误检和漏检的情况,其他检测算法也均有误检和定位框不准确的情况,而改进后的YOLOv7能准确识别出该类缺陷,并且置信度也有一定提升,说明改进后的算法具有较高的鲁棒性和面对复杂场景小目标更强的识别能力。4 结 论针对 PCB内部缺陷检测速度慢、精度不足的问题,本文提出一种基于 X 射线图像的 PCB 缺陷检测系统。通 过 分 组 与 深 度 可 分 离 卷 积 相 结 合,设 计 了 高 效SDConv卷积方法,在保证精度的前提下减轻模型的负担,更好地平衡模型的精度和速度。30第18期采用 SDConv卷积替换 Neck区域的 BConv卷积,同时优化该区域网络结构,裁剪对大尺度目标的检测部分,减少模型的计算量,提升检测速度。在多尺度特征融合模块中,将传统卷积注意力机制与自注意力机制进行融合,加入 ACmix注意力模块,增加不同尺度目标特征的权重,进一步提高检测精度。在此基础上,对 IoU 损失函数进行优化,引用 SIoU损失函数以提高网络的定位能力,从而提高网络检测精度,减少检测过程小目标误检、漏检情况的出现。实验结果表明,改进后的 YOLOv7网络检测效果优于原网络和其他经典目标检测网络。下一步工作会扩增数据集,增加更多PCB缺陷的检测类别,同时保证检测精度,提高在实际应用中的检测性能。注:本文通讯作者为林健。参考文献1 周刚.中国 PCB印刷电路板市场分析J.印制电路信息,2009(z1):1119.2 杨庆华,陈亮,荀一,等.基于机器视觉的PCB裸板缺陷自动检测方法J.中国机械工程,2012,23(22):26612666.3 李云峰,李晟阳.基于梯度方向信息熵的印刷电路板缺陷检测J.中国机械工程,2017,28(6):695701.4 WEI P,LIU C,LIU M,et al.CNNbased reference comparison method for classifying bare PCB defects J.The journal of engineering,2018(16):15281533.5 朱寒,林丽,王健华,等.基于改进模板匹配及图像差分法的PCB板缺陷多级检测方法J.应用光学,2020,41(4):837843.6 YUK E H,PARK S H,PARK C S,et al.Featurelearningbased printed circuit board inspection via speeded up robust features and random forest J.Applied sciences,2018,8(6):932.图8 几种检测算法与改进的YOLOv7检测效果对比林 健,等:基于X射线图像的PCB缺陷检测系统31现代电子技术2023年第46卷7 冉光再,徐雷,李大双,等.基于图像差分和残差学习的PCB图像去噪算法J.激光与光电子学进展,2022,59(12):123130.8 KIM Y G,PARK T H.SMT assembly inspection using dualstream convolutional networks and two solder regions J.Applied sciences,2020,10(13):4598.9 LIU G,WEN H.Printed circuit board defect detection based on MobileNetYoloFast J.Journal of electronic imaging,2021,30(4):043004.10 WANG C Y,BOCHKOVSKIY A,LIAO H Y M.YOLOv7:Trainable bagoffreebies sets new stateoftheart for realtime object detectors EB/OL.20220419.https:/arxiv.org/abs/2207.02696.11 PAN X,GE C,LU R,et al.On the integration of selfattention and convolution C/Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition.S.l.:IEEE,2022:815825.12 GEVORGYAN Z.SIoU Loss:more powerful learning for bounding box regression EB/OL.20220714.https:/arxiv.org/abs/2205.12740.13 HE K,ZHANG X,REN S,et al.Spatial pyramid pooling in deep convolutional networks for visual recognition J.IEEE transactions on pattern analysis and machine intelligence,2015,37(9):19041916.14 LIU S,QI L,QIN H,et al.Path aggregation network for instance segmentation C/Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition.Salt Lake City:IEEE,2018:87598768.15 SANDLER M,HOWARD A,ZHU M,et al.Mobilenetv2:inverted residuals and linear bottlenecks C/Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition.Salt Lake City:IEEE,2018:45104520.16 ZHANG X,ZHOU X,LIN M,et al.Shufflenet:An extremely efficient convolutional neural network for mobile devices C/Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition.Salt Lake City:IEEE,2018:68486856.17 ADARSH P,RATHI P,KUMAR M.YOLOv3 Tiny:object detection and recognition using one stage improved model C/2020 6th International Conference on Advanced Computing and Communication Systems.Coimbatore:IEEE,2020:687694.18 ZHENG Z H,WANG P,LIU W,et al.Distance IoU loss:faster and better learning for bounding box regression EB/OL.20211228.https:/arxiv.org/abs/1911.08287v1.作者简介:林 健(1998),男,硕士研究生,主要从事图像处理、深度学习等方面的研究。詹道桦(1996),男,博士研究生,主要从事图像处理、光学精密测量仪器等方面的研究。32