Bi-Modality Medical Image Synthesis Using Semi-Supervised Sequential Generative Adversarial Networks

Bi-Modality Medical Image Synthesis Using Semi-Supervised Sequential Generative Adversarial Networks论文阅读中的问题和思考

1.有监督的串行GAN网络结构
Bi-Modality Medical Image Synthesis Using Semi-Supervised Sequential Generative Adversarial Networks_第1张图片

在图示的网络结果中,G1的输入是真实图像编码后的结果,而非直接输入真实图像。这个应该是VAE(Variational Autoencoder, 变分自动编码器)和GAN的结合。

有关VAE和GAN的结合,可以参考:http://www.twistedwg.com/2018/01/31/VAE+GAN.html,这篇笔记中对于VAE的解释如下:

image-20201019115612258

但是这篇笔记中所提出的模型结构和Bi-Modality论文中的模型结构又有所不同,笔记中模型的鉴别器是位于合成图像和真实图像之间,而论文中模型的鉴别器位于随机噪声和真实图像的编码(encoding)之间。如下图:

Bi-Modality Medical Image Synthesis Using Semi-Supervised Sequential Generative Adversarial Networks_第2张图片

这一点,我觉得可以参考:https://blog.csdn.net/qq_42079689/article/details/103699971,这篇博客对VAE+GAN进行了解释,如下:

Bi-Modality Medical Image Synthesis Using Semi-Supervised Sequential Generative Adversarial Networks_第3张图片

更多有关VAE的理解,可以参考:

http://www.fanyeong.com/2018/06/01/vae/

https://zhuanlan.zhihu.com/p/34998569

2.为什么这么做?(这一部分是我个人的思考)

如果直接将模态1的图像作为输入,来生成模态2的图像,那就和pix2pix以及CycleGAN一样了,属于image-to-image translation。像这样将编码和噪声进行对抗,可以使得编码和噪声服从同一个正态分布。这样我们就可以利用随机噪声生成一些原本并不存在的模态1和与之对应的模态2合成图像数据,像pix2pix和CycleGAN只能根据已有的模态1的真实图像来生成对应的模态2的合成图像。但是,这种有监督方式存在一个问题,就是输入的encoding是有限的(每一个encoding都对应一个真实的图像),所以会导致过拟合的问题。关于这一点,在论文中有提及:

However, only using supervised training approach would encounter a severe overfitting problem when the number of multimodal medical data is small. This is because the generator only ’sees’ a very sparse and small portion of the latent space which contains encodings of real data in the training process. Consequently, during the testing process when synthesizing multimodal data from noise vectors z ∼ p(z) (where p(z) conforms a Gaussian distribution), rather than encodings, the quality of the synthesized images could be extremely poor, even though we constrain the distribution of encodings to conform the same distribution.

相当于,对于有监督学习来说,训练阶段decoder的输入是encodings,在测试阶段,输入就是随机噪声。由于encoding的数据量非常小(论文中只有483个),所以有监督学习很难学习到latent code对应的真实的分布。这就导致在测试阶段,输入随机噪声来合成新的图像时,效果并不好。(一开始,我还有点不明白,这个“constrain the distribution of encodings to conform the same distribution”指的是什么,现在我明白了,指的就是encodings和输入的随机噪声服从相同的正态分布)。

3.无监督学习

Bi-Modality Medical Image Synthesis Using Semi-Supervised Sequential Generative Adversarial Networks_第4张图片

无监督学习的输入直接是随机噪声向量,G1生成模态A的合成图像,G2生成模态B的合成图像。在无监督学习中,i和j不相等,(i,j分别表示模态A的第i张图像和模态B的第j张图像)。由于输入的噪声向量是无限制的(unlimited),所以并不存在过拟合的问题。但是这里我有一个疑问,对于G2来说,从Ai生成Bj,那这两个合成图像不就是不对应的吗?这个感觉有点奇怪,就好像是我用张三的医学图像合成了李四的医学图像。

4.关于测试

在测试阶段,对于无监督、有监督和半监督,输入的都是随机噪声向量。那又如何保证合成图像和真实图像之间的相关性呢?换句话说,我输入一个随机向量噪声向量z,我怎么知道通过G1合成的是A1还是A2或者A3…?Ai输入G2之后,我怎么知道合成的是B1还是B2或者B3…?换句话说,在Classifiy任务中,我如何知道我合成的医学图像是CS 还是nonCS。这个可能是我对GAN的理解还不够,我再去查一查资料。

5.关于User Study

User Study有两个部分:

  1. 每次给一组ADC-T2w的图像对(从500个真实图像对,500个GoGAN合成的图像对以及500个Bi-Modality模型合成的图像对中随机抽取),然后由医生来判断图像对是合成的还是真实的。
  2. 一次性给出三组ADC-T2w的图像对(分别来自真实图像对,GoGAN合成的图像对以及Bi-Modality模型合成的图像对),然后医生根据真实性对这三组图像对进行评分(1-3分)。

由于,Bi-Modality模型和GoGAN都是从随机噪声中生成新的图像,所以这些图像并不和真实图像相对应。这一点我昨天在讲的时候讲错了。

6.关于Mutual Information Distance (MID)新的思考

论文中对于MID的定义和描述如下:

Bi-Modality Medical Image Synthesis Using Semi-Supervised Sequential Generative Adversarial Networks_第5张图片

在测试阶段,由于都是将随机噪声作为输入来合成新的图像,因此并不存在与之对应的真实图像,那这里的 M I r e a l MI_{real} MIreal应该是根据训练数据中的真实数据来进行计算的。由于无监督训练、监督训练和半监督训练的数据集都是一样的,那么对于这三者来说,它们的 M I r e a l MI_{real} MIreal应该是一样。

论文链接:https://ieeexplore.ieee.org/document/8736809
对应代码:https://github.com/hust-linyi/Multimodal-Medical-Image-Synthesis
论文下载不了的,看这里:https://www.zhihu.com/question/24351248

你可能感兴趣的:(深度学习,#,医学图像合成,深度学习,计算机视觉,人工智能)