CutPaste:基于自监督学习的图像异常检测和定位框架
论文标题 | CutPaste: Self-Supervised Learning for Anomaly Detection and Localization
论文来源 | CVPR 2021
论文链接 | https://arxiv.org/abs/2104.04015
源码链接 | 未公布
TL;DR
论文中提出了一种高性能的图像缺陷异常检测模型,可以不依赖于异常数据来检测未知的异常模式。框架整体属于 two-stage:首先通过自监督学习方法来学习正常图像的表示,然后基于学习到的图像表示来构建单分类器。CutPaste 技术主要是通过图片剪切然后再粘贴至其它位置来构造负样本。实验部分在 MVTec 数据集中验证了模型对图片缺陷检测的有效性,如果不使用预训练那么可以比当前 baselines 的 AUC 提升 3.1 ,如果基于 ImageNet 进行迁移学习那么 AUC 可以达到 96.6。
Algorithm/Model
论文中的框架如下所示:
主要包含两步:
- 基于自监督学习和 CutPaste 数据增强的图像表示学习;
- 异常检测和定位;
自监督表示学习
CutPaste 仅是一个数据增强方法,从图像中裁剪出一块矩形区域粘贴到任意位置,见名知意。
结合自监督学习,模型训练的目标函数如下:
包括正常样本误差和生成的异常样本误差,其中 表示正常样本集合, 表示数据增强的样本, 表示二分类器, 表示交叉熵。
数据增强除了 CutPaste 还有很多形式,论文中比较了不同 aug 方法的效果如下
异常分数计算
学习到图片表示 后,需要计算样本异常分数。论文中采用的是类似核密度估计 KDE 或者高斯密度估计 GDE 的方法。
由于非参数化的 KDE 方法需要很多样本进行估计,因此论文中采用的是简单的参数化的 GDE 方法,计算公式如下
其中 和 是基于正常数据学习到的参数。
Patch 定位
论文中直接学习到 CutPaste 裁剪的 Patch 表示,然后训练一个 CNN 异常检测器来判断 Patch 的异常分数。
训练 Patch Representation 的目标函数如下所示
其中 表示在位置 裁剪的 patch。在模型测试阶段根据步长裁剪所有的 patch 判断异常分数,然后使用高斯平滑每个像素点的异常分数得的最终的异常区域。
Experiments
实验对比效果如下图所示
论文中还提供了非常多基于迁移学习的对比实验,有兴趣可以参考原文。