魏英姿,苏 迈
(沈阳理工大学信息科学与工程学院,沈阳 110159)
飞机蒙皮铆接是一项涉及多环节、精准组装的飞机装配工程[1],铆接过程中一旦出现某类质量缺陷,将会影响飞机的安全性能。因此,飞机蒙皮铆接质量缺陷的全口径检测至关重要。飞机铆接过程中需要对上百万个制孔及铆接部件质量进行检测,待检测部件特征要素种类多、检测量大。目前,飞机蒙皮缺陷检测方法大多为人工检测方式,结合检测工具肉眼主观判断识别,存在检测效率低等问题。
随着深度学习的快速发展[2-3],以R-CNN[4-5]家族为代表的双阶段算法和以YOLO[6-7]系统为代表的单阶段算法,为研究机器视觉辅助飞机质量缺陷检测问题提供有利条件。国外已有相关研究,BOUARFA等[8]在小型数据集搭建基于Mask R-CNN神经网络模型,研究飞机蒙皮凹痕自动化检测方法。JI等[9]研究飞机蒙皮裂纹缺陷安全隐患,提出一种基于改进KLT(kanade-lucas-tomasi)算法的散斑图像相关方法,获取图像中斑点坐标。国内技术还处于发展阶段,针对目前飞机蒙皮铆接质量检测存在的难点,孙延鹏等[10]通过改进Hough算法并结合最小二乘法拟合圆,提高铆钉圆心及直径的定位精度。薛倩等[11]通过图像预处理,再以枝干像素为索引,作飞机蒙皮表面裂纹自动检测。上述研究大多是对飞机蒙皮单个缺陷进行检测。如果进行多种缺陷同时检测时,检测精度将会大大降低。目标增多之后,某个目标检测精度提高往往会使其他目标精度下降,这个问题在多目标检测系统中将会凸显。
飞机蒙皮缺陷形态多样、类型丰富,本文以YOLOv5检测模型为基础框架,采用随机数据增强策略,将定位损失函数改为α-CIoU函数,并将选择预测框的非最大值抑制(NMS)改为soft-NMS,提升飞机蒙皮铆接多特征要素缺陷的检测精度和速度。
YOLO模型系列将目标检测从“分类”问题转化成“回归”问题,检测速度较快。YOLOv5的网络结构包括4部分:输入端、Backbone部分、Neck部分和输出端。输入端包括数据增强、自适应锚框计算和自适应图片缩放。
深度学习算法的根本是数据驱动,数据的好坏直接决定训练模型的优劣程度,输入端数据增强策略将会影响到深度学习目标检测性能。传统数据增强方法会产生巨大的计算损耗,人为指定数据增强策略往往会增加数据特定性,为此,引入RandAugment[12]和MuAugment[13]的思想,并在此基础上进行改进,从数据集直接学习数据增强策略,减少过拟合现象。如图1为添加数据增强的YOLOv5的网络结构。
图1 添加数据增强的YOLOv5的网络结构
数据增强策略包括空间搜索数据扩展和变换方法生成数据策略两部分。首先,在搜索空间内设定操作集Identity、AutoContrast、Equalize、Rotate、Solarize、Color、Posterize、Contrast、Brightness、Sharpness、ShearX/Y、TranslateX/Y、Mixup和Mosaic;其次,搜索空间内每个操作子策略处理4个图像,每个操作与2个超参数N、M相关,N表示每次数据增强时随机使用N次操作,M表示操作强度级别数(magnitudes),即每个图像需要变形的程度范围,若设置操作次数N为3次,则搜索空间为104×3。将多种缺陷图片拼接成一张图片,随机采用3次不同操作、操作级别取4作数据增强,其效果示例,如图2所示;最后,采用强化学习搜索方法,确定超参数,将回归问题转化为分类问题,把模型平衡到一个最佳点。搜索方法包括循环神经网络(recurrent neural network,RNN)[14]的控制模型和近端策略优化算法(proximal policy optimization,PPO)[15]的训练算法,学习率设为0.000 35,由softmax每一步产生决策,再将新预测值送入下一步,以此类推。
图2 操作次数N=3、操作强度级M=4时作数据增强的图片效果示例
模型将尺寸不同的图片进行填充缩放为640×640,作为统一的输入。模型训练过程中,自适应计算数据集锚框,针对多种类型特征缺陷图像数据集,设置初始锚框序列为:[27,32,25,47,37,42]、[50,51,61,66,79,78]和[97,96,129,124,165,155]。
模型输出端损失函数包括定位损失(bounding box loss,Box_Loss)、分类损失(classes loss,Cla_Loss)和置信度损失(confidence loss,Con_Loss)三部分。
传统定位损失函数为广义交并比GIoU(generalized IoU)可计算预测框和真实框之间的误差。采用GIoU函数计算多目标损失,整体性能略差。根据多缺陷图片数据集特点,提出完整交并比CIoU(complete IoU)增加中心距离占比和宽高比惩罚项,其表达式为:
(1)
式中:ρ2(A,B)为A、B两框中心坐标欧氏距离的平方,c为A、B两框外接最小矩形对角线长度,β为宽高比损失系数,其表达式为:
(2)
式中:v为真实目标边框与预测目标边框的宽高比损失,其表达式为:
(3)
式中:wgt为真实目标边框宽度,hgt为真实目标边框高度,w为预测目标边框宽度,h为预测目标边框高度。针对多缺陷小数据集和为提高检测器水平定位的回归精度灵活性,引入α-CIoU,其表达式为:
(4)
式中:α为调整参数,α∈[1,∞)。采用α-CIoU为定位损失函数,提高精确度,增强小数据集鲁棒性。
YOLOv5模型通过非极大值抑制(non maximum suppression,NMS)[17],在多个目标框中选择保留的预测框,实现目标检测。NMS是基于得分进行分类,存在得分高其预测框不一定准确的问题。
采用NMS的软计算方法soft-NMS,考虑得分和边框的重合程度,将得分进行惩罚衰减,而不是将IoU超过阈值的直接设置为0。采用线性惩罚衰减函数,以避免漏检问题,其表达式为:
(5)
线性惩罚衰减函数采用分段函数,当IoU(M,bi)等于预设阈值Nt时,可能出现突变情况,为此,采用高斯惩罚衰减函数,如式(6)所示:
(6)
由式(6)可知,使用高斯惩罚衰减函数,出现两个目标重叠时,Si的取值会减小,这种soft-NMS选择方法可以有效避免直接删除预测框,提高多种缺陷特征存在遮挡的识别率。
目前缺少公开的飞机蒙皮制孔及铆接质量缺陷数据集。通过网络和自行采集两种方式收集图像,以铆孔孔径精度、铆接阶差和铆钉腐蚀3种缺陷图像为样本,自己标注1个多特征缺陷数据集。训练集、验证集和测试集在一定程度上影响模型的泛化能力和检测精度,最终按照6:2:2比例进行划分。
本实验的评估指标主要包括精确度(precision)、召回率(recall)、均值平均精度(mean average precision,mAP)以及检测单张图像的消耗时长(cost time),其表达式为:
(7)
(8)
式中:TP为模型预测正确的数量,FP为模型预测错误的数量,FN为模型漏检的正样本数量。
(9)
式中:N为检测类别总数,AP(n)为第n类缺陷的平均精准度。
处理器Intel(R) Core(TM) i7-10750H CPU,内存为16.0 GB,GPU为Tesla T4平台上,YOLOv5目标检测框架搭建在Pytorch深度学习框架上。配置模型的超参数,迭代周期为300,迭代批次为16,初始学习率为0.01,动量为0.937,权重衰减为0.000 5,将置信度阈值为0.4,交并比阈值为0.5。
2.4.1 策略浸润实验
改进YOLOv5目标检测模型,结合输入端引入随机数据增强策略、定位损失函数α-CIoU和使用soft-NMS进行预测框选择等多种策略,作飞机蒙皮铆接多种缺陷检测实验。
将不同策略浸润地施加于原始YOLOv5模型,算法性能对比如表1所示。表格中所列数据为经过10次运算的平均值。输入端引入随机数据增强策略,Model2比YOLOv5将所有缺陷mAP值提升了7.5%,精确度提升9.6%,检测时间花费小幅度减少。采用定位损失函数α-CIoU,取α=3时,Model3比Model2的mAP值、精确度和召回率均有所增加。使用α-CIoU作为定位损失函数时,检测花费时间增大,但检测时间仍然可满足装配过程中数字化检测需求。由Model3和Ours可知,输出端使用soft-NMS进行预测框选择,改进后模型有效减少了多缺陷目标的漏检情况。YOLOv5改进前、后求解问题的迭代过程mAP变化曲线如图3所示。
图3 YOLOv5改进前、后均值平均精度对比图
表1 施加不同策略的模型性能对比列表
2.4.2 不同检测模型能力对比
改进后算法模型与SSD、YOLOv3、YOLOv5和Faster R-CNN进行实验对比,评价指标为3类缺陷的AP值、mAP值和平均单幅图检测时间(10张不同类型缺陷的平均检测时间),实验结果如表2所示。
表2 不同检测模型对比列表
针对铆孔孔径精度和铆接阶差二类缺陷的检测精度和mAP值,改进后的模型优于其他模型,铆接阶差的精度比Faster R-CNN低0.25%,整体影响相差不大。改进后模型的平均单幅图检测时间快于SSD、YOLOv3和Faster R-CNN。
2.4.3 检测结果的可视化分析
从测试集上随机选取缺陷图片进行测试,测试集缺陷包括铆孔孔径精度(accuracy)、铆接阶差(bulge)和铆钉腐蚀(corrosion)。模型改进前各种缺陷目标检测的置信度如图4a所示,改进前存在目标漏检情况,计算置信度平均值为0.57,图4b为改进后方法检测结果,置信度平均值为0.90,置信度明显提升,避免了缺陷漏检情况,体现出改进后求解多缺陷问题时的泛化能力。
(a) 原始YOLOv5检测效果
(b) 改进后模型检测效果图4 模型改进前后检测效果对比图
以蒙皮制孔和铆接质量为研究对象,提出改进YOLOv5模型的多特征缺陷检测方法。在自建数据集基础上,采用数据增强策略,将强化学习和随机数据增强相结合,削弱传统数据增强策略计算损耗大、对部分数据集效果差的影响,提高模型的迁移泛化能力。在输出端提出定位损失的优化方法和引入软计算思想,提升多种缺陷检测识别的综合性能。实验结果表明,改进后的YOLOv5求解铆接质量缺陷判别问题,其mAP、精确率、召回率和检测速度都有明显提升,可满足自动化装配线的实际要求,对深度学习求解多分类问题提供一定的参考。