通过条件归一化流的定位实时无监督异常检测

CFLOW-AD是一种基于条件归一化流的实时无监督异常检测模型,旨在解决标注困难和异常实例稀缺的问题。模型通过预先训练的编码器和多尺度生成解码器估计特征的可能性,提高了效率并降低了复杂性。在MVTec数据集上,CFLOW-AD在检测和定位任务中表现出优于现有方法的性能。
摘要由CSDN通过智能技术生成

CFLOW-AD: Real-Time Unsupervised Anomaly Detection with Localization via Conditional Normalizing Flows

CFLOW-AD:通过条件归一化流的定位实时无监督异常检测

摘要

  Unsupervised anomaly detection with localization has many practical applications when labeling is infeasible and, moreover, when anomaly examples are completely missing in the train data. While recently proposed models for such data setup achieve high accuracy metrics, their complexity is a limiting factor for real-time processing. In this paper, we propose a real-time model and analytically derive its relationship to prior methods. Our CFLOW-AD model is based on a conditional normalizing flow framework adopted for anomaly detection with localization. In particular, CFLOW-AD consists of a discriminatively pretrained encoder followed by a multi-scale generative decoders where the latter explicitly estimate likelihood of the encoded features. Our approach results in a computationally and memory-efficient model: CFLOW-AD is faster and smaller by a factor of 10× than prior state-of-the-art with the same input setting. Our experiments on the MVTec dataset show that CFLOW-AD outperforms previous methods by 0.36% AUROC in detection task, by 1.12% AUROC
and 2.5% AUPRO in localization task, respectively.

  当异常对象无法进行标记且当异常例子在训练集中完全缺失时,带定位的无监督异常检测有许多实际应用。虽然最近提出的模型针对这种数据设置,实现了较高的精度指标,但它们的复杂性是实时处理的一个限制因素。在本文中,我们提出了一个实时模型,并解析推导了它与先前方法的关系。我们的CFLOW-AD是基于一个条件归一化流框架的带有定位的异常检测模型。特别地,CFLOW-AD由一个经过预先训练的编码器和一个多尺度生成解码器组成,后者明确地估计编码特征的可能性。我们的方法构建了一个计算高效和存储高效的模型:在相同的输入设置下,CFLOW-AD比之前的最先进的技术更快、更小10倍。我们在MVTec数据集上的实验表明,CFLOW-AD在检测任务中比之前的方法好0.36% AUROC,在定位任务中分别为1.12% AUROC和2.5% AUPRO。

1.引言

  带有定位的异常检测(AD)是计算机视觉中一个日益发展的研究领域,具有许多实际应用,如工业检测、道路交通监测、医学诊断等。然而,由于几个原因,常见的监督异常检测方法在实际应用中是不可行的。首先,它需要标记数据,而获取成本很高。其次,异常通常具有长尾效应,并且被传感器获得的概率很低。最后,对于异常的标记是主观的,需要广泛的领域专业知识,如图1所示的工业电缆缺陷。
在这里插入图片描述

图一. 一个在无异常数据下训练的异常定位ODD检测器示例,无异常数据为D_train (第一行)。切片的电缆图像来自MVTec数据集,其中底部一行显示了异常的D_test真实情况(红色),中间一行显示了无异常斑块的例子(绿色)。OOD检测器学习具有$p_X (x)$密度的无异常斑块x的分布,并将其转换为具有$p_Z (z)$密度的高斯分布。阈值τ将具有p˜Z(z)密度的OOD斑块中分离出来。

  由于监督学习异常检测的这些限制,只为训练Dtrain未标记的无异常图像的训练数据集是一个更具有吸引力的方法,如图1(上一行)所示。然后,任何偏离无异常图像的情况都被归类为异常图像。这种具有低异常率的数据设置通常被认为是无监督的。因此,异常检测(AD)任务可以被重新表述为具有异常检测目标的分布外检测(OOD)任务。
  虽然用于低维工业传感器(如电力线或声学)的OOD可以使用通用的k-最近邻或更先进的聚类方法来完成,但对于高分辨率图像,它就不那么简单。最近,使用卷积神经网络(CNNs)从图像中提取语义信息至降采样特征图中得到了广泛的应用。虽然使用cnn进行特征提取的复杂度相对较低,但在最先进的无监督AD方法中,特征映射的后处理还远非实时处理。
  为了解决这一复杂性的缺点,我们提出了一个基于条件规范化流的CFLOW-AD模型。CFLOW-AD对于类似于cnn的特征映射空间维度是不可知的,这导致了更高的精度指标以及更低的计算和内存需求。我们在图1中的一个OOD检测器示例中展示了我们的方法背后的主要思想。利用AD模型学习了具有概率密度函数 p X ( x ) p_X (x) pX(x)的无异常图像斑块x的分布。我们的平移等变模型被训练为将具有 p X ( x ) p_X (x) pX(x)密度的原始分布转换为具有p_Z (z)密度的高斯分布。最后,该模型将具有 p Z ( z ) p_Z (z) pZ(z)的分布内斑块z与具有 p ˜ Z ( z ) p˜_Z(z) p˜Z(z)的分布外斑块分开,使用一个以与分布均值的欧氏距离计算的阈值τ。

2.主要贡献

  DifferNet [30] uses a promising class of generative models called normalizing flows (NFLOWs) [9] for image-level AD. The main advantage of NFLOW models is ability to estimate the exact likelihoods for OOD compared to other generative models [35, 36, 3, 38, 37]. In this paper, we extend DifferNet approach to pixel-level anomaly localization task using our CFLOW-AD model. In contrast to RealNVP [9] architecture with global average pooling in [30], we propose to use conditional normalizing flows [2] to make CFLOW-AD suitable for low-complexity processing of multi-scale feature maps for localization task. We develop our CFLOW-AD with the following contributions:
  DivieNet使用了一种很有前途的生成模型,称为归一化流(NFLOWs)[9]的图像级异常检测。NFLOW模型的主要优点是与其他生成模型[35,36,3,38,37]相比,能够估计OOD的确切可能性。在本文中,我们利用我们的CFLOW-AD模型将 DifferNet 方法扩展到像素级异常定位任务中。与具有全局平均池化的RealNVP 架构相比,我们提出使用条件归一化流,使CFLOW-AD适合于定位任务的多尺度特征映射的低复杂度处理。我们开发我们的CFLOW-AD的贡献如下:

  • Our theoretical analysis shows why multivariate Gaussian assumption is a justified prior in previous models and why a more general NFLOW framework objectiveconverges to similar results with the less compute.
  • 我们的理论分析表明了为什么多元高斯假设在以前的模型中是一个合理的先验,以及为什么一个更一般的NFLOW框架目标以较少的计算量收敛于类似的结果。
  • We propose to use conditional normalizing flows for unsupervised anomaly detection with localization using computational and memory-efficient architecture.
  • 我们提出使用条件归一化流进行计算和内存高效的无监督异常检测与定位架构。
  • We show that our model outperforms previous state of-the art in both detection and localization due to the
    unique properties of the proposed CFLOW-AD model.
  • 我们展示了由于所提出的CFLOW-AD模型的独特特性,我们的模型在检测和定位方面都优于以前的最先进的模型。

3. 理论背景

3.1Feature extraction with Gaussian prior
3.1基于高斯先验算法的特征提取

  考虑一个被训练用于分类任务的CNN h(λ)。它的参数λ通常是通过最小化联合训练数据分布 Q x , y Q_{x,y} Qx,y和学习模型分布 Q x , y ( λ ) Q_{x,y(λ)} Qx,y(λ)之间的KL散度来找到的,其中(x,y)是用于监督学习的输入标签对。
  通常,参数λ由从高斯分布[12]中采样的值初始化,优化过程被正则化为
在这里插入图片描述
其中,R(λ)是一个正则化项,α是一个定义正则化强度的超参数。
  最流行的CNNs是用L2权重衰减正则化( R ( λ ) = ∣ ∣ R ( λ ) ∣ ∣ 2 2 R(λ) =||R(λ)||_2^2 R(λ)=∣∣R(λ)22)进行训练的。这不仅对参数 λ λ λ施加多元高斯(MVG)先验影响,而且对从 h ( λ ) h(λ) h(λ) 中间层的特征映射中提取的特征向量 z z z也施加多元高斯(MVG)先验影响。

3.2 A case for Mahalanobis distance
3.2 马氏距离

  基于相同的MVG先验假设,Lee等人最近提出用MVG密度函数建模特征向量 z z z的分布,并使用马氏距离作为CNN分类器的置信分数。Rippel等人采用马氏距离进行异常检测任务,因为该度量决定了特定特征向量 z z z到其MVG分布的距离。考虑密度函数为 p Z ( z ) p_Z(z) pZ(z)的MVG随机分布变量 N ( µ, Σ ) N(µ,Σ) N(µΣ)
在这里插入图片描述
其中, µ ∈ R D µ∈R^D µRD是一个均值向量,而 Σ ∈ R D × D Σ∈R^{D×D} ΣRD×D是一个真实的无异常密度 p Z ( z ) p_Z (z) pZ(z)的协方差矩阵。
  然后,马氏距离M (z)计算为
在这里插入图片描述
  该框架采用MVG分布假设,表明了其在图像级异常检测任务[中的有效性,并被最先进的PaDiM模型在像素级异常定位任务中所采用。

3.3 Relationship with the flow framework
3.3 流式框架

Dinh等人[9]引入了一类生成概率模型,称为归一化流模型。这些模型应用变量公式的变化,通过具有 p U ( u ) p_U (u) pU(u)密度的易处理的基础分布和双射可逆映射 g − 1 : Z → U g^{−1}:Z→U g1:ZU,来拟合任意密度的 p Z ( z ) p_Z (z) pZ(z)然后,任意 z ∈ Z z∈Z zZ的对数似然可以估计为:
在这里插入图片描述
其中,样本 u ∼ p U u∼p_U upU通常来自标准MVG分布 ( u   N ( 0 , I ) ) (u~N(0,I)) (u N(0,I)),矩阵 J = ∇ z g − 1 ( z , θ ) J=∇_zg^{−1}(z,θ) J=zg1(z,θ)是由向量θ参数化的双射可逆流模型 ( z = g ( u , θ ) ) (z=g(u,θ)) (z=g(u,θ)) u = g − 1 ( z , θ ) u = g^{−1}(z,θ) u=g1(z,θ)的雅可比矩阵。
  流模型g(θ)是一组具有可处理雅可比矩阵行列式的基本层次变换。例如,RealNVP耦合层中的 l o g ∣ d e t J ∣ log{ | det J|} logdetJ是一个层的对角线元素的简单之和。这些模型通过最大化对数似然的随机梯度下降进行优化。同样地,优化可以通过最小化反向 D K L [ p Z ˆ ( z , θ ) ∣ ∣ p Z ( z ) ∣ ∣ ] D_{KL}[p^ˆ_Z(z,θ)||p_Z(z)||] DKL[pZˆ(z,θ)∣∣pZ(z)∣∣] 来完成,其中 p Z ˆ ( z , θ ) p^ˆ_Z(z,θ) pZˆ(zθ)是模型预测, p Z ( z ) p_Z (z) pZ(z)是一个目标密度。该目标的损失函数被定义为:
在这里插入图片描述
  如果 p Z ( z ) p_Z (z) pZ(z)是根据第3.1节的MVG假设分布的,我们可以将(5)表示为马氏距离 M ( z ) M (z) M(z)的函数,使用它从(3)的定义为
在这里插入图片描述
其中 E 2 ( u ) = ∣ ∣ u ∣ ∣ 2 2 E^2 (u) =||u||^2_2 E2(u)=∣∣u22是一个样本 u ∼ N ( 0 , I ) u∼N(0,I) uN(0I)的平方欧几里德距离(详细证明见附录a)。
  然后,当模型 g ( θ ) g(θ) g(θ)的似然贡献项 ∣ d e t J ∣ |det J| detJ(有 ∣ Σ 1 / 2 ∣ |Σ^{1/2}| Σ1/2标准化)补偿 目标密度z的马氏距离的平方和与MVG分布 ( u   N ( 0 , I ) ) (u~N(0,I)) (u N(0,I))u的欧氏距离的平方和之差,这个损失收敛于0。
  这种归一化流框架可以估计任何具有 p Z p_Z pZ密度的任意分布的精确概率,而马氏距离仅限于MVG分布。此外,我们将在下一节中引入条件归一化流,它们在尺寸上更紧凑,并且具有全卷积并行架构。
在这里插入图片描述
图2.概述了我们的CFLOW-AD与一个完全卷积的翻译-等变架构。编码器 h ( λ ) h(λ) h(λ)是一种具有多尺度金字塔池化的CNN特征提取器。金字塔池捕获全局和局部语义信息,从上到下的接受域不断增长。合并特征向量zi k由一组每个第k尺度的解码器gk(θk)独立处理。我们的解码器是一个条件归一化流网络,带有一个特征输入zi k和一个条件输入c k i,带有来自位置编码器(PE)的空间信息。估计的多尺度似然p k i被上采样到输入大小,并加起来产生异常图。

4.CFLOW-AD模型

4.1 CFLOW encoder for feature extraction
4.1用于特征提取的CFLOW编码器

  我们实现了一种类似于最近的模型的多尺度特征金字塔池的特征提取方案。在图2中,我们将经过区别训练的CNN特征提取器定义为一个编码器 h ( λ ) h(λ) h(λ)。CNN编码器将图像块 x x x映射到一个特征向量 z z z中,其中包含关于其内容的相关语义信息。由于cnn其具有共享核参数的平移等变体系结构,因此高效地完成了这一任务。在我们的实验中,我们使用imagenet预训练编码器,遵循施勒迈斯特等人表明大型自然图像数据集可以作为预训练的代表性分布。如果有大量的应用程序领域的未标记数据可用,那么自监督预训练可以是一个可行的选择。
  CNN编码器的一个重要方面是它有效的感受野[21]。由于有效感受野不是严格的,因此编码块 x x x的大小不能精确定义。与此同时,异常有不同的大小和形状,理想上它们必须用可变的感受野来处理。为了解决CNN感受野之间的模糊性和异常变化,我们采用了常用的多尺度特征金字塔池方法。图2显示了特征向量 z i k ∈ R D k , i ∈ { H k × W k } z_i^k∈R^{D_k},i∈\{H_k×W_k\} zikRDki{Hk×Wk}是由K个池化层提取的。金字塔池分别在CNN第一层和CNN最后层捕获小感受野和大感受野域的局部和全局斑块信息。为了方便起见,我们按最后一层到第一层的顺序来计算池化层。

4.2 CFLOW decoders for likelihood estimation
4.2 用于似然估计的CFLOW解码器

  我们使用第3.3节中的一般归一化流框架来估计特征向量z的对数似然。因此,我们的生成解码器模型g(θ)的目标是通过从(1)中估计的参数化密度 p Z ˆ ( z , θ ) p^ˆ_Z(z,θ) pZˆ(zθ)来拟合真实的密度 p Z ( z ) p_Z (z) pZ(z)。然而,特征向量是假设在一般框架中独立于它们的空间位置。为了提高分布建模的有效性,我们建议使用条件流框架将空间先验纳入g(θ)模型中。此外,由于多尺度特征金字塔池的设置,我们使用K个独立的解码器模型gk(θk)对 p Z ˆ ( z , θ ) p^ˆ_Z(z,θ) pZˆ(zθ)密度进行建模。
  我们的条件归一化流(CFLOW)解码器架构如图2所示。我们使用传统位置编码(PE)[39]的二维形式生成一个条件向量c k i。每个c k i∈R Ck包含其空间位置(hk,wk)i所特有的sin和cos谐波。通过将解码器耦合层内的中间向量与条件向量ci a连接起来,我们将无条件流框架扩展到CFLOW
  然后,第k个CFLOW解码器包含一系列常规耦合层与附加的条件输入。每个耦合层由具有(Dk+Ck)×(Dk+Ck)内核的全连接层、软+激活和输出向量排列组成。通常,条件扩展不会增加模型的大小,因为Ck Dk。例如,我们在所有的实验中都使用了固定的Ck = 128。我们的CFLOW解码器具有平移等变架构,因为它沿着从中间特征映射中提取的特征向量滑动。因此,编码器h(λ)和解码器gk(θk)都具有卷积平移等变的体系结构。
  我们使用最大似然目标训练CFLOW-AD,它相当于最小化损失定义为:
在这里插入图片描述其中随机变量ui = g−1(zi,ci,θ)、CFLOW解码器的雅可比矩阵Ji =∇zg−1(zi,ci,θ)和DKL中的期望操作被大小为n的经验训练数据集取代。为了简洁起见,我们去掉了kth尺度符号。该推导结果见附录B。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值