注意力机制与空洞残差网络的PCB缺陷检测
2023-06-25牛振振陈力荣王震牛雅丽吕旭阳
牛振振 陈力荣 王震 牛雅丽 吕旭阳
摘 要:针对印刷电路板缺陷检测技术,文章提出了基于YOLOv5s的一个轻量型的CNN模型YOLO_AD,用于PCB缺陷检测。该模型主要体现在将轻量型Ghost module作为骨干特征提取网络,融合注意力机制,对输入分配偏好进行通用池化和信息加权平均后,引入空洞残差网络,减少了网络模型与卷积运算,提高了网络处理效率。部署到嵌入式板卡中,采用MVC架构配合硬件优化及软件设计搭建了实时在线的PCB目标缺陷检测系统。实验结果表明,测试各类缺陷识别率为90.53%,检测速度为30 FPS。
关键词:缺陷检测;轻量型网络;注意力机制;空洞残差网络;嵌入式系统
中图分类号:TP391.4;TP18 文献标识码:A 文章编号:2096-4706(2023)04-0010-05
PCB defect Detection of Attention Mechanism and Dilated Residual Network
NIU Zhenzhen, CHEN Lirong, WANG Zhen, NIU Yali, LYU Xuyang
(College of Physics and Electronic Engineering, Shanxi University, Taiyuan 030006, China)
Abstract: For printed circuit board defect detection technology, this paper proposes a lightweight CNN model YOLO_AD based on YOLOv5s for PCB defect detection. The model mainly embodies the lightweight Ghost module as the backbone feature extraction network, incorporates the attention mechanism, introduces the null residual network after generalized pooling and information weighted averaging of input assignment preferences, reduces the network model and convolution operations, and improves the network processing efficiency. Deployed into the embedded board, the MVC architecture is used with hardware optimization and software design to build a real-time online PCB target defect detection system. The experimental results show that the test recognition rate of various types of defects is 90.53% and the detection speed is 30 FPS.
Keywords: defect detection; lightweight network; attention mechanism; dilated residual network; embedded system
0 引 言
PCB線路板质量的好坏决定了设备运行的优良程度。随着线路板集成度越高越复杂,其制造、加工、运输等过程极易出现缺陷。然而电路板缺陷会引起严重的不良后果。比如,医疗设备中的电路板故障可能会危及生命,智能手机或汽车电子的问题会干扰用户的活动。因此对PCB板的质量检测需求日益增多。现阶段电路板缺陷检测方法可分为人工目视主观判定法和机器视觉检测方法。人工检测借助显微镜,放大镜,由操作人员凭直观视觉检测电路板是否存在缺陷。机器视觉检测[1]可以弥补人工检测效率低、主观性强的缺点,同时还具备检测速度快、自动化程度高的优点。一般机器视觉检测分为激光检测和机器学习检测两大类。Zhang等[2]采用激光脉冲热成像技术进行特征提取结合神经网络模型检测伪焊料缺陷,并开发了一套智能识别设备来检测PCB上的伪焊点,其识别率达到了85%。Lopez-Escogido等[3]提出使用2-D高精度激光传感器并用Java开发图形应用程序用于PCB检测和数据处理,提高了对缺陷的特征提取的灵敏度。Ardhy等[4]提出了一种基于梯度边缘检测的单板计算机低成本机器视觉,解决了PCB图像的不均匀照明问题,提高了边缘和缺陷检测精度。何国忠等[5]提出一种YOLOv4网络将全局注意力机制和SPP模块进行特征提取,有效提高了目标缺陷的识别功能,提高了PCB缺陷检测的速度。以上方法对PCB缺陷检测达到了一定的效果,然而上述方法网络训练采用随机梯度下降的方式区分缺陷程度的敏感性不够理想,系统处理的图像背景数据量冗余度较高,光学检测系统需要手动缺陷跟踪位置和识别缺陷类型存在一些局限,YOLOv4网络特征提取较深,目标边缘缺陷特征提取能力随之有待提升。
为了弥补嵌入式设备中网络对目标边缘缺陷特征提取不敏感、缺陷手动跟踪定位和检测速度慢的缺点。通过近年研究方法进行比对及深度理解,基于YOLOv5s[6]算法设计了注意力机制与空洞残差网络的PCB图像缺陷检测。模型中采用了一个轻量型GhostNet的特征提取器融合注意力机制作为YOLO_AD的骨干网络,满足了模型的轻量化设计的同时增加了网络的特征提取能力;再引入空洞残差结构模块对PCB缺陷的特征提取,增大目标缺陷的视觉感受域和减少电路板背景的噪声干扰、提高了系统模型检测速度。软件方面使用QT5进行上位机软件MVC架构嵌入式应用结合YOLO_AD网络部署到嵌入式开发板中。此便携式智能检测应用操作简单,便捷轻巧,同样可实时高精度对PCB目标缺陷检测。
1 算法原理
1.1 Ghost网络结构
Ghost是华为诺亚方舟实验室提出的一个轻量型神经网络模块。Han[7]等学者将特征图通过一系列线性运算得到,与普通的卷积模块相比,线性运算在每个通道上的计算量远小于普通卷积模块。在进行卷积运算时,Ghost module结构图如图1所示,采用了一种线性运算操作产生冗余的特征图,减少了大量的卷积运算。
首先,Ghost module采用标准化卷积产生m个内在特征图, 其中h′和w′是输出数据的长和宽。Y′用一个简单的线性变化产生幻影特征,其公式为:
(1)
是Y′中的第i个内在特征图,是第i个内在特征图的第j个线性运算,最后一个 是用来保存内在特征图的identity映射。通过线性运算,产生了n=m×s个特征映射。所以将Ghost module应用于YOLOv5s,可以显著降低模型的参数量。
1.2 注意力机制
Ghost网络中的线性运算会导致特征图失去一些通道信息,为了加强特征图的不同通道的相关性,在Ghost module中引入注意力机制[8],可以分为三步:一是信息输入;二是计算注意力分布α;三是根据注意力分布α来计算输入信息的加权平均。如图2所示,将不同通道的特征对分类的贡献进行排序,提取贡献大的通道特征进一步加强。
第1步是信息输入:用X=[x1,…, xN]表示N个输入信息;第二步是注意力分布计算:令Key=Value=X,则可以给出注意力分布:
αi=softmax(s(keyi,q))=softmax(s(Xi,q) (2)
将α称之为注意力分布(概率分布),s(X,q)为注意力打分机制,将上一步生成的特征图进行打分评估;第三步进行信息加权平均:在上下文查询q时,第i个信息受关注的程度,采用一种“激励”的信息选择机制实现了特征的重要性标定。
1.3 空洞残差卷积
空洞卷积是指通过在卷积核的元素间插入空隙来增加感受野的方法。即大小为K×K的卷积核,在每两个元素中插入R-1个元素,空洞卷积的等效卷积核:
K′=K+(K-1)×(R-1) (3)
输出特征图公式:
Out=(input-K′+2P)/S+1 (4)
其中:R为空洞卷积率,K为原始卷积核大小,P、S分别为填充和步长。
如图3所示,计算结果可知空洞卷积可以有效减少卷积层参数,缩减模型计算量。
在残差网络结构中,以非线性f(x;)去逼近目函数h(x)时可将目标函数分解为:
h(x)=x+h(x)-x (5)
式中x称为恒等函数,h(x)-x称为残差函数。在人工神经网络的数学理论当中,假设激活函数足够柔和的情况下,通用相似定理可以得出来非线性单元可以在理论上去逼近任意函数。因此:期望f(x)逼近残差函数h(x)-x使得f(x)+x逼近目标函数h(x)。
证明:可设一个通用的残差块表示方式:
(6)
xl+1=f(xl) (7)
式中 是以直接映射的方式。 为激活函数。由此可得残差块另一种表示方式:
(8)
依次类推可得出神经网络[9]中更深的层L其与其他l 层的关系表示方式:
(9)
式(9)反映了残差网络结构所具有属性:在神经网络结构中,L层网络参数可以表示为任意一个比L层浅的i=l層加上它们之间的残差部分之和。根据BP网络中使用的导数的链式法则,损失函数ε关于xl的梯度可以表示:
(10)
由式(10)可知在网络训练过程中,这表明网络引入残差网络后不会出现梯度消失的问题,神经网络中L层的梯度可以直接传递到任何一个比它浅的i层。
如图4所示,可将空洞卷积替换残差网络中的普通卷积,同时设置空洞率为1,2,5避免提取图片信息中的因距离间隔导致信息不相关性的问题。在降采样过程也减少了无关特征的参数计算,又扩大了小物体检测中的感受野,提高了网络模型检测速度。
1.4 YOLO_AD网络结构
为提高网络对PCB电路板缺陷检测的性能,对YOLOv5s网络做出相应改进,其YOLO_AD网络结构如图5所示,Input中输入图像的大小为640×640×3。Backbone中CBL由卷积,标准化和激活函数组成,可控制图像的大小和通道数。GhostNet作为主干特征提取模块,其中的线性运算为深度可分离卷积,卷积核大小为5×5,再结合注意力机制模块,学习不同通道的重要性,抑制无效通道信息。在SPP模块中,使用最大池化的方式,再将不同尺度的特征图进行Concat操作。采用SPP模块的方式,比单纯地使用k×k最大池化的方式,更有效的增加主干特征的接收范围,显著的分离了最重要的上下文特征。
Neck中采用多尺度特征融合方法,经过空洞残差卷积(Dilated Conv)再上采样特征融合,Dilated Conv控制通道数量以及图像感受域。将Neck中的高层特征图上采样特征图融合后能够在同一分辨率的条件下获取不同感受野的特征,经过特征融合后传递到下一层,可以更加灵活地平衡计算量和模型能力。使得不同分辨率的特征得到了融合和分割图恢复边缘等信息更加精细。最终得到了80×80×64、40×40×32,两个不同尺度的检测层。
2 PCB嵌入式应用
采用MVC(Model View Controller)架构实现PCB嵌入式应用。
如图6所示,MVC架构中Model(模型)包含YOLO_AD网络可进行相关PCB数据与数据函数模块的业务逻辑判断和数据存取,View(视图)是用户与机器交互的界面,Controller(控制器)控制用户指令和数据传递给模型对象,可根据数据变化实时更新视图。用户界面与业务逻辑分离,基本设计原则是应用功能模块之间强内聚,弱耦合。嵌入式应用功能模块将PCB缺陷检测应用涉及的业务逻辑和数据函数的处理写成每个模块实现的某一个单一的功能,同时模块内部的子模块只为整体的单一功能存在。
3 实验训练与结果
以北京大学智能机器人开放实验室的开源PCB作为数据集[10]进行网络训练。数据集的每张图片使用LabelImg软件标注为VOC格式,标注的PCB缺陷主要有漏孔、缺口、断路、短路、毛刺和余铜共6类缺陷。包含1 386张标注过的图片,每张图片的分辨率大小不同,送入网络训练之前需要将图片进行分割处理,数据集扩充到11 000张。按照8:1:1的比例将数据集划分为训练集、验证集、测试集。
3.1 网络模型训练
本实验使用的GPU为NVIDIA Tesla K80,使用的深度学习框架为pytorch1.6。网络训练时,设定Epoch为300,batch size为64,初始学习率为0.01,衰减系数为0.000 5。在训练过程中,可以通过绘制损耗曲线来直观地观察训练的动态过程,损失越小代表预测结果与实际结果的误差就越小。本文提出的YOLO_AD模型与YOLOv5s模型在训练期间的相应平均损失曲线如图7所示。横坐标表示训练迭代的次数,纵坐标表示训练期间的损失值。
3.2 网络模型评价指标
数据集样本被分为正负样本,TP指的是正检;TN指的是无真值;FP指的是错检;FN指的是漏检。准确率Precision、目标召回率Recall、几何平均F1值、精确度均值AP和AP均值mAP分别表示为:
(11)
(12)
(13)
(14)
(15)
3.3 实验结果分析
为验证上述模型的有效性,在显卡Tesla K80电脑端进行消融实验对比,构建三种模型可分别命名为YOLOv5s_A、YOLOv5s_B、YOLOv5s_C。这三种模型分别在YOLOv5s基础上增加了注意力机制和空洞残差结构;修改为主干网络为Ghost和增加通道注意力机制;修改网络为Ghost和增加空洞残差结构。YOLO_AD为本文所提模型,在YOLOv5s_A网络的基础上改变特征主干网络为轻量型网络。
如表1所示,可知YOLOv5s_A和YOLOv5s_B网络对PCB缺陷检测的mAP较原网络分别增加了2.3%和1.6%。可验证注意力机制对网络的有效性,对图像特征的侧重点不同,强调其主要特征,抑制无效特征信息。通过对信息加权平均得出重要特征图,进而进行权重分配时能够及时更新缺陷的主要特征的权重,给网络的检测性能得到了提升。YOLOv5s_A和YOLOv5s_B网络同时也证明了空洞卷积残差结构对网络的提升也有一定的效果,针对电路板边缘处的特征信息扩大了感受域,有利于丰富很可能被注意力机制抛弃的一部分特征信息。YOLOv5s_C和YOLO_AD网络的mAP值比另外三个网络都高,分析原因虽然Ghost轻量型的网络会减少卷积核的运算量,但是结合通道注意力机制可以有效解决特征图深度可分离卷积时参数量减少的问题。如表1和表2所示,还可知轻量型的网络对电路缺陷检测精度保持一定的稳定性的前提下,减少了网络参数和提高了检测速度。尤其是网络模型参数的减少为其他网络的1/3~1/2。为将YOLO_AD网络部署到嵌入式开发板中奠定了理论基础,空洞残差卷积同时保证了网络对图像边缘目标特征提取的能力。
3.4 模型迁移
如图8(a)所示,YOLO_AD网络模型采用MVC架构迁移到(512核Volta GPU,64张量心,8核 Carmel ARM v8.2 64位 CPU处理器)嵌入式开发板[26-27]中,PCB檢测嵌入式应用登录界面如图8(b)所示,设置了检测系统的账号和密码确保操作人员身份验证,同时也可记录员工的使用情况。检测效果如图8(c)所示,PCB嵌入式应用最左侧的工具栏包含网络训练、远程服务连接、网络训练参数调整、图片检测和保存的功能,同时具有缺陷统计功能。其中对各类缺陷的检测效果的置信度均达到了0.83以上。经过tensorRT加速得出不同模型检测各类缺陷的效果可实时帧达到30 FPS。如表3所示,将消融实验中五种网络类型分别部署到嵌入式中,进行Onnx模型转engine文件在相同数据库下针对缺陷识别率YOLO_AD效果最好。
4 结 论
本文在YOLOv5s算法的基础上使用轻量型网络Ghost并添加通道注意力机制和空洞残差卷积结构。将Ghost网络融合通道注意力机制进行主干特征提取网络,实现了网络相较于原网络的轻量化设计。结合空洞残差卷积结构解决注意力机制下造成的边缘特征提取不足的问题,丰富了PCB中边缘目标缺陷的特征提取能力。在电脑端进行网络训练和测试mAP性能指标得出网络的参数量小和检测速度快的优点。最后在嵌入式开发板检测结果得知YOLO_AD网络有良好的鲁棒性和准确性,嵌入式设备检测各类缺陷的置信度均大于0.80,识别率为90.53%,检测速度为30 FPS。此算法目前存在一定的局限性,可进一步进行嵌入式网络的优化和嵌入式应用开发的多样化。
参考文献:
[1] 王耀南,陈铁健,贺振东,等.智能制造装备视觉检测控制方法综述 [J].控制理论与应用,2015,32(3):273-286.
[2] ZHANG R S,GUO X W,HE M Y.Intelligent Pseudo Solder Detection in PCB Using Laser-Pulsed Thermography and Neural Network [J].IEEE Sensors Journal,2021,22(1):631-638.
[3] LOPEZ-ESCOGIDO D,LUCA A D. 2-D High Precision Laser Sensor for Detecting Small Defects in PCBs [C]//2012 9th International Conference on Electrical Engineering,Computing Science and Automatic Control(CCE).Mexico:IEEE,2012:1-6.
[4] ARDHY F,HARIADI F I. Development of SBC Based Machine-Vision System for PCB Board Assembly Automatic Optical Inspection [C]//2016 International Symposium on Electronics and Smart Devices(ISESD).Bandung:IEEE,2016:386-393.
[5] 何国忠,梁宇.基于卷积神经网络的PCB缺陷检测 [J].图学学报,2022,43(1):21-27.
[6] WANG D D,HE D J. Channel Pruned YOLO V5s-Based Deep Learning Approach for Rapid and Accurate Apple Fruitlet Detection before Fruit Thinning [J].Biosystems Engineering,2021,210:271-281.
[7] HAN K,WANG Y H,TIAN Q,et al. GhostNet:More Features From Cheap Operations [C]//2020 IEEE/CVF Conference on Computer Vision and Pattern Recognition(CVPR).Seattle:IEEE,2020:1577-1586.
[8] NIU Z Y,ZHONG G Q,YU H. A Review on the Attention Mechanism of Deep Learning [J].Neurocomputing,2021,452:48-62.
[9] HE K M,ZHANG X Y Z,REN S Q,et al. Deep Residual Learning for Image Recognition [C]//2016 IEEE Conference on Computer Vision and Pattern Recognition(CVPR).Las Vegas:IEEE,2016:770-778.
[10] DING R W,DAI L H,LI G P,et al. TDD-Net:A Tiny Defect Detection Network for Printed Circuit Boards [J].CAAI Transactions on Intelligence Technology,2019,4(2):110-116.
作者簡介:牛振振(1995—),男,汉族,河南商丘人,硕士研究生在读,研究方向:机器视觉;陈力荣(1988—),男,汉族,山西吕梁人,副教授,博士,研究方向:机器视觉、光量子器件;王震(1997—)男,汉族,山西长治人,硕士研究生在读,研究方向:光通信;牛雅丽(1999—),女,汉族,山西晋城人,硕士研究生在读,研究方向:光通信;吕旭阳(2000—),男,汉族,河北邯郸人,硕士研究生在读,研究方向:机器视觉。
收稿日期:2022-10-20
基金项目:国家自然科学基金(61805133)