ADSeeker: A Knowledge-Grounded Reasoning Framework for Industry Anomaly Detection and Reasoning¶
会议: CVPR 2026
论文: CVF Open Access
代码: 待确认
领域: 多模态VLM / 工业异常检测
关键词: 工业异常检测, 多模态RAG, 零样本异常检测, 异常推理, 视觉文档知识库
一句话总结¶
ADSeeker 是一个免大规模预训练、即插即用的工业异常检测(IAD)助手:用首个视觉文档知识库 SEEK-M&V + 多模态检索框架 Q2K RAG 给通用 MLLM 注入异常领域知识,再配合 AD Expert 把缺陷定位/判别信息融进视觉 token、用层级稀疏提示(HSP)提取 type-level 缺陷特征,在 12 个工业/医学数据集的零样本异常检测和 MMAD 异常推理上都拿到 SOTA。
研究背景与动机¶
领域现状:把多模态大模型(MLLM)用到工业异常检测上是近两年的热门方向。已有工作如 AnomalyGPT、Anomaly-OV、Myriad 走的都是「在 IAD 数据上直接微调 / 接专家感知模块」的路线,想把领域知识灌进基座模型,用来做缺陷检测、描述、分析。
现有痛点:作者把瓶颈拆成两条具体短板:① 预训练阶段没有充分整合异常检测知识,导致模型定位不准、做不了精细的缺陷分析;② 缺乏技术精确、上下文感知的语言生成能力,异常推理(不只是判断有没有,还要说清类型/位置/成因/后果)质量远低于人类质检专家。而走微调路线又会引入新问题——标准 fine-tune 容易灾难性遗忘基座的对齐能力,加上 IAD 数据集太小,模型会过拟合到狭窄的答案模板上,泛化很差。
核心矛盾:想让模型「专」(懂异常领域)就得训练注入知识,但训练又会牺牲「通」(基座的泛化和语言能力),两者存在 trade-off;而且现有 ZSAD 方法普遍用 object-level 提示(如 "wood"、"leather" 这种物体类别),根本描述不了「划痕 / 孔洞 / 裂纹」这种跨物体通用的缺陷模式。
本文目标:在不做大规模预训练、保住基座泛化能力的前提下,给通用 MLLM 外挂一套异常领域知识,让它的检测和推理都达到专家级。
切入角度:作者的关键观察是「一图胜千言」——异常检测里图像特征至关重要,而现有 RAG 知识库几乎全是纯文本。于是用视觉文档知识库 + 多模态检索来外部注入知识(而非内部微调),并把提示从 object-level 升级到 type-level(缺陷类型级)。
核心 idea:用「外挂多模态知识检索(Q2K RAG over SEEK-M&V)+ 视觉缺陷先验融合(AD Expert)+ 类型级稀疏提示(HSP)」三件套,取代「在小数据上微调注入知识」,实现免训练、即插即用的知识接地异常推理。
方法详解¶
整体框架¶
ADSeeker 以公开 MLLM(Qwen2.5-VL)为主干、CLIP(ViT-L/14@336px)为 AD Expert 的编码器,整个框架冻结基座、只训练少量外挂模块。给定一张查询图 \(I_Q\) 和一句指令,框架走两条知识注入通路并行:
- 知识检索通路:把查询图编码成 Key 特征 \(K_Q\)、把 SEEK-M&V 知识库的视觉文档编码成 Lock 特征 \(L=\{L_0,...,L_{n-1}\}\),在两者的联合特征空间里做多模态混合检索(Q2K RAG),用 KDE-Sample 策略挑出最相关的领域知识文档 \(L_{ans}\)。
- 缺陷先验通路:AD Expert 用 CLIP 把视觉嵌入 \(E_p\) 和正/负文本嵌入 \(E_t\) 对齐,算出缺陷定位/判别信息,融合成异常先验特征 \(E_c=\{Loc, Vis\}\);同时 HSP 机制在 CLIP 各层逐层稀疏化无关信息、保留缺陷区域的关键视觉特征,并把 MulA 数据集聚类得到的 type-level 文本提示 \(T_p, T_n\)(如 "A image with [cls] defect type")注入进来。
最后把 \(L_{ans}\)(外部知识)和 \(E_c\)(缺陷先验)一起喂给 VLM,由它做指令处理和复杂推理,输出异常判别 / 定位 / 分类 / 描述 / 成因分析。其中 type-level 提示由「\(K_Q\) 匹配到 MulA 预定义聚类质心 → 自动生成对应缺陷类型提示」得到,比 ZSAD 常用的 "Img of a [obj]" 更细粒度。
%%{init: {'flowchart': {'rankSpacing': 24, 'nodeSpacing': 28, 'padding': 6, 'wrappingWidth': 400}}}%%
flowchart TD
A["查询图 I_Q + 指令"] --> B["SEEK-M&V<br/>视觉文档知识库"]
A --> C["AD Expert<br/>缺陷定位/判别→视觉token"]
B --> D["Q2K RAG<br/>KDE-Sample多模态检索"]
A --> E["HSP<br/>层级稀疏提示·type-level特征"]
E --> C
D -->|检索到的领域知识 L_ans| F["VLM 推理 (Qwen2.5-VL)"]
C -->|异常先验特征 E_c| F
F --> G["异常判别/定位/分类/描述/成因"]
关键设计¶
1. SEEK-M&V:首个工业异常的视觉文档知识库
痛点直接对应「预训练没整合 AD 知识」+「现有 RAG 知识库只有纯文本」。作者构建了 IAD 领域第一个保留图像信息的多模态知识库 SEEK-M&V(基于 MVTec & VisA):每篇知识文档都有特定的参考页面,记录缺陷类型、缺陷分析、缺陷描述;并额外补上产品的生产场景、应用场景作为背景信息。更关键的是,作者用 DeepSeek-R1 生成语义丰富的描述和应用场景介绍来扩充文档内容,把「一图胜千言」落到实处——每种异常类型都配图文,给异常推理提供可检索的专家参照。和已有 training-based 方法相比,这种外挂知识库的方式在效率和效果上都更优,因为它不动基座、避免了灾难性遗忘。
2. Q2K RAG:用 KDE-Sample 解决工业知识库的重复检索问题
痛点是「怎么从视觉知识库里准确捞到对的那篇文档」。Q2K RAG(Query Image→Knowledge)借鉴 VisRAG,把查询图的 Key 特征 \(K_Q\) 和知识文档的 Lock 特征 \(L\) 投影到对齐空间,算余弦相似度并排序:\(S(K_Q,L)=\{S_i\,|\,\cos(K_Q,L_i),\,L_i\in L\}\),理想情况下取 top-K 即可,作者测得 seek 准确率达 83%。但工业知识库按类别组织,同类物体的不同缺陷高度相似,简单 top-k 经常重复检索到同一类、捞不到产品场景信息。作者的洞察是:同类信息(缺陷、车间等)的相似度分数基本服从高斯分布,于是用 Bayesian Gaussian Mixture Modeling 自动推断最优簇数 \(K\) 并对相似度分数做 GMM 聚类,再用核密度估计(KDE)算每个簇的概率密度权重并压缩原分布:
检索时按 \(W_n\) 的比例从每个簇里动态采样(簇内按分数降序),采够阈值就停。这样既覆盖了不均匀分布的领域知识、又避免了纯 top-k 的冗余——文本检索和视觉检索对不同特征强弱不一,不做自适应采样混合检索就会重复,KDE-Sample 按数据分布优化了信息价值。
3. AD Expert:把缺陷定位/判别信息混合进视觉 token
痛点是原始 MLLM 处理的只是普通视觉 token,缺少定位、判别这类异常先验。AD Expert 通过算 patch 嵌入 \(E_p\) 与正文本嵌入 \(E_t^p\)、负文本嵌入 \(E_t^n\) 的余弦相似度,导出异常定位信息:
再用一个神经网络把查询图 \(I_Q\) 转成视觉嵌入 \(Vis\),与定位信息拼成异常先验嵌入 \(E_c=\{Loc, Vis\}\) 送进 VLM。这样语义丰富的视觉嵌入能帮模型生成细粒度的异常描述,并直接提升 image-level 的异常检测性能——相当于把「专家眼里该看哪、是不是异常」这种先验,显式编码成 VLM 能消化的视觉 token。
4. HSP(层级稀疏提示):模仿人类质检的注意力,逐层稀疏化提取缺陷特征
痛点是 object-level 提示提不出通用缺陷模式,且无关区域噪声多、算力浪费。HSP 受「人做工业质检时注意力集中在缺陷区域、不是均匀分布」启发,设计了带压缩感知和稀疏优化的可学习提示模块。把查询图缺陷特征经线性层得到查询嵌入 \(E_q\in\mathbb{R}^{B\times d}\),引入可学习提示嵌入 \(E_l\in\mathbb{R}^{K\times d}\) 和自适应参数 \(P_i\),经 \(N\) 轮迭代更新提取关键特征:第 \(n\) 轮残差 \(R_n=E_q-P_n E_l^{n-1}\),梯度 \(G_n=-\mu\cdot E_q^T P_n E_l\);并结合迭代软阈值算法(ISTA)和稀疏化理论计算转换因子 \(P_n^*\)。整个稀疏优化对应目标:
其中稀疏系数 \(\lambda\) 表示丢弃基础特征的比例。⚠️ 原文 \(P_n^*\) 的完整 ISTA 闭式(公式 8)符号较密,以原文为准。最终嵌入 \(E_f\) 在 vision/text encoder 前向时融合到一定深度,并与 type-level 文本提示拼接,增强对异常模式的细粒度理解。配合用 MulA 聚类得到的 type-level 特征(区分 "scratch" vs "hole"),HSP 显著减少了由「疑似异常区域」引发的幻觉。
损失函数 / 训练策略¶
框架冻结基座 MLLM 和 CLIP,只训练 AD Expert / HSP 等外挂模块。HSP 的可学习嵌入按上式 \(\mathcal{L}\)(重建项 + L1 稀疏项)经反向传播自动更新;CLIP 在 MVTec AD 上微调以评测其他数据集的零样本性能(评测 MVTec AD 时训练集换成 VisA,且测试时停用 Q2K RAG 防止测试集泄漏)。作者额外构建了一个 43K 的小规模指令微调数据集(取自 AD 数据集和 SEEK-M&V 内容),但消融显示外挂检索优于 LoRA 微调(见下)。
实验关键数据¶
主实验¶
零样本异常检测(Image-Level AUROC,12 个工业+医学数据集,部分见下表):ADSeeker 在多数 benchmark 上取得 SOTA,平均排名第一。
| 数据集 | CLIP | WinCLIP | AnomalyCLIP | AdaCLIP | Anomaly-OV | ADSeeker |
|---|---|---|---|---|---|---|
| MVTec AD | 74.1 | 91.8 | 91.5 | 89.2 | 94.0 | 94.3 |
| VisA | 66.4 | 78.8 | 82.1 | 85.8 | 91.1 | 91.5 |
| BTAD | 34.5 | 68.2 | 88.3 | 88.6 | 89.0 | 94.0 |
| MPDD | 54.3 | 63.6 | 77.0 | 76.0 | 81.7 | 85.9 |
| BrainMRI | 73.9 | 92.6 | 90.3 | 94.8 | 93.9 | 97.5 |
| Br35H | 78.4 | 80.5 | 94.6 | 97.7 | 95.5 | 97.9 |
| Average | 62.6 | 80.8 | 88.2 | 89.1 | 91.8 | 94.0 |
异常推理(MMAD benchmark,1-shot,Seek-Setting 即插即用):把 Q2K RAG + AD Expert 当插件挂到各开源 MLLM 上,平均准确率普遍提升。ADSeeker(Qwen2.5-VL-7B under Seek-Setting)达 69.90%,主要在缺陷分类、定位、异常判别上提升明显。
| 基座模型 | 设置 | 平均准确率 |
|---|---|---|
| LLaVA-OV-7B | Baseline → Seek | 63.19 → 66.61 (+3.42) |
| LLaVA-NeXT-7B | Baseline → Seek | 59.32 → 65.96 (+6.64) |
| InternVL2-8B | Baseline → Seek | 63.14 → 68.05 (+4.91) |
| Qwen2.5-VL-3B | Baseline → Seek | 62.94 → 68.53 (+5.59) |
| Qwen2.5-VL-7B (ADSeeker) | Baseline → Seek | 66.62 → 69.90 (+3.28) |
消融实验¶
| 配置 | (子任务1, 子任务2) 准确率 | 说明 |
|---|---|---|
| Baseline (Qwen2.5-VL) | (76.6, 67.1) | 仅基座 |
| + Q2K RAG | (78.6, 68.2) | 外部知识检索单独有效 |
| + AD Expert | (77.9, 67.7) | 缺陷先验单独有效 |
| + 两者全开 | (82.8, 71.4) | 完整 ADSeeker,最优 |
| LoRA 5 epoch | (80.0, 71.0) | 短训练尚可 |
| LoRA 10 epoch | (72.8, 59.7) | 过拟合开始掉点 |
| LoRA 20 epoch | (40.9, 33.2) | 灾难性遗忘,崩溃 |
效率(Tab. 5):相比同规模基座,ADSeeker 仅增加 ≤27% 显存(22.63→28.36 GiB)、≤2s 平均推理延迟(4.47→6.14 s),具备实时工业部署潜力。
关键发现¶
- Q2K RAG 与 AD Expert 高度互补:单独各加约 +1~2 点,全开则跳到 (82.8, 71.4),说明「外部知识」管分类/判别、「缺陷先验」管定位,两条通路打的是不同子任务。
- 外挂检索完胜微调:LoRA 在 5 epoch 尚可,但 10/20 epoch 急剧崩溃(20 epoch 跌到 40.9/33.2),印证了「小数据微调→过拟合 + 灾难性遗忘」的动机;Q2K RAG 在泛化性和精度上都超过 LoRA。
- type-level 特征是零样本关键:正常样本与 [obj]-only 提示对齐更强,异常样本则与 [cls]&[obj] 提示峰值相似;缺陷样本上 [cls] 提示的特征值显著高于 [obj],证明把提示从物体级升到缺陷类型级是 ZSAD 提升的来源。
- 即插即用普适:Seek-Setting 挂到 5 个不同基座(LLaVA-OV/NeXT、InternVL2、Qwen2.5-VL 3B/7B)几乎都涨点,说明框架与具体基座解耦。
亮点与洞察¶
- 「外挂知识检索」替代「微调注入知识」:这是全文最核心的范式选择——用多模态 RAG 在推理时动态注入领域知识,绕开预训练/微调,既省算力又保住基座泛化,消融里 LoRA 20 epoch 的崩溃正面反衬了这条路的价值。
- KDE-Sample 解决了 RAG 在「同类高相似」库上的重复检索:把相似度服从高斯分布这一观察,转成 GMM 聚类 + KDE 加权的分簇动态采样,是个可迁移到任何「类内高相似」检索库的通用 trick(不只工业异常)。
- type-level 提示 + 视觉知识库双管齐下:用 DeepSeek-R1 扩写视觉文档、用 MulA 聚类自动生成缺陷类型提示,把「缺陷模式」从隐式变成可检索/可提示的显式知识,思路可迁移到医学影像、遥感等同样缺标注的细粒度检测任务。
- MulA 数据集:11,226 张图、26 类、72 种多尺度缺陷类型,覆盖灰度/RGB/X-ray,是当前规模最大的 AD 数据集,且专门补了 type-level 标注和合成正常样本,缓解了 IAD 数据稀缺。
局限与展望¶
- 依赖知识库覆盖面:作者承认 SEEK-M&V 内容有限,对比训练方法时只能用 MMAD 的一部分来评测;遇到知识库未覆盖的新产品/新缺陷,检索质量会下降。⚠️ seek 准确率 83% 也意味着约 1/6 的查询拿不到最相关文档。
- 检索准确率天花板:Q2K RAG 的整体表现受限于「能不能检索对」,KDE-Sample 缓解了重复检索但没根治高排名才命中的问题。
- 未用 RL 微调:作者指出 Anomaly-R1 用 GRPO 在小训练集上效果突出,建议未来工作引入 RL 策略——暗示纯检索 + 先验注入仍有上限。
- 个人观察:异常推理评测主要是 MMAD 的多选子任务(准确率指标),对开放式缺陷成因/后果描述的质量缺乏更严格的人评或细粒度评分;公式 8 的稀疏优化推导较密,复现门槛偏高。
相关工作与启发¶
- vs AnomalyGPT / Anomaly-OV / Myriad(微调注入):它们在 IAD 数据上直接 fine-tune 或接专家模块把知识灌进基座,受训练知识范围限制、泛化差且易遗忘;ADSeeker 改为外挂多模态知识库 + RAG,免训练、保泛化,消融里直接证明外挂检索优于 LoRA。
- vs WinCLIP / AnomalyCLIP / AdaCLIP(ZSAD 提示学习):它们靠 CLIP 的 patch-文本相似度做零样本检测,但用的是 object-level 提示,提不出跨物体的通用缺陷模式;ADSeeker 用 HSP + type-level 特征("scratch"/"hole" 级)提取细粒度缺陷,并在 MVTec/VisA/BTAD/MPDD 上全面超过它们。
- vs Anomaly-R1(RL 训练):Anomaly-R1 用 GRPO 微调拿到强结果,但需要训练;ADSeeker 无需额外训练即可在异常推理上超过它,作者同时认可 RL 路线、建议未来融合。
评分¶
- 新颖性: ⭐⭐⭐⭐⭐ 首个工业异常视觉文档知识库 + Q2K RAG(KDE-Sample)+ HSP type-level 提示,把「外挂多模态检索免训练注入领域知识」做成完整方案。
- 实验充分度: ⭐⭐⭐⭐ 覆盖 12 个工业/医学数据集、5 个基座的即插即用、模块消融和效率分析都到位;开放式推理质量评测略弱、部分对比受限于知识库覆盖。
- 写作质量: ⭐⭐⭐⭐ 动机与方法叙述清晰,图示充分;个别公式(HSP 稀疏优化)符号偏密、可读性一般。
- 价值: ⭐⭐⭐⭐⭐ 免训练、即插即用、低开销(≤27% 显存、≤2s 延迟),对工业实时质检和缺标注细粒度检测都有很强落地与迁移价值。