一种基于改进Yolov7-tiny的钢材表面缺陷检测方法
- 国知局
- 2024-07-31 23:12:24
本发明涉及钢材表面缺陷检测,具体是一种基于改进yolov7-tiny的钢材表面缺陷检测方法。
背景技术:
1、在国家建设中,钢材被视为必不可缺少的重要物资,并在大中型基础建设中发挥着不可替代的作用。然而,在钢材的生产过程中,受到成本、设备和现有技术等多种因素的影响,导致钢材表面常常出现划伤、裂纹和氧化等缺陷。这些缺陷会破坏钢材的物理结构,从而使其抗压和耐磨性能急剧下降,进而影响钢材产品的使用寿命和安全性能。因此,如何在生产过程中有效提高钢材表面缺陷的检测能力成为完善产品质量和提高工作效率的重要手段,也是确保钢材质量的关键环节。
2、针对钢材表面缺陷的检测技术,主要包括传统检测方法、基于机器视觉的检测方法和基于深度学习的检测方法。传统的钢材表面缺陷检测方法需要耗费大量人力和物力,且容易出现漏检和误检情况。通常需要人工操作精密仪器,导致检测成本进一步增加。相比之下,基于机器视觉的检测方法能够显著提高钢材表面缺陷的检测效率。然而,这类方法仅能检测钢材表面缺陷的浅层特征,并且在特征提取的过程中容易受到外部环境影响。因此,在利用机器视觉进行钢材表面缺陷检测时,检测速度和精度还无法达到工业检测的标准。
3、近年来,深度学习技术在人工智能领域得到了迅速的发展。传统的目标检测方法和机器视觉的检测方法逐渐无法满足工业的需求,逐步被基于深度学习的目标检测方法所替代。目前基于深度学习的目标检测算法主要分为两大类:两阶段目标检测算法和一阶段目标检测算法。两阶段目标检测算法需要在图像上生成候选区域,然后利用回归等方法对候选区域进行分类和预测。而一阶段目标检测算法无需提前生成候选区域,直接在卷积后的图像上预测目标的位置和类别。因此,两阶段目标检测算法具有较高的检测精度,但由于检测速度较慢且模型参数量庞大,难以满足工业生产的实际需求。
4、相比之下,一阶段目标检测算法能够兼顾检测精度和速度,因此在工业场景中得到广泛应用。本发明提出了一种改进方法,基于一阶段目标检测算法yolo进行实现,以提高钢材表面缺陷检测的精度和速度。虽然yolov7在检测能力方面表现出色,但小目标的检测一直是yolo系列算法的难点。为解决这个问题,本发明通过对yolov7-tiny算法进行改进。通过该改进方法,旨在提高钢材表面缺陷检测的精度和速度。
技术实现思路
1、发明目的:钢材表面缺陷是小目标,在特征学习过程中容易被忽略,因而导致漏检现象,针对这个问题,本发明提供了一种基于改进yolov7-tiny的钢材表面缺陷的检测方法,本发明的改进yolov7-tiny算法解决了一阶段目标检测算法yolo的检测精度及对小目标的检测能力不理想的问题,相较于传统的钢材表面检测模型,本发明基于改进yolov7-tiny的钢材表面缺陷的检测方法在复杂场景下进行钢材表面缺陷检测时,具有更高的检测精度。该方法的实施可以有效地提高钢材表面缺陷检测的准确性和可靠性。
2、技术方案:一种基于改进yolov7-tiny的钢材表面缺陷的检测方法,包含以下步骤:
3、步骤一、获取钢材表面缺陷的图像数据集;
4、步骤二、在yolov7-tiny模型的基础上,构建改进yolov7-tiny的钢材表面缺陷识别模型;
5、步骤三、利用图像数据集对钢材表面缺陷检测模型进行训练,获取最优检测模型。
6、进一步的,步骤二中:
7、所述yolov7-tiny模型的网络结构,包括输入input、骨干网络backbone、颈部网络neck和预测头head四个部分;
8、所述改进yolov7-tiny的钢材表面缺陷识别模型的改进模块为:在yolov7-tiny模型head端增加的用于预测小目标信息的检测头模块;在yolov7-tiny模型的elan模块中引入se模块,形成的elan-se模块;在yolov7-tiny模型的neck端输出部分添加的spdconv模块;采用基于归一化的nwd损失函数来替代yolov7-tiny模型中的iou损失函数。
9、进一步的,步骤一中,具体为:
10、1)获取开源数据集,在东北大学官网上获取neu-det数据集,其中包括裂缝、斑块、夹杂物、点蚀表面、划痕和氧化皮六种典型表面缺陷的灰度图片;
11、2)使用python脚本程序将数据集中六种典型表面缺陷的灰度图片分别随机分入训练集、测试集。
12、进一步的,步骤二中,构建改进yolov7-tiny的钢材表面缺陷识别模型的具体步骤如下:
13、步骤2.1、配置深度学习环境,搭建原始yolov7-tiny模型;
14、步骤2.2、在yolov7-tiny模型的head端增加检测头模块;
15、所述检测头模块,接收来自上一个检测头的较浅层高分辨率特征图信息以及三个检测头的不同尺度感受野特征图,对接收到的特征图进行maxpool池化操作,并将池化操作后的特征图与对应的高分辨率特征图和不同尺度感受野特征图进行融合;
16、步骤2.3、在yolov7-tiny模型的elan模块中引入se模块,将se模块融合到基于两个分支特征融合卷积的elan模块中,从而形成elan-se模块;
17、所述elan-se模块自动学习每个通道的权重和重要性,并通过获得的权重,自适应地调整每个通道的特征在后续网络层中的重要性;
18、步骤2.4、在yolov7-tiny模型的neck端输出部分添加spdconv模块;
19、所述spdconv模块是一种专注于检测小目标的卷积构建块;
20、步骤2.5、采用基于归一化的nwd损失函数来替代yolov7-tiny模型中的iou损失函数。
21、进一步的,步骤2.5中,所述nwd是一种通过计算高斯分布之间的wasserstein距离来测量预测边界框和真实边界框之间相似性的方法;
22、测量预测边界框和真实边界框之间相似性的具体步骤为:
23、1)预测边界框a=(cxa,cya,wa,ha)和真实边界框b=(cxb,cyb,wb,hb)建模的高斯分布分别为na和nb;
24、其中,cxa,cya为预测边界框a的中心点坐标,wa,ha为预测边界框a的宽度和高度;cxb,cyb为预测边界框b的中心点坐标,wb,hb为预测边界框b的宽度和高度;
25、2)na和nb之间的wasserstein距离为:
26、
27、3)将归一化,并将其转换为无量纲相似性度量:
28、
29、其中,nwd表示归一化wasserstein距离;c为对wasserstein距离的归一化常量,当两个矩形框完全重叠时,nwd=1;当两个矩形框距离无穷远时,nwd=0。
30、进一步的,步骤三中的具体步骤为:
31、步骤3.1、初始化改进yolov7-tiny的钢材表面缺陷的检测模型,配置模型的网络权重、学习率、批处理大小、迭代次数;
32、步骤3.2、将步骤一中获取的钢材表面缺陷的图像数据集中的训练集中的样本输入改进yolov7-tiny的钢材表面缺陷的检测模型中进行预训练,得到最优检测模型。
33、进一步的,还包括:
34、步骤四、利用训练得到的最优检测模型对测试集中的图片进行检测,对测试集的检测结果进行评估;
35、步骤五、使用yolov7-tiny作为基准模型,通过添加不同的改进模块来验证最优检测模型的性能。
36、与现有技术相比,本发明具有以下有益效果:
37、本发明在在yolov7-tiny模型的基础上提出了一种钢材表面缺陷检测方法。首先,在head端新增了专门用于预测小目标信息的检测头模块,以获取高分辨率和多尺度特征的特征图信息。其次,将se模块融入elan模块的分支末端,用于融合不同尺度的特征信息,进一步提升特征提取能力。然后,在模型的neck端输出部分添加了spdconv模块,以提高缺陷检测的性能,同时减少计算负担。此外,本发明还采用了基于归一化wasserstein距离(nwd)的损失函数,解决了传统iou损失函数在收敛速度、目标尺度敏感性和重叠框大小准确性方面的问题,从而更准确地定位小目标缺陷。因此,本发明适用于复杂场景下的钢材表面缺陷检测,显著提升了检测精度,并相较于传统模型具备明显的优势。
本文地址:https://www.jishuxx.com/zhuanli/20240730/196405.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。
下一篇
返回列表