上一篇文章给大家分享了生成对抗网络来做超分辨成像,很多读者都说生成的图像效果非常逼真,深刻觉得GAN的强大。今天我将继续给大家分享如何在图像分割上应用生成对抗网络。
一、VNetGAN网络结构
前面文章我已经分享过很多图像分割的模型,例如UNet,VNet及改进版本,这里我就不多说了,感兴趣的可以自己去阅读我的相关文章和GitHub项目。废话不多说,我直接给出VNetGAN的网络结构,如图所示。我简单介绍一下,VNetGAN的输入是原始图像和相应的Mask图像,原始图像经过VNet结构的生层网络生成结果输出图像,将金标准Mask图像和生成网络的输出图像一起输入到分类结构的判别网络前,需要分别额外拼接原始图像,然后再输入到判别网络中去进行真假判别。
二、用tensorflow实现SRGAN
我已经用tensorflow实现了初始版本的GAN和Wasserstein GAN(这是GAN的改进版本,初始版本GAN训练的时候非常不稳定很难训练,WGAN训练的时候比较稳定,很快就能收敛看到以假乱真的生成图像)和VNet模型。为了让大家自己学习,我就不把VNetGAN的代码分享给大家,只需将我在GitHub上的WGAN和VNet进行简单整合处理就可以了。
三、生成分割图像效果
我对虹膜眼底图像进行血管分割处理,此外我以Unet为baseline,进行了效果对比。图一是原始眼底血管图像,图二是金标准眼底Mask图像,图三是Unet分割出的Mask图像,图四是VNetGAN分割出的Mask图像。
从上面结果可以看到,在一些细小血管分割上VNetGAN比UNet效果好,但是整理分割效果感觉不是太完美。如果有朋友也在做这方面的研究,欢迎一起学习交流。
最近我跟一些朋友准备参加肝脏疾病分割挑战赛,在这里我广邀各位感兴趣的朋友,如果有意参加的话,请给我留言,期望我们可以一起在竞赛中学习交流成长。