声明

本人是做织物瑕疵检测的,处理的小数据量,想从这篇文章找灵感,记下自己的阅读笔记。然后是接触深度学习的小萌新,也是第一次写博客,若有错误,请指证不胜感激。

补充一些内容

在此之前先了解下它的前身AnoGAN,不理解它的原理不太好理解f-AnoGAN。

论文链接:Unsupervised Anomaly Detection with Generative Adversarial Networks to Guide Marker Discovery

这是第一篇GAN用于anomaly or novelty detection的文章。对于这篇文章的个人理解就是利用GAN网络的图像重建能力去修复异常图像,将重建图与原图做残差来定位异常。关于GAN网络的理解推荐看这一篇博客GAN的理解总结(建议先了解GAN的基本原理再看)。

我在异常检测论文解读—AnoGAN中看到这么一句话:仅利用正常样本在DCGAN上无监督地学习正常样本的一个在隐空间中的流形分布。GAN的模型结构如图1,隐空间就是图中的latent space,在代码里就是我们用的随机噪声z。关于流形分布,它有个定律:自然界中同一类别的高维数据,往往集中在某个低维流形附近。个人认为也是因为这个定律使得用GAN异常检测的实现成为可能。

图1 GAN模型结构

隐空间这个概念比较抽象,我是这么理解的:我们都知道神经网络的本质就是一个特征提取器,我们对图像进行特征提取,从数据量角度来看图像数据得到压缩,从特征角度看是提取后得到的核心特征得到保留;换句话说就是我把图像的信息压缩成了n个点,这些点所在的空间就是隐空间,我能通过这n个点还原出原图像,这个和自编码器是一个道理。所以GAN网络的生成器,本质上是对隐空间中的点采样,然后解码回到图像空间,显然在隐空间两个相近的点经过生成器后在图像空间来看是相近的。

AnoGAN训练原理

它分两个阶段,训练阶段就是拿DCGAN去训练,得到生成正常图像的生成器,没啥特别的。主要是它的测试阶段,提供了一张异常图,我们想通过生成器生成它所对应的正常图,就需要知道它在隐空间的点集,来保证它的核心特征。这里就要提到流形分布定律了,异常图和需要生成的正常图在图像空间来看无疑是很类似的,所以它们会集中在低维流形附近,也就是说它们对应的隐空间向量是近似的。所以测试阶段要保持模型参数不变,反向迭代训练得到向量,就有。这么看来这样的测试阶段无疑是不美丽的、繁琐费时的,而这也是f-AnoGAN主要的改进地方。

f-AnoGAN训练原理

论文链接:f-AnoGAN: Fast unsupervised anomaly detection with generative adversarial networks

图2 F-AnoGAN训练原理

和AnoGAN的差别可以从图二就可以看出来了,多训练了一个模型使得从图像到隐空间向量的映射。吃透了AnoGAN的原理后,f-AnoGAN的原理就显而易见了,第一阶段的训练依旧是GAN的训练(论文中变成了WGAN)。第二阶段则是编码器的模型训练,它与Generator构成自编码器结构,训练方式有三种,可以参考博客深度学习论文笔记(异常检测)——f-AnoGAN: Fast unsupervised anomaly detection with generative adversarial networks

实验复现

尝试用f-anogan的方式来做织物瑕疵检测,图3是效果图。很明显不是我想要的结果,效果很差,而且该模型对比较细小的瑕疵检测效果特别差,基本上检测不出来。造成这种情况的原因主要有两个:1、GAN网络重建效果不太好,细节丢失严重;2、GAN网络只对输入64*64px的效果好,大了效果很差,所以只能采取分割的方式,导致重建后从总体来看数据分布的效果会比较差。

图3 原图(左) 重构图(中) 残差图(右)

总结

作为一个萌新,对代码不是很熟悉,直接github拉下来的代码,只是做了简单的调参,看论文的感觉他们做医学图像的异常检测效果很好,大概是模型对织物不太适用。接下来还是要深入对GAN网络的学习,希望能找到输入高分辨率且用重建效果较好的生成模型。同时个人认为关于直接做残差可能并不是很好的选择,毕竟GAN的重建效果并不理想。

f-AnoGan阅读笔记相关推荐

  1. 基于深度学习的表面缺陷检测方法综述-论文阅读笔记

    //2022.3.2日阅读笔记 原文链接:基于深度学习的表面缺陷检测方法综述 (aas.net.cn) 个人对本篇综述内容的大致概括 论文首先介绍了表面缺陷检测中不同场景下的成像方案,主要根据表面颜色 ...

  2. [python Cookbook]阅读笔记

    @toc] 前记:为了补充一下python语法知识,感谢网友的推荐阅读了pythonCookbook,这本书确实不错,以问题为导向,引导解决思路. 这个博文是从阅读笔记typora中直接复制过来的没有 ...

  3. Traffic Flow Forecasting: Comparison of Modeling Approaches文献阅读笔记(一)

    今天开始陆续更新之前文章的阅读笔记,有一些文章是辅助实验简单读的,有一些文章是精读的.这里也不做分类了,只是每次在开头提一下相关信息. 文章链接:戳我 主要工作:描述了历史 平均值.时间序列.神经网络 ...

  4. sed 手册阅读笔记转

    原文链接sed 手册阅读笔记摘要sed 手册本身不太适合初学者,我在看的过程中加了一些 自己的注释和一些例子,帮助理解,如有偏差或错误,请指出,多谢.目录1. sed的工作原理 2. sed中如何选择 ...

  5. Learning Multiview 3D point Cloud Registration论文阅读笔记

    Learning multiview 3D point cloud registration Abstract 提出了一种全新的,端到端的,可学习的多视角三维点云配准算法. 多视角配准往往需要两个阶段 ...

  6. FCGF论文阅读笔记

    FCGF论文阅读笔记 0. Abstract 从三维点云或者扫描帧中提取出几何特征是许多任务例如配准,场景重建等的第一步.现有的领先的方法都是将low-level的特征作为输入,或者在有限的感受野上提 ...

  7. PointConv论文阅读笔记

    PointConv论文阅读笔记 Abstract 本文发表于CVPR. 其主要内容正如标题,是提出了一个对点云进行卷积的Module,称为PointConv.由于点云的无序性和不规则性,因此应用卷积比 ...

  8. DCP(Deep Closest Point)论文阅读笔记以及详析

    DCP论文阅读笔记 前言 本文中图片仓库位于github,所以如果阅读的时候发现图片加载困难.建议挂个梯子. 作者博客:https://codefmeister.github.io/ 转载前请联系作者 ...

  9. 【Flink】Flink 源码阅读笔记(15)- Flink SQL 整体执行框架

    1.概述 转载:Flink 源码阅读笔记(15)- Flink SQL 整体执行框架 在数据处理领域,无论是实时数据处理还是离线数据处理,使用 SQL 简化开发将会是未来的整体发展趋势.尽管 SQL ...

  10. 构建之法阅读笔记之三

    构建之法阅读笔记之三 本章为团队和流程,主要介绍了典型的软件团队模式和开发流程以及它们的优缺点.TSP.MVP.MBP.RUP 团队:并不是几个人凑到一起就叫团队,称之为团队 1.应该有一致的集体目标 ...

最新文章

  1. 什么命令看服务器系统,查看linux系统版本可以使用什么命令_网站服务器运行维护...
  2. jQuery 事件方法大全
  3. 解决方案:无源(PON)光网络在弱电工程中的应用
  4. Logstash 安装及简单实用(同步MySql数据到Elasticsearch)
  5. 从Cell的视图推出一个新的界面
  6. Istio流量管理实践之(5): 使用cert-manager部署Istio自定义入口网关及进行证书管理...
  7. ElasticSearch模糊查询(中文检索)
  8. RocketMQ如何保证消息不丢失(消息可靠性)
  9. thinkphp验证码点击更换js实现
  10. python workflow_用 Python 写 Alfred3 workflow 插件,一个最小示例
  11. 数据仓库需求分析指南
  12. 小恐龙游戏python_自动玩Chrome浏览器的小恐龙游戏
  13. 《我想进大厂》之分布式锁夺命连环9问 | 大理版人在囧途
  14. Python--快速爬取千张高清壁纸
  15. rm: cannot remove `xxx’: Operation not permitted的解决方法
  16. 用好这28个工具,开发效率爆涨
  17. andriod手机信号显示G、E、H、T是什么意思?
  18. mysql数据库管理维护_深入浅出MySQL 数据库开发 优化与管理维护 第3版
  19. PhpSpreadsheet读取excel
  20. MacBook安装Golang Oracle数据库驱动程序

热门文章

  1. 精通linux开关机表情包,这组宝藏表情包,你确定看懂了吗?
  2. c语言 计步算法,基于51单片机的计步器设计
  3. MYSQL查询事务并强制删除
  4. 我的时间管理——短期计划与长期计划
  5. 【YBT2023寒假Day4 C】樱桃莓莓(交互)(四毛子分块)(线段树)
  6. 数学建模之主成分分析(PCA)
  7. [IOS APP]推拿-毕飞宇有声小说
  8. 三个让你升级到SOLIDWORKS 2020的理由
  9. 使用 define 定义一年有多少毫秒
  10. ubuntu安装ROS melodic(最新、超详细图文教程)