异常检测FastFlow论文详解

FastFlow

论文链接 https://arxiv.org/pdf/2111.07677v2.pdf
在这里插入图片描述

Figure 1 : FastFlow的一个例子。 FastFlow将输入图像的特征从原始分布转换为标准的正态分布。 输入图像中正常区域的特征落在分布中心,而异常区域的特征则远离分布中心。

Abstract

​ 在采集和标记足够的异常数据不可行的情况下,无监督异常检测和定位是实际应用的关键。 现有的基于表示的方法大多采用深度卷积神经网络提取正常样本图像特征,并通过非参数分布估计方法表征对应的分布。 异常分数是通过测量测试图像的特征与估计分布之间的距离来计算的。 然而,目前的方法不能有效地将图像特征映射到易于处理的基分布上,并且忽略了局部和全局特征之间的关系,而这些特征对识别异常非常重要。 为此,我们提出了用二维归一化流实现的FastFlow,并将其用作概率分布估计器。 我们的FastFlow可以作为插件模块,与ResNet和视觉转换器等任意深度特征提取器一起使用,用于非监督异常检测和定位。 在训练阶段,FastFlow学会将输入的视觉特征转换为可处理的分布,并在推理阶段获得异常概率值。 在MVTec AD数据集上的大量实验结果表明,FastFlow在各种骨干网上的准确性和推理效率超过了以前的最先进的方法。 该方法异常检测的AUC达到99.4%,具有较高的检测效率。

1 Introduction

​ 计算机视觉领域的异常检测和定位的目的是识别异常图像和定位异常区域,广泛应用于工业缺陷检测、医学图像检测、安全检查和其他领域。但是,由于异常概率密度低,正态和异常数据通常呈现严重的长尾分布,甚至在某些情况下,没有异常样本。这一现实的缺点使得在实践中很难对大量异常数据进行收集和标注,以便进行监督学习。针对这一问题,提出了一种无监督异常检测方法,它也被称为一类分类或非分布检测。也就是说,我们在训练过程中只能使用正常的样本,而在测试过程中需要识别和定位异常。

​ 在无监督异常检测中,一种很有前景的方法是利用深度神经网络获取正常样本图像的特征,并用一些统计方法对其分布进行建模,然后检测具有不同分布的异常样本。该方法主要包括两个部分:特征提取模块和分布估计模块。

​ 在分布估计模块上,以往的方法采用非参数方法对正常样本图像的特征分布进行建模。例如,他们估计了多维高斯分布通过计算特征的均值和方差,或使用聚类算法通过正常聚类估计这些正常特征。最近,一些文章开始使用标准化流来估计分布。通过一个可训练的过程,最大化正常样本图像特征的对数似然,他们将正常样本图像特征嵌入到标准正态分布中,并利用概率来识别和定位异常。然而,原始的一维归一化流模型需要将二维输入特征扁平化为一维向量来估计分布,这破坏了二维图像固有的空间位置关系,限制了流模型的能力。此外,这些方法需要通过滑动窗口法对图像中大量的小块进行特征提取,并对每个小块进行异常检测,从而获得异常定位结果,这导致了推理的复杂性,限制了这些方法的实用价值。为了解决上述问题,我们提出了将原归一化流扩展到二维空间的FastFlow方法。在我们的流模型中,我们使用全卷积网络作为子网,它可以保持空间的相对位置,提高异常检测的性能。同时支持整幅图像的端到端推理,直接输出异常检测和定位结果,提高推理效率。

​ 对于异常检测中的特征提取模块,除了使用ResNet等CNN骨干网获取判别特征外,现有的大部分工作主要研究如何合理地利用多尺度特征识别不同尺度和语义级别的异常,并通过滑动窗口法实现像素级异常定位。全局信息与局部异常之间相关性的重要性不能充分利用,滑动窗口方法需要测试大量的图像块,计算复杂度较高。为了解决这些问题,我们使用FastFlow通过在测试阶段端到端获得全局和局部特征分布的可学习建模,而不是设计复杂的多尺度策略和使用滑动窗口方法。我们在两种骨干网上进行了实验:vision transformer和CNN。与CNN相比,VIT能够提供一个全局的接收域,在保持不同深度语义信息的同时,更好地利用全局和局部信息。因此,在VIT中我们只使用某一层的特征。用VIT替换CNN看起来微不足道,但我们发现在其他方法中执行这种简单的替换实际上会降低性能,但我们的2D flow在使用CNN时实现了具有竞争力的结果。我们的FastFlow具有更强的全局和局部建模能力,因此它可以更好地发挥transformer的有效性。

​ 如图1所示,在我们的方法中,我们首先通过特征提取器提取视觉特征,然后将其输入FastFlow中以估计概率密度。在训练阶段,我们的FastFlow使用正常样本图像进行训练,以2D的方式将原始分布转换为标准正态分布。在推理中,我们使用二维特征上每个位置的概率值作为异常得分

综上所述,本文的主要贡献有:

我们提出了一种二维归一化流,称为FastFlow,用于异常检测和定位,具有全卷积网络和二维损失函数,以有效地模拟全局和局部分布。

我们为FastFlow设计了一种轻量级的网络结构,在所有步骤中交替叠加大小卷积核。该算法采用端到端推理阶段,效率高。

提出的FastFlow模型可以作为一个插件模型使用各种不同的特征提取器。在MVTec异常检测数据集上的实验结果表明,我们的方法在准确性和推理效率方面都优于以往的最先进的异常检测方法。

2 Related Work

2.1 Anomaly Detection Methods

​ 现有的异常检测方法可以概括为基于重构的方法和基于表示的方法。基于重构的方法通常使用生成模型,如自动编码器或生成对抗网络来编码和重构正常数据。这些方法认为异常是不能被重建的,因为它们不存在于训练样本。基于表示的方法提取正常图像的鉴别特征或正常图像补丁,并建立这些正态特征的分布。然后这些方法通过计算测试图像的特征与正态特征分布之间的距离来获得异常分数。该分布通常通过正态特征的均值和方差对高斯分布进行建模来建立,或整个法线图像嵌入的kNN 。我们采用基于表示的方法,从VIT或ResNet中提取视觉特征,并通过FastFlow模型建立分布。

2.2 Feature extractors for Anomaly Detection

​ 随着深度学习技术的发展,近年来的无监督异常检测方法都采用了深度神经网络作为特征提取器,并产生了较好的异常检测结果。大多数使用ResNet 提取区分的视觉特征。一些工作也开始将ViT引入到无监督异常检测领域,如VT-ADL 使用基于生成的VIT作为骨干。ViT有一个全局性的感受野,可以更好地学习全局特征和局部特征的关系。DeiT (Touvron et al. 2021a)和CaiT (Touvron et al. 2021b)是两种典型的ViT模型。DeiT引入了一种针对VIT的师生策略,这使得VIT学习效率更高,并获得了新的最先进的性能。CaiT提出了一种简单而有效的架构,该架构是按照编码器/解码器架构的思路设计的,并证明vit模型提供了一种具有竞争力的替代最佳卷积神经网络的方案。在本文中,我们使用属于CNN和ViT的各种网络来证明我们的方法的普遍性。

2.3 Normalizing Flow

​ Normalizing Flows (NF) (Rezende and Mohamed 2015)用于学习具有特殊性质的数据分布之间的转换,其转换过程是双射的,流模型可以在两个方向上使用。Real-NVP (Dinh, Sohl-Dickstein, and Bengio 2016)和Glow (Kingma and Dhariwal 2018)是两种典型的NF方法,其中正向和反向过程都可以快速处理。NF通常用于从特定概率分布中采样的变量(如图像或音频)生成数据。最近,一些工作(Rudolph, Wandt,和Rosenhahn 2021;Gudovskiy, Ishizaka和Kozuka, 2021年)开始使用它进行无监督异常检测和定位。DifferNet (Rudolph, Wandt, and Rosenhahn 2021)通过使用NF来估计测试图像的精确似然性,实现了良好的图像级异常检测性能。遗憾的是,由于这种方法将特征提取器的输出变平,无法获得准确的异常定位结果。CFLOWAD (Gudovskiy, Ishizaka和Kozuka, 2021)建议使用硬代码位置嵌入来利用NF学习到的分布,它可能在更复杂的数据集上表现不佳。

3 Methodology

Figure 2 :(a)在我们的方法中,无监督异常检测和定位的整个pipeline,它由一个特征提取器和我们的FastFlow模型组成。我们可以使用任意一个网络作为特征提取器,如CNN或vit。FastFlow由“3 x 3”和“1 x 1”Flow交替堆叠。(b)表示我们FastFlow其中一个流步骤,“Conv 2d”可以是3 x3或1 x 1卷积层,分别称为3 x 3或1 x 1 Flow。

​ 在本节中,我们将介绍我们方法的Pipeline和FastFlow的体系结构,如图2所示。我们首先建立了无监督异常检测的问题定义,并介绍了在基于表示的方法中使用可学习概率密度估计模型的基本方法。然后分别描述了特征提取器和FastFlow模型的细节。

3.1 Problem Definition and Basic Methodology

​ 无监督异常检测也称为一类分类或非分布检测,需要模型来判断测试图像是正常还是异常。异常定位需要一个更细粒度的结果,为每个像素提供异常标签。在训练阶段,只观察到正常图像,但推理过程中同时出现正常图像和异常图像。主流的方法之一是基于表示的方法,它从正常样本图像或正常样本图像块中提取判别特征向量构造分布,并根据测试图像嵌入与分布之间的距离计算异常得分。其分布特征通常为:正常样本图像的中心为n维球体,正常样本图像的高斯分布,或从KNN中获得的存储库中存储的正态嵌入簇。提取训练数据集特征后
在这里插入图片描述
在这里插入图片描述

xi是从样本分布pX (x)中采样得到的。
在这里插入图片描述
​ 一种基于表示的异常检测模型旨在学习参数空间Θ中的参数θ,使得从样本分布pX (x)中采样得到的xi能够映射到同一个标准分布pZ (z),而异常像素或实例映射在pZ (z)之外。在我们的方法中,我们遵循这种方法,并提出了FastFlow,将从典型骨干网中提取的正常样本图像的高维视觉特征投影到标准正态分布中。

3.2 Feature Extractor

​ 在整个过程中,我们首先通过ResNet或vit从输入图像中提取具有代表性的特征。正如Sec 1中提到的,异常检测任务中一个重要的挑战是,获取全局关系,将异常区域与其他局部区域区分开来。因此,在使用vision transformer (ViT) (Dosovitskiy et al. 2020)作为特征提取器时,我们只使用某一层的特征,因为ViT对局部patch和全局feature之间的关系的捕捉能力更强。对于ResNet,我们直接在前三个block中使用最后一层的feature,并将这些feature放入三个对应的FastFlow模型中。

3.3 2D Flow Model

在推理中,异常图像的特征应该是在分布之外的,因此比正常图像具有更低的似然,似然可以作为异常得分。具体来说,我们将每个通道的二维概率求和,得到最终的概率图,并使用双线性插值将其上采样到输入图像的分辨率。

4 Experiments

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

5 Conclusion

在本文中,我们提出了一种新的方法,名为FastFlow的无监督异常检测和定位。我们的关键发现是,异常检测和定位需要综合考虑全局和局部信息,并采用可学习的分布建模方法,以及高效的推理过程,这些都是现有方法所忽略的。为此,我们提出了一个轻量级结构的二维流模型FastFlow,该模型在训练时将正常图像的特征分布投影到标准正态分布,在测试时使用概率作为异常分数。FastFlow可以以插件的形式用于ResNet和ViT等典型的特征提取网络。在MVTec AD数据集上的大量实验结果表明,FastFlow算法在准确性和推理效率方面都优于目前最先进的算法。

  • 4
    点赞
  • 43
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 5
    评论
MVTec AD数据集是用于异常检测的一个全面的、多目标、多缺陷的数据集,由MVtec公司提出。该数据集模仿了工业实际生产场景,并主要用于无监督异常检测。该数据集包含了5354张高分辨彩色图像,涵盖了70种不同类型的缺陷,例如划痕、凹痕、污染和不同结构变化。此外,该数据集提供了像素级精确的标签,为异常区域提供了准确的标注。 如果您想下载MVTec AD数据集,您可以通过访问MVTec公司的官方网站或联系他们获取相关的下载信息。请注意,可能需要满足一些使用条件和授权要求。因此,建议您直接与MVTec公司联系以获取最准确和最新的下载信息。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [MVTec AD—A Comprehensive Real-World Dataset for Unsupervised Anomaly Detection 2019 CVPR](https://blog.csdn.net/weixin_38621214/article/details/120954554)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *3* [【论文复现赛】FastFlow_Paddle](https://blog.csdn.net/m0_63642362/article/details/127207094)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一个王同学

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值