【论文笔记】【CVPR2020】【异常检测 】Uninformed Students: Student–Teacher Anomaly Detection

[CVPR2020] Uninformed Students: Student–Teacher Anomaly Detection with Discriminative Latent Embeddings

会议:CVPR 2020
连接:[1911.02357] Uninformed Students: Student-Teacher Anomaly Detection with Discriminative Latent Embeddings (arxiv.org)
作者:Paul Bergmann, Michael Fauser, David Sattlegger, Carsten Steger

1. Intro

【论文笔记】【CVPR2020】【异常检测 】Uninformed Students: Student–Teacher Anomaly Detection_第1张图片

用teacher-students框架做无监督的异常检测

这篇文章基于两个假设:

  1. 在仅包含正常样本的数据集上,让pretrained的teacher模型去教没有pretrain的student模型,使得teacher模型和student模型输出的embedding尽可能一致。那么在inference时,由于teacher只教过student如何embed正常样本,所以正常样本上teacher模型和student模型输出的embedding会比较相似,但异常样本上两者输出的embedding差异会比较大;
  2. 如果在1中的训练过程中,采用多个随即初始化的students模型和一个pretrained teacher模型,那么在正常样本上students之间的embedding比较一致,而在异常样本上,由于students是随机初始化的,且teacher并没有在异常样本上教过他们,所以在students之间embedding差异也会比较大。

利用这两个假设:

在inference时,如果在某个样本上,teacher和students的embedding差异比较大,且students的embeddings之间差异也比较大,那么就说明该样本为异常样本。

**teacher和students的输入是图片的patch,而不是整张图像。**这样,当在某个patch上teacher和students表现差异很大,或者students之间表现差异很大时,就可以认为这个patch为异常,从而定位到了异常的区域。


2. Method

2.1 训练Teacher Network(T)

T完全基于自然图像(ImageNet)进行预训练,并且训练后不再更新参数,T输出D维的特征,该特征具有强语义性(semantically strong descriptors)。可通过Knowledge distillation或Metric Learning进行训练。

【论文笔记】【CVPR2020】【异常检测 】Uninformed Students: Student–Teacher Anomaly Detection_第2张图片

2.1.1 Knowledge distillation

由预训练网络P知识蒸馏得到,使用L2 loss优化:

在这里插入图片描述

D是一个Decoder(FC)使输出变为d 维向量。

2.1.2 Metric Learning

Metric Learning 常见方法有对比学习、triplet等

【论文笔记】【CVPR2020】【异常检测 】Uninformed Students: Student–Teacher Anomaly Detection_第3张图片

具体可以参考这篇博客
度量学习(Metric learning、损失函数、triplet、三元组损失、fastreid)_u012863603的博客-CSDN博客_细粒度损失函数

当预训练网络不好获取时,可通过自监督方式来训练T

随机裁剪处一个patch p,制作三元组 ( p , p + , p − ) (p, p^+, p^-) (p,p+,p),p+是对p的图像增强,randomly translating the crop location、改变亮度、加噪声,p-是从其他图像上随机裁剪出来的。

损失函数:
在这里插入图片描述

【论文笔记】【CVPR2020】【异常检测 】Uninformed Students: Student–Teacher Anomaly Detection_第4张图片

2.1.3 Descriptor Compactness

通过最小化一个batch内的描述符相似度来增加紧凑度(compactness)同时减少不必要的冗余,ci,j表示相关矩阵的项:
在这里插入图片描述

2.1.4 总loss

在这里插入图片描述

2.2 训练Student Network(S)

利用T提取计算训练集中所有patch的均值与标准差,用于数据标准化(作用于T的输出)

构建M个S网络,每个S都为输入图像I输出特征描述符

具有限制感受野(大小为p)的网络S可以在一次前向传播过程中为I中每个像素点生成密集预测,而不需要切分为多个块P(r,c)

将S的输出建模为高斯分布,优化以下目标,其中Si表示对像素点(r, c)的预测,yT为T对应Patch的输出,计算L2距离:

在这里插入图片描述

目的是拉近在正常数据上Teacher和Student的输出

2.3 Score

回归误差 Regression Error (S与T之间的L2距离)

在这里插入图片描述

预测不确定性 Predictive Uncertainty (S中的标准差)

在这里插入图片描述

综合以上,得到最终分数:

在这里插入图片描述

2.4 多尺度异常分割

使用不同的感受野 p,结果求算术平均

在这里插入图片描述

【论文笔记】【CVPR2020】【异常检测 】Uninformed Students: Student–Teacher Anomaly Detection_第5张图片


3 Experiment

3.1 Cifar10、Mnist 语义异常检测

把整张图像resize到patch大小输入网络

metric:AUC
【论文笔记】【CVPR2020】【异常检测 】Uninformed Students: Student–Teacher Anomaly Detection_第6张图片

3.2 MVtec-AD 缺陷检测

metric:PRO

【论文笔记】【CVPR2020】【异常检测 】Uninformed Students: Student–Teacher Anomaly Detection_第7张图片

网络结构(p=65)

【论文笔记】【CVPR2020】【异常检测 】Uninformed Students: Student–Teacher Anomaly Detection_第8张图片

你可能感兴趣的:(计算机视觉,深度学习,异常检测,深度学习,计算机视觉)