Deep Learning for Unsupervised Anomaly Localization in Industrial Images: A Survey
1、Introduction
在实际的工业场景中,缺陷样本的稀缺性、标注成本以及对缺陷缺乏先验知识
可能会使基于监督的方法变得无效。近年来,无监督异常定位算法在工业检查任务中得到了更广泛的应用。
【异常检测AD】输出图像二元分类的结果(正常 OR 异常)
【异常定位AL】产生像素级的异常位置结果
2、Background
异常定位(AL)的目标是仅使用无缺陷的训练样本来寻找异常区域。异常被定义为与某种常态概念显著偏离的观察结果。
通常,工业场景中的异常分为两种类型:(i)纹理异常,其语义信息很少;(ii)功能性异常,包含大量的语义信息。
为了更好地说明这种区别,使用了MVTec AD中的图像。
纹理异常占工业缺陷检测的很大一部分,例如瓶子上的裂纹、榛子上的标记以及木材表面的划痕。这些可以被视为整体纹理上的局部像素变体,如图5的第一行所示。
功能性异常与纹理异常不同,它们通常没有纹理变化,但包含语义信息。在图5的第二行中,一个微妙的异常与针头是否插入孔中有关。这种异常需要高水平的语义信息,因此比纹理异常更难检测。
此外,在实际工业场景中,AL面临着重大挑战,如下所示:
训练样本分布问题:用于无监督AL的所有训练样本都是无缺陷的。无缺陷样本分布的平衡程度影响异常位置的判断;例如,如果训练数据中缺少特定的正常样本或区域,训练好的模型可能会将该正常样本或区域识别为异常。换句话说,目标是使机器的视角尽可能与人类经验相兼容。此外,在复杂的工业场景中,正常数据中可能存在污染或数据噪声。成像条件的变化,如照明、视角、尺度、阴影、模糊等,可能导致训练样本之间存在显著差异,而这些差异不应被视为异常。
多尺度异常问题:在实际工业场景中,一些异常,如裂纹,通常很微妙,占据的面积很小。这些小区域甚至可能只占据整个高分辨率图像中的几个像素。因此,在异常图像中,微小的像素很容易被正常情况所淹没,而不是异常。此外,大跨度异常在现实世界场景中也很常见。因此,考虑小的、微妙的缺陷和大的缺陷,全面地定位异常是一个挑战。
精细边界问题:模型的决策边界应该等于理想的分布边界。然而,由于缺乏像素级监督标签,全面的精确异常轮廓分割是异常定位中的另一个挑战。目前,大多数异常定位方法的定位精度不足,与真实情况有很大的不同。
工业图像的异常定位(AL)发展历程如下图:
3、Taxonomy
AL分类体系:
无监督范式下的典型AL网络:
A. 基于图像重建的方法
总结:
-
基本理念:基于图像重建的方法是最早的AL方法之一,其核心思想是训练模型仅能重建正常图像。当输入异常图像时,模型无法正确重建异常区域,从而通过比较输入和重建的图像来定位异常。
-
自动编码器(AE):最初的AE被用于无监督异常分割,尤其是在脑MR图像上。在工业图像的AL中,AE系列方法通过编码器压缩图像到低维潜在空间,然后通过解码器重建输入图像。
-
网络结构改进:为了提高重建性能,提出了一些网络结构的改进,如跳跃层(Skip layers)和特征金字塔(Feature pyramid),以更好地捕捉多尺度分布的正常数据。
-
潜在空间表示的约束:由于AE的泛化能力可能导致异常特征与正常特征混淆,因此提出了一些方法来限制潜在空间的表示,包括记忆库(Memory banks)、聚类(Clustering)和特征建模(Modeling features)。
-
新的损失函数:为了解决仅依赖像素级比较的问题,提出了一些新的损失函数,如结构相似性(SSIM)损失、多尺度梯度幅度相似性(MSGMS)损失和加权频率域(WFD)损失,以引入更多的语义信息。
-
方法的局限性:尽管基于图像重建的方法直观且可解释,但它们的性能受限于AE对无缺陷特征的表达能力,且在复杂的纹理或对象数据集上可能表现不佳。
【基于图像重建的方法】模型被训练只能重建正常图像;然后当输入异常图像时,模型仍然将异常区域重建为正常,即模型无法正确重建异常图像。因此,输入和重建图像之间的差异代表了定位结果。如图7所示,输入图像在低维瓶颈层(潜在空间)上被压缩。该模型假设数据具有高度的相关性/结构。因此,编码器将数据压缩成中间表示,然后解码器使用这个中间表示来重建输入图像。
由于一些研究表明,AE采用瓶颈层来重建输入图像,因此很难控制其泛化能力。当AE的泛化能力很强时,异常特征与正常特征混淆,导致网络的输出完全复制输入。如图8所示,这些模型倾向于直接复制划痕区域(用红色矩形标记)作为输出,导致遗漏异常。由于上述原因,许多当代方法试图限制潜在空间表示。
基于图像重建的方法的优缺点分析:
B. 基于生成模型的方法
图形重建强调的是从给定的数据中恢复出原始的、已知的内容.
图形生成则是创造出新的、未知的内容。
总结:
-
生成模型的基本思想:生成模型通过从训练数据中学习真实的数据分布,然后利用这些模型和分布来生成或建模新数据。在AL中,关键点是获得无缺陷数据的特征分布,生成模型可以显式或隐式地获得这些分布。
-
变分自动编码器(VAE):VAE在潜在空间中引入了先验分布,并使用额外的损失(如KL散度)来评估估计分布与先验分布之间的差异。VAE的方法可以通过注意力机制或基于梯度的方法来增强,以实现更细粒度的AL。
-
生成对抗网络(GAN):GAN方法根据网络结构被分为三种类型:原始GAN、与AE结合的GAN、以及对生成器G或判别器D进行改进的GAN。这些方法通过生成网络和判别网络的对抗训练来提高异常定位的性能。
-
CycleGAN:CycleGAN框架利用多个GAN来建立不同特征域之间的映射,尽管在特定数据集上有效,但在常用的公共数据集上的效果还需要进一步验证。
-
正规化流(NF):与无法估计准确数据可能性的生成模型不同,NF学习数据分布和良好定义密度之间的转换。NF方法通过测量测试图像特征与无缺陷图像估计分布之间的距离来实现AL。
-
方法的优缺点:生成模型在AL中的应用具有其独特的优势,例如能够生成正常样本并反映输入与生成样本之间的差异。然而,这些方法可能需要复杂的网络设计,并且在处理正常区域的生成效果时可能存在挑战。
为了克服基于AE的方法在重建性能上的不足,生成模型被引入到工业AL领域。生成模型的基本思想是从训练数据中建模真实数据分布,然后利用学到的模型和分布来生成或建模新数据。在这一框架中,AL的关键是显式或隐式地获得无缺陷数据的特征分布。与AE不同,生成模型只生成正常样本,输入和生成或重建样本之间的差异就是异常区域。与AE仅考虑最终重建不同,生成模型可以在潜在空间或特征空间中反映这种差异。根据不同的模型,进一步将这些方法分为VAE(变分自动编码器)、GAN(生成对抗网络)和NF(正规化流)。
隐式特征是数据驱动的,自动学习得到。例子:卷积神经网络(CNN)在图像分类任务中,底层可能学习到边缘和颜色信息,高层可能学习到更抽象的概念,如物体的部分或整个物体。
显式特征是知识驱动的,人为设计。例子:在面部识别中,可能会使用眼睛、鼻子和嘴巴之间的距离作为显式特征。
【变分自动编码器(VAE)】如图9所示,VAE在潜在空间中为正常样本引入了一个先验分布,通常是一个多维标准正态分布。这表明编码器的输出不再仅仅是潜在空间,而是一个估计的分布,因此这种方法是AE基础方法中对潜在空间特征建模的一个子集。因此,原始VAE和AE的区别在于额外的损失,用于评估估计分布和先验分布之间的差异,例如Kullback-Leibler(KL)散度损失。
【生成对抗网络(GAN)】这种方法中的生成网络G接受从潜在空间随机采样的样本作为输入,其输出必须尽可能接近训练集中的真实样本。判别网络D从真实样本或生成网络的输出中接收输入,其目标是尽可能区分生成网络的输出和真实样本。整个损失包括两部分:G的重建损失和D的特征差异损失。生成网络G的输出与输入图像之间的差异决定了异常区域。
【与AE结合的GAN】由于原始GAN在推理阶段使用单个图像作为输入,网络必须经常重复以找到最佳的潜在空间向量以实现所需的生成结果。为了应对原始GAN需要不断更新其参数的缺点,一些结合AE结构的GAN方法被提出。
i) 改进生成器G的输入是训练基于GAN的AL网络最直接的方法,其中输入被更改为真实的无缺陷图像,而不是从潜在空间随机采样的样本,因此生成网络G相应地更改为完整的编码-解码结构,如图10(A1)所示。这种改进相当于在图像重建方法上使用判别器D来区分图像是真实的无缺陷样本还是重建样本。此外,一些方法使用有缺陷的合成样本作为生成器G的输入,如图10(A2)所示。这表明,在这种情况下,生成器正在执行修复或修复。
ii) 改进生成器G是另一种常见方法,旨在使用约束来重建潜在空间特征。GANomaly网络,它在自动编码器之后增加了一个额外的编码器,形成了一个“编码-解码-编码”结构,如图10(B1)所示。第二个编码器的输出与第一个编码器的输出之间的差异用于评估输入是否异常。另一种方案,即f-AnoGAN,它固定了训练有素的解码器在生成器G中,并将其重用为潜在空间重建网络。值得注意的是,构建潜在空间特征向量重建训练的策略被采纳,如图10(B2)所示。
iii) 改进判别器D通常是通过使用多个判别器来增强GAN网络的鉴别能力。如图10(C1)所示,DefGan通过潜在空间对抗操作和权重共享设计了一个额外的重建图像分支,形成了一个新的判别损失与原始输入图像一起。此外,还有设计了一个额外的潜在空间判别器,通过随机采样构建了一个新的潜在空间特征,然后将其输入到设计的判别器中,与原始生成器的潜在空间特征一起进行判别,如图10(C2)所示。
【CycleGAN】得益于GAN技术的发展,利用多个GAN建立不同特征域之间的映射变得更加容易实现。CycleGAN框架由四个CNN组成,即两个生成器和两个判别器。生成器试图学习各自域之间的映射,而判别器则试图在某个图像域内区分真实和合成的图像。通常,CycleGAN方法有两个不同的域。
【正规化流(NF)】与之前介绍的无法估计准确数据可能性的生成模型不同,正规化流(NFs)是学习数据分布和良好定义密度之间转换的神经网络。前向传递将数据投影到潜在空间以计算给定预定义潜在分布的数据的确切可能性。相反,从预定义分布中采样的数据可以映射回原始空间以生成数据。对于AL任务,异常区域是通过测量测试图像的特征和无缺陷图像的估计分布之间的距离来获得的。与直接处理VAE或GAN基础方法中的图像不同,基于NF的方法在特征上执行AL。大多数现有的基于NF的方法首先利用预训练的网络提取正常图像特征,然后使用NF模型准确估计相应的分布。
基于生成模型的方法的优缺点分析:
C. 基于深度特征嵌入的方法
总结:
-
方法概述:基于深度特征嵌入的方法通过将图像分割成特征向量,然后比较目标图像与正常图像的深度特征嵌入来生成像素级的异常图。这种方法通常包括特征提取和异常估计两个部分。
-
知识蒸馏方法:利用学生-教师网络框架,其中教师网络作为预训练的特征提取器,学生网络用于估计异常评分。这种方法通过比较学生网络与教师网络的输出差异来定位异常。
-
深度特征建模方法:这种方法首先为输入图像构建特征空间,然后通过特征建模(如聚类、概率分布拟合或学习模型)来比较特征。与知识蒸馏方法不同,它通常使用一个端到端的网络,而不区分教师和学生网络。
-
预训练模型:这些方法通常使用在大规模数据库(如ImageNet)上预训练的模型,或者采用自监督学习来提取特征。
-
特征比较:在测试阶段,通过比较测试图像的特征与正常图像特征的分布来生成最终的异常图。这通常涉及到计算特征之间的距离,如马氏距离。
-
方法的优缺点:基于深度特征嵌入的方法能够引入丰富的语义信息,并且可以通过预训练模型提高性能。然而,这些方法可能需要较高的内存需求,并且特征建模需要精心设计,这对定位结果有重大影响。
-
未来研究方向:尽管基于深度特征嵌入的方法在AL中取得了一定的成功,但仍存在挑战,如生成细粒度和抗噪声的定位结果,以及将模型扩展到处理多尺度异常和未对齐的数据集。
尽管图像重建或生成模型在几个工业场景中取得了成功,但一些工作观察到,由于缺乏特征级区分信息,这种方法通常会产生错误的重建结果。如图11所示,重建部分忽略了图像的细节(用绿色矩形框标记)。在榛子底部的无缺陷区域没有很好地重建,导致了过度检测问题。
为了克服图像重建或生成模型的局限性,另一研究方向提出了使用基于深度特征嵌入的方法,这些方法通常分为两部分:特征提取和异常估计。因此,最终的像素级异常图是通过比较目标图像和正常图像的深度嵌入特征来生成的。特征提取部分通常选择在大规模数据库(如ImageNet)上预训练的模型,或者使用自监督学习。特别是,上面提到的NF也可以被视为与生成模型相结合的深度特征嵌入方法。根据异常估计的范式,进一步将这些方法分为“基于知识蒸馏”和“基于深度特征建模”。
【基于知识蒸馏的方法】为了更好地嵌入深度特征信息,这里利用了学生-教师框架。教师模型作为预训练的特征提取器,学生模型用于估计AL的评分函数。在Teacher-Student Network中,Teacher Model一般是在ImageNet预训练好的复杂模型,而Student Model则是一个结构更简单、参数更少的模型。学生模型的目标是通过模仿教师模型的行为来学习,以便在保持较小模型尺寸的同时,达到接近教师模型的性能。在异常检测领域中,在ImageNet预训练好的教师模型,通过学习正常样本的特征后,利用KD的方法传授给学生网络,在测试阶段,教师模型能够学习到样本的异常特征,而学生网络只能学习到样本的正常特征,当学生网络的输出与教师网络的输出不同时,就会定位异常。
【基于深度特征建模的方法】在这个流程中,首先需要为输入图像构建一个特征空间,然后通过特征建模来实现特征的测量或比较。这些技巧可以是聚类,或者一些概率分布拟合,或者一些学习模型。与知识蒸馏方法相比,它通常使用一个端到端的网络,没有教师和学生网络的区别。
基于深度特征建模的模型方法比较:
基于深度特征嵌入的方法的优缺点分析:
D. 基于自监督学习的方法
总结:
-
自监督学习的定义:自监督学习是一种从未标记图像中学习视觉特征的方法,这些特征随后可以应用于相关的视觉任务。
-
代理任务:这种方法侧重于开发预文本任务,如图像修复、相对位置预测和属性恢复。这些任务作为自监督学习的一部分,帮助模型学习正常图像的特征。
-
对比学习:与代理任务不同,对比学习更关注网络设计,通过学习相似实例之间的共同特征和区分不相似实例之间的差异来提高模型的性能。
-
图像修复:图像修复是自监督学习中的一个常见代理任务,它涉及到修复有缺陷的合成图像,从而使模型能够重建正常样本区域和修复异常区域。
-
相对位置预测:这种方法通过评估图像中邻域补丁的空间信息来工作,例如,通过预测补丁的相对位置来提取特征。
-
属性恢复:这种方法利用图像中隐藏的属性(如颜色和方向)来进行异常检测和定位。
-
对比学习的应用:对比学习可以直接应用于异常检测,例如,通过对比预测编码(CPC)来检测和分割图像中的异常。
-
方法的优缺点:基于自监督学习的方法能够在没有标记数据的情况下学习特征,但这些方法可能需要复杂的网络设计,并且在定位精度上可能存在局限性。
-
未来研究方向:自监督学习框架是研究的热点,新模型的开发和验证可能会展示AL的潜力,并为未来的研究方向提供新的方向。
基于自监督学习的方法的优缺点分析:
E. 基于单类分类的方法
总结:
-
单类分类方法:这类方法通常用于图像级别的异常检测,如OCSVM(One-Class Support Vector Machine)和深度SVDD(Deep One-Class SVM)。
-
深度SVDD:深度SVDD通过训练网络将训练数据映射到特征空间中的一个小超球体中,超球体外的数据被视为异常。
-
异常定位应用:在AL中,基于单类分类的方法通过将图像分割成多个补丁,并对这些补丁进行分类来定位异常区域,实现粗略的定位结果。
-
Patch SVDD:与深度SVDD相比,Patch SVDD检查每个补丁以定位缺陷,并采用自监督学习,使特征形成多模态聚类,增强异常检测能力。
-
深度SVDD的改进:一些改进版的深度SVDD被提出用于AL,例如,通过预训练特征比较嵌入深度SVDD方法,或者通过完全卷积数据描述(FCDD)生成全分辨率的异常热图。
-
方法的局限性:尽管这些方法可以产生全分辨率的异常热图,但由于上采样操作的固定高斯核,异常区域的范围可能不够准确。
-
未来研究方向:结合自监督策略或预训练的深度特征嵌入方法与AD算法,是提高异常定位性能的有前途的方式。
4、Experiments
A. IAD数据集
AL数据集:
B. 评估标准
总结:
-
接收者操作特征曲线下面积(AUROC):这是评估AL模型最常用的指标之一,它衡量模型在不同阈值设置下识别异常的能力。AUROC值越高,表明模型对阈值变化的鲁棒性越好。
-
每个区域重叠(PRO)分数:由于AUROC倾向于偏向于大型异常区域,PRO分数被用来更全面地评估模型性能。PRO分数通过计算每个真实异常区域与模型预测异常区域之间的重叠程度来评估定位精度。
-
交集比并集(IoU):这个指标通常用于评估分割任务的性能,也可以应用于AL任务中。IoU通过比较预测的异常区域与真实异常区域之间的交集和并集来衡量模型的定位准确性。
-
评估指标的局限性:AUROC可能不适用于异常像素比例较小的情况,因为它可能会受到大量正常像素的影响,导致假正率较低,即使模型的定位精度并不高。因此,PRO分数和IoU提供了更全面的评估,尤其是在异常区域较小或分布不均匀时。
-
总结:尽管AUROC是最常用的评估指标,但为了更准确地评估AL模型的性能,尤其是在实际工业应用中,可能需要结合使用PRO分数和IoU。这些指标共同提供了对模型性能的全面理解,包括其对不同大小和类型的异常区域的检测能力。
C. 性能比较
目前AL方法在MVTec AD数据集上的性能表现:
在深度特征嵌入方法下使用不同网络模块的MVTec AD数据集的性能:
运行时间分析:
5、Conclusion & Outlook
本文对AL进行总结。
提出AL未来研究的方向:
-
功能性异常检测:许多方法在特定数据集上的定位效果显著下降,尤其是对于那些违反基本约束的功能性异常,例如对象位置错误或缺失必需的对象。未来的研究需要更多关注如何有效地检测和定位这类异常。
-
丰富AL数据集的发布:目前的公共异常定位数据集在规模和丰富度上还不够,需要更多具有变化成像条件的复杂数据集来更客观地评估AL算法的效果。
-
基于视觉变换器的方法:视觉变换器(ViT)在计算机视觉领域表现出色,未来的AL研究可能会更多地结合ViT和正规化流(NF)来提高性能。
-
有意义的模型评估:现有的评估指标可能无法准确反映模型的细粒度定位性能。未来的工作需要考虑在模型构建时如何处理细边界问题,或选择更合适的评估指标,如IoU(Intersection over Union)。
-
精确的异常类型:在真实工业场景中,异常类型多样且重要性各不相同。未来的研究需要开发能够区分不同异常类型的学习方法。
-
无监督的3D异常定位:随着3D传感器的普及,3D场景中的AL将成为一个重要的发展方向。
[REFERENCE]
【南方科技大学综述】工业图像异常检测综述