Press "Enter" to skip to content

AnomalyGPT 使用LVLMs检测工业异常

最近,诸如LLava和MiniGPT-4之类的大型视觉语言模型(LVLMs)展示了理解图像和在几个视觉任务中实现高准确性和效率的能力。虽然由于广泛的训练数据集,LVLMs在识别常见物体方面表现出色,但它们缺乏特定领域知识,并且对图像中的局部细节理解有限。这限制了它们在工业异常检测(IAD)任务中的有效性。另一方面,现有的IAD框架只能识别异常源,并且需要手动设置阈值来区分正常样本和异常样本,从而限制了它们的实际应用。

IAD框架的主要目的是检测和定位工业场景和产品图像中的异常。然而,由于真实世界图像样本的不可预测性和稀缺性,模型通常只在正常数据上进行训练。它们根据与典型样本的偏差区分异常样本和正常样本。目前,IAD框架和模型主要为测试样本提供异常分数。此外,对于每个类别的物品,区分正常和异常实例需要手动指定阈值,使它们不适用于实际应用。

AnomalyGPT 使用LVLMs检测工业异常 四海 第1张

为了探索大型视觉语言模型在解决IAD框架所面临的挑战中的应用和实施,引入了一种基于LVLM的新型IAD方法AnomalyGPT。AnomalyGPT可以在无需手动设置阈值的情况下检测和定位异常。此外,AnomalyGPT还可以提供有关图像的相关信息,与用户进行交互,允许他们根据异常或特定需求提出后续问题。

工业异常检测和大型视觉语言模型

现有的IAD框架可以分为两类。

  1. 基于重建的IAD。
  2. 基于特征嵌入的IAD。

在基于重建的IAD框架中,主要目的是将异常样本重建为其相应的正常样本,并通过重建误差计算来检测异常。SCADN、RIAD、AnoDDPM和InTra利用不同的重建框架,从生成对抗网络(GAN)和自编码器到扩散模型和变压器等进行重建。

另一方面,在基于特征嵌入的IAD框架中,主要目的是关注建模正常数据的特征嵌入。PatchSSVD等方法试图找到一个能够紧密包围正常样本的超球体,而PyramidFlow和Cfl等框架使用归一化流将正常样本投影到高斯分布上。CFA和PatchCore框架建立了一个来自补丁嵌入的正常样本的内存库,并使用测试样本嵌入正常嵌入之间的距离来检测异常。

这两种方法都遵循“一类一模型”的学习范式,需要大量的正常样本来学习每个物体类别的分布。对大量正常样本的要求使其在新颖物体类别中变得不切实际,并且在动态产品环境中应用有限。另一方面,AnomalyGPT框架使用了一种上下文学习范式来处理物体类别,使其只需与少量正常样本进行干预。

接下来,我们有大型视觉语言模型或LVLMs。LLMs或大型语言模型在自然语言处理(NLP)行业取得了巨大成功,现在人们正在探索它们在视觉任务中的应用。BLIP-2框架利用Q-former将视觉变换器中的视觉特征输入到Flan-T5模型中。此外,MiniGPT框架通过线性层连接BLIP-2框架的图像段和Vicuna模型,并使用图像-文本数据进行两阶段微调过程。这些方法表明LLM框架可能在视觉任务中有一些应用。然而,这些模型是在通用数据上进行训练的,缺乏广泛应用所需的特定领域专业知识。

AnomalyGPT如何工作?

AnomalyGPT本质上是一种新颖的对话式IAD大型视觉语言模型,主要用于检测工业异常并使用图像精确定位其准确位置。AnomalyGPT框架使用LLM和预训练图像编码器,通过模拟异常数据将图像与相应的文本描述对齐。该模型引入了解码器模块和提示学习模块,以增强IAD系统的性能,并实现像素级定位输出。

模型架构

AnomalyGPT 使用LVLMs检测工业异常 四海 第2张

上述图像描述了AnomalyGPT的架构。模型首先将查询图像传递给冻结图像编码器。然后,模型从中间层提取补丁级特征,并将这些特征馈送到图像解码器,以计算它们与异常和正常文本的相似性,从而得到定位结果。然后,提示学习器将它们转换为适合与用户文本输入一起用作LLM输入的提示嵌入。LLM模型利用提示嵌入、图像输入和用户提供的文本输入来检测异常,并确定它们的位置,并为用户创建最终响应。

解码器

为了实现像素级异常定位,AnomalyGPT模型采用了基于轻量级特征匹配的图像解码器,支持有监督和无监督的IAD框架。AnomalyGPT中使用的解码器的设计灵感来自WinCLIP、PatchCore和APRIL-GAN框架。该模型将图像编码器分为4个阶段,并提取每个阶段的中间补丁级特征。

然而,这些中间特征尚未经过最终的图像-文本对齐,因此不能直接与特征进行比较。为了解决这个问题,AnomalyGPT模型引入了额外的层来投影中间特征,并将其与表示正常和异常语义的文本特征进行对齐。

提示学习器

AnomalyGPT框架引入了一个提示学习器,试图将定位结果转化为提示嵌入,以利用图像的细粒度语义,并保持解码器和LLM输出之间的语义一致性。此外,该模型将可学习的提示嵌入与解码器输出无关的嵌入一起,为IAD任务提供额外的信息。最后,该模型将嵌入和原始图像信息馈送给LLM。

提示学习器由可学习的基础提示嵌入和一个卷积神经网络组成。该网络将定位结果转化为提示嵌入,并形成一组提示嵌入,然后将其与图像嵌入一起组合到LLM中。

异常模拟

AnomalyGPT模型采用NSA方法来模拟异常数据。NSA方法使用剪切-粘贴技术,通过使用泊松图像编辑方法来减轻粘贴图像片段引入的不连续性。剪切-粘贴是IAD框架中常用的生成模拟异常图像的技术。

剪切-粘贴方法包括随机从图像中裁剪一个区域块,并将其粘贴到另一个图像的随机位置,从而创建出一部分模拟的异常。这些模拟的异常样本可以提高IAD模型的性能,但也存在一个缺点,即它们经常会产生明显的不连续性。泊松编辑方法旨在通过求解泊松偏微分方程,将一个图像中的对象平滑地克隆到另一个图像中。

AnomalyGPT 使用LVLMs检测工业异常 四海 第3张

上述图像说明了泊松和剪切-粘贴图像编辑之间的比较。可以看到,剪切-粘贴方法中存在明显的不连续性,而泊松编辑的结果似乎更加自然。

问题和答案内容

为了对大规模视觉语言模型进行提示调整,AnomalyGPT模型根据异常图像生成相应的文本查询。每个查询由两个主要部分组成。查询的第一部分是关于输入图像的描述,提供有关图像中存在的对象及其预期属性的信息。查询的第二部分是检测对象中是否存在异常,或者检查图像中是否存在异常。

大规模视觉语言模型首先回答图像中是否存在异常的查询。如果模型检测到异常,它将继续指定异常区域的位置和数量。该模型将图像分割为一个3×3的不同区域的网格,以便大规模视觉语言模型可以口头指示异常的位置,如下图所示。

AnomalyGPT 使用LVLMs检测工业异常 四海 第4张

LVLM模型以输入的描述性知识和输入图像的基础知识为模型提供支持,以更好地理解图像组件。

数据集和评估指标

该模型主要在VisA和MVTec-AD数据集上进行实验。MVTech-AD数据集包含3629张用于训练的图像,以及1725张用于测试的图像,这些图像分布在15个不同的类别中,因此它是IAD框架中最受欢迎的数据集之一。训练图像仅包含正常图像,而测试图像包含正常图像和异常图像。另一方面,VisA数据集包含9621张正常图像和近1200张异常图像,这些图像分布在12个不同的类别中。

接下来,与现有的IAD框架一样,AnomalyGPT模型采用AUC(接收器工作特征下的面积)作为评估指标,使用像素级和图像级AUC分别评估异常定位性能和异常检测性能。然而,该模型还利用图像级准确率来评估其提出的方法的性能,因为它独特地允许在不需要手动设置阈值的情况下确定异常的存在。

结果

定量结果

少样本工业异常检测

AnomalyGPT模型将其结果与先前的少样本IAD框架(包括PaDiM、SPADE、WinCLIP和PatchCore)进行比较。

AnomalyGPT 使用LVLMs检测工业异常 四海 第5张

上图比较了AnomalyGPT模型与少样本IAD框架的结果。在两个数据集上,AnomalyGPT所采用的方法在图像级AUC方面优于先前模型采用的方法,并且还返回了良好的准确性。

无监督工业异常检测

在无监督训练设置中,AnomalyGPT使用大量正常样本训练单个模型,这些样本来自数据集中的所有类别。AnomalyGPT的开发人员选择了UniAD框架,因为它是在相同设置下训练的,并且将作为比较的基准。此外,该模型还使用相同的统一设置与JNLD和PaDim框架进行比较。

AnomalyGPT 使用LVLMs检测工业异常 四海 第6张

上图比较了AnomalyGPT与其他框架的性能。

定性结果

AnomalyGPT 使用LVLMs检测工业异常 四海 第7张

上图展示了AnomalyGPT模型在无监督异常检测方法中的性能,而下图展示了该模型在1-shot背景学习中的性能。

AnomalyGPT 使用LVLMs检测工业异常 四海 第8张

AnomalyGPT模型能够指示异常的存在,标记它们的位置,并提供像素级定位结果。当模型处于1-shot背景学习方法时,由于没有训练数据,模型的定位性能略低。

结论

AnomalyGPT是一种新颖的对话式IAD-vision语言模型,旨在利用大型视觉语言模型的强大能力。它不仅可以在图像中识别异常,还可以精确定位异常的位置。此外,AnomalyGPT还支持以异常检测为重点的多轮对话,并在少样本背景学习中展示出色的性能。AnomalyGPT深入探讨了LVLM在异常检测中的潜在应用,为IAD行业带来了新的想法和可能性。

Leave a Reply

Your email address will not be published. Required fields are marked *