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

基于重构网络的缺陷检测方法与流程

2022-07-30 19:43:21 来源:中国专利 TAG:


1.本发明涉及缺陷检测技术领域,尤其涉及一种基于重构网络的缺陷检测方法。


背景技术:

2.近年来,越来越多的工业技术关注于表面缺陷检测,并改善了工业领域的质量控制。由于表面缺陷对工业产品的质量结果有很大影响,确保有缺陷的产品在早期阶段被注意到是至关重要的。在缺陷检测过程中,需要仔细和可靠地检测小缺陷,传统的人工检测已经难以满足需求,基于深度学习的检测方式逐渐成为缺陷检测的发展方向。
3.现有的缺陷检测技术大多分为有监督和无监督两种方法,有监督的方式需要对缺陷进行大量的手动标记后进行分割训练,但是因为缺陷的样式与大小各不相同,手动标记是一个又耗时又浪费人力的事情;相比之下,无监督的方式会显得较为轻松,全程需要大量的正常样本进行训练,不需要手动标记,但是这种方式的检测效果相对会没有那么理想,不同的数据增强方式会导致训练效果不同,缺陷的特征也很难定义,新类型的缺陷可能一直在发生,同时检测结果也会出现偏差,如无法检测小缺陷等,并且对正常样本的数据量需求也较大。此外,现实世界的产品图像实际上包含大量的背景噪声,常导致缺陷检测的结果变得不太可靠。
4.公开号为cn114235847a的专利提供了一种液晶面板玻璃基板表面缺陷检测装置及检测方法。该专利在采用深度学习算法对玻璃基板缺陷进行判断时,通过对图像进行区域分割,并对干扰项进行特征提取,再建立图像重构网络对缺陷进行判定,完成了对玻璃基板缺陷的判定。然而,该专利中采用常规方式进行特征提取,并将重构网络用于缺陷判定的方式不仅难以精确提取缺陷特征,对缺陷的判定结果不够准确,需要较大的训练样本数量,不适用于工业中缺少样本的缺陷检测场景,具有一定的局限性。
5.有鉴于此,有必要设计一种改进的基于重构网络的缺陷检测方法,以解决上述问题。


技术实现要素:

6.针对上述现有技术的缺陷,本发明的目的在于提供一种基于重构网络的缺陷检测方法。通过采用重构的方式,将重构网络作为特征提取器,对样本特征进行精确提取;并引入跨尺度流联合处理不同尺度的图像特征,再使用完全卷积的归一化流在各尺度之间进行交叉连接,对特征进行密度估计,使图像上的缺陷区域能够被可视化,且能够在训练样本数量较少的情况下取得较好的检测效果。
7.为实现上述目的,本发明提供了一种基于重构网络的缺陷检测方法,包括如下步骤:
8.s1、采集无缺陷图片,经数据增强处理,得到增强的样本;
9.s2、构建重构网络,将所述重构网络训练后作为特征提取器,对步骤s1得到的所述增强的样本进行特征提取,得到特征向量;
10.s3、构建基于跨尺度流的检测网络,将步骤s2得到的所述特征向量变换成不同的比例,并对不同比例对应的多尺度特征图并行地进行密度估计,输出异常密度图,得到缺陷检测结果。
11.作为本发明的进一步改进,在步骤s3中,所述基于跨尺度流的检测网络的缺陷检测过程包括如下步骤:
12.获得不同尺度的多个特征图;
13.对不同尺度的多个特征图进行联合处理;
14.使用一个完全卷积的归一化流,在各尺度之间进行交叉连接,对不同尺度的特征图进行密度估计,并根据所述密度估计为输入的样本分配可能性,以所述可能性作为缺陷的指标进行缺陷定位与标记。
15.作为本发明的进一步改进,在步骤s1中,所述数据增强处理包括对无缺陷的正常样本进行增强以及生成有缺陷的图片,所述有缺陷的图片基于gan和直方图匹配的缺陷生成网络生成;对所述正常样本进行增强的方式包括旋转、翻转、随机剪裁、粘贴、擦除中的一种或多种。
16.作为本发明的进一步改进,在步骤s1中,所述基于gan和直方图匹配的缺陷生成网络包括生成器和判别器;所述生成器通过采用局部高斯模糊将生成的区域随机混合到无缺陷样本中,模拟真实缺陷样本;所述判别器中加入了由直方图匹配生成的参考缺陷样本,并增加了对局部直方图损失的计算。
17.作为本发明的进一步改进,在步骤s2中,所述重构网络包括编码器和解码器,用于将步骤s1中生成的所述有缺陷的图片重构成模拟的无缺陷样本;所述重构网络的损失包括ssim损失函数和l2损失函数。
18.作为本发明的进一步改进,在步骤s2中,所述编码器和所述解码器之间还包括可训练的瓶颈模块;所述瓶颈模块包括可训练的mff模块和oce模块,所述mff模块用于处理来自所述编码器的多尺度特征,所述oce模块用于将获得的特征浓缩为一个瓶颈代码。
19.作为本发明的进一步改进,在步骤s2中,所述编码器包括五个卷积块,每个所述卷积块内含有两个卷积层、两个bn层和两个relu层;所述解码器包括四个特征提取块,每个所述特征提取块包括一个上采样块、一个contact块和一个反卷积块;所述上采样块采用双线性上采样方式,所述反卷积块中包括两个卷积层、两个bn层和两个relu层。
20.作为本发明的进一步改进,在步骤s2中,采用训练后的所述重构网络进行特征提取时,包括以下两种方式:
21.第一种特征提取方式为仅提取正常样本输入进所述编码器的最后一个卷积块的最后一层提取到的特征;
22.第二种特征提取方式为同时提取所述编码器和所述解码器的最后一层提取到的特征,并通过所述contact块建立连接。
23.作为本发明的进一步改进,在步骤s3中,对所述特征向量进行双射和平行变换,并保留所述特征向量的维度;采用nf框架对不同比例对应的多尺度特征图并行地进行密度估计,使细粒度的位置和上下文信息得以保持;所述密度估计是通过特征空间的未知分布到具有高斯分布的潜在空间的双向映射学习得到。
24.作为本发明的进一步改进,在步骤s3中,采用双线性上采样或分层卷积来调整不
同尺度的单个特征图的大小,然后再通过求和进行聚合。
25.本发明的有益效果是:
26.(1)本发明提供的基于重构网络的缺陷检测方法,采用重构的方式,将重构网络作为特征提取器,对样本特征进行精确提取;并引入跨尺度流联合处理不同尺度的图像特征,再使用完全卷积的归一化流在各尺度之间进行交叉连接,对特征进行密度估计,使图像上的缺陷区域能够被可视化,且能够在训练样本数量较少的情况下取得较好的检测效果。基于此,本发明提供的基于重构网络的缺陷检测方法作为一种半监督的学习方式,不仅有效解决了现有的有监督和无监督方法存在的一些不足,还非常适用于工业中样本较少的缺陷检测场景,应用范围较广。
27.(2)本发明提供的基于重构网络的缺陷检测方法,在归一化流的基础上创新性地引入了跨尺度流,形成了一种新型的全卷积跨尺度归一化流,能够同时处理不同尺度的图像特征,并通过归一化流平行传播,同时相互影响,对特征进行密度估计,从而通过联合估计多尺度特征图上的似然来检测缺陷。考虑到在训练期间关于缺陷的可辨别性是未知的,本发明提供的方法利用了局部和全局背景下的信息和关联的全部潜力,精确地学习分布,以识别缺陷样本。并且,本发明提供的方法因为采用了完全卷积结构,保留了特征向量的空间排列,使得图像上的缺陷区域能够被可视化。基于此,本发明提供的方法即使在训练样本数量较少的情况下也能取得良好的性能,这使得该方法的使用场景更广,检测效果更加精确,有效克服了现有技术的不足,在缺陷检测方面有很强的鲁棒性。
28.(3)本发明提供的基于重构网络的缺陷检测方法,通过在重构网络的编码器和解码器之间,进一步添加了一个可训练的瓶颈模块,有助于禁止一些异常特征的传播,保留有效的特征,与现有技术中通常采用的残差网络提取特征的方式相比,能够明显提升特征提取效果,进而提高缺陷检测结果的准确性。
29.(4)本发明提供的基于重构网络的缺陷检测方法,通过在数据增强的过程中进一步引入基于gan和直方图匹配的缺陷生成网络,可以将现实场景中有限的数据集进行扩充,结合直方图匹配,不仅尽最大可能避免了训练中的过度拟合问题,还可以模拟生成一定量的缺陷图片与正常图片,以满足精确训练所要求的数据量,可以有效解决在实际应用场景中样本不足,训练效果不佳的问题。
附图说明
30.图1为本发明提供的基于重构网络的缺陷检测方法的流程示意图。
31.图2为本发明一些实施例中gan中block的结构示意图。
32.图3为本发明一些实施例中根据掩码模拟生成的缺陷示意图。
33.图4为本发明一些实施例中重构网络的网络结构示意图。
34.图5为本发明一些实施例中重构网络中编码器的block的结构示意图。
35.图6为本发明一些实施例中重构网络重构得到的图像示意图。
36.图7为本发明一些实施例中跨尺度流的网络结构示意图。
37.图8为本发明一些实施例中得到的异常密度图。
38.图9为本发明一些实施例中得到的缺陷定位示意图。
具体实施方式
39.为了使本发明的目的、技术方案和优点更加清楚,下面结合附图和具体实施例对本发明进行详细描述。
40.在此,还需要说明的是,为了避免因不必要的细节而模糊了本发明,在附图中仅仅示出了与本发明的方案密切相关的结构和/或处理步骤,而省略了与本发明关系不大的其他细节。
41.另外,还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。
42.本发明提供了一种基于重构网络的缺陷检测方法,其流程示意图如图1所示,包括如下步骤:
43.s1、采集无缺陷图片,经数据增强处理,得到增强的样本;
44.s2、构建重构网络,将所述重构网络训练后作为特征提取器,对步骤s1得到的所述增强的样本进行特征提取,得到特征向量;
45.s3、构建基于跨尺度流的检测网络,将步骤s2得到的所述特征向量变换成不同的比例,并对不同比例对应的多尺度特征图并行地进行密度估计,输出异常密度图,得到缺陷检测结果。
46.具体地,由于用于缺陷检测的传统方法有一些局限性,只对特定的纹理背景有效,而工业生产线上,缺陷样本很少,直接用其进行训练容易导致过度拟合。因此,在本发明的一些实施例中,步骤s1中所述的数据增强处理不仅包括对无缺陷的正常样本进行增强,还包括生成有缺陷的图片。其中,对无缺陷的正常样本的所述正常样本进行增强的方式包括旋转、翻转、随机剪裁、粘贴、擦除等。
47.在本发明的一些实施例中,具体采用了基于gan和直方图匹配的缺陷生成网络来生成有缺陷的图片,在常规的gan上采用了区域非配对训练策略,以实现在任何指定的形状内向前生成缺陷。在此过程中,采用局部高斯模糊将生成的区域随机混合到无缺陷的样本中,用来模拟真实缺陷样本,在保证增强训练样本的多样性以避免过度拟合的同时,又保证了复杂背景下图像增强的有效性,从而保证在后续的训练网络中使用增强样本能够有效收敛。
48.具体地,该基于gan和直方图匹配的缺陷生成网络包括生成器g和判别器d,gan中block的结构如图2所示。
49.其中,生成器g通过采用局部高斯模糊将生成的区域随机混合到无缺陷样本中,模拟真实缺陷样本。在生成器g的训练过程中,使用随机透视法和随机调整大小的裁剪方式进行预处理,从一个单一的参照物h中获得足够的图像块h。同时,在原始无缺陷样本o和图像块h中加入缺陷的掩码,即掩码图像o'和h';然后,将掩码图像输入生成器g;在与背景融合后,通过一个高斯模糊,可以得到输出和在这一过程中,考虑到该基于gan和直方图匹配的缺陷生成网络的目标是产生缺陷,在局部指定区域内,生成器g只使用缺陷区域内的局部损失用于训练。对于真实的参考图像块h,生成器g则基于局部l1损失来重建原始缺陷,该
局部l1损失的计算公式如下:
[0050][0051]
其中,h、分别表示输入的图像块和输出的图像块,表示元素相乘,m是向输入的图像块h中加入的掩码,n是m中的点的数量。
[0052]
判别器d的作用是确定输出的真实性,重点在于区分生成的缺陷和真实的缺陷,而生成器g的重点是生成一个更真实的缺陷来欺骗判别器d。基于此,将对抗性损失函数定义如下:
[0053][0054]
其中,x是判别器d的输出,y是识别的标签。
[0055]
只需要将生成器g输出的h和的缺陷区域输入判别器d中,即可获得局部的损失。
[0056]
当用带有掩码的图像o训练时,没有对应的缺陷参考样本,导致上述损失是无效的。由于此方法只使用了一个单一的参照物h作为参考样本训练生成器g,因此,为了达到更好的模拟生成效果,再采用另一个局部直方图损失来避免过度拟合,通过加入由直方图匹配生成的参考缺陷样本的掩膜m,并增加对局部直方图损失的计算,这样可以在将的缺陷区域与参考缺陷进行直方图匹配后得到一个匹配区域,然后在匹配前后的两个缺陷之间采用一个l2损失。
[0057]
具体地,上述局部直方图损失定义如下:
[0058][0059]
其中,r'[]是局部直方图匹配算子。
[0060]
通过上述方式,加入的局部直方图损失可以确保模拟缺陷区域内的结构均匀。同时,在上述过程中,在训练生成器g的时候,判别器d的权重保持不变。在生成的经过局部高斯模糊之后,得到了最终生成的模拟缺陷图,结果如图3所示。
[0061]
在完成上述数据增强处理步骤后,将得到的无缺陷的正常样本图片和生成的有缺陷的图片一起输入重构网络,进行特征提取。
[0062]
在本发明的一些实施例中,该重构网络经过训练,可以从步骤s1中生成的有缺陷的图片ia中重建原始图像i,重建出来的模拟原始图像越接近真实图像则表示该网络提取到的特征越为有效精确。以该重构网络作为特征提取器,可以做到比大多数采用resnet系列的网络提取的特征更精确,可以捕捉到对于缺陷检测更有效的特征。
[0063]
具体地,该重构网络由一个编码器e、一个解码器d以及一个瓶颈模块bottleneck组成,其网络结构示意图如图4所示。由图4可以看出,该重构网络由是一个类似u-net的结构,由编码器e和解码器d组成,通过将输入图像的局部缺陷转换成更接近正常样本的分布,也就是根据输入的先前得到模拟生成的缺陷图片ia和无缺陷原图i级联,重构出模拟的无缺陷样本ir。
[0064]
具体地,编码器e由五个卷积块组成,每个卷积块包含两个3
×
3大小的卷积层,两个bn层,两个relu层,卷积块之间有最大池化层,其block结构示意图如图5所示。
[0065]
瓶颈模块包括可训练的mff模块和oce模块,其中,mff模块用于处理来自所述编码
器的多尺度特征,oce模块用于将获得的丰富特征浓缩为一个紧凑的瓶颈代码由于编码器e通常具有较高的容量。虽然高容量模型有助于提取丰富的特征,但所包含的高维描述子可能具有可考虑的冗余,高自由度和冗余对解码器d的解码本质上的无异常特征是有害的。基于此,本发明通过将紧凑型嵌入作为一个信息瓶颈,有助于阻止异常扰动向解码器d的传播,从而增加了编码器e在异常上的代表性差异。在本发明的一个具体实施例中,采用resnet的第四剩余块作为一类嵌入块,该瓶颈模块采用了一个3
×
3的卷积层和一个relu激活层,一个全连接层。
[0066]
解码器d主要由四个特征提取块组成,每个所述特征提取块包括一个上采样块、一个contact块和一个反卷积块;所述上采样块采用双线性上采样方式,所述反卷积块中包括两个3
×
3大小的卷积层、两个bn层和两个relu层。
[0067]
在现有的基于重构的方法中,经常使用l2损失,其计算公式如下:
[0068][0069]
然而这是假设了相邻素之间的独立性。基于此,本发明额外添加了一个ssim损失,其损失函数定义为:
[0070][0071]
其中,h和w是图像i的高度和宽度。np等于i中的像素数。ir是网络输出的重构图像。ssim(i,ir)(i,j)是以图像坐标(i,j)为中心的i和ir块的ssim值。
[0072]
因此,该重建网络的损失为:
[0073]
lrec(i,ir)=λlssim(i,ir) l2(i,ir)
[0074]
其中,λ是一个损失平衡的超参数。
[0075]
在训练完成后,该重构网络可以作为一个特征提取器,且有两种特征提取方式,以适用于不同的数据集,具体方式如下:
[0076]
第一种特征提取方式为仅提取正常样本输入进所述编码器的最后一个卷积块的最后一层提取到的特征。这种方法使得提取到的特征是没有异常干扰的,且适用于完全没有缺陷样本的数据集。
[0077]
第二种特征提取方式为同时提取所述编码器和所述解码器的最后一层提取到的特征,并通过所述contact块建立连接。这种方式可以融合之前编码器e中下采样丢失的数据,会得到更丰富的语义特征。
[0078]
通过上述方式,经重构网络重构得到的图像如图6所示,该重构效果越好,特征提取效果越好。
[0079]
在完成上述特征提取后,再采用基于跨尺度流的检测网络进行缺陷检测,包括如下步骤:
[0080]
获得不同尺度的多个特征图;
[0081]
对不同尺度的多个特征图进行联合处理;
[0082]
使用一个完全卷积的归一化流,在各尺度之间进行交叉连接,对不同尺度的特征图进行密度估计,并根据所述密度估计为输入的样本分配可能性,以所述可能性作为缺陷
的指标进行缺陷定位与标记。
[0083]
在上述过程中,基于跨尺度流的检测网络能够对得到的无缺陷图像数据的分布进行建模,根据不同尺寸的图像中的特征图的密度估计来检测和定位缺陷,通过联合处理多尺度的特征图,使用一个完全卷积的归一化流,在各尺度之间进交叉连接,为输入的样本分配有意义的似然,可以在图像层面上进行有效的缺陷检测。与目前使用强统计先验或过度简化的数据表示的方法相比,此方法在灵活估计密度的同时,包含了全局和局部图像背景的细粒度表示。并且,完全卷积的方式保留了空间排列,这使得图像中的缺陷区域得以精确定位。
[0084]
具体地,基于跨尺度流的检测网络在进行缺陷检测时,将由重构网络中提取到的无缺陷图片x∈x的特征y∈y直接输入检测网络。在推理过程中,通过使用图像特征u的密度估计为输入图像x分配一个可能性,并假设一个低的可能性是一个缺陷的指标。其中,密度估计是通过特征空间y的未知分布py到潜在空间z的高斯分布pz的双向映射学习得到。
[0085]
具体地,在本发明的一个实施例中,采用跨尺度流fcsf对步骤s2得到的特征向量y进行双射和平行变换,能够将其变换成不同的比例,并保留所述特征向量的维度,其变换方式如下所示:
[0086]
fcsf(y
(1)
,...,y
(s)
)=[z
(1)
,...,z
(s)
]=z∈z
[0087]
其中,y(i)定义为输入图像x(i)的3d特征向量,i∈{1,...,s}。
[0088]
同时,上述方法采用nf框架对不同比例对应的多尺度特征图并行地进行密度估计,能够使细粒度的位置和上下文信息得以保持。
[0089]
在上述过程中,可能性pz是根据目标分布测量的,在基于此方法的例子中,目标分布是一个多变量标准正态分布。根据pz和设置的阈值θ能够判断图像x是否异常,具体表示如下:
[0090][0091]
在本发明的一些实施例中,跨尺度流的网络结构示意图如图7所示。由图7可以看出,跨尺度流是一个所谓的耦合块的链条,每个耦合块都进行仿射变换作为耦合块的框架结构的基础,在本发明的一个具体实施例中选择了real-nvp。由图7还可以看出,卷积是在两个层面上进行的,在第二个层面上有不同尺度的交叉连接。
[0092]
具体地,在使用基于跨尺度流的检测网络进行缺陷检测的过程中,可以采用双线性上采样或分层卷积来调整不同尺度的单个特征图的大小,然后再通过求和进行聚合。同时,输出在通道维度上被分割,以获得尺度和位移参数,该尺度和位移参数是通过耦合块来估计的,通过单独的两个子网络将其输出被分割为[s1,t1]and[s2,t2]之后按照以下的方式使用:
[0093]
yout,2=yin,2

γ1 s1(yin,1) γ1 t1(yin,1)
[0094]
yout,1=yin,1

γ1 s2(yout,2) γ2 t2(yout,2)
[0095]
在上述过程中,为了稳定初始化模型,本发明的部分实施例中引入了可训练的块状标度系数γ1和γ2,它们被初始化为0,因此导致yout=yin。其中,两个内部子网络不需要是可逆的,可以是任何可微的函数,在此方法的设计中,他们是完全卷积网络,通过分割输出来回归这两个模块。在处理图像时,每一个尺度都有一个隐藏层,通道的数量会增加。
[0096]
在训练过程中,跨尺度流可以使输入特征向量y的似然最大化,通过将他们映射到潜在空间z中,可以定义一个明确的密度似然性:
[0097][0098]
因此,将损失目标表述为负对数似然性的最小化,如下式所述:
[0099][0100][0101]
通过上述方式,本发明采用的基于跨尺度流的检测网络采用了完全卷积,可以保留特征图的所有位置特征,所以保留了位置的形成,这使得本发明可以用单个图像区域的可能性来解释输出,直接定位缺陷。类似于整个图像的异常分数定义,本发明通过为特征图的每个局部位置(i,j)定义异常分数,再将这些值汇总,沿着通道尺寸和标记找到具有高范式的图像区域来确定定位,进行缺陷标记,检测出的异常密度图以及缺陷定位示意图分别如图8、图9所示。基于此,本发明提供的方法能够使得图像上的缺陷区域能够被可视化,即使在训练样本数量较少的情况下也能取得良好的性能,并且在缺陷检测方面有很强的鲁棒性。
[0102]
综上所述,本发明提供了一种基于重构网络的缺陷检测方法,通过采集无缺陷图片,经数据增强处理,得到增强的样本;再构建重构网络,将其训练后作为特征提取器,对增强的样本进行特征提取,得到特征向量;然后构建基于跨尺度流的检测网络,将特征向量变换成不同的比例,并对不同比例对应的多尺度特征图并行地进行密度估计,输出异常密度图,得到缺陷检测结果。通过上述方式,本发明能够将重构网络作为特征提取器,对样本特征进行精确提取;并引入跨尺度流联合处理不同尺度的图像特征,再使用完全卷积的归一化流在各尺度之间进行交叉连接,对特征进行密度估计,使图像上的缺陷区域能够被可视化,且能够在训练样本数量较少的情况下取得较好的检测效果。
[0103]
以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或者等同替换,而不脱离本发明技术方案的精神和范围。
再多了解一些

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

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

相关文献