浙江大学学报(工学版), 2024, 58(2): 370-380 doi: 10.3785/j.issn.1008-973X.2024.02.015

机械工程

基于改进YOLOv8s的鼓形滚子表面缺陷检测算法

王安静,, 袁巨龙,, 朱勇建, 陈聪, 吴金津

1. 浙江工业大学 机械工程学院,浙江 杭州 310023

2. 宁波敏捷信息科技有限公司,浙江 慈溪 315300

Drum roller surface defect detection algorithm based on improved YOLOv8s

WANG Anjing,, YUAN Julong,, ZHU Yongjian, CHEN Cong, WU Jinjin

1. College of Mechanical Engineering, Zhejiang University of Technology, Hangzhou 310023, China

2. Ningbo Agile Information Technology Limited Company, Cixi 315300, China

通讯作者: 袁巨龙,男,教授. orcid.org/0000-0003-1242-2983. E-mail: jlyuan@zjut.edu.cn

收稿日期: 2023-07-18  

基金资助: NSFC-浙江两化融合联合基金资助项目(U1809221);宁波泛3315人才项目资助项目

Received: 2023-07-18  

Fund supported: NSFC-浙江两化融合联合基金资助项目(U1809221);宁波泛3315人才项目资助项目

作者简介 About authors

王安静(1999—),男,硕士生,从事机器视觉的研究.orcid.org/0009-0008-6252-3096.E-mail:2082673638@qq.com , E-mail:2082673638@qq.com

摘要

为了提高鼓形滚子表面微小瑕疵缺陷检测的精确率和召回率,增强模型对小目标缺陷的检测能力,针对YOLOv8s网络,提出细粒化卷积模块SPD-Conv来代替卷积下采样,细粒化地提取小缺陷的特征. 在特征融合模块,引入GFPN特征融合模块,增强相邻层级间的跨尺度连接和同尺度下的跨层连接,有助于小目标特征信息在卷积网络的传递. 在头部增加小目标检测层,提高模型对小缺陷的检测能力. 在损失函数方面,利用动态非单调聚焦的Wise-IOU的边界框损失函数替换CIOU,在加快网络收敛的同时,提高网络检测的精度. 在自制的鼓形滚子缺陷数据集上进行测试,结果表明,改进的YOLOv8s在倒角数据集、侧面数据集、端面数据集的mAP@0.5分别达到0.911、0.983、0.935,相比于YOLOv8s,mAP@0.5分别提高了6.4%、3.3%、4%,精确度和召回率也有一定的提升,平均每张图片的检测时间为23 ms. 与原模型相比,改进的YOLOv8s对小目标缺陷有更好的定位能力和检测精度,检测速度能够满足工业大批量检测的要求.

关键词: 鼓形滚子 ; 缺陷检测 ; YOLOv8s ; 细粒化卷积 ; 广义的特征金字塔网络(GFPN) ; Wise-IOU

Abstract

A fine-grained convolution module SPD-Conv was proposed to replace the convolution subsampling for YOLOv8s network and extract the features of small defects in a fine-grained way in order to improve the accuracy and recall rate of the detection of small defects on the surface of drum rollers and enhance the detection ability of the model for small target defects. GFPN feature fusion module was introduced to enhance the cross-scale connection between adjacent layers and cross-layer connection under the same scale in the feature fusion module, which is conducive to the transmission of small target feature information in the convolutional network. The small target detection layer was added to the head in order to improve the detection ability of the model. The boundary frame loss function of Wise-IOU was used to replace CIOU in terms of loss function, which could accelerate network convergence and improve the accuracy of network detection. The test was conducted on the self-made drum roller defect dataset. Results showed that the improved YOLOv8s achieved 0.911, 0.983 and 0.935 in the chamfer dataset, side dataset and end dataset, respectively. mAP@0.5 increased by 6.4%, 3.3% and 4% respectively compared with YOLOv8s. Accuracy and recall rates have improved with an average detection time of 23 ms per image. The improved YOLOv8s has better localization ability and detection accuracy for small target defects compared with the original model, and the detection speed can meet the requirements of industrial mass detection.

Keywords: drum roller ; defect detection ; YOLOv8s ; fine-grained convolution ; general feature pyramid network (GFPN) ; Wise-IOU

PDF (3310KB) 元数据 多维度评价 相关文章 导出 EndNote| Ris| Bibtex  收藏本文

本文引用格式

王安静, 袁巨龙, 朱勇建, 陈聪, 吴金津. 基于改进YOLOv8s的鼓形滚子表面缺陷检测算法. 浙江大学学报(工学版)[J], 2024, 58(2): 370-380 doi:10.3785/j.issn.1008-973X.2024.02.015

WANG Anjing, YUAN Julong, ZHU Yongjian, CHEN Cong, WU Jinjin. Drum roller surface defect detection algorithm based on improved YOLOv8s. Journal of Zhejiang University(Engineering Science)[J], 2024, 58(2): 370-380 doi:10.3785/j.issn.1008-973X.2024.02.015

轴承是现代机械设备的重要零部件,其质量影响机械设备的运行稳定性和使用寿命. 若轴承表面存在瑕疵或缺陷,则会严重影响机械设备运行的稳定性,严重的话会导致轴承滚子失效,机械设备报废,因此对轴承滚子表面缺陷检测显得尤为重要.

常见的无损检测方法有磁粉检测[1]、涡流探伤[2]、超声检测[3]等,以上无损检测技术在判定过程中需要人为判定且受到环境、温度、压强等其他因素的影响,检测精度不高,在复杂背景下的缺陷检测具有一定的局限性,难以大规模地推广和扩展. 随着机器视觉的发展,人们提出一系列的轴承表面缺陷检测方法来解决该问题. Wang等[4]提出基于形态学的边缘检测方法来解决图像分割中光照不均的问题, 利用Otsu方法进行图像分割,该方法能够实现完整的边缘提取和良好的去噪效果. 对于微小磕碰,缺陷检测效果不佳. Lu等[5]提出综合利用标量特征选择、相关性分析和向量特征选择的特征选择算法(SCV), 在不需要大规模计算的情况下,识别率达到99.5%,但是无法处理复杂背景下的缺陷检测. 陈昊等[6]提出基于图像光流的滚子缺陷检测方法,通过相邻图像帧产生的光流,实现缺陷区域的定位. 陈丹阳等[7]利用CMOS摄像头采集滚子表面的衍射条纹图像,与无缺陷衍射条纹图像进行残差,实现缺陷的定位和识别,该方法对于点蚀这类小缺陷会存在漏检的情况. 尽管机器视觉在表面缺陷检测中以高效率、高精度、适应性强的特点被广泛应用,但对复杂背景和微小缺陷检测的能力有待提高.

当前经典主流的深度学习缺陷检测算法分为两大类:一类是基于区域建议的二阶段方法,如Faster R-CNN[8]模型;另一类是基于对象回归的一阶段方法,如SDD和YOLO系列模型. 单阶段的检测算法由于会直接在网络中提取特征来预测物体分类和位置,因此检测速度较二阶段算法快很多. YOLO系列的检测算法经历了V1到V7等多次的版本更新,在检测准确率上有极大提升的同时,保证了单阶段算法的检测速度, 因此常被用于工程检测领域. 后来诸多学者提出改进算法,提高模型在复杂背景下检测小目标缺陷的能力. 袁天乐等[9]在YOLOv5s的特征网络之间引入Transformer的多头注意力机制,提升推力轴承表面的小目标的提取能力. 曾耀等[10]在YOLOv5s的基础上,引入Bi-FPN[11]的多尺度加权融合结构,提高特征融合的能力,实现pcb电子元件表面小缺陷的检测能力. Cong等[12]在YOLOv3的主干网络末端引入空间金字塔池化结构,实现多尺度特征融合,利用CIoU损失函数对模型进行优化,提高模型的收敛效率. Liang等[13]在YOLOv5s的主干网络中加入Swimming Transformer的多头注意力机制,提高更深层次的目标特征,在颈部加入SE注意力模块来抑制复杂背景,使模型专注于缺陷特征的融合,提高模型的缺陷检测能力.

1. YOLOv8目标检测算法

YOLOv8目标检测算法是YOLO系列算法的集大成者,它建立在以前YOLO版本的成功基础上,并引入一些创新和改进,提升模型的性能. 具体改进包括以下3个方面:1)创建新的骨干网络;2)采用新的Ancher-Free检测头;3)利用新的损失函数. 其中骨干网络参考了YOLOv7[14]的ELAN设计思想,将YOLOv5的C3结构换成了梯度流更丰富的C2f结构,根据不同模型调整了不同的通道数,大幅提高了模型的性能. Head部分与YOLOv5相比改动较大,采用目前主流的解耦头结构,将分类和检测头分离,Anchor-Based换成Anchor-Free. 损失函数采用TaskAlignedAssigner的动态正样本分配策略,引入Distribution FocalLoss损失函数. YOLOv8使用一些训练技巧来进一步提高模型的精度,比如在训练的数据增强方面,采用Mosiac数据增强[15],但借鉴了YOLOX[16]中的训练技巧,在最后10次迭代关闭Mosiac增强的操作,可以有效地提升精度. 基于以上改进,YOLOv8算法的精度比YOLOv5提升很多,是全新的SOTA模型;根据网络的缩放系数,提供了N/S/M/L/X 5种尺度大小不同的模型. 由于本文滚子的缺陷检测需要工业化应用,须同时考虑检测精度和检测速度,采用YOLOv8s网络模型,结构如图1所示.

图 1

图 1   YOLOv8s的网络结构

Fig.1   Network structure of YOLOv8s


2. 改进YOLOv8s目标检测算法

2.1. 细粒化卷积模块(SPD-Conv)

常见的CNN设计体系中有设计缺陷,即使用卷积步长或者池化层,这会导致细粒度的信息丢失或者低效的特征学习[17]. 当前的模型设计在处理小目标和低分辨率的图像时会遭受细粒度信息的丢失,无法充分学习小目标的特征. 引入细粒化卷积(SPD-Conv)来替代YOLOv8模型中步长为2的卷积下采样模块,达到细粒化的学习特征,防止小特征丢失. 卷积下采样模块如图2所示,SPD-Conv(scale=2)结构如图3所示. 当中间特征图X大小为S×S×C1时,可以指定下采样参数scale,切出一系列子特征图. 当scale = 2时,特征图X的切分方法如下所示.

图 2

图 2   卷积下采样模块

Fig.2   Convolutional downsampling module


图 3

图 3   SPD-Conv(scale = 2)模块的结构图

Fig.3   Structure diagram of SPD-Conv(scale = 2) module


$\left. \begin{gathered} {f_{0,0}}{\text{ }} = {\text{ }}X\left[ {0{\text{ }}:{\text{ }}S{\text{ }}:{\text{ }}{\rm{scale}},{\text{ }}0{\text{ }}:{\text{ }}S{\text{ }}:{\text{ }}{\rm{scale}}} \right], \\ {f_{1,0}}{\text{ }} = {\text{ }}X\left[ {1{\text{ }}:{\text{ }}S{\text{ }}:{\text{ }}{\rm{scale}},{\text{ }}0{\text{ }}:{\text{ }}S{\text{ }}:{\text{ }}{\rm{scale}}} \right], \\ {f_{0,1}}{\text{ }} = {\text{ }}X\left[ {0{\text{ }}:{\text{ }}S{\text{ }}:{\text{ }}{\rm{scale}},{\text{ }}1{\text{ }}:{\text{ }}S{\text{ }}:{\text{ }}{\rm{scale}}} \right], \\ {f_{1,1}}{\text{ }} = {\text{ }}X\left[ {{\text{1 }}:{\text{ }}S{\text{ }}:{\text{ }}{\rm{scale}},{\text{ }}1{\text{ }}:{\text{ }}S{\text{ }}:{\text{ }}{\rm{scale}}} \right]. \\ \end{gathered} \right\}$

将特征图进行切分,得到4个子特征图,其特征图尺寸大小变为S/2×S/2×4C1,细粒化提取特征. 经过步长为1的卷积来压缩特征图的通道数,通过切分特征图联合卷积的方法来达到下采样的目的.

2.2. GFPN[18]特征融合模块

图4所示,Yolov8原始网络采用PANet网络结构来进行特征的融合,在一定程度上缓解了网络过深带来的特征信息丢失的情况. 该网络结构只考虑了相邻层级间的同一尺度和同一层级间的相邻尺度这两方面的影响,在特征融合过程中出现较多的信息丢失,特别是小目标的特征. 引入广义的特征金字塔网络(GFPN)增加了相邻层级间的跨尺度连接和同尺度下的跨层连接,使得网络的深层和浅层、大尺度和小尺度的信息充分交流,有助于小目标特征信息的传递.

图 4

图 4   PANet特征融合

Fig.4   PANet feature fusion


图5所示,改进的GFPN在PANet[19]的基础上,增加相邻层级间的跨尺度连接和同尺度间的跨层连接. 在特征融合的过程中,特征图大小须一致,但是在相邻层级间的跨尺度融合过程中,各个尺度特征图的大小不一致,需要进行尺度自适应. 自适应特征融合如图6所示,P3层的大尺寸特征图须经过最大池化进行下采样,与P4层的特征图尺寸进行匹配. P5的小尺寸特征图可以通过双线性(bilinear)插值进行上采样,通过自适应特征融合满足相邻层级的跨尺度连接,增强信息的传递.

图 5

图 5   GFPN特征融合

Fig.5   GFPN feature fusion


图 6

图 6   自适应特征融合的过程

Fig.6   Process of adaptive feature fusion


2.3. Head增加小目标检测层

针对滚子缺陷数据集的缺陷数据分布特点,小缺陷大多小于10×10像素,当前的网络无法满足对小目标的检测能力. 对YOLOv8的检测头部分进行改进,在FPN结构中160×160的输出特征图上添加检测头,处理难以检测的小目标. 若设定的输入图像尺寸为640×640,则将检测头设为4个,分别对应大小为160×160、80×80、40×40、20×20的输出特征图. 网络结构的示意图如图7 所示.

图 7

图 7   四检测头模型的示意图

Fig.7   Schematic diagram of four detection heads model


2.4. 优化损失函数

由于YOLOv8的头部相较于以前变动很大,选择解耦头(decoupled head)和Anchor Free的策略,损失函数相较于无锚框的方法减少了置信度损失. YOLOv8的损失函数计算包含分类损失和回归损失2个部分. 其中分类损失部分采用BCE Loss,回归损失需要和分布焦点损失中提出的积分形式进行绑定,因此使用Distribution Focal Loss,还使用CIOU Loss表示目标框损失. 总的Loss如下所示:

$ {\rm{Los}}{{\rm{s}}_{{\text{TOTAL}}}} = e{\rm{Los}}{{\rm{s}}_{{\rm{BOX}}}}+f{\rm{Los}}{{\rm{s}}_{{\text{CLS}}}}+g{\rm{Los}}{{\rm{s}}_{{\rm{DFL}}}}. $

式中:e、f、g分别为目标框回归损失、分类损失和Distribution Focal Loss的权重参数,默认为7.5、0.5、1.5. 原始IOU Loss有以下2个方面的不足. 1)预测框和真实框不相交时会导致IOU Loss为0,无法反映2个框的位置信息,导致没有梯度回传,模型无法进一步训练. 2)预测框和真实框无法反映重合度的大小. CIOU在IOU的基础上加入惩罚项,包含以下2个部分. 1)中心点距离损失,通过最小化预测框和真实框的中心距离来加速收敛. 2)加入Bounding box的纵横比影响因子av,进一步提升了回归精度,惩罚项公式如下:

$ {R_{{\text{CIOU}}}} = \frac{{{\rho ^2}({\boldsymbol{b}},{{\boldsymbol{b}}^{{\rm{gt}}}})}}{{{c^2}}}+av. $

式中:bbgt分别为预测框和真实框的中心点,ρ为2个中心点的欧氏距离,c为同时包含预测框和真实框的最小闭包的对角线距离. CIOU参数的示意图如图8所示.

图 8

图 8   CIOU参数的示意图

Fig.8   Schematic diagram of CIOU parameters


a是用于做trade-off的参数,a的定义如下:

$ a = \frac{v}{{(1 - {\rm{IOU}})+v}}. $

v是用来衡量长宽比一致性的参数,v的定义如下:

$ v = \frac{4}{{{\text{π} ^2}}}{\left(\arctan \frac{{{w^{{\rm{gt}}}}}}{{{h^{{\rm{gt}}}}}} - \arctan \frac{w}{h}\right)^2}. $

式中:wgthgt分别为真实框的宽和长,wh分别为预测框的宽和长.

完整的CIOU损失公式如下:

$ {L_{{\text{CIOU}}}} = 1 - {\rm{IOU}}+\frac{{{\rho ^2}({\boldsymbol{b}},{{\boldsymbol{b}}^{{\rm{gt}}}})}}{{{c^2}}}+av. $

从式(6)可以看出,无论是高质量样本还是低质量样本,它们的损失计算方式都是相同的,此处的样本质量高低是指预测框和真实框IOU值的大小. 在训练过程中,难以避免地包含低质量样本,如距离、纵横比之类的几何度量会加剧对低质量实例的惩罚,使得模型的泛化性能降低. 模型应该在锚框和目标框重合度较高时,削弱几何度量的梯度惩罚,降低低质量样本的梯度惩罚,使得目标聚焦在普通样本,以提高模型的泛化能力. 采用全新的Wise-IOU[20]来替换CIOU,利用离群值β来代替IOU,对锚框的质量进行评估,公式如下:

$ \beta =\frac{{\overline{L}}_{{\rm{IOU}}}}{{L}_{{\rm{IOU}}}}\in [0,+\infty ). $

引入动态非单调聚焦机制,公式如下.

$ {L_{{\text{WIOUV3}}}} = r{L_{{\text{WIOUV1}}}},{\text{ }}r = \frac{\beta }{{\sigma {a^{\beta - \sigma }}}}. $

$\left. \begin{gathered} {L_{{\text{WIOUV1}}}} = {R_{{\rm{WIOU}}}}{L_{{\rm{IOU}}}}, \\ {R_{{\rm{WIOU}}}} = \exp \left(\frac{{{{(x - {x_{{\rm{gt}}}})}^2}+{{(y - {y_{{\rm{gt}}}})}^2}}}{{{W_{\rm{g}}}^2+{H_{\rm{g}}}^2}}\right). \\ \end{gathered} \right\}$

式中:LWIOUV3为预测框的非单调聚焦损失函数. 式(9)中的参数示意图如图9所示.

图 9

图 9   Wise-IOU参数的示意图

Fig.9   Schematic diagram of Wise-IOU parameters


LIOU是动态的,随着模型的训练,自动调节阈值,这使得锚框质量划分的标准也是动态的,并提供了明智的梯度增益分配策略,在降低高质量锚框竞争力的同时,减小了低质量样本产生的有害梯度. 这使得Wise-IOU动态地非单调聚焦于普通的样本,提高模型的泛化能力和整体性能,实验结果见 3.4.2节.

基于上述YOLOv8s模型的改进,针对鼓形滚子微小瑕疵表面缺陷的检测,提出全新的YOLOv8s模型,模型结构如图10所示.

图 10

图 10   改进的YOLOv8s模型

Fig.10   Improved YOLOv8s model


3. 实验结果与分析

3.1. 数据集及缺陷种类

图11所示,研究的鼓形滚子由浙江省新昌县诚本轴承有限公司提供. 如图12所示,搭建鼓形滚子缺陷自动检测平台来采集缺陷图片,共采集倒角缺陷图片3 000张、端面图像4 880张、侧面图像4 500张. 根据缺陷类型,将倒角划分为缺失、磕碰、剥落3种缺陷类型, 每类缺陷图片有1 000张. 将侧面划分为环伤、锈蚀、划痕、点蚀4类缺陷,每类缺陷图片有1 200张. 将端面划分为环伤、锈蚀、磕碰、点蚀、崩边5类缺陷,每类缺陷图片有800张. 将倒角、侧面、端面图片分别以7∶2∶1的划分比例划分为训练集、验证集和测试集. 倒角缺陷的细节图如图13所示,端面缺陷的细节图如图14所示,侧面缺陷的细节图如图15所示.

图 11

图 11   鼓形滚子图片

Fig.11   Picture of drum roller


图 12

图 12   鼓形滚子缺陷检测平台

Fig.12   Drum roller defect detection platform


图 13

图 13   倒角缺陷的细节图

Fig.13   Detail diagram of chamfer defect


图 14

图 14   端面缺陷的细节图

Fig.14   Detail diangram of end face defect


图 15

图 15   侧面缺陷的细节图

Fig.15   Detail diagram of side defect


图13所示,从左到右依次是缺失、磕碰、剥落3种类型的倒角缺陷.

图14所示,从左到右依次是环伤、磕碰、腐蚀、崩边、点蚀5种端面缺陷.

图15所示,从左到右依次是划痕、环伤、腐蚀、点蚀4种侧面缺陷.

3.2. 实验环境的搭建

深度学习的实验环境配置如表1所示.

表 1   深度学习的实验环境配置

Tab.1  Experiment environment of deep learning

配置环境配置名称(版本)
操作系统Windows10
CPUInter(R) Xeon(R) Gold 5218 (2.3 GHz)
GPUNVIDIA Geforce RTX 2080Ti(11 GB)×2
编译器Python-3.9
深度学习框架Pytorch-1.10.0
加速模块CUDA Toolkit-11.3.1

新窗口打开| 下载CSV


实验超参数的设置如表2所示.

表 2   深度学习的实验超参数

Tab.2  Experimental hyperparameters of deep learning

参数含义数值
images size图像尺度640
batch size批数量16
E迭代次数300
lr学习率0.01
Momentum动量0.937
Weight_decay权重衰减参数0.000 5

新窗口打开| 下载CSV


3.3. 评价指标

为了验证改进YOLOv8s的改进效果,从4个指标对模型进行评价:精确率P、召回率R、平均精度AP、平均精度均值mAP和混淆矩阵(confusion matrix).

混淆矩阵:将真实类别和预测类别之间的关系以矩阵的形式进行总结. 以二分类为例,如表3所示. 表中, TP表示将正样本识别为正样本,FN表示将正样本识别为负样本,FP表示将负样本识别为正样本,TN表示将负样本识别为负样本.

表 3   分类结果的混淆矩阵

Tab.3  Confusion matrix of classification results

真实情况预测结果
正例反例
正例TPFN
反例FPTN

新窗口打开| 下载CSV


1)精确率P:真实缺陷样本在模型被识别出来的缺陷样本中所占的百分比. 计算公式为

$ {{P}} = \frac{{{\text{TP}}}}{{{\text{TP}}+{\text{FP}}}}. $

2) 召回率R:被识别出来的缺陷样本占真实样本总数的百分比. 计算方法如下:

$ {{R}} = \frac{{{\text{TP}}}}{{{\text{TP}}+{\text{FN}}}}. $

3) AP:某类型缺陷的平均精度,

$ {\text{AP}} = \int_0^1 {{{P}}(R){\rm{d}}R} . $

4) mAP:所有缺陷种类平均精度的均值,计 算公式如下:

$ {\text{mAP = }}\frac{1}{n}\sum\limits_{i = 1}^n {{\text{AP(}}i{\text{)}}} . $

式中:n为预测框类别的总数.

3.4. 实验结果和分析

3.4.1. 单一改进有效性对比实验

为了验证模型改进的有效性,开展单一改进有效性对比试验. 结合单一改进点与原始模型,将增加小目标检测层记为改进1,GFPN记为改进2,细粒化卷积记为改进3. 分别在滚子的倒角、侧面、端面数据集上开展实验,将改进算法的检测结果通过2次实验取平均值,避免偶然性误差,增强实验结果的稳定性,通过精确率、召回率、mAP@0.5等评价指标来判定改进的有效性.

倒角检测结果如表4所示. 表中,v为检测速度,Np为参数量. 从表4可以看出,在倒角数据集上,改进点1的检测性能提升最大,与原始模型相比,在模型参数量没有太大变化的情况下,通过增加小目标检测层,使得模型精确率提升了5%,召回率提高了2.5%,mAP@0.5提高了5.1%,同时改进点1对缺失、剥落、磕碰3种类型缺陷的AP分别提高了4.3%、1.7%、9.3%,其中对磕碰这类小缺陷的识别能力有了很大提升,证明改进模型对小目标的检测能力得到了提升. 改进点2的剥落缺陷AP降低了0.7%,但是总体精确度和召回率提高了1.4%、0.8%,mAP@0.5提高了1.2%,证明改进点2能够有效地提升模型的性能. 改进点3通过细粒化卷积,实现对缺陷的细粒度提取. 从表4可以看出,模型对缺失、剥落、磕碰缺陷的AP分别提高了2.6%、2.2%、3.6%,精确率和召回率分别提高了1.0%、3.2%,总的mAP@0.5提高了2.8%. 由于改进增加了网络的复杂度,导致推力速度下降,但仍满足实时检测的要求. 通过上述分析可知,3个改进点在倒角数据集上的评价指标均有提升,证明了模型改进的有效性.

表 4   倒角检测结果

Tab.4  Chamfer test results

算法APPRmAP@0.5v/(帧·s−1)Np/107
缺失剥落磕碰
YOLOv8s0.9160.9200.7050.8500.8220.84780.61.112
YOLOv8s+小目标检测层0.9590.9370.7980.9000.8470.89867.91.263
YOLOv8s+GFPN0.9360.9130.7290.8640.8300.85976.91.347
YOLOv8s+SPD-Conv0.9420.9420.7410.8600.8540.87577.21.266
YOLOv8s+3个改进点0.9610.9410.8100.9110.8600.90157.71.410

新窗口打开| 下载CSV


侧面检测结果如表5所示. 侧面缺陷类型中的环伤、划痕和腐蚀缺陷如图14所示,缺陷面积较大,特征明显且单一,与背景的区分度较大,故检测较容易. 其中点蚀缺陷与背景里的噪声有时难以区分,造成漏检误检,因此改进应注意点蚀缺陷的检测. 如表5所示,与原始YOLOv8模型相比,改进1的精确率和召回率分别提高了1.1%和2.8%,总的mAP@0.5提高了2.1%,其中点蚀缺陷AP提升明显,提高了5.1%,大大提高了模型的检测能力. 与原始模型相比,改进点2的mAP@0.5提高了1.4%,精确率和召回率分别提高了0.9%和1.3%. 与原始模型相比,虽然改进点3的精确度有所下降,但是召回率提高了1.4%,mAP@0.5提高了1.2,总体模型检测能力有所提高.

表 5   侧面检测结果

Tab.5  Side face test results

算法APPRmAP@0.5v/(帧·s−1)Np/107
划痕环伤锈蚀点蚀
YOLOv8s0.9760.9940.9560.9000.9500.9200.95063.41.112
YOLOv8s+小目标检测层0.9870.9930.9710.9510.9610.9480.97154.11.263
YOLOv8s+GFPN0.9830.9940.9640.9160.9590.9330.96459.21.347
YOLOv8s+SPD-Conv0.9740.9950.9650.9100.9410.9340.96251.61.266
YOLOv8s+3个改进点0.9890.9940.9710.9600.9680.9420.97543.41.410

新窗口打开| 下载CSV


图13所示,环伤、崩边缺陷较大且类内特征相似,差异性不大,故AP值分别为0.976、0.985. 类似磕碰,点蚀缺陷面积较小且类内特征差异性较大,容易受到背景干扰,造成误检,较难检测,所以端面检测的重难点是磕碰、点蚀这类小目标缺陷的检测. 从表6可以看出,改进点1对端面5种缺陷的AP都有提高,其中点蚀缺陷的AP提高最大,为7.3%,证明改进点1能够有效地提高小目标检测的能力,精确率和召回率分别提高了0.9%、2.3%,总的mAP提高了1.9%. 改进点2对模型的精确率和召回率分别提高了0.9%、1.7%,总的mAP@0.5提高了1.64%. 改进点3对模型的精确率和召回率分别提高了0.7%、1.3%,总的mAP@0.5提高了1.5%,其中对磕碰缺陷AP的提升效果明显,提升了3.3%. 以上端面数据集检测结果证明了3个改进点对模型改进的有效性.

表 6   端面检测结果

Tab.6  End face test results

算法APPRmAP@0.5v/(帧·s−1)Np/107
环伤磕碰锈蚀点蚀崩边
YOLOv8s0.9760.9100.9150.7010.9850.9010.8500.89560.51.112
YOLOv8s+小目标检测层0.9820.8950.9280.7740.9920.9100.8730.91451.61.263
YOLOv8+GFPN0.9730.9240.9350.7240.9940.9120.8670.90857.11.347
YOLOv8+SPD-Conv0.9670.9430.9290.7160.9950.9080.8630.91053.41.266
YOLOv8s+3个改进点0.9810.9510.9450.8010.9950.9230.8810.93040.21.410

新窗口打开| 下载CSV


3.4.2. 损失函数对比实验

图16中,E为迭代次数. 从图16~18可以看出,利用LWIOUV3替换边界框损失函数C-Loss后,目标框的损失函数值有所降低,收敛速度比LCIOU快. 分类损失和DFL损失有一定程度的降低,导致总损失降低,并且从损失趋势上来看,收敛速度更快. 可以看出,将LCIOU替换为LWIOUV3,可以加快模型收敛,提升精度. 图16~18中,W-Loss和C-Loss分别为改进模型后总的损失函数和原始模型的损失函数,具体公式如下.

图 16

图 16   侧面损失函数变化图

Fig.16   Change of side face loss function


图 17

图 17   倒角损失函数变化图

Fig.17   Change of chamfer loss function


图 18

图 18   端面损失函数变化图

Fig.18   Change of end face loss function


$ {\text{W-Loss}} = L_{\rm{WIOUV3}}+{\rm{Los}}{{\rm{s}}_{{\text{DFL}}}}+{\rm{Los}}{{\rm{s}}_{{\text{CLS}}}}. $

$ {\text{C-Loss }}=L_{\rm{CIOU}}+{\rm{Los}}{{\rm{s}}_{{\text{DFL}}}}+{\rm{Los}}{{\rm{s}}_{{\text{CLS}}}}. $

3.4.3. 消融实验

上述实验证明了单一改进对模型检测能力的提升,为了验证提出的改进模型的总体有效性,在YOLOv8的基础上对各个模块进行消融实验. 在特征提取网络中加入细粒化卷积模块替换原先的卷积下采样模块,在特征网络中采用GFPN网络结构,在头部增加小目标检测层. 将三者结合起来,生成最终的改进模型,与原始方法进行对比,采用mAP@0.5、v作为评价指标. 倒角消融的实验结果如表7所示,侧面消融的实验结果如表8所示,端面消融的实验结果如表9所示. 表中,×表示模型未加入对应的模块,√表示模型加入对应的模块.

表 7   倒角消融的实验结果

Tab.7  Test results of chamfer ablation

检测模型SPD-ConvGFPN小目标
检测层
LWIOUV3mAP@0.5v/
(帧·s−1)
Model1××××0.84780.6
Model2×××0.87577.2
Model3××0.88569.3
Model4×0.90157.7
Model50.91147.7

新窗口打开| 下载CSV


表 8   侧面消融的实验结果

Tab.8  Test results of side face ablation

检测模型SPD-ConvGFPN小目标
检测层
LWIOUV3mAP@0.5v/
(帧·s−1)
Model1××××0.95061.4
Model2×××0.96251.6
Model3××0.96947.8
Model4×0.97543.4
Model50.98340.7

新窗口打开| 下载CSV


表 9   端面消融的实验结果

Tab.9  Test results of end face ablation

检测模型SPD-ConvGFPN小目标
检测层
LWIOUV3mAP@0.5v/
(帧·s−1)
Model1××××0.89558.5
Model2×××0.91053.4
Model3××0.92447.8
Model4×0.93040.2
Model50.93538.0

新窗口打开| 下载CSV


从消融实验结果可知,融合的改进模型对倒角、侧面、端面的mAP@0.5分别提高了6.4%、3.3%、4%,极大地提升了模型的检测能力. 虽然数据的检测速度下降,但是可以满足鼓形滚子实时检测的要求.

3.4.4. 模型对比实验

为了评估提出的方法在鼓形滚子表面缺陷检测上的性能,将本文方法和Faster R-CNN、SSD[21]、YOLOv3[22]、YOLOv4[23]、YOLOv5、YOLOv7等目前主流的目标检测算法进行比较,倒角、侧面、端面的实验结果如表10~12所示.

表 10   倒角模型的对比结果

Tab.10  Comparison results of chamfer models

算法模型Np/106mAP@0.5v/(帧·s−1)
Faster R-CNN136.100.85115.4
SSD24.010.54050.1
YOLOv361.530.74051.8
YOLOv463.950.79054.7
YOLOv5s7.030.82981.9
YOLOv737.210.81065.5
YOLOv8s11.200.84780.6
本文方法14.100.91147.7

新窗口打开| 下载CSV


表 11   侧面模型的对比结果

Tab.11  Comparison results of side face models

算法模型Np/106mAP@0.5v/(帧·s−1)
Faster R-CNN136.100.948.01
SSD24.010.6738.7
YOLOv361.530.8428.3
YOLOv463.950.8745.6
YOLOv5s7.030.9367.2
YOLOv737.210.9346.1
YOLOv8s11.200.9561.4
本文方法14.100.98340.7

新窗口打开| 下载CSV


表 12   端面模型的对比结果

Tab.12  Comparison results of end face models

算法模型Np/106mAP@0.5v/(帧·s−1)
Faster R-CNN136.100.8529.4
SSD24.010.47245.6
YOLOv361.530.76547.1
YOLOv463.950.84749.8
YOLOv5s7.030.86350.9
YOLOv737.210.85636.7
YOLOv8s11.200.89558.5
本文方法14.100.93538.0

新窗口打开| 下载CSV


从倒角、侧面、端面的不同模型结果对比来看,Faster R-CNN网络是因为双阶段网络采用候选框机制遍历特征图,故mAP@0.5较YOLO系列有很大提升,但是会使二阶段网络的计算量增大,导致检测速度过慢. SSD作为单阶段标检测网络,但是主干部分为VGG系列网络,网络层数较少,导致特征无法完全提取,对小目标的检测能力较差. 改进后的YOLOv8s算法由于加强了主干网络的特征提取,在特征融合部分采用GFPN结构并在头部加入小目标检测层,与YOLO系列的算法相比,mAP@0.5明显提高,但网络的复杂度增加,导致速度有一定的下降. 改进的算法在倒角、侧面、端面的检测速度分别为47.7、40.7、38.0帧/s,可以满足滚子缺陷的实时检测. 为了测试模型在实际检测中的能力,采用50个好滚子和50个坏滚子,计算误检率和漏检率,检测结果如表13所示. 可见,改进模型在漏检率和误检率上优于原始模型.

表 13   在线检测结果的对比

Tab.13  Comparison of online test results

检测模型漏检率误检率
YOLOv8s8%11%
本文方法2%5%

新窗口打开| 下载CSV


3.4.5. 模型改进效果的对比图

图19所示为YOLOv8s模型改进前、后的轴承滚子检测结果对比图,分别对比轴承滚子侧面、端面、倒角的检测情况. 从样本1、2可以看出,利用改进后的模型,能够有效地检测出侧面的密集型缺陷,对微小缺陷的检测能力有一定的提升. 从样本3、4可以看出,改进后的模型在处理端面复杂背景下对比度较低的缺陷时有较好的识别能力. 从样本5、6可以看出,改进后的模型在处理倒角边缘的微小缺陷时有较强的检测能力,总体上证明了模型改进的有效性.

图 19

图 19   YOLOv8s改进前、后的滚子缺陷表面检测结果对比图

Fig.19   YOLOv8s improved comparison chart of front and rear roller defect surface inspection results


3.4.6. 东北大学的热轧带钢表面缺陷检测实验

为了验证改进后的YOLOv8s算法在不同数据集上的对比结果,将改进前、后的YOLOv8s算法在东北大学热轧带钢表面缺陷数据集上进行对比实验. 东北大学带钢数据集包含夹杂、划痕、轧入氧化皮、 裂纹、麻点和斑块等缺陷,点蚀、划痕、斑块、轧入氧化皮这4类缺陷与轴承滚子表面缺陷类似. 其中点蚀和轧入氧化皮属于小目标缺陷,通过对比改进前、后的算法对这4类缺陷的检测能力,验证改进后的算法在不同数据集下对缺陷目标的检测能力会有一定的性能提升.

表14所示,与原始YOLOv8s算法相比,改进算法在点蚀、划痕、斑块、轧入氧化皮4种缺陷下的mAP@0.5分别提高了3%、6.5%、2.6%、1.2%,证明改进算法在不同数据集下对小目标缺陷检测的性能有一定的提升.

表 14   东北大学热轧带钢表面缺陷数据集的对比结果

Tab.14  Comparison results of surface defect dataset of hot-rolled strip from Northeastern University

算法mAP@0.5
点蚀划痕斑块轧入氧化皮
YOLOv8s0.8790.8860.8920.639
本文方法0.9090.9510.9180.651

新窗口打开| 下载CSV


4. 结 论

(1) 利用细粒化卷积(SPD-Conv)来代替网络步长为2的卷积层,防止在卷积过程中小目标特征丢失. 通过实验可知,细粒化卷积(SPD-Conv)可以提高小目标检测的精度,降低漏检率,提高模型的表达能力.

(2) 在特征融合网络中引入GFPN特征融合结构,增强同级尺度特征和非同级尺度特征的多级融合,增强小目标特征在神经网络中的传递,并在头部增加小目标的检测头,提高鼓形滚子微小缺陷的识别率.

(3) 优化边界框的损失函数,利用动态非单调聚焦的Wise-IOU代替CIOU,使得模型聚焦于普通质量的样本,在加速模型收敛的同时,能够提高检测的精度.

(4) 采用改进算法,在鼓形滚子端面、倒角、侧面数据集上进行实验. 与原始YOLOv8s相比,改进算法在倒角、侧面、端面的mAP@0.5分别提高了6.4%、3.3%、4%. 为了证明改进后的算法对小目标缺陷检测能力提升的普适性,在东北大学热轧带钢表面缺陷数据集上进行试验,经试验证实模型改进后的算法在东北大学热轧带钢表面缺陷数据集中对小目标缺陷的检测性能有较大提升,证实了改进算法对小目标缺陷检测的有效性.

(5) 由于鼓形滚子端面背景较复杂,存在大量的噪声,导致点蚀之类的小缺陷存在误检、漏检. 后续考虑加入分割算法作为YOLOv8s图片的预处理,减少噪声的影响,提高模型缺陷的检测能力.

参考文献

王姮, 卜燕, 张华, 等

基于分形维数的磁痕图像缺陷检测

[J]. 计算机应用研究, 2015, 32 (2): 603- 605

DOI:10.3969/j.issn.1001-3695.2015.02.063      [本文引用: 1]

WANG Heng, BU Yan, ZHANG Hua, et al

Defect detection of magnetic trace image based on fractal dimension

[J]. Application Research of Computers, 2015, 32 (2): 603- 605

DOI:10.3969/j.issn.1001-3695.2015.02.063      [本文引用: 1]

梁子千, 玄文博, 王婷, 等

基于二维阻抗特征的管道环焊缝缺陷涡流检测

[J]. 仪器仪表学报, 2017, 38 (9): 2138- 2145

DOI:10.3969/j.issn.0254-3087.2017.09.006      [本文引用: 1]

LIANG Ziqian, XUAN Wenbo, WANG Ting, et al

Eddy current detection of pipe girth weld defects based on two-dimensional impedance characteristics

[J]. Chinese Journal of Scientific Instrument, 2017, 38 (9): 2138- 2145

DOI:10.3969/j.issn.0254-3087.2017.09.006      [本文引用: 1]

陈振华, 郑志远, 卢超

不锈钢焊缝中超声传播特性及TOF检测方法研究

[J]. 电子测量与仪器学报, 2017, 31 (7): 1129- 1136

[本文引用: 1]

CHEN Zhenhua, ZHENG Zhiyuan, LU Chao

Study on ultrasonic propagation characteristics and TOFD detection method in stainless steel weld

[J]. Journal of Electronic Measurement and Instrumentation, 2017, 31 (7): 1129- 1136

[本文引用: 1]

WANG J M, QIAO J P, GUO M C

Research on bearing surface defect detection system based on machine vision

[J]. Journal of Physics: Conference Series, 2022, 2290 (1): 012061

DOI:10.1088/1742-6596/2290/1/012061      [本文引用: 1]

LU M H, CHEN C L

Detection and classification of bearing surface defects based on machine vision

[J]. Applied Sciences, 2021, 11 (4): 1825

DOI:10.3390/app11041825      [本文引用: 1]

陈昊, 张奔, 黎明, 等

基于图像光流的轴承滚子表面缺陷检测

[J]. 仪器仪表学报, 2018, 39 (6): 198- 206

[本文引用: 1]

CHEN Hao, ZHANG Ben, LI Ming, et al

Bearing roller surface defect detection based on image optical flow

[J]. Chinese Journal of Scientific Instrument, 2018, 39 (6): 198- 206

[本文引用: 1]

陈丹阳, 曹丽, 林一高, 等

轴承圆锥滚子外观缺陷检测研究

[J]. 机电工程, 2015, 32 (8): 1084- 1087

[本文引用: 1]

CHEN Danyang, CAO Li, LIN Yigao, et al

Study on appearance defect detection of bearing tapered roller

[J]. Mechanical and Electrical Engineering, 2015, 32 (8): 1084- 1087

[本文引用: 1]

GIRSHICK R. Fast r-CNN [C]//2015 IEEE International Conference on Computer Vision. Santiago: IEEE, 2015: 1440-1448.

[本文引用: 1]

袁天乐, 袁巨龙, 朱勇建, 等

基于改进YOLOv5的推力球轴承表面缺陷检测算法

[J]. 浙江大学学报: 工学版, 2022, 56 (12): 2349- 2357

[本文引用: 1]

YUAN Tianle, YUAN Julong, ZHU Yongjian, et al

Surface defect detection algorithm for thrust ball bearing based on improved YOLOv5

[J]. Journal of Zhejiang University: Engineering Science, 2022, 56 (12): 2349- 2357

[本文引用: 1]

曾耀, 高法钦

基于改进YOLOv5的电子元件表面缺陷检测算法

[J]. 浙江大学学报: 工学版, 2023, 57 (3): 455- 465

[本文引用: 1]

ZENG Yao, GAO Faqin

Surface defect detection algorithm for electronic components based on improved YOLOv5

[J]. Journal of Zhejiang University: Engineering Science, 2023, 57 (3): 455- 465

[本文引用: 1]

TAN M, PANG R, LE Q V. Efficientdet: scalable and efficient object detection [C]//Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. Seattle: IEEE, 2020: 10781-10790.

[本文引用: 1]

CONG P C, FENG H, LV K F, et al

MYOLO: a light weight fresh Shiitake mushroom detection model based on YOLOv3

[J]. Agriculture, 2023, 13 (2): 392

DOI:10.3390/agriculture13020392      [本文引用: 1]

LIANG C, YAN Z G, REN M, et al

Improved YOLOv5 infrared tank target detection method under ground background

[J]. Scientific Reports, 2023, 13 (1): 6269

DOI:10.1038/s41598-023-33552-x      [本文引用: 1]

WANG C Y, BOCHKOVSKIY A, LIAO H Y M. YOLOv7: trainable bag-of-freebies sets new state-of-the-art for real-time object detectors [C]// Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition. Nashville: IEEE, 2023: 7464–7475.

[本文引用: 1]

WANG C Y, BOCHKOVSKIY A, LIAO H Y M. Scaled-yolov4: scaling cross stage partial network [C]//Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. [S. l. ]: IEEE, 2021: 13029-13038.

[本文引用: 1]

GE Z, LIU S, WANG F, et al. Yolox: exceeding yolo series in 2021 [EB/OL]. [2023-05-17]. https://arxiv.org/pdf/2107.08430.pdf.

[本文引用: 1]

SUNKARA R, LUO T. No more strided convolutions or pooling: a new CNN building block for low-resolution images and small objects [C]//European Conference on Computer Vision. [S. l. ]: Springer, 2022: 19–23.

[本文引用: 1]

JIANG Y, TAN Z, WANG J, et al. GiraffeDet: a heavy-neck paradigm for object detection[EB/OL]. [2023-05-17]. https://arxiv.org/pdf/2202.04256.pdf.

[本文引用: 1]

LIU S, QI L, QIN H, et al. Path aggregation network for instance segmentation [C] //Proceedings of the IEEE Conference onComputer Vision and Pattern Recognition. Lake City: IEEE, 2018: 8759-8768.

[本文引用: 1]

TONG Z, CHEN Y, XU Z, et al. Wise-IoU: bounding box regression loss with dynamic focusing mechanism [EB/OL]. [2023-05-17]. https://arxiv.org/pdf/2301.10051.pdf.

[本文引用: 1]

LIU W, ANGUELOV D, ERHAN D, et al. SSD: singleshot multibox detector [EB/OL]. [2023-05-17]. https://arxiv.org/ pdf/1512.02325.pdf.

[本文引用: 1]

REDMON J, FARHADI A. YOLOv3: an incremental improvement [EB/OL]. [2023-05-17]. https://arxiv.org/pdf/1804.02767.pdf.

[本文引用: 1]

BOCHKOVSKIY A, WANG C Y, LIAO H Y M. Yolov4: optimal speed and accuracy of object detection [EB/OL]. [2023-05-17]. https://arxiv.org/ pdf/2004.10934v1.pdf.

[本文引用: 1]

/