APP下载

基于ResNet 的焊接缺陷分类识别

2023-05-24翁佩纯张远海

智能计算机与应用 2023年5期
关键词:焊点分类样本

翁佩纯,李 蓉,张远海

(1 电子科技大学中山学院 计算机学院,广东 中山 528400;2 中山火炬职业技术学院 光电信息学院,广东 中山 528403)

0 引言

称重传感器是电子秤的核心部件,其制造过程中应变片的焊接质量直接影响其性能的好坏。应变片焊接缺陷包含多锡、少锡、掉线、短路等,由于应变片尺寸小,仅靠人工检测容易误判,且效率低,与生产流水线的速度不匹配,因此监测应变片的焊点焊接的质量对提高传感器产品质量至关重要。

传统的焊点缺陷检测方法主要有X 射线检测、红外激光检测、电气检测等,存在成本高、效率低的缺点[1]。随着机器学习技术和数字图像处理技术的发展,有学者提出了一些方法的改进,先通过分析提取图像特征、再使用如支持向量机分类、BP(Back Propagation)算法、K-近邻法等方法检测缺陷。这些方法对检测焊点质量有一定的效果,但由于需要通过人工分析缺陷,提取形态特征,受限于先验知识,其稳定性较差。

在焊点缺陷检测中,深度学习的应用比较少。一方面,虽然深度神经网络相关方法优于传统方法,但其准确率是需要足够多的缺陷样本支撑,而采集缺陷样本和人工标注的成本过高;另一方面,部分缺陷样本少之又少,导致缺陷样本分布不平衡,影响训练结果。针对上述问题,本文通过数据增强处理,构造应变片缺陷样本数据集,以ResNet50 为基础模型构建焊接缺陷分类模型,对焊点区域图像自动提取特征,实现对焊接缺陷的分类识别。

1 缺陷分析

焊接的主要缺陷包括少焊、掉线、短路等。首先针对待检测的称重传感器图像使用中值滤波算法进行平滑处理,再采用基于边缘方向梯度的模板匹配算法,快速定位到应变片位置和焊盘位置,从而分割出有效的焊盘区域图像。各类焊接缺陷的焊点区域图像如图1 所示。

图1 各类缺陷的焊点区域图像Fig.1 Weld spot area image of defects

需要注意的是,“掉线”缺陷的类型比较特殊。由于生产工艺的问题,“掉线”并不意味着“漏焊”或“少焊”,如:掉线缺陷图片中,焊点的情况分别是焊锡正常、少焊、焊锡脱落、焊盘脱落等,如图2 所示。掉线的图片中,焊点的情况可能是正常、少焊、焊锡脱落、焊盘脱落等。因此,对应变片焊接缺陷分类的问题,实际是一个多标签多分类问题,本文提出一种焊接缺陷分类模型,解决焊点和焊线的缺陷分类识别问题。

2 焊接缺陷分类模型

为了有效识别焊接缺陷的类型,本文基于ResNet 网络模型,提出一种焊接缺陷分类模型,解决焊点和焊线的缺陷分类识别问题。该模型主要包括3 个模块,用于提取图像特征的主干网络、焊点缺陷分类子网络、焊线缺陷分类子网络。具体结构如图3 所示。

2.1 主干网络

主干网络使用Resnet-50 网络模型,包含49 个卷积层。conv1 主要对输入进行卷积、正则化、最大池化的计算,conv2、conv3、conv4、conv5 都包含了残差块,每个残差块包含3 层卷积,最后经过平均池化层将其转化成一个特征向量。

2.2 焊点缺陷分类子网络

焊点缺陷分类子网络将主干网络中提取的特征向量作为输入,分别经过自适应最大池化层和自适应平均池化层,得到两个一维的张量。再对这两个张量进行拼接融合,经过全连接层和Softmax 激活函数,计算并输出每个类别的概率,选取概率最大的类别作为分类结果,从而判断该图像属于哪种焊点缺陷类型。焊点缺陷分类子网络在训练过程中,使用多分类交叉熵作为损失函数,计算每个样本在各个标签的损失,公式(1):

其中,N表示种类数量;yi表示样本每个标签的真实值;pi表示经Softmax 函数输出的类别概率值。

2.3 焊线缺陷分类子网络

焊线缺陷分类子网络将主干网络中提取的特征向量,经过1×1 卷积层,再经全连接层,最后使用Sigmoid 激活函数,计算并输出掉线的概率,选取概率大于0.5 的类别作为分类结果,从而判断图像中是否包含掉线缺陷。由于焊线缺陷属于二分类问题,使用二分类交叉熵作为损失函数,公式(2):

3 实验分析

3.1 实验环境

本文实验的硬件环境:CPU 为8 核Intel Xeon W-2123,主频为3.6 GHz,GPU 为NVIDIA GeForce GTX 1080 Ti,GPU 内存16 G。软件环境:深度学习训练框架采用Pytorch,开发语言为Python。

3.2 评价指标

为充分评价模型性能,本文使用准确率(Accuracy)、精确率(Precision)、召回率(Recall)和(F1-score)作为评价指标,具体定义如式(3)~式(6):

其中,TP为真正类;FN为假负类;FP为假正类;TN为真负类。

3.3 数据增强

深度卷积网络的训练需要足够多的样本数据集,而在实际生产过程中,缺陷样本大约只占总数的10%~15%,部分缺陷类型更是少之又少,造成了样本不平衡的现象。在部分缺陷类型样本不足的情况下,本文采用旋转、平移,水平镜像、增加噪声、颜色变换等方法进行了数据增强处理,建立焊接缺陷样本数据集WDD(Welding Defect Dataset)。

经过数据增强后,短路、少焊两种缺陷的图片数量扩展到原来的4 倍。原始WDD 图片由原来的5 477 张扩增到9 640 张,各种缺陷类型在数据增强前后的数量分布,见表1。本文将其中7 232 张用于训练,2 408 张用于测试。

表1 各种缺陷类型数量分布表Tab.1 Quantity distribution of defect types

3.4 训练策略

模型采用迁移学习的方法,使用ResNet-50 在ImageNet 上的预训练模型参数权重作为训练参数初始值,这些参数经过120 万张图像的训练,能有效提取图像的特征向量,具备了较强的泛化能力。模型训练的学习率为0.001,权重衰减为0.005,优化器选用系数为0.9 的冲量优化器,batch_size 为32,训练40 个epoch。

3.5 测试结果分析

为对模型在数据增强前后的性能进行对比,将模型分别在数据增强前的WDD、数据增强后的WDD 上进行训练,并在测试集上使用训练好的模型进行缺陷分类,各类别的准确率、精确率、召回率和F1-score见表2。

表2 数据增强前后模型性能对比Tab.2 Comparison of model performance

由表2 可见,模型在数据增强前的分类能力,对于“焊点正常”、“焊线正常”、“掉线”这3 种样本数量较为充足的类型,均有不俗的表现,其F1-score分别达到94.70%、95.5%、96.2%;而在“短路”和“少焊”这两种样本数量不足的类型上则效果较差,F1-score分别为89.9%和83.8%。模型在数据增强后对“短路”、“少焊”两种类型的分类能力有所提高,F1-score达到97.3%和95.6%,比数据增强前分别提高了7.4%和11.8%,召回率达到了96.2%和94.7%,比数据增强前分别提高了6.3%和7.7%,说明使用数据增强后,模型对于这两种原始样本数量较少的缺陷类型,具有较好的泛化能力。总的来说,本文提出的模型对大多数缺陷类型的预测都具有较高的准确率和可靠度。

3.6 特征可视化

为了更直观地展示本文所搭建的模型焊接缺陷分类的准确性,本文利用基于梯度的热力图可视化技术(Gradient weighted Class Activation Mapping,Grad-CAM),生成特征热力图,判断模型最终提取到的预测特征图是否关注焊点、焊线缺陷所在区域,防止过拟合的发生,可视化效果如图4 所示。

图4 Grad-CAM 可视化效果图Fig.4 Grad cam visualization

从图4 中可以看到,当模型预测到图像存在缺陷类别时,更多地关注了缺陷的所在区域,说明本文搭建的焊接缺陷分类模型能有效地提取到缺陷所在区域的特征,具有较好的泛化能力。

4 结束语

本文针对称重传感器上应变片的焊接缺陷问题,以ResNet50 为基础模型,构建一种焊接缺陷分类模型,实现对少焊、短路、掉线的缺陷分类识别。通过缺陷分析和数据增强处理,构建应变片缺陷样本数据集WDD。实验表明,模型在WDD 测试集上的分类准确率达97.4%,精确率达97.2%,召回率达96.2%,F1-score得分达96.7%。

猜你喜欢

焊点分类样本
分类算一算
用样本估计总体复习点拨
分类讨论求坐标
推动医改的“直销样本”
数据分析中的分类讨论
教你一招:数的分类
随机微分方程的样本Lyapunov二次型估计
焊盘尺寸对SMT焊点可靠性的影响
村企共赢的样本
DH36钢摩擦叠焊焊点分布规律研究