异常检测/CFA: Coupled-hypersphere-based Feature Adaptation for Target-Oriented Anomaly Localization

面向目标异常定位的基于耦合超球面的特征自适应

文章目录

  • 面向目标异常定位的基于耦合超球面的特征自适应
  • 一、摘要
  • 二、介绍
  • 三、方法
    • 3.1 基于耦合超球的特征自适应
    • 3.2 内存库压缩
    • 3.3 得分函数

paper: https://arxiv.org/pdf/2206.04325v1.pdf
code: https://github.com/openvinotoolkit/anomalib

一、摘要

长期以来,异常定位在工业中得到了广泛的应用。以前的研究主要集中在逼近正态特征的分布,而不适应目标数据集。然而,由于异常定位需要精确区分正常和异常特征,缺乏适应可能会使异常特征的正常程度被高估。因此,我们提出了基于耦合超球的特征适应(CFA),它使用适应目标数据集的特征来实现复杂的异常定位。 CFA包括(1)一个可学习的补丁描述符,它可以学习和嵌入面向目标的特征;(2)独立于目标数据集大小的可扩展内存库。CFA采用迁移学习,通过对预训练的CNN应用patch descriptor和memory bank,增加正常特征密度,从而清晰区分异常特征。该方法在定性和定量上都优于以往的方法。例如,在MVTec AD基准的异常检测和异常定位中,AUROC得分分别为99.5%和98.5%。此外,本文还指出了预训练cnn的偏差特征的负面影响,并强调了对目标数据集的适应的重要性。该代码可在https://github.com/ sungwool/CFA_for_anomaly_localization公开获得。

理解: CFA的特性是可以适应目标数据集的特征。

二、介绍

作者指出现在大部分的异常检测算法都是用正样本去训练,让模型获得学习正样本的分布,以此来判断异常样本。但是很少有方法关注数据集本身的特征,而且在imagenet上预训练,如果目标数据集和imagenet数据集相差太大,预训练的效果也不佳。除此以外,如此训练正样本使得样本库占的空间会很大,使得推理性能是个问题。

然后作者列出本文的贡献:

  1. 我们发现了预训练cnn的偏差特征对异常定位的负面影响,并提出了一种针对目标数据集的自适应解决方案。
  2. 提出了一种通过度量学习获取判别特征的新方法,并通过实验验证了这些特征能够实现非常复杂的异常定位。
  3. 通过特征自适应独立于目标数据集大小进行压缩的内存库,尽管其容量显著降低,但仍能实现SOTA性能。

三、方法

本文提出了一种所谓的基于耦合超球体的特征自适应(CFA)方法,该方法在目标数据集上执行迁移学习,以减轻预训练cnn的偏差。CFA的patch描述符学习从目标数据集的正常样本中获得的patch特征,使其在记忆特征周围具有较高的密度。因此,CFA解决了使用预训练CNN时异常特征正态性被高估的问题。
异常检测/CFA: Coupled-hypersphere-based Feature Adaptation for Target-Oriented Anomaly Localization_第1张图片
如图1所示,CFA基于具有大数据集的预训练CNN,这是有偏差的CNN,通过对目标数据集的样本进行推断,获得各种尺度的特征图。由于在CNN的每个深度采样的特征图具有不同的空间分辨率,因此将它们插值到具有相同的分辨率,然后进行连接起来。这样,patch特征就生成了。其中,H和W分别表示最大特征图的高度和宽度,D表示采样特征图的维数之和。由于patch的感受野是预定的,所以patch特征也具有像素位置的语义信息。然后还包含一个辅助网络来学习参数。

同时,根据特定的建模程序,从仅由正常样本组成的训练集中获取的所有初始目标导向特征都存储在内存库C中。在图1中,虚线表示只在初始化步骤中执行。在训练阶段,CFA基于以记忆特征为中心创建的叠加超球,即所谓的耦合超球,进行对比监督学习。在测试阶段,CFA将从测试集中的任意样本中获得的patch描述特征与在内存库中搜索到的最近邻内存特征进行匹配,并生成表示异常程度的热图。最后,通过特定的评分函数计算热图中异常定位的评分图。注意,分数图显示了异常特征的细化区域。

理解:先把patch描述符特征压缩存入内存库(详见3.2)中,训练的时候通过对比监督学习,去以内存库中的特征为中心进行针对目标数据及学习,学习正常的特征(详见3.1)。在测试阶段,拿测试的特征和内存库中的特征做匹配,产生热图,再通过评分函数计算异常值(详见3.3)。

3.1 基于耦合超球的特征自适应

本节介绍如何通过基于记忆库的迁移学习来学习附加在预训练CNN上的φ(·),以实现更复杂的面向目标的异常定位。先前的研究[18]和[23]通过引入超球概念来学习目标数据集的分布,由于没有使用记忆库,仍然存在不能清晰理解正常特征的问题。因此,我们提出了一种有效学习φ(·)的方法。该方法通过融合基于超球的损失函数和记忆库来解决预训练cnn的偏差问题。具体流程如下:

为了获得能够清晰检测异常特征的特征空间,我们提取聚类的正态特征,使φ(·)具有较高的密度。首先,通过 φ ( p t ) φ(p_t) φ(pt) c c c的最近邻搜索来搜索第k近邻,然后,CFA监督φ(·),使pt嵌入到 c t k c^k_t ctk附近。具体来说,φ(·)使得通过监督 P t P_t Pt将其嵌入以 c t k c^k_t ctk为中心创建的半径为r的超球中,可以在正常特征之间形成高度集中。因此, L a t t r L_{attr} Lattr通过给φ(pt)加上一个惩罚来吸引,距离 c t k c^k_t ctk的距离是r,它被描述为
异常检测/CFA: Coupled-hypersphere-based Feature Adaptation for Target-Oriented Anomaly Localization_第2张图片
其中,超参数K为与φ(pt)匹配的最近邻个数,T = h × w为单个样本得到的ps个数。D(·,·)为预定义的距离度量,即本文中的欧氏距离。公式表明 φ ( p t ) φ(p_t) φ(pt)逐渐接近以 c t k c^k_t ctk为中心形成的超球。因此,CFA通过优化φ(·)的参数,通过迁移学习使 L a t t r L_{attr} Lattr最小化,从而实现特征自适应。因此,如果 φ ( p ) φ(p) φ(p)通过Latt特征自适应进行密集聚类,将很容易与异常特征区分开来。

然而,同时属于多个超球的模糊 φ ( p ) φ(p) φ(p)仍然给异常特征的正态性留下了高估的余地。为了解决这个问题,我们额外使用难负特征来执行对比监督学习,以获得更具判别性的 φ ( p t ) φ(p_t) φ(pt)。难负特征定义为通过神经网络搜索与c匹配的pt的第K+j个最近邻居 c t j c^j_t ctj。因此,我们定义了对比监督φ(·)的 L r e p L_{rep} Lrep,使得以 c t j c^j_t ctj为中心创建的超球排斥pt如下:
在这里插入图片描述
其中超参数J是用于对比监督的难负特征的总数,超参数α用于控制 L a t t r L_{attr} Lattr L r e p L_{rep} Lrep之间的平衡。

最后得到:
L C F A = L a t t r + L r e p L_{CFA} = L_{attr} + L_{rep} LCFA=Lattr+Lrep

3.2 内存库压缩

异常检测/CFA: Coupled-hypersphere-based Feature Adaptation for Target-Oriented Anomaly Localization_第3张图片
存储库的压缩过程由算法1描述。首先,对训练集X的第一个正常样本x0得到的所有patch特征应用K-means聚类,构建初始记忆库 C 0 C_0 C0 C 0 C_0 C0之后更新内存库的过程如下:推理第i个正态样本 x i x_{i} xi,从第i- 1个内存库 C i − 1 C_{i-1} Ci1中搜索最近的patch特征集 C i N N C^{NN}_{i} CiNN。接下来,通过 C i N N C^{NN}_{i} CiNN i和 C i − 1 C_{i-1} Ci1的指数移动平均(EMA)计算下一个状态 C i C_{i} Ci的第i个存储库。对训练集的所有正常样本重复上述过程X次(X为数据量),得到最终的内存库C。

图2的上半部分说明了对目标数据集的每个样本更新记忆特征的过程。不幸的是,通过K-NN搜索初始化的C0并不能代表整个X。但是,如果Ci-1沿着φi(pt)通过EMA迭代更新,则最终的C可以存储表示X的核心正常特征。

3.3 得分函数

很自然的会有:
在这里插入图片描述

然而,由于正常特征是连续分布的,因此聚类之间的边界并不清晰。因此,用原始异常评分很难准确地区分异常特征。具体来说,内存的特征与φ(pt)匹配是不确定的。在这种情况下,尽管φ(pt)是一个正常的特征,但它存在于内存特征的中间,导致距离较大。因此,单纯基于距离风险的简单异常评分低估了正态特征的正态性。因此,我们提出了一种新的考虑φ(pt)确定性的评分函数。
因此公式改成:
异常检测/CFA: Coupled-hypersphere-based Feature Adaptation for Target-Oriented Anomaly Localization_第4张图片
理解:离所有的正常样本中心都远,得分则越低。因为3.2的压缩保存内存,所以这里的计算复杂度也是可控的。

你可能感兴趣的:(深度学习,异常检测,深度学习,计算机视觉,工业质检)