DeSTSeg: Segmentation Guided Denoising Student-Teacher for Anomaly Detection

发布于:2024-11-29 ⋅ 阅读:(25) ⋅ 点赞:(0)

DeSTSeg: Segmentation Guided Denoising Student-Teacher for Anomaly Detection

清华、苹果

个人感觉

Introduction 很自然的让读者理解作者问题的提出,也有例子直接证明了这个问题的存在,值得借鉴!!
Related work写的也很不错
3.2的方法写的也不错

摘要

视觉异常检测是计算机视觉领域的一个重要问题,通常被表述为单类分类和分割任务。学生-老师 (S-T) 框架已被证明能够有效解决这一挑战。然而,之前基于 S-T 的研究仅凭经验对正常数据施加约束并融合多层信息。

在本研究中,我们提出了一种改进的模型,称为 DeSTSeg,它将预先训练的教师网络、去噪学生编码器-解码器和分割网络集成到一个框架中。首先,为了加强对异常数据的约束,我们引入了一个去噪程序,使学生网络能够学习更稳健的表示。从合成损坏的正常图像中,我们训练学生网络以匹配相同图像的教师网络特征而不会损坏。其次,为了自适应地融合多级 S-T 特征,我们训练了一个具有合成异常掩码丰富监督的分割网络,实现了显着的性能提升

一、 Intrduction

The student-teacher (S-T) framework, known as knowledge distillation, has proven effective in AD [3, 9, 26, 31,33]. In this framework, a teacher network is pre-trained on a large-scale dataset, such as ImageNet [10], and a student network is trained to mimic the feature representations of the teacher network on an AD dataset with normal samples only. The primary hypothesis is that the student network will generate different feature representations from the teacher network on anomalous samples that have never been encountered in training. Consequently, anomalous pixels and images can be recognized in the inference phase. Notably, [26, 31] applied knowledge distillation at various levels of the feature pyramid so that discrepancies from multiple layers were aggregated and demonstrated good performance. However, there is no guarantee that the features of anomalous samples are always different between S-T networks because there is no constraint from anomalous samples during the training. Even with anomalies, the student network may be over-generalized [22] and output similar feature representations as those by the teacher network. Furthermore, aggregating discrepancies from multilevel in an empirical way, such as sum or product, could be suboptimal. For instance, in the MVTec AD dataset under the same context of [31], we observe that for the category of transistor, employing the representation from the last layer, with 88.4% on pixel-level AUC, outperforms that from the multi-level features, with 81.9% on pixel-level AUC.

学生-老师 (S-T) 框架,即知识蒸馏,已被证明在 AD 中是有效的 [3, 9, 26, 31, 33]。在这个框架中,老师网络在大型数据集(例如 ImageNet [10])上进行预训练,学生网络在仅包含正常样本的 AD 数据集上训练以模仿老师网络的特征表示。主要假设是学生网络将在训练中从未遇到过的异常样本上生成与老师网络不同的特征表示。因此,可以在推理阶段识别异常像素和图像。值得注意的是,[26, 31] 在特征金字塔的各个级别应用知识蒸馏,以便聚合来自多个层的差异并表现出良好的性能。然而,不能保证异常样本的特征在 S-T 网络之间总是不同的,因为在训练期间没有来自异常样本的约束。即使存在异常,学生网络也可能过度概括 [22],并输出与教师网络相似的特征表示。此外,以经验方式(例如求和或乘积)聚合来自多级的差异可能不是最优的。例如,在 [31] 相同背景下的 MVTec AD 数据集中,我们观察到对于晶体管类别,使用最后一层的表示(像素级 AUC 为 88.4%)优于来自多级特征的表示(像素级 AUC 为 81.9%)。

总的来说两个问题

  • 蒸馏的假设问题,在异常数据上一定会出现 教师和学生分歧的问题吗
  • 使用相加或者乘积的方式一定会对于最终的异常检测结果的汇总会好吗?
  • 作者已经通过实验发现相加和乘积在一些数据上不是最好的结果例如晶体管类别

解决方案
为了解决上述问题,我们提出了 DeSTSeg,如图 1 所示,它由去噪学生网络、教师网络和分割网络组成。我们在正常图像中引入随机合成异常,然后使用这些损坏的图像 1 进行训练。去噪学生网络以损坏的图像作为输入,而教师网络以原始干净图像作为输入。在训练期间,两个网络之间的特征差异被最小化。换句话说,学生网络被训练在特征空间中执行去噪。将异常图像作为两个网络的输入,教师网络将异常自然地编码为特征,而训练后的去噪学生网络将异常从特征空间中过滤掉。因此,这两个网络得到强化,以从异常输入中生成不同的特征。对于去噪学生网络的架构,我们决定使用编码器-解码器网络来实现更好的特征去噪,而不是采用与教师网络相同的架构。此外,我们没有使用经验聚合,而是附加了一个分割网络,以可训练的方式融合多级特征差异,并使用生成的二元异常掩码作为监督信号。

我们的主要贡献概括如下。(1)我们提出了一种去噪学生编码器-解码器,该解码器经过训练,可以在异常输入下明确生成与老师不同的特征表示。(2)我们采用分割网络自适应地融合多级特征相似性,以取代经验推理方法。(3)我们在基准数据集上进行了广泛的实验,以证明我们的方法对各种任务的有效性。

二、相关工作

异常检测与定位已从多个角度得到研究。在图像重建中,研究人员使用自动编码器 [4]、变分自动编码器 [1, 30] 或生成对抗网络 [21, 27, 28] 在正常数据上训练图像重建模型。假设异常图像在训练期间不会被看到,因此无法有效地重建,因此输入图像和重建图像之间的差异可用作像素级异常分数。然而,由于过度泛化问题,**异常区域仍然有机会被准确重建 [22]。**另一个视角是参数密度估计,它假设正常数据的提取特征服从某种分布例如多元高斯分布 [8, 15, 16, 23],并使用正常数据集来估计参数。然后,通过推理将异常数据识别为异常数据。由于高斯分布假设过于严格,一些近期研究借用了正则化流的思想,通过将任意分布投影到高斯分布来近似任何分布的密度 [13, 35]。此外,基于记忆的方法 [7,19,24,34] 在训练中构建正常数据的记忆库。在推理过程中,给定一个查询项,模型会在记忆库中选择最近的项,并使用查询项与最近项之间的相似性来计算异常分数

知识提炼。

知识提炼基于预训练的教师网络和可训练的学生网络。由于学生网络是在无异常数据集上训练的,因此其异常特征表示预计与教师网络的特征表示不同。过去已经提出了许多解决方案来提高对各种类型异常的区分能力。例如,[3] 使用集成学习来训练多个学生网络,并利用其特征表示的不规则性来识别异常。[31] 和 [26] 采用多级特征表示对齐来捕获低级和高级异常。[9] 和 [33] 为学生网络设计了解码器架构,以避免 S-T 网络之间架构相同和数据流相同的缺点。这些工作侧重于提高 S-T 表示在正常输入上的相似性,而我们的工作还试图区分它们在异常输入上的表示。

异常模拟。

虽然在单类分类 AD 的背景下没有异常数据可供训练,但可以模拟伪异常数据,以便以监督的方式训练 AD 模型。经典的异常模拟策略,如旋转 [12] 和剪切 [11],在检测细粒度异常模式 [16] 方面表现不佳。一种简单而有效的策略称为 CutPaste [16],它随机选择原始图像内的矩形区域,然后将内容复制并粘贴到图像内的不同位置。[36] 中提出并在 [37] 中采用的另一种策略使用二维 Perlin 噪声来模拟更逼真的异常图像。利用模拟的异常图像和相应的地面真实掩码,[29, 36, 37] 使用分割网络对异常进行局部化。在我们的系统中,我们采用 [36] 的思想进行异常模拟和分割。

总的来说是多种噪声模拟的方式

在这里插入图片描述
图 1. DeSTSeg 概览。训练期间生成并使用合成异常图像。在第一步 (a) 中,使用合成输入训练学生网络,以从干净图像生成与教师网络类似的特征表示。在第二步 (b) 中,将学生和教师网络的归一化输出的元素乘积连接起来并用于训练分割网络。分割输出是预测的异常分数图。

三、 方法

提出的 DeSTSeg 由三个主要部分组成:预训练的教师网络、去噪学生网络和分割网络。如图 1 所示,将合成异常引入正常训练图像中,并分两步训练模型。

  • 在第一步中,模拟异常图像用作学生网络输入,而原始干净图像则作为教师网络的输入。教师网络的权重是固定的,但用于去噪的学生网络是可训练的。
  • 在第二步中,学生模型也是固定的。学生和教师网络都将合成异常图像作为输入,以优化分割网络中的参数来定位异常区域。
  • 对于推理,以端到端模式生成像素级异常图,并通过后处理计算相应的图像级异常分数。
3.1. 合成异常生成

我们的模型训练依赖于合成异常图像,这些图像使用 [36] 中提出的相同算法生成。生成随机二维 Perlin 噪声,并按预设阈值进行二值化,以获得异常掩码 M 。通过用无异常图像内部 和来自外部数据源 A 的任意图像的线性组合替换掩码区域来生成异常图像 Ia ,不透明度因子 β 在 [0.15, 1] 之间随机选择。
在这里插入图片描述

表示元素乘法运算。异常生成在训练期间在线进行。通过使用该算法,可以引入三个好处。首先,与绘制矩形异常掩模[16]相比,随机Perlin噪声生成的异常掩模更加不规则,与实际异常形状相似。其次,用作异常内容A的图像可以任意选择,而无需精心选择[36]。第三,不透明度因子β的引入可以看作是一种数据增强[38],可以有效增加训练集的多样性。

3.2. 去噪学生-教师网络

在以前的多级知识提炼方法 [26, 31] 中,学生网络的输入(正常图像)与教师网络的输入相同,学生网络的架构也是如此。然而,我们提出的去噪学生网络和教师网络将成对的异常和正常图像作为输入,去噪学生网络具有不同的编码器解码器架构。在以下两段中,我们将探讨这种设计的动机。首先,如第 1 节所述,应建立一个优化目标,以鼓励学生网络生成不同于教师的异常特定特征我们进一步赋予学生网络一个更直接的目标:在教师网络监督的异常区域上构建正常特征表示。由于教师网络已经在大型数据集上进行了预训练,因此它可以在正常和异常区域生成判别性特征表示。因此,去噪学生网络在推理过程中将生成与教师网络不同的特征表示。此外,如第 2 节所述,基于记忆的方法在记忆库中寻找与查询项目最相似的正常项目,并使用它们的相似性进行推理。同样,我们优化去噪学生网络以重建正常特征。其次,考虑到特征重建任务,我们得出结论,学生网络不应复制教师网络的架构。考虑到重建早期层特征的过程,众所周知,CNN 的较低层捕获局部信息,例如纹理和颜色。相反,CNN 的上层表达全局语义信息 [9]。回想一下,我们的去噪学生网络应该从教师网络中重建相应正常图像的特征,这样的任务依赖于图像的全局语义信息,并且不能仅靠几个较低层完美完成。我们注意到,所提出的任务设计类似于图像去噪,不同之处在于我们希望在特征空间中对图像进行去噪。编码器解码器架构广泛用于图像去噪。因此,我们采用它作为去噪学生网络的架构。还有一种替代方法是使用教师网络作为编码器,并将学生网络反转为解码器 [9, 33];然而,我们的初步实验结果表明,完整的编码器-解码器学生网络表现更好。一种可能的解释是,预先训练的教师网络通常在 ImageNet 上使用分类任务进行训练;因此,最后一层的编码特征缺乏足够的信息来重建各级特征表示。

按照 [31],教师网络是一个经过 ImageNet 预训练的 ResNet18 [14],其中删除了最后一个块(即 conv5 x)。输出特征图从剩余的三个块中提取,即 conv2 x、conv3 x 和 conv4 x,分别表示为 T 1 T ^1 T1 T 2 T ^2 T2 T 3 T ^3 T3。对于去噪学生网络,编码器是一个随机初始化的 ResNet18,所有块分别命名为 S E 1 S^1_E SE1 S E 2 S^2_E SE2 S E 3 S^3_E SE3 S E 4 S^4_E SE4 。解码器是一个反向 ResNet18(通过用双线性上采样替换所有下采样),有四个残差块,分别命名为 S D 4 S^4_D SD4 S D 3 S^3_D SD3 S D 2 S^2_D SD2 S D 1 S^1_D SD1

我们最小化 T k T ^k Tk 和​​ S D k S^k_D SDk 中的特征之间的余弦距离, k = 1 , 2 , 3 k = 1, 2, 3 k=1,2,3 F T k ∈ R C k × H k × W k F_{T_k} ∈ R^{C_k ×H_k ×W_k} FTkRCk×Hk×Wk 表示来自 T k T_k Tk 层的特征表示, F S k ∈ R C k × H k × W k F_{S_k} \in R^{C_k ×H_k ×W_k} FSkRCk×Hk×Wk 是来自 S D k S^k_ D SDk 层的特征表示,余弦距离可以通过公式 (2) 和公式 (3) 计算。 i i i j j j 代表特征图上的空间坐标。具体而言, i = 1... H k i = 1...H_k i=1...Hk j = 1... W k j = 1...W_k j=1...Wk。损失是三个不同特征级别的距离之和,如公式 (4) 所示。

在这里插入图片描述

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