【2023工业图像异常检测文献】工业图像异常检测综述

Deep Industrial Image Anomaly Detection: A Survey

1 Introduction

在现代制造业中,IAD通常在制造过程的最后进行,试图识别产品缺陷。产品的价格受到缺陷严重程度的显著影响。此外,如果缺陷达到一定的阈值,产品将被丢弃。从历史上看,大多数异常检测任务由人类执行,这有许多缺点:

  • 无法避免人类疲劳,导致误报现象(即,真实情况是异常的,而人类的判断是正常的)。
  • 长期和密集的异常检测工作可能导致健康问题,如视力损害。
  • 定位异常需要大量的员工,增加了运营成本。

如今,深度学习方法已经取得了良好的结果,这些方法的准确率大多超过97%。然而,当涉及到现实世界的应用时,IAD仍然面临许多问题如下:

  • IAD数据集应该从实际生产线收集,而不是实验室。由于隐私问题,公众无法访问真实的异常数据集。大多数开源IAD数据集从无异常产品中生成异常。换句话说,开源IAD数据集中的异常可能不会在实际生产线上出现,这使得在工业制造中部署IAD非常具有挑战性。
  • 在缺乏多个领域IAD数据集的情况下,挑战在于实现一个统一的IAD模型的创建。最近,You等人[4]提出了一个用于多个类别对象的统一IAD模型。然而,他们忽视了同一工厂生产的商品应该是同一种类的概念。例如,汽车制造商生产几种类型的工件,但不生产水果。当前流行的IAD数据集,如MVTec AD[5]和MVTec LOCO[6],包含许多类别,而不是多个领域。要模拟真实的制造过程,我们必须创建一个新的IAD数据集,从多个领域收集。
  • 迫切需要建立一个统一的评估体系,用于评估IAD性能的形象层面和像素层面。大多数IAD度量标准将异常掩码(真实情况)缩小到特征图的大小进行评估,这不可避免地降低了评估的精度。此外,我们发现某些IAD方法在形象AUROC上表现良好,但在像素AP上表现不佳,反之亦然。因此,开发一个统一的度量标准来评估IAD性能在形象和像素层面都是至关重要的。
  • 应该设计一个更有效的损失函数,可以利用标记数据的指导和未标记数据的探索。在现实的制造场景中,可用的异常样本数量有限。然而,大多数无监督IAD方法的表现优于半监督IAD方法。通过观察半监督IAD的失败,将呼吁更多关注特征提取和损失函数,可以有效地利用标签的指导和来自未标记数据的探索。关于上述关键问题,改进异常样本的特征提取和重新设计偏差损失函数可以充分利用标记的异常情况,并将异常样本的特征空间与正常样本的特征空间区分开来。

2 Unsupervised Anomaly Detection

工业图像的异常检测方法可以分为两类:基于特征嵌入和基于重建的。

2.1 Feature Embedding based Methods

2.1.1 Teacher-Student Architecture

教师-学生网络方法通常选择一个在大规模数据集上预训练的骨干网络的部分层作为固定参数的教师模型。

在这里插入图片描述

在训练期间,教师模型向学生模型传授提取正常样本特征的知识。

在推理期间,教师网络和学生网络从测试集中提取的正常图像特征是可比较的,而从测试集中提取的异常图像特征则截然不同。

通过比较两个网络生成的特征图,可以生成相同大小的异常得分图。

然后,通过将异常得分图放大到与输入图像相同的比例,可以获得各种输入图像位置的异常得分。在这个模型的合理性上,可以确定测试图像是否异常。

教师-学生架构在工业图像异常检测中表现出色,但依赖于预训练的模型,如ResNet、VGG和EfficientNet。以下是不同改进算法在损失函数、预训练模型和方法亮点方面有所不同。

在这里插入图片描述

改进方法的创新点:

  • Uninformed Students:提出了一种基于教师-学生模型的基本方法来处理异常检测问题。
  • MKD:使用多尺度特征和轻量级网络进行知识蒸馏。
  • STPM:在不同网络层使用多尺度特征进行蒸馏。
  • STFPM:增加了额外的教师-学生对,以获得不同的特征重建结果。
  • RD4AD:设计了一种类似于重建的反向蒸馏教师-学生模型。
  • IKD:增加了上下文相似性损失和自适应硬样本挖掘模块,以减少过拟合。
  • AST:提出了不对称的教师-学生网络,以使异常的表示更加不同。

2.1.2 One-Class Classification

异常检测也可以被视为一个单类分类(OCC)问题。

在这里插入图片描述

单类分类方法在训练期间找到超球体,以区分正常样本特征和异常样本特征。

在推理期间,该方法根据测试样本的特征与超球体的相对位置来判断样本是否异常。

由于训练集不包含异常样本,一些方法通过人工创建异常样本来提高超球体的准确性。

单类分类技术更多地依赖于异常样本。如果生成的异常样本质量差,方法的性能将受到严重影响。

在这里插入图片描述

改进方法的创新点:

  • Patch SVDD:将图像分割成小块,并对每块进行SVDD训练,以提高异常检测能力。
  • DSPSVDD:通过同时考虑超球体体积最小化和网络重建误差最小化,改进了深度SVDD模型。
  • SE-SVDD:引入了语义相关模块(SCB)来提高异常语义的表示和异常定位的准确性。
  • MOCCA:使用多层特征进行异常检测,并训练自编码器作为特征提取器。
  • PANDA:研究了预训练特征的迁移方法,并引入了早停机制来解决OCC问题。
  • MemSeg:通过在产品前景中人为创建异常,将异常检测转化为分割任务。

2.1.3 Distribution Map

基于分布图的方法与基于单类分类的方法非常相似,不同之处在于,基于单类分类的方法专注于寻找特征边界,而基于映射的方法试图将特征映射到期望的分布中。

在这里插入图片描述

基于分布图方法首先使用强大的预训练网络提取正常图像的特征,然后使用映射模块将提取的特征映射到高斯分布。

在评估期间,异常图像的特征会使这个分布发生偏差。可以根据偏差的程度计算异常概率。

基于分布图的方法需要一个合适的映射目标来进行训练,映射方法的选择会影响模型的性能。其中,基于归一化流(NF)的方法占主导地位。NF具有强大的映射能力,并且在异常检测(AD)任务中也表现出了良好的性能。

在这里插入图片描述

改进方法的创新点:

  • DifferNet:首次将NF应用于工业图像异常检测,通过在正常化流中加入交叉卷积块来分配概率。
  • CS-Flow:利用多尺度特征图中的上下文信息来改进DifferNet。
  • CFlow-AD:在条件正常化流框架中引入位置编码,以取得更好的结果。
  • FastFlow:在NF模块中引入大和小卷积核的交替堆叠,以有效模拟全局和局部分布。
  • CAINNFlow:引入注意力机制CBAM到NF模块,以增强模型性能。

2.1.3 Distribution Map

基于记忆库的方法通常不需要训练损失函数,模型构建快速。它们的性能由强大的预训练网络和额外的记忆空间保证,这类方法目前在工业图像异常检测(IAD)任务中最为有效。

主要区别在于,与SVDD等基于单类分类的方法不同,基于记忆库的方法需要额外的记忆空间来存储图像特征。如图5所示,这些方法在训练期间几乎不需要网络训练,只需要对收集到的正常图像特征进行采样或映射即可用于推理。

在这里插入图片描述

在推理期间,将测试图像的特征与记忆库中的特征进行比较。

测试图像的异常概率等于其与记忆库中正常特征的空间距离。

在这里插入图片描述

改进方法的创新点:

  • 语义金字塔异常检测(SPADE):利用多分辨率特征金字塔获得像素级异常分割结果。
  • PaDiM:使用多元高斯分布构建正常类别的概率表示,减少了对大规模CNN的计算需求。
  • 自组织图异常检测(SOMAD)和GCPF:增强了正常特征的存储,使用拓扑记忆和多元高斯聚类。
  • PatchCore:通过核心子集采样的记忆库,提高了推理效率并降低了成本,同时保持了性能。

2.2 Reconstruction based methods

重建方法主要自训练编码器和解码器以重建图像进行异常检测,这使得它们不太依赖于预训练模型,并增强了它们检测异常的能力。然而,由于无法提取高级语义特征,其图像分类能力较差。如表6所示,各种方法的损失函数相似;然而,由于不同的重建模型范式和异常样本构建方法,它们的性能各不相同。

在这里插入图片描述

重建网络在训练过程中,正常或异常图像被送入重建网络,重建损失函数用于指导重建网络的训练。最终,重建网络能够以类似于原始正常图像的方式恢复重建图像。在推理阶段,比较模型比较原始图像和重建图像以生成预测。与特征嵌入方法相比,基于重建的方法在像素级别上表现更好,因为它们能够通过像素级比较来识别异常。此外,大多数基于重建的方法是从零开始训练的,没有使用强大的预训练模型,导致其性能不如图像级特征嵌入方法。

在这里插入图片描述

2.2.1 Autoencoder

自动编码器是一种常用的重建网络,用于异常检测,通过编码器和解码器的结构来重建图像,并识别出与正常图像重建有显著差异的异常图像。

自动编码器(AE)是用于异常检测的最普遍的重建网络,许多其他重建网络也由编码器和解码器组成。Bergmann等人[75]研究了结构相似性指数度量(SSIM)和L2损失对AE重建和异常分割的影响,为未来研究提供了许多建议。如何解析原始图像与重建图像之间的差异是最基础的原则。经常存在重建图像与原始图像之间的风格差异,导致过度检测。Chung等人[76]提出了一个异常暴露风格蒸馏网络(OE-SDN),以保留AE的风格转换并抑制内容转换,以避免过度检测。作为异常预测,Chung等人将AE的原始图像与重建图像之间的差异替换为OE-SDN的重建图像与AE的重建图像之间的差异。

2.2.2 Generative Adversarial Networks

生成对抗网络(GANs)的稳定性不如基于自动编码器的重建模型,但判别网络在某些场景中能取得更好的效果。

在训练期间,基于语义上下文的异常检测网络(SCADN)[103]会遮蔽图像的一部分,并使用GAN进行重建。SCADN通过比较输入图像和重建图像来检测异常进行推理。

除了遮蔽图像,AnoSeg[104]利用硬增强、对抗学习和通道连接来生成异常样本。AnoSeg与AE重建模型的不同之处在于,其目标函数结合了重建损失和对抗损失。

OCR-GAN[105]利用频率解耦(FD)模块将图像解耦为不同频率的信息组合,然后重建并组合这些不同频率的信息以产生重建图像。在推理期间,模型能够识别正常和异常图像的频率分布之间的统计学显著差异。

这些基于GAN的方法在异常检测中的应用,展示了GAN在生成逼真图像和区分正常与异常样本方面的潜力。通过结合重建损失和对抗损失,这些模型能够提高对异常的识别能力,尤其是在处理复杂工业图像时。此外,利用频率解耦模块的OCR-GAN能够更细致地分析图像的不同频率成分,为异常检测提供了新的视角。

2.2.3 Transformer

Transformer 具有更高的全局信息表示能力,这使得它有潜力超越自动编码器(AE),成为异常检测新的重建网络基础。Mishra等人[106]提出了一个基于Transformer的框架,用于在补丁级别重建图像,并使用高斯混合密度网络来定位异常区域。You等人[107]提出了ADTR,用于重建预训练的特征。据他们所说,使用Transformer可以防止异常被很好地重建,使得在重建失败时更容易识别异常。

Transformer模型由于其自注意力机制,能够更好地处理序列数据和捕捉长距离依赖关系,在图像异常检测领域展现出了其独特的优势。通过结合自监督学习和Transformer架构,研究人员能够提高模型对异常的识别能力,尤其是在全局特征表示方面。此外,Transformer模型在处理被遮蔽或损坏的图像时,能够利用其全局信息捕捉能力,更有效地进行图像重建和异常定位。

2.2.4 Diffusion Model

扩散模型(Diffusion Model)是一种最近非常流行的生成模型,同样可以用于基于重建的异常检测。据我们所知,AnoDDPM[113]是第一个将扩散模型应用于工业图像异常检测的研究。与基于GAN的方法相比,使用简单噪声的AnoDDPM也能够在不需要大型数据集的情况下捕捉到大的异常区域。在将扩散模型应用于异常检测时,Teng等人[114]主要进行了两项改进。首先,他们使用正常数据分布的时间依赖梯度值作为重建损失的替代度量来衡量缺陷。其次,他们开发了一种新的T-scales方法来减少所需的迭代次数并加速推理过程。

扩散模型是一种强大的生成模型,它通过逐步去噪一个高斯噪声场来生成数据。在异常检测的背景下,扩散模型可以被训练来仅从正常样本中学习数据的分布,然后在测试时识别出偏离这种分布的异常样本。这种方法的优势在于它不需要异常样本来训练,因此对于数据收集和标注成本较高的实际应用场景非常有吸引力。

3 Supervised Anomaly Detection

总体来说,无监督异常检测相对于监督异常检测性能上表现得更好,提出的研究方法更多。

4 Industrial Manufacturing Setting

4.1 Few-Shot Anomaly Detection

在工业图像异常检测中,数据收集和标注成本较高,少量样本学习可以减少这些成本,并且有助于确定哪些数据对异常检测任务最有价值。

  • 元学习(Meta-Learning):
    • 元学习方法需要大量的图像作为元训练数据集,以实现模型的快速适应和异常区域的定位。
    • MetaFormer架构利用元学习参数和实例感知注意力来提高模型的适应能力和异常检测的准确性。
  • 少量样本图像学习:
    • 这种方法依赖于少量的正常样本进行训练,而不专门针对少量样本异常检测任务。
    • PatchCore、SPADE和PaDiM等方法在少量正常样本上进行了消融研究,但需要进一步的研究来专门处理少量样本异常检测问题。
  • 零样本异常检测(Zero-Shot Anomaly Detection, ZSAD):
    • ZSAD的目标是利用大型预训练模型的泛化能力,在没有任何训练的情况下解决异常检测问题,从而消除数据收集和标注的成本。
    • MAEDAY和WinCLIP是两个代表性的方法,它们分别使用掩码自编码器(MAE)和CLIP模型来实现零样本异常检测。

4.2 Noisy Anomaly Detection

在实际应用中,标签错误可能导致异常检测性能下降。研究含噪声环境下的异常检测有助于减少误报并提高模型的鲁棒性。

关键技术和方法:

  • 信任域记忆更新:Tan等人提出了一种新的信任域记忆更新方案,旨在保持噪声特征点与记忆库的距离,以减少噪声对模型的影响。
  • 数据精炼方法:Yoon等人使用数据精炼方法来提高单类分类模型的鲁棒性,通过这种方法可以提高模型在噪声环境下的性能。
  • 联合优化策略:Qiu等人提出了一种在未标记异常存在的情况下训练异常检测器的策略,通过联合优化正常数据和合成异常数据的损失函数来提高模型的鲁棒性。
  • 插值高斯描述符:Chen等人引入了插值高斯描述符,用于学习单类高斯异常分类器,这种方法可以在对抗性插值训练样本的情况下提高模型的鲁棒性。

4.3 3D Anomaly Detection

三维异常检测能够利用深度信息,提供比二维RGB图像更全面的视角,从而检测出在二维图像中难以发现的异常。

当前研究进展:

  • 教师-学生模型:Bergmann提出了一种三维异常检测的教师-学生模型,通过重建局部感受野来获取局部几何描述符。
  • BTF方法:Horwitz等人提出了一种结合手工制作的三维特征(FPFH)和二维特征(PatchCore)的方法。
  • 自监督学习:Reiss等人指出,尽管自监督学习在三维异常检测中的表现暂时不如手工制作的特征,但在大规模三维数据集的支持下,自监督表征具有很大的潜力。

4.4 Anomaly Synthesis

异常合成技术旨在通过创造额外的异常样本来提高模型在有限数据情况下的性能,尤其是在监督学习场景中,这种方法可以减少对大量标注数据的依赖。

Liu等人[153]提出了一个模型,旨在为无缺陷的织物图像生成缺陷,以训练语义分割。而rippel等人[154]使用CycleGAN[155],其中包含ResNet/U-Net作为生成器的基本架构,将缺陷从一个织物转移到另一个织物。通过改进风格转移网络,SDGAN[156]比CycleGAN取得了更好的结果。Wei等人[157]提出了一个名为DST的模型来模拟缺陷样本。首先,DST在无缺陷图像上生成一个空白遮罩区域,然后DST使用遮罩直方图匹配模块使空白遮罩区域的颜色与图像的整体颜色一致,最后DST使用U-NET进行风格转移,使生成的图像更加真实。Wei等人[158]提出了一个名为DSS的模型,该模型使用传统的GAN在无缺陷样本的指定区域重建缺陷结构,然后使用DST进行风格转移,将模拟的缺陷融入背景。Jain等人[159]尝试使用DCGAN、ACGCN和InfoGAN通过添加噪声来生成缺陷图像,这提高了分类的准确性。Wang等人[160]提出了基于StarGANv2的DTGAN,它增加了前景-背景解耦并实现了一定程度的风格控制,并使用Frechet inception距离(FID[161])和kernel inception distance(KID[162])来评估图像生成的质量。DefectGAN[163]也认为缺陷和正常背景可以分层,缺陷是前景。DefectGAN以风格转移的形式生成缺陷前景及其空间分布。

5 Datasets and Metrics

数据集:

在这里插入图片描述

度量标准:

在这里插入图片描述

6 Total Performance Analysis

当前工业图像异常检测(IAD)方法在MVTec AD数据集上的性能:

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

总结:

  • 在图像级异常检测任务中,基于记忆库的方法是最有效的神经网络设计。然而,它们在检测像素级异常方面表现不足。
  • 集成学习可以显著提高最先进异常检测方法的性能。
  • SSPCAB可以无缝集成到最先进方法中,并显著提高基于重建的方法的性能。
  • 少量样本IAD与普通IAD之间的差距正在缩小。也就是说,我们可能可以利用数据蒸馏算法来减少用于异常检测的数据集的大小。
  • 即使没有使用集成学习,MemSeg在图像级异常分类上也取得了最佳结果,这主要归功于使用了U-Net框架。DRAEM也使用U-Net在像素级异常分割上超越了其他方法。MemSeg和DRAEM的有效性证明了分割模块在异常检测中的优势。人工监督通常不如真实监督,用人工生成的异常作为监督信息训练的分割模型通常表现较差。然而,即使使用人工生成的异常作为监督信息,这些具有分割模块的方法在分类和分割任务上仍然优于没有分割模块的方法。我们可以得出结论,分割模块对异常检测任务是有益的。
  • 对于分割任务,AU-PR比AU-ROC更有价值。正如表10所示,基于重建的方法在像素AU-PR度量上表现优于其他方法。就图7而言,DREAM的检测结果最接近真实情况。它产生了更清晰的边缘和更少的误报区域。我们可以从统计数据和可视化结果中推断出,基于重建的方法更适合分割任务。

7 Future Directions

我们概述了几个有趣的未来研究方向如下:

  • 我们应该建立一个多模态的IAD数据集。在实际的装配线上,RGB图像不足以检测异常。因此,我们可能需要使用额外的模态信息,如X射线和超声波,来提高异常检测的性能。

  • 鉴于测试样本在生产线上是顺序流动的,大多数IAD方法无法在新测试样本到达时立即做出预测。在工业制造中,除了IAD的准确性之外,其推理速度也应得到解决。采用多目标进化神经架构搜索算法来找到最优的权衡架构,因此是一个有希望的方法。

  • 大多数IAD方法使用在ImageNet上预训练的模型来提取工业图像的特征,这不可避免地导致了特征漂移问题。因此,迫切需要构建一个针对工业图像的预训练模型。

  • 大多数异常检测方法专注于无监督设置。虽然这种设置可以减少数据标注的成本,但它极大地限制了基于分割的方法的发展。无监督方法和监督方法应该相互补充,近年来监督方法发展缓慢的主要原因是缺乏大量标记的数据集。因此,未来有必要提出一个完全监督的异常检测数据集,具有像素级注释。

  • 以前,我们专注于为正常图像开发数据增强方法。然而,我们还没有在通过数据增强合成异常样本上做出太多努力。在工业制造中,由于大多数生产线都是无缺陷的,所以很难收集到大量的异常样本。因此,未来应该更多地关注异常合成方法,如CutPaste、DRAEM和MemSeg。

  • 当前异常检测算法通常只关注检测准确性,而忽略了模型的存储大小和效率。这导致了高计算成本,并限制了异常检测在企业生产端的应用。因此,设计轻量级但高效的异常检测模型是必要的。

  • 目前,图像异常检测算法主要分为两类任务:工业图像异常检测和医学图像异常检测。尽管医学图像比工业图像有更多的模态,但这两个任务在数据和实验设置方面有很多相似之处。然而,很少有研究探索如何统一这两个任务。一个原因是医学和工业图像数据集之间的领域差异,另一个原因是缺乏良好的基线和基准进行比较。在数据或方法层面建立一个统一的工业和医学图像异常检测框架将是非常有意义的。

8 Conclusions

🐂🐎。。。

[REFERENCE]
精读:Deep Industrial Image Anomaly Detection: A Survey
深度工业图像异常检测调查|Deep Industrial Image Anomaly Detection: A Survey

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值