CVPR 2026 | VisualAD:去掉文本编码器,纯视觉也能做零样本异常检测

导读

做零样本异常检测,一定要用文本提示吗?VisualAD 给出了一个意外的答案:把 CLIP 的文本编码器整个去掉,只靠两个可学习的视觉 token,参数量砍掉 99%,效果反而更好。在 MVTec AD、VisA 等 13 个基准上取得 SOTA,非 MVTec 数据集上的优势尤为明显(BTAD 超 AnomalyCLIP 6.2 个百分点,KSDD2 超 6.1 个百分点)。

论文标题:VisualAD: Language-Free Zero-Shot Anomaly Detection via Vision Transformer

**作者:Yanning Hou, Peiyuan Li, Zirui Liu, Yitong Wang, Yanran Ruan, Jianfeng Qiu, Ke Xu(通讯作者) **机构:安徽大学人工智能学院、安徽大学光电信息获取与防护技术国家重点实验室、国防科技大学智能科学与技术学院 发表:CVPR 2026 代码:github.com/7HHHHH/Visu...

一、文本编码器真的必要吗?一个反直觉的发现

现有零样本异常检测方法(AnomalyCLIP、WinCLIP、AdaCLIP 等)的标准范式是:用 CLIP 的文本编码器生成"正常"和"异常"的语义锚点,然后计算图像特征与这两个锚点的相似度来判断异常。

图片来源于原论文

VisualAD 的作者首先做了一个探索性实验:把 AnomalyCLIP 的文本编码器完全去掉,只保留两组可学习的视觉向量(分别代表正常和异常),直接在视觉空间中做对比。结果发现:

  • 性能几乎无损
  • 可训练参数减少超过 99%
  • 训练曲线更平滑,AnomalyCLIP 原版反而有"明显波动"

这个发现引出了核心问题:"如果最终决策只由两组潜在向量------正常和异常------控制,那么语言模态真的不可或缺吗?"

作者的回答是:不需要。异常本质上是纹理、形状、颜色的结构性/统计性偏差,这些信息完全可以在视觉域内捕获,不需要跨模态对齐。

二、两个 token + 两个模块:VisualAD 的极简架构

图片来源于原论文

VisualAD 的架构非常简洁:

输入序列: 在冻结 ViT 的输入中插入两个可学习 token:

  • 异常 token(tₐ) :编码"什么是异常"
  • 正常 token(tₙ) :编码"什么是正常"

这两个 token 与图像 patch token 一起经过 ViT 的多层自注意力,逐步获取高层次的正常/异常语义,同时引导 patch token 凸显异常相关的视觉线索。

但仅靠两个 token 和冻结 ViT 还不够------token 缺乏空间感知能力,patch 特征也没有经过异常检测的适配。因此引入两个轻量模块:

空间感知交叉注意力(SCA)

解决的问题: 全局 token 需要"知道"空间信息才能定位异常。

做法: 使用 4 个可学习的锚点查询(anchor queries),通过交叉注意力从带位置编码的 patch token 中提取空间信息,再通过 token 引导的门控机制注入到正常/异常 token 中。

消融实验显示,去掉 SCA 后图像级 AUROC 从 84.7% 暴跌至 50.5%(接近随机),说明空间感知是零样本异常检测的关键。

自对齐函数(SAF)

解决的问题: 冻结 ViT 的 patch 特征没有为异常检测做过适配。

做法: 每层加一个轻量 MLP(单隐层),重新校准 patch 特征。

效果很直观:PCA 可视化显示,加 SAF 后第一主成分方差从 9.0% 提升到 89.1%,异常簇变得更紧凑,与正常簇的距离更远。

图片来源于原论文

异常评分

对 SAF 校准后的 patch 特征,计算其与异常 token 和正常 token 的余弦相似度之差作为逐像素异常分数。多层融合(从第 6、12、18、24 层提取),图像级分数取 top 1% 像素的均值。

三、13 个基准 SOTA:工业和医疗全覆盖

工业领域

数据集 指标 VisualAD (CLIP) AnomalyCLIP AdaCLIP
MVTec AD 图像 AUROC 92.2 91.6 92.0
MVTec AD 像素 AUROC 90.8 91.0 ---
MVTec AD 像素 F₁-max 43.9 38.9 ---
VisA 图像 AUROC 84.7 81.0 79.7
BTAD 图像 AUROC 94.9 88.7 90.0
KSDD2 图像 AUROC 98.0 91.9 94.9
DAGM 图像 AUROC 99.5 98.0 98.3

在 VisA 上超 AnomalyCLIP 3.7 个百分点,BTAD 上超 6.2 个百分点,KSDD2 上超 6.1 个百分点------越是非 MVTec 的数据集,VisualAD 的优势越明显,说明纯视觉方法的泛化能力更强。

医疗领域

数据集 指标 VisualAD (CLIP) VisualAD (DINOv2) AnomalyCLIP
OCT17 图像 AUROC 88.9 91.2 63.7
BrainMRI 图像 AUROC 96.7 93.8 96.4

OCT17 上 VisualAD (DINOv2) 超 AnomalyCLIP 27.5 个百分点,差距非常显著。

骨干网络灵活性

VisualAD 可以适配不同的视觉骨干:

  • CLIP ViT-L/14@336px:图像级精度更强
  • DINOv2 ViT-g/14:像素级定位更强(F₁-max 更高)

这意味着用户可以根据场景需求选择骨干------需要判断"有没有缺陷"用 CLIP,需要定位"缺陷在哪里"用 DINOv2。

四、消融实验:空间感知为什么是零样本异常检测的关键?

核心组件消融(VisA 数据集)

配置 图像 AUROC 图像 AP
完整 VisualAD 84.7 87.6
去掉 SCA 50.5 58.9
去掉 SAF 82.3 85.4
两个都去掉 48.0 56.1

SCA 是命脉(去掉后接近随机),SAF 提供稳定的性能增益(+2.4 AUROC)。

锚点查询数量

锚点数 像素 F₁-max 图像 AUROC
1 33.3 84.7
4 34.6 84.7
16 33.5 84.9
32 32.4 84.5

4 个锚点是最佳平衡点,更多反而引入冗余。

层选择

像素 AUROC 图像 AUROC
{18} 单层 95.2 82.4
{6,12,18,24} 四层 95.8 84.7

多层融合捕获互补尺度的信息,四层组合效果最好。

五、总结与个人点评

VisualAD 的核心贡献:

  • 范式转变:证明了零样本异常检测不需要文本编码器,纯视觉方法可以做到同等甚至更好的效果,且参数量减少 99%+
  • 极简有效的架构:两个可学习 token + SCA + SAF,设计简洁,冻结骨干无需微调
  • 跨域跨骨干通用性:在 13 个工业+医疗基准上 SOTA,支持 CLIP 和 DINOv2 两种骨干
  • 实用指导:需要图像级判断选 CLIP 骨干,需要像素级定位选 DINOv2 骨干

值得关注的局限性:

  • 方法仍需在一个工业数据集上做辅助训练(学习两个 token 和轻量模块),并非完全的"零训练"
  • 作者提到未来方向包括自适应层选择、更细粒度的结构化 token、以及轻量不确定性估计来增强领域迁移的鲁棒性
相关推荐
CoderCodingNo14 小时前
【NOIP】2011真题解析 luogu-P1003 铺地毯 | GESP三、四级以上可练习
算法
iFlyCai14 小时前
C语言中的指针
c语言·数据结构·算法
查古穆14 小时前
栈-有效的括号
java·数据结构·算法
自然语14 小时前
人工智能之数字生命 认知架构白皮书 第7章
人工智能·架构
再一次等风来14 小时前
近场声全息(NAH)仿真实现:从阵列实值信号到波数域重建
算法·matlab·信号处理·近场声全息·nah
汀、人工智能14 小时前
16 - 高级特性
数据结构·算法·数据库架构·图论·16 - 高级特性
大熊背15 小时前
利用ISP离线模式进行分块LSC校正的方法
人工智能·算法·机器学习
XWalnut15 小时前
LeetCode刷题 day4
算法·leetcode·职场和发展
eastyuxiao15 小时前
如何在不同的机器上运行多个OpenClaw实例?
人工智能·git·架构·github·php
蒸汽求职15 小时前
机器人软件工程(Robotics SDE):特斯拉Optimus落地引发的嵌入式C++与感知算法人才抢夺战
大数据·c++·算法·职场和发展·机器人·求职招聘·ai-native