精读:PaDiM: a Patch Distribution Modeling Framework for Anomaly Detection and Localization
1 引子
本文介绍了PaDiM (Patch Distribution Modeling)框架 ,这是一种在单类学习环境中同时进行异常检测和定位 的新方法。PaDiM利用预训练的卷积神经网络(CNN)进行图像块嵌入,并通过多元高斯分布获取正常类的概率表示。该方法还利用了CNN的不同语义层次之间的相关性,以更好地定位异常。PaDiM在MVTec AD和STC数据集上的表现超过了当前最先进的方法,并且具有较低的复杂度,适合工业应用。
图1 展示了MVTec AD数据集的图像样本。 |
|
|---|---|
| · 左列:正常图像。 · 中列:带有地面真值的异常图像。 · 右列:PaDiM模型生成的异常热图,黄色区域表示检测到的异常,蓝色区域表示正常区域。 |
2 无监督方法
2.1 基于重建的方法
基于重建的方法通常使用自动编码器(AE)、变分自动编码器(VAE)或生成对抗网络(GAN)等神经网络架构,仅训练正常类图像。因此,异常图像由于无法良好地重建而被识别为异常。常用的方法包括使用重建误差作为异常分数,虽然基于重构的方法非常直观且可解释,但由于AE有时也会对异常图像产生良好的重构结果,因此其性能受到限制。
2.2 基于嵌入相似度的方法
这类方法利用深度神经网络提取有意义的特征向量,这些向量用于检测整个图像的异常。异常分数通常是测试图像嵌入向量与正常参考向量之间的距离。这些方法在检测精度上表现良好,但通常缺乏对异常区域的可解释性。推理复杂度与数据集的规模成线性关系。这可能会阻碍该方法的工业应用。
2.3 作者的方法PaDiM
PaDiM生成用于异常定位的patch嵌入,与现有方法类似。然而,PaDiM通过一组高斯分布 来描述正常类,并对预训练CNN模型的语义层次之间的相关性进行建模。受到之前研究的启发,选择了ResNet、Wide-ResNet和EfficientNet作为预训练网络。这些网络能够提取丰富的图像特征,帮助提高异常检测和定位的精度。这种建模方法,PaDiM 的性能优于目前最先进的方法。此外,他的时间复杂度很低,而且与预测阶段的训练数据集大小无关。
3 Patch 分布建模
A. 嵌入提取
使用预训练的CNN生成补丁嵌入向量。嵌入过程类似于SPADE方法,在训练阶段,将正常图像的每个补丁与其在CNN激活图中的对应位置关联,并将不同层的激活向量连接起来以获取包含多语义层次信息的嵌入向量。

图2展示了PaDiM学习每个图像块位置的高斯参数(μij,Σij)。这些参数通过预训练的CNN从多个训练图像中提取嵌入向量来学习。
B. 常态学习
假设每个patch位置的嵌入向量由多变量高斯分布生成,通过样本均值和样本协方差矩阵来估计高斯分布的参数。

C. 推理:异常图的计算
使用Mahalanobis 距离给测试图像中位于( i , j )位置的斑块打分,计算测试图像patch的异常分数,生成异常图

4 实验
4.1 数据集和衡量标准
衡量标准:
AUROC(接收者工作特征曲线下面积):评估真阳性率(正确分类为异常的像素百分比),但偏向于较大的异常。
PRO-score(每个区域重叠得分):绘制每个连接组件的正确分类像素率与误判率的曲线,并计算其归一化积分。高PRO分数表示大小异常点定位准确。
数据集:
MVTec AD:用于工业质量控制的异常定位算法测试,包括15类约240张图像(分辨率700x700至1024x1024),10个对象类和5个纹理类。
RdMVTec AD:改进版本,随机旋转和裁剪训练集和测试集,以更真实地评估模型性能。
STC(上海科技园):模拟静态摄像头的视频监控,包含274,515个训练帧和42,883个测试帧,分辨率为856x480。
4.2 实验设置
使用不同的预训练骨干网络(ResNet18、Wide ResNet-50-2和EfficientNet-B5)训练PaDiM,从前三层提取patch嵌入向量,以结合不同语义层的信息。随机降维(Rd)应用于嵌入向量,模型名称指示使用的骨干网络和降维方法(如PaDiM-R18-Rd100)。预处理图像和定位图采用双三次插值法和高斯滤波器。
还实现了基于重建的VAE,使用ResNet18作为编码器,8x8卷积潜变量进行训练,并在MVTec AD上进行数据增强操作。训练持续100个epoch,初始学习率为0.0001,batch size为32。异常图的定位对应于像素级L2误差。
5 结果
5.1 消融研究
层间相关性:
结合高斯建模和马氏距离用于对抗攻击检测和异常检测,但没有像PaDiM那样对不同语义层进行建模。在使用ResNet18骨干网时,仅使用前三层中的一层(Layer 1、Layer 2或Layer 3)和将前三层输出相加(Layer 1+2+3)的异常定位性能(见表1)。

表1 显示,使用第3层的AUROC结果最佳,因为其包含更高的语义层次信息,但PRO分数略低于第2层,原因可能是分辨率较低。PaDiM-R18结合不同层信息并考虑层间相关性,性能优于单独使用层的组合方法(Layer 1+2+3),在AUROC和PRO分数上分别提升了1.1和1.8个百分点。
降维:
PaDiM-R18估计多元高斯分布使用448维的patch嵌入向量。研究了主成分分析(PCA)和随机特征选择两种降维方法。

表2 显示,在相同维数下,随机降维(Rd)的AUROC和PRO分数均优于PCA,分别提高了至少1.3和1.2个百分点。随机将嵌入向量减小到100维,对异常定位性能的影响很小,AUROC和PRO分数仅分别下降0.4和0.3个百分点,显著降低了模型的时间和空间复杂度。
5.2 与最新技术的比较
定位:

表3 显示,在MVTec AD上的异常定位性能,PaDiM-WR50-Rd550在平均AUROC和PRO分数上均优于其他方法。PaDiM-R18-Rd100模型也在MVTec AD各类别的平均AUROC上至少高出0.2个百分点。
PaDiM在纹理类图像上表现尤为突出,比第二好的模型SPADE在PRO分数和AUROC上分别高出4.8和4.0个百分点。

表4:PaDiM模型与最先进的模型在STC数据集中异常定位的比较(AUROC)
检测:

表5 显示,PaDiM-WR50-Rd550在AUROC上优于除MahalanobisAD以外的所有方法,PaDiM-EfficientNet-B5在所有类别上的平均AUROC至少高出2.6个百分点。与MahalanobisAD相反,PaDiM还能进行异常分割,从而更精确地确定图像中的异常区域。
5.3 非对齐数据集的异常定位
在非对齐数据集Rd-MVTec AD上,PaDiM-WR50-Rd550的AUROC和PRO分数均优于SPADE和VAE。

表6显示,与普通MVTec AD上的结果相比,SPADE和VAE在Rd-MVTec AD上的性能下降幅度更大,PaDiM更具鲁棒性。
5.4 可扩展性增益
时间复杂度:
PaDiM的训练时间复杂度与数据集大小成线性关系。
使用预训练CNN,无需深度学习训练,小数据集上训练速度快。

表7 显示,PaDiM的推理时间比SPADE快,因为NN搜索计算成本高。
内存复杂度:
PaDiM的空间复杂度独立于数据集大小,仅与图像分辨率相关。

表8显示,PaDiM在STC数据集上所需内存比SPADE少7倍,用户可以根据需要调整骨干网络和嵌入大小。
6 结论
PaDiM框架用于在单类学习环境中进行异常检测和定位,该框架基于分布建模。在MVTec AD 和STC数据集上实现了最先进的性能。此外,还将评估协议扩展到了非对齐数据,首批结果表明,PaDiM可以在这些真实的数据上保持稳健。PaDiM的内存和时间消耗低,使用方便,适用于各种应用,如视觉工业控制。
原文
PaDiM: a Patch Distribution Modeling Framework for Anomaly Detection and Localization
Thomas Defard, Aleksandr Setkov, Angelique Loesch, Romaric Audigier
Universit e Paris-Saclay, CEA, List , F-91120, Palaiseau, France
thomas.defard@imt-atlantique.net, { aleksandr.setkov, angelique.loesch, romaric.audigier } @cea.fr

图1 展示了MVTec AD数据集的图像样本。