一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于改进YOLOv5的热轧带钢表面缺陷检测方法

2022-12-02 22:32:46 来源:中国专利 TAG:

一种基于改进yolov5的热轧带钢表面缺陷检测方法
技术领域
1.本发明涉及机器视觉领域,特别是涉及一种基于改进yolov5的热轧带钢表面缺陷检测方法。


背景技术:

2.钢铁产业是我国国民经济能够快速发展的重要基础。为了将炼钢厂生产的钢坯加工成所需要的形状,同时改善钢的内部质量,需要利用不同的轧机反复进行轧制,但由于轧制设备、工作环境以及工艺技术等原因,使得带钢表面容易产生各种缺陷,不仅影响带钢的外观,还降低了产品耐磨和抗腐蚀等特性。传统的热轧带钢表面缺陷检测方法主要靠人工进行识别,但是由于轧制过程是连续不间断的作业,人工检测难以达到实时24小时不间断生产的要求。因此,非常有必要开发高效、准确的缺陷自动检测系统,以便及时识别缺陷,提高带钢生产质量。
3.近年来,以深度目标检测算法为基础的机器视觉已经在自动缺陷检测中得到广泛应用,研究者也开始将目标检测算法应用于带钢缺陷检测中,其中大部分算法以yolo系列目标检测为主,比如李一鸣等人(李一鸣,王潇.基于yolov5s模型的轧钢表面缺陷检测[j].制造业自动化,2021,43(11):117-119.)以yolo系列最新版本yolov5s为模型,在轧钢表面缺陷检测中取得了77.76%的检测精度。虽然yolov5已经成功地应用于各种产品的缺陷检测系统中,但由于热轧带钢缺陷具有缺陷类型、大小不一致等特点,现有yolov5模型对于微小缺陷的检测精度仍有很大的改进空间。


技术实现要素:

[0004]
基于此,本发明的目的在于,提供一种基于改进yolov5的热轧带钢表面缺陷检测方法,能够增强yolov5模型对缺陷目标特征提取能力,同时降低漏检率和误检率。
[0005]
本发明提供一种基于改进yolov5的热轧带钢表面缺陷检测方法,包括以下步骤:
[0006]
s1:构造改进yolov5模型;
[0007]
s11:在yolov5模型的主干网络模块和外加模块之间引入多个坐标注意力(coordinate attention,ca)机制,ca机制用于将输入的特征张量f
in
分别经过x方向平均池化和y方向平均池化,在获得两组池化特征后进行拼接,所得向量经过1
×
1卷积和非线性激活函数,得到通道编码后输出张量f,将张量f沿空间两个方向继续分解成两个方向张量fh和fw,在分别经过两个1
×
1卷积和sigmoid激活函数后展开成与原f
in
相同维度的张量,最后进行像素相乘后可得输出特征f
out

[0008]
s12:对yolov5模型的检测模块进行解耦,解耦后的检测头用于将从外加模块输出的特征张量通过一个1
×
1的卷积层操作,将通道数减少为256,然后分成两个分支,分别经过两层3
×
3的卷积层,其中一个分支再经过1
×
1的卷积层后做目标类别检测,另一分支上则分别做坐标和背景检测;
[0009]
s2:对改进yolov5模型进行训练;
[0010]
s3:使用训练好的改进yolov5模型进行热轧带钢的表面缺陷检测。
[0011]
进一步地,在yolov5模型的主干网络和外加模块之间引入三个坐标注意力机制,位置分别位于cps2_x以及主干网络的第七层和第五层。
[0012]
进一步地,所述对改进yolov5模型进行训练,包括以下步骤:
[0013]
获取现有的热轧带钢表面缺陷数据集;
[0014]
将所述数据集随机划分为训练集和测试集;
[0015]
设置所述改进yolov5模型的超参数权重;
[0016]
将所述训练集输入设置好参数的改进yolov5模型进行训练;
[0017]
使用所述测试集对训练后的改进yolov5模型进行测试验证,得到训练好的改进yolov5模型。
[0018]
进一步地,对所述训练集进行数据增广处理,使用数据增广后的训练集对改进yolov5模型进行训练。
[0019]
进一步地,采用改良的mosaic方法进行数据增广处理,具体步骤如下:
[0020]
随机抽取所述训练集的图片进行裁剪,在裁剪过程中,避免切割重要的目标区;
[0021]
对裁剪后的图片进行拼接,拼接时将图片粘贴到背景区域。
[0022]
进一步地,所述设置所述改进yolov5模型的超参数权重,包括:
[0023]
以map作为适应度,采用遗传算法(geneticalgorithm,ga)对所述改进yolov5超参数进行寻优,通过改变参数使得适度值最大,具体步骤如下:
[0024]
a1:在各个参数的优化空间内随机选取一组参数作为染色体,通过交叉(相互交换两个参数组内的参数)和变异(改变参数组内的参数)算子,产生初始化种群;
[0025]
a2:根据选择算子,选择最大适应度的染色体,重新经过交叉和变异算子生成新的种群;
[0026]
a3:重复a2步骤,直到满足设置好的循环次数。
[0027]
进一步地,所述将所述数据集随机划分为训练集和测试集,包括:
[0028]
将所述数据集按照8:2的比例将数据随机划分为训练集和测试集。
[0029]
进一步地,所述使用所述测试集对训练后的改进yolov5模型进行测试验证,包括:
[0030]
采用map(meanaverageprecision)作为所述改进yolov5模型的检测精度评价标准,其计算公式为:
[0031][0032]
其中p表示查准率(precise),r表示查全率(recall),tp表示真正例,fp表示假正例,tn表示真反例,fn表示假反例,n为所有类别总数。
[0033]
进一步地,训练时的实验平台硬件配置为:cpu i7-10700;ram 32gb;gpu rtx3060-12g;软件配置为:ubantu20.04系统;pytorch1.10.2 cuda11.3。
[0034]
本发明提供的一种基于改进yolov5的热轧带钢表面缺陷检测方法,在原yolov5模型的主干网络和外加模块之间引入坐标注意力机制,使网络能够在复杂背景环境下更专注于缺陷目标特征的有效提取,特别是微小缺陷的提取;同时将原检测模块的检测头进行解耦,能够增强检测分支的表达能力,提升网络结构对缺陷目标的检测能力;在改进yolov5模
型训练时通过数据增广和超参优化,使得改进yolov5网络结构更适应于表面缺陷检测。在neu-det热轧带钢表面缺陷检测数据集验证结果表明,本文算法比其他算法能够更有效地提升检测精度,降低漏检率,具有较强的鲁棒性。
[0035]
为了更好地理解和实施,下面结合附图详细说明本发明。
附图说明
[0036]
图1为yolov5模型的主干网络的结构示意图;
[0037]
图2为yolov5模型的外加模块的结构示意图;
[0038]
图3为本发明提供的一种基于改进yolov5的热轧带钢表面缺陷检测方法的流程示意图;
[0039]
图4为本发明提供的改进yolov5模型的坐标注意力机制示意图;
[0040]
图5为本发明提供的改进yolov5模型的解耦头结构示意图;
[0041]
图6为本发明提供的改进yolov5模型的网络结构示意图;
[0042]
图7(a)为原标注真值图;
[0043]
图7(b)为对照的原yolov5s模型的检测结果图;
[0044]
图7(c)为本发明提供的改进yolov5模型的检测结果图;
[0045]
图8(a)为原标注真值图;
[0046]
图8(b)为对照的原yolov5s模型的检测结果图;
[0047]
图8(c)为本发明提供的改进yolov5模型的检测结果图;
[0048]
图9(a)为原标注真值图;
[0049]
图9(b)为对照的原yolov5s模型的检测结果图;
[0050]
图9(c)为本发明提供的改进yolov5模型的检测结果图。
具体实施方式
[0051]
为使本技术的目的、技术方案和优点更加清楚,下面将结合附图对本技术实施例方式作进一步地详细描述。
[0052]
应当明确,所描述的实施例仅仅是本技术实施例一部分实施例,而不是全部的实施例。基于本技术实施例中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本技术实施例保护的范围。
[0053]
在本技术实施例使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本技术实施例。在本技术实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
[0054]
下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本技术相一致的所有实施方式。相反,它们仅是如所附权利要求书中所详述的、本技术的一些方面相一致的装置和方法的例子。在本技术的描述中,需要理解的是,术语“第一”、“第二”、“第三”等仅用于区别类似的对象,而不必用于描述特定的顺序或先后次序,也不能理解为指示或暗示相对重要性。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本技术中的具体含义。
[0055]
此外,在本技术的描述中,除非另有说明,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
[0056]
针对背景技术中的问题,本技术实施例提供一种基于改进yolov5的热轧带钢表面缺陷检测方法,yolo系列算法为一阶段(one-stage)目标检测,即在检测端直接预测目标的位置和类别。yolov5在主干网络上采用focus切片操作以提高训练和检测速度,同时使用不同深度的残差模块以满足不同速度精度要求,在外加模块和检测模块也借鉴了深度学习领域的优化策略,比如dropblock、mosaic数据增广和ciou损失函数等,有效地提高了算法的精度和速度。yolov5模型的网络结构主要包括四个模块,分别是输入端、主干网络(backbone)、外加模块(neck)和检测模块(prediction)。
[0057]
如图1所示,在一个具体的例子中,主干网络的第一层为focus层,作用是将输入的图片进行切片操作,然后进行等间隔采样,对于608
×
608
×
3大小的图片经过切片后变为304
×
304
×
12的特征图,再经过相同的卷积核进行卷积操作。第二层为cbl层,它是由卷积层(conv)、归一化层(bn)和激活函数层(leaky relu)所构成的基本操作单位。对于csp1_x层主要通过x组残差模块增加反向传播的梯度值,避免网络退化。按照残差模块组数的不同,yolov5分成:s、m、l和x四种模型,对应的残差组数x分别为:1、2、3和4。随着x的增多,网络结构也不断加深,网络的特征提取能力和融合能力也不断增强。最后一层为空间金字塔池化层(spatial pyramid pooling layer,spp),通过三个不同步长的池化层在空间金字塔进行最大池化操作,然后与原特征层进行拼接,实现多尺度融合,最大限度地保存不同尺度物体的特征。
[0058]
如图2所示,在外加模块部分,由于在外加模块的网络较浅,csp2_x利用两层cbl层替换csp1_x的残差组件,降低网络训练难度。与主干网络类似,yolov5的s、m、l和x四种模型,对应的残差组数x分别为:1、2、3和4。对从主干网络输入的第五层、第七层和第九层采用特征金字塔网络(feature pyramid networks,fpn)形式,自顶向下将高层的特征信息经过上采样后,与低层特征进行融合,从而补充低层网络语义信息,以获得高分辨率、强语义特征。在输向检测模块之前,采用路径聚合网络(path aggregation network,pan)自底向上的将低层信息往高层传播,从而帮助高层更好地提取语义信息。
[0059]
在检测模块部分,通过完全交并比(complete intersection over union,ciou)损失函数和非极大值抑制(non maximum suppression,nms)以获取最佳检测框。ciou损失函数的定义如下:
[0060][0061]
其中,ρ2(b,b
gt
)表示预测框b与真值框b
gt
之间的欧氏距离,c表示预测框和真值框并集对角线距离,υ为两个框相对比例一致性系数,其计算公式为:
[0062][0063]
其中,w
gt
和h
gt
分别表示真实框的宽和高,w和h分别表示检测框的宽和高,真实框和预测框的宽高比越接近,则υ越接近0。
[0064]
本技术实施例提供的一种基于改进yolov5的热轧带钢表面缺陷检测方法,如图3
所示,包括以下步骤:
[0065]
s1:构造改进yolov5模型;
[0066]
s11:在yolov5模型的主干网络模块和外加模块之间引入多个坐标注意力(coordinate attention,ca)机制,ca机制用于将输入的特征张量f
in
分别经过x方向平均池化和y方向平均池化,在获得两组池化特征后进行拼接,所得向量经过1
×
1卷积和非线性激活函数,得到通道编码后输出张量f,将张量f沿空间两个方向继续分解成两个方向张量fh和fw,在分别经过两个1
×
1卷积和sigmoid激活函数后展开成与原f
in
相同维度的张量,最后进行像素相乘后可得输出特征f
out

[0067]
具体的,坐标注意力机制示意图如图4所示,假设输入ca机制的特征张量为将特征张量f
in
分别经过x方向平均池化(x average pooling)和y方向平均池化(x average pooling),获得两组池化特征后进行拼接,所得向量经过1
×
1卷积和非线性激活函数,得到通道编码后输出张量具体计算公式为:
[0068]
f=δ(f1×1[xavgpool(f
in
),yavgpool(f
in
)])
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(3)
[0069]
其中,c表示向量的通道数,h和w分别表示向量的长和宽,r为压缩率,xavgpool和yavgpool分别表示x和y方向平均池化运算,f1×1表示1
×
1卷积运算,δ表示非线性激活函数。
[0070]
随后将f沿空间两个方向继续分解成两个方向张量和在fh和fw分别经过1
×
1卷积和sigmoid激活函数运算后展开成与原f
in
相同维度的张量,最后进行像素相乘后可得输出特征f
out
,其计算公式如下:
[0071][0072]
其中,σ表示sigmoid激活函数运算,表示逐元素运算。
[0073]
在一个优选的实施例中,本技术在yolov5模型的主干网络和外加模块之间引入三个坐标注意力机制,位置分别位于cps2_x以及主干网络的第七层和第五层,坐标注意力机制将水平和垂直两个方向的聚合特征嵌入到通道信息中,在捕捉空间信息的同时,保留目标平面位置的精确信息,从而生成对目标方向和位置都敏感的坐标感知特征图,能够使网络更加关注于目标特征提取,特别是复杂背景下的小目标特征。
[0074]
s12:对yolov5模型的检测模块进行解耦,解耦后的检测头用于将从外加模块输出的特征张量通过一个1
×
1的卷积层操作,将通道数减少为256,然后分成两个分支,分别经过两层3
×
3的卷积层,其中一个分支再经过1
×
1的卷积层后做目标类别检测,另一分支上则分别做坐标和背景检测。
[0075]
解耦头结构如图5所示,yolov5模型的检测头为一个维度为h'
×
w'
×
c'的张量,其中h'和w'分别为特征图的高和宽,c'=anchor
×
(cls 4 1),anchor表示预先设置的锚框个数,cls表示所检测数据集的类别数。对yolov5模型的检测头进行解耦,能够增强检测分支的表达能力,进一步提升yolov5模型对缺陷目标的检测能力。
[0076]
s2:对改进yolov5模型进行训练;
[0077]
根据改进yolov5模型的网络结构,利用迁移学习的思想对网络结构进行训练。
[0078]
s3:使用训练好的改进yolov5模型进行热轧带钢的表面缺陷检测。
[0079]
获取待检测的热轧带钢图像,将待检测的热轧带钢图像输入训练好的改进yolov5模型,得到热轧带钢图像对应缺陷的检测结果,结果可包括缺陷类型、缺陷位置和缺陷置信
度等,通过的改进yolov5模型的网络结构如图6所示。
[0080]
在一个具体的例子中,所述对改进yolov5模型进行训练,包括以下步骤:
[0081]
s21:获取现有的热轧带钢表面缺陷数据集;
[0082]
优选的,本技术实施例采用了东北大学公布的热轧带钢表面缺陷数据集(neu-det),该数据集包含结疤(rolled-in scale)、斑块(patches)、开裂(crazing)、点蚀(pitted surface)、夹杂(inclusion)和划痕(scratches)等六种缺陷,每种缺陷类型各有300张200
×
200像素图片,总共1800张图片。
[0083]
s22:将所述数据集随机划分为训练集和测试集;
[0084]
优选的,实验中按照8:2的比例将数据随机划分为训练集和测试集,即有1440张训练图和360张测试图,每种缺陷类型的数据分布如表1所示,在其他例子中,也可以按照其他比例划分训练集和测试集。
[0085][0086]
表1缺陷类型数据分布
[0087]
优选的,对所述训练集进行数据增广处理,使用数据增广后的训练集对改进yolov5模型进行训练。数据增广方式采用改良的mosaic方法进行,具体步骤如下:
[0088]
随机抽取所述训练集的图片进行裁剪,在裁剪过程中,避免切割重要的目标区;
[0089]
对裁剪后的图片进行拼接,拼接时将图片粘贴到背景区域。
[0090]
通过改良的mosaic方法扩充数据集,能够提高数据集的质量的同时,使原图像的重要目标区域得到保留,进一步提升网络检测能力。
[0091]
s23:设置所述改进yolov5模型的超参数权重;
[0092]
yolov5有初始学习率、学习策略参数、梯度下降动量等30个超参数,针对数据集大小和类别的不同,需要采用相应的优化超参数集。由于超参数个数多,导致参数空间搜索维度高,且各参数之间的相关性弱,每个适应度(fitness)点的评估计算复杂度高。为了提高优化的鲁棒性,降低计算复杂度,本技术以map作为适应度,采用遗传算法(geneticalgorithm,ga)对所述改进yolov5模型超参数进行寻优,通过改变参数使得适度值最大,具体步骤如下:
[0093]
a1:在各个参数的优化空间内随机选取一组参数作为染色体,通过交叉(相互交换两个参数组内的参数)和变异(改变参数组内的参数)算子,产生初始化种群;
[0094]
a2:根据选择算子,选择最大适应度的染色体,重新经过交叉和变异算子生成新的
种群;
[0095]
a3:重复a2步骤,直到满足设置好的循环次数。
[0096]
交叉和变异算子能够避免局部寻优,选择算子能够控制种群往最优解移动,因此能够快速搜索到最优的超参数组合。
[0097]
s24:将所述训练集输入设置好参数的改进yolov5模型进行训练;
[0098]
优选的,训练时采用数据增广后的训练集,基于上述改进yolov5模型,训练时实验平台硬件配置为:cpu i7-10700;ram 32gb;gpu rtx3060-12g;软件配置为:ubantu20.04系统;pytorch1.10.2 cuda11.3。
[0099]
s25:使用所述测试集对训练后的改进yolov5模型进行测试验证,得到训练好的改进yolov5模型。
[0100]
优选的,本技术采用map(meanaverageprecision)作为所述改进yolov5模型的检测精度评价标准,其计算公式为:
[0101][0102]
其中,p表示查准率(precise),r表示查全率(recall),tp表示真正例,fp表示假正例,tn表示真反例,fn表示假反例,n为所有类别总数。
[0103]
本发明采用测试集对训练后的模型进行测试,测试对象包括基于语义分割的seg-detection-net、基于残差网络的cadn、yolo系列检测算法以及本发明提供的改进yolov5模型。测试结果如表2所示,改进yolov5模型的map达到84.36%,远超过其他五种算法。对比于原yolov5模型,本发明的平均精度有6.68%的提升,进一步证明了改进模型的有效性。在六种缺陷类型中,本发明对夹杂、点蚀、划痕和斑块的检测精度都超过80%,其中斑块的精度达96.48%,由于这些缺陷类型特征明显,深度网络能够捕捉到高层语义信息,实现精确地检测。对于开裂和结疤缺陷,本文方法的检测精度只有66.11%和73.65%,这是因为这两种类型缺陷与背景较为相似,而且检测框和标注框都为矩形,在特征聚合时容易与背景像素融合,导致检测精度下降。
[0104][0105]
表2六种检测方法的精度对比
[0106]
如图7-9为结果检测图,每组图的(a)为原标注真值图,(b)为原yolov5s模型检测结果,(c)为本文改进yolov5模型的检测结果,可以看出,原yolov5s模型检测结果均出现漏
检情况,比如图7漏检了开裂缺陷,图8漏检右边的点蚀缺陷,图9漏检了上半部分的结疤缺陷。而本技术中的改进yolov5模型不仅能够将以上缺陷全部检测,同时对于检出缺陷的置信度高于原yolov5模型,如图9中,本发明的结疤缺陷置信度为0.85,高于原yolov5模型的0.57。改进后的算法不仅能够在提取复杂背景下更的小目标特征,并且对于大目标的置信率也有显著的提高,能够有效减低误检率和漏检率。
[0107]
本发明提供的一种基于改进yolov5的热轧带钢表面缺陷检测方法,在原yolov5模型的主干网络和外加模块之间引入坐标注意力机制,使网络能够在复杂背景环境下更专注于缺陷目标特征的有效提取,特别是微小缺陷的提取;同时将原检测模块的检测头进行解耦,能够增强检测分支的表达能力,提升网络结构对缺陷目标的检测能力;在改进yolov5模型训练时通过数据增广和超参优化,使得改进yolov5网络结构更适应于表面缺陷检测。在neu-det热轧带钢表面缺陷检测数据集验证结果表明,本文算法比其他算法能够更有效地提升检测精度,降低漏检率,具有较强的鲁棒性。
[0108]
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献