【CVPR 2020】Uninformed Students:Student–Teacher Anomaly Detection with Discriminative Latent Embeddings
1.动机
创建一个学生-教师框架,用于解决高分辨率图像中无监督异常检测和像素异常分割的挑战性问题。
2.两个假设
- 学生网络S在无异常(anomaly-free)图像上进行训练来模仿教师网络T的输出的embedding,将异常检测视为一个特征回归问题。推理时,由于T网络只教过S网络如何拟合正常样本,所以最后在异常样本上,他们输出的embedding差异会很大
- 训练过程采用多个随机初始化的S网络以及一个Pretrained的T网络,那么在正常样本上,多个S网络的embedding会比较一致,而在异常样本上,由于students是随机初始化的,所以在students之间embedding差异也会比较大。
teacher和students的输入是图片的patch(大小:Patchsize * Patchsize),而不是整张图像
3. 方法
3.1 训练Teacher Network
Teacher网络基于Mvtec数据集中每类图像进行预训练,并且训练后不再更新参数,Teacher网络输出D维的特征。所以训练每个Student网络前,得先训练对应类别的Teacher网络。
3.1.1 Knowledge distillation
通过知识蒸馏,将在ImageNet数据集上预训练的骨干网络ResNet18(称为P)输出与从Teacher网络(称为T)获得的描述符的解码版本进行匹配,将强大的预训练网络 P 的知识提炼到 T 中。
描述符的解码版本是指:将Teacher网络输出的特征向量维度转换成P网络输出特征向量的维度。通道数128—>512
因此,该部分损失就是P网络输出与Teacher网络输出的描述符的解码版本之间的L2距离。
3.1.2 Metric Learning
使用三元组学习获得的判别嵌入的性能。
对于每个随机裁剪的补丁 p,制作三元组 (p, p+, p−)。
正补丁 p+ 是对p的图像增强。通过随机平移、改变图像亮度以及添加高斯噪声的添加获得。
负补丁 p− 是由随机选择的不同图像中的随机裁剪创建的
其中,
==消融实验发现,不加这部分损失效果更好==
3.1.3 Descriptor Compactness
通过最小化一个batch内的描述符相似度来增加紧凑度同时减少不必要的冗余,ci,j表示相关矩阵的项:
教师网络T的总损失为:
3.2 训练Student Network
计算T网络提取所有patch的均值和方差用于对T的输出进行归一化。
创建若干个S网络,每个S网络都为输入的图像I输出对应的特征描述符
因此,对于学生网络的损失函数就为:S输出与T输出之间的L2距离,如下图所示
3.3 Anomaly Score
根据学生在推理过程中的预测不确定性(S中的标准差)和回归误差(S与T间的L2距离)得出异常分数
回归误差:
预测不确定性:
最后结合这两个分数,得到最终的像素异常得分:
3.4 Multi-Scale Anomaly Segmentation
通过训练具有不同感受野p的多个学生-教师集成对来检测各种规模的异常,结果求算术平均值
4.实验结论
1、在MNIST+CIFAR-10消融实验发现,不加度量学习这部分损失效果更好。
与以往异常检测采用I-AUROC+P-AUROC指标进行评测不同,本文采用了per-region-overlap (PRO)这个评价指标进行评测。
不同的感受野:p ∈ {17, 33, 65}。
对于某些物体,例如瓶子和电缆,较大的感受野会产生更好的结果。对于其他材料,例如木头和牙刷,较小的感受野会产生更好的结果。组合多个尺度可以增强许多数据集类别的性能。