本发明属于图像检测及识别,具体涉及一种基于rdd-yolo算法的钢铁表面缺陷检测方法。
背景技术:
1、钢铁是最常见的原材料之一,它已广泛用于工业生产和制造业。在实际的工业生产过程中,钢铁表面很容易因腐蚀或变形而损坏。钢表面存在各种缺陷,如划痕、裂纹、补丁等。这些缺陷可能会导致加工机器产生异常振动和噪音,从而损坏机器或导致致命事故。因此,钢材的表面质量检测具有极其重要的意义。
2、目前物体表面缺陷检测大体分为两类,一类是传统方法;一类是深度学习方法。基于机器视觉的传统缺陷检测被应用于许多工业领域来取代人工视觉检测。机器视觉的检测过程包括特征提取和分类两个部分。然而,特征提取过度依赖于手动设计的算法,这可能导致缺陷检测方法的鲁棒性和泛化能力较差。
3、目前基于深度学习的物体表面缺陷检测方法主要分为两类:分别是单阶段检测和两阶段检测。两阶段检测检测精度较高,但由于其检测速度较慢及其模型参数量庞大,所以较难满足工业生产的实际需求。单阶段检测由于其能兼顾检测精度与速度,从而广泛应用在工业场景上。本方法基于单阶段yolo算法而提出,本发明重点针对检测精度进行了改进,并且增加了对小目标的检测能力。
技术实现思路
1、发明目的:本发明提供一种基于rdd-yolo算法的钢铁表面缺陷检测方法,用于复杂场景下钢铁表面缺陷检测,并且检测精度较传统的模型有较大的提升。
2、技术方案:本发明所述的一种基于rdd-yolo算法的钢铁表面缺陷检测方法,包括以下步骤:
3、(1)在带钢表面缺陷图像数据集获取数据样本,将数据样本以特定比例划分训练集与测试集;并对训练集中的图像进行预处理;
4、(2)构建基于rdd-yolo算法的钢铁表面缺陷检测模型,所述钢铁表面缺陷检测模包括backbone部分、neck部分和head部分;所述backbone部分使用res2net网络结构模块替换yolov5原始backbone网络中的模块csp-n;所述neck部分采用双重特征金字塔特征融合模块dfpn;所述head部分使用解耦头decoupledhead替换yolov5中原有的检测头;
5、(3)利用训练集对钢铁表面缺陷检测模型进行训练,获取最优检测模型;
6、(4)利用训练得到的最优检测模型对测试集中的图片进行检测;
7、(5)对测试集的检测结果进行检测精度和速度评价;评价指标包括全类平均精度map和每秒检测帧数fps。
8、进一步地,步骤(1)所述对训练集中的图像进行预处理包括马赛克数据增强、自适应锚框计算和自适应图片缩放。
9、进一步地,步骤(2)所述使用res2net网络结构模块替换yolov5原始backbone网络中的模块csp-n具体实现过程如下:
10、在一个res2net模块中,首先将模块的输入通过一个1×1的卷积核用来调整特征图的维度,接着将输入通道c的特征图划为s等分,分别为x1,x2,x3和x4;对x1不做任何操作直接将其映射到y1部分,x2经过一个3×3的卷积滤波后映射到y2部分,同时与x3进行合并操作,经过与x3对应的3×3卷积核进行卷积操作,将输出映射到y3,同时把这部分结果与x4合并,再经过与x4对应的3×3卷积核进行卷积操作,将输出映射到y4;最后把y1,y2,y3,y4进行concat拼接操作,最后再经过一个1×1的卷积核将特征图的维度还原,与输入维度保持一致。
11、进一步地,步骤(2)所述双重特征金字塔特征融合模块dfpn由两个部分组成,以spp模块为界,左边部分是yolov5原有的颈部结构,spp模块及其右边的部分是额外增加的部分;首先特征图经过原有的颈部部分得到的三个不同尺寸的特征图;接着这三个尺寸的特征图通过spp模块进行最大池化操作,然后选取尺寸最小的特征图对其进行一系列的上采样和下采样操作后得到和左半部分三个相同尺度的特征图,同时,在送往预测层的过程中把原有的spp模块的输出和这三个尺度的特征图进行一个残差连接。
12、进一步地,步骤(2)所述head部分使用解耦头decoupled head替换yolov5原有的检测头实现过程如下:
13、在解耦头decoupled head中,将分类任务和定位任务分离开;首先三个不同尺度的特征图通过一个1×1的卷积核,调整维度;然后分别经过两个子分支分离分类与定位任务,接着经过卷积操作后,再把定位任务中的获取定位框位置与置信度再进行分离;最后将分类结果、定位框位置以及置信度得分分别输出。
14、有益效果:与现有技术相比,本发明的有益效果:本发明使用res2net模块替换原始骨干网络以增强网络的特征提取能力;设计dfpn结构以充分运用网络中的信息,融合更多的特征;使用解耦头结构替换原有的检测头,使得模型分类与检测更加精准;可用于对复杂场景下钢铁表面缺陷检测,并且检测精度较传统的模型有较大的提升。
1.一种基于rdd-yolo算法的钢铁表面缺陷检测方法,其特征在于,包括以下步骤:
2.根据权利要求1所述的一种基于rdd-yolo算法的钢铁表面缺陷检测方法,其特征在于,步骤(1)所述对训练集中的图像进行预处理包括马赛克数据增强、自适应锚框计算和自适应图片缩放。
3.根据权利要求1所述的一种基于rdd-yolo算法的钢铁表面缺陷检测方法,其特征在于,步骤(2)所述使用res2net网络结构模块替换yolov5原始backbone网络中的模块csp-n具体实现过程如下:
4.根据权利要求1所述的一种基于rdd-yolo算法的钢铁表面缺陷检测方法,其特征在于,步骤(2)所述双重特征金字塔特征融合模块dfpn由两个部分组成,以spp模块为界,左边部分是yolov5原有的颈部结构,spp模块及其右边的部分是额外增加的部分;首先特征图经过原有的颈部部分得到的三个不同尺寸的特征图;接着这三个尺寸的特征图通过spp模块进行最大池化操作,然后选取尺寸最小的特征图对其进行一系列的上采样和下采样操作后得到和左半部分三个相同尺度的特征图,同时,在送往预测层的过程中把原有的spp模块的输出和这三个尺度的特征图进行一个残差连接。
5.根据权利要求1所述的一种基于rdd-yolo算法的钢铁表面缺陷检测方法,其特征在于,步骤(2)所述head部分使用解耦头decoupled head替换yolov5原有的检测头实现过程如下: