提供工业制造领域中图像异常检测技术的综述,通过分析当前的IAD算法和网络架构,旨在探索如何提升异常检测性能,并指出未来研究的可能方向。
回顾自深度学习快速发展以来基于深度学习的图像异常检测的最新进展,因为深度学习的能力可以将图像异常检测带入工厂生产线。在现代制造业中,图像异常检测(IAD)总是在制造过程的末端进行,尝试识别产品缺陷。产品的价格显著受到缺陷严重程度的影响。此外,如果缺陷达到一定阈值,产品将被丢弃。历史上,大多数异常检测任务由人工执行,这存在许多缺点:
因此,IAD算法的目标是减少人力劳动,提高生产效率和产品质量。在深度学习之前,IAD的性能无法满足工业制造的需求。如今,深度学习方法已经取得了良好的结果,这些方法的准确率大多超过97%。尽管如此,IAD在实际应用中仍然存在许多问题。为了全面探索当前方法的有效性和适用场景,本文通过全面调查对IAD进行了更加细致的分析。
图一展示本文调查的特点,包括数据集、评价指标、神经网络架构、监督水平和对工业制造有前景的设置。相较于其他研究者的调查,本文的调查在深度学习的讨论、数据集使用量、图像级和像素级指标的全面性上都更加优于其他的调查,同时,本文还基于不同程度的监督设计了神经网络架构的分类。
作为一个新兴领域,IAD研究必须充分考虑工业制造的要求。以下是需要研究的挑战性问题总结:
本文的主要贡献有以下几点:
大多数当前研究聚焦于无监督异常检测,这基于一个假设:收集异常样本会带来巨大的人力和财务成本。这意味着训练集中只包含正常样本,而测试集中则包含异常和正常样本。工业图像中的异常检测是分布外(OOD)问题的一个子集。在深度学习兴起之前,差分检测和滤波通常用于检测工业图像中的异常。随着MVTecAD的发布,工业图像中异常检测的方法可以分为两类:特征嵌入和基于重构。目前,更多的异常检测(AD)技术基于特征嵌入。
对于每一种方法,博客只介绍方法的思路与策略,以及该种方法的优缺点,对于更详细的内容如不同研究者的具体实现过程,可以查看原文对应章节。
这种方法的表现出色,但它们依赖于像ResNet、VGG和EfficientNet这样的预训练模型。选择理想的教师模型至关重要。图二展示了这种方法的大致思路与策略。网络的结构和蒸馏方法是不同技术之间的主要区别。
图二师生模式的架构
图二所示的师生网络架构是检测工业图像异常的最标准技术。这种方法通常选择大规模数据集上预训练的骨干网络的部分层作为固定参数的教师模型。在训练过程中,教师模型将提取正常样本特征的知识传授给学生模型。在推理过程中,从测试集中提取的正常图像的特征由教师网络和学生网络比较,而从测试集中提取的异常图像的特征则相当不同。通过比较两个网络生成的特征图,可以生成相同大小的异常得分图。然后,通过将异常得分图放大到与输入图像相同的比例,可以获得各种输入图像位置的异常得分。基于这个模型,可以确定测试图像是否异常。
然而,这些方法也面临一些挑战,包括如何选择合适的教师模型、如何有效传递知识给学生模型,以及如何设计能够准确区分正常和异常样本特征的网络架构。此外,教师和学生网络结构的不一致性可能导致学习过程中的估计偏差,需要通过特定的机制来缓解这一问题。
单类分类技术更多地依赖于异常样本。如果生成的异常样本质量差,方法的性能将严重受损。除了MemSeg,其他方法的训练依赖于SVDD和交叉熵损失。因此,绝大多数方法的性能略显不足。
异常检测也可以视为一个单类分类(OCC)问题。如图三所示,该方法在训练期间找到一个超球体以区分正常样本特征和异常样本特征。在推理过程中,该方法根据测试样本的特征与超球体的相对位置来确定样本是否异常。由于训练集不包含异常样本,一些方法通过人工创建异常样本来提高超球体的准确性。
图三单类分类的架构
图四单类分类方法的总结,以及其特点
基于分布图的方法需要适当的映射目标进行训练,映射方法的选择影响模型性能。如表4所示,基于正规化流(NF)的方法占主导地位。作为一种生成模型,NF具有强大的映射能力,并且在AD任务中也展示了良好的性能。
基于分布图的方法与基于单类分类(OCC)的方法非常相似,不同之处在于OCC方法专注于寻找特征边界,而映射基方法试图将特征映射到期望的分布中。这些方法的常见框架如图4所示。这种期望的分布通常是多变量高斯(MVG)分布。这类方法首先使用强大的预训练网络提取正常图像的特征,然后使用映射模块将提取的特征映射到高斯分布上。这个分布将偏离在评估期间出现的异常图像的特征。基于偏差程度可以计算异常概率。
图五基于分布图的方法架构
图六基于分布图方法的总结,以及其特点
如表5所示,基于内存的方法通常不需要训练的损失函数,模型构建迅速。它们的性能由强大的预训练网络和额外的内存空间确保,这种方法目前在IAD任务中是最有效的。
基于内存库的方法与基于单类分类(OCC)的方法的主要区别在于,像SVDD这样的基于内存的方法需要额外的内存空间来存储图像特征。如图5所示,这些方法仅需最小的网络训练,只需对收集的正常图像特征进行采样或映射以进行推理。在推理过程中,测试图像的特征与内存库中的特征进行比较。测试图像的异常概率等于其特征与内存库中正常特征的空间距离。
图七基于内存库方法的架构
图八基于内存库方法的总结,以及其特点
PatchCore是工业图像AD中的一个重要进步,显著提高了MVTecAD的性能。PatchCore有两个特点。首先,PatchCore的内存库通过核心集子采样以确保低推理成本同时最大化性能。然后,PatchCore根据测试样本在其内存库中最近邻特征与其他特征的距离来判断测试样本是否异常。这种重新加权过程使PatchCore更加稳健。
基于重构的方法主要自行训练编码器和解码器来重构图像进行异常检测,这使得它们对预训练模型的依赖性降低,并提高了它们检测异常的能力。然而,由于其无法提取高层次的语义特征,其图像分类能力较差。
基于重构技术的结构如图九所示。在训练过程中,将正常或异常图像发送到重构网络,并使用重构损失函数指导重构网络的训练。最终,重构网络能以类似于原始正常图像的方式恢复重构图像。在推理阶段,比较模型将原始图像与重构图像进行比较以生成预测。与特征嵌入的多种方法相比,大多数基于重构的方法仅在重构网络的构建上有所不同。由于它们能够通过像素级比较识别异常,基于重构的方法在像素级上优于特征嵌入方法。然而大多数基于重构的方法从头开始训练,没有使用强大的预训练模型,这导致其性能不如图像级特征嵌入。
图九基于重建模型的结构
自编码器(AE)是用于异常检测的最普遍的重构网络。许多其他重构网络也由编码器和解码器组件构成。
当使用不同尺度的特征时,基于重构的方法几乎与特征嵌入方法一样有效。类似于师生架构,深度特征重构(DFR)方法通过在特征级别的重构来检测异常。DFR从预训练的网络获得多个空间上下文感知表示,然后使用一个深度且高效的卷积AE重构特征,并通过比较原始特征与重构特征来检测异常区域。
总结部分重要的自编码器方法:
这些方法通过不同的策略改进自编码器的结构和训练过程,以提高对异常的敏感性和检测能力。基于自编码器的方法因其能够在没有大量标记数据的情况下进行训练而受到青睐,特别适合于处理具有复杂数据分布的异常检测任务。
1.GANs基于重构模型的稳定性不如自编码器(AE),但在某些场景下具有更好的判别能力。
例如,SCADN方法通过遮蔽图像部分并使用GAN重构来检测异常。AnoSeg方法通过硬增强和对抗学习生成异常样本,然后训练GAN生成正常样本,目标函数结合了重构损失和对抗损失。OCR-GAN方法利用频率解耦模块分解和重构图像,以识别正常和异常图像之间的频率分布差异。
2.Transformer具有更高的全局信息表示能力,有潜力成为异常检测的新基础。
例如,Mishra等人提出了基于Transformer的框架,利用高斯混合密度网络在补丁级别重构图像并定位异常区域。You等人的ADTR通过防止异常良好重构来简化异常识别。AnoViT采用视觉Transformer编解码器模型,在异常检测问题上表现优越。
3.扩散模型作为一种新兴的生成模型,也被用于基于重构的异常检测。
例如,AnoDDPM是首个将扩散模型应用于工业图像异常检测的实例,与GANs相比,它可以捕捉大面积异常区域,无需大量数据集。
这三种方法各有优势,GANs在特定场景下展现出强大的判别力,Transformer通过其全局信息处理能力提供了新的可能性,而扩散模型则展示了在少量数据支持下处理大面积异常的潜力。每种方法的选择和优化策略取决于特定的应用场景和需求。
尽管异常数据多样且难以收集,但在现实世界场景中仍然可以收集到异常样本。因此,一些研究聚焦于如何使用少量异常样本和大量正常样本来训练异常检测模型。
例如,其中Chu和Kitani提出了一种半监督框架,用于在显著数据不平衡的情况下检测异常。他们假设训练过程中损失值的变化可以用来作为特征识别异常数据。为此,他们训练了一个基于强化学习的神经批次采样器,以放大异常和非异常区域之间损失曲线的差异。Boi等人检查了图像级监督信息、混合监督信息和像素级监督信息对同一深度学习框架内表面缺陷检测任务的影响。Boi等人发现,少量像素级注释可以帮助模型达到与全监督相当的性能。
总结来说,监督异常学习有以下的优缺点:
优点
缺点
总的来说,监督异常检测在某些领域和应用场景中展现出了其独特的优势,特别是当可以获得一定数量的异常样本来训练模型时。然而,它也面临着数据不平衡、对异常样本的依赖以及计算资源的挑战。未来的研究可能会继续探索如何克服这些挑战,以及如何进一步提高模型的效率和泛化能力。
数据集。数据是机器学习特别是深度学习的关键驱动因素。主要地,获取工业图像的难度阻碍了工业视觉中图像异常检测的进步。表7显示,IAD数据集的数量和大小正在逐渐增加,但大多数并非在真实生产线上生成。一个有前景的替代方法是充分利用工业模拟器生成异常图像,可能减少学术研究与工业制造需求之间的差距。
本节将介绍更适合工业场景的分类标准或应用设置,即少镜头异常检测、噪声异常检测、异常合成和三维异常检测。
少样本学习对数据收集和数据标注具有重要意义,这对现实世界应用产生了重大影响。一方面,通过研究少样本学习,可以降低工业产品的数据收集和数据注释成本。另一方面,研究者可以从数据的角度解决问题,探讨哪种数据对工业图像异常检测最有价值。
少样本异常检测(FSAD)仍处于起步阶段。FSAD有两种设置。第一种设置是元学习。换句话说,这种设置需要大量图像作为元训练数据集。MetaFormer,一种新的架构,利用元学习的参数实现高模型适应能力和实例感知注意力,以定位异常区域。RegAD训练一个模型来检测类别不可知的异常。在测试阶段,通过比较测试图像的注册特征及其对应的正常图像来识别异常。第二种设置依赖于原始的少样本图像学习。PatchCore、SPADE和PaDim在16个正常训练样本上进行消融研究。然而,它们都不专注于少样本异常检测。因此,有必要开发专注于原生少样本异常检测任务的新算法。
最近,研究人员将零样本异常检测(ZSAD)设置扩展到FSAD设置之外。ZSAD的目标是利用大型模型的泛化能力,无需任何训练就解决异常检测问题,从而完全消除数据收集和注释的成本。MAEDAY使用一个预训练的遮蔽自编码器(MAE)来解决问题。MAEDAY随机遮蔽图像的一部分并使用MAE恢复它们。如果重构区域与遮蔽前的区域不同,这个区域被认为是异常的。WinCLIP利用另一个大型模型CLIP进行ZSAD。基本上,WinCLIP使用CLIP的图像编码器提取图像特征。给定如“损坏物体的照片”这样的文本描述,WinCLIP使用CLIP的文本编码器提取这些描述的特征,然后计算文本特征与图像特征之间的相似度。如果相似度高,图像就是“损坏物体的照片”,否则图像就是正常的。MAEDAY和WinCLIP证明了零样本异常检测是一个有前景的研究方向。
噪声学习是异常检测的一个经典问题。通过研究噪声学习下的异常检测,可以避免标签错误引起的性能损失,并减少异常检测中的误检。然而,对于当前较新颖的噪声异常检测方法,大多数尚未在真实的工业图像数据集上进行验证。换句话说,现有的异常检测方法的有效性可能不适用于工业制造。
自从MVTec3D-AD数据集发布以来,一些论文专注于3D工业图像的异常检测。如果有大规模的3D异常检测数据集可用,自监督表征仍具有巨大潜力。AST使用带有深度信息的RGB图像来提升异常检测性能。然而,大多数3DIAD方法专注于RGB-D图像,而真实世界工业制造中的3D数据集由点云组成,这意味着当前的3DIAD方法不能直接应用于工业制造。因此,3DIAD的进步仍然有机会。
通过人工合成异常,我们可以在数据有限的情况下提高模型的性能。这项研究是对少样本研究的补充。少样本学习研究在数据固定的情况下如何提高模型性能,而这项研究研究在模型固定的情况下如何人工增加可信数据以提高模型性能。这两者都可以减少数据收集和标注的成本。许多无监督异常检测工作使用数据增强来合成异常图像,并显著提高模型性能。例如,CutPaste、DRAEM、MemSeg是代表性方法。
数据集。数据是机器学习特别是深度学习的关键驱动因素。然而,获取工业图像的难度阻碍了工业视觉中图像异常检测的进步。图十显示,IAD数据集的数量和大小正在逐渐增加,但大多数并非在真实生产线上生成。一个有前景的替代方法是充分利用工业模拟器生成异常图像,可能减少学术研究与工业制造需求之间的差距。
图十异常检测数据集比较
评价指标。图十一提供了工业图像异常检测中评价指标的综合回顾。第一列表示指标的名称,第二列表示水平。换句话说,如果水平是上,指标值越大,性能越好。如果水平是下,指标值越低,性能越好。第三列给出了每个指标的详细信息,特别是关于该指标如何准确指示图像异常检测的性能。从表8可以容易地观察到,大多数新颖的指标是自然图像分割和检测指标的变体,如F1分数、AU-ROC或AU-PR。然而,这些指标不能对应于IAD的性能,因为异常的微小大小需要比异常自由区域更大的权重。因此,这些指标对于IAD的有效性仍有待探索。
图十一异常检测所用指标概述
这部分的总结数据过多,不做展示,详细可以查看论文原文
不同方法在图像分类上有相似的性能,但在像素级分割上仍然存在显著差异。研究者对当前IAD方法的性能进行了深入分析,并得出以下有意义的见解(原文翻译):
图十二代表性方法的可视化结果。可视化结果来自开源代码的再现