具有对抗性训练的伪异常样本表面缺陷检测方法及设备

文档序号:35580233发布日期:2023-09-27 02:16阅读:84来源:国知局
具有对抗性训练的伪异常样本表面缺陷检测方法及设备与流程

本发明涉及计算机视觉与缺陷检测,特别涉及一种具有对抗性训练的伪异常样本表面缺陷检测方法及设备。


背景技术:

1、物体表面缺陷检测是工业自动化生产不可或缺的一个环节,研究物体表面缺陷检测技术具有很强的现实意义。基于传统机器视觉的物体表面缺陷检测方法一般流程包括:图像处理、特征提取、目标分类。实际工作中,在获取图像数据后,通常采用图像增强和图像分割等处理技术预先分离出缺陷区域,然后再根据缺陷目标人为设计特征规则,手工提取缺陷区域的特征,最后应用一些分类算法对缺陷特征进行分类。

2、但传统的机器视觉缺陷检测技术在实际应用中遇到了许多问题和挑战,特别是在那些用于区分缺陷和非缺陷的传统图像特征是基于经验手动设计的年代。传统图像特征提取算子的特征通常处于低水平。在诸如照明变化、透视失真、遮挡、对象变形等复杂场景变化的情况下,提取的特征通常不够鲁棒,无法处理它们,因此许多算法在实际环境中不适用。而深度学习的快速发展使其在缺陷检测领域得到了越来越广泛的应用。

3、基于深度学习的物体表面缺陷检测方法是一种端对端的检测方案,由卷积神经网络自主学习提取缺陷特征,其较人为设计规则提取特征更能准确地表述和理解缺陷信息,检测更为精准。近年来,深度学习已被证明在物体检测和分类、面部检测、模式识别、故障诊断、目标跟踪以及其他各种基于图像的应用中非常成功。事实证明,在检测图像中的图案时,它对背景、照明、颜色、形状、大小和强度都具有鲁棒性。当在工业环境中检测复杂的表面缺陷时,使用基于深度学习的方法效果特别理想。常见的深度学习方法可分为有监督学习,无监督学习。

4、但当用于工业产品的表面缺陷检测时,基于深度学习方法,不平衡样本的识别是一个难点。在深度学习中,当模型被训练时,通常需要平衡样本集中各种类别的样本数量。然而,这种理想情况在现实中很少出现。在更多情况下,数据集中正常样本的数据通常占大多数,而缺陷样本的数量仅占总样本的一小部分。这种现象被称为“不平衡样本”现象。不平衡样本识别问题主要存在于监督学习任务中。该问题的出现将导致算法更加关注数据量较大的类别,而低估数据量较小的类别,从而影响模型在测试数据中的泛化和预测能力,无监督学习可以很大程度上解决这一问题。

5、然而,由于非显著缺陷和不同缺陷之间的相似性,高效定位和分类表面缺陷仍然是一个挑战。此外,不同工业产品的缺陷形状、特征复杂多变,对产品进行拍照时的成像角度和光照条件也不尽相同,导致缺陷检测模型很难适应不同类型产品的缺陷检测需求,性能下降明显。因此,设计具有领域自适应能力的缺陷检测模型是未来一大研究方向。


技术实现思路

1、针对上述现有技术存在的不足,本发明提出了一种具有对抗性训练的伪异常样本表面缺陷检测方法及设备。其目的在于解决表面缺陷检测中异常样本稀少的问题以及完成更高效的异常位置定位,并且由于训练中未使用特定异常样本,此模型具有一定的领域自适应能力。

2、根据本发明的第一方面,一种具有对抗性训练的伪异常样本表面缺陷检测方法,包括以下步骤:

3、s1:构建一个对象检测器,所述对象检测器包括:特征提取网络和rpn;

4、s2:将正常对象送入对象检测器,得到n个目标子样本;

5、s3:构建特征编解码器,所述特征编解码器由cae组成,cae包括:编码器、第一解码器和第二解码器;

6、s4:将对象检测器得到的n个目标子样本中的任一目标子样本送入编码器,将与表面缺陷检测数据集无关的数据作为伪异常样本送入编码器,经过第一解码器进行正常样本的训练,重构正常对象,经过第二解码器进行伪异常样本对抗训练,解码伪异常对象;

7、s5:继续将剩余的n-1个目标子样本重复s4,直至一个对象结束;同时根据各损失更新网络参数,完成编码器的训练;

8、s6:计算各目标子样本和其重构之后的绝对差,计算伪异常样本与其解码结果的绝对差;

9、s7:构建分类器并训练分类器;

10、s8:测试阶段,去掉第二解码器,将测试样本送入已经训练完成的对象检测器、cae和分类器,得出表面缺陷检测结果。

11、进一步地,步骤s1中,所述特征提取网络采用resnet-50,在imagenet上预训练后再用能收集到的工业产品表面缺陷再一次训练来提高精度;rpn用于得到建议框,将每个建议框裁取得到疑似目标区域每一个区域作为一个目标子样本,在训练阶段,采用随机获取建议框的形式。

12、进一步地,步骤s3中,每个编码器由三个卷积层组成,每个卷积层之后是最大池化层,滤波器大小为2×2,步长为2;卷积层由3×3的滤波器组成;每个卷积层之后都有relu作为激活函数;前两个卷积层由32个过滤器组成,而第三个卷积层由16个过滤器组成,潜在表示由16个大小为8×8的激活图组成;

13、每个解码器从上采样层开始,将激活图的空间支持增加2倍;上采样操作基于最近邻插值;上采样后,应用了一个带有16个3×3滤波器的卷积层;第一个上采样层和卷积层之后是另两个上采样层与卷积层,最后一个卷积层由单个卷积滤波器构成。

14、进一步地,步骤s4中,对于重构正常对象的第一解码器d,采用mse损失函数作为损失函数ld:

15、

16、其中,h、w分别为输入正常样本的高和宽并且h=w=64,xij为以h为行w为列的第i行第j列的正常样本的灰度图数值,为xij通过解码器之后得到的数值,θe为编码器的参数,θd为第一解码器的参数;

17、对于解码伪异常对象的第二解码器分支d',采用mse损失函数作为损失函数ld′:

18、

19、其中,h、w分别为输入伪异常样本的高和宽并且h=w=64,xij为以h为行w为列的第i行第j列的伪异常样本的灰度图数值,为xij通过解码

20、器之后得到的数值,θe为编码器的参数,θd′为第二解码器的参数。

21、进一步地,将一个正常对象由对象检测器得出的所有目标子样本完成s3-s4步骤,同时实时更新网络参数;

22、网络参数的更新规则如下:

23、

24、

25、

26、其中,η是学习率,λ是反向梯厦的权重,在训练过程中,第一解码器采用梯厦下降的方式,第二解码器采用梯度上升的方式。

27、进一步地,步骤s6具体包括:

28、在训练编码器直到收敛之后,冻结参数θe、ad,用于后续分类器的训练;

29、将每个目标子样本在经过第一解码器获得重构图之后与原目标子样本计算绝对差,用于后续分类器训练:

30、将伪异常样本经过第二解码器之后的结果与原伪异常样本计算绝对差,用于后续分类器训练。

31、进一步地,步骤s7具体包括:

32、构建一个二分类器,并使用二元交叉熵损失来训练分类器;二元交叉熵函数如下:

33、

34、其中是绝对差的预测概率,y是真实标签,当为伪异常样本的绝对差时,y=1;当为各个目标子样本的绝对差时,y=0;使用adam进行优化。

35、进一步地,步骤s8具体包括:

36、去掉特征编解码器中的第二解码器;

37、将测试样本经过对象检测器得出n个子样本后,将n个子样本依次送入去掉第二解码器之后的特征编解码器,得出绝对差,再送入分类器得出每个子样本的预测结果;

38、完成一个对象所有的样本检测之后,按分类器得出每个子样本的异常分数排序,设定阈值,超过阈值则判断为异常,并将存储的位置信息在检测图片中显示得出异常检测区域。

39、优选地,所述阈值为0.5。

40、根据本发明又一方面,一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现所述的伪异常样本表面缺陷检测方法的步骤。

41、本发明提供的技术方案具有以下有益效果:

42、(1)本方法提出了一种具有对抗性训练的伪异常样本表面缺陷检测方法,通过“伪异常”样本的加入,使得模型在不需要额外异常样本学习的基础上能够适应检测数据集,从而达到工业产品表面缺陷的有效检测,并且具有一定的领域自适应能力。

43、(2)本方法相较于其他表面缺陷检测方法,由于加入了对象检测器,进一步缩小缺陷所在区域,能够有效减少背景的干扰,使得模型能够更精准定位缺陷位置。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1