ATSAnomaly 异常检测

适合仅使用正常 OK 图片建立特征库,再判断新图片是否偏离正常分布的场景。当前实现基于 PatchCore 方法,不按普通分类方式进行多轮梯度训练。

训练与校准数据

训练目录只放 OK 图片。独立校准目录也只放 OK 图;留空时按内容去重,固定随机种子 42,留出约 20% 做校准,至少需要 3 张不同图片。校准图不参与特征库构建,训练与独立校准之间内容重复会报错。

仅用 OK 图估计阈值,不能据此声称已测得缺陷召回率、误检率或生产精度;需要独立 OK/NG 测试样本验证业务效果。

构建参数

参数 作用
骨干 ResNet18(较快)或 Wide ResNet50-2(高容量),使用随附预训练权重且冻结参数
图像尺寸 默认 256;完整图片缩放为正方形,不中心裁掉边缘,可能改变长宽比;64~1024 且为 32 的倍数
提取批大小 默认 2,范围 1~16;决定特征提取批次,显存不足时减小
核心集保留比例 默认 0.01;从候选特征中保留的比例,不是保留训练图片的比例
候选特征上限 默认 50000,超出时有界抽样,限制参与核心集选择的候选数量
核心集特征上限 默认 5000,限制最终记忆库特征数

最终核心集数量为 min(核心集特征上限, max(1, int(候选特征数 × 保留比例)))。特征库和图像尺寸增大通常会增加内存、显存及推理计算量。

此页面没有学习率、优化器、epochs 或早停参数;进度分为正常特征提取、核心集采样和 OK 阈值校准三个阶段。

阈值与推理

模型保存为 model.patchcore.pt,推理位于本页面的“异常推理验证”。支持单图或图片文件夹。

异常分数是特征距离,不是概率,不要求落在 0~1。构建时用 OK 校准分数估计图像级和像素级阈值。推理阈值倍率默认 1:小于 1 更敏感,大于 1 更宽松。图像分数达到图像阈值判为 NG,像素掩膜由像素阈值决定,二者不是同一个统计量。

结果包括 OK/NG、异常分数、热力图、叠加图、掩膜、原始分数图及 JSON/CSV。输出目录不得位于输入图片目录中,防止结果再次被当作输入。

当前模型格式不是通用 ONNX、普通分类 PT 或经典推理模型;不要在主“模型推理验证”里选择它。CPU 和单张 NVIDIA GPU 均使用独立异常检测环境。

完整范围见异常检测参数表。