CN117132827A - 基于改进YOLOv5s网络的热轧钢带表面缺陷检测方法 - Google Patents
基于改进YOLOv5s网络的热轧钢带表面缺陷检测方法 Download PDFInfo
- Publication number
- CN117132827A CN117132827A CN202311105750.0A CN202311105750A CN117132827A CN 117132827 A CN117132827 A CN 117132827A CN 202311105750 A CN202311105750 A CN 202311105750A CN 117132827 A CN117132827 A CN 117132827A
- Authority
- CN
- China
- Prior art keywords
- model
- yolov5s
- training
- network
- rolled steel
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 230000007547 defect Effects 0.000 title claims abstract description 60
- 229910000831 Steel Inorganic materials 0.000 title claims abstract description 44
- 238000001514 detection method Methods 0.000 title claims abstract description 44
- 239000010959 steel Substances 0.000 title claims abstract description 44
- 238000000034 method Methods 0.000 claims abstract description 25
- 238000013527 convolutional neural network Methods 0.000 claims abstract description 7
- 238000012549 training Methods 0.000 claims description 57
- 230000006872 improvement Effects 0.000 claims description 29
- 238000012795 verification Methods 0.000 claims description 23
- 230000004927 fusion Effects 0.000 claims description 17
- 230000006870 function Effects 0.000 claims description 16
- 238000012360 testing method Methods 0.000 claims description 16
- 238000004519 manufacturing process Methods 0.000 claims description 12
- 230000008569 process Effects 0.000 claims description 9
- 239000013598 vector Substances 0.000 claims description 9
- 230000003044 adaptive effect Effects 0.000 claims description 6
- 238000013135 deep learning Methods 0.000 claims description 6
- 241000512668 Eunectes Species 0.000 claims description 3
- 230000005540 biological transmission Effects 0.000 claims description 3
- 230000015556 catabolic process Effects 0.000 claims description 3
- 238000006731 degradation reaction Methods 0.000 claims description 3
- 238000011156 evaluation Methods 0.000 claims description 3
- 238000009434 installation Methods 0.000 claims description 3
- 230000003993 interaction Effects 0.000 claims description 3
- 238000012986 modification Methods 0.000 claims description 3
- 230000004048 modification Effects 0.000 claims description 3
- 238000011176 pooling Methods 0.000 claims description 3
- 238000012545 processing Methods 0.000 claims description 3
- 238000005336 cracking Methods 0.000 claims 1
- 238000005096 rolling process Methods 0.000 claims 1
- 230000002860 competitive effect Effects 0.000 abstract 1
- 238000010586 diagram Methods 0.000 description 5
- 238000004364 calculation method Methods 0.000 description 4
- 238000011161 development Methods 0.000 description 4
- 238000011160 research Methods 0.000 description 3
- 238000010200 validation analysis Methods 0.000 description 3
- 238000012935 Averaging Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000002474 experimental method Methods 0.000 description 2
- 238000002372 labelling Methods 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 230000000750 progressive effect Effects 0.000 description 2
- 206010063385 Intellectualisation Diseases 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000009776 industrial production Methods 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/764—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/0464—Convolutional networks [CNN, ConvNet]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/40—Extraction of image or video features
- G06V10/42—Global feature extraction by analysis of the whole pattern, e.g. using frequency domain transformations or autocorrelation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/77—Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
- G06V10/774—Generating sets of training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/77—Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
- G06V10/776—Validation; Performance evaluation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/77—Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
- G06V10/80—Fusion, i.e. combining data from various sources at the sensor level, preprocessing level, feature extraction level or classification level
- G06V10/806—Fusion, i.e. combining data from various sources at the sensor level, preprocessing level, feature extraction level or classification level of extracted features
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/82—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/30—Computing systems specially adapted for manufacturing
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Computing Systems (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Software Systems (AREA)
- Multimedia (AREA)
- Databases & Information Systems (AREA)
- Medical Informatics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Molecular Biology (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Image Analysis (AREA)
Abstract
本发明公开了一种基于改进YOLOv5s网络的热轧钢带表面缺陷检测方法,该方法使用YOLOv5s目标检测模型作为基础,在此基础上提出一种改进的YOLOv5s网络模型。首先,将neck部分的结构改换为AFPN结构,实验结果表明该结构与其他最先进的特征金字塔网络相比较更具竞争力,而且每秒浮点运算(FLOPs)也最低,并在较低参数下达到了比Baseline更好的性能。其次,使用GIoU损失函数,其不仅关注重合区域,还关注其他非重合区域,更好的反映了两者的重合程度,并且当IoU=0时,两个框之间的距离仍然很好的表示出来。最后,添加注意力机制模块,选用EffectiveSE卷积神经网络结构加入YOLOv5s网络中,实验表明它与SENet等经典网络结构相比分类精度更高、收敛速度更快。本发明所提出的方法在原始网络基础上有效提升了模型对热轧钢带表面缺陷检测的性能,降低了模型的参数量和计算量,缩短了模型的推理时间。
Description
技术领域
本发明专利技术属于目标检测技术领域,具体涉及一种基于改进YOLOv5s模型的热轧钢带表面缺陷检测方法。
背景技术
钢材作为现代工业技术的主要发展材料,伴随工业生产能力的不断提高,它被广泛应用于建筑业、海洋工程和航空航天工程等领域,并对钢材质量的要求也变得更加严格。然而,受到钢材生产的技术限制,在生产制造的过程中难免会出现各种表面缺陷,如划痕、裂缝、凹面等。这些钢材的表面缺陷不仅影响了产品的外观,还会使钢材的耐磨性、韧性等各种性能有所下降,且缩短了钢材使用寿命。因此,分析和了解怎样提升钢材表面的质量是现代钢材的生产商迫切需要解决的一个重要问题。
近年来,伴随着机器视觉算法的迅速发展,利用相机获取图像的基于视觉的自动检测技术被广泛应用于表面缺陷检测。这些算法大致可分为基于图像结构特征的传统方法、基于统计特征的机器学习方法和基于卷积神经网络的深度学习方法三种。
基于深度学习的缺陷检测方法将成为今后缺陷检测发展的主要方向。虽然目标检测算法如今已经有了很大的进步,但缺陷检测算法在当前实际生产过程中的实现仍然存在着许多挑战,还有很多问题需要解决。
研究表面缺陷检测大致可分为基于机器视觉的检测、x射线检测、超声波检测、红外检测、涡流检测和人工检测等几个领域。近年来,深度学习技术取得了爆发性的发展,它与其他检测方法相比较更准确、更健壮。它在提高产品质量方面发挥着重要作用。基于机器视觉的产品瑕疵识别算法的研究对于智能化生产线的发展起着关键性的作用,同时也是工业制造智能化的重要一步。因此,使用机器视觉算法对产品缺陷进行检测的研究有着重要的现实意义,并且对实现工业产品的智能化制造起着重要的理论意义和实际价值。
发明内容
本发明目的是提升原始的yolov5s网络模型对小目标检测的性能,尤其是对热轧钢带表面缺陷检测的性能,提供一种基于改进YOLOv5s网络的热轧钢带表面缺陷检测方法,降低了模型的参数量和计算量,缩短了模型的推理时间。
本发明所提方法是利用以下叙述的技术方案所实现:
一种基于改进YOLOv5s网络的热轧钢带表面缺陷检测方法,具体步骤依据如下所述实施:
步骤1、制作并划分数据集:
获取由东北大学(NEU)发布的表面缺陷数据库的开源数据集。首先,将数据集制作成适用YOLOv5网络模型训练的yolo格式。其次,将数据集划分为训练集和验证集。
步骤2、模型改进:
搭建原始YOLOv5s的网络结构模型,基于YOLOv5s网络模型,将neck部分原结构改换为AFPN结构,选用GIoU作为损失函数,添加EffectiveSE卷积神经网络结构模块。
步骤3、训练模型:
使用步骤1中划分的表面缺陷数据集的训练集,输入到步骤2中搭建的改进前后YOLOv5s的网络结构模型中,并经过GPU进行训练,得到热轧钢带表面缺陷检测模型。
步骤4、热轧钢带表面缺陷检测:
验证集输入到步骤3中训练出的热轧钢带表面缺陷检测模型中,利用测试结果对模型进行评价并获得训练好的模型,将待检测的热轧钢带表面图像输入训练好的模型并输出检测结果。
步骤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两个文件,存放训练集和验证集图片的名字(无后缀.jpg)。
步骤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的直接特征的融合变得容易,在传输和交互的过程中防止特征信息的丢失和退化。为消除特征在不同层次之间的信息冲突,在多层次特征融合的操作过程中添加适应性空间融合。使用MS COCO 2017的验证集以及测试集对AFPN进行多项实验,结果表明,该方法相较于其他特征金字塔网络,其计算效率更为卓越且竞争力更强。
其中,在多层次特征融合的过程中,由于ASFF对不同层次的特征赋予的空间权重不同,因此关键层的重要性得以增强,而不同目标间信息矛盾的影响有所降低。例如,3个Level的特征融合:
xij n→l表示位置(i,j)从Leveln到Level l的特征向量。yij l表示结果特征向量,它是由多层次特征自适应的空间融合所得,通过xij 1→l、xij 2→l、xij 3→l特征向量线性组合,如下:
其中,表示3个Level在Level l的特征分配的空间权重,受限制于
步骤2.3、选用GIoU作为损失函数。GIoU是在IoU后添加一项,从而计算出预测框(A)与真实框(B)最小的外接矩形,由此来表示两个框之间距离,解决两个目标在交集不存在的情况下,即梯度为零时的问题,公式为:
其中,C为A和B两个框外接的最小矩形面积。
当IOU=0时:
当IOU=0时,表示A框和B框不存在交叉,此时A框和B框间距越大,GIOU的值越趋向于-1;当A框和B框重合时,GIOU=1。因此,GIOU取值范围为(-1,1]。
当loss函数选用GIOU时:
LGIoU=1-GIoU (5)
当A框和B框不存在交集时,A∪B没有变化。此时,将GIoU最大化,就是将C最小化,这样有助于A框和B框之间的距离不断变小。
步骤2.4、在YOLOv5s网络结构的第23层添加EffectiveSE卷积神经网络结构模块。EffectiveSE是由多个模块组成的网络结构,它最核心模块是“通道注意力模块”,该模块由Squeeze部分和Excitation部分组成。Squeeze部分作为全局的平均池化层,主要作用是把各通道的特征映射压缩成一个标量。Excitation部分作为MLP(多层感知器),主要作用是学习各通道权值,将其与原始的特征映射相乘,从而得到加权特征映射。
eSE(Effective SE)仅使用了一个FC层,该FC层带有一个C通道,从而保持通道信息,提高性能。eSE过程定义为:
AeSE(Xdiv) =σ(WC(Fgap(Xdiv))) (6)
其中,是一个多样化特征图,它通过OSA模块的1×1conv运算所得。作为一种通道注意特征描述符被应用到多样化特征图Xdiv中,使多样化特征更具有信息性。最后,当使用残差连接时,输入特征映射按照元素的顺序被添加进细化特征映射Xrefine中。
步骤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中划分的表面缺陷数据集的训练集开始训练。
步骤4具体包括:
步骤4.1、热轧钢带表面缺陷检测:在步骤3的模型训练结束后,将自动使用步骤1中划分的表面缺陷数据集的验证集进行对修改后的模型进行检测,从而获取结果。测试结果显示如表1:
表1yolov5网络模型改进前后对比
F1_curve:表示F1分数和置信度的相关性,其中x轴为置信度。F1分数是一种分类度量,作为精确率与召回率的调和平均函数,取值范围为(0,1),分数值越高越好。其公式是:
精确率(precision)=TP/(TP+FP) (9)
召回率(Recall)=TP/(TP+FN) (10)
F1=2*(精确率*召回率)/(精确率+召回率) (11)
P_curve:表示准确率和置信度之间的相关性,其中x轴为置信度。当置信度的数值越大时,准确率的数值也会随之增大。
R_curve:表示召回率和置信度的相关性。
PR_curve:表示精准率和召回率之间的相关性,其中P是精准率(precision),R是召回率(recall)。P-R曲线所围面积是平均精确度(Average precision,即AP)。AP的数值越高则表示模型的性能越好。
根据测试结果可得,P_curve、R_curve、F1_curve的值均有所提升,其中PR_curve的个别类的值有所提升,个别类的值有所下降,但是其mAP@0.5的值有所提升。此外,原始模型的FLOPs(G)为15.8和param(M)为7.026307;改进后的模型FLOPs(G)为11.6和param(M)为4.786384。模型的参数量和计算量均有所降低。因此,判断出改进后的YOLOv5s模型优于原始模型。
附图说明
图1:该发明基于改进YOLOv5s网络的热轧钢带表面缺陷检测的流程示意图。
图2:该发明基于改进后的网络模型架构图。
图3:该发明改进YOLOv5s网络模型有关的AFPN的架构图。
图4:该发明改进YOLOv5s网络模型有关的eSE的架构图。
图5:YOLOv5s网络模型改进前后的模型测试结果F1_curve的曲线图(左图(1)为原始YOLOv5s的图,右图(2)为改进后YOLOv5s的图)。
图6:YOLOv5s网络模型改进前后的模型测试结果P_curve的曲线图(左图(1)为原始YOLOv5s的图,右图(2)为改进后YOLOv5s的图)。
图7:YOLOv5s网络模型改进前后的模型测试结果R_curve的曲线图(左图(1)为原始YOLOv5s的图,右图(2)为改进后YOLOv5s的图)。
图8:YOLOv5s网络模型改进前后的模型测试结果PR_curve的曲线图(左图(1)为原始YOLOv5s的图,右图(2)为改进后YOLOv5s的图)。
图9:YOLOv5s网络模型改进前后的模型训练过程results的曲线图(左图(1)为原始YOLOv5s的图,右图(2)为改进后YOLOv5s的图)。
图10:YOLOv5s网络模型改进前后的模型检测热轧钢带表面缺陷的效果图((1)原始YOLOv5s的验证集在第2轮的实际标签,(2)验证集在第2轮的预测标签;(3)为改进后YOLOv5s的验证集在第2轮的实际标签,(4)验证集在第2轮的预测标签)。
具体实施方式
以下是利用具体的实施方式以及附图对一种基于改进YOLOv5s网络的热轧钢带表面缺陷检测方法进一步的详细描述。除此之外,在不存在冲突的前提下,以下阐述的该发明的不同实施例中蕴含的技术特征可以彼此组合。并且,所述具体实施方式旨在诠释该发明,并非限定该发明。
如图1-10所示,一种基于改进YOLOv5s网络的热轧钢带表面缺陷检测方法该方法目的是提升原始的yolov5s网络模型对小目标检测的性能,尤其是对热轧钢带表面缺陷检测的性能,提供一种基于改进YOLOv5s网络的热轧钢带表面缺陷检测方法,降低了模型的参数量和计算量,缩短了模型的推理时间。一种基于改进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两个文件,存放训练集和验证集图片的名字(无后缀.jpg)。
步骤2、模型改进:
步骤2.1、配置深度学习环境,搭建原始YOLOv5s模型。该发明配置yolov5s所需环境时,使用的操作系统是Windows10,使用的框架为pytorch,使用的环境管理为anaconda,使用的IDE为pycharm。下载yolov5源代码是进入其开源网址,手动下载zip或是git clone远程仓库。该发明下载的代码是YOLOv5的5.7版本,代码文件夹中的requirements.txt文件描述了模型所需要的安装包。
步骤2.2、将原始模型的neck部分的结构转换为AFPN结构。如图3所示为AFPN的架构图。AFPN(渐进特征金字塔网络)使跨越非相邻Level的直接特征的融合变得容易,在传输和交互的过程中防止特征信息的丢失和退化。为消除特征在不同层次之间的信息冲突,在多层次特征融合的操作过程中添加适应性空间融合。使用MS COCO 2017的验证集以及测试集对AFPN进行多项实验,结果表明,该方法相较于其他特征金字塔网络,其计算效率更为卓越且竞争力更强。
其中,在多层次特征融合的过程中,由于ASFF对不同层次的特征赋予的空间权重不同,因此关键层的重要性得以增强,而不同目标间信息矛盾的影响有所降低。例如,3个Level的特征融合:
xij n→l表示位置(i,j)从Leveln到Level l的特征向量。yij l表示结果特征向量,它是由多层次特征自适应的空间融合所得,通过xij 1→l、xij 2→l、xij 3→l特征向量线性组合,如下:
其中,表示3个Level在Level l的特征分配的空间权重,受限制于
步骤2.3、选用GIoU作为损失函数。GIoU是在IoU后添加一项,从而计算出预测框(A)与真实框(B)最小的外接矩形,由此来表示两个框之间距离,解决两个目标在交集不存在的情况下,即梯度为零时的问题,公式为:
其中,C为A和B两个框外接的最小矩形面积。
当IOU=0时:
当IOU=0时,表示A框和B框不存在交叉,此时A框和B框间距越大,GIOU的值越趋向于-1;当A框和B框重合时,GIOU=1。因此,GIOU取值范围为(-1,1]。
当loss函数选用GIOU时:
LGIoU=1-GIoU (5)
当A框和B框不存在交集时,A∪B没有变化。此时,将GIoU最大化,就是将C最小化,这样有助于A框和B框之间的距离不断变小。
步骤2.4、在YOLOv5s网络结构的第23层添加EffectiveSE卷积神经网络结构模块。EffectiveSE是由多个模块组成的网络结构,它最核心模块是“通道注意力模块”,该模块由Squeeze部分和Excitation部分组成。Squeeze部分作为全局的平均池化层,主要作用是把各通道的特征映射压缩成一个标量。Excitation部分作为MLP(多层感知器),主要作用是学习各通道权值,将其与原始的特征映射相乘,从而得到加权特征映射。
eSE(Effective SE)仅使用了一个FC层,该FC层带有一个C通道,从而保持通道信息,提高性能。如图4所示为eSE的架构图。eSE过程定义为:
AeSE(Xdiv) =σ(WC(Fgap(Xdiv))) (6)
其中,是一个多样化特征图,它通过OSA模块的1×1conv运算所得。作为一种通道注意特征描述符被应用到多样化特征图Xdiv中,使多样化特征更具有信息性。最后,当使用残差连接时,输入特征映射按照元素的顺序被添加进细化特征映射Xrefine中。
步骤3、训练模型:
使用步骤1中划分的表面缺陷数据集的训练集,输入到步骤2中搭建的改进前后YOLOv5s的网络结构模型中,并经过GPU进行训练,得到热轧钢带表面缺陷检测模型。
步骤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中划分的表面缺陷数据集的训练集开始训练。如图8所示为改进前后模型训练过程results的曲线图。
步骤4、热轧钢带表面缺陷检测:
验证集输入到步骤3中训练出的热轧钢带表面缺陷检测模型中,利用测试结果对模型进行评价并获得训练好的模型,将待检测的热轧钢带表面图像输入训练好的模型并输出检测结果。
在步骤3的模型训练结束后,将自动使用步骤1中划分的表面缺陷数据集的验证集进行对修改后的模型进行检测,从而获取结果。训练结果显示如表1:
表1yolov5网络模型改进前后对比
F1_curve:表示F1分数和置信度的相关性,其中x轴为置信度。F1分数是一种分类度量,作为精确率与召回率的调和平均函数,取值范围为(0,1),分数值越高越好。如图5所示为改进前后模型测试结果F1_curve的曲线图。其公式是:
精确率(precision)=TP/(TP+FP) (9)
召回率(Recall)=TP/(TP+FN) (10)
F1=2*(精确率*召回率)/(精确率+召回率) (11)
P_curve:表示准确率和置信度之间的相关性,其中x轴为置信度。当置信度的数值越大时,准确率的数值也会随之增大。如图6所示为改进前后模型测试结果P_curve的曲线图。
PR_curve:表示精准率和召回率之间的相关性,其中P是精准率(precision),R是召回率(recall)。P-R曲线所围面积是平均精确度(Averageprecision,即AP)。AP的数值越高则表示模型的性能越好。如图7所示为改进前后模型测试结果R_curve的曲线图。
R_curve:表示召回率和置信度的相关性。如图9所示为改进前后模型测试结果PR_curve的曲线图。
根据测试结果可得,P_curve、R_curve、F1_curve的值均有所提升,其中PR_curve的个别类的值有所提升,个别类的值有所下降,但是其mAP@0.5的值有所提升。此外,原始模型的FLOPs(G)为15.8和param(M)为7.026307;改进后的模型FLOPs(G)为11.6和param(M)为4.786384。模型的参数量和计算量均有所降低。因此,判断出改进后的YOLOv5s模型优于原始模型。
Claims (5)
1.一种基于改进YOLOv5s网络的热轧钢带表面缺陷检测方法,其特征在于:
步骤1、制作并划分数据集:
获取由东北大学发布的表面缺陷数据库的开源数据集,首先,将数据集制作成适用YOLOv5网络模型训练的yolo格式,其次,将数据集划分为训练集和验证集。
步骤2、模型改进:
搭建原始YOLOv5s的网络结构模型,将neck部分原结构改换为AFPN结构,选用GIoU作为损失函数,添加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两个文件,存放训练集和验证集图片的名字(无后缀.jpg)。
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的特征融合:
xij n→l表示位置(i,j)从Leveln到Level l的特征向量。yij l表示结果特征向量,它是由多层次特征自适应的空间融合所得,通过xij 1→l、xij 2→l、xij 3→l特征向量线性组合,如下:
其中,表示3个Level在Level l的特征分配的空间权重,受限制于
步骤2.3、选用GIoU作为损失函数,GIoU是在IoU后添加一项,从而计算出预测框(A)与真实框(B)最小的外接矩形,由此来表示两个框之间距离,解决两个目标在交集不存在的情况下,即梯度为零时的问题,公式为:
其中,C为A和B两个框外接的最小矩形面积,
当IOU=0时:
当IOU=0时,表示A框和B框不存在交叉,此时A框和B框间距越大,GIOU的值越趋向于-1;当A框和B框重合时,GIOU=1,因此,GIOU取值范围为(-1,1],
当loss函数选用GIOU时:
LGIoU=1-GIoU (5)
当A框和B框不存在交集时,A∪B没有变化,此时,将GIoU最大化,就是将C最小化,这样有助于A框和B框之间的距离不断变小;
步骤2.4、在YOLOv5s网络结构的第23层添加EffectiveSE卷积神经网络结构模块,EffectiveSE是由多个模块组成的网络结构,它最核心模块是“通道注意力模块”,该模块由Squeeze部分和Excitation部分组成。Squeeze部分作为全局的平均池化层,主要作用是把各通道的特征映射压缩成一个标量,Excitation部分作为MLP(多层感知器),主要作用是学习各通道权值,将其与原始的特征映射相乘,从而得到加权特征映射,
eSE(Effective SE)仅使用了一个FC层,该FC层带有一个C通道,从而保持通道信息,提高性能。eSE过程定义为:
AeSE(Xdiv)=σ(WC(Fgap(Xdiv))) (6)
其中,是一个多样化特征图,它通过OSA模块的1×1conv运算所得,作为一种通道注意特征描述符被应用到多样化特征图Xdiv中,使多样化特征更具有信息性,最后,当使用残差连接时,输入特征映射按照元素的顺序被添加进细化特征映射Xrefine中。
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),分数值越高越好,其公式是:
精确率(precision)=TP/(TP+FP) (9)
召回率(Recall)=TP/(TP+FN) (10)
F1=2*(精确率*召回率)/(精确率+召回率) (11)
P_curve:表示准确率和置信度之间的相关性,其中x轴为置信度。当置信度的数值越大时,准确率的数值也会随之增大,
PR_curve:表示精准率和召回率之间的相关性,其中P是精准率(precision),R是召回率(recall)。P-R曲线所围面积是平均精确度(Averageprecision,即AP)。AP的数值越高则表示模型的性能越好,
R_curve:表示召回率和置信度的相关性。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311105750.0A CN117132827A (zh) | 2023-08-30 | 2023-08-30 | 基于改进YOLOv5s网络的热轧钢带表面缺陷检测方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311105750.0A CN117132827A (zh) | 2023-08-30 | 2023-08-30 | 基于改进YOLOv5s网络的热轧钢带表面缺陷检测方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117132827A true CN117132827A (zh) | 2023-11-28 |
Family
ID=88852430
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311105750.0A Pending CN117132827A (zh) | 2023-08-30 | 2023-08-30 | 基于改进YOLOv5s网络的热轧钢带表面缺陷检测方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117132827A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117670889A (zh) * | 2024-02-02 | 2024-03-08 | 长春理工大学 | 一种基于半监督学习的混合集成电路组件缺陷检测方法 |
CN117900981A (zh) * | 2024-03-19 | 2024-04-19 | 宝鸡核力材料科技有限公司 | 应用于tc4卷带加工下的生产工艺优化方法及系统 |
-
2023
- 2023-08-30 CN CN202311105750.0A patent/CN117132827A/zh active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117670889A (zh) * | 2024-02-02 | 2024-03-08 | 长春理工大学 | 一种基于半监督学习的混合集成电路组件缺陷检测方法 |
CN117900981A (zh) * | 2024-03-19 | 2024-04-19 | 宝鸡核力材料科技有限公司 | 应用于tc4卷带加工下的生产工艺优化方法及系统 |
CN117900981B (zh) * | 2024-03-19 | 2024-05-28 | 宝鸡核力材料科技有限公司 | 应用于tc4卷带加工下的生产工艺优化方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110660052B (zh) | 一种基于深度学习的热轧带钢表面缺陷检测方法 | |
CN117132827A (zh) | 基于改进YOLOv5s网络的热轧钢带表面缺陷检测方法 | |
CN111612784B (zh) | 一种基于分类优先yolo网络的钢板表面缺陷检测方法 | |
JP7517641B2 (ja) | 構造物の点検・補修支援システム | |
CN114359130B (zh) | 一种基于无人机影像的道路裂缝检测方法 | |
CN111738363B (zh) | 基于改进的3d cnn网络的阿尔茨海默病分类方法 | |
Li et al. | Automatic bridge crack identification from concrete surface using ResNeXt with postprocessing | |
CN107341508B (zh) | 一种快速美食图片识别方法及系统 | |
CN111861909B (zh) | 一种网络细粒度图像分类方法 | |
CN116883393B (zh) | 一种基于无锚框目标检测算法的金属表面缺陷检测方法 | |
CN114972759A (zh) | 基于分级轮廓代价函数的遥感图像语义分割方法 | |
CN116703885A (zh) | 一种基于Swin Transformer的表面缺陷检测方法及系统 | |
CN115239613B (zh) | 基于集成深度学习的全视野数字切片图像分类建模方法及装置 | |
CN116012310A (zh) | 基于线性残差注意力的跨海大桥桥墩表面裂缝检测方法 | |
CN117710969B (zh) | 一种基于深度神经网络的细胞核分割和分类方法 | |
CN112215301B (zh) | 基于卷积神经网络的影像直线探测方法 | |
CN117197613B (zh) | 一种训练图像质量预测模型、图像质量预测的方法及装置 | |
CN111563455B (zh) | 基于时间序列信号和压缩卷积神经网络的伤损识别方法 | |
CN117079051A (zh) | 一种金相智能识别方法、装置及介质 | |
CN117197530A (zh) | 一种基于改进YOLOv8模型及余弦退火学习率衰减法的绝缘子缺陷识别方法 | |
CN116342542A (zh) | 一种基于轻量级神经网络的钢铁产品表面缺陷检测方法 | |
CN115830302A (zh) | 一种多尺度特征提取融合配电网设备定位识别方法 | |
CN110599460A (zh) | 基于混合卷积神经网络的地下管网检测评估云系统 | |
CN115587989A (zh) | 一种工件ct图像缺陷检测分割方法及系统 | |
CN112967266B (zh) | 一种全卷积神经网络的激光定向能量沉积面积计算方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |