异常检测论文(一):CutPaste

CutPaste: Self-Supervised Learning for Anomaly Detection and Localization

(基于自监督学习的图像异常检测的定位方法)

1 摘要

       一个高性能的缺陷检测模型,能够在没有异常数据的情况下检测出未知的异常缺陷(即没有异常数据标签也可以学习到检测异常的能力)。该篇论文提出了一个两阶段框架:首先学习到自监督的深度表示,然后在学习到的表示上构建一个单分类器one-class classifier.

2 具体框架

       深度表示的学习:通过CutPaste!!CutPaste流程:对于一个输入样本,

  1. 先随机cut一个小的任意大小的矩形区域patch
  2. 选择性的对该patch进行旋转或改变像素值操作
  3. 将改变后的patch paste到原样本的任意一个地方

经过CutPaste之后可以得到一个假定的异常样本,此假定的异常样本和真实的异常样本相似,相当于可以构建异常样本的数据集进行学习训练。CutePaste的具体流程可见下图2.1

10

图2.1 同一个CNN判别网络,可将CutPaste之后的图像判别为异常

创建了完整的有正常有异常的样本之后,再利用神经网络进行学习,目标函数为:

其中CP表示CutPaste, g表示经过神经网络学习之后的判别分类器,CE表示交叉熵损失,即LCP可以表示该分类器鉴别正常与异常的能力,LCP越小,能力越强。

以上流程是完整的训练过程,通过CutPaste创建异常数据进行训练,但是注意CutPaste虽然与一些缺陷很类似,但是并不能完全代替所有缺陷,只是在训练过程中,将经过CutPaste之后的样本放入神经网络中学习到的embeding与异常样本的embeding有同样的异常性。即第一阶段只是学习正常和异常的深度表示,即embeding!

       第二阶段,解决如何正确判别embeding是正常还是异常:DGEGaussian Distribution Estimination,利用GDE计算异常分,某个值以下的判定为异常。此阶段指针对测试阶段。

3 缺陷定位

       若图片判断为异常,则将其cut成多个patch,然后对patch计算异常得分,异常的patch中则有缺陷的存在。

参考文章:https://blog.csdn.net/qq_34809969/article/details/119183149

参考代码(非官方):https://github.com/Runinho/pytorch-cutpaste

  • 5
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值