一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于两阶段学习的工业产品外观异常检测方法及系统与流程

2022-08-08 06:41:55 来源:中国专利 TAG:


1.本发明涉及深度学习与人工智能技术领域,尤其涉及一种基于两阶段学习的工业产品外观异常检测方法及系统。


背景技术:

2.工业产品外观异常检测,是指通过数据挖掘的方法检测出与正常实例不同的、异常的或有缺陷的实例,是对正常类别和异常类别的二元分类,也是深度学习、计算机视觉和人工智能领域最重要、最常见的任务之一。但与监督分类问题不同的是,在工业场景中异常数据罕见,致使获取的成本高、难度大且工业产品缺陷情况复杂,因而异常检测模型只能使用正常样本进行学习和训练。此外,在检测过程中与正常产品不同的被归为异常并召回,这一过程也被称为工业冷启动。
3.目前,市面上现有的工业产品外观异常检测主要采用auto-encoder (ae)、generative adversarial network (gan)等相关网络结构,或其他非基于重构误差的方法,其中,ae和gan具有良好的可解释性,但在实际检测过程中,由于工业产品在工业场景中的图像背景比较单一,且产品的缺陷通常表现在局部而非整个工件,使得上述方法对异常图像也有很好的重构效果,这会使得难以区分重构前后的图像,从而导致异常产品的漏检率较高。
4.此外,其他基于非重构的方法对于中心对齐或整个图像对齐的数据有较好的效果,但对于实际工业制造中采集到的存在位置偏移、重影失真等图像有一定的性能下降,更重要的是,在生产中遗漏异常产品的成本要比将正常样品误判为异常的成本大得多,而上述现有的方法并没有考虑到行业的实际需求,从而无法满足现代化企业的使用要求。


技术实现要素:

5.针对现有技术的不足,本发明提供了一种基于两阶段学习的工业产品外观异常检测方法及系统,解决了异常产品漏检率较高的技术问题,达到了大大减少缺陷样品的漏检,从而满足了实际工业应用中对缺陷样品高召回率的严格要求的目的。
6.为解决上述技术问题,本发明提供了如下技术方案:一种基于两阶段学习的工业产品外观异常检测方法,包括以下步骤:获取测试数据集和训练数据集及imagenet图像数据集;根据所述训练数据集训练预设的卷积神经网络以获得第一阶段异常检测模型;将所述测试数据集输入所述第一阶段异常检测模型,获得第一异常检测结果;根据所述imagenet图像数据集训练预设的卷积神经网络以获得第二阶段异常检测模型;将测试数据集子集输入所述第二阶段异常检测模型,获得第二异常检测结果,其中,所述测试数据集子集为从测试数据集中剔除第一异常检测结果后剩余的测试数据;生成召回指令将所述第一异常检测结果和第二异常检测结果对应的异常产品进
行召回。
7.进一步地,所述训练数据集包括伪异常样本和含有点位信息的正常样本,其中,所述伪异常样本为根据cutcover方法和outlier exposure方法构造的区别于正常样本的图像。
8.进一步地,所述将测试数据集子集输入所述第二阶段异常检测模型,获得第二异常检测结果,包括:获取所述训练数据集中正常样本的占比;根据所述正常样本和所述训练数据集中正常样本的占比,计算所述测试数据集子集的异常分数和检测阈值;判断所述测试数据集子集的异常分数是否小于检测阈值,如果所述测试数据集子集的异常分数小于检测阈值,则判定为正常产品;否则,判定为异常产品。
9.进一步地,所述训练数据集中正常样本的占比小于预设值时,计算所述测试数据集子集的异常分数和检测阈值,包括:将所述正常样本输入第二阶段异常检测模型以提取不同层级的第一特征向量;将第一特征向量沿通道维度进行拼接以获得来自不同语义层次和分辨率的第二特征向量,并将第二特征向量拟合为多元高斯分布;将测试数据集子集与上述多元高斯分布之间的mahalanobis距离的平方作为异常分数,并根据理论分位数给出检测阈值。
10.进一步地,所述训练数据集中正常样本的占比大于或等于预设值时,计算所述测试数据集子集的异常分数和检测阈值,包括:从正常样本中抽取一批作为已知标签的测试样本,将剩余的正常样本输入第二阶段异常检测模型以提取不同层级的第一特征向量;将第一特征向量沿通道维度进行拼接以获得来自不同语义层次和分辨率的第二特征向量,并将第二特征向量拟合为多元高斯分布;将测试数据集子集与上述多元高斯分布之间的mahalanobis距离的平方作为异常分数;将从正常样本中抽取的已知标签的测试样本输入到上述多元高斯分布中得到已知标签的测试样本的异常分数,则取已知标签的测试样本的异常分数的概率分布的经验分位数作为检测阈值。
11.进一步地,所述训练数据集中还包括真实异常样本图像。
12.进一步地,所述测试数据集是由图像采集设备所采集的多个工业产品外观图像本发明还提供了一种技术方案:一种基于两阶段学习的工业产品外观异常检测系统,包括:数据集获取单元,所述数据集获取单元用于获取训练数据集和测试数据集及imagenet图像数据集;第一阶段异常检测模型构建单元,所述第一阶段异常检测模型构建单元用于根据所述训练数据集训练预设的卷积神经网络以获得第一阶段异常检测模型;第一检测单元,所述第一检测单元用于将所述测试数据集输入所述第一阶段异常检测模型,获得第一异常检测结果;
第二阶段异常检测模型构建单元,所述第二阶段异常检测模型构建单元用于根据所述imagenet图像数据集训练预设的卷积神经网络以获得第二阶段异常检测模型;第二检测单元,所述第二检测单元用于将测试数据集子集输入所述第二阶段异常检测模型,获得第二异常检测结果,其中,所述测试数据集子集为从测试数据集中剔除第一异常检测结果后剩余的测试数据;召回指令生成单元,所述召回指令生成单元用于生成召回指令将所述第一异常检测结果和第二异常检测结果对应的异常产品进行召回。
13.进一步地,所述第二检测单元包括:占比获取模块,所述占比获取单元用于获取所述训练数据集中正常样本的占比;计算模块,所述计算单元用于根据所述正常样本和所述训练数据集中正常样本的占比,计算所述测试数据集子集的异常分数和检测阈值;异常判断模块,所述异常判断单元用于判断所述测试数据集子集的异常分数是否小于检测阈值,如果所述测试数据集子集的异常分数小于检测阈值,则判定为正常产品;否则,判定为异常产品。
14.借由上述技术方案,本发明提供了一种基于两阶段学习的工业产品外观异常检测方法及系统,至少具备以下有益效果:1、本发明第一阶段通过正常样本和根据cutcover和outlier exposure方法构造显著区别于正常样本的伪异常样本对卷积神经网络进行训练,获得第一阶段异常检测模型,从而可将图像采集设备所采集的测试数据集中具有重影和特征模糊的低质量图像以及一些具有明显缺陷的异常图像进行初步筛选,进而降低了异常产品漏检率。
15.2、本发明第二阶段通过imagenet图像数据集训练卷积神经网络获得第二阶段异常检测模型,并根据训练数据集中正常样本的占比和正常样本,计算测试数据集子集的异常分数和异常检测模型的检测阈值,可对测试数据集中存在局部微小缺陷的图像进行筛选,提高了产品缺陷检测的准确性,满足实际工业应用中对缺陷样品高召回率的严格要求。
16.3、本发明通过在训练数据集中增加少量真实异常样本,便于促使卷积神经网络学习到正常样本和真实异常样本特征向量更加深层次的区别,而非得到简易的朴素解,提高了第一阶段异常检测的检测准确性,进一步降低了异常产品漏检率;另外,在训练数据集中正常样本的数量较多时,从正常样本中抽取部分样本参与特征分布拟合,而将剩余的正常样本输入到拟合好的多元高斯网络中去得到异常分数,之后选择这些分数的经验分位数替代理论分位数做为检测阈值,提高了第二阶段异常检测的准确性,更加适应于工业产品外观缺陷检测。
17.本发明通过两阶段学习框架的设计,在待检测样本被任意一阶段判断为异常时,最终都将被检测为缺陷样本,满足了实际工业应用中对缺陷样品高召回率的严格要求;另外在高斯假设下,当特征维度足够大时,异常分数近似服从一维高斯分布,则分布的分位数可以作为工业冷启动的检测阈值,而且使用经验分位数代替理论分位数作为异常检测的判定阈值,从而提高异常检测的准确性。
附图说明
18.此处所说明的附图用来提供对本技术的进一步理解,构成本技术的一部分,本申
请的示意性实施例及其说明用于解释本技术,并不构成对本技术的不当限定。在附图中:图1为本发明实施例一提供的基于两阶段学习的工业产品外观异常检测方法的架构图;图2为本发明实施例一提供的基于两阶段学习的工业产品外观异常检测方法的流程图;图3为本发明实施例二提供的基于两阶段学习的工业产品外观异常检测方法的流程图;图4为本发明实施例三提供的基于两阶段学习的工业产品外观异常检测方法的流程图;图5为本发明实施例四提供的基于两阶段学习的工业产品外观异常检测方法的流程图;图6为本发明提供的基于两阶段学习的工业产品外观异常检测方法中异常检测判定阈值的计算原理图;图7为本发明实施例五提供的基于两阶段学习的工业产品外观异常检测系统的框图。
19.图中:100、数据集获取单元;200、第一阶段异常检测模型构建单元;300、第一检测单元;400、第二阶段异常检测模型构建单元;500、第二检测单元;501、占比获取模块;502、计算模块;503、异常判断模块;600、召回指令生成单元。
具体实施方式
20.为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。借此对本技术如何应用技术手段来解决技术问题并达成技术功效的实现过程能充分理解并据以实施。
21.本领域普通技术人员可以理解实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,因此,本技术可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本技术可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
22.实施例一请参照图1、图2和图6,示出了根据本发明实施例一的一种基于两阶段学习的工业产品外观异常检测方法,该方法通过第一阶段学习可将具有重影和中心偏移的低质量图像以及具有明显缺陷的异常图像进行召回,再通过第二阶段学习可将特征清晰且对齐但存在局部微小缺陷的图像进行召回,大大减少了异常样本的漏检,而且便于冷启动后的模型优化迭代,适应于工业场景,如图2所示,具体包括以下步骤:s11、获取训练数据集和测试数据集及imagenet图像数据集,其中,训练数据集包括伪异常样本和含有点位信息的正常样本。
23.1)测试数据集是由图像采集设备所采集的多个工业产品外观图像。本实施例中,图像采集设备为工业相机。
24.2)训练数据集包括伪异常样本和含有点位信息的正常样本。
25.具体的,伪异常样本指通过根据cutcover和outlier exposure方法构造的显著区别于正常样本的图像,其中,cutcover方法指的是从正常样本中裁剪与待检测对象尺寸相同的矩形区域,并将矩形区域和正常样本中待检测对象重叠后构成的图像;outlier exposure方法指的是从待检测产品零件附近区域进行随机裁剪操作,获得与正常样本尺寸相同的图像,作为辅助的异常图像集。
26.需要说明的是,与故意挑选的接近正常分布的异常数据或者人工合成的异常图像集相比,通过采用outlier exposure方法构造的作为辅助的异常图像集训练获得的异常检测模型更加有效,提高了泛化能力,能够检测出未见过的异常样本,从而降低了异常产品漏检率。
27.则可将第一阶段异常检测的训练目标定义如下:其中,表示正常样本,即in-distriubtion, 和分别代表使用cutcover方法和outlier exposure方法构造的伪异常样本,out表示分布外数据,即out-of-distribution,表示测试数据集x输入卷积神经网络之后得到的预测标签,1代表正常样本的真实标签,0代表异常样本的真实标签,λ表示伪异常样本的权重系数,表示交叉熵损失,即,y代表真实标签,代表预测值,代表期望,在计算中选择用经验均值替代。
28.需要说明的是,λ的取值由训练集数据中样本分布决定,一般可取2~3之间。具体的,当训练数据集中正常样本的数量大于伪异常样本的数量时,可以选择较大的λ值以保持样本的平衡;当对异常样本的漏检率要求严格时,还可以选择更大的λ值以提高伪异常样本的训练权重,而这也会一定程度上导致部分正常样本被误判为异常样本。因此,可以选择交叉验证的方式,选择合适的λ值。
29.在本实施例中,含有点位信息的正常样本指在同一生产线上的工业产品有多个点位时,为每个正常样本定义一个点位标签,构成含有点位标签的正常样本;设产品包含的点位个数为i,则含有点位标签的正常样本可表示为:其中,i指点位信息,,指点位i对应的正常样本。
30.则可将第一阶段异常检测的训练目标定义如下:在工业产品不含有点位时,对正常样本进行一系列如旋转、水平翻折和随机裁剪等几何变换操作,并构造该几何变换的点位标签。
31.这样会促使卷积神经网络学习到正常样本和伪异常样本特征向量更加深层次的区别,而非得到简易的朴素解,从而提高了第一阶段异常检测的检测准确性。
32.3)imagenet图像数据集是一个旨在为世界各地的研究人员提供易于访问的数据
库,其中,总共含有14197122副图像,总共分为21841个类别,研究人员可根据需要下载相应的数据集。
33.s12、根据训练数据集训练预设的卷积神经网络以获得第一阶段异常检测模型。
34.在本实施例中,选择使用的是多层卷积神经网络,包括卷积层、平均池化层和多层感知机mlp,在输入训练数据集进行训练时,可以直接加载卷积层和池化层的预训练权重作为模型的权重,且只需将线性输出类别个数根据数据分布修改即可进行训练,经过多次迭代训练可获得进行第一阶段异常检测的模型。
35.s13、将测试数据集输入第一阶段异常检测模型,获得第一异常检测结果。
36.本实施例中,第一异常检测结果包括在实际工业场景中,工业产品在装配线上运输过程中或其它因素导致工业相机拍摄产品外观图像出现重影和中心偏移的图像。为此,实现了对测试数据集中图像重影和特征模糊等异常样本的初步筛选。
37.s14、根据imagenet图像数据集训练预设的卷积神经网络以获得第二阶段异常检测模型。
38.在本实施例中,选择使用的是多层卷积神经网络,包括卷积层、平均池化层和多层感知机mlp,采用wide resnet模型或efficientnet模型,通过将下载的imagenet图像数据集输入预设的卷积神经网络进行训练,便可获得用于进行第二阶段异常检测的模型。
39.s15、将测试数据集子集输入第二阶段异常检测模型,获得第二异常检测结果,其中,测试数据集子集为从测试数据集中剔除第一异常检测结果后剩余的测试数据。具体检测过程包括以下步骤:s151、获取训练数据集中正常样本的占比;s152、训练数据集中正常样本的占比小于预设值,则将正常样本图像输入第二阶段异常检测模型以提取不同层级的第一特征向量;在本实施例中,预设值设为0.8,即当训练数据集中正常样本的占比小于0.8时,将正常样本图像输入第二阶段异常检测模型以提取不同层级的第一特征向量。
40.s153、将第一特征向量沿通道维度进行拼接以获得来自不同语义层次和分辨率的第二特征向量,并将第二特征向量拟合为多元高斯分布;具体的,假设每一层级的第一特征向量均服从多元高斯分布,具体多元高斯分布概率密度函数为:其中,x指正常样本,μ指正常样本的均值向量,μ指正常样本的均值向量,,d指正常样本的维度,τ指对向量或矩阵进行转置。
41.则每一层的特征向量,其中,指卷积神经网络的第
层,,n为卷积神经网络总共的层数,为第层特征的维度,,分别为第层高斯分布的均值和协方差矩阵。且假设不同特征层第一特征向量之间是相互独立的,则沿通道维度进行拼接之后的第二特征向量为,其中:记为将第j个正常样本图像不同层的第一特征向量拼接之后得到的第二特征向量,记为embedding,则可得均值向量μ的极大似然估计为则可得均值向量μ的极大似然估计为,协方差矩阵σ的极大似然估计为:其中,n为正常样本个数。由于训练数据集中正常样本个数是有限的,所以embedding的维度远大于正常样本个数,变得奇异不可逆,为更好地估计协方差矩阵,引入了经验协方差矩阵的一种变换方式:其中,α是收缩系数,指的迹,即的主对角线元素之和,d指的维度,指维度为d的单位矩阵。在数据服从高斯分布的假设下,oracle收缩近似协方差估计器有着较小均方误差的收缩系数,可以更好地估计协方差矩阵。因此,本实施例中选择使用协方差的oracle近似收缩估计。当然,本步骤还可以选择ledoit-wolf协方差估计法对不同数据分布下的协方差进行估计,在此不再展开详细描述。
[0042] s154、将测试数据集子集与上述多元高斯分布之间的mahalanobis距离的平方作为异常分数,并根据理论分位数给出检测阈值;在本实施例中,使用测试数据集子集与上述多元高斯分布之间的mahalanobis距离的平方作为测试图像的异常分数,其中,mahalanobis距离表达式如下:mahalanobis距离表达式如下:表示特定的点x和一个具有均值μ、协方差矩阵σ的多元高斯分布之间的距离。
[0043]
测试数据集子集中测试图像的异常分数为:,当x来自高斯分布时,服从自由度的卡方分布,其中,是多元高斯分布的
维度,即:。
[0044]
根据中心极限定理,当自由度k足够大时,近似服从一维正态分布,其中正态分布的均值和方差分别是卡方分布的均值和方差,即。
[0045]
则异常分数在中心极限定理保证下有:。
[0046]
此时,检测阈值为下α分位数,即理论分位数,为了保证工业产品异常检测具有较低的异常样本漏检率,可选择了高斯分布75%、80%、85%的下α分位数作为检测阈值。
[0047] s155、判断测试数据集子集的异常分数是否小于检测阈值,如果测试数据集子集的异常分数小于检测阈值,则判定为正常产品;否则,判定为异常产品。
[0048]
在本实施例中,如果测试数据集子集中的测试图像异常分数,则判定为正常产品,否则判定为异常产品。
[0049]
s16、生成召回指令将第一异常检测结果和第二异常检测结果对应的异常产品进行召回。
[0050] 本实施例,第一阶段通过正常样本和根据cutcover和outlier exposure方法构造显著区别于正常样本的伪异常样本对卷积神经网络进行训练,获得第一阶段异常检测模型,从而可将图像采集设备所采集的测试数据集中具有重影和特征模糊的低质量图像以及一些具有明显缺陷的异常图像进行初步筛选,第二阶段通过imagenet图像数据集训练卷积神经网络获得第二阶段异常检测模型,并根据训练数据集中正常样本的占比和正常样本,计算测试数据集子集的异常分数和异常检测模型的检测阈值,可对测试数据集中存在局部微小缺陷的图像进行筛选,提高了产品缺陷检测的准确性,满足实际工业应用中对缺陷样品高召回率的严格要求。
[0051]
实施例二请参照图3和图6,示出了根据本发明实施例二的一种基于两阶段学习的工业产品外观异常检测方法,该方法的步骤s22~s26分别与步骤s12~s16相同,区别仅在于步骤s21,该方法的步骤流程如图3所示,步骤s21包括:获取训练数据集和测试数据集及imagenet图像数据集,其中,训练数据集包括伪异常样本和含有点位信息的正常样本及真实异常样本。
[0052]
1)测试数据集是由图像采集设备所采集的多个工业产品外观图像。本实施例中,图像采集设备为工业相机。
[0053]
2)训练数据集包括伪异常样本和含有点位信息的正常样本及真实异常样本。
[0054]
具体的,伪异常样本指通过根据cutcover和outlier exposure方法构造的显著区别于正常样本的图像,其中,cutcover方法指的是从正常样本中裁剪与待检测对象尺寸相同的矩形区域,并将矩形区域和正常样本中待检测对象重叠后构成的图像;outlier exposure方法指的是从待检测产品零件附近区域进行随机裁剪操作,获得与正常样本尺寸相同的图像,作为辅助的异常图像集。
[0055]
含有点位信息的正常样本指在同一生产线上的工业产品有多个点位时,为每个正常样本定义一个点位标签,构成含有点位标签的正常样本;设产品包含的点位个数为i,则
含有点位标签的正常样本可表示为:其中,i指点位信息,,指点位i对应的正常样本图像。
[0056]
真实异常样本指真实的存在缺陷的产品图像,且真实异常样本在训练数据集中占比较低,则第一阶段异常检测的训练目标定义如下:则第一阶段异常检测的训练目标定义如下:其中,为真实异常样本,β为真实异常样本训练权重。
[0057]
本实施例,通过在训练数据集中增加少量真实异常样本,便于促使卷积神经网络学习到正常样本和真实异常样本特征向量更加深层次的区别,而非得到简易的朴素解,提高了第一阶段异常检测的检测准确性,进一步降低了异常产品漏检率。
[0058]
实施例三请参照图4和图6,示出了根据本发明实施例三的一种基于两阶段学习的工业产品外观异常检测方法,该方法的步骤s31~s34、s36分别与步骤s11~s14、s16相同,区别仅在于步骤s35,该方法的步骤流程如图4所示,步骤s35包括:将测试数据集子集输入第二阶段异常检测模型,获得第二异常检测结果,其中,测试数据集子集为从测试数据集中剔除第一异常检测结果后剩余的测试数据。具体检测过程包括以下步骤:s351、获取训练数据集中正常样本的占比。
[0059]
s352、训练数据集中正常样本的占比大于或等于预设值,则从正常样本中抽取一批作为已知标签的测试样本,将剩余的正常样本输入第二阶段异常检测模型以提取不同层级的第一特征向量。
[0060]
在本实施例中,预设值设为0.8,即当训练数据集中正常样本的占比大于或等于0.8时,从正常样本中抽取3/4的样本作为已知标签的测试样本,将剩余的1/4的正常样本输入第二阶段异常检测模型以提取不同层级的第一特征向量。
[0061] s353、将第一特征向量沿通道维度进行拼接以获得来自不同语义层次和分辨率的第二特征向量,并将第二特征向量拟合为多元高斯分布。
[0062]
具体的,假设每一层级的第一特征向量均服从多元高斯分布,具体多元高斯分布概率密度函数为:其中,x指正常样本,,,d指正常样本的维度,τ指对向量或矩阵进行转置。
[0063]
则每一层的特征向量,其中,指卷积神经网络的第层,,n为卷积神经网络总共的层数,为第层特征的维度,,分别为第层高斯分布的均值和协方差矩阵。且假设不同特征层第一特征向量之间是相互独立的,则沿通道维度进行拼接之后的第二特征向量为,其中:记为将第j个正常样本图像不同层的第一特征向量拼接之后得到的第二特征向量,记为embedding,则可得均值向量μ的极大似然估计为则可得均值向量μ的极大似然估计为,协方差矩阵σ的极大似然估计为:其中,n为样本个数。由于训练数据集中正常样本图像个数是有限的,所以embedding的维度远大于样本个数,变得奇异不可逆,为更好地估计协方差矩阵,引入了经验协方差矩阵的一种变换方式:shrinkage;在实际计算中,即可表示为简单的凸变换:其中,α是收缩系数,指的迹,即的主对角线元素之和,d指的维度,指维度为d的单位矩阵。在数据服从高斯分布的假设下,oracle收缩近似协方差估计器有着较小均方误差的收缩系数,可以更好地估计协方差矩阵。因此,本实施例中选择使用协方差的oracle近似收缩估计。当然,本步骤还可以选择ledoit-wolf协方差估计法对不同数据分布下的协方差进行估计,在此不再展开详细描述。
[0064] s354、将测试数据集子集与上述多元高斯分布之间的mahalanobis距离的平方作为异常分数;将从正常样本图像中抽取的已知标签的测试样本输入到上述多元高斯分布中得到已知标签的测试样本的异常分数,则取已知标签的测试样本的异常分数的概率分布的经验分位数作为检测阈值。
[0065]
在本实施例中,使用测试数据集子集与上述多元高斯分布之间的mahalanobis距离的平方作为测试图像的异常分数,其中,mahalanobis距离表达式如下:
表示特定的点x和一个具有均值μ、协方差矩阵σ的多元高斯分布之间的距离。
[0066]
测试数据集子集中测试图像的异常分数为:,当x来自高斯分布时,s(x)服从自由度的卡方分布,其中,是多元高斯分布的维度,即:。
[0067]
根据中心极限定理,当自由度k足够大时,近似服从一维正态分布,其中正态分布的均值和方差分别是卡方分布的均值和方差,即。
[0068]
则异常分数在中心极限定理保证下有:。
[0069]
将从正常样本图像中抽取的已知标签的测试样本输入到上述多元高斯分布中得到已知标签的测试样本的异常分数,则取已知标签的测试样本的异常分数的概率分布的经验分位数作为检测阈值,如图6所示,检测阈值可以根据正态分布的下α分位数确定,其中,下α分位数的概率定义为:也就是说,进行产品外观异常检测的阈值可以根据工业产线的要求来调整,即对异常样本漏检的容忍度越低,则下α分位数值应选择越小。
[0070]
s355、判断测试数据集子集的异常分数是否小于检测阈值,如果测试数据集子集的异常分数小于检测阈值,则判定为正常产品;否则,判定为异常产品。
[0071]
具体的,如果测试数据集子集中的测试图像异常分数,则判定为正常产品,否则判定为异常产品。
[0072]
本实施例,在训练数据集中正常样本的数量较多时,从正常样本中抽取部分样本参与特征分布拟合,而将剩余的正常样本输入到拟合好的多元高斯网络中去得到异常分数,之后选择这些分数的经验分位数替代理论分位数做为检测阈值,提高了第二阶段异常检测的准确性,更加适用于工业场景。
[0073]
实施例四请参照图5和图6,示出了根据本发明实施例四的一种基于两阶段学习的工业产品外观异常检测方法,该方法的步骤s42~s46分别与步骤s32~s36相同,区别仅在于步骤s41,该方法的步骤流程如图5所示,步骤s41包括:获取训练数据集和测试数据集及imagenet图像数据集,其中,训练数据集包括伪异常样本和含有点位信息的正常样本及真实异常样本。
[0074]
1)测试数据集是由图像采集设备所采集的多个工业产品外观图像。本实施例中,图像采集设备为工业相机。
[0075]
2)训练数据集包括伪异常样本和含有点位信息的正常样本及真实异常样本。
[0076]
具体的,伪异常样本指通过根据cutcover和outlier exposure方法构造的显著区
别于正常样本的图像,其中,cutcover方法指的是从正常样本中裁剪与待检测对象尺寸相同的矩形区域,并将矩形区域和正常样本中待检测对象重叠后构成的图像;outlier exposure方法指的是从待检测产品零件附近区域进行随机裁剪操作,获得与正常样本尺寸相同的图像,作为辅助的异常图像集。
[0077]
含有点位信息的正常样本指在同一生产线上的工业产品有多个点位时,为每个正常样本定义一个点位标签,构成含有点位标签的正常样本;设产品包含的点位个数为i,则含有点位标签的正常样本可表示为:其中,i指点位信息,,指点位i对应的正常样本。
[0078]
真实异常样本指真实的存在缺陷的产品图像,且真实异常样本在训练数据集中占比较低,则第一阶段异常检测的训练目标定义如下:则第一阶段异常检测的训练目标定义如下:其中,为真实异常样本,β为真实异常样本训练权重。
[0079] 本实施例,通过在训练数据集中增加少量真实异常样本,便于促使卷积神经网络学习到正常样本和真实异常样本特征向量更加深层次的区别,而非得到简易的朴素解,提高了第一阶段异常检测的检测准确性,进一步降低了异常产品漏检率;另外,由于训练数据集中正常样本的数量较多,则从正常样本中抽取部分样本参与特征分布拟合,而将剩余的正常样本输入到拟合好的多元高斯网络中去得到异常分数,之后选择这些分数的经验分位数替代理论分位数做为检测阈值,提高了第二阶段异常检测的准确性,从而满足了实际工业应用中对缺陷样品高召回率的严格要求。
[0080]
实施例五请参照图7,示出了根据本发明实施例三的一种基于两阶段学习的工业产品外观异常检测系统,包括:数据集获取单元100,数据集获取单元100用于获取训练数据集和测试数据集及imagenet图像数据集;第一阶段异常检测模型构建单元200,第一阶段异常检测模型构建单元200用于根据训练数据集训练预设的卷积神经网络以获得第一阶段异常检测模型;第一检测单元300,第一检测单元300用于将测试数据集输入所述第一阶段异常检测模型,获得第一异常检测结果;第二阶段异常检测模型构建单元400,第二阶段异常检测模型构建单元400用于根据imagenet图像数据集训练预设的卷积神经网络以获得第二阶段异常检测模型;第二检测单元500,第二检测单元500用于将测试数据集子集输入所述第二阶段异常检测模型,获得第二异常检测结果,其中,测试数据集子集为从测试数据集中剔除第一异常检测结果后剩余的测试数据;召回指令生成单元600,召回指令生成单元600用于生成召回指令将所述第一异常
检测结果和第二异常检测结果对应的异常产品进行召回。
[0081]
其中,第二检测单元500包括:占比获取模块501,占比获取模块501用于获取训练数据集中正常样本的占比;计算模块502,计算模块502用于根据正常样本和训练数据集中正常样本的占比,计算测试数据集子集的异常分数和检测阈值;异常判断模块503,异常判断模块503用于判断测试数据集子集的异常分数是否小于检测阈值,如果测试数据集子集的异常分数小于检测阈值,则判定为正常产品;否则,判定为异常产品。
[0082]
本实施例,通过两阶段学习框架的设计,当待检测样本被任意一阶段判断为异常时,最终都将被检测为缺陷样本,满足了实际工业应用中对缺陷样品高召回率的严格要求;另外在高斯假设下,当特征维度足够大时,异常分数近似服从一维高斯分布,则分布的分位数可以作为工业冷启动的判别阈值,而且使用经验分位数代替理论分位数作为异常检测的判定阈值,从而提高异常检测的准确性。
[0083]
本实施例的一种基于两阶段学习的工业产品外观异常检测系统用于实现前述多个方法实施例中相应的一种基于两阶段学习的工业产品外观异常检测方法,并具有相应的方法实施例的有益效果,在此不再赘述。
[0084]
实验例六本实施例基于上述实施例一、二、三和四中所阐述的一种基于两阶段学习的工业产品外观异常检测方法进行验证,具体方案如下:1、实验数据本实施例中,围绕两组来自真实工业场景的工业产品数据集进行异常检测实验,且均使用pytorch框架进行训练和测试。第一组实验在工业螺母数据集(nut dataset)上进行;第二组实验在电机刷架数据集(motor brush holder dataset)上进行,两组实验图像数据都被缩放到256
×
256像素,之后中心裁剪为224
×
224,多层感知机mlp的dropout设置为0.4,卷积神经网络模型选择adam优化器,学习率设置为0.001,batch_size设置为32。
[0085] 2、评价指标评价指标采用fpr、fnr和auroc,其中,fpr(false positive rate)指异常样本的漏检率;fnr(false negative rate)指正常样本的误判率;auroc(area under the receiver operating characteristic curve)指受试者工作特征曲线(roc)下面的面积,其中,roc指以fpr(false positive rate)为横轴、tpr(true positive rate)为纵轴绘制的曲线。fpr 和 fnr 越小则说明模型的性能越好,而auroc取值位于0~1之间,并且auroc取值越接近1表示性能越好。3、实验结果第一组实验按照点位信息将正常样本划分为10个类别,选择 efficientnet-b4作为检测网络和特征拟合网络的基架网络,检测任务中伪异常样本的权重λ设为3,则10个点位的平均异常样本漏检率、误判率分别为0.3%和4%,auroc高达99.3%,如表1所示:表1第一组工业产品外观异常检测结果
第二组实验按照点位信息将正常样本图像划分为9个类别,同样选择 efficientnet-b4 作为检测网络和特征拟合网络的基架网络,检测任务中伪异常样本图像的权重λ设为2,则9个点位的平均异常样本漏检率、误判率分别为3.8%和4.4%,auroc达到了97%,如表2所示:表2第二组工业产品外观异常检测结果通过实验结果可知,本发明通过两阶段学习框架的设计,提高了异常检测的准确性,从而满足实际工业应用中对缺陷样品高召回率的严格要求。
[0086]
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于以上各实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
[0087]
以上实施方式对本发明进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献