本发明涉及olov7检测算法,具体为一种基于改进yolov7的钢材缺陷检测方法。
背景技术:
1、olov7是yolo(you only look once)系列目标检测算法的第七个版本,yolo算法的核心思想是将目标检测任务转化为单个神经网络,通过在一次前向传播中同时预测目标的边界框和类别信息,从而实现实时目标检测,yolov7在yolov6的基础上进行了改进和优化,它采用了特征金字塔网络来提取多尺度的特征,以便更好地捕捉目标在不同尺度下的特征信息,同时,yolov7引入了改进的骨干网络,提升了特征提取的效果。
2、目前olov7在进行钢材缺陷检测时,存在计算成本较高,在目标边界的细节和小目标检测方面的表现较差,由于yolov7具有较大的网络结构和较高的计算要求,训练时间较长,需要更多的计算资源,这对于一些资源有限的环境可能是一个问题。
3、因此,针对上述问题提出一种基于改进yolov7的钢材缺陷检测方法。
技术实现思路
1、本发明的目的在于提供一种基于改进yolov7的钢材缺陷检测方法,以解决上述背景技术中提出现有存在计算成本较高,在目标边界的细节和小目标检测方面的表现较差,由于yolov7具有较大的网络结构和较高的计算要求,训练时间较长,需要更多的计算资源的问题。
2、为实现上述目的,本发明提供如下技术方案:一种基于改进yolov7的钢材缺陷检测方法,包括如下步骤:
3、步骤一:获取neu-det钢材缺陷检测数据集,把数据集按照8:1:1的方式划分为三个独立的子集:训练集,验证集和测试集;
4、步骤二:先对输入的图片预处理,对齐成640*640大小的rgb图片,然后输入到backbone网络中;
5、步骤三:基于yolov7在backbone层通过gsconv以及其他模块提取特征,根据网络中的三层输出,在head层通过backbone网络继续输出三层不同size大小的feature map;
6、步骤四:经过repvgg block和dyhead模块,对图像检测的三类任务(分类、前后背景分类、边框)进行预测;
7、步骤五:使用测试集来最终评估模型的性能。
8、通过采用上述技术方案,yolov7模型的基础上增加了轻量化模块slim-neck结合的gsconv;更改损失函数ciou为wiou;以及添加融合尺度注意力、空间注意力、任务注意力的dyhead模块,提升了精度,以及降低了计算成本。
9、进一步地,基于上述步骤二所述yolov7包括卷积层和损失函数,所述gsconv选用sc、dsc和shuffle混合卷积进行组合起来构建为一个新的卷积层,来进行替换原有的普通卷积,所述损失函数ciou更换为wiou,所述wiou的公式如下:
10、
11、其中,n表示物体框的数量,bi表示第i个物体框的坐标,gi表示第i个物体的真实标注框的坐标,iou(bi,gi)表示第i个物体框与真实标注框之间的iou值,wi表示权重值;
12、损失函数用来度量模型的预测结果与真实标签之间的差异,通过不断调整模型的参数,使损失函数逐渐减小,模型的预测能力也逐渐提升,不同的损失函数侧重点也不一样。
13、通过采用上述技术方案,wiou考虑了长宽边长真实差,基于ciou解决了纵横比的模糊定义,并添加focal loss解决bbox回归中的样本不平衡问题,由于原网络中采用的ciou损失函数,纵横比定义较为模糊,因此替换为wiou,wiou因为没有对纵横比进行计算相比ciou反而有更快的速度,它对每个物体框的权重值取决于其与真实标注框的重叠程度,重叠程度越大的物体框权重越高,重叠程度越小的物体框权重越低。
14、进一步地,所述gsconv用于替换yolov7中的原始conv使网络轻量化。
15、通过采用上述技术方案,采用gsconv方法的slim-neck可缓解dsc缺陷对模型的负面影响,并充分利用深度可分离卷积dsc的优势。
16、进一步地,基于上述步骤三所述dyhead模块将注意力函数转换为尺度注意力、空间注意力、任务注意力三个连续的注意力,所述注意力函数公式如下:
17、
18、其中πl(·)、πs(·)和πc(·)是分别应用于维度l、s和c的三个不同注意力函数。
19、通过采用上述技术方案,此模块将尺度感知、空间感知和任务感知的注意统一在一个框架中,它可以灵活的集成到检测部分,以提高其性能。
20、与现有技术相比,本发明的有益效果是:
21、1、该基于改进yolov7的钢材缺陷检测方法,优化了网络结构,把原来的普通卷积替换为更轻量化的gsconv,降低了计算成本的同时提升了精度;
22、2、该基于改进yolov7的钢材缺陷检测方法,把坐标损失采用的ciou更改为wiou,基于ciou解决了纵横比的模糊定义;
23、3、该基于改进yolov7的钢材缺陷检测方法,添加融合尺度注意力、空间注意力、任务注意力的dyhead模块,可以显著提升模型目标检测头的表达能力。
1.一种基于改进yolov7的钢材缺陷检测方法,其特征在于:包括如下步骤:
2.根据权利要求1所述的一种基于改进yolov7的钢材缺陷检测方法,其特征在于:所述backbone层主要由若干bconv层、e-elan层以及mp层组成,所述bconv层卷积层+bn层+激活函数组成,所述e-elan层也是由不同的卷积拼接而成,所述backbone层由若干bconv层、e-elan层以及mpconv层交替减半长宽增倍通道,从而提取特征。
3.根据权利要求1所述的一种基于改进yolov7的钢材缺陷检测方法,其特征在于:所述head层通过sppcpc层、若干bconv层、若干mpconv层、若干catconv层以及后续输出三个head的repvgg block层组成。
4.根据权利要求1所述的一种基于改进yolov7的钢材缺陷检测方法,其特征在于:基于上述步骤二所述yolov7包括卷积层和损失函数,所述gsconv选用sc、dsc和shuffle混合卷积进行组合起来构建为一个新的卷积层,所述损失函数ciou更换为wiou,所述wiou的公式如下:
5.根据权利要求2所述的一种基于改进yolov7的钢材缺陷检测方法,其特征在于:所述gsconv用于替换yolov7中的原始conv使网络轻量化。
6.根据权利要求1所述的一种基于改进yolov7的钢材缺陷检测方法,其特征在于:基于上述步骤三所述dyhead模块将注意力函数转换为尺度注意力、空间注意力、任务注意力三个连续的注意力,所述注意力函数公式如下: