ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

(论文速读)AA-CLIP:让 CLIP 真正“看懂”异常的零样本异常检测

(论文速读)AA-CLIP:让 CLIP 真正“看懂”异常的零样本异常检测 论文题目AA-CLIP: Enhancing Zero-Shot Anomaly Detection via Anomaly-Aware CLIPAA-CLIP通过异常感知 CLIP 增强零样本异常检测会议CVPR 2025摘要异常检测Anomaly Detection, AD旨在识别异常样本可用于工业缺陷和医学病灶检测。CLIP 依靠强大的泛化能力在零样本异常检测中具有很大潜力但其内在的“异常无感知Anomaly-Unawareness”使正常与异常特征之间的区分能力受到限制。为此作者提出 Anomaly-Aware CLIPAA-CLIP在保留 CLIP 泛化能力的同时同时增强文本空间和视觉空间中的异常判别能力。AA-CLIP 采用一个简单而有效的两阶段策略首先构造异常感知的文本锚点使正常与异常语义清晰分离随后将 patch 级视觉特征与这些锚点对齐实现精确的异常定位。借助残差适配器两阶段训练以受控方式逐步适配 CLIP在维持原有类别知识的同时提升异常检测能力。大量工业与医学实验表明AA-CLIP 是一种训练资源友好的零样本异常检测方案并取得了领先结果。源码GitHub - Mwxinnn/AA-CLIP: The official implementation of AA-CLIP: Enhancing Zero-shot Anomaly Detection via Anomaly-Aware CLIP · GitHub一、研究背景与核心问题零样本异常检测最吸引人的地方是模型不必为每一种新产品、新器官重新收集大量异常样本。CLIP 在海量图文数据上预训练天然具备跨类别迁移能力因此近年的思路大多是把“normal / anomalous”文本描述编码成文本特征再判断图像或局部 patch 更接近哪一类文本。但 AA-CLIP 指出这条路线有一个经常被忽略的前提文本端本身必须真的能把“正常”和“异常”分开。原始 CLIP 更擅长学习“这是什么物体”却没有专门学习“这个物体是否异常”。于是同一类别下的 normal 与 anomaly 文本特征可能高度接近甚至一张明显有缺陷的图像仍然和 normal prompt 更相似。作者把这个问题称为Anomaly-Unawareness。论文 Figure 1CLIP 的异常无感知、AA-CLIP 的两阶段适配以及对未见类别的泛化示意Figure 1 可以先建立整篇论文的直觉原始 CLIP 的 normal/anomaly 文本与 patch 空间区分并不清晰AA-CLIP 先在文本空间制造明确的正常/异常锚点再让视觉 patch 向这些锚点对齐。最终作者希望得到的不是“记住训练类别的异常”而是跨类别可迁移的异常判别方向。论文 Figure 2原始 CLIP 的异常误判示例以及文本适配前后的相似度热力图Figure 2 给出了更直接的证据。论文中的 carpet 和 zipper 明明存在可见缺陷但原始 CLIP 的图像特征对 normal 描述反而给出更高相似度下方热力图也显示适配前 normal 与 anomaly 文本特征高度纠缠而文本适配后两者明显分离。换句话说问题不只是 patch 定位不准用于监督视觉端的“语义尺子”本身就不够可靠。这里还有第二个矛盾既然 CLIP 不够异常感知就需要微调但 CLIP 的零样本泛化恰恰来自大规模预训练如果直接大幅修改编码器很容易在训练异常数据上过拟合破坏原来的类别知识。因此这篇论文真正解决的是两个连续问题先让 CLIP 学会区分正常/异常再让这种新能力不要以牺牲泛化为代价。二、方法整体框架先改文本再改视觉论文 Figure 4AA-CLIP 两阶段训练流程AA-CLIP 的整体结构非常清楚可以压缩成一条路径Stage 1文本编码器适配 → 得到 Normal/Anomaly Text Anchors → Stage 2视觉编码器适配 → patch 特征与文本锚点对齐 → 图像级分类 像素级定位。两个阶段都不直接全量微调 CLIP而是在浅层 Transformer 中插入轻量的Residual Adapter原始 CLIP 参数保持冻结。Stage 1 冻结视觉编码器用稳定的视觉特征帮助文本空间建立异常判别边界Stage 2 再冻结已经适配好的文本编码器把这些文本特征当作固定语义锚点去约束视觉 patch。这个“轮流固定一端、只适配另一端”的设计就是作者控制灾难性遗忘的关键。Residual Adapter 对第 i 层特征先做轻量变换再与原始特征加权融合其中 λ 控制异常检测新知识注入的比例。论文设置 λ 0.1也就是增强分支只占较小权重主干仍以预训练特征为主。直观理解这不是“重写 CLIP”而是在原特征旁边加一条小的异常适配支路。三、Stage 1把正常与异常文本真正“拆开”第一阶段的目标不是直接提高分割图而是先建立可靠的语义坐标系。作者使用 normal prompt 与 anomaly prompt经文本编码器得到两组特征并取平均形成正常锚点和异常锚点。随后用固定视觉编码器提供的图像级特征与 patch 特征和它们做余弦相似度分别产生分类预测和分割预测。基础对齐损失包含两部分图像级使用 BCE像素级使用 Dice Loss Focal Loss。真正体现本文思想的是额外加入的Disentangle Loss它直接惩罚正常锚点和异常锚点之间的相关性促使二者接近正交。这里的意义很重要以往不少 CLIP-AD 方法把原始文本 embedding 当成天然可靠的软监督而 AA-CLIP 先主动修正这份监督让“正常”和“异常”在文本空间有更清晰的边界再去指导视觉端。论文 Figure 3原始 CLIP 与 AA-CLIP 的文本特征 t-SNE可见类别与未见类别对比Figure 3 是 Stage 1 最核心的可视化证据。原始 CLIP 中同一类别的 normal/anomaly 文本点混杂在一起AA-CLIP 适配后两类语义在已见类别上被明显分开更关键的是这种分离趋势也出现在未见类别上。作者据此说明学习到的并不只是训练类别的异常模板而是具有一定跨类别泛化能力的异常语义方向。四、Stage 2让多尺度 patch 对齐异常文本锚点有了稳定的和第二阶段开始适配视觉编码器。作者在视觉 Transformer 前若干层插入 Residual Adapter并从第 6、12、18、24 层抽取四个粒度的中间特征。每一层先通过可训练 projector 映射到和文本锚点一致的通道维度再求和得到最终 patch 表征。这么做的原因很直接异常定位既需要浅层纹理和边缘也需要深层语义。只依赖最后一层往往会丢掉细粒度缺陷而多层融合可以同时利用不同感受野的信息。聚合后的 patch 特征再与计算余弦相似度得到像素级异常图图像级特征则产生整图异常分数。训练仍使用分类和分割对齐损失而推理时只需要比较视觉特征更靠近正常锚点还是异常锚点。这里可以看到 AA-CLIP 的逻辑是严格串起来的Stage 1 负责把“异常是什么”定义清楚Stage 2 负责让“哪里异常”对准这个定义。如果第一阶段的文本边界含糊第二阶段再强的 patch 适配也可能学向错误方向。五、实验结果与消融分析5.1 实验设置作者在 11 个工业与医学异常检测数据集上测试包括 MVTec-AD、VisA、BTAD、MPDD以及 Brain MRI、Liver CT、Retina OCT 和 4 个结肠息肉数据集。模型主要在 VisA 上训练再到其他数据集零样本测试VisA 的结果则用 MVTec-AD 训练。训练数据设置为每类 2-shot、16-shot、64-shot 和 full-shot正常与异常样本保持 1:1。评价指标统一使用 image-level 与 pixel-level AUROC。实现上采用 OpenCLIP ViT-L/14输入为 518 × 518CLIP 原始参数全部冻结文本端插入到前 3 层视觉端插入到前 6 层γ 0.1。第一阶段训练 5 个 epoch第二阶段 20 个 epoch实验可在单张 RTX 3090 上完成。5.2 主实验零样本分割与分类论文 Table 1工业与医学数据集上的 Pixel-level AUROC 主结果Table 1 最值得记住的是平均结果。AA-CLIP 仅使用2-shot/类就达到 92.0% Pixel-AUROC已经高于 AnomalyCLIP 的 91.3% 和 AdaCLIP 的 90.4%随着数据增加16-shot、64-shot 和 full-shot 分别达到 92.6%、92.8% 和93.4%。这说明文本锚点与 patch 对齐的组合在极少样本下就能形成较强的异常定位能力而完整数据主要是在此基础上继续小幅提升。论文 Table 2工业与医学数据集上的 Image-level AUROC 主结果图像级结果的趋势略有不同。AA-CLIP 从 2-shot 的 78.1% 提升到 16-shot 的 81.8%并在64-shot 达到 83.1%full-shot 反而降到 82.5%。因此论文并不是“数据越多越好”的简单故事对预训练 CLIP 来说适配到一定程度后继续增加训练数据可能出现饱和甚至过拟合这也与作者在 Conclusion 中的观察一致。5.3 数据效率与定性结果论文 Figure 52/16/64/full-shot 下不同方法的平均性能与 BTAD 性能曲线Figure 5 强调的是训练效率。随着可用样本从 2-shot 增加到 full-shotAA-CLIP 在大部分设置下都维持较高性能而一些对比方法在低样本区间存在明显欠拟合。结合 Table 1 可以看出AA-CLIP 的优势并不依赖大量异常标注这一点正好契合 zero-shot AD 的应用动机。论文 Figure 6CLIP、AnomalyCLIP、VAND 与 AA-CLIP 的异常定位可视化Figure 6 展示工业与医学图像上的热力图。作者观察到AA-CLIP 相比原始 CLIP、AnomalyCLIP 和 VAND 出现更少的漏检区域热响应也更集中在真实异常位置。定性结果与 pixel-level AUROC 的提升相互对应文本端的异常判别更清晰后patch 对齐不再只是“找到显著区域”而是更明确地寻找与 anomaly anchor 一致的区域。5.4 消融为什么必须是 Residual Adapter 文本解耦论文 Table 364-shot VisA 训练设置下的训练策略消融Table 3 把各模块的分工拆得很清楚。以线性投影版本为基线时Pixel/Image AUROC 为 88.9/69.3如果直接换成普通 Adapter性能反而暴跌到 48.9/53.4说明激进适配会严重破坏 CLIP 原有泛化。改用Residual Adapter后提升到 91.3/80.7证明保留原始特征通路非常关键。继续在文本端加入 Residual Adapter 后达到 92.1/82.6最后加入 Disentangle Loss 得到92.7/83.3。因此这组消融支持两个结论视觉端要“受控适配”文本端还必须显式增强 normal/anomaly 的可分性。论文 Figure 7One-Stage Training 与 AdaCLIP 的文本空间可视化Figure 7 则回答“为什么要分两阶段”。作者把文本和图像编码器放在一个阶段共同适配后t-SNE 中类别结构容易坍塌在 MVTec-AD 上Pixel/Image AUROC 分别为 90.1/88.6相对两阶段结果下降 1.8/1.9 个点。其原因可以理解为当文本锚点和视觉特征同时移动时两边可能互相追逐训练集最容易拟合的异常模式最后牺牲 CLIP 原本的类别结构两阶段训练通过固定一端为另一端提供稳定参照。六、总结与思考如果把 AA-CLIP 压缩成一句话它不是先问“怎样让 CLIP 的 patch 更会找缺陷”而是先问“CLIP 真的理解 abnormal 和 normal 的区别吗”这个问题一旦被提出整套方法就很自然先用 Disentangle Loss 构造异常感知文本锚点再用这些锚点指导多尺度视觉 patch对 CLIP 的修改则全部通过小比例 Residual Adapter 完成。这篇论文最值得记住的并不是某个复杂模块而是它对 CLIP-AD 监督来源的重新审视。许多方法默认文本 embedding 是可靠的语义教师AA-CLIP 则证明教师本身也可能“异常无感知”。从方法设定上看这种思路也不局限于异常检测当 CLIP 在某个下游任务中缺少细粒度概念时可以先在文本空间构造更清晰、可泛化的语义边界再让视觉空间做受控对齐。同时论文也给出了一个值得注意的边界full-shot 并没有在 image-level 上继续超过 64-shot作者认为这可能意味着 CLIP 适配存在过拟合或饱和。因此 AA-CLIP 的价值不只是“更多数据上继续微调”而是用尽可能少的参数和样本把预训练模型已有的泛化能力导向异常检测所需要的判别方向。
返回列表