基于生成对抗网络的小样本激光焊接缺陷数据集生成
2022-11-23肖思哲刘振国闫志鸿李敏黄及远
肖思哲,刘振国,闫志鸿,李敏,黄及远
(1.北京机械工业自动化研究所,北京, 100120;2.北京工业大学 材料与制造学部,北京, 100124)
0 序言
在新能源汽车动力电池模组制造过程中,一般采用大功率激光振镜焊接工艺,实现电池模组汇流排(Busbar)焊接成组.在焊接过程中,因焊接工艺参数波动、铝极柱表面氧化、气体保护不充分、Busbar 压合间隙过大等原因,导致产生虚焊、气孔、夹渣、断焊、发黑等焊接缺陷,这些缺陷对电池的安全性造成了严重影响,极易引发电池包(Pack)起火.针对上述焊接缺陷,如何从工艺源头上实现“早诊断、早发现、早处理”成为当前亟需解决的质量问题.近年来,基于计算机视觉和深度学习的缺陷检测方法得到了广泛关注,目前,深度学习技术取得了快速的发展,该技术也开始被应用到了焊接缺陷的检测中.深度学习预测的准确性强烈地依赖于大数据,然而平衡的焊接缺陷大数据却较难获取.对于广大研究人员来说,缺少数据集是一个共性问题.在焊缝缺陷领域使用较广泛的是由Mery D 等人[1]提出的GDXray-weld 数据集,但该数据集主要收集了焊缝内部缺陷,且数量并不多.而对于焊接表面缺陷,尚无权威的公开数据集发布.在实际生产场景中,收集获取种类齐全的数据集,存在诸多不便,且费时耗力.基于小样本且不均衡数据集的缺陷检测成为现在研究的难点和热点.
为此,研究人员提出了一系列解决方法,主要有3 种.第一,采用传统图像增强手段,通过对图像进行翻转、折叠、仿射变换、对比度调整等方法尽可能地扩充有限的数据集.第二,由Zhang 等人[2]提出的mixup 算法,通过对不同图片像素和标签进行一定比例的混合提升数据集的特征多样性.第三,生成对抗网络[3]可以在原有特征的基础上生成新的特征,从而有效地扩展特征空间的多样性,所以也被用来扩展数据集.黄旭丰[4]利用DeliGAN[5]对GDXray-weld 数据集进行增广,生成了32 × 32像素的焊接缺陷图片.谷静等人[6]利用DCGAN[7]对某车间内部的焊接缺陷进行数据增强,得到了64 ×64 的缺陷图片.从上述研究来看,由于受焊接缺陷特征复杂度较低以及小样本的限制,传统图像增强以及mixup 等方案起不到很好的效果.而使用生成对抗网络扩展数据集的方法,也由于数据集的限制,存在模型不稳定、生成图像质量不高等问题.
针对以上问题,结合焊接缺陷特征复杂度以及样本数量的限制,文中基于由Karras 等人[8]提出的针对有限数据集的stylegan2-ada,引入优化后的mixup 结构—OCM(one class mixup),提出了OCMstylegan2-ada 算法.该算法进一步减小数据集规模,增强生成对抗网络鲁棒性,提升生成图片质量.OCM-stylegan2-ada 只输入单类图片,保证生成图像的特征分布最大限度地符合该类已有数据集图像特征分布.
最后,通过对比原始数据集、mixup数据集、stylegan2-ada数据集、OCM-stylegan2-ada数据集在MobileNetV3 上的表现,研究不同方法对小样本、不均衡焊接缺陷数据集改善情况.
1 生成对抗网络
生成对抗网络[7]主要由生成器和判别器组成,是根据零和博弈思想,由生成器和判别器不停博弈最终达到纳什均衡的一种生成模型.生成对抗网络的目标函数为
式中:G代表生成器;D代表判别器.生成器对输入图片加入随机噪声并交由判别器判断,再由判别器反馈给生成器,并且将生成图片逐渐优化为接近真实训练集分布的图片.生成器和判别器一起迭代直至判别器无法判断所生成图片的真假时,生成对抗网络达到最优.
1.1 stylegan2-ada
由NVIDIA 公司提出的stylegan[9]、stylegan2[10]在其自建的高清人脸数据集上取得了很好的生成效果.这很大一部分原因可归功于大样本、高质量的数据集,但是这种高质量数据集获取难度很高.针对这种情况,Karras 等人[8]在stylegan2 的基础上进行了优化调整.
如图1 所示,stylegan2-ada 在bCR(balanced consistency regularization)的基础上去掉了一致性正则项,同时在生成器和判别器之前都增加了数据增强模块(Aug).而该模型可以通过ada(adaptive discriminator augmentation)方法自主选定图像增强的概率P,选定的概率P可以调整图像旋转角度、特定范围内调整色差,且人脸特征复杂度较高,所以简单的数据增强模块是有效的,在一定程度上提高了生成图像的质量.
图1 Stylegan2-ada 与OCM-stylegan2-ada 网络结构对比Fig.1 Comparison of Stylegan2-ada and OCM-stylegan2-ada network structures.(a) Stylegan2-ada; (b) OCMstylegan2-ada
但是,当数据集规模进一步变小、应用场景转为低特征复杂度的工业场景时,Aug 模块增强作用并不明显,这就要求模型在有限范围内对数据特征做出幅度更大的调整.
1.2 OCM-stylegan2-ada
经过试验验证,mixup 可以很好的扩展图像特征、增强生成对抗网络的鲁棒性.类间风格混合的图片和标签可表示为
式中:x 代表图像、y 代表对应图像的标签.
但是针对现有的小样本场景,类间混合会导致生成的缺陷同时带有多个缺陷特征情况,进而对生成图像的质量、以及分类模型的性能造成影响.同时,将所有类别的图片输入到生成对抗网络时,不仅生成的图片种类不确定,数据集的不均衡性也很难改善.
针对以上问题,文中优化了stylegan2-ada 的整体结构,如图1b 所示,设计了一个新的OCM(One class mixup)模块,将其作为Aug 的前置模块加入到模型中.将mixup 类间风格混合修改为类内风格混合,同时去掉了标签的混合.考虑到焊接缺陷数据集的使用场景和特征复杂度,程序内部新设定了R(mixture rate),S(mixture scale)两个参数来补充Aug 中数据增强概率p对整体的作用.其中R即为式(2),式(3)中的p值,一般设定为0.8;S取值范围为0.5 到1,与输入数据集的大小成反比,即输入数据集规模越小S的值越大,即
OCM 模块还调整了输入模型中的初始随机噪声.即
式中:R为OCM 的数据增强概率,P为随机噪声,P*为输入模型的初始噪声.OCM 模块将类内混合的一部分(1−R)xj和随机噪声P相叠加作为初始的噪声输入到模型中,不仅减少了训练时间,还使加入噪声的分布更加接近数据集的分布.
2 小样本不均衡数据集增广
2.1 激光焊接缺陷数据集
激光焊接缺陷数据集取自国内某新能源汽车动力电池企业,共有700 张256 × 256 像素缺陷图片.图2a 为正常焊缝(normal),图2b 为孔洞(porosity),图2c 为未焊透(lack of penetration),图2d 为发黑(black).其中图2d 因焊接保护气不足而产生,发生概率约为其它缺陷的一半,且此缺陷和孔洞特征较为相似常发生缺陷类型误检.为此,试验部分重点选取发黑缺陷进行生成、分析与验证.
图2 激光焊接缺陷Fig.2 Laser welding defects.(a) normal; (b) porosity;(c) lack of penetration; (d) black
2.2 生成焊接缺陷图片
图3 为不同算法生成发黑缺陷图片的对比.图3a 是从数据集中选取的原始图片;图3b 是利用mixup 算法将发黑和其它缺陷随机混合后的图像;图3c 是stylegan2-ada 生成的图像;图3d,3e,3f 均为OCM-stylegan2-ada 生成的图像.
图3 不同算法生成图片对比Fig.3 Different algorithms generated image comparisons.(a) Original image; (b) Mixup; (c) Stylegan2-ada; (d) OCM-stylegan2-ada; (e) OCM-stylegan2-ada; (f) OCM-stylegan2-ada
从上述图片可见,stylegan2-ada 生成的图像存在失真的情况.而OCM-stylegan2-ada 生成的图像则在保留焊缝特征基本不变的情况下,对缺陷进行了微调.在实际生成效果更接近真实缺陷的同时,对该类缺陷进一步增广.
3 模型验证结果与分析
3.1 模型验证
对OCM-stylegan2-ada 的验证分为两个部分.第一部分为OCM 结构对模型收敛速度以及鲁棒性的验证;第二部分为OCM-stylegan2-ada 生成的数据集对分类模型性能的提升.
3.1.1 生成对抗网络收敛效果
为了更加直观地观察OCM 结构对模型收敛效果的影响,采用FID(Frechet Inception Distance)作为评价指标[11].它是近年来评价生成对抗模型最常用的指标之一.它是一种计算真实图像和生成图像的特征向量之间距离的度量.具体为
式中有下标的参数代表生成图像,无下标的参数代表真实图像,m为特征均值,C为协方差矩阵.
3.1.2 分类模型性能
数据集主要服务于焊接缺陷分类任务,所以评价生成图像质量最好的方法就是验证其对于分类模型性能的提升.试验选用Howard 等人[12]提出的MobileNetV3 作为验证网络,延续了MobileNetV1[13]的深度可分离卷积和MobilenetV2[14]的具有线性瓶颈的逆残差结构,加入了MnasNet 的基于squeeze and excitation 结构,还将原有的swish 激活函数修改为h-swish,从而减少了计算量.
对于分类模型来说,其性能的评价指标一般采用混淆矩阵的4 个值衡量,分别为TP(true positive),FP(false positive),FN(false negative),TN(true negative).根据这4 个值就可以计算出评价分类模型的指标,试验选用准确率和ROC (receiver operating characteristic)曲线两种方式评价模型性能.
准确率指分类正确的样本数和分类总数之比,是最常用的评价指标,可以总体上衡量分类模型的性能,计算公式为
ROC 指接收者操作特征(receiver operating characteristic),ROC的横轴为FPR(false positive rate)即
FPR 指实例中的负例占所有负例的比例.ROC 的纵轴为TPR(true positive rate)与召回率(recall)的计算公式一致.即
ROC 曲线如图4 所示,AUC 是ROC 曲线下的面积,其数值和分类器性能成正比,可以作为直观的分类器评价指标,AUC 最大值为1,最小值为0.当AUC 等于0.5时,则可以认为该模型训练无效,相当于一个随机事件.
图4 ROC 曲线示意图Fig.4 ROC curve diagram
3.2 试验对比
3.2.1 测试集设置
为了保证验证结果的准确性,测试集需要保证以下3 点:
(1)测试集不能和生成对抗网络的输入图片有交叉;
(2)测试集的图片必须是真实图片而不能是生成的图片;
(3)测试集中缺陷种类的分布要和真实分布一致.
3.2.2 试验数据
试验分别采用原始数据集、mixup 数据集、stylegan2-ada 数据集、OCM0-stylegan2-ada 数据集、OCM1-stylegan2-ada 数据集进行对比验证.其中OCM0 输入模型的噪声为随机噪声,OCM1 采用式(5)作为输入模型的初始噪声.
如图5 所示,stylegan2-ada 训练过程不稳定,在第300 个迭代点之后发散.OCM-stylegan-ada 在训练后期逐渐达到收敛.且当OCM 结构采用了式(5)作为初始随机输入噪声时,收敛更快.
图5 不同生成对抗网络训练对比Fig.5 Different GANs training comparisons
因受数据集规模限制,试验对每个数据集均训练100 个周期迭代轮次.
图6 是MobileNetV3 在不同数据集上训练时的准确率图,可以发现使用生成对抗网络增强后的数据集能够更快地收敛,而且在训练过程中模型也更加稳定.
图6 训练时识别发黑的准确率Fig.6 Accuracy in spotting black during training
表1 是训练好的模型在测试集上的准确率,可以发现原始数据集整体的准确率为66.1%,由于发黑和孔洞十分相似,且数据集不均衡,所以二者经常相互误检导致准确率都不高.经过Mixup 之后的数据集整体准确率有所提高,但是未焊透识别准确率有所降低.由于Mixup 为类间风格混合,故导致了在某种情况下,两种不同缺陷的特征重叠在一起.而分类网络最终输出是唯一的,降低了网络的性能.
表1 中stylegan2-ada 生成的数据集虽然相比原始数据集性能有所提升,但是由于其结构不太适合小样本情况下生成焊接缺陷,所以生成图片存在失真的情况,这就导致孔洞这一类缺陷很难识别出来.而经过OCM-stylegan2-ada 所生成的数据集训练的模型,在测试集上的表现要优于前3 个数据集.该模型对于生成焊接缺陷图片效果较好,如图4所示,证明OCM 结构可以有效地提高生成图片的质量,解决小样本和不均衡数据集带来的问题.
为了使试验结果更加可靠试验还使用了AUC 值来测试模型的性能.由于AUC 值同时考虑了正负两类的情况,所以即使在数据不均衡时也可以直观地显示模型的性能.如表2 所示,AUC 值反应的模型性能和表1 所反映的情况基本一致,OCM-stylegan2-ada 生成的数据集可以有效改善不均衡数据集,提升分类模型性能.
表1 不同数据集的测试准确率Table 1 Test accuracy of different datasets
表2 不同数据集的AUC 值Table 2 AUC values of different datasets
表1、表2 中OCM0 和OCM1 两类数据集在分类模型上的表现相差不大,这是由于改变初始随机噪声虽然会加快生成对抗网络的收敛速度,但是对于生成图像的质量并没有太大的影响,如图7 所示.
图7 OCM0 和OCM1 生成图片对比Fig.7 OCM0 and OCM1 generated image comparisons(a) OCM0-stylegan2-ada; (b) OCM1-stylegan2-ada
4 结论
(1)试验提出的OCM 模块可以显著提升生成对抗网络的性能,可使生成对抗网络更加稳定,生成图像质量更高.OCM 嵌入到生成对抗网络中,可使模型更好地适应数据集缺少的情况,从而使生成的图像特征分布更加均匀和真实.
(2) OCM 结构还可以将初始随机噪声和一定比例的特定缺陷特征重新组合成输入生成对抗网络的初始噪声.这样做虽然无法生成更真实的数据集,但是有助于加速模型收敛.
(3)在焊接缺陷图像领域,焊缝和缺陷的关系就是整体和部分、粗粒度和细粒度之间关系.本文改进的GAN 模型可以保证图像在粗粒度(焊缝形状)不变的基础上,对细粒度(缺陷细节)进行修改,符合优化不均衡数据集的要求.