基于记忆信息的端到端的半监督图像表面缺陷的检测方法

文档序号:30579738发布日期:2022-06-29 11:31阅读:104来源:国知局
基于记忆信息的端到端的半监督图像表面缺陷的检测方法

1.本发明涉及图像表面缺陷的检测方法技术领域,尤其是基于记忆信息的端到端的半监督图像表面缺陷的检测方法。


背景技术:

2.制造业智能化发展对工业产品的质量检测提出了更高的要求,而产品的表面缺陷检测是产品质量检测中的关键一环。表面缺陷检测是对图像异常区域的定位问题,但在实际应用中,由于异常样本出现的概率低,异常区域占比小,数据标注成本高,所以通过传统的监督学习进行异常检测和定位存在较大困难。因此,基于半监督技术进行表面缺陷检测的方法在实际应用中具有较大优势,它在训练阶段只需要正常样本,并在推理过程中通过比较输入样本与正常样本之间的特征差异来定位异常。
3.基于半监督技术,借助自动编码器(ae)和生成对抗网络(gan)来建立重构模型进行异常检测的方法得到广泛探索,该类模型虽然取得了一定的异常检测效果,但并没有显式地应用正常模式与异常模式的差异信息,不利于模型学习到一个稳健的分类超平面。同时,卷积神经网络在视觉领域的出色性能证明了其强大的学习能力和泛化能力,所以重构模型在推理阶段会存在正确重构异常区域的情况,此时基于重构差异的判别会存在失效的可能。此外,一些网络尝试在训练阶段引入人为模拟的异常样本,以便在训练阶段就能对正常样本和异常样本有效的区分,但这些模型只侧重于纹理或者只侧重于结构进行异常的模拟,难以覆盖复杂的异常情况。
4.最近,利用imagenet的预训练模型提取原始图像的高级特征表示,并在推理阶段比较测试样本与正常样本高级特征的差异,以实现异常定位的方法在半监督表面异常检测数据集上取得了良好的性能。虽然这类模型在训练阶段几乎不需要时间消耗,但在推理阶段需要执行复杂程度很高的特征匹配的操作,给推理阶段造成了昂贵的时间成本。同时,由于这类模型不针对特定的数据集进行训练,直接利用预训练的参数进行特征提取,并将提取的特征直接进行异常定位,所以提取的特征对异常检测任务的适应性也不足。


技术实现要素:

5.针对背景技术中提到的问题,本发明的目的是提供基于记忆信息的端到端的半监督图像表面缺陷的检测方法,用以解决上述中的问题。
6.本发明的上述技术目的是通过以下技术方案得以实现的:
7.基于记忆信息的端到端的半监督图像表面缺陷的检测方法,包括如下步骤:
8.(一)模拟异常样本
9.(1)生成一个二维柏林噪声p,然后使用阈值t将p进行二值化,得到柏林噪声生成的掩膜m
p
。柏林噪声随机地存在若干个峰值,由其产生的m
p
有助于提取图像中的连续区域块。同时,考虑到图像采集中某些工业元件的主体占图像的比例较小,如果不加处理直接进行数据增强,容易在图像背景部分产生噪声,增大了模拟异常样本与真实异常样本的分布
差异,不利于模型学习到有效的鉴别信息,所以对这类图像采用前景增强策略。即,对于输入的图像i,将其二值化后,使用开操作或者闭操作去除二值化过程中产生的噪声,得到目标前景生成的掩膜mi,之后对得到的两种掩膜图像执行元素相乘,得到最终的掩膜图像m。
10.(2)掩模图像m与噪声图像in执行元素相乘,在噪声图像in中提取由m定义的兴趣区域(roi)。同时,本发明在此过程中引入透明系数δ,平衡原始图像与噪声图像的融合,使模拟的异常更接近真实异常,因此,噪声前景图像i
′n的生成遵从下式:
11.i
′n=(1-δ)(m
⊙in
)+δ(m

i)#(1)
12.其中δ∈[0,0.85]。
[0013]
(3)对掩模图像m取反得到与原始图像i执行元素相乘得到图像i

,并根据
[0014][0015]
得到数据增强后的图像ia,即模拟的异常图像。ia以原始输入图像i为背景,以掩模图像m提取的噪声图像in中的roi为前景。
[0016]
(二)冻结编码器
[0017]
memseg使用基于imagenet预训练的resnet18作为编码器,为了保证记忆信息与输入图像高级特征的统一,在模型的训练和推理阶段都始终冻结resnet中block 1、block 2和block 3的模型参数。
[0018]
(三)提取记忆信息
[0019]
在面对复杂多样的异常检测时,人类的本能反应之一是利用对比的方式去发现图像中的异常区域。受到基于特征表示模型的启发,本发明将少量的正常样本作为记忆样本,利用预训练的编码器(resnet18)提取记忆样本的高级特征作为记忆信息,并在u-net的跳跃连接上充分地使用这些记忆信息。
[0020]
为了获得记忆信息,本发明首先从正常样本中随机选取n张正常的图像,输入到resnet网络后分别从block 1、block 2和block 3得到维度为n
×
64
×
64
×
64、n
×
128
×
32
×
32和n
×
256
×
16
×
16的特征,这些不同分辨率的特征共同组成记忆信息mi。
[0021]
当网络在训练或推理阶段有新的图像输入时,输入图像同样经过编码器进行特征提取,得到维度为64
×
64
×
64、128
×
32
×
32和256
×
16
×
16的特征,这些不同分辨率的特征共同组成输入图像的高级特征ii;之后,计算输入图像信息ii与所有记忆信息mi的l2距离,得到输入图像与记忆样本之间的n个差异信息di,即
[0022][0023]
其中,n为记忆样本的数量。对于n个差异信息,以每个差异信息中所有元素的最小平方和为标准,获得ii与mi的最佳差异信息di
*
,即
[0024][0025]
其中,i∈[1,n]。最佳差异信息di
*
包含了输入样本与最相似记忆样本的差异,某个位置的差异值越大,则该位置对应的输入图像区域存在异常的概率就越大。最后,最佳差异信息di
*
与输入图像的高级特征ii完成通道维度的拼接操作,得到维度为128
×
64
×
64、
256
×
32
×
32和512
×
16
×
16的拼接信息ci1、ci2、ci3。随后,三个不同维度的拼接信息将经过多尺度特征融合模块进行特征融合,融合后的特征通过u-net的跳跃连接流向解码器。
[0026]
(四)融合多尺度特征
[0027]
通过记忆模块得到了由输入图像信息ii与最佳差异信息di
*
组成的拼接信息ci,直接使用ci一方面存在特征冗余的问题,另一方面增大了模型的计算规模,造成推理速度下降。考虑到最佳差异信息di
*
依托于输入图像信息ii生成,并且相同位置的元素是对应的,同时,鉴于多尺度特征融合在目标检测和语义分割中的成功,一个直觉的思路是借助注意力机制和多尺度策略充分融合拼接信息ci中的视觉信息和语义信息。
[0028]
(五)做出空间注意力图
[0029]
通过具体的观察和实验可知,最佳差异信息di
*
对异常区域的定位有着重要影响。为了充分利用差异信息,本发明利用di
*
提取了一个空间注意力图,用于强化最佳差异信息对图像中异常区域的猜测。对于di
*
中三个不同维度的特征,分别在通道维度求均值,得到16
×
16,32
×
32和64
×
64的三个特征图。16
×
16的特征图将直接作为空间注意力图m3,其上采样后与32
×
32的特征图执行元素相乘得到m2,m2上采样后与64
×
64的特征图执行元素相乘得到m1。空间注意力图m1、m2和m3分别加权ci1、ci2和ci3经过融合模块的处理后得到的信息。数学上,求解m1、m2、m3的计算公式如下:
[0030][0031][0032][0033]
其中,c3表示的通道数量,表示中第i个通道的特征图,与分别表示将m3和m2上采样之后得到的特征图。
[0034]
(六)导入解码器
[0035]
对应于图1,解码器的upsampling layer包含双线性插值层以及一个由卷积层、batch-normalization、relu激活函数构成的基本卷积块;conv layer包含两个堆叠的基本卷积块;仅最后一个conv layer包含一个基本卷积块以及一个2通道的卷积层。
[0036]
(七)得到输入图像异常区域
[0037]
为了保证异常分割网络的预测值接近其真实值,本发明使用l1损失和焦点损失保证图像中所有像素的相似度。相比l2损失,在l1损失约束下预测的分割图像保留了更多的边缘信息。同时,焦点损失缓解了图像中异常区域与正常区域面积不平衡问题,使模型更关注困难样本的分割,提高异常分割的准确性。具体地,本发明分别以式(8)和式(9)最小化图像异常区域的真实值s与模型的预测值之间的l1损失l
l1
和焦点损失lf.
[0038][0039]
lf=-α
t
(1-p
t
)
γ
log(p
t
)#(9)
[0040]
其中,当s中对应像素的真实值为1时,p
t
与该像素类别的预测概率p相等,当s中像素的真实值为0时,p
t
=1-p,α
t
和γ是超参数。
[0041]
最后,将所有损失函数组合成下述目标函数:
[0042]
l
all
=λ
l1
l
l1
+λflf#(10)
[0043]
在训练的过程中,本发明的优化目标是最小化式(10)定义的目标函数。
[0044]
训练结束后,本发明以端到端的方式直接给出输入图像的异常区域。
[0045]
进一步的,步骤(六)中的所述多尺度特征为:不同尺度的拼接信息cin(n∈[1,2,3])首先通过一个保持通道数量的3
×
3的卷积块进行初步地信息融合。考虑到cin是两种信息在通道维度的简单拼接,所以使用coordinate attention(ca)捕捉cin中通道间的信息关系。然后,对于通道注意力图与初步融合的特征执行元素相乘之后得到的信息,继续进行卷积操作,得到通道数减少到一半的特征图。受fpn的启发,在三个不同分辨率的特征图之间,本发明设计了一个多尺度信息融合结构:不同维度的特征图首先通过上采样在分辨率上保持一致,然后通过卷积在通道数量上保持一致,最后执行像素相加操作实现多尺度的特征融合。
[0046]
进一步的,步骤(1)中所述的噪声图像in来源于两部分,一部分来自dtd纹理数据集,旨在模拟纹理异常;另外一部分来自输入图像本身,旨在模拟结构异常。对于结构异常的模拟,首先对输入图像i执行随机镜像对称、随机角度旋转以及亮度、饱和度以及色调的随机调整,然后将初步增强的图像均匀划分成4
×
8的网格,并随机排列得到乱序的图像in。
[0047]
综上所述,本发明主要具有以下有益效果:
[0048]
1、本发明提出了一种图像表面异常的模拟方法,该方法以图像中的目标前景为中心,兼顾纹理异常和结构异常的模拟,使模拟的异常样本与真实存在的异常样本的数据分布更一致,增强了模型的泛化能力;
[0049]
2、本发明使用部分正常样本作为记忆样本,记录记忆样本的一般模式,并通过最小距离匹配生成差异信息,在u-net的跳跃连接上使用差异信息,辅助解码器对图像中异常区域的定位;
[0050]
3、本发明借助异常模拟方法和记忆信息,将半监督图像表面异常检测任务看作一个语义分割问题,相比传统的基于特征表示的模型和基于图像重建的模型具有一定优势。
附图说明
[0051]
为了更清楚地说明本发明实施方式的技术方案,下面将对实施方式中所需要使用的附图作简单的介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图,在附图中:
[0052]
图1是本发明的流程示意图。
具体实施方式
[0053]
实施例1,参照附图1,对本发明的步骤做进一步的详细描述。
[0054]
(一)模拟异常样本
[0055]
本发明提出的异常样本模拟策略主要分为三个步骤:
[0056]
(1)生成一个二维柏林噪声p,然后使用阈值t将p进行二值化,得到柏林噪声生成的掩膜m
p
。柏林噪声随机地存在若干个峰值,由其产生的m
p
有助于提取图像中的连续区域
块。同时,考虑到图像采集中某些工业元件的主体占图像的比例较小,如果不加处理直接进行数据增强,容易在图像背景部分产生噪声,增大了模拟异常样本与真实异常样本的分布差异,不利于模型学习到有效的鉴别信息,所以对这类图像采用前景增强策略。即,对于输入的图像i,将其二值化后,使用开操作或者闭操作去除二值化过程中产生的噪声,得到目标前景生成的掩膜mi,之后对得到的两种掩膜图像执行元素相乘,得到最终的掩膜图像m。
[0057]
(2)掩模图像m与噪声图像in执行元素相乘,在噪声图像in中提取由m定义的兴趣区域(roi)。同时,本发明在此过程中引入透明系数δ,平衡原始图像与噪声图像的融合,使模拟的异常更接近真实异常,因此,噪声前景图像i
′n的生成遵从下式:
[0058]i′n=(1-δ)(m
⊙in
)+δ(m

i)#(1)
[0059]
其中δ∈[0,0.85]。
[0060]
(3)对掩模图像m取反得到与原始图像i执行元素相乘得到图像i

,并根据
[0061][0062]
得到数据增强后的图像ia,即模拟的异常图像。ia以原始输入图像i为背景,以掩模图像m提取的噪声图像in中的roi为前景。
[0063]
其中,噪声图像in来源于两部分,一部分来自dtd纹理数据集,旨在模拟纹理异常;另外一部分来自输入图像本身,旨在模拟结构异常。对于结构异常的模拟,首先对输入图像i执行随机镜像对称、随机角度旋转以及亮度、饱和度以及色调的随机调整,然后将初步增强的图像均匀划分成4
×
8的网格,并随机排列得到乱序的图像in。
[0064]
通过以上的异常模拟方法,本发明从纹理和结构两个角度得到了异常样本,并且异常区域大部分都产生在目标前景上,最大程度上保证了模拟的异常样本与真实的异常样本的数据分布的相似度,这有利于将训练好的模型推广到真实的异常样本集。
[0065]
(二)冻结编码器
[0066]
memseg使用基于imagenet预训练的resnet18作为编码器,为了保证记忆信息与输入图像高级特征的统一,在模型的训练和推理阶段都始终冻结resnet中block 1、block 2和block 3的模型参数。
[0067]
(三)提取记忆信息
[0068]
在面对复杂多样的异常检测时,人类的本能反应之一是利用对比的方式去发现图像中的异常区域。受到基于特征表示模型的启发,本发明将少量的正常样本作为记忆样本,利用预训练的编码器(resnet18)提取记忆样本的高级特征作为记忆信息,并在u-net的跳跃连接上充分地使用这些记忆信息。
[0069]
为了获得记忆信息,本发明首先从正常样本中随机选取n张正常的图像,输入到resnet网络后分别从block 1、block 2和block 3得到维度为n
×
64
×
64
×
64、n
×
128
×
32
×
32和n
×
256
×
16
×
16的特征,这些不同分辨率的特征共同组成记忆信息mi。
[0070]
当网络在训练或推理阶段有新的图像输入时,输入图像同样经过编码器进行特征提取,得到维度为64
×
64
×
64、128
×
32
×
32和256
×
16
×
16的特征,这些不同分辨率的特征共同组成输入图像的高级特征ii;之后,计算输入图像信息ii与所有记忆信息mi的l2距离,得到输入图像与记忆样本之间的n个差异信息di,即
[0071][0072]
其中,n为记忆样本的数量。对于n个差异信息,以每个差异信息中所有元素的最小平方和为标准,获得ii与mi的最佳差异信息di
*
,即
[0073][0074]
其中,i∈[1,n]。最佳差异信息di
*
包含了输入样本与最相似记忆样本的差异,某个位置的差异值越大,则该位置对应的输入图像区域存在异常的概率就越大。最后,最佳差异信息di
*
与输入图像的高级特征ii完成通道维度的拼接操作,得到维度为128
×
64
×
64、256
×
32
×
32和512
×
16
×
16的拼接信息ci1、ci2、ci3。随后,三个不同维度的拼接信息将经过多尺度特征融合模块进行特征融合,融合后的特征通过u-net的跳跃连接流向解码器。
[0075]
(四)融合多尺度特征
[0076]
通过记忆模块得到了由输入图像信息ii与最佳差异信息di
*
组成的拼接信息ci,直接使用ci一方面存在特征冗余的问题,另一方面增大了模型的计算规模,造成推理速度下降。考虑到最佳差异信息di
*
依托于输入图像信息ii生成,并且相同位置的元素是对应的,同时,鉴于多尺度特征融合在目标检测和语义分割中的成功,一个直觉的思路是借助注意力机制和多尺度策略充分融合拼接信息ci中的视觉信息和语义信息。
[0077]
本发明使用的多尺度特征融合模块为:不同尺度的拼接信息cin(n∈[1,2,3])首先通过一个保持通道数量的3
×
3的卷积块进行初步地信息融合。考虑到cin是两种信息在通道维度的简单拼接,所以使用coordinate attention(ca)捕捉cin中通道间的信息关系。然后,对于通道注意力图与初步融合的特征执行元素相乘之后得到的信息,继续进行卷积操作,得到通道数减少到一半的特征图。受fpn的启发,在三个不同分辨率的特征图之间,本发明设计了一个多尺度信息融合结构:不同维度的特征图首先通过上采样在分辨率上保持一致,然后通过卷积在通道数量上保持一致,最后执行像素相加操作实现多尺度的特征融合。
[0078]
(五)做出空间注意力图
[0079]
通过具体的观察和实验可知,最佳差异信息di
*
对异常区域的定位有着重要影响。为了充分利用差异信息,本发明利用di
*
提取了一个空间注意力图,用于强化最佳差异信息对图像中异常区域的猜测。对于di
*
中三个不同维度的特征,分别在通道维度求均值,得到16
×
16,32
×
32和64
×
64的三个特征图。16
×
16的特征图将直接作为空间注意力图m3,其上采样后与32
×
32的特征图执行元素相乘得到m2,m2上采样后与64
×
64的特征图执行元素相乘得到m1。空间注意力图m1、m2和m3分别加权ci1、ci2和ci3经过融合模块的处理后得到的信息。数学上,求解m1、m2、m3的计算公式如下:
[0080][0081]
[0082][0083]
其中,c3表示的通道数量,表示中第i个通道的特征图,与分别表示将m3和m2上采样之后得到的特征图。
[0084]
(六)导入解码器
[0085]
对应于图1,解码器的upsampling layer包含双线性插值层以及一个由卷积层、batch-normalization、relu激活函数构成的基本卷积块;conv layer包含两个堆叠的基本卷积块;仅最后一个conv layer包含一个基本卷积块以及一个2通道的卷积层。
[0086]
(七)得到输入图像的异常区域
[0087]
为了保证异常分割网络的预测值接近其真实值,本发明使用l1损失和焦点损失保证图像中所有像素的相似度。相比l2损失,在l1损失约束下预测的分割图像保留了更多的边缘信息。同时,焦点损失缓解了图像中异常区域与正常区域面积不平衡问题,使模型更关注困难样本的分割,提高异常分割的准确性。具体地,本发明分别以式(8)和式(9)最小化图像异常区域的真实值s与模型的预测值之间的l1损失l
l1
和焦点损失lf.
[0088][0089]
lf=-α
t
(1-p
t
)
γ
log(p
t
)#(9)
[0090]
其中,当s中对应像素的真实值为1时,p
t
与该像素类别的预测概率p相等,当s中像素的真实值为0时,p
t
=1-p,α
t
和γ是超参数。
[0091]
最后,将所有损失函数组合成下述目标函数:
[0092]
l
all
=λ
l1
l
l1
+λflf#(10)
[0093]
在训练的过程中,本发明的优化目标是最小化式(10)定义的目标函数。
[0094]
训练结束后,本发明以端到端的方式直接给出输入图像的异常区域。
[0095]
考虑到同一生产线上产品的类内变异较小,本发明从差异和共性两个角度出发,通过引入精心设计的模拟异常策略和记忆信息,将半监督图像表面缺陷检测简化为一个简单直观的语义分割任务,进而提出了一个以u-net作为网络框架的端到端记忆分割网络(memseg);在训练阶段,该网络以正常样本和人为模拟的异常样本作为输入,以输入样本异常区域的真实标签作为学习目标;在推理阶段,网络直接对输入的图像进行异常区域的判断。无论是在模型的训练还是推理阶段,都不需要额外地重构输入图像。同时,为了提高模拟出有效异常样本的概率,减小模拟异常与真实异常的差异,本发明提出了一种以前景目标为中心,综合纹理异常和结构异常进行异常模拟的方法,使模拟的异常更接近真实的异常,增强了模型的泛化能力。此外,本发明在网络中引入了一个记忆池来记录正常样本的一般模式,在模型的训练和推理阶段比较输入样本与记忆池中正常样本的异同,得到差异信息,并将此差异信息和获得的输入图像高级特征进行多尺度的信息融合。融合后的信息通过一个注意力增强网络,并最终通过u-net的跳跃连接指导解码器对异常区域的定位。
[0096]
通过上述实施例,本发明提出了一种以图像中目标前景为中心,兼顾纹理异常和结构异常的异常模拟方法,克服了之前异常模拟方法的单一性;图像表面缺陷检测方法仍然以自编码器为基础,但避免了重建输入图像这一传统的方法,简单直接的将图像表面异常检测问题看作一个语义分割问题,端到端的实现缺陷定位,克服了重建模型对异常区域
也能良好重建的不足;本发明基于半监督方法进行训练,训练过程中不需要提供真实场景中的异常样本,克服了异常样本获取和标注的困难;本发明引入了一个基于正常样本生成的记忆池,通过对比匹配的方式将记忆信息作为解码器的辅助信息,实现了更精确的异常定位。当使用mvtec ad异常检测数据集进行实验时,记忆信息的加入使图像级和像素级的auroc分数分别提高了2%和2.2%。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1