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

一种基于屏蔽重建的工业缺陷检测方法、装置及介质与流程

2022-02-20 19:56:40 来源:中国专利 TAG:


1.本发明涉及图像处理技术领域,尤其涉及一种基于屏蔽重建的工业缺陷检测方法、装置及介质。


背景技术:

2.工业产品缺陷检测领域中主要有两大方向,一是基于目标检测,二是基于异常检测,基于目标检测的缺陷检测方法已经存在较多的研究,但是从异常检测的角度来解决缺陷检测还存在很多的挑战。
3.缺陷检测中存在着很多的难点和挑战:不确定性,缺陷和很多的不确定性相关联,例如不确定的视觉特征,有一些缺陷在没有实际出现之前都是不确定的;稀缺性,缺陷样本通常是相当稀缺的,想要收集一个带有大量标注的缺陷数据集是相当困难也是几乎不太可能的;异构性,缺陷是不规则的,因此一类缺陷可能和另一类缺陷表现出完全不同的视觉特征,甚至同一类缺陷也会存在特征上的变化。上述的缺陷特性使得基于目标检测的方法有时不能很好发挥作用,但基于异常检测的方法可以一定程度上解决上述的难点和挑战。
4.当前,异常检测主要是基于正常特征建模。该类方法通常只需要正常样本用于网络的训练,该类方法更关注于正常样本特征,在检测过程中通过特征对比将特征远离正常特征的样本视作异常样本,这类方法最大的优点在于不需要有标注的异常样本作为训练样本,这可以极大程度上减少数据收集中的人力和钱力开销,在异常并不是完全已知并且数据收集代价较高时更具有吸引力,但是这类方法的问题在于,可能将特征不同于正常特征的样本都归类于异常。由于该类方法在训练时只需要提取出正常特征并构建特征分布模型,测试时只需要计算测试样本的特征和分布模型之间的距离,就可以实现缺陷的检测,故该类方法往往是轻量级的和易于实现的,并且该类方法可能将特征不同于正常特征的样本都归类于异常,故具有高召回率,适合于定位出疑似缺陷的区域。
5.其他异常检测算法中主要有通过建立特定的学习任务来学习正常特征的方法,如自编码器网络。自编码器网络训练时在正常样本集中对输入的正常样本进行重建,由于有缺陷样本未参与训练,故缺陷样本中的缺陷区域会存在更大的重构误差,因此可以检测出样本中的缺陷区域。但是由于一般缺陷检测数据集数据规模较小,一般的自编码网络容易过拟合,学习出一个恒等映射关系,即重构样本和输入样本有着完全相等的视觉特征,因此有缺陷样本在通过自编码器网络后也可能输出完全一样的重构样本,故不再能有效检测和定位出缺陷位置。


技术实现要素:

6.本发明从异常检测的角度来解决缺陷检测的问题,针对一般的自编码器网络容易在小规模的缺陷检测数据集上过拟合的问题,本发明的目的是提出一种基于屏蔽重建的工业缺陷检测方法、装置和介质。
7.为了实现上述目的,本发明采用的技术方案为:
本发明的第一方面提供一种基于屏蔽重建的工业缺陷检测方法,包括步骤:s1、获取待检测的图像样本;s2、将获取的待检测图像样本进行预处理;s3、将预处理后的待检测图像样本输入至第一级缺陷预检测网络,检测得到疑似缺陷区域;s4、将疑似缺陷区域进行屏蔽,并将未屏蔽的图像块送入第二级屏蔽自编解码网络进行编码和解码,得到待检测图像样本的重建图像;s5、将待检测图像与重建图像进行重建误差计算,并基于重建误差判定样本是否为缺陷品并确定图像样本中的缺陷区域。
8.进一步的,第一级缺陷预检测网络包括:特征提取网络,用于提取待检测图像样本中的特征;比对单元,用于计算提取的特征和相同位置处的多元高斯分布之间的马氏距离,并生成待检测图像样本的第一异常得分图。
9.进一步的,对第一级缺陷预检测网络进行训练的步骤包括:将数据集中的图像样本以局部图像块形式表示,并输入至特征提取网络提取每个图像块的特征;对每个位置的图像块特征以多元高斯分布形式建模,并将生成的多元高斯分布参数储存。
10.进一步的,通过训练后的第一级缺陷预检测网络定位待检测图像样本中疑似缺陷区域的步骤包括:获取预处理后的待检测图像样本;将预处理后的待检测图像样本以局部图像块的形式表示;通过特征提取网络提取局部图像块中每个图像块的特征;通过比对单元计算每个位置处图像块的特征和训练所得的相同位置处的多元高斯分布之间的马氏距离,并生成第一异常得分图;通过第一异常得分图结合异常阈值将待检测图像样本中疑似缺陷的区域定位。
11.进一步的,第二级屏蔽自编解码网络由编码器和解码器构成,编码器用于提取输入图像序列中未被屏蔽的图像块的特征,解码器用于结合未被屏蔽图像块的特征和被屏蔽图像块的编码特征,解码得到与待检测图像样本相同分辨率的重建图像。
12.进一步的,步骤s4具体包括:将所述第一级缺陷预检测网络定位所得的疑似缺陷区域屏蔽;将屏蔽后的图像块输入至第二级屏蔽自编解码网络的编码器中,通过编码器对未屏蔽的图像块进行编码,得到每一个未屏蔽图像块的编码特征块;根据每一个未屏蔽图像块的编码特征块通过解码器重建出被屏蔽的图像块,并得到与待检测图像样本相同分辨率的重建图像。
13.进一步的,步骤s5中将待检测图像与重建图像进行重建误差计算,并基于重建误差判定样本是否为缺陷品并确定图像样本中的缺陷区域的具体步骤包括:计算重建的图像样本和待检测图像样本之间的重建误差,并生成第二异常得分图;
选取第二异常得分图中的最大值作为所述待检测样本的图像级异常得分,若图像级异常得分大于预设图像级异常阈值时,则所述样本被判定为缺陷品,所述第二异常得分图中大于预设像素级异常阈值的区域则被判定为缺陷区域。
14.本发明第二方面,提供一种基于屏蔽重建的工业缺陷检测装置,包括至少一个处理器、以及至少一个存储器,其中,所述存储器存储有计算机程序,当所述程序被所述处理器执行时,使得所述处理器能够执行基于屏蔽重建的工业缺陷检测方法。
15.本发明第三方面,提供一种计算机可读存储介质,当所述存储介质中的指令由设备内的处理器执行时,使得所述设备能够执行基于屏蔽重建的工业的缺陷检测方法。
16.本发明与现有技术相比,至少包含以下有益效果:(1)通过利用屏蔽自编解码网络重建输入的部分屏蔽图像序列,有效解决了一般的自编码网络在小型缺陷数据集上的过拟合问题;(2)利用正常样本建模,就可以实现缺陷检测及定位,避免了对大规模有标注的缺陷样本数据集的需求;(3)提供了一种在小型缺陷数据集上有效训练深层卷积网络的方式,并且由于本方法的主要开销在于运行一遍屏蔽自编码器,该方法可以达到实时检测的要求,更加适合于工业缺陷检测等场景中的应用。
附图说明
17.图1是本发明中基于屏蔽重建的工业缺陷检测方法的流程图。
18.图2是本发明中缺陷检测方法的示意图。
19.图3是本发明中对第一级缺陷预检测网络进行训练的步骤流程图。
20.图4是本发明中第一级缺陷预检测网络的示意图。
21.图5是本发明中定位待检测图像样本中疑似缺陷区域的步骤流程图。
22.图6是本发明中屏蔽自编解码网络的训练示意图。
23.图7是本发明中对屏蔽的区域进行重建的步骤流程图。
24.图8是本发明中判定样本是否为缺陷品以及图像样本中的缺陷区域的步骤流程图。
具体实施方式
25.需要说明,在本发明中如涉及“第一”、“第二”、“一”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
26.另外,本发明各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本发明要求的保护范围之内。
27.以下是本发明的具体实施例,并结合附图对本发明的技术方案作进一步的描述,但本发明并不限于这些实施例。
28.如图1和图2所示,本发明基于屏蔽重建的工业缺陷检测方法,包括步骤:
s1、获取待检测的图像样本;s2、将获取的待检测图像样本进行预处理;s3、将预处理后的待检测图像样本输入至构建的缺陷预检测网络,检测得到疑似缺陷区域;s4、将疑似缺陷区域进行屏蔽,并将未屏蔽的图像块送入屏蔽自编解码器进行编码和解码,得到原图像的重建图像;s5、将原始图像与重建图像进行重建误差计算,基于重建误差判定样本是否为缺陷品并确定图像样本中的缺陷区域。
29.对于图像样本的预处理,可以包括对图像的缩放、裁剪和归一化,缩放和裁剪的目的是保证输入图像大小一致,从而可以批量输入到特征提取网络中,归一化的目的是保证输入网络的数值大小合理,不会引起数值溢出的问题。
30.本发明的整个缺陷检测模型包括训练后的第一级缺陷预检测网络和第二级屏蔽自编解码器。其中,第一级缺陷预检测网络用于定位待检测图像样本中疑似缺陷的区域。第二级屏蔽自编解码器用于将图像疑似缺陷区域屏蔽后,先将未屏蔽区域送入编码器进行编码,然后将编码后的特征块与屏蔽模版按其在原图像中的位置排序,送入解码器进行重建,得到原图像的重建图像。
31.具体的,第一级缺陷预检测网络包括特征提取网络和比对单元。特征提取网络用于提取待检测图像样本中的特征,比对单元用于计算提取的特征和相同位置处的多元高斯分布之间的马氏距离,并生成待检测图像样本的第一异常得分图。
32.进一步的,如图3和图4所示,对第一级缺陷预检测网络进行训练的步骤包括:a1、将数据集中的图像样本预处理后以局部图像块形式表示,并输入至特征提取网络提取每个图像块的特征;a2、对每个位置的图像块特征以多元高斯分布形式建模,并将生成的多元高斯分布参数储存。
33.本实施例中,对于通用图像数据集的预处理,可以包括对图像的缩放、裁剪和归一化,缩放和裁剪的目的是保证输入图像大小一致,从而可以批量输入到特征提取网络中,归一化的目的是保证输入网络的数值大小合理,不会引起数值溢出的问题。此外,在本实施例中对于图像的预处理均包括但不限于上述方式。
34.例如,对样本尺度缩放的方法可以为:将所有训练样本统一缩放并裁剪到分辨率。对输入图像归一化的方法可以为:对于图像rgb三通道,分别使用均值[0.485,0.456,0.406]和标准差[0.229,0.224,0.225]归一化到[0,1]之间。
[0035]
上述实施例中,利用在通用图像样本集(包括但不限于imagenet)上预训练的轻量级卷积神经网络(包括但不限于resnet18、mobilenetv3等)作为特征提取网络,对输入的正常样本以局部图像块的形式表示,提取出每个图像块的特征,然后对相同位置处的图像块特征建模为多元高斯分布,将每个位置处的多元高斯分布参数存储,以用于后续缺陷检测过程。
[0036]
如图5所示,在第一级的缺陷预检测网络训练完后,通过训练后的第一级缺陷预检测网络定位待检测图像样本中疑似缺陷区域的步骤包括:b1、获取预处理后的待检测图像样本;
b2、将预处理后的待检测图像样本以局部图像块的形式表示;b3、通过特征提取网络提取局部图像块中每个图像块的特征;b4、通过比对单元计算每个位置处图像块的特征和训练所得的相同位置处的多元高斯分布之间的马氏距离,并生成第一异常得分图;b5、通过第一异常得分图结合异常阈值将待检测图像样本中疑似缺陷的区域定位。
[0037]
本发明将待检测图像样本送入第一级缺陷预检测网络中,对于输入的样本,在经过与训练阶段相同的预处理后,同样以局部图像块的形式表示该样本,然后提取出每个图像块的特征,通过计算每个位置处图像块的特征和该位置处的多元高斯分布间的马氏距离,可以得到该位置处的特征和训练时构建的表示正常样本的分布之间的距离,该距离便作为该局部区域的异常得分值,计算出所有位置处的距离后,就得到了整个样本的第一异常得分图。因为所使用的特征提取网络是轻量级的网络,训练时只是提取特征并建模,测试时只是提取特征并度量和正常分布之间的距离,所以所述检测模型是轻量级的、快速的且易于实现的。
[0038]
并且在检测得到整个样本的第一异常得分图后,通过选取第一异常得分图中的最大值作为该待检测样本的图像级异常得分,第二异常得分图中大于预设像素级异常阈值的区域则被判定为缺陷区域。
[0039]
通常,在所有异常得分中,选择精确率和召回率的调和平均数这一项分数最高的得分作为图像级异常阈值,像素级异常阈值设置为图像级异常阈值的一半加0.05是一个较合适的值,在具体检测时,可以根据实际检测结果在上述阈值的基础上不断调整,以获得最优的阈值。
[0040]
第二级基于屏蔽自编解码网络由编码器和解码器构成,编码器用于提取输入图像序列中未被屏蔽的图像块的特征,解码器用于结合未被屏蔽图像块的特征和被屏蔽图像块的编码特征,对屏蔽图像块进行重建。
[0041]
屏蔽自编解码网络不同于一般自编码网络的对称结构设计,其结构设计是异构的,解码器相比于编码器更加轻量级,编码器和解码器都基于transformer模块构建,解码器相对于编码器有着更少的网络层数。
[0042]
对于屏蔽图像块的编码特征使用可学习的特征,未屏蔽图像块特征和屏蔽图像块的编码特征在送入解码器之前,都会先加上位置编码特征,用于指示每个图像块在图像中的位置信息,这样可以帮助解码器更好的重建屏蔽图像块。
[0043]
如图6所示,首先需要对屏蔽自编解码网络进行训练,在训练时,屏蔽自编解码网络只在通用图像样本集上训练,对输入的通用图像样本以局部图像块的形式表示,将所有图像块中一定比例(可达70%)的区域屏蔽掉,即将这些需要被屏蔽的图像块设为零值,然后将屏蔽后的图像块序列输入自编解码网络中,屏蔽自编解码网络通过训练利用未屏蔽的图像块来重建屏蔽掉的图像块,训练的目标是使输出的重建样本是和原始输入样本尽可能相似。
[0044]
自编解码网络的训练是基于预训练网络的微调,并且训练是完全自监督的,其包括:屏蔽自编解码网络是imagenet上预训练的网络,在特定的缺陷检测数据集中主要
是对该网络进行一定的微调;屏蔽自编解码网络以部分屏蔽的图像块序列作为输入,提取出未被屏蔽图像块的特征,然后利用这些特征重建出被屏蔽部分的图像块,得到完整的重建样本;屏蔽自编解码网络的训练过程是完全自监督的,训练的目标是使重建的样本和原始输入样本尽可能相接近,利用重建样本和原始输入样本之间的均方误差作为损失函数,用以优化自编码器的重建过程。对于输入样本x和重建样本,损失函数的形式如下所示:。
[0045]
在训练后,如图7所示,通过第二级屏蔽自编解码网络将屏蔽后的疑似缺陷区域图像作为输入对屏蔽的区域进行重建的步骤包括:c1、将所述第一级缺陷预检测网络定位所得的疑似缺陷区域屏蔽;c2、将屏蔽后的图像块输入至第二级屏蔽自编解码网络的编码器中,通过编码器对未屏蔽的图像块进行编码,得到每一个未屏蔽图像块的编码特征块;c3、根据每一个未屏蔽图像块的编码特征块通过解码器重建出被屏蔽的图像块,并得到与待检测图像样本相同分辨率的重建图像。
[0046]
在检测时,先将检测样本中疑似为缺陷的区域屏蔽掉,然后输入屏蔽自编解码网络中,屏蔽自编码网络利用剩余未被屏蔽的图像块重建出被屏蔽的图像块,因为屏蔽自编解码网络在通用图像样本集上训练时学到了如何用正常图像块重构出完整正常样本,所以检测样本中被屏蔽的图像块会被以正常模式重建。
[0047]
检测样本和其重建样本之间的重建误差可以作为异常得分的度量方式,因为缺陷区域会存在着更大的重建误差,故可以实现缺陷的检测和定位。
[0048]
因此,如图8所示,通过重建误差判定样本是否为缺陷品以及图像样本中的缺陷区域的步骤包括:t1、计算重建的图像样本和待检测图像样本之间的重建误差,并生成第二异常得分图。
[0049]
利用重构误差生成异常得分值,包括:输入样本x和重建样本,计算两者间的重构误差,即计算对应位置的均方误差,作为异常得分值:;其中表示(i,j)位置处生成的异常得分值,和分别表示该位置处的原始像素值和重建像素值。
[0050]
t2、选取第二异常得分图中的最大值作为所述待检测样本的图像级异常得分,若图像级异常得分大于预设图像级异常阈值时,则样本被判定为缺陷品,第二异常得分图中大于预设像素级异常阈值的区域则被判定为缺陷区域。
[0051]
通常,在所有异常得分中,选择精确率和召回率的调和平均数这一项分数最高的得分作为图像级异常阈值,像素级异常阈值设置为图像级异常阈值的一半加0.05是一个较合适的值,在具体检测时,可以根据实际检测结果在上述阈值的基础上不断调整,以获得最优的阈值。
[0052]
在本发明上述实施例中,在训练阶段,第一级缺陷预检测网络对正常特征进行多元高斯化的分布建模,第二级屏蔽自编解码网络学习如何利用正常图像块重建出完整的样本。在检测阶段,将待检测样本依次送入第一级缺陷预检测网络和第二级屏蔽自编解码网络中,第一级缺陷预检测网络用于定位出疑似缺陷的区域,第二级屏蔽自编解码网络利用正常图像块重建出这些疑似缺陷的区域。然后将重建样本和检测样本间的重建误差作为异常得分的衡量方式。在生成的第二异常得分图中,存在异常得分大于设定阈值的点或区域,即视为缺陷品,相应区域视为缺陷区域;如果生成的异常得分图中,所有点或区域的异常得分都不大于设定阈值的,即视为良品。
[0053]
本发明上述实施例通过利用屏蔽自编解码网络重建输入的部分屏蔽图像序列,有效解决了一般的自编码器在小型缺陷数据集上的过拟合问题,并且该算法的开销主要在于轻量级网络和自编码器的编码网络两次前向传播,而这两个网络的运算开销都不太大,该算法可以达到实时检测的要求,更加适合于工业缺陷检测等场景中的应用。
[0054]
在本发明另一实施例中,还提供一种基于屏蔽重建的工业缺陷检测装置,包括至少一个处理器、以及至少一个存储器,其中,所述存储器存储有计算机程序,当所述程序被所述处理器执行时,使得所述处理器能够执行上述任一项实施例的基于屏蔽重建的工业缺陷检测方法。
[0055]
在本发明另一实施例中,还提供一种计算机可读存储介质,当所述存储介质中的指令由设备内的处理器执行时,使得所述设备能够执行上述任一项所述的基于屏蔽重建的工业缺陷检测方法。
[0056]
本领域内的技术人员应明白,本发明的实施例可提供为方法、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
[0057]
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0058]
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0059]
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0060]
本文中所描述的具体实施例仅仅是对本发明精神作举例说明。本发明所属技术领
域的技术人员可以对所描述的具体实施例做各种各样的修改或补充或采用类似的方式替代,但并不会偏离本发明的精神或者超越所附权利要求书所定义的范围。
再多了解一些

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

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

相关文献