1.一种基于改进YOLOv10的轴承表面缺陷检测方法,其特征在于,该方法包括:S1,收集轴承缺陷图像,该图像包括轴承凹槽图像、轴承磨损图像和轴承划痕图像;
S2,对收集的轴承缺陷图像进行数据增强和预处理;
S3,将经过数据增强和预处理的轴承缺陷图像构建成完整的数据集;
S4,基于YOLOv10模型进行改进,引入EMAttention注意力模块、YOLOv9的SPPELAN模块,并使用FasterNeT替换Backbone,构建改进的轴承缺陷检测模型,所述改进的轴承缺陷检测模型为改进的YOLOv10模型;
S5,将构建的轴承缺陷数据集输入改进的YOLOv10模型中进行训练,通过优化损失函数、添加注意力机制和特征融合模块,优化改进的YOLOv10模型的检测精度和泛化能力;
S6,在测试集上,对训练好的YOLOv10模型和改进后的YOLOv10模型进行测试,进行实验结果对比,验证两者在检测轴承缺陷时的准确性和效率,包括缺陷位置、缺陷类别和置信度;
S7,将改进的YOLOv10模型与主流算法进行对比,综合评价不同模型的检测性能、计算效率和参数数量;
在步骤S4中,构建改进的轴承缺陷检测模型,包括:
(4.1)配置环境:对YOLOv10模型的源码使用Anaconda建立虚拟环境;
(4.2)数据输入:将构建好的轴承表面缺陷数据集输入YOLOv10网络结构模型,包括获取轴承表面缺陷图像、轴承表面缺陷图像标签、YOLOv10网络结构模型预训练权重、YOLOv10网络结构模型配置文件;
(4.3)配置超参数:设定学习率、批样本数量、迭代次数、图像通道数、图片裁剪尺寸和学习率动量最优的超参数组合;
(4.4)采用的原始模型为YOLOv10,对YOLOv10网络结构模型进行改进;
在步骤(4.4)中,对YOLOv10网络结构模型进行改进,包括:(4.4.1)引入注意力模块EMA;
(4.4.2)使用YOLOv9的SPPELAN模块;
(4.4.3)替换Backbone为FasterNeT;
在步骤(4.4.1)中,引入注意力模块EMA,包括:(4.4.1.1)模块设计:注意力模块EMA将输入特征图沿通道方向划分为多个子组;每个子组在并行的子网络中处理,包括一个1×1卷积分支和一个3×3卷积分支;
(4.4.1.2)运行1×1卷积分支和一个3×3卷积分支,包括:(ⅰ)并行子网络:1×1卷积分支负责处理全局信息以重新校准每个并行分支中的通道权重;具体实现步骤如下:(ⅰ.1)1×1卷积操作,表达式为:
Fglobal=Conn1×1(Finput) (2)式中,Fglobal为提取的全局特征图,COnv1×1为1×1卷积操作,Finput为输入特征图;
(ⅰ.2)全局平均池化,表达式为:
Gpool=Global Average Pooling(Fglobal) (3)式中,Gpool为全局平均池化后的特征,表示每个通道的全局特征;
(i.3)全连接生成权重,表达式为:
Wcalibrated=Fully Connected(Gpool) (4)式中,Wcalibrated为每个通道的权重,通过全连接层生成;
(i.4)通道加权校准,表达式为:
Fcalibrated=Finput×Wchanel (5)式中,Fcalibrated为重新校准后的特征图,通过将通道权重与输入特征图相乘实现校准;
Wchannel为每个通道的权重,通过全连接层生成;
(ii)3×3卷积分支则通过跨维度交互,进一步聚合两个并行分支的输出特征,以捕获像素级的成对关系;具体实现步骤如下:(ii.1)3×3卷积操作,表达式为:
F3×3=Conv3×3(Finput) (6)式中,F3×3为3×3卷积后的特征图,Conv3×3为3×3卷积操作;
(ii.2)跨纬度交互和特征聚合,表达式为:
Faggregated=F1×1+F3×3 (7)式中,Faggregated为聚合后的特征图,F1×1为卷积后的特征图;
(ii.3)捕获像素级的成对关系,表达式为:
式中,Apixel为注意力权重,通过聚合后的特征图进行逐元素点积操作生成;sigmoid()为激活函数,T为指数;
(ii.4)应用里权重,表达式为:
Ffinal=Faggregated×Apixel (9)式中,Ffinal为最终的特征图,通过将注意力权重应用到聚合后的特征图上,增强了像素级的成对关系;
(4.4.1.3)跨空间学习:通过将两个并行子网络的输出特征图融合在一起,通过矩阵点积操作来捕捉像素级别的成对关系,1×1卷积分支负责处理全局信息并重新校准每个并行分支中的通道权重,而3×3卷积分支则通过跨维度交互进一步聚合两个并行分支的输出特征;特征图融合通过逐元素相加或拼接来实现;通过矩阵点积操作生成相关性矩阵,捕捉到像素级别的成对关系,并通过激活函数生成注意力权重,应用于特征图上,增强相关性强的像素对,抑制相关性弱的像素对。
2.根据权利要求1所述的基于改进YOLOv10的轴承表面缺陷检测方法,其特征在于,在步骤S2中,对收集的轴承缺陷图像进行数据增强和预处理,包括:采用伽马变换技术调整图像的亮度和对比度,减少缺陷图像中的背景噪声,增强模型的鲁棒性,转换公式为:γ
I′=c×I (1)
式中,I′为伽马变换后的像素值,c为用于将变换后的像素值缩放到可能范围的常数,I为原始图像中的像素值,γ为用于亮度和对比度调整的伽马值;
在步骤S3中,构建成完整的数据集,包括:
(3.1)缺陷种类划分:将样本扩增和数据增强后的轴承表面缺陷图像数据按照种类的不同,划分为凹槽、擦伤和划痕共三类;
(3.2)划分数据集:将样本扩增和数据增强的轴承表面缺陷图像数据划分为训练集、测试集和验证集,比例为8:1:1;
(3.3)图像标注:利用labelimg图像标注工具对图像进行多点标注,在缺陷区域的轮廓采取多点标注的方式将实际缺陷区域分割出来;
(3.4)数据读取:利用Python软件中PyTorch库的torch.utils.data函数进行数据集读取。
3.根据权利要求1所述的基于改进YOLOv10的轴承表面缺陷检测方法,其特征在于,在步骤(4.4.2)中,使用YOLOv9的SPPELAN模块,包括:a、模块设计:SPPELAN模块使用一个初始的卷积层cv1减少输入数据的通道数;
b、多尺度最大池化:将输出应用于三个并行的最大池化层cv2、cv3、cv4,每个最大池化层具有不同的空间感受野,池化层的输出随后被连接起来,形成包含多尺度信息的特征图,实现多尺度最大池化;具体过程如下:b.1、输入特征图处理:通过一个初始的卷积层cv1进行处理,减少通道数和提取初步特征;
b.2、多尺度最大池化:将初步处理后的特征图同时应用于三个并行的最大池化层cv2、cv3、cv4;每个最大池化层具有不同的空间感受野,通过设置不同的填充和步长实现;
b.3、特征图连接:将三个并行最大池化层的输出特征图进行连接操作,形成包含多尺度信息的特征图;
c、特征融合:通过一个卷积层cv5将连接后的特征图转换为所需的输出通道数,具体过程如下:c.1、输入特征图;
c.2、卷积层cv5设计,包括卷积核大小、卷积核数量;
c.3、卷积操作,包括:
c.3.1、输入特征图:输入特征图X的尺寸为:H×W×C,其中,H为高度,W为宽度,C为通道数;
c.3.2、卷积核:1×1卷积核K的尺寸为:1×1×C×N,其中,N为输出特征图的通道数;对于输入特征图X中的每个位置(i,j),输出特征图Y中对应位置的值通过以下公式计算:式中,Yi,j,n为输出特征图在位置(i,j)和通道n的值,Xi,j,c为输入特征图在位置(i,j)和通道c的值,K1,1,c,n为1×1卷积在通道c和通道n的权重;
d、通道数转换,包括:
d.1、捕捉输入数据的不同空间上下文信息;
d.2、融合以产生丰富的特征表示,包括:多尺度特征图拼接,将每个池化层的输出特征图在通道维度上进行拼接,形成包含多尺度信息的特征图,表达式为:Fmulti‑scale=Concat(Fcv2,Fcv3,Fcv4) (11)式中,Fmulti‑scale为拼接后的多尺度特征图,Concat()为拼接操作,Fcv2,Fcv3,Fcv4分别为不同感受野池化层的输出特征图;
卷积层转换,通过一个卷积层cv5将拼接后的多尺度特征图转换为所需的输出通道数,表达式为:Foutput=Conv1×1(Fmulti‑scale) (12)式中,Foutput为最终的输出特征图,Conv1×1为1×1卷积操作。
4.根据权利要求1所述的基于改进YOLOv10的轴承表面缺陷检测方法,其特征在于,在步骤(4.4.3)中,替换Backbone为FasterNeT,包括:(A)PConv设计:通过引入新型的局部卷积PConv操作,减少计算复杂度并加速训练过程;
(B)FasterNeT模块结构:包含一个局部卷积PConv层,以及两个点卷积PWConv或1×
1Conv层;局部卷积PConv层用于提取输入特征图的局部空间特征;
点卷积PWConv或1×1Conv层用于通道融合和特征转换;
(C)特征传递:PConv层从输入特征图中提取空间特征,PWConv层将提取的特征传递到后续处理中。
5.根据权利要求1所述的基于改进YOLOv10的轴承表面缺陷检测方法,其特征在于,在步骤S5中,将构建的轴承缺陷数据集输入改进的YOLOv10模型中进行训练,包括:(5.1)将搭建好的轴承缺陷数据集,输入设置好超参数的改进YOLO模型进行训练;
(5.2)模型训练:将构建的轴承表面缺陷数据集的训练集输入改进后的YOLOv10模型进行训练,包括:(5.2.1)利用高级分类器XGBoost对边界框进行分类,得到每个边界框对应的缺陷种类概率分类方法,具体包括:(I)高级分类器XGBoost:使用XGBoost分类器对每个边界框进行分类;
(II)特征提取:从卷积特征图中提取每个边界框的特征,将这些特征作为XGBoost的输入;
(III)分类过程:XGBoost对每个边界框进行分类,输出每个边界框对应的缺陷种类概率,分类结果为每个边界框的缺陷类别及其概率分布;
(IV)通过软非极大值抑制Soft‑NMS的方法对每个边界框的分类概率进行排序,得到置信度最大的边界框预测值,Soft‑NMS不直接删除重叠度高的边界框,而是根据重叠度对置信度进行衰减,表达式为:式中,Si为边界的初始置信度,IOU为当前边界框与其他框的重叠度,σ为衰减系数;置信度阈值设置为0.5,IOU阈值设置为0.3;
(V)通过优化的损失函数Shape‑IoU计算预测值和真实值之间的损失值,Shape‑IoU在传统IoU的基础上,引入形状相似度的概念,表达式为:式中,Shape‑IOU为损失函数,用于计算预测值和真实值之间的损失值,损失值越小表示预测框与真实框的匹配度越高;Shape‑Similarity为衡量预测框与真实框的相似度,α为调节参数,Aspect‑Ratio‑Difference为衡量预测框与真实框的宽高比差异;
(VI)根据优化的损失函数Shape‑IoU的损失值进行反向传播;
(5.2.2)模型训练过程中,进行迭代训练,对模型进行验证集的验证,评估模型的精度和召回率;
再进行学习率调整,根据验证结果动态调整学习率;
训练过程直至达到预设的迭代次数或验证集性能不再提升,网络模型训练完成。
6.根据权利要求1所述的基于改进YOLOv10的轴承表面缺陷检测方法,其特征在于,在步骤S6中,对训练好的YOLOv10模型和改进后的YOLOv10模型进行测试,包括:将模型训练完成后生成的权重文件载入测试文件进行模型测试,得到改进的轴承缺陷检测模型在测试集上的测试结果,包括缺陷位置、缺陷类别和置信度,并且与YOLOv10模型进行对比;
在步骤S7中,综合评价不同模型的检测性能、计算效率和参数数量,包括:选用mAP@
0.5%、mAP@0.5‑0.95%、FLOPs和参数数量Params作为评价指标。
7.一种基于改进YOLOv10的轴承表面缺陷检测系统,其特征在于,该系统通过权利要求
1‑6任意一项所述的基于改进YOLOv10的轴承表面缺陷检测方法实现,该系统包括:缺陷图像采集模块,用于收集轴承缺陷图像,该图像包括轴承凹槽图像、轴承磨损图像和轴承划痕图像;
数据增强和预处理模块,用于对收集的轴承缺陷图像进行数据增强和预处理;
完整的数据集构建模块,用于将经过数据增强和预处理的轴承缺陷图像构建成完整的数据集;
YOLOv10模型改进模块,用于引入EMAttention注意力模块、YOLOv9的SPPELAN模块,并使用FasterNeT替换Backbone,构建改进的轴承缺陷检测模型,所述改进的轴承缺陷检测模型为改进的YOLOv10模型;
模型训练模块,用于将构建的轴承缺陷数据集输入改进的YOLOv10模型中进行训练,通过优化损失函数、添加注意力机制和特征融合模块,优化改进的YOLOv10模型的检测精度和泛化能力;
对比模块,用于在测试集上,对训练好的YOLOv10模型和改进后的YOLOv10模型进行测试,进行实验结果对比,验证两者在检测轴承缺陷时的准确性和效率;将改进的YOLOv10模型与主流算法进行对比,综合评价不同模型的检测性能、计算效率和参数数量。