AD Workbench 的算法都输出相同的结果:逐像素的异常度热力图和一个代表整张图像的分数,判定方式为 score ≥ Threshold → NG。区别在于用什么提取特征、如何衡量异常度。这一区别决定了所需数据量、速度以及擅长的缺陷类型。
两种训练方式
A. 统计・特征收集型(1-pass) — PaDiM、PatchCore、SPADE、AnomalyDINO、WinCLIP、HoleMetric、Tiled 2 种
将良品图像扫描一遍,收集特征或计算均值与协方差。由于没有反向传播,也就没有 epoch 的概念,训练只需几秒到几分钟即可完成。但由于要保存收集到的特征,模型文件可能会变大。
B. 梯度下降训练型 — EfficientAD、FastFlow(20 epochs)、Dinomaly2(5,000 iterations)
需要真正训练神经网络权重,因此耗时较长。相应地,推理速度快、模型文件小。当产线节拍时间很紧时,可以作为候选。
11 种算法一览
| 算法 | 特征提取 | 异常度计算 | 主要优势 |
|---|---|---|---|
| PaDiM | WideResNet50-2 | 与各位置高斯分布的马氏距离 | 位置固定的对象,缺陷位置清晰 |
| PatchCore | WideResNet50-2 | 记忆库的 k 近邻距离 | 顶级精度(推荐默认) |
| SPADE | WideResNet50-2 | 与 K 张相似良品的逐位置最小距离 | 简单,小规模数据可快速搭建 |
| WinCLIP | CLIP ViT-B-16+ | 与“良品/不良品”文本的相似度 | 几乎没有良品图像也能立即尝试 |
| EfficientAD | 轻量专用网络 | Teacher–Student 不一致 + 重建误差 | 推理非常快 |
| FastFlow | WideResNet50-2 | 归一化流的概率密度 | 模型小、推理快 |
| AnomalyDINO | DINOv2 ViT | patch token 最近邻余弦距离 | 复杂形状、few-shot、位置变动 |
| Dinomaly2 | DINOv2 + 解码器 | 编码器与解码器的特征差异 | 用单个模型整合多个视角 |
| HoleMetric | 传统视觉 | 对齐后的像素・cell 统计 | 孔・cell 级微细形状、CPU、训练 3 秒 |
| AnomalyDINO Tiled | DINOv2 ViT-B/14 | 原始分辨率下各 tile 的记忆库 | 高分辨率微细缺陷、异物・破损 |
| PatchCore Tiled | WideResNet50-2 | 各 tile 的 coreset 记忆库 | 良品 20 张以上、微细表面缺陷 |
基础模型(Foundation Model)带来的改变
WinCLIP、AnomalyDINO 和 Dinomaly2 直接使用以超过 1 亿张图像预先训练的通用视觉模型(CLIP、DINOv2)的特征。这些模型已经训练得能够很好地表达“物体的结构”,因此即使只有几张良品图像,也能提取出区分正常与异常的特征。WinCLIP 使用同时学习图像与文本的 CLIP,即使良品图像为 0 张,也会尝试根据与“没有划痕的零件”“有划痕的零件”这类文本的相似度进行判断(Zero-shot)。在收集数据之前,可用于评估检测是否可行。
高分辨率微细缺陷:tile 方式
大多数模型会把图像缩小到 512 像素左右再处理。如果把 2048 像素的原图缩小为四分之一,直径 4 像素的孔堵塞就会变成 1 像素而消失。tile 方式先对零件进行对齐,再以原始分辨率切分为 518 像素的 tile(重叠 10%),并为每个 tile 分别建立记忆库。在原图中一个孔呈现为 4×4 patch,因此 cell 级缺陷能保留在特征中。
HoleMetric 不使用深度学习,而是通过对齐和统计,测量每个孔(cell)的亮度、暗部比例和偏差,并用 cell_report.csv 说明是哪个 cell 导致 NG。建议与擅长非典型异常(异物、破损)的 AnomalyDINO Tiled 搭配使用。
选择指南
| 情况 | 推荐 | 理由 |
|---|---|---|
| 良品 0~10 张(可行性评估) | WinCLIP · AnomalyDINO | 以 Zero/Few-shot 立即尝试 |
| 良品 10~50 张 | AnomalyDINO · SPADE · HoleMetric · Tiled | 无需训练的记忆库・统计方式 |
| 良品 50~300 张 | PatchCore · AnomalyDINO · PaDiM | 顶级精度 |
| 良品 300 张以上 | PatchCore · Dinomaly2 | 视角多时用 Dinomaly2 一套覆盖 |
| 用夹具固定,始终在同一位置 | PaDiM · PatchCore · HoleMetric | 逐位置基准完全吻合 |
| 对象会移动或略有旋转 | AnomalyDINO | 对位置变化相对稳健 |
| 连接器、注塑件等复杂形状 | AnomalyDINO · Dinomaly2 | 更擅长表达复杂结构 |
| 孔・针脚微细形状(2048px) | HoleMetric + AnomalyDINO Tiled | 在原始分辨率下按 cell 测量 |
| 在线节拍时间很紧 | EfficientAD · FastFlow | 推理快、模型轻 |
最终还是靠实验决定
上表只是起点。即使是同一种零件,排名也会随光照和缺陷类型而变化。在 AD Workbench 中,在 Setup 中勾选多个候选算法并点击 Auto Run,就会用相同的训练・评估数据全部运行,便于并排比较分数分布和热力图。比较依据请参阅模型评估与现场运维。