f-AnoGan阅读笔记

声明

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

补充一些内容

在此之前先了解下它的前身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去训练,得到生成正常图像的生成器,没啥特别的。主要是它的测试阶段,提供了一张异常图x,我们想通过生成器生成它所对应的正常图\hat{x},就需要知道它在隐空间的点集,来保证它的核心特征。这里就要提到流形分布定律了,异常图和需要生成的正常图在图像空间来看无疑是很类似的,所以它们会集中在低维流形附近,也就是说它们对应的隐空间向量是近似的。所以测试阶段要保持模型参数不变,反向迭代训练得到向量z,就有G(z)=\hat{x}。这么看来这样的测试阶段无疑是不美丽的、繁琐费时的,而这也是f-AnoGAN主要的改进地方。

f-AnoGAN训练原理

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

图2 F-AnoGAN训练原理

        和AnoGAN的差别可以从图二就可以看出来了,多训练了一个模型使得从图像x到隐空间向量z的映射。吃透了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的重建效果并不理想。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值