CVPR 2026 | SubspaceAD:无训练少样本异常检测,方法极其简洁,适合工业快速部署(附代码)

导读

少样本工业异常检测是一个实际痛点:产线上往往只有几张正常样品图片,却需要检出各种未知缺陷。现有方法为此设计了复杂的记忆库、提示学习、多阶段训练等流程,部署门槛高,品类切换成本大。

埃因霍温理工大学的研究团队提出了一个反直觉的方案------SubspaceAD:用冻结的 DINOv2-G 提取 patch 特征,再用 PCA 拟合正常样本的低维子空间,推理时仅计算重建残差即可定位异常。整个方法无需训练、无需记忆库、无需提示调优,每个品类模型存储不到 1MB,新品类上线只需拍 1 张正常样品照片即可完成部署,适合多品种、频繁换线的制造场景。在 1-shot 设定下,SubspaceAD 在 MVTec-AD 上达到图像级 AUROC 98.0%、像素级 AUROC 97.6%,在 VisA 上达到图像级 93.3%、像素级 98.3%,在 1-shot 设定下超越此前的记忆库方法、重建方法和 VLM 方法。

目录

导读

一、少样本异常检测为什么越来越复杂?

[二、DINOv2 + PCA:一个极简但有效的方案](#二、DINOv2 + PCA:一个极简但有效的方案)

[2.1 特征提取](#2.1 特征提取)

[2.2 PCA 子空间建模](#2.2 PCA 子空间建模)

[2.3 推理与异常定位](#2.3 推理与异常定位)

[2.4 工业部署优势](#2.4 工业部署优势)

[三、1-shot 即达 SOTA:两大基准大幅领先](#三、1-shot 即达 SOTA:两大基准大幅领先)

[3.1 主实验:1/2/4-shot 对比](#3.1 主实验:1/2/4-shot 对比)

[3.2 Batched 0-shot:无参考图像的极端场景](#3.2 Batched 0-shot:无参考图像的极端场景)

四、消融实验:哪些设计选择最关键?

[4.1 特征聚合策略](#4.1 特征聚合策略)

[4.2 骨干网络规模](#4.2 骨干网络规模)

[4.3 PCA 解释方差阈值 τ](#4.3 PCA 解释方差阈值 τ)

[4.4 图像分辨率](#4.4 图像分辨率)

五、总结与工业部署展望


论文标题:SubspaceAD: Training-Free Few-Shot Anomaly Detection via Subspace Modeling

**作者:**Camile Lendering, Erkut Akdag, Egor Bondarev

**机构:**AIMS Group, Department of Electrical Engineering, Eindhoven University of Technology

**代码:**https://github.com/CLendering/SubspaceAD


一、少样本异常检测为什么越来越复杂?

工业巡检中,异常样本稀缺是常态。现有少样本异常检测方法大致分为三类:

类别 代表方法 核心思路 局限
重建类 FastRecon、Transfusion 学习只重建正常样本,异常区域重建失败 需要训练、超参调优,易过度泛化
记忆库类 PatchCore、AnomalyDINO 存储正常 patch 特征,推理时近邻匹配 需存储数千至百万级 patch 描述子,推理开销大
VLM 类 WinCLIP、PromptAD、IIPAD 利用 CLIP 等模型的文本提示检测异常 依赖提示调优或辅助数据,遵循"一类一提示"范式

这三类方法性能不断提升,但复杂度也在攀升:数据增强、多阶段训练、辅助损失、大规模记忆库层层叠加。与此同时,DINOv2 等视觉基础模型已经能提取高质量的稠密特征。SubspaceAD 的核心问题是:有了足够好的特征表示,还需要这些复杂流程吗?

答案是不需要。


二、DINOv2 + PCA:一个极简但有效的方案

SubspaceAD 的方法分为两个阶段:拟合(Fitting)和推理(Inference)。

图片来源于原论文

2.1 特征提取

使用冻结的 DINOv2-G(ViT-G/14 with Registers)作为特征提取器。每张图像被切分为 14×14 的 patch,每个 patch 产生一个 1536 维的特征向量。

关键设计:不使用最后一层特征,而是对中间层(第 22--28 层)的 patch token 取平均。原因在于:

  • 最深层倾向于将局部细节压缩为类别级抽象,丢失空间细节

  • 中间层兼具语义信息和结构信息

  • 多层平均能稳定协方差估计,减少单层噪声

对 k 张正常图像各施加 Na=30 次随机旋转增强(0°--345°),得到 k×31 张图像的全部 patch 特征集合 X_normal。

2.2 PCA 子空间建模

对 X_normal 计算均值 μ 和协方差矩阵 Σ,取前 r 个主成分(解释方差阈值 τ=0.99),得到正交基矩阵 C ∈ R^{D×r}。

核心假设:正常 patch 特征分布在一个低维线性子空间附近,异常区域的特征偏离这个子空间。这是一个经典的统计学原理------异常即为主成分子空间的离群点。

2.3 推理与异常定位

对测试图像的每个 patch 特征 x_p:

  1. 投影:x_proj = μ + CC^T(x_p − μ)

  2. 异常分数:S(x_p) = ‖x_p − x_proj‖²(重建残差)

  3. 图像级聚合 :取异常分数最高的 top 1% patch 均值(TVaR统计量)

  4. 像素级可视化:双线性上采样 + 高斯平滑(σ=4)

整个推理过程:672×672 图像在单卡 H100 上约 300ms,其中 DINOv2 前向传播占 270ms,PCA 投影和打分仅需 30ms。模型存储仅需均值向量 μ 和基矩阵 C,每个类别不到 1MB

2.4 工业部署优势

从工程落地角度看,SubspaceAD 相比现有方法有明显的部署优势:

对比维度 记忆库类(PatchCore等) VLM 类(PromptAD等) SubspaceAD
新品类上线 需采集大量正常样本构建记忆库 需设计/训练品类专属提示 拍1张正常图,秒级PCA拟合即可上线
模型存储 需存储数千至百万级patch描述子 依赖完整VLM权重 每品类 <1MB(均值+基矩阵)
训练成本 部分方法需微调 需提示调优或适配训练 零训练,无GPU训练开销
推理依赖 大规模近邻搜索 VLM前向+提示编码 DINOv2前向+矩阵乘法
超参调优 核心集大小、近邻数等 提示模板、学习率等 仅方差阈值τ,且对τ不敏感

对于产线频繁切换品类的场景(如电子元器件多品种混线生产),SubspaceAD 的"拍照即部署"特性意味着:换一个品类只需要采集 1--4 张正常样本、运行一次 PCA 拟合(耗时可忽略),无需重新训练模型或重建记忆库。


三、1-shot 即达 SOTA:两大基准大幅领先

3.1 主实验:1/2/4-shot 对比

在 MVTec-AD 和 VisA 两个标准基准上的完整对比(单位:%):

MVTec-AD(1-shot):

方法 类型 图像 AUROC 图像 AUPR 像素 AUROC PRO
SPADE 记忆库 81.0 90.6 91.2 83.9
PatchCore 记忆库 83.4 92.2 92.0 79.7
WinCLIP VLM 93.1 96.5 95.2 87.1
PromptAD VLM 94.6 97.1 95.9 87.9
IIPAD VLM 94.2 97.2 96.4 89.8
AnomalyDINO 记忆库 96.6 98.2 96.8 92.7
SubspaceAD PCA 98.0 99.0 97.6 93.7

VisA(1-shot):

方法 类型 图像 AUROC 图像 AUPR 像素 AUROC PRO
SPADE 记忆库 79.5 82.0 95.6 84.1
PatchCore 记忆库 79.9 82.8 95.4 80.5
WinCLIP VLM 83.8 85.1 96.4 85.1
PromptAD VLM 86.9 88.4 96.7 85.1
IIPAD VLM 85.4 87.5 96.9 87.3
AnomalyDINO 记忆库 87.4 89.0 97.8 92.5
SubspaceAD PCA 93.3 93.2 98.3 93.4

在 VisA 上,SubspaceAD 的图像级 AUROC 比此前最优的 AnomalyDINO 高出 +5.9% 。

随着 shot 数增加,SubspaceAD 保持领先。4-shot 时,MVTec-AD 图像级 AUROC 达 98.4%,VisA 达 94.5%。

3.2 Batched 0-shot:无参考图像的极端场景

SubspaceAD 还支持 batched 0-shot 设定------直接用整个测试集拟合 PCA(假设大部分 patch 为正常):

方法 MVTec-AD VisA
WinCLIP 91.8 78.1
AnomalyCLIP 91.5 82.1
MuSc 97.8 94.1
AnomalyDINO 94.2 90.7
SubspaceAD 96.6 97.7

在 VisA 上以 97.7% 大幅领先 MuSc(94.1%)达+3.6%。

图片来源于原论文


四、消融实验:哪些设计选择最关键?

4.1 特征聚合策略

策略 MVTec-AD I-AUROC MVTec-AD PRO VisA I-AUROC VisA PRO
Mean-pool(中间7层,22-28) 98.4 94.2 94.5 94.1
Mean-pool(最后7层,34-40) 98.2 92.3 91.9 90.3
Concat(中间7层) 98.6 94.2 93.8 93.1
仅最后一层 97.5 91.4 89.1 88.3

仅用最后一层特征在 VisA 上 I-AUROC 掉至 89.1%,中间层平均策略比最后层平均高出 +2.6%(VisA I-AUROC)

4.2 骨干网络规模

DINOv2 从 ViT-S 到 ViT-G 的性能单调递增,验证了更强的基础特征直接增强 PCA 子空间建模效果。

4.3 PCA 解释方差阈值 τ

τ 在 0.95--0.99 范围内性能稳定。但 τ=1.00 时性能崩溃(MVTec-AD I-AUROC 从 98.0% 骤降至 45.3%),因为保留全部方差等于不做降维,丧失了"异常在残差子空间中"这一核心机制。

4.4 图像分辨率

672px 在两个数据集上均为最优分辨率。VisA 对分辨率更敏感(高分辨率收益更明显),MVTec-AD 从 448px 起即相对稳定。

图片来源于原论文


五、总结与工业部署展望

SubspaceAD 提出了一个极其简洁的少样本异常检测方案:冻结 DINOv2-G 提取中间层 patch 特征 → PCA 拟合正常子空间 → 重建残差作为异常分数。无需训练、无需记忆库、无需提示调优,模型存储不到 1MB,单张图像推理约 300ms。

方法的核心洞察是:当视觉基础模型的特征质量足够好时,经典的统计方法就能胜过复杂的深度学习流程。这与近年来异常检测领域不断"加法"的趋势形成对比------越来越多的模块、损失函数和训练策略被堆叠上去,但 SubspaceAD 证明了"做减法"同样可以达到 SOTA。

从工业部署角度看,SubspaceAD 的价值不仅在于精度领先,更在于它将异常检测系统的部署复杂度降到了极低水平:无需 GPU 训练、无需大规模数据采集、无需专业算法工程师调参,产线工程师拍几张正常样品照片即可完成品类上线。对于多品种、小批量、频繁换线的制造场景,这种"即拍即用"的特性具有直接的工程价值。

值得注意的局限:方法强依赖 DINOv2-G 的特征质量(换用 ViT-S 性能明显下降),DINOv2-G 本身是一个较大的模型(约 1.1B 参数),对边缘设备的推理能力有一定要求。此外,PCA 假设正常特征分布在线性子空间附近,对某些非线性分布模式可能不够灵活。

相关推荐
翼龙云_cloud2 小时前
阿里云代理商:轻量服务器部署 OpenClaw 集成钉钉实现自动化办公
服务器·人工智能·阿里云·钉钉·openclaw
LilySesy2 小时前
【案例总结】震撼巨作——SAP连接钉钉WEBHOOK
运维·人工智能·ai·钉钉·sap·abap·webhook
星空2 小时前
从LLM到Agent Skill学习笔记
人工智能
新缸中之脑2 小时前
12个最佳AI演示文稿(PPT)制作工具
人工智能·powerpoint
火山引擎开发者社区2 小时前
从“内容苦力”到“高效创作者”,你只差一个 ArkClaw
人工智能
开开心心就好2 小时前
电子教材下载工具,支持多链接批量下载
windows·随机森林·计算机视觉·pdf·计算机外设·逻辑回归·excel
weiyvyy2 小时前
嵌入式硬件接口开发的流程
人工智能·驱动开发·单片机·嵌入式硬件·硬件架构·硬件工程
罗小罗同学2 小时前
首个病理AI领域的扩散基础模型CytoSyn开源,可生成高度逼真、符合生物学规律的H&E染色病理切片
人工智能·开源·医学图像处理·医工交叉·医学ai
code_pgf2 小时前
Jetson Orin NX 16G设备上配置AI服务自动启动的方案,包括Ollama、llama-server和OpenClaw Gateway三个组件
数据库·人工智能·安全·gateway·边缘计算·llama