印刷电路板缺陷检测系统的改进设计

2024-01-09 13:46徐婷婷祁晋东达顿珠周艳霞
黑龙江科学 2023年24期
关键词:瑕疵网络结构注意力

徐婷婷,祁晋东,达顿珠,周艳霞

(西藏大学 信息科学技术学院,拉萨 850000)

印刷电路板(PCB)是现代电子设备不可或缺的核心组成,已广泛应用于计算机、通信、消费电子、医疗设备等多个领域。传统的PCB瑕疵检测方法通常依赖于人工视觉检查或机械检测设备,存在效率低下、成本高昂及检测准确性不高等问题,随着计算机视觉技术的迅猛发展,基于目标检测的PCB瑕疵检测方法迅速崭露头角。目标检测算法主要分为传统的和基于深度学习的两大类。与传统的目标检测算法不同,基于深度学习的方法无需区域提议阶段,直接生成物体的类别概率及位置坐标值,具有更快的检测速度,故本研究选择采用YOLOx[1]进行目标检测,借助最新的深度学习技术及大规模PCB瑕疵图像数据集训练了一款高性能的PCB瑕疵检测模型,利用Pyside2设计了一个目标检测的PCB瑕疵检测系统,能够自动识别并定位PCB上的各种瑕疵,显著提高了检测准确性及速度,克服传统方法的限制,为PCB制造行业提供可靠的质量控制解决方案。

1 相关工作

1.1 多分支架构

多分支卷积神经网络在准确性及速度方面持续取得显著进展,其核心概念是分裂-转换-合并,该方法降低了训练复杂多层网络的难度。在InceptionNet[2]中,每个分支采用自定义的卷积核滤波器,以有效融合更多信息及多种特征。受到InceptionNet[2]的启发,SKNets[3]与ShuffleNet[4]都探索了多分支卷积神经网络的优化。SKNets[3]通过自适应选择机制实现了神经元自适应感受野的调整,提高了网络适应性。相反,ShuffleNets[4]将通道分割和通道洗牌两个操作合并为单一元素操作,在速度和准确性之间找到了平衡点,提高了模型效率及性能。

1.2 分组

特征分组学习最初的动机是为了充分利用多个GPU资源。Deep Roots提出了卷积组(Convolutional Groups)的概念,以更有效地学习特征表示。MobileNets[5]和ShuffleNets[4]将每个通道视为一个组,对这些组内的空间关系进行建模来改进性能。CapsuleNets[6]将每个分组神经元建模为一个胶囊,其中活动胶囊中的神经元代表图像中特定实体的各种属性。而SGE[7]则在CapsuleNets的基础上进行了扩展,将通道的维度分割为多个子特征,以便学习不同的语义信息。这些方法的共同特点在于利用分组结构来增强特征学习和表示能力,为模型提供更多的表达自由度。因此分组卷积在深度学习模型的性能及效率方面具有重要意义。

1.3 注意力机制

注意力机制的核心思想是将关注点集中在信息量丰富的特征表达上,抑制不太有用的表达。注意力机制主要包括通道注意力和空间注意力。通道注意力侧重于捕获通道之间的依赖关系,而空间注意力则关注像素之间的关系。它们通过不同的聚合策略、转换方法及强化函数,从所有位置聚合相同的特征以增强原始特征。CBAM[8]尝试同时处理空间和通道信息,虽然将它们融合可能会在性能上获得更好的结果,但增加了计算成本。ECA-Net[9]通过使用1D卷积来简化通道权重计算,以改进SE[10]模块的性能。SGE[7]采用了一种分组形式,将输入沿通道维度划分为子特征,在每个子特征上应用空间注意力。但这些方法尚未充分利用空间注意力及通道注意力之间的相关性,因此在效率方面存在一定程度的不足。

2 模型的改进

为了有效克服以上缺陷,引入STA模块,如图1所示。该模块将输入的特征映射分割成多个子组,将通道注意力和空间注意力整合到每个组的一个块中。对所有子特征进行聚合,采用信道洗牌算子来促进不同子特征之间的信息传递。

图1 STA 模块Fig.1 STA module

图2 网络结构Fig.2 Network structure

图3 注册登录界面Fig.3 Interface of registration login

图4 PCB瑕疵检测结果界面Fig.4 Interface of PCB defect detection results

对于给定的特征映射X∈C×H×W,其中C、H、W分别表示通道数、空间高度及宽度,SAT沿通道维度将X划分为G组,即X=[X1,…,XG],其中Xk∈C/G×H×W,每个子特征Xk在训练过程中逐渐捕获一个特定的语义响应。Xk会被分为两个分支,沿着通道维度划分,两个子特征表示为Xk1,Xk2∈C/2G×H×W,分别实现通道注意力开采通道间的依赖和捕获特征之间的空间依赖,生成空间注意力图,这样就同时完成了语义和位置信息的注意。通道注意力考虑到轻量化设计需求,采用最简单的GAP+Scale+Sigmoid的单层变换,公式如下:

(1)

(2)

空间注意力对输入特征图进行GroupNorm,通过一个变换Fc(·)来增强输入的表示,公式如下:

(3)

3 实验

3.1 实验环境

基于目标检测的印刷电路板瑕疵检测实验是在百度PaddlePaddle深度学习框架上完成的,表1描述了实验环境的配置。

表1 实验环境配置Tab.1 Experimental environment configuration

表2 训练模型的评估结果Tab.2 Evaluation results of training model

3.2 实施细节

PCB瑕疵数据集包括训练集6975张图片、验证集1989张图片、测试集997张图片,共计9961张图片。该数据集涵盖了漏孔、鼠牙洞、开路、短路、毛刺、杂铜6种,在缺陷处均添加标记框。为了提高模型的准确性,采用多种数据扩充策略,包括翻转、旋转、缩放及归一化处理,将输入的张量尺寸裁剪为224×224。模型通过随机梯度下降算法进行优化,优化器使用SGD,SGD的权值衰减为1e-4,Momentum为0.9,在12个epochs内每个GPU的批量大小为12。学习率设置为0.2,在100个epochs内采用CosineAnnealingDecay对学习率进行调整。

3.3 网络结构

对YOLOx网络的Backbone进行优化。其中,STA Attention是一种轻量高效的注意力模块,它将输入特征图按通道分组,对每个分组实施空间及通道注意力机制,从而高效地融合了不同的注意力模块,增强了空间及通道注意力之间的相关性。

YOLOx采用了Focus网络结构,这是YOLOv5中引入的一项创新内容。鉴于YOLOv4和YOLOv5可能在锚点管道的优化上过于偏重,YOLOx选择以YOLOv3-Darknet53[11]作为基线,在此基础上进行改进。与之前的YOLO版本相似,YOLOx可以分为3个主要部分,即CSPDarknet、FPN和Yolo Head。CSPDarknet充当YOLOx的主干特征提取网络,FPN则作为YOLOx的增强特征提取网络,而Yolo Head则负责分类和回归任务。因此整个YOLOx网络的任务可以概括为以下3个步骤:特征提取、特征增强及物体分类与回归分析。STA的嵌入使得YOLOx在目标检测领域表现卓越,为物体识别任务提供了更强大的性能。

3.4 模型训练及结果

为了评估提出的STA模块性能,在YOLOx网络结构上进行了PCB瑕疵数据集的训练及验证。在相应的实验部分引入了CBAM网络进行对比研究。

实验结果表明,提出的网络结构在增加了些许参数及计算复杂度的情况下大幅提高了mAP0.5和mAP0.75的准确率,取得了更出色的PCB瑕疵目标检测识别效果。

4 PCB瑕疵检测系统

采用PySide2开发了一个智能PCB板缺陷检测系统,主要用于智能化检测印刷电路板(PCB)的缺陷。系统包括登录注册功能,可进行用户管理。通过使用相机捕获的PCB图像,基于计算机视觉识别常见的缺陷类型,包括漏孔、鼠牙洞、毛刺等,在图像上标记出这些缺陷并输出对应的类别信息,以协助实现自动化的PCB质量检测。该系统支持实时监测摄像头流以统计流水线上的PCB产品,检测其缺陷。系统提供结果记录、展示及保存功能,以满足用户需求。

猜你喜欢
瑕疵网络结构注意力
让注意力“飞”回来
登记行为瑕疵与善意取得排除的解释论
哦,瑕疵
哦,瑕疵
“扬眼”APP:让注意力“变现”
A Beautiful Way Of Looking At Things
基于互信息的贝叶斯网络结构学习
知识网络结构维对于创新绩效的作用机制——远程创新搜寻的中介作用
沪港通下A+ H股票网络结构演化的实证分析
复杂网络结构比对算法研究进展