GenCLIP | 多层Prompt与双分支推理,突破零样本异常检测泛化瓶颈,超越WinCLIP性能!

向量数据库大模型数据中台

点击下方卡片,关注「集智书童」公众号

点击加入👉「集智书童」交流群

picture.image

picture.image

picture.image

picture.image

picture.image

picture.image

精简阅读版本

本文主要解决了什么问题

零样本异常检测(ZSAD)中的泛化性与类别特异性平衡 :当前的ZSAD方法难以在未见过的物体类别上有效工作,尤其是在缺乏训练数据的情况下。本文提出了一种新框架GenCLIP,旨在通过多层 Prompt 和双分支推理策略解决这一问题。

通用 Prompt 的稳定优化与有效部署 :现有方法中,通用 Prompt 学习不稳定且难以有效利用,导致模型性能受限。本文设计了多层 Prompt 策略和自适应文本 Prompt 过滤机制,以增强 Prompt 的鲁棒性和泛化能力。

工业场景中的模糊类别名称问题 :工业应用中,类别名称可能不够清晰或语义意义不足,影响模型表现。本文引入类别名称过滤(CNF)机制,优化文本表示并提高模型对齐质量。

本文的核心创新是什么

多层 Prompt 策略 :通过整合CLIP视觉编码器不同层的特征,生成多层视觉 Prompt Token (MVPs),丰富了文本 Prompt 的语义上下文,提升了模型的泛化能力和鲁棒性。

双分支推理策略 :结合视觉增强分支和仅 Query 分支,前者捕捉细粒度的类别特定特征,后者优先考虑泛化性,从而实现两者的互补输出,提升异常检测的稳定性和可靠性。

自适应文本 Prompt 过滤机制(CNF) :通过移除不相关或非典型的类别名称,确保只有有意义的文本输入参与最终的视觉语言对齐,提高了文本和视觉特征之间的兼容性。

图像级异常检测的新方法 :不同于依赖类 Token 的传统方法,本文提出通过分数图的极大值计算图像级异常分数,进一步提升了检测性能。

结果相较于以前的方法有哪些提升

像素级异常分割性能显著提升 :在平均像素级AUROC指标上,GenCLIP相比第二优方法提升了0.8%,在PRO指标上实现了6.5%的显著改进。

图像级异常检测性能增强 :尽管在图像级AP上略有下降(-0.4%),但在AUROC指标上实现了1.1%的显著提升。

细粒度敏感性提升 :定性结果表明,GenCLIP能够有效检测微小异常,并减少假阳性,热力图与真实标签高度吻合。

局限性总结

仅 Query 分支的类无关特性限制 :虽然仅 Query 分支增强了泛化性,但可能在某些需要类别信息的场景下表现不佳。

CNF机制的适用范围 :CNF机制依赖于类别名称与通用术语“object”的相似度比较,可能在某些特殊类别上效果有限。

计算复杂度增加 :多层 Prompt 和双分支推理策略可能导致推理阶段的计算成本增加,影响实时性。

深入阅读版本

导读

零样本异常检测(ZSAD)旨在利用CLIP的零样本能力,通过匹配文本 Prompt 与视觉特征来识别未见类别的异常。ZSAD中的一个关键挑战是稳定地学习通用 Prompt 并有效利用它们,同时保持泛化性和类别特异性。尽管先前工作中已经探索了通用 Prompt ,但实现其稳定优化和有效部署仍然是一个重大挑战。

在这项工作中,作者提出了GenCLIP,一个通过多层 Prompt 和双分支推理更有效地学习和利用通用 Prompt 的新框架。多层 Prompt 整合了来自不同CLIP层的类别特定视觉线索,通过更全面和鲁棒的特征表示来丰富通用 Prompt 。通过将通用 Prompt 与多层视觉特征相结合,GenCLIP进一步增强了其泛化能力。为了平衡特异性和泛化性,作者引入了一种双分支推理策略,其中视觉增强分支捕获细粒度的类别特定特征,而 Query 仅分支优先考虑泛化性。两个分支的互补输出提高了跨未见类别的异常检测的稳定性和可靠性。此外,作者提出了一种自适应文本 Prompt 过滤机制,该机制移除在CLIP训练期间未遇到的无关或非典型类别名称,确保只有有意义的文本输入对最终视觉语言对齐做出贡献。

  1. 引言

异常检测(AD)是一个关键的研究领域,专注于识别异常图像并精确定位异常。它在工业质量控制等多个领域得到了广泛应用。由于异常检测中固有的数据不平衡问题,即异常图像远比正常图像稀少,因此人们探索了无监督方法。这些方法仅从单个物体类别的正常图像中学习。尽管这类单类无监督异常检测方法[2, 5, 8, 13, 20, 23, 24, 28]表现出优异的性能,但它们难以在未见过的物体类别上有效工作,使得通用应用面临挑战。这一局限性催生了小样本异常检测[7, 12, 17]、多类异常检测[6, 33, 34]和零样本异常检测(ZSAD)[3, 4, 9, 37]等研究方向。特别是ZSAD的需求日益增长,因为它能够广泛应用于各种数据集。ZSAD旨在通过一个小型辅助数据集训练模型,使其能够检测训练数据集中未出现的物体类别的异常。这种能力在现实场景中具有显著的实际价值,尤其是在缺乏 Token 异常数据的情况下。

近期,视觉语言模型(VLMs)[11, 15, 16, 26, 30],如CLIP [26],因其强大的泛化能力,已成为ZSAD领域的基础VLM。通过在大量的图像-文本对数据集上进行对比学习,VLMs能够提取跨不同目标的强大特征。WinCLIP [9]是一项开创性工作,探索了VLMs在ZSAD中的潜力。作为一种无需训练的方法,它直接计算了CLIP视觉特征与从输入图像和多个固定文本模板中提取的文本特征之间的相似度。然而,由于CLIP并非面向工业应用场景,因此难以推导出能够有效区分不同类别正常和异常图像的通用文本嵌入。

picture.image

因此,基于 Prompt 学习的方法[3, 37]被提出以适应ZSAD任务。AnomalyCLIP [37](图1(a))提出了一种通用的、目标无关的 Prompt 学习方法,可广泛应用于不同领域。AdaCLIP [3]提出了混合可学习 Prompt ,结合静态 Prompt 和从每个图像的最后一层token嵌入动态生成的 Prompt ,如图1(b)所示。然而,AnomalyCLIP面临使用非常通用的 Query Prompt 的挑战,这使得难以考虑类别特定的线索。另一方面,AdaCLIP依赖于使用类别token的动态 Prompt 。这种方法表明,在推理过程中,静态 Prompt 往往会与令人困惑的动态 Prompt 纠缠在一起。

为应对这些挑战,作者提出了GenCLIP(通用化CLIP Prompt )框架,该框架专注于提升通用 Query Prompt Token (GQPs)的学习效果,而GQPs在通用正常/异常文本嵌入以及目标类别感知文本嵌入中都发挥着核心作用。GQPs通过整合从CLIP视觉编码器不同层提取的多层视觉 Prompt Token (MVPs)进行学习。

具体而言,作者设计了一种可学习的 Query Prompt 增强策略,以整合这些多层视觉特征。如图1(c)所示,GenCLIP通过结合基于多视觉特征的 Prompt 信息,增强了共享同一可学习 Query Prompt 的正常和异常文本 Prompt 。这些基于视觉特征的 Prompt 为图像到文本匹配过程提供了丰富的语义上下文,有效地在特征维度上增强了GQPs。通过将通用 Prompt 与各种视觉特征融合并用于特征匹配,通用 Prompt 自然地得到了正则化,从而提升了其稳定性和鲁棒性。这种方法使文本 Prompt 能够从更广泛的视觉信息中学习,从Low-Level纹理和边缘到High-Level语义概念,最终生成更丰富、更全面的文本嵌入,用于异常检测。

在推理过程中,作者采用双分支策略,包括视觉增强分支和仅 Query 分支。第一个分支,即视觉增强分支,通过结合多层视觉 Prompt 与 Query Prompt ,遵循与训练类似的过程。由于在该分支中有效将图像信息融入文本 Prompt 至关重要,作者引入了类别名过滤(CNF)方法来优化文本表示,并提高与图像特征的匹配度。

第二个分支,即仅 Query 分支,使用了一种高度泛化的GQPs,并未包含视觉特征或类别名称。它不依赖于显式的视觉线索,而是训练GQPs来编码正常和异常实例的通用表示,使其能够适应不同的物体类别。这种GQPs的使用不包含视觉特征或类别名称,这有助于识别异常值,因为在异常检测中,类别信息可能并不具备帮助。

作者强调作者的主要贡献如下:

  • • 多层 Prompt 。GenCLIP通过结合从多层视觉特征中提取的视觉 Prompt Token 来增强文本 Prompt ,有助于减轻过拟合,同时有效捕获特定类别的信息。
  • • 新型推理策略。作者的创新推理策略采用双分支方法。第一个分支,视觉增强分支,通过多层视觉特征 Prompt 和CNF丰富 Query Prompt ,以提升语义表示。第二个分支,仅 Query 分支,使用类无关 Query Prompt 来捕捉通用正常和异常模式。这种组合策略增强了GenCLIP的鲁棒性和性能。
  • • ZSAD的SOTA结果。GenCLIP的异常检测和分割能力在六个基准数据集上得到验证。作者的实验结果表明GenCLIP优于现有的最先进方法。
  1. 相关工作

2.1. 零样本异常检测

视觉语言模型(VLMs)如CLIP的出现,这些模型在多种零样本任务中展现出卓越性能,引发了将这些模型应用于零样本异常检测(ZSAD)的广泛关注。在ZSAD中,模型通过在辅助数据集上进行训练,以区分正常和异常模式,即使是在未见过的类别中。

WinCLIP [9] 是首个使用 CLIP 探索 ZSAD 的方法。该方法利用大量正常和异常文本模板提取相应的嵌入,并将这些嵌入与 CLIP 图像编码器提取的图像块特征进行比较,以实现异常检测。尽管 WinCLIP 凭借 CLIP 的通用能力取得了令人印象深刻的结果,但其局限性在于 CLIP 并非专门为异常检测而设计。

为解决这一问题,AnomalyCLIP [37] 引入了可学习的 Query Prompt ,以开发高度泛化的正常和异常嵌入,与目标类别无关。此外,AnomalyCLIP 采用“目标”一词替代类别名称,为所有图像提供更通用的表示。基于这一思路,AdaCLIP [3] 强调了针对单个图像定制动态 Prompt 的重要性,提出了利用图像特征调整文本 Prompt 的方法,以在文本 Prompt 中提供更细粒度的细节。此外,旨在进行异常分割的VCP-CLIP [25] 通过VCP模块整合视觉上下文来增强文本 Prompt ,同时利用图像特定信息调整文本嵌入。

许多先前的ZSAD方法[3, 9, 37]基于通过CLIP视觉编码器中V-V注意力[18]获得的图像块特征与文本嵌入的相似性来计算分割分数,并使用CLIP的类 Token 来导出检测分数。相比之下,GenCLIP保留了原始的CLIP视觉编码器而不使用V-V注意力,并直接从分割分数导出检测分数。此外,与仅依赖通用 Prompt 或类特定 Prompt 的先前方法不同,GenCLIP提出了一种平衡方法,有效利用了两者。

2.2. Prompt 学习

Prompt 学习方法[27, 29, 32, 35, 36]已成为适应视觉语言模型(VLMs)于各种下游任务的关键方法,为传统微调提供了一种更灵活且资源高效的替代方案。不同于需要更新整个模型参数的传统微调, Prompt 学习专注于修改输入 Prompt ,同时保持预训练模型的泛化能力。这种范式在利用大规模视觉语言模型(如CLIP[26]和ALIGN[11])进行多样化应用方面已被证明特别有效。

早期 Prompt 学习的研究,如CoOp(上下文优化)[36],引入了可学习的文本 Prompt 以替代人工设计的 Prompt 。通过优化连续 Prompt 向量,CoOp实现了文本特征和视觉特征的任务特定对齐,从而在下游任务中显著提升了性能。然而,尽管取得了成功, Prompt 学习在处理训练分布之外的 数据时面临挑战,并且难以适应目标领域的改变。

为解决这些问题,后续研究如CoCoOp [35] 引入了上下文条件化 Prompt ,这些 Prompt 能够动态适应单个输入图像,从而提升对未见类别的泛化能力。类似地,DenseCLIP [27] 通过将密集视觉特征与文本嵌入对齐,将 Prompt 学习扩展到密集预测任务,进一步展示了 Prompt 学习在领域适应和跨模态理解方面的多功能性。

  1. 方法

3.1. 概述

在本文中,作者提出了GenCLIP,一个用于跨多种工业数据集的零样本异常检测(ZSAD)的鲁棒且泛化能力强的 Prompt 学习框架。

picture.image

与先前的ZSAD方法[3, 9, 37]类似,GenCLIP计算图像与预定义的正常/异常文本描述之间的相似度,例如"一张好的[cls]照片"和"一张损坏的[cls]照片",其中[cls]表示目标目标类别。如图2所示,输入图像

通过预训练的CLIP视觉编码器进行处理。多层的嵌入通过独立的线性层生成视觉 Prompt Token

,其中

表示层索引。

随后被整合到 Query Prompt Token

中。增强的 Prompt 通过CLIP文本编码器转换为文本嵌入

。最后,在层级的文本嵌入

和视觉特征

之间计算余弦相似度。

3.2. 多层 Prompt

以往利用视觉特征进行 Prompt 学习的ZSAD方法[3, 25]由于具备视觉适应能力而表现出色。然而这些方法主要依赖CLIP图像编码器中的类 Token ,这限制了模型捕捉完整视觉信息的能力,并增加了对小规模辅助数据集过拟合的风险。在ZSAD中,不仅需要获取视觉适应文本嵌入,还需要提取可泛化的嵌入,以区分正常与异常实例,而与物体类别无关。

为解决这一问题,作者提出了一种多层视觉特征 Prompt 策略,该策略将通用 Query Prompt Token (GQPs)与多层视觉 Prompt Token (MVPs)相结合。通过整合多个层级的特征,GenCLIP避免了对于单一特征表示层级的偏差,从而提升了跨不同异常类型的泛化能力。

通用 Query Prompt Token 。作者构建了两种不同的文本 Prompt :一种代表“正常”状态,另一种代表“异常”状态。这两种类型的文本 Prompt ,记作

,其结构如下:

其中

表示文本特征通道的维度,

表示文本 Token 的总数。这些结构化的文本 Prompt 遵循统一的模板,每个模板包含一个可学习的状态特定 Prompt Token :对于正常状态和异常状态,分别为

。此外,在训练过程中,两种文本 Prompt 共享一组可学习的 Query Prompt Token

。这些 Prompt Token GQPs 被训练以独立于类别的方式区分正常和异常图像,从而实现跨各种物体类别的 ZSAD。

多层视觉 Prompt Token 。通过CLIP的冻结视觉编码器,作者在每一层提取图像块特征

,其中

是CLIP视觉编码器中的层数,

是视觉嵌入特征的维度,

。然后使用这些图像特征生成视觉 Prompt Token MVPs,具体方法如下:

其中

是一个可学习的单层线性投影。特定于层的视觉 Prompt Token

随后被添加到通用正常和异常 Prompt 的共享 Query Prompt Token

中:

这些视觉调优的 Token

捕获了相关的视觉上下文,连接了视觉和文本领域。通过生成这些 Token ,模型直接将视觉信息注入文本嵌入过程,使得视觉线索在语言模型的上下文中得到更细致的整合。由于不同的视觉调优 Token

被添加到

中,通用可学习 Prompt 被有效增强。这种基于多样化视觉特征的 Prompt 增强提高了GQPs的鲁棒性,降低了过拟合的风险。

文本层 Prompt 微调。在文本 Prompt

传入CLIP文本编码器之前,使用

对其进行如下修改:

改进后的文本 Prompt

随后被输入到冻结的CLIP文本编码器中,生成最终的文本嵌入。在原始的CLIP文本编码器中,使用固定的词嵌入,并且它主要设计用于文本处理,因此引入可学习的 Prompt 词可能导致文本和图像特征之间的错位。为了缓解这个问题,类似于先前的方法[3, 25, 37],GenCLIP在每个Transformer层的文本嵌入之前插入可学习的词,如图2所示。这些可学习的词优化了文本嵌入,使其与新 Prompt 的匹配度更高,并提高了文本和图像特征之间的整体语义一致性。通过这一过程,CLIP文本编码器产生的正常和异常文本嵌入分别表示为

,对应于每个

3.3. 优化

在训练过程中,从CLIP图像编码器的多个层中提取视觉块特征,并直接用于生成异常分数图。从每一层中获取排除类别 Token 的视觉特征

,并使用专门为该层训练的单一线性层

将其投影到

。然后计算投影的块特征

与每一层的调优文本嵌入

之间的余弦相似度,从而构建区分正常和异常类别的层特定分数图。

其中

表示用于上采样的分数图的二线性插值,

表示余弦相似度函数。

GenCLIP 使用Focal Loss [19] 和 Dice 损失 [21] 进行优化,这些损失是在生成的分数图

与二值真实图

之间计算的。总损失函数定义如下:

3.4. 类名过滤

作者的默认输入文本遵循模板:"一张[状态] [类别]的照片"。在标准方法中,

通常被替换为数据集中指定的目标类别名称。当类别名称准确描述图像时,这种方法是有效的。然而,在工业应用中,找到一个能够恰当地表示图像的确切文本描述通常是具有挑战性的。

picture.image

此外,类别名称经常无法提供清晰的语义表示来描述视觉内容。例如,如图3(a)所示,一块木托板可能被 Token 为$^{66}02"或一个特定的 Pipeline 组件可能被命名为"pipe_fryum",这些都是不常见的文本表示。由于这些标签不能清晰地描述目标的外观或功能,它们可能导致次优的特征表示,使得CLIP模型更难区分正常和异常实例。因此,使用模糊的类别名称可能会将噪声引入异常检测过程中。

为缓解这一问题,作者提出类别名称过滤(CNF),这是一种在视觉增强推理分支中对文本表示进行优化的方法。在直接使用类别名称之前,CNF首先移除那些对图像-类别意义对齐无贡献的数字 Token 。例如,将"pcb2"转换为"pcb."。接下来,CNF利用一个冻结的CLIP模型,计算目标图像与两个不同句子的余弦相似度:(1) 使用原始类别名称的句子—"一张[cls]的照片"—以及(2) 使用通用占位符的句子—"一张物体的照片"(图3(a))。其中,"object"一词被选为代表词,涵盖所有工业图像。如果目标图像与通用占位符的相似度高于与特定类别名称的相似度,CNF将[cls]替换为"object"。

这种自适应文本细化策略增强了图像和文本嵌入之间的对齐,从而在多样化数据集上实现了更鲁棒的异常检测。通过将低置信度的类别名称替换为通用术语"object",CNF确保文本描述在CLIP学习到的表示空间中保持语义意义。这种调整提高了文本和视觉特征之间的兼容性,使CLIP文本编码器能够更好地对齐并解释与类别相关的信息。

3.5. 推理

视觉增强分支。视觉增强分支遵循与训练类似的过程。给定输入图像I,作者从冻结的CLIP图像编码器的多个层中提取图像块级视觉特征图

,其中

。这些图像块特征随后通过

进行处理,转化为与文本嵌入维度对齐的

,以及编码文本 Prompt 特定类别和层信息的

。与训练期间不同,模板句子通过CNF进行处理,以自适应地对齐图像和文本表示。

生成的文本 Prompt 在经过分词器后,补充了可学习的 Prompt Token

。这些GQPs进一步通过多层视觉 Prompt Token

进行增强,生成

个不同的图像层语义文本 Prompt

。视觉增强分支中的最终异常分数图计算如下:

仅 Query 分支。对于ZSAD而言,不仅需要获得与给定图像对齐的文本嵌入,还需要学习能够有效表示不同目标类别中正常和异常状态的泛化文本嵌入。在训练过程中,GQPs会接受多样化的视觉信息增强,使模型能够学习正常和异常概念的泛化表示。

在推理阶段,作者明确使用仅基于 Query Prompt 的通用文本嵌入

。此外,作者采用通用类别术语"object"代替实际类别名称,以确保鲁棒且适应性强的异常检测。如图3(b)所示,

中的"object"术语作为一个高度通用且广泛适用的描述符,与CNF替换类别标签时 Prompt 中使用的"object"术语有所区别。

高度类无差别的文本 Prompt

作为固定 Prompt ,始终一致地表示正常和异常状态,在不同数据集、图像和目标类别中保持不变。通过CLIP文本编码器将其转换为类无差别的文本嵌入

,如图2所示。用于提取分数图的图像块特征

与视觉增强分支中的相同。 Query 分支的最终分数图按如下方式计算:

像素级异常分割。通过视觉增强分支获得的异常分数图

捕获了详细的纹理和语义信息。相比之下,

是从 Query 分支推导出的异常图,反映了从通用物体视角的异常。为了提高异常定位的鲁棒性,作者通过加权求和将这些异常分数图进行组合:

其中

是一个权重因子,用于控制

的贡献,

表示高斯平滑。最终得到的分数图

被用作异常分割的最终图。

图像级异常检测。许多先前的ZSAD方法[3, 9, 37]依赖于从CLIP视觉编码器获得的类 Token 来执行异常检测推理。然而,作者提出一种通过取分数图的极大值来进行图像级异常检测的方法,而不是使用类 Token 。图像级异常分数

使用以下公式计算:

中重新定义

个目标。

评分方法,实现鲁棒异常检测性能仅使用分数图进行性能评估。

  1. 实验

4.1. 实验设置

数据集。为了验证GenCLIP在ZSAD(零样本异常检测)方面的性能,作者在六个工业ZSAD基准数据集上评估了它:MVTec-AD [2]、VisA [38]、MPDD [10]、BTAD [22]、SDD [31]和DTD-synthetic [1]。为了进行公平的比较,作者遵循现有工作的设置 [3, 9, 37]。具体来说,在评估GenCLIP在其他数据集上的性能时,作者使用MVTec-AD来训练它。对于MVTec特定的评估,作者使用VisA作为训练集。有关所有数据集的详细描述,请参阅附录B.1。

评估指标。为确保与近期研究[3, 9, 37]保持一致,作者采用接收者操作特征曲线下面积(AUROC)、区域重叠率(PRO)和平均精度(AP)作为主要评估指标。这些指标为与现有方法进行标准化和公平的比较提供了依据。

实现细节。作者采用由OpenAI [26]预训练的CLIP模型,其架构为ViT-L-14-336。从基于Transformer的24层图像编码器的四个均匀分布的层(第6层、第12层、第18层和第24层)提取块级特征。输入图像在处理前被调整为

像素。

GenCLIP 使用简单的文本模板进行训练:"一张好的 [cls] 物体的照片。" 和 "

一张损坏的 [cls] 物体的照片。" 作者使用一个

和一个

的单例,以及两个

的实例。额外的实现细节在附录 B.4 中提供。实验是在单个 Nvidia RTX A5000 GPU 上使用 PyTorch 进行的。

4.2. 定量比较

作者在相同的任务设置下,将GenCLIP与现有的ZSAD方法进行比较,包括AdaCLIP [3]、AnomalyCLIP [37]和WinCLIP [9]。此外,作者还纳入了CLIP [26]和CoOp [36]等代表性视觉语言模型(VLM)的ZSAD性能结果,以进行进一步比较。

picture.image

如表1所示,GenCLIP在工业数据集中检测和分割异常方面均实现了更高的准确率,超越了对比方法。由于GenCLIP仅使用异常分数图进行训练,因此在像素级评估指标上表现出色。具体而言,GenCLIP显著超越了第二优方法,在平均像素级AUROC上取得了

点的提升,在PRO上实现了

点的显著改进。此外,尽管GenCLIP在图像级AP上略有

点的下降,但在AUROC上实现了

点的显著提升。关于特定类别的性能,请参考附录B.6。

4.3. 定性比较

在图4中,作者对比了作者的异常分割结果与AdaCLIP和AnomalyCLIP的结果。不同工业数据集的结果如下:MVTec-AD:(a)-(d),VisA:(e)-(h),BTAD:(i),DTDsynthetic:(j),MPDD:(k),以及SDD:(l)。GenCLIP成功识别并高亮显示缺陷区域,且假阳性极低。检测到的热力图与真实标签 Mask 高度吻合,而其他方法定位精度较低,常捕获不必要的背景噪声。例如,在(c)中,GenCLIP的结果清晰地界定了电缆上的异常,而竞争方法产生的激活区域则较为分散。此外,即使是(b)、(e)和(h)中的微小异常也能被有效检测,这证明了GenCLIP的细粒度敏感性。GenCLIP成功以高精度检测这些结构不一致性,突显了GenCLIP的优势。所有数据集的进一步结果可在附录B.1中找到。

picture.image

4.4. 消融实验

为验证GenCLIP的有效性,作者在代表性数据集VisA上进行了消融研究,因为该数据集包含均衡分布的通用异常(例如划痕、孔洞)和特定类别的异常(例如缺失部件、形状不规则)。

各分支的影响。如第3.2节和第3.5节所述,

不仅与类别相关,而且针对从视觉编码器不同层提取的特征进行了定制。相比之下,

是一个与类别无关的文本 Prompt ,独立于数据集和目标类别。

如图10所示,由于包含了特定类别和特定层的信息,正常和异常嵌入

表现出明确的聚类。相反,正常和异常嵌入

与这些

聚类相距较远。然而,它们占据了具有代表性的位置,有效地捕捉了正常性和异常性的总体概念。

MVP和GQP的影响。表2中的结果展示了MVPs和GQPs的影响。与使用 Query Prompt 和最终层视觉 Token 进行训练相比,应用MVPs提升了异常检测性能,类似于AdaCLIP[3]。

picture.image

此外,图像AUROC和AP均显示改进,证明了GenCLIP的有效性。在推理时应用仅 Query 分支,作者在像素级和图像级异常检测中均观察到进一步提升。值得注意的是,使用

带来了更好的泛化能力,提升了检测细粒度和结构异常的整体性能。请参阅附录C.1和C.2中提供的进一步实验和分析。CNF的影响。表3中的结果展示了CNF的有效性。

picture.image

VisA数据集中代表性类别在CNF激活情况下的性能报告。对于"chewinggum"、"fryum"和"pipe fryum"等类别,基于CLIP网络内的相似度分数比较,类别名称被替换为更描述性的术语"object",从而提升了图像的文本表示。

此外,去除了类名中的数字标识符,如"macaroni1"和"pcb1",简化为"macaroni"和"pcb"。如表所示,大多数性能指标在将模糊类别名称替换为"object"的类别中有所提升,而数字标识符的去除则带来了整体类别性能的提升。因此,作者观察到VisA数据集上的平均性能整体有所改善。这些结果证实了CNF增强了视觉增强分支的有效性,从而带来了更鲁棒的异常检测性能。此外,在附录C.3中,作者报告了使用不同通用术语进行的不同实验的结果。

  1. 结论

本文介绍了一种名为GenCLIP的新型零样本异常检测(ZSAD)方法,该方法利用多层视觉特征 Prompt 来增强泛化能力并减轻过拟合。此外,作者的双分支推理策略能够在不同领域实现鲁棒的异常检测。通过有效整合视觉和文本线索,GenCLIP为ZSAD提供了一种灵活且可扩展的解决方案。

参考

[1]. GenCLIP: Generalizing CLIP Prompts for Zero-shot Anomaly Detection

picture.image

扫码加入👉「集智书童」交流群

(备注:方向+学校/公司+昵称)

picture.image

0
0
0
0
评论
未登录
看完啦,登录分享一下感受吧~
暂无评论