论文解读CutPaste: Self-Supervised Learning for Anomaly Detection and Localization

本文想解决是单分类问题,通过对正常样本的学习,检测出未知类型的异常,更倾向于缺陷检测。方法整体流程分为两步,首先基于自监督学习方法学习样本表征,继而通过一个单分类器对表征进行分类。通过文中提出的CutPaste实现对于正常样本的表征学习及分类。CutPaste是一种数据增强方法,从图像中裁剪出一块矩形区域粘贴到任意位置。

目前单分类异常检测算法主要思路是训练一个能表征正常样本的模型,并且假设这个模型不能很好的表征异常样本。但是基于像素级的重建损失一般无法获得高级语义信息。
本文采用了一种自监督学习中pretext task的思路,在(a)自监督学习表征阶段,对正样本采用cutpaste生成图像,训练一个二分类CNN,识别正常样本,及添加cutpaste后的图像。在(b)异常检测及定位阶段,CNN用来提取特征,高斯概率密度估计(GDE)使用CNN提取的特征计算异常分数,图像级别的异常检测可以使用GradCAM大致定位异常区域,patch级别的异常定位,对原图分割成若干patch,分别送到CNN--GDE计算异常分数,得出更细粒度异常热力图。


文章中使用的数据增强方法cutpaste和cutpaste(scar)试有cutout和scar启发而来,scar是添加举行细长线。实际自监督学习实验看作三分类问题,正常样本,添加cutpaste的样本,添加cutpaste(scar)的样本。


对于MVTec AD dataset,或者实际的缺陷检测任务,缺陷一般含有拉伸变形,特殊的纹理构造。作者对正常样本使用cutpaste的目的是希望在正常样本的表征学习中,能够通过cutpaste模拟异常样本,作者使用可视化技术发现,添加cutpaste后的正样本与原始正样本距离较大,但是与真实的异常样本接近度较小,说明仍需要更好的数据增强方法。


实验对比,AUC


实验对比,缺陷定位



不同数据增强方法的消融实验



在语义异常检测数据集上的实验
作者将cifar10数据集的异常检测定义为Semantic Outlier Detection,其需要识别车与狗这种语义级别的差异,而MVTec AD dataset代表的缺陷异常检测识别的是细微处的差异。在cifar10上取得69.4 的AUC,高于 Cutout (60:2).但是低于使用旋转预测方法 (91:3 AUC)

(Learning and evaluating representations fordeep one-class classification.自监督学习阶段,对图像旋转不同角度当作不同类别,)
作者认为,对于不同类型的数据集,结合不同数据增强方法的pretext task影响是很大的。对于语义级的数据集,旋转更优,对于细节缺陷检测,本文cutpaste性能更优。需要根据异常的特点,针对性的设计数据增强方法,以在正样本中丰富出与正样本差异较大的样本,最好是能够表现出异常样本的特点。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章