- 博主简介:努力学习的22级计算机科学与技术本科生一枚🌸
- 博主主页: @Yaoyao2024
- 往期回顾: 【计算机系统架构】从0开始构建一台现代计算机|二进制、布尔运算和ALU|第2章
- 每日一言🌼: 今天不想跑,所以才去跑,这才是长距离者的思维。
——村上春树
前言
“来自上海交通大学 MediaBrain 团队和上海人工智能实验室智慧医疗团队等的研究人员提出了一种基于配准的少样本异常检测框架RegAD,用于学习多个异常检测任务之间共享的通用模型。RegAD 无需模型参数调整,仅利用少量正常样本,就可以直接应用于新的异常检测任务。 ——机器之心
- 论文题目:RegAD-Registration based Few-Shot Anomaly Detection
- 论文链接:https://arxiv.org/abs/2207.07361
- 代码链接:https://github.com/MediaBrain-SJTU/RegAD
Abstract——摘要
翻译
这篇文章探讨了少样本缺陷检测(few-shot anomaly detection :FSAD),这是一种实用但尚未被研究的异常检测(AD),少样本意味着在训练中只为每个类别提供有限数量的正常图像。
现有的少样本异常检测的研究主要使用的是 一类别一模型(the one-model-per-catego )学习范式,而类别间的共性尚未被探索。
受人类探测异常的启发,将有问题的图像与正常图像进行比较,我们在这里利用配准(registration),这是一种固有可跨类别泛化的图像对齐任务( an image alignment task),作为代理任务(proxy task)来训练类别不可知的异常检测模型。在测试过程中,通过比较测试图像的配准特征及其相应的支持(正常)图像来识别异常。
这是第一种训练单一可推广模型的FSAD方法,并且不需要对新类别进行重新训练或参数微调。
实验结果表明,所提出的方法在MVTec和MPDD基准测试数据集中,相较于最先进的FSAD方法,AUC(曲线下面积)提高了3%-8%。源代码可在以下链接获取:https://github.com/MediaBrain-SJTU/RegAD。
精读
🌱过去方法以及不足🌱 |
- “每个类别一个模型”的学习范式
- 未探索类别之间的共性
💡解决方案💡 |
利用图像配准(registration)作为代理任务,来训练一个类别不确定的异常检测模型。异常检测的方法是在测试阶段通过比较测试图像的配准特征及其相应的正常图像特征来识别异常。
“代理任务”是指在机器学习或深度学习中,用于帮助训练模型的辅助任务。它通常是一个与主要任务相关但更简单或更易于处理的任务。通过在代理任务上进行训练,模型可以学习到有用的特征或表示,这些特征可以转移到主要任务中,从而提高模型的性能。
在上下文中,图像配准被用作代理任务。具体来说,研究者利用图像配准这一任务来训练一个类别无关的异常检测模型。
🌘实验结果🌘 |
在MVTec和MPDD基准测试数据集中,相较于最先进的FSAD方法,AUC(曲线下面积)提高了3%-8%。AUC提高3%-8%意味着新方法在异常检测任务中表现出色,能够更有效地识别和定位异常,具有更好的应用前景。
👉🏻数据集补充介绍:
MVTec和MPDD是两个用于异常检测和缺陷检测的基准测试数据集,具体如下:
-
MVTec AD:
MVTec AD(MVTec Anomaly Detection)是一个广泛使用的基准数据集,专门用于工业缺陷检测。它包含15个类别的图像,涵盖了多种类型的缺陷和正常样本。数据集总共有3629张用于训练和验证的图像,以及1725张用于测试的图像。每个类别的训练集仅包含正常图像,而测试集则包含各种缺陷(异常)和无缺陷的图像。MVTec AD提供了每个缺陷图像区域的像素级真实标签,便于进行精确的评估。
-
MPDD:
MPDD(Metal Part Defect Detection)是一个新提出的数据集,专注于涂漆金属部件的缺陷检测。该数据集包含6个类别的金属部件图像,图像是在不同的空间方向、位置和距离下拍摄的,涉及不同的光照强度和非均匀背景。MPDD旨在提供一个具有挑战性的环境,以测试和评估缺陷检测算法的性能。
1. Introduction—引言
翻译
异常检测(AD)在缺陷检测、医疗诊断和自动驾驶等方面有着广泛的应用,在过去几十年中受到了计算机视觉界的广泛关注。由于 “异常”(即不符合 "正常 "的样本)的定义模糊不清,因此不可能用一组详尽的异常样本进行训练。因此,最近关于异常检测的研究主要集中在无监督学习上,即只使用 "正常 "样本进行学习。通过用单类分类 、重构或自我监督学习任务对正态分布进行建模,许多反常规检测方法都能在一定程度上检测出异常。
图1.的左半部分的
(a)(b)
是一个类别训练一个模型,a需要每个类别都要有大量的训练数据,训练n个模型;b每个类别仅需少量样本,但也要训练n个模型。右半部分(c)
是本论文提出的方法所有类别训练一个模型,
大多数现有的 AD 方法都侧重于为每个类别训练一个专用模型(图 1(a))。然而,在缺陷检测等实际应用场景中,由于需要处理数百种工业产品,为每种产品收集大量训练集并不划算,更何况还有许多时间敏感的应用需求。最近有几项研究探索了一种特殊但实用的 AD 设置,即少样本异常检测(FSAD),即在训练时只为每个类别提供数量有限的正常图像(图 1 (b))。
对于异常检测的少次学习,有人采用了减少对训练样本需求的策略,如通过多重变换进行激进的数据增强(radical data augmentation with multiple transformations ),或对正态分布估计采用较为轻量级的估计器( a lighter estimator for the normal distribution estimation )。然而,这些方法仍然遵循每个类别一个模型的学习模式,未能充分利用类别间的共性。
本文旨在探索一种新的 FSAD 范式,通过学习一个在多个类别中共享并可推广到新类别的共同模型,其灵感来源于人类检测异常的方式。事实上,当人类被要求寻找图像中的异常点时,可能采取的一个简单策略就是将样本与正常样本进行比较,找出差异。只要知道如何比较两幅图像,图像的实际语义就不再重要。为了实现这种类似于人类的比较过程,我们采用了 配准技术 ,即 将不同的图像转换成一个共同的图像。
这样就能更好地进行比较。图像配准尤其适用于 FSAD,因为配准与类别无关,因此可在不同类别之间通用,从而使模型能够适应新的类别,而无需对参数进行微调。
图 1(c)
是拟议的基于图像配准的少镜头异常检测(RegAD)
框架的概览。了训练一个类别无关的异常检测模型,我们利用配准任务,使用具有三个空间变换网络块的孪生神经网络(Siamese network)进行配准(如图2)。为了获得更好的鲁棒性,我们没有采用典型的配准方法逐像素配准图像,而是提出了一种特征级配准损失,即最大化同一类别中特征的余弦相似度,这可以被视为像素配准损失的宽松版本。来自不同类别的正常图像会被用来对模型进行聚合训练(aggregately train),并随机选择两张来自同一类别的图像作为训练对。采用这种聚合训练程序是为了使训练出的配准模型与类别无关。在测试时,为目标类别提供由几个正常样本组成的支持集,同时提供每个测试样本。通过比较测试图像和相应的支持(正常)图像的配准特征,可以直接识别异常。给定支持集后,使用基于统计的分布估计器对目标类别的配准特征的正态分布进行估计。不符合统计正态分布的测试样本会被视为异常。这样,模型只需估计其特征的正态分布,而无需对参数进行微调,就能快速适应新的类别。
本文的主要贡献概述如下:
- 我们将特征配准作为一种与类别无关的方法,用于少镜头异常检测(FSAD)。据我们所知,这是第一种训练单一通用模型的 FSAD 方法,无需针对新类别进行重新训练或参数微调。
- 在最近的基准数据集上进行的大量实验表明在异常检测和异常定位任务上,拟议的
RegAD
都优于最先进的 FSAD方法。
图2.
所提出的RegAD的模型体系结构。给定来自同一类别的配对图像,特征由三个卷积残差块提取,每个块后跟一个空间变换网络。孪生神经网络作为特征编码器,通过配准损失来实现特征相似度最大化。
精读
🌱过去对于少样本异常检测(FSAD)的尝试🌱 |
- 传统的缺陷检测:每个类别训练一个专用模型缺陷检测
- 改进的缺陷检测:通过数据增强、正态分布估计的少样本缺陷检测->仍然属于一类别一模型的方法
💡一类别一模型方法的局限性💡 |
- 早期的传统方法,需要花费大量的时间和精力去收集大量的数据,对时间不敏感
- 改进后的少样本缺陷检测,虽然减少了对样本的需求量,但是未能充分利用类别间的共性。
🌘本文提出的方法🌘 |
提出的RegAD
模型体系结构,是 第一种训练单一通用模型的 FSAD 方法,无需针对新类别进行重新训练或参数微调。
🦆方法设计🦆 |
- 如何配准:利用配准任务,使用具有三个空间变换网络块的孪生神经网络(Siamese network)进行配准
- 如何训练:聚合训练(aggregately train),并随机选择两张来自同一类别的图像作为训练对;使用特征级配准损失,即最大化同一类别中特征的余弦相似度
- 如何检测异常:比较测试图像和相应的支持(正常)图像的配准特征,可以直接识别异常
- 模型如何适用于其他类别?给定支持集后,使用基于统计的分布估计器对目标类别的配准特征的正态分布进行估计。不符合统计正态分布的测试样本会被视为异常。这样,模型只需估计其特征的正态分布,而无需对参数进行微调,就能快速适应新的类别。
⭐RegAD的优势⭐ |
- 第一种训练单一通用模型的 FSAD 方法,无需针对新类别进行重新训练或参数微调
- 性能上优于最先进的少样本缺陷检测
2. Related Work—相关工作
2.1 异常检测——Anomaly Detection
翻译
AD 是一项训练数据集仅包含正常数据的任务。为了更好地估计正常数据的分布(Normal distribution),基于单类分类(One-class Classification) 的方法倾向于统计方法直接描述正常数据。基于自我监督的方法仅使用正常数据进行训练,然后通过假设异常数据的不同表现进行推断。在这一领域, 重 构(reconstruction) 是 最 流 行 的 自 我 监 督 方 法 。 一 些 方 法引入了其他自监督,例如,应用数十种图像几何变换进行变换分类;提出了一个属性还 原 框架。最近的 AD 方法通常使用从预先训练的深度神经网络中提取的特征嵌入(feature embeddings)。特征嵌入通常用作传统机器学习算法或 Mahalanobis 距离等统计指标的输入。用作特征提取器的网络可以从头开始训练,而一些方法也利用在 ImageNet 数据集上预先训练的模型取得了最先进的结果。本文与这些前人的研究不同,它侧重于 FSAD,因为在 FSAD 中只有少量正常图像可用。
精读
在这段文字中,作者讨论了早期异常检测(Anomaly Detection, AD)领域中的几种方法,特别是当训练数据集仅包含正常数据时的情况。
-
异常检测(AD):
AD是一种任务,训练数据集只包含正常数据。这意味着模型在训练时没有接触到异常样本,因此需要通过正常样本来学习正常数据的分布。 -
单类分类方法(One-class Classification):
这些方法通常使用统计方法直接描述正常数据的分布。通过对正常数据的建模,模型可以识别出与正常分布显著不同的样本,从而将其标记为异常。 -
自监督学习方法(Self-supervised Learning):
自监督学习方法仅使用正常数据进行训练,是无监督的子领域,模型直接从无标签数据中自行学习,无需标注数据;然后假设异常数据的表现与正常数据不同。这些方法通常依赖于重建技术,即通过重建输入数据来学习正常数据的特征。 -
重建(Reconstruction):
- 在异常检测中,重建的主要目的是识别异常样本。具体来说,模型首先学习正常样本的特征,然后尝试重建这些正常样本。
- 重建通常使用自编码器(Autoencoder)等神经网络架构。自编码器由编码器和解码器两部分组成:
编码器:将输入数据压缩成低维特征表示。
解码器:将低维特征表示转换回原始数据的形式。 - 通过训练自编码器,使其能够有效地重建正常样本,模型学习到正常样本的特征。
- 当模型接收到一个新的样本(可能是正常的或异常的)时,它会生成一个重建输出,并将其与原始输入进行比较。如果重建误差较大,说明输入样本与正常样本有显著差异,模型可能将其标记为异常。
- 实例分析
假设我们有一组金融交易数据,目标是检测其中的欺诈交易。我们可以使用自编码器来学习正常交易的特征,并构建重构模型。当输入一个潜在的欺诈交易时,由于该交易的特征与正常交易不同,自编码器的重构误差会显著增加,从而触发异常检测机制。
-
其他自监督方法:
一些方法引入了其他自监督技术,例如:
通过应用多种图像几何变换进行变换分类。
提出了一种属性恢复框架,用于恢复图像的特定属性。
2.2 少样本学习——Few-shot Learning
翻译
少样本学习旨在使模型能够在只有少量标注样本的情况下,适应新的类别。FSL 方法可分为度量学习法、生成法和优化法。度量学习方法学习计算一个特征空间,该空间可根据最近的示例类别对未见样本进行分类。生成方法通过生成图像或特征来提高新类别的性能。优化方法学习不同类别之间的共性,并根据这些共性探索新类别的高效优化策略。
在本文中,所提出的方法预测了新类别的 "正常 "或 “异常”。与以往有关 FSL 的研究不同,本文的训练数据和支持集都只有正样本(正常),没有负样本(异常)。
精读
-
少样本学习(FSL)的定义:
目标:少样本学习旨在使模型能够在只有少量标注样本的情况下,适应新的类别。这种学习方式特别适用于数据稀缺的场景。 -
FSL方法的分类:
度量学习(Metric Learning):
这种方法通过学习一个特征空间,使得模型能够根据未见样本与其最近的示例类别进行分类。换句话说,模型会计算样本之间的相似度,并根据相似度来判断类别。
生成方法(Generation Methods):
生成方法通过生成新类别的图像或特征来增强模型在新类别上的表现。这种方法可以通过生成对抗网络(GANs)等技术实现,目的是增加训练样本的多样性,从而提高模型的泛化能力。
优化方法(Optimization Methods):
优化方法关注于学习不同类别之间的共性,并探索基于这些共性的新类别的高效优化策略。这种方法通常会利用已有类别的信息来帮助学习新类别。 -
本文提出的方法:
本文提出的方法旨在预测新类别的样本是“正常”还是“异常”。与以往的FSL研究不同的是,本文的方法在训练数据和支持集(即用于测试的新样本)中仅包含正样本(正常样本),而没有负样本(异常样本)。这意味着模型在训练时没有接触到任何异常样本,完全依赖于正常样本的特征来进行判断。
🌟few-shot 的训练集中包含了很多的类别,每个类别中有多个样本。在训练阶段,会在训练集中随机抽取 N 个类别,每个类别 K 个样本(总共 N x K 个数据),构建一个 meta-task,作为模型的支撑集(support set)输入;再从这 N 个类中剩余的数据中抽取一批(batch)样本作为模型的预测对象(batch set)。这样的任务被称为 N-way K-shot 问题。 -
总结:
少样本学习是一种重要的学习策略,特别是在数据稀缺的情况下。通过不同的方法(度量、生成和优化),FSL能够有效地适应新类别。
2.3 少样本异常检测——Few-shot Anomaly Detection
翻译
FSAD 的目的是只用少量正常样本作为目标类别的支持图像来显示异常。TDG提出了一种分层生成模型,可捕捉每个支持图像的多尺度局部区域(补丁)分布。他们使用多种图像变换和优化判别器来区分真实和虚假补丁,以及应用于补丁的不同变换。异常得分是通过汇总正确变换的基于补丁的票数得出的。DiffNet 利用卷积神经网络提取的特征描述性,通过归一化流估计其密 度 , 这 是 一 种 非 常 适 合 从 少 量 支 持 样 本 中 估 计 分 布 的 工 具 。Metaformer可以应用于 FSAD,不过在整个元训练过程中(参数预训练之外),还需要使用额外的大规模数据集 MSRA10K ,以及额外的素级注释。
在本文中,我们设计了基于配准的 FSAD,以学习与类别无关的特征配准,从而使模型能够在给定几幅正常图像的情况下检测出新类别中的异常,而无需进行微调。
图2.
所提出的RegAD的模型体系结构。给定来自同一类别的配对图像,特征由三个卷积残差块提取,每个块后跟一个空间变换网络。孪生神经网络作为特征编码器,通过配准损失来实现特征相似度最大化。
精读
在这段文字中,作者讨论了少样本异常检测(Few-shot Anomaly Detection, FSAD)的概念及其相关方法。以下是对该段内容的详细解释:
-
少样本异常检测(FSAD)的目标:
FSAD旨在通过仅使用少量正常样本作为目标类别的支持图像,来识别异常。这种方法特别适用于在缺乏异常样本的情况下进行异常检测。 -
相关方法:
-
TDG(Hierarchical Generative Model):
- TDG提出了一种分层生成模型,能够捕捉每个支持图像的多尺度补丁分布。该模型通过多种图像变换来增强样本的多样性,并优化判别器以区分真实和伪造的补丁,以及不同变换应用于补丁的效果。异常分数是通过聚合正确变换的补丁投票来获得的。
-
DiffNet:
- DiffNet利用卷积神经网络提取的特征的描述性,使用归一化流(normalizing flow)来估计这些特征的密度。归一化流是一种适合从少量支持样本中估计分布的工具。
-
Metaformer:
- Metaformer可以应用于FSAD,但在其整个元训练过程中需要使用额外的大规模数据集(如MSRA10K),并且需要额外的像素级注释。这表明Metaformer在训练时需要更多的资源和数据。
-
本文提出的方法:
本文设计了一种基于图像配准的FSAD方法(RegAD
),旨在学习类别无关的特征匹配。这种方法使得模型能够在给定少量正常图像的情况下,检测新类别中的异常,而无需进行微调(fine-tuning)。 -
模型架构:
文中提到的模型架构包括:- 特征匹配损失:用于最大化特征相似性的损失函数。
- 卷积块和空间变换网络:通过三个卷积残差块提取特征,每个块后面跟随一个空间变换网络。
- Siamese网络:作为特征编码器,利用匹配损失进行监督学习,以增强特征的相似性。
-
总结:
FSAD是一种有效的异常检测方法,能够在缺乏异常样本的情况下进行学习。通过结合不同的模型和方法,FSAD能够提高异常检测的准确性和效率。本文提出的基于注册的FSAD方法展示了在新类别中检测异常的潜力,且不需要额外的训练步骤。
3 问题设置——Problem Setting
翻译
首先,我们正式定义了所提出的少样本异常检测的问题设置。给定一个训练集,该训练集仅由 n 个类别的正常样本组成,即 T t r a i n = ⋃ i = 1 n T i \mathcal{T}_{train}=\bigcup_{i=1}^n\mathcal{T}_i Ttrain=⋃i=1nTi。其中子集 T i {T}_i Ti由正常样本组成。类别 c i , ( i = 1 , 2 , ⋯ , n ) c_{i},\:(i\:=\:1,2,\cdots,n) ci,(i=1,2,⋯,n),我们希望训练一个与类别无关的异常检测模型。测试时,给定目标的正常或异常图像类别 c t ( t ∉ { 1 , 2 , ⋯ , n } ) c_t~(t~\notin~\{1,2,\cdots,n\}) ct (t ∈/ {1,2,⋯,n}))及其相关支持集 S t S_t St由以下内容组成在目标类别 c c c的 k k k 个正常样本 t t t 中,训练好的类别无关异常检测模型应能预测图像是否异常。
对于 FSAD,我们尝试仅使用少数正常图像作为支持集,从未曾见过的新颖类别的测试样本中检测异常。
主要挑战在于:
- T t r a i n \mathcal{T}_{train} Ttrain 只能访问来自多个已知类别(如不同物体或纹理)的正常样本,没有任何图像级或像素级注释;
- 测试数据来自未见/新颖类别
- 只有来自目标类别 C t C_{t} Ct的少数正常样本,因此很难估计目标类别的正态分布。
4 方法——Method
翻译
受人类如何检测异常的启发,特征匹配被用作 FSAD 的一般范式。
在训练过程中,我们利用无异常特征匹配网络来学习与类别无关的特征匹配。
在测试过程中,给定由几张(非训练类别)正常图像组成的支持集,使用基于统计的分布估计器来估计目标类别的匹配的正态分布。超出所学统计正态分布的测试样本将被视为异常。
精读
描述了所提出的少样本异常检测(Few-shot Anomaly Detection, FSAD)方法的具体实施步骤。
-
1. 方法动机:
人类检测异常的启发:- 该方法受到人类如何检测异常的启发。人类通常通过比较正常样本与待检测样本之间的差异来识别异常。
-
特征匹配:
- 特征匹配被用作FSAD的泛化范式。特征匹配是一种图像对齐任务,旨在将不同的图像转换到同一坐标系中,从而使得它们的特征可以直接进行比较。
-
训练过程:
无异常特征匹配网络:- 在训练过程中,使用一个无异常的特征匹配网络来学习类别无关的特征匹配。这意味着网络在训练时只接触正常样本,从而学习到如何将这些样本的特征进行有效对齐,而不考虑异常样本的影响。
-
测试过程:
支持集的使用:
-
在测试阶段,给定一组来自目标类别的少量正常图像(支持集),模型会利用这些图像来估计目标类别的正常特征分布。
统计分布估计:
-
使用基于统计的方法来估计注册特征的正常分布。这一过程涉及到对特征进行分析,以确定哪些特征是正常的,哪些特征可能是异常的。
-
-
异常检测:
异常样本的识别:- 测试样本如果超出了学习到的统计正常分布,则被视为异常。这意味着模型通过比较待检测样本的特征与已知正常样本的特征分布,来判断该样本是否为异常。
4.1 特征匹配网络
翻译
给定一对从同一类别中随机选择的图像 I a a n d I b I_{a}\mathrm{~and~}I_{b} Ia and Ib ,使用ResNet的前三个卷积残差块(C1、C2和C3)作为特征提取器。具体来说,如图 2 所示,采用了 ResNet 的前三个卷积残差块 C1 、C2 和 C3 ,舍弃了 ResNet 原始设计中的最后一个卷积块,以确保最终图像仍然保留空间信息。为了使模型能够灵活地学习特征匹配,我们在每个块中插入了一个空间变换器网络(STN)作为特征变换模块。具体来说,对输入特征 f i s f_i^{s} fis 应用一个变换函数 S i ( i = 1 , 2 , 3 ) S_{i}\:(i=1,2,3) Si(i=1,2,3) ( x i t y i t ) = S i ( f i s ) = A i ( x i s y i s 1 ) = [ θ 11 θ 12 θ 13 θ 21 θ 22 θ 23 ] ( x i s y i s 1 ) , ( 1 ) \begin{pmatrix}x_i^t\\y_i^t\end{pmatrix}=S_i(f_i^s)=A_i\begin{pmatrix}x_i^s\\y_i^s\\1\end{pmatrix}=\begin{bmatrix}\theta_{11}\:\theta_{12}\:\theta_{13}\\\theta_{21}\:\theta_{22}\:\theta_{23}\end{bmatrix}\begin{pmatrix}x_i^s\\y_i^s\\1\end{pmatrix},\hspace{10pt}(1) (xityit)=Si(fis)=Ai xisyis1 =[θ11θ12θ13θ21θ22θ23] xisyis1 ,(1)
其中, ( x i t , y i t ) (x_i^t,y_i^t) (xit,yit)是输出特征 f i t f_i^t fit的目标坐标t , ( x i s , y i s ) (x_i^s,y_i^s) (xis,yis)是输入特性 f i s f_i^{s} fis 的目标坐标。 A i A_{i} Ai 是仿射变换矩阵。模块 S i S_{i} Si 用于从卷积块 C i C_{i} Ci 的特征中学习映射。
给定成对提取的特征 f 3 , a t and f 3 , b t f_{3,a}^t\text{ and }f_{3,b}^t f3,at and f3,bt 作为最终的空间特征转换结果–因此,我们将特征编码器设计为孪生神经网络。孪生网络是一种应用于多个输入的参数共享神经网络。受 Sim- Siam 的启发,为了避免在无负对优化时出现坍塌问题,特征由同一编码器网络 E E E 处理,然后在一个分支上应用预测头 P P P。如图 2 所示,在另一个分支上应用了停止梯度操作,这对防止塌陷问题至关重要。
定义: p a ≜ P ( E ( f 3 , a ) ) and z b ≜ E ( f 3 , b ) \begin{aligned}p_a\:\triangleq\:P(E(f_{3,a}))\:\text{ and }\:z_b\:\triangleq\:E(f_{3,b})\end{aligned} pa≜P(E(f3,a)) and zb≜E(f3,b)
应用负余弦相似性损失: D ( p a , z b ) = − p a ∣ ∣ p a ∣ ∣ 2 ⋅ z b ∣ ∣ z b ∣ ∣ 2 , ( 2 ) \begin{aligned}\mathcal{D}(p_a,z_b)&=-\frac{p_a}{||p_a||_2}\cdot\frac{z_b}{||z_b||_2},&(2)\end{aligned} D(pa,zb)=−∣∣pa∣∣2pa⋅∣∣zb∣∣2zb,(2)
其中 ∣ ∣ ⋅ ∣ ∣ 2 ||\cdot||_2 ∣∣⋅∣∣2 是 L 2 L_{2} L2准则。在这里,我们使用的不是逐像素配准图像,而是特征级配准损失,它可以被视为像素配准约束的放宽版本,以获得更好的鲁棒性。最后,根据 SimSiam,对称特征配准损失的定义如下
L = 1 2 ( D ( p a , z b ) + D ( p b , z a ) ) . ( 3 ) \begin{aligned}\mathcal{L}&=\frac{1}{2}(\mathcal{D}(p_a,z_b)+\mathcal{D}(p_b,z_a)).&(3)\end{aligned} L=21(D(pa,zb)+D(pb,za)).(3)
讨论:拟议方法的特征保留了相对完整的空间信息,因为我们采用了ResNet 的前三个卷积块作为骨干,没有进行全局平均池化,其次是卷积编码器和预测器架构,而不是 SimSiam 中的 MLP 架构。因此,公式 (3)应通过平均每个空间像素的余弦相似性得分来计算。包含空间信息的特征有利于 AD 任务,因为 AD 任务需要提供异常得分图作为预测结果。SimSiam将输入定义为一幅图像的两个增强图像,并通过最大化它们的相似性来增强模型的表示,与此不同的是,拟议的特征匹配利用两幅不同的图像作为输入,并通过最大化特征之间的相似性来学习匹配。
图2.
所提出的RegAD的模型体系结构。给定来自同一类别的配对图像,特征由三个卷积残差块提取,每个块后跟一个空间变换网络。孪生神经网络作为特征编码器,通过配准损失来实现特征相似度最大化。
精读
在4.1节中,特征匹配网络的设计旨在通过使用ResNet类型的卷积网络来提取图像特征,以实现类别无关的异常检测。
- 特征提取:
给定一对从同一类别中随机选择的图像 I a I_a Ia 和 I b I_b Ib,使用ResNet的前三个卷积残差块(C1、C2和C3)作为特征提取器。最后一个卷积块被丢弃,以确保最终特征仍然保留空间信息。
- 空间变换网络(STN):
在每个卷积块中插入一个空间变换网络(STN),用于灵活地学习特征匹配。STN通过应用仿射变换函数 S i S_i Si 来实现特征的空间变换,目标是将输入特征 f i s f^s_i fis 转换为目标特征 f i t f^t_i fit。
STN(spatial transformer network) 引入了一个新的可学习模块,空间变换器(ST),它可以对网络内的数据进行空间变换操作。这个可微模块可以插入到现有的卷积架构中,使神经网络能够以特征图本身为条件,主动地对特征图进行空间转换,而不需要任何额外的训练监督或对优化进行修改。
STN 能够在没有标注关键点的情况下,根据任务自己学习图片或特征的空间变换参数,将输入图片或者学习的特征在空间上进行对齐,从而减少物体由于空间中的旋转、平移、尺度、扭曲等几何变换对分类、定位等任务的影响。
a是输入图片,b 是 STN 中的 localisation 网络检测到的物体区域,c是 STN 对检测到的区域进行线性变换后输出,d 是有 STN 的分类网络的最终输出。
b到c是通过图像的仿射变换(平移、缩放、旋转)得到的
上面几种变换都可以用同一种变换来表示,它一般形式如下:
(
x
′
y
′
)
=
(
a
b
c
d
e
f
)
(
x
y
1
)
\begin{pmatrix}x'\\y'\end{pmatrix}=\begin{pmatrix}a&b&c\\d&e&f\end{pmatrix}\begin{pmatrix}x\\y\\1\end{pmatrix}
(x′y′)=(adbecf)
xy1
∙
当
a
=
e
=
1
,
b
=
c
=
d
=
f
=
0
为恒等变换,即输入图像不变;
∙
当
a
=
e
=
1
,
b
=
d
=
0
时,为平移变换;
∙
当
a
=
c
o
s
θ
,
b
=
s
i
n
θ
,
d
=
−
s
i
n
θ
,
e
=
c
o
s
θ
,
c
=
f
=
0
时,为旋转变换;
∙
当
a
=
e
=
1
,
c
=
f
=
0
时,为剪切变换。
∙
当
6
个参数取其他值时,为一般的仿射变换,效果相当于从不同的位置看同一个目标。
\begin{aligned}&\bullet\text{ 当}a=e=1,b=c=d=f=0\text{ 为恒等变换,即输入图像不变;}\\&\bullet\text{ 当}a=e=1,b=d=0\text{时,为平移变换;}\\&\bullet\text{ 当}a=cos\theta,b=sin\theta,d=-sin\theta,e=cos\theta,c=f=0\text{时,为旋转变换;}\\&\bullet\text{ 当}a=e=1,c=f=0\text{时,为剪切变换。}\\&\bullet\text{ 当 }6\text{ 个参数取其他值时,为一般的仿射变换,效果相当于从不同的位置看同一个目标。}\end{aligned}
∙ 当a=e=1,b=c=d=f=0 为恒等变换,即输入图像不变;∙ 当a=e=1,b=d=0时,为平移变换;∙ 当a=cosθ,b=sinθ,d=−sinθ,e=cosθ,c=f=0时,为旋转变换;∙ 当a=e=1,c=f=0时,为剪切变换。∙ 当 6 个参数取其他值时,为一般的仿射变换,效果相当于从不同的位置看同一个目标。
STN(spatial transformer network) 更准确地说应该是 STL(spatial transformer layer),它就是网络中的一层,并且可以在任何两层之间添加一个或者多个。
如下图所示,spatial transformer 主要由两部分组成,分别是 localisation net 和 grid generator。
输入的特征图U被位置网络处理得到参数theta,然后经过网格生成器进行放射变换得到采样器,再映射到原图U上,从而得到输出V。
-
Localisation net:
Localisation net的输入feature map长为H,宽为W,通道数目为C
U ∈ R H × W × C U\in R^{H\times W\times C} U∈RH×W×C
经过若干卷积或全链接操作后接一个回归层输出变换参数θ。θ 的维度取决于网络选择的具体变换类型,如选择仿射变换则 θ ∈ R 2 × 3 \theta\in R^{2\times3} θ∈R2×3
如选择投影变换则 θ ∈ R 3 × 3 \theta\in R^{3\times3} θ∈R3×3。θ 的值决定了网络选择的空间变换的”幅度大小”。
-
Grid generator:
Grid generator利用localisation层输出的θ, 对于Feature map进行相应的空间变换,得到一个输出图V,后面会再使用CNN对V进行后续处理(V的尺寸是提前设定的)。
如图 T θ T_{\theta} Tθ作用在U上的一个个点,将U映射为了V这个过程是由Grid generator完成的。
- 特征配准网络(孪生神经网络simsiam ):
特征编码器设计为Siamese网络,这是一种参数共享的神经网络,适用于多个输入。为了避免在没有负样本的情况下优化时出现的崩溃问题,采用了与SimSiam相似的策略。特征通过相同的编码器网络 E E E 处理,并在一个分支上应用预测头 P P P。在另一个分支上应用停止梯度操作,以防止崩溃解决方案。
- 损失函数:
使用负余弦相似度损失来度量特征之间的相似性。特征注册损失被定义为特征级别的匹配损失,这是一种比像素级注册约束更为宽松的版本,以提高鲁棒性。最终的对称特征注册损失 L L L 是通过计算两个方向的损失并取平均得到的。
负余弦相似度:
cos0=1,两个向量的余弦值越接近1,说明两个向量的夹角越小,两个向量离得越近越相似。
二维空间中,三角形夹角的余弦计算公式为 c o s θ = a 2 + b 2 − c 2 2 a b cos\theta=\frac{a^2+b^2-c^2}{2ab} cosθ=2aba2+b2−c2
两个向量的余项值计算为:
cos ( θ ) = a ∙ b ∣ ∣ a ∣ ∣ × ∣ ∣ b ∣ ∣ = ( x 1 , y 1 ) ∙ ( x 2 , y 2 ) x 1 2 + y 1 2 × x 2 2 + y 2 2 = X 1 X 2 + y 1 y 2 x 1 2 + y 1 2 × x 2 2 + y 2 2 \begin{aligned}&\cos(\theta)\:=\:\frac{\mathrm{a}\:\bullet\:\mathrm{b}}{||\:\mathrm{a}\:||\:\times\:|\:|\:\mathrm{b}\:||}\:\\&=\:\frac{(x_{1},\:y_{1})\bullet(x_{2},\:y_{2})}{\sqrt{x_{1}^{2}\:+\:y_{1}^{2}}\times\sqrt{x_{2}^{2}\:+\:y_{2}^{2}}}\:\\&=\:\frac{X_{1}X_{2}\:+\:y_{1}y_{2}}{\sqrt{x_{1}^{2}\:+\:y_{1}^{2}}\:\times\:\sqrt{x_{2}^{2}\:+\:y_{2}^{2}}}\:\\&\text{}\end{aligned} cos(θ)=∣∣a∣∣×∣∣b∣∣a∙b=x12+y12×x22+y22(x1,y1)∙(x2,y2)=x12+y12×x22+y22X1X2+y1y2
如果向量a和b不是二维而是n维,上述余弦的计算法仍然正确。假定a和b是两个n维向量,a是 ,b是 ,则a与b的夹角 的余弦等于
cos ( θ ) = ∑ i = 1 n ( x i × y i ) ∑ i = 1 n ( x i ) 2 × ∑ i = 1 n ( y i ) 2 = a ∙ b ∣ ∣ a ∣ ∣ × ∣ ∣ b ∣ ∣ \begin{aligned}\cos(\:\theta\:)&=\:\frac{\sum_{i=1}^{n}\:(\:x_{i}\:\times\:y_{i}\:)}{\sqrt{\sum_{i=1}^{n}\:(\:x_{i}\:)^{2}}\:\times\:\sqrt{\sum_{i=1}^{n}\:(\:y_{i}\:)^{2}}}\\\\&=\:\frac{\mathrm{a}\:\bullet\:\mathrm{b}}{|\:|\:\mathrm{a}\:|\:|\:\times\:|\:|\:\mathrm{b}\:|\:|}\\\\&\text{}\end{aligned} cos(θ)=∑i=1n(xi)2×∑i=1n(yi)2∑i=1n(xi×yi)=∣∣a∣∣×∣∣b∣∣a∙b
- 空间信息的保留:所提出的方法保留了相对完整的空间信息,因为采用了ResNet的前三个卷积块,而没有使用全局平均池化。这对于异常检测任务是有益的,因为该任务需要提供异常得分图作为预测结果。
- 与SimSiam的区别:与SimSiam不同,后者将输入定义为同一图像的两个增强版本并最大化它们的相似性,而所提出的特征注册方法则利用两幅不同的图像作为输入,并最大化特征之间的相似性以学习注册。
通过这种方式,特征注册网络能够有效地学习到类别无关的特征表示,从而在面对新类别时仍能进行有效的异常检测和定位。
4.2 正态分布估计——Normal Distribution Estimation
翻译
在进行测试时,假定特征匹配能力可以泛化到目标类别,并将学习到的特征匹配模型应用于目标类别的支持集
S
t
\mathcal{S}_{t}
St ,而不对参数进行微调。对支持图像应用了多种数据增强。由于孪生网络的两个分支完全相同,因此只使用一个分支特征进行正态分布估计。实现匹配后,使用基于统计的估计器来估计目标类别特征的正态分布,该估计器使用多元高斯分布来获得正态类别的概率表示。假设图像被划分为一个由
(
i
,
j
)
∈
[
1
,
W
]
×
[
1
,
H
]
(i,j)\in[1,W]\times[1,H]
(i,j)∈[1,W]×[1,H]个位置组成的网格格,其中 W × H 是用于估计正态分布的特征分辨率。在每个补丁位置
(
i
,
j
)
,
let
F
i
j
=
{
f
i
j
k
,
k
∈
[
1
,
N
]
}
(i,j),\text{ let }F_{ij}=\{f_{ij}^k,k\in[1,N]\}
(i,j), let Fij={fijk,k∈[1,N]} 是来自 N 个增强支持图像的匹配特征。fij 是补丁位置 (i, j) 上的聚合特征,通过将相应位置上的三个 STN 输出连接起来,并进行上采样操作以匹配它们的大小来实现。假设 Fij 由
N
(
μ
i
j
,
Σ
i
j
)
\mathcal{N}(\mu_{ij},\Sigma_{ij})
N(μij,Σij)生成,则样本协方差为:
Σ
i
j
=
1
N
−
1
∑
k
=
1
N
(
f
i
j
k
−
μ
i
j
)
(
f
i
j
k
−
μ
i
j
)
T
+
ϵ
I
,
(
4
)
\Sigma_{ij}=\frac1{N-1}\sum_{k=1}^N\left(f_{ij}^k-\mu_{ij}\right)\left(f_{ij}^k-\mu_{ij}\right)^\mathrm{T}+\epsilon I,(4)
Σij=N−11k=1∑N(fijk−μij)(fijk−μij)T+ϵI,(4)
其中 µij 是 Fij 的样本平均值,正则化项 ϵ I \epsilon I ϵI使样本协方差矩阵全秩并可反转。最后,每个可能的补丁位置都与多元高斯分布相关联。
讨论。数据增强被广泛应用于 AD,尤其是 FSAD,包括 TDG和DiffNet 。然而,大多数方法只是简单地在支持图像和测试图像上应用数据增强,而没有探讨其影响。在本文中,我们强调数据扩增在扩展支持集方面发挥着非常重要的作用,这有利于正态分布估计。具体来说,我们对支持集 St 中的每张图像都采用了增强措施,包括旋转、平移、翻转和灰度化。我们没有考虑其他增强方法,如混合和剪贴,因为它们似乎更适合模拟异常情况。我们对支持集中的每个样本进行所有这些增强的可能组合,共同组合成一个更大的支持集。我们在这样一个增强支持集上进行正态分布估计。我们将在补充材料中研究不同扩增的影响。
精读
-
假设与模型应用:
- 假设特征匹配能力可以推广到目标类别。这意味着在训练阶段学习到的特征匹配模型可以直接应用于测试阶段的目标类别,而不需要对模型进行参数微调。这种假设是基于模型在训练时对特征的学习能力。
-
支持集的使用:
- 在测试阶段,使用目标类别的支持集 S t S_t St。支持集是指在目标类别中仅有的少量正常样本。通过将训练阶段学习到的特征匹配模型应用于这些支持样本,模型能够估计出目标类别的正常特征分布。
-
数据增强的重要性:
- 为了增强模型的鲁棒性,作者强调了对支持图像应用多种数据增强技术。这些增强方法包括旋转、平移、翻转和灰度化等。这些技术的目的是扩展支持集,从而提高正常分布的估计精度。
-
Siamese网络的使用:
- 由于Siamese网络的两个分支是相同的,作者只使用一个分支的特征进行正常分布的估计。这种设计简化了计算,并确保了特征的一致性。
-
正常分布的估计:
- 一旦获得匹配特征,作者使用基于统计的估计器来估计目标类别特征的正常分布。具体来说,使用多元高斯分布来表示正常类别的概率。这种方法能够为每个特征补丁位置 ( i , j ) (i, j) (i,j) 生成一个概率分布。
-
样本均值与协方差的计算:
- 在每个补丁位置 ( i , j ) (i, j) (i,j) 上,定义 F i j F_{ij} Fij 为来自 N N N 个增强支持图像的匹配特征。样本均值 μ i j \mu_{ij} μij 和样本协方差 Σ i j \Sigma_{ij} Σij 的计算公式被详细列出。样本协方差的计算中加入了正则化项 ϵ I \epsilon I ϵI,以确保协方差矩阵的满秩性和可逆性。
-
多元高斯分布的关联:
- 每个补丁位置都与一个多元高斯分布相关联,这为后续的异常检测提供了基础。通过这种方式,模型能够在测试阶段判断哪些样本超出了正常分布,从而被标记为异常。
-
数据增强的影响:
- 作者指出,数据增强在异常检测中扮演了重要角色,尤其是在少样本异常检测中。通过对支持集进行多种增强,模型能够更好地学习正常分布,从而提高检测的准确性。
总结
这一节强调了在少样本异常检测中,如何通过特征注册和数据增强来有效估计目标类别的正常分布。通过使用Siamese网络和多元高斯分布,模型能够在测试阶段准确识别异常样本。这种方法的成功依赖于对支持集的有效利用和对数据增强的合理应用。
4.3 推理——Inference
翻译
在推理过程中,不符合正态分布的测试样本会被视为异常。对于
T
t
e
s
t
\mathcal{T}_{test}
Ttest 中
的每个测试图像,我们使用马哈拉诺比斯距离
M
(
f
i
j
)
\mathcal{M}\left(f_{ij}\right)
M(fij) 给位置
(
i
,
j
)
(i,j)
(i,j)上的
补丁打分,其中
M ( f i j ) = ( f i j − μ i j ) T Σ i j − 1 ( f i j − μ i j ) . ( 5 ) \mathcal{M}\left(f_{ij}\right)=\sqrt{\left(f_{ij}-\mu_{ij}\right)^T\Sigma_{ij}^{-1}\left(f_{ij}-\mu_{ij}\right)}.(5) M(fij)=(fij−μij)TΣij−1(fij−μij).(5)
Mahalanobis 距离矩阵 M = ( M ( f i j ) ) 1 ⩽ i ⩽ W , 1 ⩽ j ⩽ H \mathcal{M}\:=\:\left(\mathcal{M}\left(f_{ij}\right)\right)_{1\leqslant i\leqslant W,1\leqslant j\leqslant H} M=(M(fij))1⩽i⩽W,1⩽j⩽H形成异常图。将对应于 STN 三个模块的三个反仿射变换应用于该异常图,得到与原始图像对齐的最终异常得分图 Mfinal 。该图中的高分表示异常区域。整个图像的最终异常得分是异常图 Mfinal 的最大值。RegAD取消了测试图像的数据增强,从而降低了推理计算成本。
精读
在这一节中,作者描述了如何在推理阶段识别异常样本。
-
异常检测的基本原则:
- 在推理阶段,模型会将测试样本与正常分布进行比较。任何超出正常分布的样本都被视为异常。这一过程是基于在训练阶段学习到的正常分布特征。
-
马哈拉诺比斯距离(Mahalanobis Distance):
- 对于每个测试图像中的每个补丁
(
i
,
j
)
(i, j)
(i,j),使用马哈拉诺比斯距离
M
(
f
i
j
)
M(f_{ij})
M(fij) 来计算异常分数。马哈拉诺比斯距离的公式为:
M ( f i j ) = ( f i j − μ i j ) T Σ i j − 1 ( f i j − μ i j ) M(f_{ij}) = \sqrt{(f_{ij} - \mu_{ij})^T \Sigma_{ij}^{-1} (f_{ij} - \mu_{ij})} M(fij)=(fij−μij)TΣij−1(fij−μij) - 其中, f i j f_{ij} fij 是补丁的特征, μ i j \mu_{ij} μij 是该补丁位置的正常分布均值, Σ i j \Sigma_{ij} Σij 是协方差矩阵。马哈拉诺比斯距离衡量了样本与正常分布的偏离程度,距离越大,表示样本越可能是异常。
- 对于每个测试图像中的每个补丁
(
i
,
j
)
(i, j)
(i,j),使用马哈拉诺比斯距离
M
(
f
i
j
)
M(f_{ij})
M(fij) 来计算异常分数。马哈拉诺比斯距离的公式为:
-
异常图(Anomaly Map)的生成:
- 通过计算所有补丁的马哈拉诺比斯距离,形成一个异常图 M = ( M ( f i j ) ) 1 ≤ i ≤ W , 1 ≤ j ≤ H M = (M(f_{ij}))_{1 \leq i \leq W, 1 \leq j \leq H} M=(M(fij))1≤i≤W,1≤j≤H。这个图展示了图像中每个位置的异常分数。
-
逆仿射变换(Inverse Affine Transformations):
- 为了将异常图与原始图像对齐,作者应用了三个逆仿射变换,这些变换对应于三个空间变换网络(STN)模块。这一步骤确保了异常分数能够准确反映在原始图像的空间位置上。
-
最终异常分数图(Final Anomaly Score Map):
- 经过逆仿射变换后,得到最终的异常分数图 M f i n a l M_{final} Mfinal。在这个图中,较高的分数表示更可能的异常区域。
-
整体异常分数的计算:
- 整个图像的最终异常分数是异常分数图 M f i n a l M_{final} Mfinal 中的最大值。这一分数可以用来判断整个图像是否存在异常。
-
计算效率的提升:
- 与其他方法相比,RegAD 取消了对测试图像的数据增强,这样可以减少推理过程中的计算成本。这意味着在推理阶段,模型的计算效率得到了提升,从而加快了异常检测的速度。
5 实验——Experiments
5.1 实验装置——Experimental Setups
-
数据集:我们在两个具有挑战性的真实世界基准数据集上进行了 AD,这两个数据集都与工业缺陷检测有关。
MVTec
:MVTec 包含 15 个类别,其中 3629 幅图像用于训练和验证,1725 幅图像用于测试。训练集仅包含无缺陷的正常图像。测试集包含有各种缺陷的图像(异常)和无缺陷的图像(正常)。每个类别平均有5 幅图像,73 种不同的缺陷类型。所有图像的分辨率在 700 × 700 和1024 × 1024 像素之间。每个缺陷图像区域提供像素级的真实标签。MPDD
:MPDD 是一个新提出的数据集,专门关注在涂漆金属部件制造过程中进行缺陷检测,包含 6 类金属部件。图像是在多个物体的不同空间方向、位置和距离、不同光强和非均匀背景条件下采集的。
对于每个数据集,我们在两种不同的实验设置上进行实验。(i) 对多
个类别进行综合训练,然后适应未见类别;(ii) 仅对每个类别的支持集
进行单独训练。 -
比较方法:我们考虑了两种最先进的 FSAD 方法,即 TDG 和 DiffNet。这两种方法都针对每个类别单独训练模型(设置 (ii))。结果使用官方源代码重现。考虑到我们的方法使用多个类别的数据,为了公平比较,我们将它们扩展到利用相同数量的数据(设置 (i))。在这些方法中添加了预训练程序,即使用多个类别的数据来预训练 TDG 的转换分类器或初始化DiffNet 的基于流量的归一化估计器。相应的方法是 TDG+ 和 DiffNet+。我们还评估了单个类别训练设置下的 RegAD,并将相应的方法称为 RegAD-L。我们与一些最先进的虚假 AD 方法进行了比较,如 GANomaly、ARNet 、 MKD 、 CutPaste 、 FYD 、PaDiM 、PatchCore 和 CflowAD 。这些方法使用整个正常数据集进行训练,因此可被视为 FSAD 性能的上限。
-
评估规程:我们使用接收者工作特征曲线(ROC)指标下的面积(AUC)来量化模型性能。图像级 AUC 和像素级 AUC 分别用于异常检测和异常定位。
-
模型配置和训练细节: 该模型以 ImageNet 预训练的 ResNet-18 [16] 为骨干,然后是基于卷积的编码器和预测器。为了保留空间信息,编码器包含三个 1 × 1 卷积层,而预测器包含两个 1 × 1 卷积层,没有任何池化操作。我们在一台 NVIDIA GTX 3090 上对 224 × 224 图像进行模型训练。我们使用动量 SGD 更新参数,学习率为 0.0001,持续 50 次,批量大小为 32。采用余弦学习率的单周期作为衰减时间表。
5.2 与最先进方法的比较—— Comparison with State-of-the-art Methods
与少样本异常检测方法的比较。实验采用 "leave-one-out "设置,即选择一个目标类别进行测试,而数据集中的其他类别则用于训练。表 1 和表 2 分别显示了在实验设置 (i) 下,MVTec 和 MPDD 的对比结果。与 DiffNet+ 相比,RegAD 在 MVTec 上的平均 AUC 分别提高了 5.1%、6.9% 和 8.0%,在MPDD 上的平均 AUC 分别提高了 3.2%、5.0% 和 3.4%。
RegAD 在测试时没有进行任何参数微调,这可能无法保证每个类别都能获得最佳性能,而其他基线则具有不公平的优势,因为它们会针对每个类别调整参数。在 15 个类别中的 9 个类别中,RegAD 的表现优于所有其他基线。当 k=8 时,RegAD 在 15 个类别中的标准偏差(10.94)也最小,而TDG+ 和 DiffNet+ 的标准偏差分别为 15.20 和 13.11,这表明它在不同类别中具有更好的通用性。此外,虽然使用了不同的训练设置,但对于 MVTec(k=8),RegAD 的 AUC 达到了 91.2%,与 Metaformer 相比提高了≈3%,后者在整个训练过程中使用了一个额外的大规模数据集 MSRA10K
讨论:适应时间对于 FSAD 的实际应用非常重要。TDG+ 和 DiffNet+ 的
微调程序都很耗时,因为它们要更新模型许多次,而 RegAD 的适应速度最
快,因为它基于统计估计器,只需对每个支持图像进行一次推理。在表3中,我们报告了每种方法的适应时间,取 k = 2、4、8 时的平均值。
表 3 还比较了实验设置 (ii) 下的这些方法,在实验设置 (ii) 中,我们使用每个类别的支持图像对模型进行单独训练。RegAD-L 表示只对一个类别进行单独训练的 RegAD。假设 ImageNet 预先训练的特征具有充分的代表性,我们只需使用有限的支持图像对特征进行微调即可。因此,我们直接在所有方法的 ImageNet 预训练骨干下进行微调。所有方法都使用相同的 ImageNet 预训练骨干,以便进行公平的比较。在这种情况下,RegAD-L 在 MVTec 数据集上的表现优于 TDG 和 DiffNet。在 MPDD 数据集上,DiffNet 的表现优于所提出的方法。不过,与 RegAD-L 相比,建议的 RegAD 有很大改进,这表明建议的特征注册聚合训练程序在多个类别上都很有效。
与普通异常检测方法的比较。 最先进的 Vanilla AD 方法使用整个正常数据集进行训练,并为每个类别训练一个单独的模型,因此其性能可视 为FSAD 的上限。我们考虑的方法包括 GANomaly [1]、ARNet [42]、MKD[33]、CutPaste [21]、FYD [45]、PaDiM [8]、PatchCore [28] 等。和 CflowAD [14]。表 4 中的结果表明,即使与基于大量正常数据的普通 AD方法相比,所提出的 RegAD 也能达到具有竞争力的性能。例如,在使用相同的 ImageNet 预训练骨干的情况下,仅使用 4 张支持图像,所提出的方法(88.2% 的 AUC)就优于 MKD(87.7%),而使用 32 张支持图像时,其AUC 增加到 94.6%。
5.3 消融研究——Ablation Studies
对所提出方法的各个组成部分进行了实验评估,以确定它们对整体性能的贡献。
表 5 显示了在 MVTec 和 MPDD 数据集上进行异常检测和定位的结果A"、"F"和 "S "模块分别指支持集增强、多类别特征注册聚合训练和特殊变压器网络(STN)。表 5 中的结果显示
- (i) 增强。研究表明,建议的支持集增强对检测和定位都至关重要。当 k = {2、4、8} 时,MVTec 的 AUC 分别提高了 6.8%、6.9% 和 6.9%,MPDD 分别提高了 1.2%、0.5% 和 0.6%。我们在补充材料中进一步介绍了比较不同增强方法对支持图像的消融研究
- (ii) 特征匹配聚合训练。在使用和不使用支持图像增强的情况下,对多个类别进行特征注册聚合训练都很有效。这表明,建议的特征注册有利于估计正态分布。如表 5 所示,当 k = {2、4、8} 时,建议的无异常特征注册可将 MVTec 的 AUC 分别提高 3.3%、2.9% 和 2.6%。
- (iii) 空间变换器模块。建议的 STN 模块可以很好地提高特征匹配的能力从而有利于 AD。例如,如表 5 所示,当 k = 8 时,STN 模块可以进一步提高 MVTec 的性能,从 89.3% 提高到 91.2%;提高 MPDD 的性能,从 64.8%提高到 71.9%。然而,带有 STN 模块的模型与不带 STN 模块的模型在像素级定位性能上相差无几。究其原因,是由于反变换操作的信息丢失及其影响。
图 3.RegAD 在 MVTec 数据集(前三行)和 MPDD 数据集(后两行)上对几种情况进行异常定位的定性结果,包括单独训练和聚合训练的定位结果。来自(e) 比(c )的结果显示出更好的性能,显示出建议的特征注册聚合训练程序的有效性。
这些反变换被设计为后处理操作,以重新匹配变换后特征的空间位置和原始图像。如表 6 所示,我们在 MVTec 和 MPDD 上对 STN 模块的不同变换版本进行了进一步的消融研究。在 MVTec 上,表现最好的 STN版本是旋转+缩放,这与观察到的情况相符,即该数据集中的样本都对齐中心,因此不需要平移。而对于 MPDD 数据集,由于样本并没有很好地对齐中心,因此带有仿射变换的 STN 版本表现最佳。STN 被用作特征变换模块,使模型能够隐式变换图像,从而促进特征配准。MPDD 中的图像是在不同的空间方向和位置下采集的,因此对齐特征预计会有所帮助。对 MVTec 而言,物体因此,STN 对 MVTec 的帮助较小。
5.4 可视化分析
为了定性分析所提出的特征注册方法是如何提高异常定位性能的,我们直观地展示了以下一些结果
图 4.使用 t-SNE 对从 MVTec 数据集学习到的特征进行可视化,使用 (a) 未进行特征注册的基线方法,以及 (b) 进行特征匹配的建议方法。每种情况都使用了相同的 t-SNE 优化迭代。结果表明,进行了特征匹配的特征在每个类别中更加紧凑,在不同类别中更加分离。
从图 3 中可以看出,RegAD 使用聚合训练生成的定位结果(e 栏)比单个训练基线(c 栏)更接近地面实况(f 栏)。从图 3 中的结果可以看出,RegAD 使用聚合训练生成的定位结果(e 栏)比单个训练基线生成的定位结果(c 栏)更接近地面实况(f 栏)。这说明了建议的特征注册训练程序在多个类别上的有效性。
我们还使用 t-SNE 将在 MVTec 数据集上学习到的特征可视化,如图 4 所示。这里的每个点代表测试集中的一个增强正常样本。可以看出,建议的特征匹配使每个类别内的特征更加紧凑,并推开了不同类别的特征,这对估计每个类别的正态分布是有好处的。
6 结论
本文提出了一种 FSAD 方法, 利用匹配这一可跨类别通用的任务作为代理任务。鉴于每个类别只有少量正常样本,我们利用汇总数据训练了一个与类别无关的特征匹配网络。结果表明,该模型可直接用于新的类别,无需重新训练或参数微调。通过比较测试图像和相应支持(正常)图像的匹配特征,可以识别异常。在异常检测和异常定位方面,该方法都具有很强的竞争力,甚至可以与使用大量数据进行训练的普通 AD 方法相媲美。这些令人印象深刻的结果表明,所提出的方法很有可能适用于现实世界的异常检测环境。