一种基于改进YOLOv8的钢材表面缺陷检测方法及系统与流程

专利查询2月前  25


本发明涉及缺陷检测和计算机视觉,更具体地,涉及一种基于改进yolov8的钢材表面缺陷检测方法及系统。


背景技术:

1、钢材的广泛应用和多功能性使其成为现代社会不可或缺的材料,对工业发展、技术创新和可持续发展都有所贡献,并应用于船舶制造,航空航天,能源装备等领域。钢材生产和加工过程中,由于各种原因会导致钢材表面出现各种缺陷,钢材表面缺陷的产生原因包括原材料问题、加工工艺不当、设备缺陷、操作失误等。这些缺陷不仅影响钢材的外观,还可能降低钢材的性能和使用寿命,影响了制造业的生产,很有可能造成安全事故,因此有必要对钢材表面的缺陷进行检测。传统的缺陷检测技术主要包括:人工视觉检查、超声检测、磁粉检测、渗透检测、涡流检测和射线检测等,但这些检测技术存在效率低下、检测结果受主观因素影响、稳定性差、对于检测缺陷状态具有局限性和成本高等问题。

2、随着技术的发展,缺陷检测技术已经从传统的手工检测发展到基于深度学习检测技术,基于深度学习的缺陷检测在全局与局部特征学习、复杂非线性问题处理能力、实时性与鲁棒性、以及可扩展性与通用性等方面具有显著优势。

3、基于深度学习的目标检测算法分为两种,一种为单阶段算法:retinanet、ssd系列、yolo系列等;另一种是两阶段算法:r-cnn、fast r-cnn、faster r-cnn等。两阶段算法在缺陷检测中存在局限性,主要表现为检测速度较慢、信息易丢失以及计算复杂度增加。相比之下,单阶段算法通过一次前向传播即可完成检测,然而其检测精度较低,难以在复杂背景下准确识别和提取缺陷特征,仍需进一步优化。

4、目前,在钢材表面缺陷检测领域中得到广泛应用的是yolo系列模型。然而yolo系列模型参数量较多,且直接用于钢材表面缺陷检测时的精度不高。如何在提升检测精度的同时减少参数量,并且在存在背景噪声的条件下,还能够准确提取复杂缺陷特征,这是制造业需要解决的难题。


技术实现思路

1、本发明为克服上述现有技术中的模型难以在降低参数量的同时提高检测精度,且特征提取能力和泛化性较差的缺陷,提供一种基于改进yolov8的钢材表面缺陷检测方法及系统,能够降低模型的计算需求和参数量,提高检测精度;同时还能够提高模型在复杂背景下的适应性和对不同类型钢材缺陷的泛化能力。

2、为解决上述技术问题,本发明的技术方案如下:

3、一种基于改进yolov8的钢材表面缺陷检测方法,包括以下步骤:

4、s1:获取钢材表面缺陷数据集并进行预处理,将所述预处理后的钢材表面缺陷数据集划分为训练集和测试集;所述钢材表面缺陷数据集包括若干张分别带有不同表面缺陷的钢材图像;

5、s2:选用yolov8模型作为基础模型,并对yolov8模型进行改进,将所述yolov8模型中backbone主干部分的卷积模块替换为rfcbamconv模块;在backbone主干部分的每个c2f模块中引入triplet注意力机制,替换为c2f-triplet模块;将所述yolov8模型中neck部分的卷积模块替换为gsemaconv模块;基于gsemaconv模块构建vovgsemacsp模块并对neck部分的每个c2f模块进行替换,构建钢材表面缺陷检测模型;

6、s3:将所述训练集输入钢材表面缺陷检测模型中进行迭代优化训练,直至预设的总损失函数的值低于预设阈值时完成训练,获取训练好的钢材表面缺陷检测模型;

7、s4:将所述测试集输入训练好的钢材表面缺陷检测模型中进行缺陷检测,获取测试集中每张钢材图像的缺陷检测结果。

8、优选地,所述步骤s1中,预处理包括:将钢材表面缺陷数据集中的所有钢材图像裁剪为统一大小,并分别转换为灰度图;

9、将每张灰度图中的表面缺陷进行人工标注,完成预处理。

10、优选地,所述步骤s2中,所述rfcbamconv模块的结构包括:并列设置的第一支路和第二支路,以及权重重分配层和第一卷积层;

11、所述第一支路包括:依次连接的全局平均池化层、第一线性层、第一relu激活层、第二线性层和第一sigmoid激活层;将所述第一sigmoid激活层的输出作为所述第一支路的输出;

12、所述第二支路包括:依次连接的分组卷积层、归一化层、第二relu激活层和张量形状调整层,所述张量形状调整层的输出依次连接平均池化层、最大池化层、第二卷积层和第二sigmoid激活层;所述张量形状调整层和第二sigmoid激活层的输出共同作为所述第二支路的输出;

13、将所述第一支路和第二支路的输出共同输入所述权重重分配层,权重重分配层的输出经过所述第一卷积层后,获取所述rfcbamconv模块的输出。

14、优选地,所述步骤s2中,在backbone主干部分的每个c2f模块中引入triplet注意力机制包括:

15、将backbone主干部分的每个c2f模块中原有的若干个bottleneck块分别替换为triplet_bottleneck块,构建c2f-triplet模块;

16、所述triplet_bottleneck块的结构具体为:在bottleneck块中原有的两个卷积块之后加入triplet注意力块;所述triplet注意力块包括三个并行分支,用于将输入张量通过与三个不同维度进行交互来计算注意力权重。

17、优选地,所述步骤s2中,gsemaconv模块的结构包括:

18、以gsconv结构为基础结构,在所述gsconv结构中的shuffle层之前加入ema注意力块,获取gsemaconv模块。

19、优选地,所述步骤s2中,vovgsemacsp模块的结构包括:第三卷积层、gsemabottleneck、第四卷积层、拼接层和第五卷积层;

20、所述vovgsemacsp模块的输入经过两条分支,一条为依次经过第三卷积层和gsemabottleneck,另一条为经过第四卷积层,两条分支的输出经过拼接层拼接后输入第五卷积层,第五卷积层的输出作为所述vovgsemacsp模块的输出。

21、优选地,所述gsema bottleneck的结构包括:第一gsemaconv模块、第二gsemaconv模块和第六卷积层;

22、所述第一gsemaconv模块和第二gsemaconv模块依次连接,第六卷积层与两个gsemaconv模块并列设置;

23、所述第二gsemaconv模块的输出和第六卷积层的输出加权加和后作为所述gsemabottleneck的输出。

24、优选地,所述步骤s3中,总损失函数的计算采用taskalignedassigner策略,所述总损失函数包括加权组合的分类损失和回归损失;

25、所述分类损失具体为vfl损失;

26、所述回归损失包括ciou损失和dfl损失。

27、优选地,所述步骤s2中选用的基础模型具体为yolov8n模型。

28、本发明还提供一种基于改进yolov8的钢材表面缺陷检测系统,应用上述的基于改进yolov8的钢材表面缺陷检测方法,包括:

29、预处理单元:用于获取钢材表面缺陷数据集并进行预处理,将所述预处理后的钢材表面缺陷数据集划分为训练集和测试集;所述钢材表面缺陷数据集包括若干张分别带有不同表面缺陷的钢材图像;

30、模型构建单元:用于选用yolov8模型作为基础模型,并对yolov8模型进行改进,将所述yolov8模型中backbone主干部分的卷积模块替换为rfcbamconv模块;在backbone主干部分的每个c2f模块中引入triplet注意力机制,替换为c2f-triplet模块;将所述yolov8模型中neck部分的卷积模块替换为gsemaconv模块;基于gsemaconv模块构建vovgsemacsp模块并对neck部分的每个c2f模块进行替换,构建钢材表面缺陷检测模型;

31、模型训练单元:用于将所述训练集输入钢材表面缺陷检测模型中进行迭代优化训练,直至预设的总损失函数的值低于预设阈值时完成训练,获取训练好的钢材表面缺陷检测模型;

32、缺陷检测单元:用于将所述测试集输入训练好的钢材表面缺陷检测模型中进行缺陷检测,获取测试集中每张钢材图像的缺陷检测结果。

33、与现有技术相比,本发明技术方案的有益效果是:

34、本发明提供一种基于改进yolov8的钢材表面缺陷检测方法及系统,首先获取钢材表面缺陷数据集并进行预处理,将预处理后的钢材表面缺陷数据集划分为训练集和测试集;选用yolov8模型作为基础模型,并对yolov8模型进行改进,构建钢材表面缺陷检测模型;随后将训练集输入钢材表面缺陷检测模型中进行迭代优化训练,直至预设的总损失函数的值低于预设阈值时完成训练,获取训练好的钢材表面缺陷检测模型;最后将测试集输入训练好的钢材表面缺陷检测模型中进行缺陷检测,获取测试集中每张钢材图像的缺陷检测结果;

35、本发明通过引入rfcbamconv模块、triplet注意力机制和gsemaconv模块,有效弥补了钢材表面缺陷检测模型在背景噪声下和缺陷自身的局限性;具体而言,rfcbamconv模块增强了算法对局部特征捕捉能力;triplet注意力机制优化了特征提取过程,有效提升了算法在多维度特征中的识别;gsemaconv和vovgsemacsp模块则通过多尺度注意力机制和参数优化,进一步提升了算法的检测精度和降低参数量;本发明提出的改进模型不仅显著提升了钢材表面缺陷检测的精度和泛化性,还有效降低了模型的复杂度和资源需求,从而具备了在实际工业应用中广泛推广的潜力。


技术特征:

1.一种基于改进yolov8的钢材表面缺陷检测方法,其特征在于,包括以下步骤:

2.根据权利要求1所述的一种基于改进yolov8的钢材表面缺陷检测方法,其特征在于,所述步骤s1中,预处理包括:将钢材表面缺陷数据集中的所有钢材图像裁剪为统一大小,并分别转换为灰度图;

3.根据权利要求1所述的一种基于改进yolov8的钢材表面缺陷检测方法,其特征在于,所述步骤s2中,所述rfcbamconv模块的结构包括:并列设置的第一支路和第二支路,以及权重重分配层和第一卷积层;

4.根据权利要求1所述的一种基于改进yolov8的钢材表面缺陷检测方法,其特征在于,所述步骤s2中,在backbone主干部分的每个c2f模块中引入triplet注意力机制包括:

5.根据权利要求1所述的一种基于改进yolov8的钢材表面缺陷检测方法,其特征在于,所述步骤s2中,gsemaconv模块的结构包括:

6.根据权利要求5所述的一种基于改进yolov8的钢材表面缺陷检测方法,其特征在于,所述步骤s2中,vovgsemacsp模块的结构包括:第三卷积层、gsemabottleneck、第四卷积层、拼接层和第五卷积层;

7.根据权利要求6所述的一种基于改进yolov8的钢材表面缺陷检测方法,其特征在于,所述gsema bottleneck的结构包括:第一gsemaconv模块、第二gsemaconv模块和第六卷积层;

8.根据权利要求1所述的一种基于改进yolov8的钢材表面缺陷检测方法,其特征在于,所述步骤s3中,总损失函数的计算采用taskalignedassigner策略,所述总损失函数包括加权组合的分类损失和回归损失;

9.根据权利要求1~8任意一项中所述的一种基于改进yolov8的钢材表面缺陷检测方法,其特征在于,所述步骤s2中选用的基础模型具体为yolov8n模型。

10.一种基于改进yolov8的钢材表面缺陷检测系统,应用权利要求1~9任意一项中所述的基于改进yolov8的钢材表面缺陷检测方法,其特征在于,包括:


技术总结
本发明提供一种基于改进YOLOv8的钢材表面缺陷检测方法及系统,方法包括:获取钢材表面缺陷数据集并进行预处理,将预处理后的钢材表面缺陷数据集划分为训练集和测试集;选用YOLOv8模型作为基础模型,并对YOLOv8模型进行改进,构建钢材表面缺陷检测模型;将训练集输入钢材表面缺陷检测模型中进行迭代优化训练;将测试集输入训练好的钢材表面缺陷检测模型中进行缺陷检测,获取测试集中每张钢材图像的缺陷检测结果;本发明提出的改进YOLOv8模型不仅显著提升了钢材表面缺陷检测的精度和泛化性,还有效降低了模型的复杂度和资源需求,从而具备了在实际工业应用中广泛推广的潜力。

技术研发人员:邱永峰,黄萱,李威,郑祎,查铂,彭康,朱海曦
受保护的技术使用者:湖南天桥嘉成智能科技有限公司
技术研发日:
技术公布日:2024/12/5

最新回复(0)