1. 引言
印刷电路板(PCB: Printed Circuit Board)是电子设备中元器件连接的重要载体,广泛应用于各种电子产品中 [1] 。为了保护PCB的电性能和物理性能、提高其可靠性和稳定性,涂胶已成为PCB制造不可或缺的环节 [2] 。涂胶的作用在于防止PCB表面氧化、腐蚀和污染 [3] ,避免物理损伤和各种因素的影响,增加PCB的绝缘性和阻燃性,延长其使用寿命和维修周期。然而,在PCB上有些区域需要散热或安装接口,不适合涂胶,因此PCB需要分为涂胶区域和非涂胶区域。为了保证PCB的生产的合格,需要对PCB进行涂胶区域识别,来检测PCB上的某个区域是否涂有胶水,以保证每个区域都得到正确地处理。对于涂胶检测已经有多位学者做过研究,沈涛 [4] 等利用PCA主成分分析算法,将可见光图像与红外图像融合,运用OTUS阈值分割,ROI区域提取等方法识别涂胶区域。张建国 [5] 等提出了一种改进Canny算子的检测算法,通过加权最小二乘法滤波、增加梯度幅值计算方向、采用最大类间法确定阈值等方面的改进,克服了传统Canny算法的劣势,并提高了检测的准确性和稳定性。以上研究主要利用传统机器视觉方法对涂胶区域进行识别,对于复杂的涂胶形状和变形等情况,易出现误判或漏判。其次,算法的准确度受到图像预处理的影响较大,在应对复杂场景、多样性样本等方面存在一定的局限性 [6] 。
随着人工智能技术的发展,深度学习被广泛地应用在图像识别和图像分割的领域中 [7] 。与传统的边缘检测不同的是,基于深度学习的图像分割以数据作为驱动,从大量的标记数据中学习语义区域特征,从而提高准确性和泛化能力 [8] 。金燕 [9] 等提出了一种基于循环残差卷积神经网络的图像分割算法,利用残差学习单元和循环卷积单元形成循环卷积残差模块替代普通卷积网络的前馈卷积单元,解决了深层网络结构模型面临的网络退化问题。张平 [10] 等提出一种以U-net网络为基础,结合Mobilenetv3网络、SE注意力机制模块、自校正卷积模块的图像分割方法。该方法以Mobilenetv3-large模型作为骨干网络,结合LR-ASPP网络处理特征图,有效地提升了网络特征提取能力。
本文针对PCB涂胶区域识别的问题,提出了一种以U-net网络为基础的改进网络模型。该模型在U-net解码器部分替换成自主设计的Block模块和ESE模块分路提取特征,并将二者特征图拼接,增强网络的特征提取和特征表达能力,以此来提高PCB涂胶检测的泛化能力和精度。
2. 网络结构
2.1. 语义分割网络U-Net
U-net是一种用于图像分割的深度学习网络结构,由德国图像处理专家Olaf Ronneberger等人于2015年提出 [11] 。U-net基于卷积神经网络(CNN)的思想,采用了一种特殊的编码–解码结构,并添加了跳跃连接(skip connections)来保留高分辨率特征 [12] 。U-net的网络结构类似于一个U形,由两部分组成:左边是编码器(encoder),右边是解码器(decoder)。在编码器部分,U-net网络采用类似于传统的卷积神经网络结构,通过不断进行卷积和池化操作来提取图像的特征。这个过程类似于图像分类任务中的特征提取过程 [13] 。但是在U-net网络中,经过一次卷积和池化都会使特征图的尺寸减小。在经过编码器多次卷积和池化之后,编码器提取到的特征图已经被压缩到了很小的尺寸。解码器的任务是将编码器提取到的特征图还原成与原图像尺寸相同的分割结果。为了保留高分辨率特征,U-net的解码器采用了与编码器相反的结构,即先进行上采样操作,再进行卷积操作 [14] 。在每次上采样之后,将对应的编码器层的特征图拼接起来,以保留更多的特征信息。此外,U-net还添加了跳跃连接来直接连接编码器和解码器之间的对应层,从而使得解码器可以访问更多的特征信息,提高分割的精度。U-net网络结构图如图1所示。

Figure 1. U-net network structure diagram
图1. U-net网络结构图
2.2. 改进的语义分割网络
2.2.1. 改进U-Net网络模型
为了解决U-net网络在PCB涂胶区域识别时,检测精度不高,容易丢失特征,泛化能力不强的问题,提出了一种基于改进U-net PCB涂胶区域识别模型。改进的U-net网络的主要思想是通过改变编码器部分特征提取的结构,引入多路特征融合的机制,使得网络能够更好地利用不同尺度、不同层次的特征信息,从而提高了网络的性能。具体来说,它在U-net网络的编码器中引入了两路并行的分支。输入图像一路经过自主设计的Block模块组成的特征提取网络,利用Block模块替代U-net网络原有的双层卷积模块,经过3次Block模块进行特征提取,得到3个大小不同的特征层。另一路则经过最大池化和自适应门控模块(ESE模块)进行特征提取,利用U-net网络原有的最大池化层来进行特征提取,每个特征提取后的特征层再经过ESE模块进行加权,得到加权后的特征层。将两路分支对应大小的3对特征图拼接,得到新的特征图。每个分支融合了来自编码器不同层次的特征信息,然后将这些融合后的特征通过上采样和反卷积等操作进行整合,得到最终的预测结果。这种多路特征融合的机制能够有效地利用低层次和高层次的特征信息,使得网络对于目标的边缘、纹理等细节特征有更好的感知能力,从而提高了分割的精度。改进的U-net网络结构图如图2所示。

Figure 2. Improved U-net network structure diagram
图2. 改进的U-net网络结构图
2.2.2. ESE模块
ESE模块中引入了ESE (Effective Squeeze and Extraction)通道注意力机制,它是由SE (Squeeze and Extraction)通道注意力机制改进而来。和SE注意力机制相比,它用一个通道数为输入图片通道数的全连接层代替SE注意力机制中原有的两个全连接层。ESE注意力机制能够插入到U-net模型中任意地方,增强特征图有用信息的提取,忽略无关紧要的特征。ESE注意力机制结构如图3所示。

Figure 3. Effective Squeeze and Extraction structure diagram
图3. ESE注意力机制结构图
该机制主要分为两个部分,即全局平均池化和通道相关的全连接层。
在ESE注意力机制中,首先将输入的特征图通过一个全局平均池化操作(Global Average Pooling)压缩每个通道的信息,得到每个通道的特征值。然后将其输入一个通道相关的全连接层,输出一个与原特征图通道数相同的注意力权重,将这个权重乘到原特征图上,完成通道注意力的加权过程。
在这路分支中,引入ESE注意力机制的目的是增强网络对重要特征的感知能力,从而提高网络的性能。通过引入ESE模块,可以自适应地对特征图进行加权,使得网络能够更加关注重要的特征,从而减少噪声和无关信息的影响,提高了模型的准确性和鲁棒性。
2.2.3. Block模块
在U-net网络中,每次下采样通常是通过池化层实现的,池化操作会将特征图的尺寸缩小,同时将特征图内每个池化窗口的最大或平均值作为该窗口的池化结果,从而使得特征图的信息变得更加简化和抽象化。随着池化层数的增加,特征图的尺寸会不断缩小,同时感受野也会逐渐变大。当进行上采样时,通常是通过反卷积实现的,反卷积操作会将特征图的尺寸还原到上一层的大小,但是由于在下采样的过程中感受野变大了,因此在上采样时需要保证感受野足够大,才能够覆盖原始图像的局部区域,从而保留更多的细节信息。如果感受野不足以覆盖原始图像的局部区域,即使在上采样之后仍然会出现部分信息丢失的情况,这会导致还原的图像出现模糊、失真等问题,影响模型的性能。为了增强U-net模型感受野的大小,提升模型的特征提取能力,在改进的U-net一路分支中,加入了自主设计的Block模块。Block模块结构图如图4所示。

Figure 4. Block module structure diagram
图4. Block模块结构图
Block模块中通过两个分支的卷积操作对特征图进行特征提取。其中一个分支是采用步长为2的3 × 3卷积对特征图进行下采样处理,另一个分支是采用步长2的1 × 1卷积对特征图进行下采样处理。这样,两个分支将特征图的通道数增加一倍,并将两个分支的特征图进行拼接,从而增强模型对输入的数据的感知能力。
在两个分支的特征图拼接后,Block模块引入ECA注意力机制来增强特征图中重要信息的表示。该注意力机制会对特征图的通道维度进行自适应地调整,从而减少不重要的通道信息的影响,强化重要信息的表示。最后,Block模块还使用了激活函数进行特征图的非线性变换。
ECA注意力机制(Efficient Channel Attention)是在SE-Net注意力机制基础上进行一定的改进,其提出了一种一维卷积的方法,避免了降维对数据的影响,主要分为以下三个步骤:
1) 将(C, H, W)的特征图通过全局池化或平均池化变为(C, 1, 1)使得每个通道都有一个数值与其一一对应,达到上下文信息融合的效果。
2) ECA注意力机制通过执行卷积核大小为k的一维卷积来生成通道权重,其中一维卷积核的大小k如公式(1)所示。
(1)
公式中:k表示一维卷积核的大小,C表示通道数,且k只能奇数,y和b分别设置为2和1用于改变通道数C和卷积核大小k之间的比例。
3) 将得到的权重值与原有的特征图做乘法运算,得到不同权重下的特征图。ECA注意力机制结构图如图5所示。

Figure 5. Efficient Channel Attention structure diagram
图5. ECA注意力机制结构图
3. 实验结果与实验分析
3.1. 数据集的制作
实验中用于模型训练和检测的图像数据集来自PCB制造生产车间,通过摄像头拍摄了500张涂胶的PCB图片,并将训练集和测试集的比例设置为9:1,其中450张图片设置为训练集,剩余50张设置为验证集。
3.2. 实验平台及参数设置和评价指标
3.2.1. 实验平台
实验硬件环境:训练主机采用的CPU型号为AMD Ryzen7 4800H with Radeon Graphics2.90 GHz,内存16GB,显存8GB,GPU为NIVIDA Geforce RTX2060显卡。实验软件环境:Windows10操作系统,编程语言为Python3.6,深度学习框架为Pytorch1.9.0,开发软件为Pycharm。
3.2.2. 实验参数设置
在本次实验中,使用RmSprop优化器,batch_size为10,epoch为100,初始学习率为0.00001。
3.2.3. 实验评价指标
实验采用Dice (相似度系数)和Acc (精度)作为评价指标。Dice通常用于评估模型分割结果与真实标注之间的相似度。其公式如(2)所示。Acc表示模型预测正确的结果,反映了模型的分类能力,其公式如(3)所示。
(2)
(3)
公式中:TP (真正):预测正确,预测结果是正类,真实是正类。FP (假正):预测错误,预测结果是正类,真实是负类。FN (假负):预测错误,预测结果是负类,真实是正类。TN (真负):预测正确,预测结果是负类。真实是负类。
3.3. 实验结果分析
为了证明设计模块的有效性,在原始U-net模型上增加不同的模块进行消融实验,实验组分别是:原始U-net模型、在原始U-net基础上仅增添ESE模块的模型,在原始U-net基础上仅增添Block模块的模型和两个都添加的U-net模型。
如表1所示,改进后的U-net模型的Acc比原始U-net模型高4.12%,Dice比原始U-net模型高4.95%。由此可以看出,改进后的模型的预测结果与真实图像的匹配度要高于原始U-net模型,改进后的模型拥有更好的分类能力和分割能力。

Table 1. Acc and Dice of each model
表1. 各个模型的Acc和Dice
为了更加直观地表达改进前后网络模型的识别性能,将改进前后的预测结果进行对比,如图6所示(按顺序依次为,检测图片,原始U-net模型的预测结果,仅添加Block模块的U-net模型的预测结果,仅添加ESE的U-net模型的预测结果,添加ESE + Block模块的U-net模型的预测结果)。由图6(b)可知原始的U-net模型预测结果中,存在将无胶区域误判为涂胶区域的情况。由图6(c)和图6(b)对比可知,U-net模型添加了Block模块后,原有的误判情况基本消失,但出现了少许新误判情况,说明Block模块在U-net模型中起到了加强模型性能的作用。由图6(d)和图6(b)对比可知,U-net模型在添加了ESE模块后,原有的误判情况基本消失,但其检测的涂胶区域有少量的缺失。说明ESE模块在U-net模型中起到了加强模型预测正确率的作用。由图6(e)和图6(b)~(d)对比可知,同时添加ESE和Block两个模块后,完全消除了原始U-net模型存在的误判问题,且预测的图像也更为准确。说明改进后的U-net网络比原始的U-net网络在涂胶区域识别的问题上拥有更好的识别性能。
4. 结论
本文提出的基于改进U-net的PCB涂胶区域识别方法,通过自主设计Block模块和下采样模块并行提取特征的方法替换原有U-net的编码器提取特征的方法,提升了算法对于识别PCB上涂胶区域的精度。改进后的U-net模型能得到更好的识别结果,经过500张数据集的训练实验得到其Acc为90.25%,比原始U-net提升了4.12%,Dice为84.57%比原始U-net提升了4.95%。满足工业实际需求,体现了改进后的U-net模型在PCB涂胶区域识别的优越性,在PCB检测场景有着积极的作用。
基金项目
江苏省重点研发计划(BE2019317)、常州市5G+工业互联网融合应用重点实验室(CM20223015)、江苏理工学院研究生实践创新计划(XSJCX21_29)资助。
NOTES
*通讯作者。