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所示的工业电缆缺陷。
由于监督学习异常检测的这些限制,只为训练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 ( λ ) ∣ ∣