基于轻量化YOLOv7的白车身焊点定位研究

2024-01-10 03:46谭俊涛黄元毅
车辆与动力技术 2023年4期
关键词:焊点神经网络目标

谢 宁, 谭俊涛, 陈 梁, 黄元毅

(1.上海通用五菱汽车股份有限公司,柳州 545007;2.湖南大学汽车车身先进设计制造国家重点实验室,长沙 410082)

白车身焊接机器人是集环境感知、运动规划和控制于一体的系统.其中,对白车身焊点位置的检测是实现机器人自动完成焊接质量检测的重要基础[1].传统的基于霍夫圆变换的焊点检测方法在车间光照条件不好、油污的影响以及焊点自身的形状不规则等情况下,检测效果较差.因此,研究复杂环境下焊点的检测定位方法对于提升白车身质量有着重大意义.

近年来,鉴于深度学习对目标特征具有高度的提取能力,神经网络被广泛运用到目标检测的任务当中.目前,主流的检测方法主要分为单阶段检测和双阶段检测两类[2].双阶段检测先对检测图像进行候选区域生成,再通过卷积神经网络在区域中进行目标的检测,代表网络为R-CNN系列网络[3].单阶段检测则省去了候选区域生成这一步骤,直接在网络中对图像进行特征提取来预测目标的位置和类别,代表网络有YOLO[4]、SSD[5]系列网络.单目标检测网络的特点是端到端,检测速度快,其中,最经典的是YOLO(You Only Look Once)系列算法.在车身焊点检测方法研究中,巴文进[6]利用基于多轮廓聚类分析的类圆检测方法,相较于霍夫圆检测能够在焊点形状不理想的情况下具有更好的检测效果,但对于图像中噪声较严重的情况难以达到好的效果;王振兴[7]通过改进YOLOv2来识别焊点,能够很好的克服在光线环境过亮、过暗以及焊点形状不规则的情况下,焊点难以识别的问题;马亚东[8]使用Tiny-YOLOv3算法结合RTCD圆检测算法来联合定位焊点位置,精确率和召回率达到了98.5%和88.1%,但从识别效果上来看,焊点漏检的问题还可以进一步改善.

近年来,YOLO系列不断更新,新的YOLOv7[9]算法是YOLOv4的原三位作者Chien-Yao Wang、Alexey Bochkovskiy和Hong-Yuan Mark Liao提出.YOLOv7在5 FPS到160 FPS范围内,速度和精度都超过了所有已知的目标检测器.针对车间焊点检测容易受环境光、锈迹和污渍影响的问题及在线检测实时性的需求,文中选择兼具检测鲁棒性与速度的YOLOv7系列网络模型,同时完成其轻量化模型的训练,降低设备运行性能要求以减小成本,以满足工厂生产线焊点实际检测要求.

1 数据集预处理

1.1 数据采集

目标检测神经网络需要依托数据集进行训练,文中研究以焊点检测为目标,使用工业相机采集白车身焊接车间白车身上4 000张不同光照条件、各种实际工况下的焊点灰度图片,以保证检测的稳定性和准确性.图1为一组不同光照条件和干扰情况下的焊点图像.

图1 不同环境下采集的焊点图像

1.2 数据预处理

使用LabelImg标注工具对数据集中的焊点目标进行标注,并将标注信息保存为Pascal VOC数据集格式.将标注好的4 000张图片,通过Python脚本对图片进行一系列的尺寸变换(如缩放、裁剪和翻转等),扩充到8 000张,其中,5 600 张作为训练集,2 400 张作为验证集.由于数据集样本的数量和复杂程度对网络模型的检测准确性和泛用性有很大的影响,网络通常会在加载数据集时对图片进行预处理来间接实现数据集的增强.文中通过以下方式对数据集图像进行增强.

(1)对图片在HSV颜色空间上进行变换、直方图均衡化、中值滤波等方法对图像进行增强;

(2)对1张图片随机引入另外3张或8张图片,通过Mosaic[10]方法生成一张新的图片,提升了数据的多样性以及GPU的计算效率;

(3)随机选择两张图片,将一张图片中的目标通过CopyPaste[11]方法随机复制粘贴到另一张图片中;

图2为焊点原图片经过数据增强后输入神经网络的图片.

图2 经过数据增强的焊点图片

2 YOLOv7-Tiny算法

YOLOv7是目前具有最优秀性能的端到端目标检测神经网络之一,具有检测速度快、实时性好的特点.由于焊点检测场景具有单一性,车身焊点形状几乎都为类圆形,焊点灰度图像灰度特征简单,且检测类别仅有焊点一类,因此,文中采用YOLOv7的简化网络YOLOv7-Tiny作为焊点目标检测网络.

YOLOv7-Tiny网络结构如图3所示.

2.1 特征提取网络

YOLOv7-Tiny特征提取网络由CBL模块、改进高效长程聚合网络ELAN-T层和MP层构成.ELAN-T层作为多分支堆叠模块,由数个CBL模块拼接而成,最终堆叠模块的输入包含多个分支.ELAN-T层与原始ELAN层的区别仅在于CBL模块连接输出数量的不同,ELAN-T削减了两层分支,虽然特征提取能力有所下降,但提升了特征提取的速度.堆叠模块对应了更密集的残差结构,使网络更容易优化,缓解模型深度增加带来的梯度消失问题.

2.2 特征融合网络

在卷积神经网络中,经过层层卷积,高层结果所含的语义特征信息越强,但同时也会使得目标的几何位置信息越弱,造成位置信息的损失,不利于小目标检测.YOLOv7-Tiny网络使用了FPN+PAN的网络结构,能够对不同层级的特征进行信息融合,在不同的尺度上对目标进行预测,网络结构如图4所示.

图4 FPN+PAN网络结构图

FPN(Feature Pyramid Network)网络结构类似金字塔,图片先经过Backbone网络一系列卷积操作得到高层结果,然后,自上而下对高层结果进行上采样(Upsample)过程,同时融合来自Backbone网络中的一些浅层的信息.FPN网络能够自上而下地传递高层的语义特征信息,但是位置信息的传递效果不好,特征信息较弱.PAN(Path Aggregation Network)网络结构是一个自下而上的金字塔网络,能够对FPN网络进行补充,将底层结果所含较强的位置信息传递到上层,得到的结果即包含语义特征信息又包含位置消息.最后,我们在网络的三个不同尺度上的输出上对结果进行目标预测.

2.3 输出检测端

通过FPN特征金字塔,网络输出大中小3个尺度的加强图像特征,模型会分别将这3个特征传入检测端,检测端负责将特征图转换为边界框和类别概率.检测端引入隐式表征策略来细化预测结果,对应特征图大小使用3种目标尺寸的IDetec检测头.

2.4 激活函数

YOLOv7原版网络中默认采用的激活函数为SiLU,具备无上界有下界、平滑、非单调的特性,效果较ReLU要好,特别是在较深的网络中优势更明显.但是考虑到Tiny网络结构相较YOLOv7简单,且设备的性能不高,以及对目标检测的实时性要求,YOLOv7-Tiny采用计算量较小的LeakyReLU激活函数来提升检测速度.

3 实验结果分析

3.1 评价标准

评价一个目标检测神经网络模型检测精度的指标,一般采用均值平均精度(mean Average Precision,mAP),评价模型检测速度则是每秒检测帧数(Frames Per Second,FPS).mAP是所有检测类别的平均精度(Average Precision,AP)求和再除以所有类别的平均值.AP值通过画出召回率(Recall)和准确率(Precision)的曲线,计算曲线围成的面积得到.将一个正确的目标成功检测出来则为真正类(True Positive,TP),将一个不正确的目标检测为正确则为假正类(False Positive,FP).设目标的总数有N个,则模型检测的召回率为

(1)

模型检测的准确率为

(2)

对不同的召回率的值记录对应的最大的准确率,画出R与P的曲线图,计算P-R曲线与坐标轴围成的面积就是模型的AP值:

(3)

3.2 模型训练

文中使用基于Pytorch的深度学习框架,电脑配置为:显卡为GTX1050 2GB,CPU为Intel i5-7500 3.40GHz,运行内存为8G.将5 600张焊点图片作为训练数据集,同时采用了数据增强的方法来增加样本.在训练过程中,计算每一轮结果在验证集上的损失值,记录并保存每一轮的训练结果同时更新网络权重,根据损失函数对网络自动进行调整.训练结果如图5所示.

图5 Loss值曲线

模型训练损失如图所示,训练500轮左右,验证集损失val_loss曲线趋于稳定,模型已经收敛.600轮后,虽然训练集损失仍在逐步下降,但val_loss曲线开始有上升趋势,说明模型发生了过拟合.选择val_loss最小值对应的结果作为模型最终权重进行实验.

3.3 测试集检测结果

将训练得到的目标检测模型在含有2 400张焊点图片的验证集上进行验证,得到最终结果.不同模型在验证集下的实验结果汇总在表中,AP@0.5表示交并比为0.5时的平均精度,AP@0.5∶0.95表示交并比从0.5到0.95,步长为0.05的不同交并比的平均精度的平均值.

从表1中的结果来看,YOLOv2和YOLOv3的AP@0.5∶0.95值为72.8%和64.9%,但是参数量超过50 M,模型过大不利于实际部署,检测速度也不能满足实际需求.YOLOv3-Tiny与YOLOv3相比精度提高了10.4%,模型参数量为8.6 M,运行速度和精度优于前两种算法,但仍不够理想.相比之下,YOLOv7-Tiny网络模型精度、FPS和参数量分别达到81.2%、27.83和6.0 M,各方面有显著提高,虽然精度相比于YOLOv7原网络下降了1.1%,但TOLOv7-Tiny网络参数量比YOLOv7减少了30.4 M,检测的FPS值更是达到了27.83,高出YOLOv7网络FPS值18.78,更加接近机器视觉检测帧率的标准,在相同设备条件下运行效率更高,对焊点的检测能在保证相当精度的情况下更加具有实时性.

表1 不同模型对比结果

3.4 与传统检测方法的对比

在对白车身焊点进行精确定位时,基于霍夫变换的圆检测算法在大多数情况下表现情况都很好,但是遇到图像信息较为复杂的情况,算法很容易受到噪声的干扰,导致无法对焊点的检测出现误检、漏检的情况.

从图6中可以看出,传统图像处理算法在一定程度上能够检测焊点信息,但是算法固定的阈值设定会让检测在不同环境下的效果不稳定,一张图片在不同的阈值下会出现不同的结果,而一定的阈值在不同的图片上可能检测效果不好,出现漏检和误检的情况.

图6 基于霍夫圆检测的传统焊点检测方法

图7是不同光照环境下,以及存在锈迹或油污的焊点图片用传统检测方法和基于神经网络检测方法的结果对比.

图7 检测方法效果对比

图7中使用方框标记目标的方法为文中的检测方法,通过对比可知,设定了固定阈值的传统焊点识别无法同时满足不同光照下的焊点检测,而在图片中存在锈迹或油污的情况下,图像边缘检测处理算法会受到严重的干扰,导致圆检测基本无法识别目标,产生漏检或误检的情况.而基于YOLOv7-Tiny神经网络的焊点检测方法,相比于传统的检测算法,能够识别出不同环境下的焊点位置,在焊点形状不完全时也具有一定的识别能力,解决了环境干扰下焊点检测效果差的问题,检测的鲁棒性、检测准确率大幅提升.

4 结 论

针对汽车白车身焊点检测问题,文中提出了基于轻量化YOLOv7的焊点检测方法,建立焊点数据集,并将训练得到的模型与传统焊点检测算法进行比较.实验结果表明,网络模型具有参数少、检测精度高的特点,AP@0.5达到了99.3%,单张检测时间为0.036秒,表明该轻量化模型能够适应不同生产环境下的焊点检测,实现在线实时焊点质量检测,有效提高车身焊点自动化质量监测的效率.

猜你喜欢
焊点神经网络目标
神经网络抑制无线通信干扰探究
焊盘尺寸对SMT焊点可靠性的影响
基于神经网络的拉矫机控制模型建立
DH36钢摩擦叠焊焊点分布规律研究
复数神经网络在基于WiFi的室内LBS应用
基于特征聚集度的FCM-RSVM算法及其在人工焊点缺陷识别中的应用
基于支持向量机回归和RBF神经网络的PID整定
SnAgCu/Cu微焊点界面IMC演变及脆断分析
新目标七年级(下)Unit 3练习(一)
新目标七年级(下)Unit 4练习(一)