自学所用

文章提出了用二维归一化流实现的FastFlow,并将其用作概率分布估计;FastFlow可以作为一个插件模块,与任意深度特征提取器(如RestNet和视觉转换器)一起使用,用于无监督的异常检测和定位;在训练阶段,FastFlow学会将输入的视觉特征转化为可处理的分布,并在推理阶段获得识别异常的可能性。

由于异常的概率密度较低,正常和异常数据通常表现出严重的长尾分布,甚至在某些情况下没有异常样本;

提出的FastFlow解决了原始的一维归一化流模型破坏了二维图像固有的空间位置关系,限制了流模型的能力,同时推断的复杂性很高,限制了实用价值等问题。FastFlow将原有的归一化流扩展到二维空间,使用全卷积网络作为子网络,它可以保持空间的相对位置,提高异常检测的性能,同时支持整幅图像的端到端判断,将异常检测和定位结果一次性直接输出,提高了推断效率。

滑动窗口法用于像素异常定位是,需要测试大量图像块,计算复杂度高。因此使用FastFlow通过端到端测试阶段获得全局和局部特征分布的可学习建模;视觉转换器可以提供全局感受野,更好地利用全局和局部信息,同时保持不同深度的语义信息;

在训练阶段,使用正态图像进行训练,以二维方式将原始分布转换为标准正态分布;在推理中,我们使用二维特征上的每个位置的概率值作为异常值;

异常检测方法:

现有的异常检测方法可以归纳为基于重构的方法和基于表示的方法;基于重构的方法通常利用自动编码器或者生成对抗网络等生成模型对正常数据进行编码和重构;采用基于表示的方法,从视觉转换器或者resnet中提取视觉特征,通过FastFlow模型建立其分布。

用于异常检测的特征提取器:

使用CNN和VIT的网络来证明该方法的普适性。

方法论:

问题定义和基本方法:

提出FastFlow将从典型骨干网络提取的正态图像的高维视觉特征投影到标准正态分布中。

特征提取器:

通过RESNET或者视觉转换器从输入图片中提取代表特征,只使用某一层的特征;对于resnet,我们直接使用前三个块中最后一层的特征,并将这些特征放入三个对应的FastFlow模型中。

二维流动模型:

二维流:,用通过双射可逆映射将图像特征投影到隐藏变量z

,利用估计图像特征的对数似然:

的双射可逆流模型的雅可比行列式,是二维流动模型的参数。推断中,异常图像的特征应该是非分布的,因此,异常图像的似然比正常图像的似然要低,这种似然可以作为异常评分。具体的,将每个通道的二维概率相加,得到最终的概率图,并使用双线性插值将其上采样到输入图像的分辨率。

流模型是通过将多个可逆转块按以下顺序堆叠而成:

在每个块中使用仿射耦合层:

:是两个神经网络的输出。

:沿通道维度执行分裂和连接操作;在默认子网中采用二维卷积层,保留流模型中的空间信息;采用3×3卷积和1×1卷积交替出现的全卷积网络,在流模型中保留空间信息。

实验:

从推理速度、附加推理时间和附加模型参数等方面对FastFlow等方法进行复杂性分析(附加是指不考虑主干本身);

定量结果:

消融实验:

比较不同骨干网络的子网在AUC和推理速度下交替使用3×3和1×1卷积核和只使用3×3卷积核的情况:

特征可视化和生成:

FastFlow模型是一个双向可逆概率分布变换器,在前向过程中,它将来自主干网络的特征图作为输入,并将其原始分布转换为二维空间中的标准正态分布。在逆过程中,FastFlow的逆过程可以从特定的概率采样变量中生成视觉特征。

通过FastFlow模型转发得到概率图。FastFlow 成功地将原始分布转换为标准正态分布。然后,将噪声干扰添加到该概率图中黄色箭头指示的某个空间区域,并使用逆 Fastflow 模型从污染概率图中生成皮革特征张量。其中在这个特征张量中可视化了一个通道的特征图,可以观察到新的异常出现在对应的污染位置。

FastFlow: Unsupervised Anomaly Detection and Localization via 2D Normalizing Flows相关推荐

  1. 【Paper】A Comparative Evaluation of Unsupervised Anomaly Detection Algorithms for Multivariate Data

    论文原文:HTML 论文年份:2020 论文被引:396(2020/10/03) 696(2022/03/26) 文章目录 Abstract Introduction Categorization o ...

  2. 【读论文】A Deep Neural Network for Unsupervised Anomaly Detection and Diagnosis in Multivariate Time...

    目录 1. 这篇文章的主要研究内容 2. MSCRED Framework 1. Problem Statement 2. Overview (1)Characterizing Status with ...

  3. 【时序异常检测翻译】1.DeepAnT: A Deep Learning Approach for Unsupervised Anomaly Detection in Time Series

    DeepAnT:一种用于时间序列中无监督异常检测的深度学习方法 摘要 传统的基于距离和密度的异常检测技术无法检测流数据中常见的周期性和季节性点异常,在当前物联网时代,时间序列异常检测存在很大差距.为了 ...

  4. MVTec AD—A Comprehensive Real-World Dataset for Unsupervised Anomaly Detection 2019 CVPR

    MVTec AD-A Comprehensive Real-World Dataset for Unsupervised Anomaly Detection 2019 CVPR 作者:Paul Ber ...

  5. CutPaste: Self-Supervised Learning for Anomaly Detection and Localization 全文翻译+详细解读

    CutPaste: Self-Supervised Learning for Anomaly Detection and Localization 全文翻译+详细解读 文章速览 全文翻译及详细解释 0 ...

  6. Unsupervised Anomaly Detection via Variational Auto-Encoder for Seasonal KPIs in Web Applications

    Unsupervised Anomaly Detection via Variational Auto-Encoder for Seasonal KPIs in Web Applications 网络 ...

  7. 【Donut论文】Unsupervised anomaly detection via variational auto-encoder for seasonal kpis...

    简述 本文提出的 Donut,基于 VAE(代表性的深层生成模型)的无监督异常检测算法,伴有理论解释,可以无标签或偶尔提供的标签下学习. 本文贡献 1,Donut 里的三项技术:改进的 ELBO,缺失 ...

  8. CutPaste:Self-Supervised Learning for Anomaly Detection and Localization 论文解读(缺陷检测)

    CutPaste:Self-Supervised Learning for Anomaly Detection and Localization CutPaste:用于异常检测和定位的自监督学习 文章 ...

  9. CutPaste Self-Supervised Learning for Anomaly Detection and Localization

    CutPaste: Self-Supervised Learning for Anomaly Detection and Localization 用于异常检测和定位的自监督学习 简洁版 问题:异常的 ...

最新文章

  1. 如何把opencv编译到matlab,c – 为OpenCV编译MATLAB绑定
  2. Java消息系统简单设计与实现
  3. 如何在 C# 8 中使用默认接口方法
  4. 最全JavaScript基础总结~建议收藏
  5. MySQL练习题和代码附录
  6. 从 阿西莫夫机器人三大定律 谈起
  7. Church's Coupon Performance Test Script
  8. 大学python教材课后答案_大学慕课2020年Python编程基础课后答案
  9. 1分钟看懂区块链和分布式网络
  10. ubuntu中GoldenDict的使用
  11. 学习信号量 sem_init、sem_destroy、sem_post、sem_wait、sem_trywait、sem_getvalue
  12. 区块链触手可及 复杂美BAAS平台
  13. python去掉最高分和最低分怎么算平均分_去掉最高分和最低分算平均分并进行排名...
  14. python爬虫表格table_Python基于pandas爬取网页表格数据
  15. APP系列,学院专题讲座图像记录软件推荐
  16. linux之vim下载及编写规则
  17. JVM系列(十三)——垃圾回收器
  18. java模拟抛物线_小tips:用java模拟小球做抛物线运动
  19. tp5.1微信支付开发系列(一)
  20. 在一个人陷入困境时,最需要的是别人的关心与帮助

热门文章

  1. Gazebo仿真平台模型搭建与修改
  2. Python常见的魔方方法
  3. 基于AIE平台的决策树算法的黔东南州水稻提取
  4. 2022眼视光展,护眼产品展,眼睛健康展,视力康复展
  5. 高等数学(第七版)同济大学 习题10-2(中5题) 个人解答
  6. 用程序员的语言:5000工科男抢200女同学做女朋友,怎么完美解决
  7. 58 同城移动端 Passport SDK 的设计与技术细节
  8. 使用酷狗音乐api实现歌曲的搜索和下载
  9. Node.js 6.x 入门-曾亮-专题视频课程
  10. VSCode安装教程