论文背景与目标:
本文旨在将GAN运用到图片异常检测中,并取得了一定的效果,该模型不仅能够检测已知的异常,还能够发现未曾标注的新异常。
-
- 提出了结合GAN的生成和判别功能的新型异常评分方法。
- 在无监督的前提下实现了异常图像的分割。
- 通过利用GAN的潜在空间,提出了新的图像映射和特征匹配方法,使得异常检测更加准确。
论文核心思想
本文主要通过GAN学习正常样本,获得正常样本的分布特征。在预测阶段,模型将图片还原重构,因为系统中缺少异常样本的信息,所以当异常样本进入系统时,不能被正常重构,因而被鉴定为异常,同时因为只有异常区域会被错误重构,我们也可以借此定位异常区域,实现图片分割,本论文实质上也是经典的A reconstructive and discriminative anomaly detection model,通过重建图片来实现异常检测。
网络架构:
1. 生成器(Generator):
- 生成器的任务是从**潜在空间(latent space)中的随机噪声向量 zzz 生成逼真的健康图像。生成器是一个卷积解码器,它通过一系列反卷积层(fractionally-strided convolutional layers)**将噪声向量逐步转换为高维图像。
- 具体的层次结构包括四层反卷积层,每一层都使用5x5大小的卷积核,并逐层减少通道数:
- 第一层:512个通道
- 第二层:256个通道
- 第三层:128个通道
- 第四层:64个通道
- 最终输出的图像大小为 64×64 像素,是一个灰度图像。
2. 判别器(Discriminator):
- 判别器的任务是区分输入图像是来自真实数据集的健康图像,还是生成器生成的图像。它是一个标准的卷积神经网络(CNN),通过一系列卷积层提取特征,并最终输出一个标量,表示输入图像是“真实”的概率。
- 判别器同样由四层卷积层组成,每层的卷积核大小也是5x5:
- 第一层:64个通道
- 第二层:128个通道
- 第三层:256个通道
- 第四层:512个通道
- 判别器通过对生成图像和真实图像进行分类,不断提升自身的判别能力,同时也迫使生成器生成更加逼真的图像。
3. 映射机制(Mapping from Image to Latent Space):
- GAN模型生成的是从潜在空间到图像空间的映射,但论文中额外提出了一种将图像映射回潜在空间的方法。这种映射机制通过反向传播调整潜在向量 zzz,使生成的图像与输入图像尽可能相似。映射过程通过残差损失和判别器损失来优化:
- 残差损失:衡量生成图像与输入图像在像素级别的差异。
- 判别器损失:衡量生成图像在判别器中与真实图像的特征差异。
4. 网络训练与优化:
- 网络的训练使用Adam优化器,生成器和判别器通过两人零和博弈(minimax game)共同训练。
- 判别器的目标是最大化区分真实图像和生成图像的概率,而生成器的目标是欺骗判别器,使其无法区分生成图像和真实图像。
任务描述:
假设我们有大量健康视网膜的光学相干断层扫描(OCT)图像,这些图像显示了正常视网膜的结构。我们的目标是使用 AnoGAN 来检测视网膜图像中是否存在异常,比如视网膜液体或病变区域。
步骤 1:模型训练
在训练阶段,AnoGAN 仅使用健康视网膜图像(无任何异常标记的数据)进行训练。
-
生成器(Generator)训练:
- 生成器从潜在空间中采样一个随机向量 zzz,通过生成器网络生成健康视网膜图像。
- 生成器的目标是尽量生成逼真的健康图像,使判别器难以区分它们是真实的还是生成的。
-
判别器(Discriminator)训练:
- 判别器接受真实的健康视网膜图像和生成器生成的图像,学习如何区分这两者。
- 判别器的目标是最大化识别真实图像和生成图像之间的差异,从而帮助生成器提高生成图像的质量。
-
对抗训练(Adversarial Training):
- 生成器和判别器通过对抗训练,逐渐提高各自的能力。生成器生成的图像越来越逼真,判别器也不断学习如何更好地区分真实图像和伪造图像。
-
健康图像的潜在表示学习:
- 最终,生成器学会了从潜在空间中的点 zzz 生成符合健康图像分布的视网膜图像。
- 判别器同时作为特征提取器,学习到了健康图像的特征表示。
步骤 2:测试阶段(异常检测)
在测试阶段,AnoGAN 被用于检测输入的视网膜图像是否含有异常(如液体或病变区域)。
-
输入测试图像:
- 假设现在我们有一张未标注的视网膜图像,这张图像可能是健康的,也可能包含异常(如视网膜液体)。
- 我们的目标是判断这张图像是否与训练阶段的健康图像分布相符,即是否存在异常。
-
映射到潜在空间:
- 为了判断这张图像是否异常,AnoGAN 需要将输入的测试图像映射回训练时使用的潜在空间。
- 具体来说,模型通过一个优化过程来找到潜在空间中的一个点 zzz,使得生成器生成的图像 G(z)G(z)G(z) 与输入的测试图像尽可能相似。
- 这个过程通过残差损失(衡量生成图像与输入图像在像素上的差异)和判别器损失(衡量生成图像与健康图像分布的差异)来完成。
-
计算异常评分:
- 当找到最接近的潜在空间点 zzz 后,模型计算异常评分。异常评分由两部分组成:
- 残差分数:生成图像与输入图像的像素差异。
- 判别器分数:生成图像与健康图像在判别器特征空间中的差异。
- 如果这个评分较低,意味着输入图像非常符合健康图像的分布,说明它可能是健康的;如果评分较高,说明图像与健康图像有较大差异,可能存在异常。
- 当找到最接近的潜在空间点 zzz 后,模型计算异常评分。异常评分由两部分组成:
-
异常检测结果:
- 根据异常评分,模型可以判断输入图像是否异常。如果分数高,说明输入图像与生成的健康图像差异较大,模型会标记该图像为异常。
- 此外,AnoGAN 还可以通过残差图(即输入图像与生成图像的差异)来定位异常区域,例如视网膜液体或病变的具体位置。
总结
该论文展示了GAN在医学图像异常检测中的潜力,通过无监督学习方法,有效地检测已知和未知的异常结构,有助于推动标记发现和疾病诊断。