备注好友:
方向-学校/公司-姓名/昵称
【AIGC 先锋科技】交流群
零样本异常检测(ZSAD)能够在不需要目标数据集的训练样本的情况下识别异常,这对于涉及隐私担忧或数据有限的场景至关重要。
像CLIP这样的视觉-语言模型在ZSAD中显示出潜力,但存在局限性:依赖手动编写的固定文本描述或异常 Prompt 既耗时又容易产生语义歧义,而且CLIP在像素级异常分割方面存在困难,更侧重于全局语义而非局部细节。
为了解决这些局限性,作者提出了KAnoCLIP,这是一种新颖的ZSAD框架,它利用了视觉-语言模型。KAnoCLIP通过知识驱动 Prompt 学习(KnPL)结合了来自大语言模型(GPT-3.5)的通用知识和来自视觉问答系统(Llama3)的细粒度、图像特定知识。KnPL使用知识驱动(KD)损失函数来创建可学习的异常 Prompt ,消除了固定文本 Prompt 的需要,并增强了泛化能力。
KAnoCLIP包括具有V-V注意力的CLIP视觉编码器(CLIP-VV)、双向交叉注意力用于多级跨模态交互(Bi-CMCI)和卷积 Adapter 。这些组件保留了局部视觉语义,改善了局部跨模态融合,并将全局视觉特征与文本信息对齐,增强了像素级异常检测。KAnoCLIP在12个工业和医疗数据集上实现了ZSAD的最新性能,与现有方法相比,显示出更优越的泛化能力。
异常检测(AD)[1, 2]在工业质量保证、医学诊断和视频分析等领域至关重要,包括异常分类(AC)和异常分割(AS)以处理图像级和像素级的异常。异常检测的主要挑战在于异常的稀少性和多样性,这使得数据集的收集既昂贵又耗时。传统的单类或无监督方法[2]由于异常在工业缺陷和医学病变等领域的多样性和长尾分布,往往无法满足需求,需要通用模型。零样本异常检测(ZSAD)[3-5]对于在不使用大量训练样本的情况下识别异常至关重要,尤其是在数据隐私问题或标签数据不足的情况下。视觉-语言模型(VLMs),如CLIP[6],通过利用图像-文本对的大量数据集进行训练,推动了零样本异常检测的发展。
然而,由于任务本身的复杂性,CLIP的原模型在异常检测方面仍面临挑战。将CLIP应用于零样本异常检测存在两个主要局限:
(1)现有方法[3, 4, 6, 7]依赖于固定的文本描述或异常 Prompt 。对于使用CLIP进行的零样本异常检测,常用的文本 Prompt 模板是“一个有洞的[类别]的照片”。然而,这些手工制作的 Prompt 需要广泛的专业知识,耗时且存在语义模糊的问题。受NLP中 Prompt 学习的启发,CoOp[8]使用可学习的向量作为 Prompt ,并且只需要少量 Token 图像。尽管如此,CoOp倾向于对基础类别过拟合,从而降低了其泛化到未见类别的能力。
(2)尽管CLIP通过跨模态对比训练将图像级语义与异常 Prompt 对齐,但由于它强调全局语义而忽略了局部细节[3, 6],其在精确异常分割(像素级检测)方面的表现较差。在局部视觉空间中优化CLIP模型并整合局部像素级跨模态特征,对于提高异常分割效果是必要的。
为了解决两个主要限制,作者提出了KAnoCLIP框架,该框架引入了KnPL。这种方法利用大语言模型(LLM)和视觉问答(VQA)系统生成异常描述,形成一个知识库,以指导使用KD损失开发可学习的正常 Prompt (LNPs)和可学习的异常 Prompt (LAPs)。这种损失函数最小化了LLM-VQA生成的异常 Prompt 与LAPs之间的欧几里得距离,同时最大化了与LNPs的距离,有效消除了对固定文本 Prompt 的依赖,并增强了对新异常类别的泛化能力。此外,该框架集成了CLIP-VV、Bi-CMCI和Conv-Adapter,以保留局部视觉语义、改善跨模态融合,并将全局视觉特征与文本信息对齐。这些改进共同提高了对细微异常的检测能力。作者的主要贡献总结如下:
KAnoCLIP是一种创新的零样本异常检测解决方案,它不需要从目标数据集中训练样本,非常适合对隐私有顾虑或数据有限的场景,尤其是在工业和医疗领域。作者引入了知识驱动的 Prompt 学习,以消除手动文本 Prompt 并减轻过拟合,从而提高对新异常类别的泛化能力。KAnoCLIP集成了CLIP-VV、Bi-CMCI和Con-Adapter,以细化局部视觉空间并增强跨模态交互,实现了鲁棒的像素级异常分割。在12个工业和医疗数据集上的大量实验表明,KAnoCLIP在性能上始终优于现有技术,为零样本异常检测(ZSAD)设定了新的基准。
- 方法
2.1. 概述
本文旨在对人工智能(AI)领域的研究进展进行综述,涵盖从基础理论研究到实际应用的不同方面。通过对现有文献的深入分析,本文将探讨AI技术的发展趋势、挑战及其对社会的潜在影响。此外,本文还将讨论当前AI技术在不同领域的应用实例,以及未来可能的发展方向。
如图1所示,作者的KAnoCLIP框架引入了知识驱动式 Prompt 学习,以消除对固定文本 Prompt 的需求并提升泛化能力。通过整合CLIP-VV、Bi-CMCI和Conv-Adapter,KAnoCLIP增强了局部视觉特征和跨模态交互。这些创新显著提升了零样本异常检测的性能。
在训练过程中,KAnoCLIP框架通过使用辅助异常检测数据集来最小化方程13中的损失函数
。在推理阶段,测试图像
经过CLIP-VV视觉编码器处理,提取出图像块特征
。之前学习到的正常和异常文本 Prompt 的LNPs和LAPs被输入到CLIP文本编码器中,以提取文本特征
。这些图像块和文本特征在Bi-CMCI模块中结合,为每一层生成异常图
。将图进行求和并归一化,创建最终的异常图
。在通过Conv-Adapter调整全局视觉特征后,
的最大值决定全局异常分数。
2.2 知识驱动型 Prompt 学习
基于CoOp的 Prompt 学习[8]利用预训练的CLIP模型进行下游任务,但过度拟合于基本类别目标,降低了未见类别上的性能。KgCoOp[9]发现性能下降与可学习的
和固定的(CLIP) Prompt 之间的距离有关。通过减少这种距离,泛化能力得到提升。受KgCoOp的启发,作者最初使用固定的CLIP Prompt (例如,“一张异常[类别]的照片”)来引导可学习的异常 Prompt ,但由于异常知识不足而失败了。作者提出结合LLMs的通用知识与VLMs的详细图像描述,创建一个知识驱动的 Prompt 学习方法(KnPL),用于零样本异常检测。
2.2.1. 构建LLM-VQA知识库
如图2所示,对于每个异常类别,语言模型(GPT3.5)为每个类别生成
个最优的异常描述和背景信息(默认
)。 Prompt 模板为:“Q:描述一下类别(例如,织物)的异常图像是什么样的?”LLM生成的描述,例如:“织物的异常图像可能显示出不协调的颜色,如褪色或斑驳的区域”。视觉问答模型(Llama3)为每张图像生成
个针对特定图像的异常描述(默认
)。 Prompt 模板为:“{<}图像{>}+Q:识别指定类别(例如,织物)的输入图像中的异常。描述每个异常的位置、颜色、形状、大小和其他特征。”VQA生成的描述,例如:“织物在中心有一个小而形状不规则的洞,背景呈绿色”。作者将LLM和VQA生成的异常描述称为LLM-VQA知识库。
2.2.2. 指导可学习正常/异常 Prompt
知识驱动的可学习正常 Prompt (LNPs)和可学习异常 Prompt (LAPs)的定义如下:
和
(
)分别表示正常文本 Prompt 和异常文本 Prompt 的可学习词嵌入。[Normal] 包含诸如“normal”和“perfect”这样的形容词,而 [Abnormal] 包含“abnormal”和“defective”。[class] 代表待检测的异常类别。
表示可学习前缀的长度。
作者引入了一种知识驱动(KD)损失函数
,用于指导和约束LNPs和LAPs的生成。该损失函数最小化了由LLM-VQA生成的异常 Prompt 与LAPs之间的欧几里得距离,同时最大化与LNPs的距离。
其中
表示欧几里得距离。
和
分别是所有 LNPs/LAPs 特征的平均值,而
表示由 LLM-VQA 生成的异常 Prompt 特征的平均值。
在CLIP文本编码器
中。
和
分别代表由LLM和VQA生成的异常文本 Prompt ,其中
和
分别代表它们的数量。
2.3 使用V-V注意力细化局部视觉空间
原始的CLIP视觉编码器,通过对比损失进行预训练,生成全局嵌入并使用Q-K自注意力机制,这会破坏局部视觉语义,影响细粒度异常检测。为了解决这个问题,作者向CLIP视觉编码器引入了V-V注意力机制[1o],以增强局部视觉特征的提取,这对于像素级异常分割至关重要,同时不改变原始结构。V-V注意力机制通过关注局部特征之间的关系,保留局部视觉语义,从而产生具有独特对角线模式的注意力图。这种增强的视觉编码器被称为CLIP-VV,其特征提取过程描述如下:
利用V-V注意力机制,第
层的输出为:
原输出为
,局部感知输出为
。
代表线性投影。最终输出为
。在异常检测中,使用
进行图像级检测,而
用于像素级检测。
2.4. 提升跨模态特征整合
作者提出了双向交叉注意力多级跨模态交互(Bi-CMCI)和卷积 Adapter ,以解决传统跨模态特征融合方法的局限性,例如线性层投影[7]。这些传统方法往往难以捕捉视觉和文本模态之间的复杂交互和依赖关系,这对于有效的异常检测至关重要。Bi-CMCI负责管理局部跨模态交互,而卷积 Adapter 则对全局特征进行对齐。这种双重方法有效地捕捉了局部细节和全局上下文,从而提高了模型在检测细微异常方面的准确性。
Bi-CMCI。如图1和图3所示,Bi-CMCI采用双向交叉注意力(BiCA)[11]机制,通过文本到视觉交叉注意力将文本描述与视觉部分对齐,并通过视觉到文本交叉注意力利用局部视觉特征来细化文本。自注意力确保每个模态内部独立理解,而可变形自注意力[12]则适应关键视觉部分,解决形状和位置的变化。Bi-CMCI在整个CLIP-VV视觉编码器的四个阶段中运行,以捕捉用于识别细微异常的多级详细信息。每个阶段提取中间的 Patch 级特征
。然后,LNPs和LAPs被输入到CLIP文本编码器
中,生成代表正常和异常情况文本特征的
。随后,BiCMCI模块将跨模态特征
和
深度融合,从而得到正常图
,异常图
,以及最终的定位结果
。
其中
表示第
阶段局部视觉特征与文本特征之间的双向交叉注意力操作。
将异常图值归一化到 0 到 1 的范围。
是一个高斯滤波器,
控制着平滑程度。
卷积 Adapter 。如图4所示,卷积 Adapter 采用深度可分离卷积 Bottleneck [13],以更好地对齐全局视觉和文本特征。它包括三个主要组件:深度卷积用于捕捉空间特征,激活函数用于非线性处理,以及点卷积用于降维和提高效率。卷积 Adapter 和全局异常分数的计算方式为:
全局视觉特征用
表示,LN代表层归一化,
属于
的向下投影权重矩阵,
属于
的向上投影权重矩阵。ReLU激活函数表示为ReLU。经过Conv-Adapter变换后的输出特征为
。
是按照第10个公式计算出的异常图,
表示最大运算。
2.5 联合优化
作者开发了联合优化方法,这是一种从全局和局部角度有效地学习知识驱动文本 Prompt 的方法。总损失函数
定义如下:
在本文中,超参数
、
和
用于平衡三个损失成分,作者默认将它们均设置为1。
全局损失(
)。全局损失是一种二元交叉熵损失,用于匹配文本嵌入和来自正常/异常图像辅助数据的视觉嵌入之间的余弦相似度。
全
球
代表按照方程12计算的全球异常分数,而“标签”表示图像是否存在异常。局部损失(
局
部
)结合了Focal Loss[14]和Dice损失[15],以处理视觉编码器中间层的细粒度局部异常区域。
在本文中,
表示真实分割 Mask ,其中对于异常像素,
,否则
。
代表全1矩阵。
- 实验
(请注意,由于您未提供具体的英文文本内容,我无法进行实际的翻译。如果您提供具体的文本,我将根据上述要求进行翻译。)
3.1. 实验设置
数据集。作者在12个数据集上进行了实验,涵盖了工业和医疗领域的异常检测。工业数据集包括MVTec-AD [16]、VisA [17]、MPDD [18]、BTAD [19]、SDD [20]和DAGM [21]。医疗数据集包括BrainMRI [22]、LiverCT [23]、RESC [24]、Br35H [25]、COVID-19 [26]和HeadCT [22]。
评估指标。作者采用受试者工作特征曲线下面积(AUC)进行评估,对分类任务应用图像级AUC,对分割任务应用像素级AUC。
基准。作者的KAnoCLIP与最先进的多种方法进行了全面比较,包括CLIP[6]、CLIP-AC[6]、WinCLIP[4]、APRIL-GAN[7]、MVFA-AD[3]和AnomalyCLIP[5]。
实现细节。作者采用了CLIP模型(
)作为 Backbone 网络,并冻结了所有参数。参考APRILGAN和AnomalyCLIP,作者在MVTec-AD测试数据上训练了作者的模型,并在其他数据集上评估了ZSAD性能。可学习的词嵌入长度设置为12。实验在PyTorch 2.0.0环境中,使用单个NVIDIA RTX 3090 GPU进行。
3.2 主要结果
3.2.1. ZSAD性能比较
如图1和表2所示,作者的KAnoCLIP模型在12个工业和医疗异常检测数据集上取得了最先进的成果,超越了MVFA-AD和AnomalyCLIP的表现。值得注意的是,在著名的MVTec-AD和VisA数据集中,作者的方法分别将像素级AUC评分提高了3.2和2.2,图像级AUC评分提高了1.3和1.5。这突显了作者在异常分割和异常分类方面的卓越性能。此外,在六个医疗数据集中,KAnoCLIP展现了显著的改进,特别是在BrainMRI和LiverCT上,图像级AUC分别增加了2.1和4.0,像素级AUC分别提升了1.3和2.4。总的来说,KAnoCLIP在各种异常检测数据集上展现了强大的有效性和泛化能力。
3.2.2. 结果分析与讨论
原始的CLIP模型表现不佳,因为它的文本 Prompt 是为图像分类设计的,而不是用于异常检测。
CLIP-AC通过添加“正常”和“异常”描述符进行了一些改进,但仍然不够理想。WinCLIP和APRIL-GAN通过手动设计的异常检测 Prompt 表现更佳。AnomalyCLIP利用可学习的异常文本 Prompt 进一步提升了零样本性能,但在缺乏一般知识指导的情况下过度拟合了基础类别。MVFA-AD作为WinCLIP的 Adapter ,增强了跨域性能,但缺乏可学习 Prompt 和有效的跨模态交互。(作者的KAnoCLIP方法通过提升跨模态交互和整合全局-局部上下文,实现了最佳效果,在工业和医疗应用中的零样本异常检测方面非常有效。)
3.3. 消融研究
作者针对MVTec-AD和VisA数据集进行了消融实验,以验证KAnoCLIP框架中四个关键模块(KnPL、CLIP-VV、Bi-CMCI和ConvAdapter)的有效性。每个模块都显著提升了零样本异常检测的性能,其中KnPL带来了最显著的提升。详细结果见表3。
- 结论
在本文中,作者介绍了KAnoCLIP,这是一个基于KnPL的零样本异常检测框架。该框架将LLM的通用知识与VQA系统的图像特定见解相结合,以创建可学习的异常 Prompt ,消除了固定的文本 Prompt ,并增强了对新异常类别的泛化能力。
KAnoCLIP采用三个模块:CLIP-VV、Bi-CMCI和Conv-Adapter,优化了视觉空间、跨模态交互以及全局-局部上下文整合。在12个工业和医学数据集上的大量实验表明,KAnoCLIP在一致性上优于现有技术(SOTA),展现了卓越的泛化能力。
参考
[1]. KANOCLIP: ZERO-SHOT ANOMALY DETECTION THROUGH KNOWLEDGE-DRIVENPROMPT LEARNING AND ENHANCED CROSS-MODAL INTEGRATION .