异常检测经典论文:《Catching Both Gray and Black Swans: Open-set Supervised Anomaly Detection》阅读笔记-2:异常分数解析

        在上一篇博客异常检测经典论文:《Catching Both Gray and Black Swans: Open-set Supervised Anomaly Detection》阅读笔记-1_explainable deep fewshot anomaly detection with de-CSDN博客中介绍了一种名为DRA的网络结构(disentangled representations of abnormalities),将异常分为三类:已经见过的异常、近似于人工生成异常的异常和未见过的异常。模型通过在一个CNN特征提取器上增加三个独立的异常检测头,分比用于检测这三种异常。

        其中的已见异常和人工异常训练过程中的损失函数是如下定义的,在异常图像的所有patch中,选择其中异常分数最高的k个patch进行损失计算。这样做的原因是,异常图像中的多数patch也是与正常图像的特征一致的,也就是说,有问题的异常区域只是图像的一部分。

        这里的异常分数作者没有详细的说明,其来源于《Explainable Deep Few-shot Anomaly Detection  with Deviation Networks》,这篇文章的核心就是训练一个异常评分网络,为每个输入的patch生成一个标量的异常分。其提出的网络名为DevNet.

        异常评分网络的训练之前,首先要对异常分数进行指导,(或者说是进行数据的标注),这篇文章中提出了一个“参考分数生成器”,通过对随机选择的一些样本的异常分数进行统计,获得异常分数的均值方差,然后对异常评分网络进行优化,使正常patch的异常分数接近于平均值,使异常patch的分数更显著的高于正常值。因为所提出的异常分评分网络是完全可微的,所以异常分可以反向传播到原始像素,用以指出哪些像素是异常的主要因素。

        DevNet这篇文章我没有仔细研读了,也没有测试其代码。毕竟是21年的文章了,有些老了。其基于统计分布的思想和用异常分数替代异常特征的做法也被后续的文章证明了不是最佳的方案。 DRA网络可以看作是对DevNet的一个优化,其四个异常检测头中的“已知异常检测头”与DevNet作用接近。

        效果测试:在我的这篇博客所提出的数据集上测试了DRA网络的得分,Win11+docker+vscode配置anomalib并训练自己的数据(3)_anomalib训练自己的数据集-CSDN博客,其分数为0.88,与EfficientAD接近(经典无监督模型),这些暴露的异常样本并未能帮助模型取得更高的分数。

  • 3
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值