利索能及
我要发布
收藏
专利号: 2023111057500
申请人: 淮阴工学院
专利类型:发明专利
专利状态:已下证
更新日期:2026-10-10
缴费截止日期: 暂无
联系人

摘要:

权利要求书:

1.一种基于改进YOLOv5s网络的热轧钢带表面缺陷检测方法,其特征在于:步骤1、制作并划分数据集:

获取由东北大学发布的表面缺陷数据库的开源数据集,首先,将数据集制作成适用YOLOv5网络模型训练的yolo格式,其次,将数据集划分为训练集和验证集;

步骤2、模型改进:

搭建原始YOLOv5s的网络结构模型,将neck部分原结构改换为AFPN结构,选用GIoU作为损失函数,在YOLOv5s网络结构的第23层添加EffectiveSE卷积神经网络结构模块;

步骤3、训练模型:

使用步骤1中划分的训练集,输入到步骤2中搭建的改进前后YOLOv5s的网络结构模型中,并经过GPU进行训练,得到热轧钢带表面缺陷检测模型;

步骤4、热轧钢带表面缺陷检测:

将验证集输入到步骤3中训练出的热轧钢带表面缺陷检测模型中,利用测试结果对模型进行评价并获得训练好的模型,将待检测的热轧钢带表面图像输入训练好的模型并输出检测结果。

2.根据权利要求1所述的一种基于改进YOLOv5s网络的热轧钢带表面缺陷检测方法,其特征在于,步骤1具体包括:步骤1.1、获取开源数据集,在东北大学官网上获取由东北大学NEU发布的表面缺陷数据库的开源数据集,其中收集了划痕Sc、内含物In、点蚀表面PS、开裂Cr、斑块Pa和轧制氧化皮RS的六种热轧钢带表面典型缺陷,数据集中的图像经过灰度化处理,原始分辨率为200×

200像素,每个种类的缺陷样本有300个,共计1800张图像,其中,每个图片的缺陷标注中,黄色框是指示其位置的边框,绿色标签是类别分数;

步骤1.2、将步骤1.1中的开源数据集划分并制作成适用于YOLOv5目标检测模型训练的yolo格式,首先,随机将步骤1.1中的开源数据集划分为80%训练集和20%验证集,其次,在YOLOv5文件夹中的data目录下创建dataset文件夹,其中的子文件夹images中存放训练和验证的源图片数据集,子文件夹labels中存放训练和验证的标签数据文件,分别是train.txt、val.txt两个文件,存放训练集和验证集图片的名字。

3.根据权利要求1所述的一种基于改进YOLOv5s网络的热轧钢带表面缺陷检测方法,其特征在于,步骤2具体包括:步骤2.1、配置深度学习环境,搭建原始YOLOv5s模型,配置yolov5s所需环境时,使用的操作系统是Windows10,使用的框架为pytorch,使用的环境管理为anaconda,使用的IDE为pycharm,下载yolov5源代码是进入其开源网址,手动下载zip或是git clone远程仓库,下载的代码是YOLOv5的5.7版本,代码文件夹中的requirements.txt文件描述了模型所需要的安装包;

步骤2.2、将原始模型的neck部分的结构转换为AFPN结构,AFPN结构使跨越非相邻Level的直接特征的融合变得容易,在传输和交互的过程中防止特征信息的丢失和退化,为消除特征在不同层次之间的信息冲突,在多层次特征融合的操作过程中添加适应性空间融合,其中,在多层次特征融合的过程中,由于ASFF对不同层次的特征赋予的空间权重不同,因此关键层的重要性得以增强,而不同目标间信息矛盾的影响有所降低,3个Level的特征融合:表示位置(i,j)从 Level n到 Level l的特征向量, 表示结果特征向量,它是由多层次特征自适应的空间融合所得,通过 、 、 特征向量线性组合,如下:                (1)

其中, 、 、  表示3个Level在Level  l的特征分配的空间权重,受限制于;

步骤2.3、选用GIoU作为损失函数,GIoU是在IoU后添加一项,从而计算出预测框A与真实框B最小的外接矩形,由此来表示两个框之间距离,解决两个目标在交集不存在的情况下,即梯度为零时的问题,公式为:                                (2)                       (3)

其中,C为A和B两个框外接的最小矩形面积,

当 时:

                           (4)

当 时,表示A框和B框不存在交叉,此时A框和B框间距越大,GIOU的值越趋向于‑

1;当A框和B框重合时, ,因此,GIOU取值范围为(‑1, 1],当loss函数选用GIOU时:

                             (5)

当A框和B框不存在交集时, 没有变化,此时,将GIoU最大化,就是将C最小化,这样有助于A框和B框之间的距离不断变小;

步骤2.4、EffectiveSE是由多个模块组成的网络结构,它最核心模块是“通道注意力模块”,该模块由Squeeze部分和Excitation部分组成,Squeeze部分作为全局的平均池化层,主要作用是把各通道的特征映射压缩成一个标量,Excitation部分作为MLP,主要作用是学习各通道权值,将其与原始的特征映射相乘,从而得到加权特征映射,eSE仅使用了一个FC层,该FC层带有一个C通道,从而保持通道信息,提高性能,eSE过程定义为:                 (6)

                      (7)

其中, 是一个多样化特征图,它通过OSA模块的 运算所得,

作为一种通道注意特征描述符被应用到多样化特征图 中,使多样化特征更具有信息性,最后,当使用残差连接时,输入特征映射按照元素的顺序被添加进细化特征映射 中。

4.根据权利要求1所述的一种基于改进YOLOv5s网络的热轧钢带表面缺陷检测方法,其特征在于,步骤3具体包括:步骤3.1、配置yaml文件,首先,配置第一个yaml文件,YOLOv5s模型改进前后的配置一样,复制voc.yaml文件改成hg.yaml文件,将其放在yolov5‑master/data文件夹里,其中,path为数据集dataset的位置;train为训练集的位置;val为评估集的位置;names为数据集中类别的名字,由于数据标签是yolo格式的类别,所以仅有数字,因此需要做一个映射记录在此处,数据集共存在6个类别,分别是Sc、In、PS、Cr、Pa和RS,然后,配置第二个yaml文件,该文件位于models文件夹中,原始的YOLOv5s模型仅需要修改yolov5s.yaml文件中的nc为

6;改进后的YOLOv5s模型复制原始的yolov5s.yaml文件改成yolov5s_AFPN.yaml文件,除了需要将yolov5s.yaml文件中的nc修改为6,还需要按照步骤2中yolov5s模型的改进配置出yolov5s_AFPN.yaml文件;

步骤3.2、训练改进前后的YOLOv5s网络模型,先在yolov5开源网址下载预训练权重yolov5s.pt,然后在train.py文件里将weights的配置修改为yolov5s.pt,cfg修改为models文件夹里的yolov5s_AFPN.yaml文件,data修改为data文件夹里的hg.yaml文件,loss_category损失函数类别设置为GIoU,epochs训练轮数设置为200,batch‑size设置为

16,imgsz设置为640,workers设置为16,name训练结果文件夹的名字设置为exp,修改完成后使用步骤1中划分的表面缺陷数据集的训练集开始训练。

5.根据权利要求1所述的一种基于改进YOLOv5s网络的热轧钢带表面缺陷检测方法,其特征在于,步骤4具体包括:步骤4.1、热轧钢带表面缺陷检测:在步骤3的模型训练结束后,将自动使用步骤1中划分的表面缺陷数据集的验证集进行对修改后的模型进行检测,从而获取训练结果,训练结果中:F1_curve:表示F1分数和置信度的相关性,其中x轴为置信度,F1分数是一种分类度量,作为精确率与召回率的调和平均函数,取值范围为(0,1),分数值越高越好,其公式是:                          (8)

精确率=TP/(TP+FP)                              (9)召回率=TP/(TP+FN)                            (10)         (11)

P_curve:表示准确率和置信度之间的相关性,其中x轴为置信度,当置信度的数值越大时,准确率的数值也会随之增大,PR_curve:表示精准率和召回率之间的相关性,其中P是精准率,R是召回率,P‑R曲线所围面积是平均精确度,AP的数值越高则表示模型的性能越好,R_curve:表示召回率和置信度的相关性。