《CutPaste: Self-Supervised Learning for Anomaly Detection and Localization》

1. 不使用异常数据训练出一个高性能异常检测模型

2. 提出了一个2阶段的结构

3. CutPaste:一种数据增强策略,裁剪图片的一部分并随机放在图片的任意位置

4. 因为异常信息分布是没办法提前知道的(你不能知道异常到底会是什么样子,你要提前知道了那就不叫异常了),所以绝大部分单分类模型都是仅仅使用正常样本去得到正常特征,若该模型无法很好匹配某个样本,则认为该样本为异常样本

5. 重构模型或者生成式模型都缺乏捕获抽象的语义信息的能力

6. 目前大多数的模型都主要做的不同类的异常检测(例如训练一个猫的检测器,然后给它一张狗或猪的照片),但对同类的异常检测表现不佳

7. 本文构造了一个两阶段网络,首先使用代理任务进行自监督学习得到一些特征信息,然后使用生成式单分类器学习正常样本的特征分布

8. 本文的创新在于,其提出了一种新的代理任务(proxy task)用于自监督学习,名为CutPaste

9. CutPaste目的是产生一种空间混乱去模拟真实的异常,尽管这种模拟出来的异常和真实异常还是很不一样的,但从结果来看,使用这种方法的模型确实性能更好

10. CutPaste:1)从正常样本种随机裁剪一个大小和长宽比不定的长方形。2)(可选)任意旋转或者调整该区域的像素。3)随便在原图上找一个地方贴上去

11. 自监督损失函数:

其中,CE为交叉熵损失,g为二分类模型,CP为CutPaste

12. CutPaste的变种:1)CutPaste-Scar: 裁剪部分为一个细长的长方形。2)Multi-Class Classification: CutPaste-Scar 和 CutPaste 虽然看起来很相似,但是它们在不同的异常问题有着自己的优势,为了评价它们的能力,文章提出了一个细粒度的3分类器,除了判断是否异常外,还需判断是否为CutPaste-Scar 或 CutPaste的图片。3)Similarity between CutPaste and real defects:CutPaste 创造的图片和真正异常的图片有很大差距,但这并不妨碍它对那种没见过的异常有很强的识别能力

13. 异常定位:这一块我没弄明白,它是随机从正常样本种挖一块出来作为输入样本再重复异常检测步骤?貌似公式就是这个意思呀

其中c函数就是随机从输入x种裁剪一块下来,剩下的就和上面的目标损失函数一样了。有源码,我先看看源码

Leave a Comment