System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及深度学习领域,具体地说,是一款基于yolo算法的热轧钢带缺陷检测算法,可自选yolo算法框架、更换骨干网络后能自动检测用户热轧钢带数据集图片中的缺陷位置及其缺陷所属种类的算法流程。
技术介绍
1、在工业生产过程中,由于现有技术、工作条件等因素的不足和局限性,极易影响制成品的质量。其中,表面缺陷是产品质量受到影响的最直观表现。因此,为了保证合格率和可靠的质量,必须进行产品表面缺陷检测。人工缺陷检测曾经是主流方法,但这种方法效率低下,检测结果容易受人为主观因素的影响,不能满足实时检测的要求。近年来,自动光学检测在各个领域得到了迅速的应用,尤其是缺陷检测。
2、在自动光学检测中,基于人工智能的深度学习方法在许多领域越来越具有优势。随着深度学习研究的深入,基于深度学习的方法在自动光学检测中显示出巨大的潜力。然而,大多数最先进的基于计算机视觉的缺陷检测算法都是基于知识的方法,涉及特征提取和分类。特征提取器通常由经验丰富的算法工程师逐个手动设计,这使得开发周期相对复杂且耗时。除此之外,这些方法很难泛化或重用。
3、热轧钢带是指通过热轧方式生产的带材和板材,广泛用于汽车、电机、化工、造船等工业部门。在工业生产中,在带钢原料钢卷的轧制工艺过程中形成的表面缺陷是造成废、次品的主要原因,因此必须加强对带钢表面缺陷检测,对于加强轧制工艺管理,剔除废品等都有重要的意义。在工业生产中,红外检测法、漏磁检测法、激光扫描检测法都有其无法克服的缺点,使用cnn网络进行识别检测则需事先训练大量的数据集后才可保证准确率。以上方
技术实现思路
1、为解决现有技术的不足,本专利技术的目的在于提供一款基于yolo算法的热轧钢带缺陷检测算法,本专利技术是通过以下技术方案来实现的:
2、本专利技术公开了一款基于yolo算法的热轧钢带缺陷检测算法,包括:
3、获取yolov1到v8的开源框架代码,得到网络模型文件;
4、获取shufflenetv2、efficientnetv2、mobilevitv3、mobilenetv3四种骨干网络代码,并修改参数配置文件,得到网络模型文件;
5、对前两个步骤中得到的网络模型文件进行组合后在东北大学热轧钢带数据集上进行网络训练,得到网络训练结果;
6、在网络训练结果中获取onnx格式的网络模型参数并保存;
7、搭载按钮事件实现文件;
8、使用网络模型参数搭载函数事件实现文件;
9、获取图片缺陷检测指令,使用上述两个事件实现文件输出检测结果。
10、作为进一步地改进,本专利技术所述的获取yolov1到v8的开源框架代码,得到网络模型文件;获取shufflenetv2、efficientnetv2、mobilevitv3、mobilenetv3四种骨干网络代码,并修改参数配置文件,得到网络模型文件具体为:首先导入预先下载的骨干网络代码,并在其中相应的位置添加骨干网络代码中的网络函数,然后修改所需使用的yaml文件,根据骨干网络通道参数修改其中的backbone参数,将yolo网络模型文件与骨干网络代码两两配对后组成新的网络模型用于后期网络训练。
11、作为进一步地改进,本专利技术所述的获取onnx格式的网络模型参数具体为:首先在根目录下的train.py文件中的parse_opt函数,修改数据集路径、迭代次数和小批次数据集数量网络超参数,然后将前一步骤中完成配置修改的网络模型在东北大学热轧钢带数据集上进行训练,在训练结果中取表现最好一次的网络权重参数best.pt文件作为最终结果,最后将best.pt文件转化为onnx格式输出,作为后续缺陷检测时所使用的网络模型,对待检测图像进行轧制氧化皮、斑块、开裂、点蚀表面、内含物和划痕六种常见表面缺陷的缺陷检测。
12、作为进一步地改进,本专利技术所述的搭载按钮事件实现文件具体为:在qt中实现yolo算法版本选择组合框按键、骨干网络选择组合框按键、打开待检测图像绝对路径按键、开始检测按键和保存检测结果图像按键、显示待检测图像与检测结果图像区域五个部分的内容设计,同时新建py文件编写各按键的事件发生函数,将对按键的事件动作转化为与其对应的事件函数,最后转化为py文件编译导出。
13、作为进一步地改进,本专利技术所述的搭载函数事件实现文件具体为:新建py文件编写各部分函数实现模块,包括选择网络模型权重参数函数、打开读取并显示待检测图像函数、调用根目录下的detect.py实现对待检测图像的缺陷检测并显示函数、保存检测完成图像函数各部分内容。
14、作为进一步地改进,本专利技术所述的获取图片缺陷检测指令后输出检测结果具体为:获取打开文件指令,打开所需检测的图片文件所在位置并显示;获取缺陷检测指令,根据选择的网络框架与骨干网络使用其对应的网络模型参数对图片进行缺陷检测;获取输出结果与保存指令,将检测后的图片显示并保存。
15、本专利技术的方案在于:
16、1)基于不同流水线对性能的不同需求,提供缺陷检测主流算法yolo算法从v1到v8的八个算法框架,同时提供四种可替换的骨干网络shufflenetv2、efficientnetv2、mobilevitv3、mobilenetv3,丰富了用户可选择使用的算法模型,满足了在工业生产中对准确率、效率的不同需求选择。
17、2)使用东北大学提供的热轧钢带缺陷数据集,该数据集包括热轧钢带常见的六种典型表面缺陷即轧制氧化皮、斑块、开裂、点蚀表面、内含物和划痕,每一类缺陷包含300个样本且标注中说明了缺陷种类及其所在位置,总计1800个数据集样本。用该数据集进行网络模型的训练能使结果更加完善且准确,得到的网络模型权重数据更能适配工业生产中的热轧钢带数据。
18、3)使用qt实现网络训练的自动化,将训练好的网络模型权重转化为onnx格式后,使用qt设计了一个ui界面,可通过用户自主选择所需网络模型后选择需要检测的图片进行缺陷检测,同步输出待检测图像和标注出缺陷位置的图像并保存检测结果。
19、本专利技术通过结合上述三种方法的优势,实现自动化、高效率、系统化的热轧钢带缺陷检测。首先训练好各种算法框架以及与不同骨干网络结合的网络模型并保存其表现最好的模型权重参数,其次将其封装为算法方便后续的缺陷检测使用。与传统深度学习方法相比,使用了主流的算法框架与完备的数据集,可以使得检测结果更加完善且更有信服力;与逐个手动设计特征提取器相比,将多种算法模型封装成算法,不仅耗时短、泛化强,且对使用人员无高技术要求,更适配工业化生产的检测需求。本专利技术的提出可以提高热轧钢带生产过程中的缺陷检测效率,降低工业生产成本,有效促进热轧钢带的生产效率。
20、与现有技术相比,本专利技术所达到的有益效果:
21、1)网络模型训练精度高,检测结果准确:缺陷检测的主流算法是yolo算法,现已更新到本文档来自技高网...
【技术保护点】
1.一款基于YOLO算法的热轧钢带缺陷检测算法,其特征在于,包括:
2.根据权利要求1所述的基于YOLO算法的热轧钢带缺陷检测算法,其特征在于,所述的获取YOLOv1到v8的开源框架代码,得到网络模型文件;获取ShuffleNetv2、EfficientNetv2、MobileViTv3、MobileNetv3四种骨干网络代码,并修改参数配置文件,得到网络模型文件具体为:首先导入预先下载的骨干网络代码,并在其中相应的位置添加骨干网络代码中的网络函数,然后修改所需使用的yaml文件,根据骨干网络通道参数修改其中的backbone参数,将YOLO网络模型文件与骨干网络代码两两配对后组成新的网络模型用于后期网络训练。
3.根据权利要求1所述的基于YOLO算法的热轧钢带缺陷检测算法,其特征在于,所述的获取onnx格式的网络模型参数具体为:首先在根目录下的train.py文件中的parse_opt函数,修改数据集路径、迭代次数和小批次数据集数量网络超参数,然后将前一步骤中完成配置修改的网络模型在东北大学热轧钢带数据集上进行训练,在训练结果中取表现最好一次的网络权重参
4.根据权利要求1所述的基于YOLO算法的热轧钢带缺陷检测算法,其特征在于,所述的搭载按钮事件实现文件具体为:在QT中实现YOLO算法版本选择组合框按键、骨干网络选择组合框按键、打开待检测图像绝对路径按键、开始检测按键和保存检测结果图像按键、显示待检测图像与检测结果图像区域五个部分的内容设计,同时新建py文件编写各按键的事件发生函数,将对按键的事件动作转化为与其对应的事件函数,最后转化为py文件编译导出。
5.根据权利要求1所述的基于YOLO算法的热轧钢带缺陷检测算法,其特征在于,所述的搭载函数事件实现文件具体为:新建py文件编写各部分函数实现模块,包括选择网络模型权重参数函数、打开读取并显示待检测图像函数、调用根目录下的detect.py实现对待检测图像的缺陷检测并显示函数、保存检测完成图像函数各部分内容。
6.根据权利要求1所述的基于YOLO算法的热轧钢带缺陷检测算法,其特征在于,所述的获取图片缺陷检测指令后输出检测结果具体为:获取打开文件指令,打开所需检测的图片文件所在位置并显示;获取缺陷检测指令,根据选择的网络框架与骨干网络使用其对应的网络模型参数对图片进行缺陷检测;获取输出结果与保存指令,将检测后的图片显示并保存。
...【技术特征摘要】
1.一款基于yolo算法的热轧钢带缺陷检测算法,其特征在于,包括:
2.根据权利要求1所述的基于yolo算法的热轧钢带缺陷检测算法,其特征在于,所述的获取yolov1到v8的开源框架代码,得到网络模型文件;获取shufflenetv2、efficientnetv2、mobilevitv3、mobilenetv3四种骨干网络代码,并修改参数配置文件,得到网络模型文件具体为:首先导入预先下载的骨干网络代码,并在其中相应的位置添加骨干网络代码中的网络函数,然后修改所需使用的yaml文件,根据骨干网络通道参数修改其中的backbone参数,将yolo网络模型文件与骨干网络代码两两配对后组成新的网络模型用于后期网络训练。
3.根据权利要求1所述的基于yolo算法的热轧钢带缺陷检测算法,其特征在于,所述的获取onnx格式的网络模型参数具体为:首先在根目录下的train.py文件中的parse_opt函数,修改数据集路径、迭代次数和小批次数据集数量网络超参数,然后将前一步骤中完成配置修改的网络模型在东北大学热轧钢带数据集上进行训练,在训练结果中取表现最好一次的网络权重参数best.pt文件作为最终结果,最后将best.pt文件转化为onnx格式输出,作为后续缺陷检测时所使用的网络模型,对待检测图像进行轧制氧化皮、...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。