打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
CVPR2023:异常检测与定位的原型残差网络

论文题目:

Prototypical Residual Networks for Anomaly Detection and Localization

摘要

异常检测与定位以其高效、有效的特点在工业制造中得到了广泛的应用,异常是罕见的,很难收集和监督模型容易过拟合这些看到的异常与少数异常样本,产生不满意的性能。另一方面,异常通常是微妙的,难以识别的,并且有各种各样的外观,使得很难检测异常,更不用说定位异常区域了。为了解决这些问题,我们提出了一个名为原型残差网络(PRN)的框架,该框架学习异常和正常模式之间不同尺度和大小的特征残差,以准确重建异常区域的分割图。PRN主要由两部分组成:明确表示异常对正常模式残差特征的多尺度原型;一种多尺度自注意机制,可实现变尺度异常特征学习。此外,我们还提出了多种考虑可见和不可见外观差异的异常生成策略,以扩大和多样化异常。在具有挑战性且广泛使用的MVTec AD基准测试中进行的大量实验表明,PRN优于当前最先进的无监督和有监督方法。我们进一步报告了另外三个数据集的SOTA结果,以证明PRN的有效性和泛化性。

1. 介绍

人类的认知和视觉系统具有感知异常的固有能力,人类不仅可以区分有缺陷和无缺陷的图像,而且即使他们没有看到或只有有限数量的异常,他们也可以指出异常的位置。出于同样的目的,我们引入了异常检测(图像级二值分类)和异常定位(像素级二值分类),并以其高效和显著的精度被广泛应用于各种场景,包括工业缺陷检测、医学图像分析和视频监控。

鉴于异常检测和异常定位的重要性,人们已经投入了大量的工作来研究异常检测和异常定位,但很少有人能同时很好地解决检测和定位问题。我们认为,现实世界的异常数据主要在三个方面削弱了这些模型:1)异常样本的数量是有限的,并且明显少于正常样本,产生的数据分布导致了自然的不平衡学习问题;II)异常通常是微妙的,难以辨别,因为正常模式仍然主导着异常图像;从整个图像中识别出异常区域是异常检测和定位的关键;III)异常的外观变化明显,即异常区域可以呈现各种大小、形状和数量,以及这种外观变化很难对所有异常进行井眼定位。

如果没有足够的异常进行训练,无监督模型成为事实上的主流方法,它通过学习正态样本的分布或生成足够的合成异常来摆脱不平衡问题。然而,这些方法对真正的异常是不透明的,导致隐式决策可能导致许多假阴性和假阳性。此外,无监督方法严重依赖于正常样本的质量,因此鲁棒性不够强,在未校准或有噪声的数据集上表现不佳。如图1所示,无监督模型预测异常周围的广阔区域,我们把这个问题归因于这些方法的鉴别能力较差。

最近介绍了几种监督方法,DeepSAD在潜空间中扩大异常与一类中心之间的边界,通过极限见异常获得更紧凑的一类描述符。DRA和DevNet将异常检测表述为多实例学习(MIL)问题,如果任何图像补丁是缺陷区域,则将图像标记为异常。基于mil的方法在细粒度图像补丁级进行学习,有效降低了异常图像中正常补丁的干扰,这些方法通常难以在图像级监督下准确定位所有异常区域,如图1所示。特别是当异常区域仅占图像斑块很小一部分时,图像级表示可能以正常区域为主,忽略微小异常,从而导致图像级和像素级性能不一致,如表1所示。此外,如图2所示,这些方法在决策时也会遇到不可解释的问题。

本文提出了一个原型残差网络(PRN)框架,作为上述异常检测和定位问题的有效补救。首先,我们提出了多尺度原型来表示正常模式,与以往通过连接特征记忆或随机采样特征图构建正态模式的方法相比,我们使用不同尺度的中间特征图原型构建正态模式,从而保留了空间信息,提供了精确且具有代表性的正态模式。在此基础上,通过每个尺度上异常图像与最接近原型之间的偏差获得特征图残差,并添加多尺度融合块进行不同尺度间的信息交换。其次,由于异常区域的外观变化很大,有必要从多个接收野中学习斑块之间的关系。因此,我们引入了一种多尺寸自注意机制,该机制对不同感受野的斑块进行操作,以检测不同尺寸斑块级别的不一致性。最后,与以往使用图像级监督进行训练的方法不同,我们的模型使用像素级监督学习重建异常分割图,更关注异常区域并保持更好的泛化。此外,我们还提出了多种异常生成策略,有效地减轻了数据不平衡的影响,丰富了异常的外观。通过所提出的模块,我们的方法实现了比以前的无监督和有监督方法更准确的定位,如图1和图2所示。

本文的主要贡献总结如下:

·我们提出了一种新的用于异常检测和定位的原型残差网络。PRN利用多尺度原型和多尺度自注意机制,学习多尺度特征图之间和每个尺度多尺度感受野内的残差表征。

·我们提出了多种异常生成策略,考虑了可见和不可见的外观差异,以扩大和多样化异常。

·我们在四个数据集上进行了广泛的实验,以表明我们的方法实现了新的SOTA异常检测性能,并且在异常定位性能上大大优于当前的SOTA。

2. 相关工作

无监督的方法 无监督范式假设在训练期间只有正常数据可用,基于Auto-Encoder的方法依赖于这样一个假设,即训练模型可以很好地重建正常区域,但无法重建异常区域。虽然基于输入图像和重建图像之间的差异的定位结果通常是直观和可解释的,但其性能是有限的。为了获得更好的重构性能,引入了生成模型。然而,VAE的产生效应或GAN对图像正常区域的处理较差,导致粗重建和误检。基于归一化流的方法学习数据分布和定义良好的密度之间的双目标转换,但是这些方法的计算成本很高。基于知识提取的方法将异常检测任务转化为教师和学生网络之间的特征比较。基于深度特征建模的方法为输入图像构建特征空间,然后通过比较特征来检测和定位异常。基于自监督学习的方法设计了代理任务,如预测或恢复输入图像中的隐西藏域或属性。基于一类分类的方法旨在将训练图像或补丁映射到特征空间中的小超球上。这些方法通过对异常样本不透明来解决不平衡问题,但是受到隐性决策的影响,导致在微妙和具有挑战性的异常上表现欠佳。

监督方法 最近出现的一个趋势是通过利用观察到的异常来增加异常和正常样本之间的区分,从而关注监督异常检测。现有的一些作品是基于一类分类度量的少数异常学习。[35,69]中提出的一些以异常为中心的偏差损失减轻了由所见异常引起的偏差。[13]中引入了多头模型来学习解纠缠异常表示,其中每个头部专门用于捕获特定类型的异常。此外,图像级表示可能以正常区域为主,而忽略了细微异常区域的表示,导致无法准确定位各种大小、形状和数量的异常。

3.方法

结合所提出的保持数据均衡分布的异常生成策略(附录a .1),我们提出了原型残差网络(Prototypical Residual Network, PRN)来重建用于异常检测和定位的分割图。总体而言,我们采用了类似U-Net的架构,如图3所示。编码器是预训练的ResNet-18,解码器由上采样和卷积块组成。PRN的跳过连接分支配备了提出的多尺度原型(MP,第3.1节)、多尺度融合块(MF,第3.2节)和多尺度自注意机制(MSA,第3.3节)。下面,我们将具体描述每个部分。

3.1. 多尺度模型

原型初始化 我们定义XN为训练期间所有正常样本的集合(∀x∈XN: yx = 0). yx表示如果图像x是正常的(0)或异常的(1)。接下来,我们使用在ImageNet上预训练的网络来获得输入图像在不同尺度上的特征映射。我们使用Fi,j = Fj (xi) (j∈{1,2,3,4})来表示来自类似resnet的架构(如ResNet-18)的输入xi的第j个块输出。假设特征映射Fi,j∈Rcj×hj×wj是深度cj,高度hj,宽度wj的张量。首先,第j个尺度原型Pj∈RK×cj×hj×wj是从Fj (XN)中随机抽取的K个特征映射,通过K -means聚类进行更新。L2距离用于计算两个特征图之间的距离。由于不同数据集中的正态样本数量差异较大,为了获得合适的原型数量,我们将原型数量设置为正态样本数量的一定比例。因此,K的值因数据集而异,通常为10%。采用三种尺度的原型(j∈{1,2,3})。模型参数在聚类过程中被冻结。聚类后,每个尺度下的原型Pj∈RK×cj×hj×wj在后续的模型训练中保持不变。

残差表示 给定第i个输入图像及其对应的特征映射Fi,j在第j个块上,通过计算Fi,j与每个原型Pj之间的L2距离,我们可以找到在第j个尺度上最接近的原型P * j。我们定义Fi,j到其最接近原型的反常残差表示为

其中D(·,·)实现了两个张量之间的元欧几里得距离,Di,j∈Rcj×hj×wj是最近的聚类原型P * j的残差。注意,输入样本可以匹配不同尺度上的不同原型,因为每个尺度上的原型都是独立学习的。

3.2. 多尺度融合

为了实现跨多尺度表示的信息交换,我们建议使用多尺度融合块(MF),如图4所示,融合后的输出特征图是三个输入特征图变换后表示的和。特征映射F * i,j与其他特征映射融合如下:

变换函数frj(·)的选择取决于输入特征映射索引r和输出特征映射索引J (r, J∈{1,2,3})。如果r = j, frj(Fi,r) = Fi,r。如果r < j, frj(Fi,r)通过步长为2j−r,核大小为2j−r + 1,填充为2j−r−1的深度可分离卷积对输入特征映射Fi,r进行下采样。如果r > j, frj(Fi,r)通过双线性上采样和1 × 1卷积对输入特征映射Fi,r进行上采样。异常残差表示Di,j也遵循图4中的融合范式,并沿着深度维度与F∗i,j连接,得到C∗i,j∈R2cj×hj×wj。

3.3. Multi-size Self-Attention

由于异常区域的大小不同,为了进一步检测连接特征映射C * i,j中的局部不一致性,我们引入了多尺寸自注意(MSA)机制。MSA将C∗i,j划分为不同大小的patch ps∈{hj, hj/2, hj/4, hj/8},并计算不同头部的逐patch自关注。不同的头对应不同的patch尺寸,如图3所示。具体来说,我们首先从C * i,j中提取形状为2cj × ps × ps的斑块,并将它们平铺成第s个头像的一维向量。然后我们使用全连接层将平面化向量嵌入查询嵌入Qsi,j∈RN ×cs,我们用类似的操作得到键嵌入Ksi,j和值嵌入Vsi,j。注意矩阵的计算过程如下:

之后,将Asi,j重塑为原始空间分辨率。从不同patch大小的头中获取特征也采用了类似的操作。最后,将这些特征串接并通过一个2D残差块得到输出Ti,j∈R2cj×hj×wj。我们将MSA叠加N次(本文中N = 3)。为了进一步融合Ti,j的多个尺度,我们使用另一个MF块来获得T * i,j,这是如图3所示的跳过连接的输出。

3.4. 异常生成策略

为了缓解数据不平衡问题,我们提出了两种在线异常生成策略,可以生成各种类型的异常。一种策略是创造通过在正常样本上放置已见异常的增强异常区域,生成分布内异常,这些生成的异常被称为扩展异常(EA)。EA增加了异常的数量,减轻了数据不平衡的问题。另一种策略是在不知道所见异常的情况下使用正态样本创建分布外异常。这些生成的异常被称为模拟异常(SA),它补充了潜在的未见异常。

扩展的异常 我们不是简单地从看到的异常中增加整个图像,而是增加看到的异常的特定异常区域,并将它们放置在正常样本中的任何可能位置。首先,将增强(图5Aug1)应用于从所见异常中随机选择的异常,以生成颜色变化(图5a)。Aug1采用两个随机操作,分别为{均衡化、太阳化、退色、锐度、自对比、反转、伽马对比}。之后,我们将选择的随机空间变换异常参数为{rotate, shear, shift},以获得位置和形状变化(图5R)。由于扩展后的异常应该尽可能真实合理,我们提出了一个软位置约束,将R放置在前景中。更具体地说,目标区域(TA)是指可以放置异常的区域。我们使用随机采样的目标区域裁剪R,以获得剪切的异常区域(图5C)。如果R与目标区域没有重叠,我们再次执行Aug2,直到R与目标区域重叠。我们对C进行二值化,得到地面真值掩模(图M)。因此,我们将提出的扩展异常(图E)定义为:

其中¯M为M的倒数,⊙为元素乘法运算,β为不透明度参数,以便更好地将异常部分和正常部分组合在一起。对于目标数据集和纹理数据集,目标区域分别是目标前景的一部分和整个图像的一部分。目标的形状是一组几何图形:{圆形,矩形,多边形}。

模拟异常 与DRAEM类似,我们将Perlin噪声与DTD数据集中的随机纹理相乘,并将这些增强的纹理应用于正常图像。由于这些异常与观测到的异常明显不同,我们将这些分布外异常称为异源异常(HEA)。为了进一步扩大模拟异常的多样性,我们引入了同源异常(HOA),其中异常乘以柏林噪声是增强的正常图像。注意,上面提到的TA也适用于模拟异常的生成。有关HEA及HOA的详情,请参阅补充资料。

3.5. 训练与推理

PRN解码器输出一个与地面真值掩码M形状相同的异常分数图Mo,分别采用焦点损失和平滑L1损失来提高对硬样本的准确分割的鲁棒性,并降低对异常值的过度敏感性。因此,用于训练PRN的总损失Ltotal定义为

当预测的Mo准确且足够接近M时,Mo不仅可以解释为像素级异常定位结果,还可以解释为异常检测的图像级异常估计。具体来说,我们取top-K异常像素的平均值作为异常检测的图像级异常评分。在初步研究中,我们训练了一个基于Mo的分类网络用于图像级异常检测,但没有观察到比top-K估计有改善。

4. 实验

4.1. 实验的细节

数据集 为了验证我们方法的有效性和可泛化性,我们在不同的数据集上进行了实验,即MVTec异常检测数据集(MVTec AD)、DAGM、BeanTech异常检测数据集(BTAD)和KolektorSDD2。在MVTec AD中有10个对象子数据集和5个纹理子数据集。每个子数据集都呈现了一组不同的异常,从而可以对地表异常检测方法进行一般评估。DAGM包含10个具有小异常区域的纹理对象,这些区域在视觉上与背景非常相似。BTAD包括三种现实世界的工业产品,展示了不同的身体和表面缺陷。KolektorSDD2是一个表面缺陷的数据集,这些表面缺陷在形状、大小和颜色上都有变化,从小的划痕和斑点到大的表面缺陷。我们采用一般监督设置,其中每个子数据集的训练集只包含10个异常样本。更多细节将在补充材料中提供。

评价指标 根据之前的工作,我们通过图像级(image - auroc)和像素级(pixel - auroc)的接收器工作特性曲线下的面积来评估结果。然而,异常区域通常只占整个图像的一小部分,因此,Pixel-AUROC不能准确反映定位精度,因为假阳性率主要由极高数量的非异常像素主导,即使检测到假阳性,假阳性率仍然很低。为了全面衡量定位性能,我们引入了Per Region Overlap (PRO)分数和pixel - level Average Precision (AP)。PRO分数平等地对待不同大小的异常区域,而AP分数更适合高度不平衡的类别,特别是对于准确性至关重要的工业异常定位。

实现细节 四个数据集中的所有图像都被调整为256 × 256,我们使用ImageNet上预训练的ResNet-18的layer1、layer2和layer3,分别获得64 × 64 × 64、128 × 32 × 32和256 × 16 × 16尺度的特征地图,并在训练时冻结这些块。原型的数量取决于数据集,占数据集中正常样本总数的10%,每个尺度的k-means的最大迭代次数设置为300。我们使用Adam优化器进行参数优化,初始学习率为10−4,权重衰减为10−2。焦损α和γ分别设为0.5和4,总损耗中的λ设为5。我们训练了700个epoch, batch size为64,包括32个正常样本,16个扩展异常和16个模拟异常,以确保异常的多样性。我们取前100个异常像素的平均值作为图像级异常得分,我们将PRN与7种无监督SOTA方法和2种监督SOTA方法进行了比较。我们报告的结果是基于这些方法提供的实现PatchCore、RD4AD、CFLOW和CFA的主干是WideResNet50。SSPCAB取代了DRAEM中重构编码器的倒数第二层卷积层。DevNet提出,可以将网络给出的异常分数进一步反向传播到原始图像像素,从而推断哪些像素是导致异常的主要因素,从而进行异常定位。我们使用这种方法获得DRA的异常定位性能。

4.2. MVTec的异常检测与定位

MVTec的异常检测和定位结果如表1所示。我们的方法在15个类别中的10个类别中实现了最高的图像AUROC(检测)和最高的像素AUROC(定位)。平均图像AUROC结果表明,我们的方法比无监督SOTA和有监督SOTA分别高出0.2%和3.3%。同时,对于像素AUROC,我们的方法比无监督SOTA高出0.9%,比有监督SOTA高出13.7%。

为了全面展示异常定位的能力,表2显示了两个额外的度量结果,PRO和AP。在PRO指标上,PRN比之前的无监督SOTA高出2.2%,比之前的有监督SOTA高出22.8%。这证实了PRN在同时定位不同大小的异常区域时更有效。更具挑战性的AP度量进一步证明了PRN出色的异常定位能力。在15个班级中,有12个类别的AP成绩较好,与其他班级的SOTA成绩相当。就总体AP而言,我们的方法甚至比无监督SOTA高出10.5%,比有监督SOTA高出52.6%。这种相对于AP的显著改进在很大程度上证明了PRN在正常和异常像素之间更具区别性。我们在每张图像的推理时间(秒)和性能方面进一步比较了基于预训练的方法,如表3所示。所有实验均在NVIDIA GeForce RTX 3090上进行,使用统一的标准。我们的方法不仅获得了最佳性能,而且显著减少了推理时间。

通过图6中的结果可视化,我们定性地评价了与最先进的方法DRAEM和PatchCore相比,异常定位的性能。我们的模型准确定位异常,并清晰地关注所有异常区域,无论其大小,形状和数量如何。附加的定性结果在补充材料中提供。

4.3. 消融实验

MP, MSA和MF的重要性 我们研究了PRN中每个模块的重要性,结果见表4。我们有一个类似于u - net的架构,没有任何模块在跳过连接分支上作为基线。总的来说,PRN在很大程度上优于基线,特别是在P、O和a指标上。通过使用执行显式残差表示的MP,所有指标都显着提高。当应用进行变大小异常特征学习的MSA时,性能进一步提高。这证实了在多个大小的接受野之间信息交换的有效性。最后,去除导致性能下降的MF,表明有必要跨不同尺度交换信息。

不同异常生成策略的影响 我们进行消融研究,以研究表5中提出的异常生成策略的不同组成部分的影响。所提出的EA缓解了可见外观差异的问题,但没有充分探索潜在的未见异常。从表5可以看出,模型的性能随着生成异常的种类而增加。我们认为,提出的由HEA和HOA组成的SA可以产生各种大小、形状和数量的异常,从而使我们的模型可以推广到看不见的异常。此外,本文提出的TA对施加异常区域的位置进行了软约束,使生成的异常尽可能真实合理,从而显著提高了模型的性能。

原型比例的影响 表6比较了原型与总正态样本之比的影响,注意,100%意味着不执行集群。将一个正态样本的每个特征映射视为一个原型,原型的个数等于正态样本的个数。PRN100%较差的性能表明,从最接近的聚类原型中获得的残差表示比从单个最接近样本中获得的残差表示更具代表性。除此之外,样机数量少导致样机之间的区别不够,从而导致性能不佳。结果表明,当掺量为10%时,性能最佳。此外,使用更少的原型可以加快推理速度。

所使用的已见异常数的影响 如表7所示,我们探讨了所使用的异常数量的影响。使用不同数量的已见异常,我们的方法显著优于Devnet和DRA,这证明了我们提出的异常生成策略的有效性以及PRN对不同失衡程度数据集的鲁棒性。

4.4. 其他基准的评估

为了进一步评估PRN的异常检测和定位能力,我们在另外三个广泛使用的数据集上对PRN进行基准测试,即DAGM, BTAD和KolektorSDD2。如表8所示,PRN在所有三个数据集上都达到了新的SOTA性能,证明了它的有效性和泛化性。在补充材料中提供了更详细的比较结果和一些定性的例子。

5. 结论

本文提出了一种新的异常检测和定位框架—原型残差网络。PRN在每个尺度上学习多尺度特征图和多尺度接受域内的残差表征,从而能够准确地检测和定位各种大小、形状和数量的异常区域。此外,我们还提出了各种异常生成策略,以扩大和多样化异常。我们在四个流行的数据集上进行了深入的实验,以证实我们的方法的有效性和通用性。PRN在异常检测上实现了新的SOTA,在异常定位性能上明显优于以往的方法。

局限性 我们的方法要求数据集为异常提供准确的真相掩模,对具有不同缺陷大小的异常图像使用单个图像级别的异常平均分数并不有利于微小缺陷,我们把这个有趣的扩展留给未来的工作。

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
ECCV 2022 | 自支持少样本语义分割
【相机标定】开源 | 单视角镜头畸变自动标定的最小求解器,性能SOTA!
【目标检测】Faster RCNN算法详解
计算机视觉中,目前有哪些经典的目标跟踪算法?
ICCV2021 还在用大量数据暴力train模型?主动学习,教你选出数据集中最有价值的样本
2021CVPR 3D目标检测论文——HVPR
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服