朱康恺 周晓巍
(上海航天控制技术研究所)
柔性电路板是电子产品的主要组成部分,废旧电路板上元器件平均使用时间约2 万h,仍处于质量最佳期,经过电性能检测与针对性维修后,仍然可以重新用于电子产品生产中[1]。然而,由于生产工艺的复杂性,柔性电路板表面可能会出现划痕、污渍、翘曲等缺陷,影响到了电路板的功能和可靠性。因此,对柔性电路板表面缺陷进行准确、高效检测具有重要意义。传统检测方法主要基于图像处理技术和机器视觉技术,检测时需要手动设置多个参数,而且对不同的缺陷类型和尺寸可能需要不同的参数设置,此外检测结果还会受到光照、视角、颜色等因素的影响[2]。近些年,深度学习技术的应用虽然一定程度提升了传统检测方法的质量与效率,但仍然面临着模型复杂度高、计算量大、参数调整困难等问题[3]。鉴于此,本研究提出了一种基于分层解耦区域生成网络的柔性电路板表面缺陷检测方法。
本研究设计了一种基于分层解耦区域生成网络的柔性电路板表面缺陷检测方法,其总体结构如图1 所示。该检测方法主要分为三个部分,分别是多层特征提取网络、分层解耦区域生成网络与分类回归网络。其中,多层特征提取网络采用多层特征抽象,将不同卷积层的CNN 特征进行融合,获取多尺度感受野,从而强化多尺度特征信息。分层解耦区域网络在接收到多层特征图以后,通过多重感受野融合模块实现区域生成网络与分类回归网络的解耦。分类回归网络采用RoI Align 进行ROI 池化,以有效提高模型训练与预测效果。
图1 柔性电路板表面缺陷检测方法总体架构示意图
本研究结合开源的VGG16 网络设计了一种新的特征提取网络,VGG16 网络有16 层,包括13 个卷积层和3 个全连接层。这种网络结构的特点是每次池化后都会使通道数翻倍,从而可以保留更多的特征信息。在卷积层5 之后有一个全连接层,之后是softmax预测层。不同层的特征提取层可分别提取目标图像的基础特征与高层语义,并采取多特征融合方式实现不同感受野大小。针对不同层采取差异化采样策略,低层加入了最大池化层进行下采样,高层加入了反卷积层进行上采样,可以获取到大小相同的特征图,便于拼接。在所有采样通道中均加入卷积层,用于提取语义特征及其压缩,最终通过局部响应归一化层标准化来源于不同采样通道的feature maps,并将其整合到统一的立方体中,形成新的feature maps。该网络将特征图到原图的映射比升高为1:8,从而可以有效提高分辨率,同时采用采样通道融合的方式可以实现多尺度感受野。
模型中,特征提取网络的最后一层决定了区域生成网络输入特征图感受野,特征图无法识别大量细节信息,从而导致定位结果不精准。本研究采用空洞卷积取代多层卷积,从而可以有效保障模型感受野。在图像输入以后,针对单一像素采取两次标准3×3 卷积,可以有效扩大特征信息,基本可达到覆盖输出特征图的5×5区域,且此时的权重分布类似于二维高斯分布。而如果采取空洞卷积的方式,卷积核内元素距离为2,则可以扩大到9×9 区域,但考虑到此时数据过于稀疏,会影响到生成候选框的精准性。因此,本研究在采用空洞卷积的基础上,进一步融合了标准卷积的特征密集,形成一种多重感受野融合模块。输入图像x0首先经过标准卷积后,可以生成特征图x1,通过标准卷积增大扩大其特征信息,之后再经过空洞卷积,将与其感受野大小一致的d2特征图采用数值相加的方式进行融合,生成输出特征图x2,两张特征图的感受视野存在差异,通过多次循环处理进一步扩大其感受野大小,并进一步增强多重感受野融合模块的高层语义信息获取能力,多重感受野融合模块MRFMi(i= 1,2,3,4,5) 的计算过程如下:
式中,xn为长度为n的模块输出,σ(x) 为ReLU激活函数,con3为标准卷积,尺寸为3×3,滑动步长为1,codn为空洞卷积,在标准卷积的基础上设定卷积核内元素距离为n。
在模块中,当对空洞卷积的元素间距进行调整,即调整模块长度参数n,便可以获取到不同大小的感受野,从而有效解决特征不匹配问题,并且相比单一的标准卷积方式,特征信息能够得到有效保留,避免关键特征的丢失。
同时,在Faster R-CNN 网络中融入了区域生成网络,因此特征提取网络提取到的图像特征可以同时共享给候选框,从而可以进行更快的生成与分类识别,显著提高模型运行速度,并且可以有效表示目标特征与像素间的关系[4]。因为采用基于区域生成网络的输出候选框作为后续的分类回归网络,通过对目标区域内的特征进行分类处理,即可获取到分类预测概率与具体缺陷区域。针对柔性电路板表面缺陷的识别问题,在候选框生成时必须获取到满足要求的感受野与高层语义特征信息,为避免分类回归网络与区域生成网络间的目标差异干扰问题,因此采用解耦思想,提出了分层解耦区域生成网络。其网络结构的构成包括四个不同的多重感受野融合模块,结构示意图可见图2。分层解耦区域生成网络在接收到不同尺度的特征图输出以后,可以经过四个多重感受野融合模块的四次重复放大处理,使感受野可以放大至满足要求,并且获取到高层的语义信息,从而获取到不同尺度的输入特征图mmi,之后再经过区域生成网络处理,生成不同的对应候选框proposalsi,整体计算过程如下。
图2 分层解耦区域生成网络结构
区域生成网络在获取到不同尺度的输入特征图以后,分别进行独立预测,生成相对应的输出候选框结果。之后按照图2所示,RoI Align根据不同候选框结果,在不同尺度的特征图中求出固定尺寸的特征图。因为Anchor 的设置差异,候选框的区域规模及其感受野大小同样存在差异,此时通过对模块的长度参数n进行调节,便可以实现对输出特征图的感受野大小控制,从而通过不断调节便可以获取到最佳感受野大小。
Faster R-CNN模型采用RoI Pooling将特征图像转化为固定尺寸特征图,可以满足分类回归网络的输入要求[5]。模型首先将输入特征图划分为目标特征图尺寸的网格区域,若无法整除,可以采取向下取整的方式,通过全局池化,可以获取到各网格区域的输出值,将其融合后可以获取到最终结果。这一过程中因为采取向下取整的方式,特征图与真实特征信息之间会存在一定偏差,导致模型预测精度下降。因此,为了解决该问题,本研究采用RoI Align 代替RoI Pool‐ing,在对无法整除的情况进行处理时,采用双线性插值对边界进行处理。RoI Align 首先将输入特征图划分出不同子区域,当无法整除时保留非整数边界结果,之后再进行二次划分,形成四个小区域,对应的特征值采用双线性插值进行获取,求取平均值作为整体区域的结果值,最终组合所有结果获取到最终输出图特征。
实验平台配置:intel 十二核i7 处理器,32G 内存,显卡为Ge Force RTX 2080Ti,显存为11G,采用Caffe 深度学习平台进行训练。采用端到端方式进行训练,输入图片大小为1024*1280,处理转变为640*800,输出为检测的结果与缺陷的位置,具体算法超参数设置如下:(1)RPN 训练:正负样本重合度阈值分别为0.7、0.3,bitch为256,正样本比例为0.5,NMS 输入、输出窗口数量分别为12000、2000,NMS 阈值为0.7;(2)RPN 测试:NMS 输出、输出窗口数量分别为600、300,NMS阈值为0.7;(3)候选窗口分类器:正负样本重合度阈值为0.5,正样本比例为0.5,bitch 为128,NMS 阈值为0.8;(4)算法学习参数:基学习率为0.001、权重正则化系数为0.0005,Adam参数1、2分别为0.9、0.999。
本研究选择以迭代次数为2 万次对本研究算法与Faster R-CNN算法进行对比,具体对比结果见表1。
表1 检测结果
由表1 可以看出本研究提出的检测方法在各项指标上均有明显提升,各项缺陷的漏检与误检数量有效降低,精准率、召回率、F-score 的性能分别提升了4.18%、3.79%与3.97%,缺陷定位结果较为精准,可以满足柔性电路板表面缺陷检测要求。
本研究针对柔性电路板表面缺陷的特征,设计了一种基于分层解耦区域生成网络的检测方法,通过实验验证了该方法的有效性,可以精准识别出柔性电路板的划伤、压痕、空焊、粘锡等常见表面缺陷,且精准率、召回率与F-score均有不错的性能。