论文题目:Towards Training-free Anomaly Detection with Vision and Language Foundation Models(迈向基于视觉与语言基础模型的免训练异常检测)
会议:CVPR 2025
摘要:异常检测在工业质量检测等真实场景中具有重要价值,但现有方法大多聚焦局部结构异常,而忽略带有逻辑约束的组合异常。本文提出 LogSAD,一个同时面向 Logical Anomaly Detection 与 Structural Anomaly Detection 的免训练多模态框架。作者首先提出 Match-of-Thought,利用 GPT-4V 生成匹配提案,形成关注对象与组合规则;随后设计 patch、interest set、composition 三种粒度的异常检测器;最后对不同检测器的异常分数进行校准与融合。LogSAD 在无需额外训练的情况下统一处理逻辑异常与结构异常,并在多个工业异常检测基准上取得具有竞争力的结果。
源码:
GitHub - zhang0jhon/LogSAD: [CVPR 2025] Towards Training-free Anomaly Detection with Vision and Language Foundation Models · GitHub
一、研究背景与核心问题
工业异常检测里最常见的是Structural Anomaly:划痕、破损、污染、凹坑等局部外观变化。这类异常往往可以通过 patch 特征与正常样本做匹配来发现。
但Logical Anomaly不一样。局部外观可能完全正常,真正错误的是数量、属性、位置或关系,例如果汁颜色与标签不匹配、pushpin 数量错误、连接器左右不对称、线缆颜色与卡扣数量不符合规则。
论文 Figure 1:MVTec LOCO 中 Structural Anomaly 与 Logical Anomaly 的区别。MVTec Loco数据集中结构和逻辑异常的例子。组合多模式特征匹配在统一异常检测中起着至关重要的作用,特别是在有效地识别和分类逻辑异常方面。
Figure 1 说明:结构异常主要是局部视觉变化,而逻辑异常更像“组合关系违反规则”。因此,仅靠局部特征相似度很难统一覆盖两类问题。
LogSAD 的思路是:让 CLIP、DINOv2、SAM 提供视觉与语义基础能力,让 GPT-4V 把自然语言约束转换为可执行规则,再在不同粒度上完成匹配。
二、整体框架:Match-of-Thought + 多粒度检测
论文 Figure 2:LogSAD 整体框架
LogSAD 可以看成四个阶段:Multi-modal Inputs → Foundation Models → Multi-granularity Anomaly Detectors → Decision。
输入包含少量正常图像和文字逻辑约束;基础模型包括 SAM、CLIP 和 DINOv2;中间由三个检测器组成:Patch Matching、Interest Matching、Composition Matching;最后通过 Calibration 与 Fusion 得到最终异常分数。
三个检测器分工明确:Patch Matching关注局部结构变化;Interest Matching比较语义对象集合;Composition Matching检查数量、属性、对应关系、对称性等逻辑约束。LogSAD 不是让单个模型承担所有异常,而是把不同类型的异常分配给最合适的粒度。
三、Match-of-Thought:把文字规则“编译”为匹配规则
逻辑异常的规则通常写在人类语言里。例如 Splicing Connectors 要求:左右连接器拥有相同数量的 clamps,只由一根 cable 连接;clamp 数量与 cable 颜色有对应关系;线缆两端还要保持镜像对称。
直接让大模型回答“这张图是否异常”容易受到计数、空间关系和幻觉问题影响。因此作者提出Match-of-Thought(MoT):GPT-4V 不直接输出最终异常结论,而是负责 prompt engineering 和 match engineering。
论文 Figure 3:Splicing Connectors 上的 Match-of-Thought 示例
MoT 输入正常图像和文字约束,输出anomaly-free image captions、interests of thought、compositional rules of thought。例如 Interests 包括 splicing connector、cable、grid;组合规则则被拆成 cable count、左右 clamp 对称、clamp 数量与 cable 颜色对应等条件。
换句话说,GPT-4V 在这里更像一个“规则编译器”:把抽象自然语言约束整理成后续检测器可以执行的匹配提案。
四、三个粒度的异常检测器
4.1 Patch Matching:检测局部结构异常
作者从 CLIP 和 DINOv2 的多层 backbone 提取 patch features,并从正常图像建立 memory bank。测试 patch 与正常 patch 做余弦距离最近邻搜索:
某个局部区域如果与所有正常 patch 都不相似,就得到较高异常分数。这一分支主要负责划痕、破损、污渍等结构异常。
4.2 Interest Matching:从 patch 升级到对象集合
作者使用 MoT 产生的 interests 作为文字提示,结合 CLIP 和 SAM 做 open-vocabulary segmentation,再把同一 interest 的 masked patches 聚合成对象级特征。
测试图像得到 interest set (P),正常参考得到 (Q),随后通过 Hungarian Algorithm 求最小代价二分图匹配,pair-wise cost 为:
这样模型比较的不再只是局部 patch,而是“对象集合能否与正常对象集合合理对应”,因此更容易发现对象缺失、数量变化或对象级错位。
4.3 Composition Matching:显式检查逻辑约束
MoT 已经把正常逻辑写成规则 (R),SAM/CLIP 再提供相关视觉对象 (V) 和文本属性 (T)。Composition Matching 判断当前图像是否满足规则:
例如 Juice Bottle 中可以检查“液体颜色—水果标签”是否合法;如果属性组合不属于正常规则集合,就直接判为逻辑异常。
三个分支的分数经过校准后取最大值作为最终异常分数。其含义很直观:只要任一粒度发现明显异常,就保留该异常信号。
五、实验结果与消融分析
实验覆盖 MVTec LOCO、MVTec AD 和 VisA。模型使用 CLIP ViT-L/14、DINOv2 ViT-L/14 和 SAM ViT-H/16,输入分辨率为 448 × 448,LogSAD 本身不训练额外检测网络。
5.1 MVTec LOCO:统一结构异常与逻辑异常
论文 Table 1:MVTec LOCO 上的统一异常检测结果
Full-data 下,LogSAD 的平均 image-level AUROC 为90.2;4-shot 下仍达到86.3。由于它属于 training-free 方法,这一结果说明视觉基础模型与显式逻辑规则可以在不重新训练模型的情况下完成统一异常检测。
论文 Table 2:1-shot、2-shot、4-shot Few-Shot 结果
LogSAD 在 1/2/4-shot 下分别达到78.5、82.1、86.3,平均82.3;PromptAD 对应为 71.2、72.6、73.5。随着正常图像增加,patch 与 interest 参考更充分,性能持续提升。
论文 Table 3:Logical 与 Structural anomaly 分开评估
LogSAD 在 Logical / Structural 上分别达到89.3 / 93.1,平均 91.2。EfficientAD 为 86.8 / 94.7,说明 LogSAD 对逻辑异常尤其有效,同时结构异常能力仍保持较高水平。PSAD 的 Logical AUROC 更高,但它额外使用 segmentation annotations 训练,因此论文没有将其作为同条件对比。
5.2 MVTec AD 与 VisA
论文 Table 4:MVTec AD 与 VisA 的 Few-Shot 结果
MVTec AD 上,LogSAD 4-shot 的 image/pixel AUROC 为97.0/97.6;VisA 上为93.0/98.1。这说明加入逻辑检测机制后,框架仍然可以处理传统结构异常。
5.3 MoT 最终生成了什么
论文 Table 5:MVTec LOCO 五个类别的 Interests 与 Compositional Rules
Table 5 给出了每个类别的语义对象和规则:Breakfast Box 检查不同食材的比例与位置;Pushpins 检查数量是否为 15;Screw Bag 检查不同零件数量组合;Splicing Connectors 同时检查 cable color、clamp number、左右对称和端点位置。
这说明 LogSAD 不是用统一 prompt 粗略判断所有类别,而是显式描述每类正常逻辑。
5.4 三种检测器分别解决什么问题
论文 Table 6:Patch / Interest / Composition 三种检测器的独立能力
Full-data 下,Patch detector 的 Structural AUROC 为93.1,Logical 只有 71.8;Composition detector 的 Structural 为 58.0,但 Logical 达到78.2;Interest detector 为 81.7 / 80.6。结果直接验证了三个粒度的分工:Patch 擅长结构异常,Composition 更适合逻辑异常,Interest 连接两者。
论文 Table 7:检测器校准与融合消融
单独使用一个分支时,F1-max/AUROC 约为 81;三个检测器全部融合后达到88.8 / 90.2,说明多粒度检测器确实具有互补性。
5.5 为什么不直接让 LMM 判断异常
论文 Figure 4:MVTec LOCO 上的开放词汇语义分割结果
Figure 4 显示正常和异常样本中的 interest 对象都能被较准确地分割,这是 Interest Matching 和 Composition Matching 的基础。
论文 Figure 5:LogSAD 与 LLaVA、Mini-Gemini 的组合推理对比
LMM 可以回答一些简单属性问题,例如 cable color,但在 pushpin 计数、左右 clamp 数量等任务上容易出错。LogSAD 不让 LMM 做最终计数,而是先获得视觉 atoms,再按显式规则检查。例如检测到 16 个 pushpins,而正常规则要求 15 个,就直接得到 ()。
这也解释了 Match-of-Thought 的定位:大模型擅长整理规则,但复杂视觉组合推理仍交给显式匹配过程。
六、总结与思考
LogSAD 的核心价值,是把异常检测拆成三个层次:局部 patch 是否异常、对象集合是否异常、对象之间的逻辑关系是否异常。
Match-of-Thought 负责把自然语言约束转成 interests 与 compositional rules;CLIP、DINOv2、SAM 提供已有视觉与语言能力;Patch、Interest、Composition 三个检测器各自处理不同粒度的问题;最后进行分数校准与融合。整个流程不需要重新训练检测网络。
论文也指出其局限:Composition Matching 依赖 open-vocabulary segmentation 的准确性,复杂场景下仍有提升空间。未来工作将继续增强开放词汇语义分割,并探索更强的 LMM。
如果把整篇论文压缩成一句话:LogSAD 不让大模型直接“看图判异常”,而是让大模型把逻辑规则整理出来,再让视觉基础模型在 patch、object set 和 composition 三个粒度执行匹配,从而用一个 training-free 框架统一结构异常与逻辑异常检测。