1.本发明属于深度学习领域,主要涉及一种图像异常检测方法。
背景技术:
2.异常检测在医学影像诊断
[1-2]
、视频监控
[3-4]
和工业缺陷检测
[5-6]
等多个领域具有较高的研究意义和应用价值。例如,在工业缺陷检测中,为了确保产品质量,现代工业制造过程正变得越来越复杂。在这种情况下,人工手动区分正常产品和异常产品不仅需要耗费大量人力物力,还会存在由于操作人员判断的主观性难以保证较高准确率问题
[7]
。因此,采取智能的异常检测技术实现样品缺陷检测,对于保障工业产品质量和提高工业生产力至关重要。
[0003]
近年来,基于无监督学习的异常检测方法得到了广泛的研究,该类方法仅使用正常样本构建模型进行训练。在基于无监督的异常检测方法中,基于图像重建的方法受到了最广泛的关注,通过构建生成模型来重建输入的正常图像。理想情况下,正常图像的潜在特征符合统一的分布,模型对于输入的正常图像可以实现清晰地重建。与正常样本图像相比,异常样本图像不符合正常样本的统一分布规律导致重建质量较差,重建误差也较大,因此可以通过设置合适的阈值来实现图像异常的检测。然而,这种基于图像重建的思路在某些情况下可能会失效,因为大多数情况下重建网络主要采用浅层网络结构导致学到的浅层特征会保留了大量空间结构的细节信息,比如轮廓形状、色彩对比等低级视觉信息。当重建模型对异常图像进行重建时,解码器可以根据浅层特征提供的空间结构细节信息很好地重建异常图像,即正常和异常测试图像都被良好的重建,造成训练的模型无法实现区分正常和异常的目的。
[0004]
为了缓解浅层特征干扰问题,现有的方法引入了辅助任务,通过增加重建任务的复杂性,避免网络模型直接重建原始输入图像。fei
[8]
等人提出一种属性恢复任务,首先对输入图像进行几何变换,然后对变换后的图像进行属性信息(例如颜色信息)擦除,最后送入编码器学习如何进行擦除属性的恢复。对于测试图像中无法实现恢复的图像判定为异常。此外,在[9]中,作者将结构图像的重建任务与内容图像重建任务相结合,利用循环重建的方式编码内容和结构的关系,实现图像的异常检测。
[0005]
上述方法研究了辅助任务对于异常检测是有效的,并取得了重大进展。但是,现有的方法大多以重建原始图像作为潜在特征学习的目标,忽略了两个重要因素:(1)在特征层面,虽然可以通过变换或擦除输入图像缓解上文提到的浅层特征干扰的问题,但是这种方案往往是次优的。因为网络模型并没有学得正常样本的本质属性,一旦异常样本图像具有与正常样本相似的属性,如颜色或者局部结构,那么浅层特征可能无法区分正常和异常;(2)在损失层面,大多数现有的工作都是使用均方误差或对抗性损失来优化网络。这些损失侧重学习像素级或特征级的一致性,而忽略了输入图像与生成的图像之间的属性一致性。
[0006]
为了解决这些问题,本发明基于自动编码变换
[10]
提出了一种新的图像异常检测算法,考虑正常图像的属性模式,并学习生成图像和输入图像的属性一致性,缓解重建模型
real-world dataset for unsupervised anomaly detection[c].proceedings of the ieee/cvf conference on computer vision and pattern recognition.2019:9592-9600.
[0019]
[13]schlegl t,p,waldstein s m,et al.unsupervised anomaly detection withgenerative adversarial networks to guide marker discovery[c].international conference on information processing in medical imaging.springer,cham,2017:146-157.
[0020]
[14]dehaene d,frigo o,combrexelle s,et al.iterative energy-based projection on a normal data manifold for anomaly localization[j].2020.
[0021]
[15]akcay s,atapour-abarghouei a,breckon t p.ganomaly:semi-supervised anomaly detection via adversarial training[c].asian conference on computer vision.springer,cham,2018:622
技术实现要素:
[0022]
本发明提出一种基于表征变换感知的图像异常检测方法,该方法能够缓解重建模型存在的浅层特征干扰问题,提升异常检测性能。技术方案如下:
[0023]
一种基于表征变换感知的图像异常检测方法,包括下列步骤:
[0024]
第一步:内容-结构变换预测
[0025]
(1)数据预处理
[0026]
选取工业缺陷数据集进行异常检测,训练数据为无缺陷数据,测试数据包含两部分,一部分为包含各类缺陷的数据,另一部分为无缺陷数据;将原始输入图像视为内容图像,对内容图像应用边缘检测算法生成与内容图像对应的结构图像;然后,对内容图像和结构图像进行图像变换,获得内容变换图像和结构变换图像;
[0027]
(2)内容-结构特征提取
[0028]
利用内容编码器enc对内容图像和内容变换图像提取隐空间特征fc和f
tc
,利用结构编码器ens对结构图像和结构变换图像提取隐空间特征fs和f
ts
;
[0029]
(3)内容-结构变换预测
[0030]
为学得更丰富的无缺陷图像高级属性特征,另外采用两个解码器dc和ds,将所获得的内容图像和内容变换图像的编码特征fc和f
tc
,以及结构图像和结构变换图像的编码特征fs和f
ts
,分别送入两个解码器dc和ds,输出预测的图像变换方式
[0031]
通过变换感知损失l
t
来联合训练编码器ens、enc以及解码器dc、ds,在训练过程中最小化此差异,方法如下:每个变换t都用特定的参数来表示,事先定义一个参数化变换族t={t
θ
|θ~θ},其中参数θ从分布θ中取样,变换感知损失通过参数θ来捕获,选取的仿射变换用参数化矩阵a(θ)表示,变换感知损失l
t
通过下式计算真实变换和预测变换之间的差异,即:
[0032][0033]
第二步:变换一致性约束
[0034]
(1)建立变换特征的映射关系
[0035]
引入特征变换网络t来近似内容图像和内容变换图像的编码特征fc和f
tc
之间的映射关系f
t
(.),特征变换网络t基于resnet网络实现,将特征fc输入给一个以随机变换t为条件的特征变换网络t,输出表示为t(fc,t),通过最小化t(fc,t)和f
tc
的均方误差损失mse来训练特征变换网t;
[0036]
(2)重建原始图像
[0037]
将内容编码器enc和结构编码器ens提取的两个高级属性特征fc和fs融合起来,得到融合特征f,并将其送入解码器de,重建原始图像,解码器de网络采用四层反卷积层设计,利用输入图像和重建图像的均方误差mse来计算重建误差损失l
rec
;
[0038]
(3)预测重建图像的变换
[0039]
利用特征变换网络t,使用内容编码器enc提取重建图像的潜在特征基于重建图像的潜在特征来计算重建变换图像的潜在特征并将潜在特征和送入解码器dc预测重建图像的变换,如果参数化的变换t能够通过向解码器dc输入特征fc和f
tc
进行成功预测,那么通过提供和来正确地预测变换即存在变换的一致性,通过计算原始变换t和预测变换的均方误差mse来表示变换一致性损失函数,约束解码器de生成高质量的重建图像;
[0040]
第三步:异常检测
[0041]
异常检测模块主要用于测试输入样本图像有无缺陷异常,将重建图像与原始图像之间的质量差异作为判别异常的标准,首先依据均方误差mse计算待测样本的重建误差值,然后将此值在测试集上进行min-max归一化,得到最终的异常分数值,通过设置阈值进行正常和异常的区分,异常分数值低于阈值的判定为正常样本,反之为异常样本,最终完成异常检测。
[0042]
针对浅层特征干扰问题,本发明提出一种基于表征变换感知的无监督异常检测方法,主要包括内容-结构变换预测模块和变换一致性约束。内容-结构变换预测模块以自监督的方式在内容和结构两个层面学习变换检测特征,该潜在特征学得了正常图像的外观结构信息和属性模式。此外,变换一致性约束的引入,可以保证输入图像与生成图像之间的属性一致性,提高重建图像的质量,进一步提升异常检测性能。本发明提出的基于表征变换感知的异常检测方法可以有效缓解重建模型中存在的浅层特征干扰问题。本发明对缺陷异常具有较好的检测和泛化效果,在实际应用中,不仅降低了人力物力的消耗,还高效地提升异常缺陷监测的准确率。
附图说明
[0043]
附图1基于表征变换感知的图像异常检测主体框架
[0044]
附图2变换特征映射关系的建立过程图
[0045]
附图3预测重建图像的变换的过程图
[0046]
附图4在mvtec ad数据上的定性结果图
具体实施方式
[0047]
本发明的技术方案主要由三部分组成:内容-结构变换预测、变换一致性约束和异
常检测,主要模型框架如图1所示。这三部分协同作用,有效缓解了浅层特征干扰的问题,提高了无监督异常检测的性能。为使本发明的技术方案更加清晰,下面对本发明具体实施方式进行详细描述:
[0048]
第一步:内容-结构变换预测。
[0049]
(1)数据预处理
[0050]
首先确定需要进行异常检测的数据集,本发明选取工业缺陷数据集mvtec ad
[12]
进行异常检测。mvtec ad数据集包含5354张不同对象和纹理类别的高分辨率图像,最低分辨率为700
×
700,最高分辨率可达1024
×
1024。这个数据集共包含5类纹理和10类物体缺陷图像,其中训练集有3629张,测试集有1725张,训练数据为无缺陷数据,测试数据包含两部分,一部分为包含各类缺陷的数据,另一部分为无缺陷数据。具体地,给定训练样本x∈x,其中x表示整个训练样本的集合。为了保证本发明方法的普适性,把所有的图像都缩放到256
×
256大小,图像的通道数转换为3通道的rgb彩色图像。将原始输入图像视为内容图像,对内容图像应用sobel边缘检测算法生成与内容图像对应的结构图像xs。然后,内容图像和结构图像进行参数化图像变换,形成变换分布t,从变换分布t中随机采样变换t。对内容图像x∈x和结构图像xs∈xs进行变换t操作,得到内容变换图像t(x)和结构变换图像t(xs)。
[0051]
(2)内容-结构特征提取
[0052]
利用内容编码器enc对获得的内容图像x和内容变换图像t(x)提取隐空间特征fc和f
tc
,用公式(1)、(2)表示如下:
[0053]
fc=enc(x;θc)
ꢀꢀꢀ
(1)
[0054]ftc
=enc(t(x);θc)
ꢀꢀꢀ
(2)
[0055]
式(1)、(2)分别表示内容图像和内容变换图像隐空间特征提取过程,其中θc表示内容编码器enc的网络参数,网络采用四层卷积层设计。
[0056]
利用结构编码器ens对获得的结构图像xs和结构变换图像t(xs)提取隐空间特征fs和f
ts
,用公式(3)、(4)表示如下:
[0057]fs
=ens(xs;θs)
ꢀꢀꢀ
(3)
[0058]fts
=ens(t(xs);θs)
ꢀꢀꢀ
(4)
[0059]
式(3)、(4)分别表示结构图像和结构变换图像隐空间特征提取过程,其中θs表示结构编码器ens的网络参数,网络采用四层卷积层设计。
[0060]
其中,fc、f
tc
、fs和f
ts
隐空间特征大小为w,h,c分别代表隐空间特征的长度、宽度和通道数量。
[0061]
(3)内容-结构变换预测
[0062]
为学得更丰富的无缺陷图像高级属性特征,另外采用两个解码器dc和ds,将所获得的内容图像和内容变换图像的编码特征fc和f
tc
,以及结构图像和结构变换图像的编码特征fs和f
ts
,分别送入两个解码器dc和ds输出预测的图像变换方式如公式(5)、(6)所示。
[0063][0064][0065]
由于使用编码的特征替代原始-变换图像对输入变换进行预测,因此网络可以学到更丰富的正常图像高级属性特征。通过变换感知损失l
t
来联合训练编码器ens、enc以及解
码器dc、ds,采用公式(7)衡量t和之间的差异,并在训练过程中最小化此差异。
[0066][0067]
基于自动编码变换
[10]
,每个变换t都可以用特定的参数来表示,事先定义参数化变换的分布,即假设有一系列的分布t={t
θ
|θ~θ},其中参数θ从分布θ中取样,则变换感知损失可以通过参数θ来捕获。选取的仿射变换可用参数化矩阵a(θ)∈r3×3表示。矩阵中的值表示原始图和变换图像对应点的变换关系。这样的矩阵捕获了由给定变换引起的几何结构的变化,因此变换感知损失可以直接通过公式(8)计算真实变换和预测变换之间的差异,即:
[0068][0069]
在训练阶段,随机选择不同的参数化变换,通过将变换感知损失梯度反向传播来更新编码器en
c/s
和变换解码器d
c/s
的相关网络参数。最终通过最小化真实变换t和预测变换的差异,编码器en
c/s
提取具有表达性的特征fc和fs。
[0070]
第二步:变换一致性约束。
[0071]
变换一致性约束通过学习生成图像与输入图像的属性一致性,促使生成的图像和相应的原始图像具有相同的变换可检测性。具体过程如下:
[0072]
(1)建立变换特征的映射关系
[0073]
引入特征变换网络t来近似内容图像和内容变换图像的编码特征fc和f
tc
之间的映射关系f
t
(.),特征变换网络t基于resnet网络实现。如图2所示,将特征fc输入给一个以随机变换t为条件的特征变换网络t,输出表示为t(fc,t),通过最小化t(fc,t)和f
tc
的均方误差损失mse来训练特征变换网t,损失函数公式如(9)所示:
[0074][0075]
(2)重建原始图像
[0076]
将内容编码器enc和结构编码器ens提取的两个高级属性特征fc和fs融合起来,得到融合特征f,并将其送入解码器de,重建原始图像,其公式表示为:
[0077][0078]
公式(10)表示解码重建过程,f表示输入的融合特征,θd表示解码器de的网络参数,网络采用四层反卷积层设计,x表示重建图像。
[0079]
利用输入图像和重建图像的均方误差mse来计算重建误差损失l
rec
,公式如(11)所示:
[0080][0081]
(3)预测重建图像的变换
[0082]
通过每一次迭代更新特征变换网络t,使用内容编码器enc提取重建图像的潜在特征基于重建图像的潜在特征来计算重建变换图像的潜在特征并将潜在特征
和送入解码器dc预测重建图像的变换,预测的变换可由式(12)获得。
[0083][0084]
预测重建图像变换的过程如图3所示,如果参数化的变换t能够通过向解码器dc输入特征fc和f
tc
进行成功预测,那么通过提供和来正确地预测变换即存在变换的一致性。通过计算原始变换t和预测变换的均方误差mse来表示变换一致性损失函数,约束解码器de生成高质量的重建图像。假设变换t来自分布p(t),生成的特征来自分布变换一致性约束函数如下(13)式,用于训练生成器,获得稳定的生成模型。
[0085][0086]
第三步:异常检测。
[0087]
为了验证本发明能否很好地解决浅层特征干扰问题,生成高质量的重建图像,异常检测模块主要用于测试输入样本图像有无缺陷异常,将重建图像与原始图像之间的质量差异作为判别异常的标准,将这个重建误差定义为异常分数。首先依据均方误差mse计算待测样本的重建误差值,因此,给定一张测试图像x
test
,异常分数可以(14)式表示:
[0088][0089]
为了评估本发明所提方法整体的异常检测性能,对测试集中每个测试样本x
test
计算异常分数,获得整个测试样本集上的异常分数集合并对该集合在测试集上进行min-max归一化,将每个测试样本的异常分数映射到0,1范围内,如下公式(15)所示:
[0090][0091]
其中,min(s)和max(s)分别表示异常分数集合中的最大值和最小值。标准化后的异常分数越大,说明测试图像是异常图像的可能性也越高。通过对最终的异常分数值设置阈值进行正常和异常的区分,异常分数值低于阈值的判定为正常样本,反之为异常样本,最终完成异常检测。
[0092]
实验分析
[0093]
本发明实验均配置在intel(r)xeon(r)e-2124cpu@3.30ghz,64gb和nvidia geforce rtx2080ti的服务器上,操作系统为64位的ubuntu-server linux16.04,同时使用目前学术界主流的深度学习框架pytorch进行模型的搭建。基于adam优化器对模型的生成器和判别器进行优化,其中生成器和判别器的初始学习率分别设置为1
×
10-4
和1
×
10-3
,批处理大小设置为8,训练批次大小设置为300。
[0094]
为了评估本发明异常检测模型的性能,本发明在mvtec ad数据集上对提出的无监督异常检测方法进行定量、定性分析。与六个异常检测领域中比较经典的模型以及目前比较先进的方法在像素级auc水平上进行比较,包括ae-ssim
[11]
、ae-l2
[12]
、anogan
[13]
、vae-gan
[14]
、ganomaly
[15]
和p-net
[9]
。这些算法都属于无监督异常检测算法,通过使用自编码器、生成对抗网络等方法实现高质量图像重建来解决异常检测问题。
[0095]
表1展示了本发明方法与对比算法在mvtec ad数据集上的像素级auc的实验结果,从表中可以看出,本发明的无监督异常检测方法,在mvtec ad数据集上取得了较为理想的
平均像素级auc值,比目前先进的p-net方法提升了4.7个百分点。与anogan和vae-gan相比,本发明方法在所有数据类别中都取得了更加优越的结果。同时,本发明的方法在7个类别上都优于基准线,尤其是zipper和pill类。从物体类别和纹理类别的平均auc可以看出,本发明方法在物体类别上效果优于纹理类别,有6个类别都超出了基线,物体类别的结果提升4.82个百分点,纹理类别的结果提升了4.12个百分点。实验结果表明本发明在mvtec ad数据集中实现了较优的异常检测效果,能够有效判断出多种类别的异常情况。
[0096]
表1在mvtecad数据集上的异常检测结果(auc%)
[0097][0098][0099]
为了以简单直接的方式证明本发明提出的异常检测方法的有效性,将mvtec ad图像上的定性异常定位结果可视化,如图4所示,前四行分别表示正常测试图像对应的原始内容输入图像、原始结构输入图像、重建图像以及误差图,后四行分别表示异常测试图像对应的原始内容输入图像、原始结构输入图像、重建图像以及误差图。可以明显看出,对于正常图像,本发明的异常检测模型可以很好地进行图像重建,具有很小的重建误差,对于异常图像的异常部分,本发明的模型不能很好的重建,因此可以定位来自不同对象类别的不同大小和结构的异常区域。从整体来看,本发明能够定位异常图像中异常部位的位置,具有较强
的有效性和普适性。
技术特征:
1.一种基于表征变换感知的图像异常检测方法,包括下列步骤:第一步:内容-结构变换预测(1)数据预处理选取工业缺陷数据集进行异常检测,训练数据为无缺陷数据,测试数据包含两部分,一部分为包含各类缺陷的数据,另一部分为无缺陷数据;将原始输入图像视为内容图像,对内容图像应用边缘检测算法生成与内容图像对应的结构图像;然后,对内容图像和结构图像进行图像变换,获得内容变换图像和结构变换图像;(2)内容-结构特征提取利用内容编码器en
c
对内容图像和内容变换图像提取隐空间特征f
c
和f
tc
,利用结构编码器en
s
对结构图像和结构变换图像提取隐空间特征f
s
和f
ts
;(3)内容-结构变换预测为学得更丰富的无缺陷图像高级属性特征,另外采用两个解码器d
c
和d
s
,将所获得的内容图像和内容变换图像的编码特征f
c
和f
tc
,以及结构图像和结构变换图像的编码特征f
s
和f
ts
,分别送入两个解码器d
c
和d
s
,输出预测的图像变换方式通过变换感知损失l
t
来联合训练编码器en
s
、en
c
以及解码器d
c
、d
s
,在训练过程中最小化此差异,方法如下:每个变换t都用特定的参数来表示,事先定义一个参数化变换族t={t
θ
|θ~θ},其中参数θ从分布θ中取样,变换感知损失通过参数θ来捕获,选取的仿射变换用参数化矩阵a(θ)表示,变换感知损失l
t
通过下式计算真实变换和预测变换之间的差异,即:第二步:变换一致性约束(1)建立变换特征的映射关系引入特征变换网络t来近似内容图像和内容变换图像的编码特征f
c
和f
tc
之间的映射关系f
t
(.),特征变换网络t基于resnet网络实现,将特征f
c
输入给一个以随机变换t为条件的特征变换网络t,输出表示为t(f
c
,t),通过最小化t(f
c
,t)和f
tc
的均方误差损失mse来训练特征变换网t;(2)重建原始图像将内容编码器en
c
和结构编码器en
s
提取的两个高级属性特征f
c
和f
s
融合起来,得到融合特征f,并将其送入解码器de,重建原始图像,解码器de网络采用四层反卷积层设计,利用输入图像和重建图像的均方误差mse来计算重建误差损失l
rec
;(3)预测重建图像的变换利用特征变换网络t,使用内容编码器en
c
提取重建图像的潜在特征基于重建图像的潜在特征来计算重建变换图像的潜在特征并将潜在特征和送入解码器d
c
预测重建图像的变换,如果参数化的变换t能够通过向解码器d
c
输入特征f
c
和f
tc
进行成功预测,那么通过提供和来正确地预测变换即存在变换的一致性,通过计算原始变换t和预测变换的均方误差mse来表示变换一致性损失函数,约束解码器de生成高质量的重建图像;
第三步:异常检测异常检测模块用于测试输入样本图像有无缺陷异常,将重建图像与原始图像之间的质量差异作为判别异常的标准,首先依据均方误差mse计算待测样本的重建误差值,然后将此值在测试集上进行min-max归一化,得到最终的异常分数值,通过设置阈值进行正常和异常的区分,异常分数值低于阈值的判定为正常样本,反之为异常样本,最终完成异常检测。
技术总结
本发明涉及一种基于表征变换感知的图像异常检测方法,包括下列步骤:第一步:内容-结构变换预测,包括(1)数据预处理;(2)内容-结构特征提取;(3)内容-结构变换预测;第二步:变换一致性约束,包括(1)建立变换特征的映射关系;(2)重建原始图像;(3)预测重建图像的变换;第三步:异常检测。本发明能够缓解重建模型存在的浅层特征干扰问题,提升异常检测性能。提升异常检测性能。提升异常检测性能。
技术研发人员:侯春萍 葛棒棒 王致芃 刘洋
受保护的技术使用者:天津大学
技术研发日:2021.12.08
技术公布日:2022/3/8