APP下载

基于深度学习的电路面板元件检测研究

2023-06-07欧阳家斌胡维平侯会达

计算机应用与软件 2023年5期
关键词:元件面板语义

欧阳家斌 胡维平 侯会达

1(广西师范大学电子工程学院 广西 桂林 541000) 2(中国科学院自动化研究所苏州研究院 江苏 苏州 215000)

0 引 言

随着电子产品的快速发展,相应的电路板也得到很大的发展[1],电路面板是一种常见的电子类产品的表面,其表面由各类元器件组成,为了使其正常工作,对电路面板的元件识别在实现生产中成品检验的自动化与流水线化方面有着重大意义。近年来,随着人工智能的飞速发展,深度学习技术在计算机视觉物体检测识别领域展出了很大的成效[2]。在传统的图像识别任务中,一般由手工设计的特征提取器完成特征提取,这导致运算量大、速度慢,对于不规则、场景复杂的物体检测识别率低。为了避免人工设计特征的繁琐和不确定性,基于深度学习的方法具有准确率高、速度快、鲁棒性好等优势。

在分析和前人研究的基础上,本文提出了一种基于ResNet50[3]和EfficientNet[4]融合的backbone网络[5]方法。这是一种改进的EfficientDet[6]目标检测网络方法,首先将图片输入到融合的骨干网提取基本的语义特征,然后通过Bi-FPN[4]加强网络特征层获得更高层的语义信息。在重复自上而下和自下而上的双向特征融合后,最后将融合的特征输入边界框和类别预测框网络。实验表明,本文所采用的方法具有高精度、高速度和良好的鲁棒性,对电路面板的元件的有效检测具有重要的意义和应用价值。

1 ResNet50_EfficientNet网络结构

1.1 ResNet50网络结构

ResNet网络[3]的起始是一个常规比较浅的网络上探索加层的过程,其思想在于引进一个深度残差框架来解决梯度消失的问题,如图1所示,输入x值,一个分支经过网络堆叠层,另一右侧分支直接shortout(捷径)操作,再将两个分支的结果进行相加操作,通过ResNet子模块直连的引入,将需要拟合的映射变为残差F(x):H(x)-x。

图1 残差网络结构

这相比于直接优化潜在映射H(x),优化残差映射F(x)更为容易。图2为ResNet50的一个Bottleneck结构[7],1×1的卷积核让整个残差单元更加细长,且参数减少,可将通道数通过下采样变为相同,再进行相加操作。ResNet50一共有50层,有4个大卷积组,而这4个卷积组的Bottleneck数分别是3、4、6、3。

图2 ResNet50网络的Bottleneck结构

1.2 EfficientNet网络结构

模型缩放的高效性严重地依赖于baseline网络[8],如何创造在深度d、宽度w、分辨率r这三个维度的平衡至关重要。它们三者的关系如下:

(1)

其约束条件为:

α·β·γ≈2

α≥1,β≥1,γ≥1

(2)

式中:Φ是一个待定的系数,控制资源的使用量,可以人工设定,取值范围在0~7之间,本次实验取Φ=0。ɑ、β、γ是很小范围搜索的常量[9],用于决定资源的分配。

EfficientNet-Bo[4]的baseline结构网络如表1所示。

表1 EfficientNet的网络结构示意

2 Bi-FPN网络结构

为了增强语义信息,传统的目标检测网络模型通常只在卷积网络的最后一个特征图上进行后续操作,导致小物体在特征图上的有效信息比较少,因此小物体的检测性能通常会急剧下滑。为了解决多尺度问题,可以从卷积神经网络不同层大小上进行语义信息的提取。FPN(Feature Pyramid Network)[10]方法融合了不同层的特征,较好地改善了多尺度的检测问题。

如图3所示,利用自下而上进行下采样卷积,使得图像变小,直至生产最精细的特征图。横向连接的目的是将上采样后的高语义特征与浅层的定位细节特征进行融合,高语义特征经过上采样后,其长宽与对应的浅层特征相同,因此进行逐元素相加操作得到相应的新特征。

图3 普通FPN结构图

在图4中,移除一个输入边的节点,在原始输入到输出节点添加额外的边,保证不增加大量成本的情况下融合更多的特征。FPN融合办法是对所有输入特征平等对待,不加区别,但由于不同输入特征的分辨率不同,故对输出特征的贡献亦不同。为解决该问题,在特征融合的过程中,为每一个输入添加额外的权重,再让网络学习每个输入特征的重要性。使用快速限制融合方法,公式如下:

(3)

图4 Bi-FPN结构图

如P6层的融合方式为:

(4)

3 训练算法融合

骨干特征网是物体检测的基础,为网络特征提取器,其作用是提取图片中的信息,供后面网络使用。

由于ResNet对网络训练梯度不消失的优势,EfficientNet在深度、宽度、分辨率三者中可以达到一个很好的平衡。在分类任务中,特征融合的识别准确率上的优势相比于单一特征越发明显。如图5所示,首先进行input操作,因为C1层的特征图尺寸较大,其含有的语义信息不足,故舍去。P3、P4、P5为自下而上的模块,使用ResNet50结构,特征图大小减少,通道数递增。通过横向连接得到右边特征图使用EfficientNet骨架网络提取特征。经过backbone网络提取特征之后,利用Bi-FPN进行更进一步的特征提取操作,此结构一共串联了3个Bi-FPN层。最后,输送到边框回归网络和分类预测网络。

图5 改进后的EfficientNet网络结构示意图

4 实 验

4.1 实验环境

实验平台为Windows 10(64 bit)操作系统,Intel i7-9700KF CPU 3.6 GHz,NVIDIA GeForce GTX 1650 4 GB,RAM 32 GB,使用PyTorch构建网络模型。

4.2 数据集处理

采集到的图片分辨率较大,分辨率为5 472×3 648,因硬件资源有限,无法进行导入模型运算,故将图片沿着上下左右各包含两个元件进行裁切,得到分辨率为2 300×1 050的图片进行训练和识别。图6所示为包含了四种需要检测元件的未裁剪原始图片,图7为上下左右方向的四类元件图。将上下方向包含元件A和元件B的进行裁剪,裁剪后的图片放入文件夹work1,图8所示为下方向裁剪后得到的单个样本图。将左右方向包含元件C和元件D的进行裁剪,裁剪后的图片放入文件夹work2,图9所示为左方向裁剪后得到的单个样本图。其中work1的图片1 615幅,按8∶1∶1对训练集、验证集、测试集进行划分,得到训练集1 293幅,验证集161幅,测试集161幅。处理后的work2图片共有1 454幅,同理,可得到训练集1 164幅,测试集和验证集均为145幅。

图6 采集图片中单个样本示意图

(a) 元件A (b) 元件B

(c) 元件C (d) 元件D图7 四个方向四种元件示意图

图8 文件夹work1其中的单个样本示意图

图9 文件夹work2其中的单个样本示意图

4.3 实验参数

(1) AdamW[11]优化算法。学习过程的核心算法用于最优化求解[12],SGD方法对于不同的任务,初始值不固定,其依赖于较好的初始学习率,容易陷入局部最优。Adam优化器是一种学习率自适应的算法,因超参数选择不当可能会造成不收敛问题,学习率需要从建议的默认选择。AdamW是Adam的进化版,为目前训练神经网络最快的方式,可获得更快的首先速度。

(2) Focal Loss[13]损失函数。选择FL损失函数主要为了解决正负样本不均衡问题,通过参数的协调来控制,可以做到解决简单样本和难样本的不平衡问题。

(3) 参数初始化。学习率为1e-4;batch_size为3;epoch为60;所有权重初始化均值为0、标准差为0.01的高斯分布。

4.4 实验结果

为了验证本文提出的backbone(骨干网络)ResNe50和EfficientNet融合的方法,将work1、work2文件夹的数据集进行实验并统计,使用各类元件的检出、过检,漏检和单幅测试的fps(每秒传输的帧数)进行性能评价。

根据表2的实验结果可以看出,元件A和元件D的识别效果使用未改进的backbone网络也可以达到100%准确识别,而对于元件B过检和漏检均比改进的网络多。对于元件D,融合的特征网络可准确识别,而未融合的网络存在过检的识别。

表2 检出、过检和漏检的对比实验

对四类元件的检出和存在过检和漏检的元件进行分析,随机选取在实验测试的图片,对两者网络共同的问题,选择代表性图片进行展示。如图10所示,元件A和元件C使用两者网络均可检出,图10(a)和图10(e)分别为元件A检出和元件C检出选取的单个样本示意图。元件B的检测中两者网络都有过检和漏检的情况,图10(b)为检出,图10(c)和图10(d)为漏检和过检的图片中选取的单个样本示意图。在检测元件D中,两者检测网络算法没有漏检情况,但未改进的网络存在过检行为,图10(f)为检出的示意图,图10(g)为未改进网络过检的实验图片。

(a) 元件A检出(b) 元件B检出(c) 元件B漏检

(d) 元件B过检 (e) 元件C检出(f) 元件D检出

(g) 元件D过检图10 各元件识别情况效果分析图

对实验的分析可发现,电路面板在高光下采集,多数呈现灰白色,在光照不足条件下,呈现灰暗色。元件A和C较易呈现黑色,与背景面板颜色有一定的差别,元件A和C较于元件B和D大,因此使用两者网络达到了相同的检测效果,均可检出,无漏检和过检现象。而对于元件B和D,在颜色、纹理、形状上和背景其中部分相近。如图10(d)中,该图像存在于电路面板的凹凸处,形状和元件B较为相似,容易和面板的其他部位混淆,导致过检。同理,图10(g)存在过检的现象也源于该部分与元件D有着一定的相似性,而造成过检。图10(c)所示漏检的样本中,元件C在物体的尺寸上比较偏小,在多层池化处理操作后,使得部分有效特征丧失[14],且图片暗沉,缺少有效的语义信息,因而造成漏检情况,无法正确检测该物体。使用ResNet50融合EfficientNet作为特征网络,提取多层有效语义信息,加强网络特征的提取,对颜色相近及小物体检测有着一定的效果,因此在元件B的漏检数和过检数得到良好的改善,而对于元件D可以全部有效地正确识别。

为了验证网络检测速度,本文进行实时性检测效果对比,对测试集每一幅图片测试后进行相加并取平均值,得到表3。可以看出,融合的网络比单一使用EfficientNet网络在速度上平均高出0.559 fps,对高要求的实时检测应用场景有一定的帮助,有助于快速检测物体。

表3 单幅图片的平均帧率对比

5 结 语

文中检测电路面板器件对电路的合格生产有着至关重要的作用,本文以真实工业需求出发,采集相关数据集为研究对象,针对多尺度物体检测的骨干网进行特征融合,有效解决了多类型的物体识别。从实验结果来看,相比于改进前的网络模型,融合网络模型在单张检测速度平均提高了0.559 fps,元件B的检出率提高了0.62%,过检和漏检均减少了0.62%。元件C检出率提高了0.69%,没有出现过检情况。说明本文提出的方法行之有效。电路面板各元件识别对生产工业有很大的发展前景,不但可以节省人力,还可以避免因主观因素而导致不合格品的流出,大大地提高了硬件的质量。元件和瑕疵的检测这一研究方向拥有广阔的发展空间,在未来,对智能工业制造有着重要的意义和深远的影响。对元件的板面脏污,板材压伤、划伤、断裂,损件等缺陷类型有待进一步的研究。

猜你喜欢

元件面板语义
面板灯设计开发与应用
语言与语义
MasterCAM在面板类零件造型及加工中的应用
Photoshop CC图库面板的正确打开方法
“上”与“下”语义的不对称性及其认知阐释
QFN元件的返工指南
在新兴产业看小元件如何发挥大作用
宝马i3高电压元件介绍(上)
认知范畴模糊与语义模糊
Cu4簇合物“元件组装”合成及其结构与电催化作用