掌桥专利:专业的专利平台
掌桥专利
首页

一种用于缺陷检测的yolov5优化方法及优化系统

文献发布时间:2023-06-19 19:30:30


一种用于缺陷检测的yolov5优化方法及优化系统

技术领域

本发明属于缺陷检测技术领域,具体涉及一种用于缺陷检测的yolov5优化方法及优化系统。

背景技术

深度学习领域发展至今,针对计算机视觉领域缺陷检测赛道最为广泛使用的模型包括yolov5和Faster-RCNN,其中,yolov5单阶段网络模型具有速度快,易部署等优势,综合检出能力稍逊于Faster-RCNN,而双阶段模型Faster-RCNN虽然有较好的检出精度,但模型更为复杂,运算速度上远不如yolov5,有时不能满足工业节拍需要。因此两者各有利弊,实际使用中需根据具体场景选择使用。

目前,使用yolov5作为缺陷检测模型时却会遇到一个严重的问题,那就是此模型对于每个检出的置信度都不高,有时甚至是非常低,且有越小的目标越容易出现低得分的缺点。在使用COCO或VOC等国际通用的数据集进行目标检测时,由于目标都是人、狗、车等明确目标,一般不容易将背景误认为目标,即发生误检,所有检出无论置信度高低都可以认为是正确检出。但是在缺陷检测中,人们的任务不是简单地将缺陷识别出来,而是要根据缺陷的程度、深浅、强弱对缺陷进行区分,仅检出较为严重的缺陷,不严重的缺陷(是否严重的标准由具体生产厂商自行定义)由于不影响工件的正常使用,通常会被要求不检出,如果检出,亦视为过杀(误检);在这种情况下,低置信度的yolov5模型在使用中会面临以下三个致命难题:

1,部分正确检出,尤其小缺陷的得分非常低,只要稍微提高阈值,就会造成大量漏检。

2,部分检出得分很低,以至于它们落入过杀的集中得分区域,对于这些特征相似、得分相同的检出,即使后处理手段也很难再区分。

3,在实际工业生产中,企业更加重视召回,通常要求召回率在99%以上,甚至100%,也就是几乎不允许出现漏检。因此在部分检出得分很低的情况下,无法通过提高阈值的手段来过滤掉那些同样低置信度的过杀;这就导致,虽然厂商对过杀有一定的容忍度,但yolov5模型带来的过杀率往往大幅超过厂商的底线。

例如,图1中的右侧图是在高标注质量的数据集上进行训练得到的检出结果,这类黑皮缺陷中的大部分具有特征明确、训练数据充足的特点,若使用Faster-RCNN模型进行训练,检出率虽相差无几,但图中大部分检出框都可达到0.9以上的置信度,大大降低阈值过滤的难度。而在yolov5中,这些明显得分过低的正确检出严重制约着后续对于过杀的剔除。

因此,传统yolov5在缺陷检测领域中的实用性有待提高。

发明内容

本发明为解决公知技术中存在的技术问题,提供一种用于缺陷检测的yolov5优化方法及优化系统,通过对于传统yolov5损失函数进行优化,使yolov5对于有把握的检出框能够正确地得到高置信度检出。

本发明的第一目的是提供一种用于缺陷检测的yolov5优化方法,包括:

S1、数据预处理:

首先获取图片集,然后对图片集中的图像进行标注,最后将图片集划分出训练集和测试集;

S2、yolov5优化:具体为:

S201、利用yolov5对训练集和测试集进行训练得到IOU值,所述IOU值在0-1之间;

S202、优化yolov5,得到Abs-Loss-yolov5;具体为:

通过IOU阈值将IOU值划分为两部分,将大于IOU阈值的检出框得分置为1,其他检出框得分不变;

或者通过IOU阈值将IOU值划分为两部分,将大于IOU阈值的检出框得分置为1,其他检出框得分置为0;

S203、分别使用S201中的yolov5和S202中的Abs-Loss-yolov5对训练集进行训练,并使用测试集验证效果;

S3、通过提高置信度阈值的手段过滤过杀。

优选地,所述IOU阈值为0.5、0.35、0.2中的一个。

优选地,在S1中,所述标注的具体过程为:首先将缺陷划分为M个标签,对M个标签缺陷进行选择性标注;M为大于0的自然数。

优选地,M等于3,三类缺陷分别为黑皮、磕碰和拉伤。

优选地,根据缺陷严重程度的特征,将缺陷划分为严重缺陷和轻度缺陷两类;仅标注严重缺陷。

优选地,所述验证效果的技术指标包括准确率,召回率,mAP0.5和mAP0.5:0.95;具体公式如下:

准确率=检出的正确缺陷条数/检出的缺陷总条数;

召回率=检出的正确缺陷条数/训练集或测试集中的缺陷总条数;

mAP0.5表示IOU为0.5时的mAP得分,而mAP0.5:0.95表示IOU为0.5、0.55、0.6、0.65、0.7、0.75、0.8、0.85、0.9、0.95时的平均mAP;

记每个缺陷的真实结果为GT,预测结果为DT,函数S()表示括号内内容的面积,∩表示求交集,∪表示求并集,则IOU表示GT与DT之间的交并比,并由下式求出:

本发明的第二目的是提供一种用于缺陷检测的yolov5优化系统,包括:

数据预处理模块:

首先获取图片集,然后对图片集中的图像进行标注,最后将图片集划分出训练集和测试集;

yolov5优化模块:具体优化过程为:

S201、利用yolov5对训练集和测试集进行训练得到IOU值,所述IOU值在0-1之间;

S202、优化yolov5,得到Abs-Loss-yolov5;具体为:

通过IOU阈值将IOU值划分为两部分,将大于IOU阈值的检出框得分置为1,其他检出框得分不变;

或者通过IOU阈值将IOU值划分为两部分,将大于IOU阈值的检出框得分置为1,其他检出框得分置为0;

S203、分别使用S201中的yolov5和S202中的Abs-Loss-yolov5对训练集进行训练,并使用测试集验证效果;

后处理模块:通过提高置信度阈值的手段过滤过杀。

优选地,所述IOU阈值为0.5、0.35、0.2中的一个。

优选地,在数据预处理模块中,所述标注的具体过程为:首先将缺陷划分为M个标签,对M个标签缺陷进行选择性标注;M为大于0的自然数。

优选地,M等于3,三类缺陷分别为黑皮、磕碰和拉伤。

本发明的第三目的是提供一种信息数据处理终端,用于实现上述用于缺陷检测的yolov5优化方法。

本发明具有的优点和积极效果是:

1,通过优选实施例部分的表1可知,1-20(A方案)行和20-39(B方案)行是Abs-Loss的两种不同子方案,两种方案各有优点,总体效果相差不大。DE两列为传统yolov5的检出效果。

2,在每个置信度下,Abs-Loss-yolov5比传统yolov5都取得了更高的召回率,由于缺陷检测领域,生产厂商对召回率的重视远高于准确率,因此在这一点上本模型十分有效。

3,不同于常规目标检测任务,缺陷检测领域中任何优秀的数据标注员都不可能将严重与不严重的缺陷完全正确划分,而Abs-Loss-yolov5相比传统技术,更多地纠正了数据标注中的错误。由于准确率和召回率的计算仅仅是检出结果与标注结果之间的对比,改进后的很多检出正确而标注不正确的情况也会被判定为过杀或漏检,因此因而Abs-Loss-yolov5比传统yolov5的优势会比表格中反应得更大。

4,在mAP方面,mAP0.5指标下Abs-Loss-yolov5结果全面优于传统技术,而mAP0.5:0.95指标下传统则全面优于Abs-Loss-yolov5。在普通的目标检测任务中,现在的前沿科学家们更加关心模型对于重叠目标的检出能力,因此高IOU阈值下的mAP0.5:0.95成为最主流的评价指标。而缺陷检测领域中,很少发生目标重叠的情况,更加关心每个缺陷能否正确检出,而相对不关心每个检出框的重合率,因此缺陷检测领域中通常更加重视mAP0.5。因此,mAP方面,缺陷检测领域的Abs-Loss-yolov5优于传统yolov5。

5,通过对Abs-Loss-yolov5和传统yolov5相对比,可明显看出模型对于明确缺陷的置信度大幅提高,很多可以提高到接近1。而对不严重、不明确的缺陷得分无明显提高,有些反而降低。这就大幅提高了正确检出与过杀的区分度,使优化后的yolov5模型在缺陷检测领域的实际使用中获得巨大优势。

附图说明

图1为磕碰缺陷检测结果对比图,其中,右侧图为传统yolov5进行缺陷检测的检出图,左侧图为本申请优化后yolov5进行缺陷检测的检出图;

图2为黑皮缺陷检测结果对比图,其中,右侧图为传统yolov5进行缺陷检测的检出图,左侧图为本申请优化后yolov5进行缺陷检测的检出图;

图3为划伤缺陷检测结果对比图,其中,右侧图为传统yolov5进行缺陷检测的检出图,左侧图为本申请优化后yolov5进行缺陷检测的检出图;

图4为典型低置信度过杀检出图;

图5为P-R曲线mAP0.5示意图。

具体实施方式

为能进一步了解本发明的发明内容、特点及功效,兹列举以下实施例,并配合附图详细说明如下:

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的技术方案,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本发明通过对yolov5的损失函数进行优化,使yolov5对于有把握的检出框能够正确地得到高置信度检出(如图1中对比结果,对于每个检出框,前面的字母是缺陷名称,冒号后面是置信度,IOU及后方数字对本专利无用)。本专利将优化后的yolov5名称命名为Abs-LOSS-yolov5。本专利不针对特定的任务、特定的工件、特定的缺陷,而是提出一种普适性适用于所有缺陷检测的Abs-LOSS-yolov5。

一种用于缺陷检测的yolov5优化方法,包括:

S1、数据预处理:

首先获取图片集,然后对图片集中的图像进行标注,最后将图片集划分出训练集和测试集;所述标注的具体过程为:首先根据缺陷的特征,将缺陷划分为M个标签,对M个标签缺陷进行选择性标注;M为大于0的自然数。在本优选实施例中,M选择的是3,分别为黑皮(hp)、磕碰(kp)和拉伤(ls)。再根据缺陷损伤程度的特征,将缺陷划分为严重缺陷和轻度缺陷两类,仅标注严重缺陷;

S2、yolov5优化:具体为:

S201、获取yolov5;利用yolov5对训练集和测试集进行训练,训练过程中,对每个检测框的检出得分为该检出框与真实框之间的IOU值,该IOU值域在0-1之间;

S202、对loss.py文件进行修改,loss.py文件是yolov5中训练过程中计算损失函数的核心文件,本申请对yolov5进行优化得到Abs-Loss-yolov5;

利用yolov5训练时,将目标得分定义为正确检出框的置信度,这导致模型最终对于正样本的检出得分很低。在通常目标检测需求中,由于目标与背景的区分度明显、不易混淆,这种低得分检出的负面效果不明显;而在缺陷检测中,由于严重缺陷与轻微缺陷之间特征非常相似,这种低得分使得最终检出结果难以通过置信度阈值区分,大大制约了模型在工业缺陷检测中的应用价值。

通常认为yolov5检出置信度低的原因是其单阶段网络本身对于特征的提取能力不足,而本申请证明了网络能力的影响仅是次要的,而得分策略的定义才是主要的,Abs-Loss-yolov5重写了loss.py文件中对于正样本检出框的得分策略。

yolov5中,单个正样本检出框得分定义如下:

其中,tobj为该检出是否为正样本的置信度,score_iou为检出框与对应真实框之间的IOU值。

Abs-Loss-yolov5包括如下两种策略:

A、给定一个IOU阈值,将IOU大于此阈值的检出框得分置为1,IOU不大于此阈值的检出框得分不变;

B、给定一个IOU阈值,将IOU大于此阈值的检出框得分置为1,并将IOU不大于此阈值的检出框得分置为0;

然后用和yolov5完全相同的方式使用tobj计算目标有无损失lobj。

本方法仅对目标有无损失lobj进行优化,而对于分类lcls和检出框损失lbox未做任何修改,因此不会对这两种损失函数造成任何影响。修改后的目标有无损失仅与该检出是否是正样本有关,与IOU不再相关。

S203、分别使用S201中的yolov5和S202中不同参数下的yolov5对训练集进行训练,并使用测试集验证效果;分别使用S201中的yolov5和S202中的两种策略不同IOU阈值下的yolov5对训练集进行训练,选用的IOU阈值包括:0.5、0.35、0.2,然后使用测试集验证效果;

S3、通过提高置信度阈值的手段过滤过杀;置信度阈值指的是置信度的阈值,每个检出都有一个0-1之间的置信度得分,比如置信度阈值取0.5,那么0.5以下的置信度会被舍弃。

本申请的附图中,选择的是策略B,置信度阈值为0.5。

所述验证效果的技术指标包括准确率(Precision),召回率(Recall),mAP0.5和mAP0.5:0.95四项主流技术指标。

准确率=检出的正确缺陷条数/检出的缺陷总条数;

召回率=检出的正确缺陷条数/训练集或验证集中的缺陷总条数;

mAP是一项目标检测领域专用的非常复杂的技术指标,具体地说,首先将Precision和Recall分别作为纵轴和横轴建立坐标系并画图,如图5所示,AP表示这条P-R曲线下围成的面积,它反映了模型对于准确率与召回率的综合结果。mAP表示本模型对所有缺陷种类K的平均AP。

mAP0.5表示IOU为0.5时的mAP得分,而mAP0.5:0.95表示IOU为0.5,0.55,0.6…0.95这些值下算出的平均mAP。在普通目标检测中,通常以mAP0.5:0.95为核心技术指标,而在缺陷检测中,通常以mAP0.5为核心技术指标。

记每个缺陷的真实结果为GT,预测结果为DT,函数S()表示括号内内容的面积,∩表示求交集,∪表示求并集,则IOU表示GT与DT之间的交并比,并由下式求出:

请参阅图1至图4;为了更加直观清晰地实现技术效果的比对关系,现根据图1至图4的内容建立如下对比表;

表1为磕碰缺陷检测结果对比表

表2为黑皮缺陷检测结果对比表

表3为划伤缺陷检测结果对比表

表4为典型低置信度过杀检出表:

从表1、表2、表3可以看出,第一列的数字(利用本申请得到的置信度得分)明显大于第二列的数字(利用传统技术得到的置信度得分),则表示左图中明显缺陷的置信度得分明显高于右图,而轻微缺陷的得分无明显提升或降低,这证明了本申请的技术方案增大了明显缺陷与轻微缺陷的区分度,证明了其有效性。

图4为本申请优化后的部分轻微过杀检出图,通过表4可以看出其置信度得分已经很低,容易滤除。

图5中,hp0.871中的0.871是指对应P-R曲线围成的面积大小,ls0.875中的0.875是指对应P-R曲线围成的面积大小,kp0.742中的0.742是指对应P-R曲线围成的面积大小,all classes 0.829 mAP@0.5是上述三个面积大小的平均值。

表5为Abs-Loss-Yolov5在不同参数下的实验结果记录表

表5中的数据是以黑皮、拉伤和磕碰三种缺陷类型进行的实验,但是在实际生产过程中,不同的场景、不同的产品所对应的缺陷种类并不局限于上述三种,此处不再一一列举;其他缺陷类型也可以通过本申请的技术方案实现检测。

1,表5中,1-20(A方案)行和20-39(B方案)行是Abs-Loss的两种不同子方案,两种方案各有优点,总体效果相差不大。DE两列为传统yolov5的检出效果。

2,在每个置信度下,Abs-Loss-yolov5比传统yolov5都取得了更高的召回率,由于缺陷检测领域生产厂商对召回率的重视远高于准确率因此在这一点上本模型十分有效。

3,不同于常规目标检测任务,缺陷检测领域中任何优秀的数据标注员都不可能将严重与不严重的缺陷完全正确划分,而Abs-Loss-yolov5相比传统更多地纠正了数据标注中的错误。这部分优势无法体现在图中的实验结果中,因而Abs-Loss-yolov5比传统yolov5的优势比图中数据更大。

4,在mAP方面,mAP0.5指标下Abs-Loss-yolov5结果全面优于传统,而mAP0.5:0.95指标下传统则全面优于Abs-Loss-yolov5。在普通的目标检测任务中,现在的前沿科学家们更加关心模型对于重叠目标的检出能力,因此高IOU阈值下的mAP0.5:0.95成为最主流的评价指标。而缺陷检测领域中,很少发生目标重叠的情况,本领域更加关心每个缺陷能否正确检出,而相对不关心每个检出框的重合度,因此本领域更加重视mAP0.5。因此,mAP方面,缺陷检测领域的Abs-Loss-yolov5优于传统yolov5。

5,Abs-Loss-yolov5不增加网络复杂度,因此不会改变单一轮次的训练速度。反而由于对损失函数计算的二值化处理,减少了学习至收敛所需的轮数,进而加快了训练速度。

通过对Abs-Loss-yolov5和传统yolov5相对比,可明显看出模型对于明确缺陷的置信度大幅提高,很多可以提高到接近1。而对不严重、不明确的缺陷得分无明显提高,有些反而降低。这就大幅提高了正确检出与过杀之间的区分度,使模型在缺陷检测领域的实际使用中获得巨大优势。

S3、通过提高置信度阈值的手段过滤过杀;由于正确检出的得分大幅提高,现在可以通过提高置信度阈值的手段轻松过滤如图4中的低置信度过杀。

一种用于缺陷检测的yolov5优化系统,包括:

数据预处理模块:

首先获取图片集,然后对图片集中的图像进行标注,最后将图片集划分出训练集和测试集;所述标注的具体过程为:首先根据缺陷的特征,将缺陷划分为M个标签,对M个标签缺陷进行选择性标注;M为大于0的自然数。在本优选实施例中,M选择的是3,分别为黑皮(hp)、磕碰(kp)和拉伤(ls)。再根据缺陷损伤程度的特征,将缺陷划分为严重缺陷和轻度缺陷两类,仅标注严重缺陷;

yolov5优化模块:具体优化过程为:

S201、获取yolov5;利用yolov5对训练集和测试集进行训练,训练过程中,对每个检测框的检出得分为该检出框与真实框之间的IOU值,该IOU值域在0-1之间;

S202、对loss.py文件进行修改,loss.py文件是yolov5中训练过程中计算损失函数的核心文件,本申请对yolov5得到Abs-Loss-yolov5;该Abs-Loss-yolov5包括如下两种策略:

A、给定一个IOU阈值,将IOU大于此阈值的检出框得分置为1,IOU不大于此阈值的检出框得分不变;

B、给定一个IOU阈值,将IOU大于此阈值的检出框得分置为1,并将IOU不大于此阈值的检出框得分置为0;

S203、分别使用S201中的yolov5和S202中不同参数下的yolov5对训练集进行训练,并使用测试集验证效果;分别使用S201中的yolov5和S202中的两种策略不同IOU阈值下的yolov5对训练集进行训练,选用的IOU阈值包括:0.5、0.35、0.2,然后使用测试集验证效果;

后处理模块:通过提高置信度阈值的手段过滤过杀。

所述验证效果的技术指标包括准确率,召回率,mAP0.5和mAP0.5:0.95;具体公式如下:

准确率=检出的正确缺陷条数/检出的缺陷总条数;

召回率=检出的正确缺陷条数/训练集或测试集中的缺陷总条数;

mAP0.5表示IOU为0.5时的mAP得分,而mAP0.5:0.95表示IOU为0.5、0.55、0.6、0.65、0.7、0.75、0.8、0.85、0.9、0.95时的平均mAP;在普通目标检测中,通常以mAP0.5:0.95为核心技术指标,而在缺陷检测中,通常以mAP0.5为核心技术指标。

记每个缺陷的真实结果为GT,预测结果为DT,函数S()表示括号内内容的面积,∩表示求交集,∪表示求并集,则IOU表示GT与DT之间的交并比,并由下式求出:

一种信息数据处理终端,用于实现上述用于缺陷检测的yolov5优化方法。

一种计算机可读存储介质,包括指令,当其在计算机上运行时,使得计算机执行上述用于缺陷检测的yolov5优化方法。

在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用全部或部分地以计算机程序产品的形式实现,所述计算机程序产品包括一个或多个计算机指令。在计算机上加载或执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL)或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输)。所述计算机可读取存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘SolidState Disk(SSD))等。

以上所述仅是对本发明的较佳实施例而已,并非对本发明作任何形式上的限制,凡是依据本发明的技术实质对以上实施例所做的任何简单修改,等同变化与修饰,均属于本发明技术方案的范围内。

相关技术
  • 一种用于注意缺陷多动障碍检测的虚拟现实方法及系统
  • 一种基于yolov5优化的海底生物目标检测方法和系统
  • 一种基于POD定量分析的缺陷检测参数优化方法及优化系统
技术分类

06120115935748