SharifAmit / RVGAN

[MICCAI'21] [Tensorflow] Retinal Vessel Segmentation using a Novel Multi-scale Generative Adversarial Network
BSD 3-Clause "New" or "Revised" License
88 stars 20 forks source link
conditional-gan fundus fundus-image-analysis gan generative-adversarial-network generative-adversarial-networks keras medical-image-analysis medical-image-segmentation medical-imaging miccai retinal-diseases retinal-vessel-segmentation tensorflow vessel-segmentation

MICCAI2021 RVGAN

PWC PWC PWC

This code is for our paper "RV-GAN: Segmenting Retinal Vascular Structure inFundus Photographs using a Novel Multi-scaleGenerative Adversarial Network" which is part of the supplementary materials for MICCAI 2021 conference. The paper has since been accpeted and presented at MICCAI 2021.

Arxiv Pre-print

https://arxiv.org/pdf/2101.00535v2.pdf

Springer

https://link.springer.com/chapter/10.1007/978-3-030-87237-3_4

Citation

@inproceedings{kamran2021rv,
  title={RV-GAN: Segmenting retinal vascular structure in fundus photographs using a novel multi-scale generative adversarial network},
  author={Kamran, Sharif Amit and Hossain, Khondker Fariha and Tavakkoli, Alireza and Zuckerbrod, Stewart Lee and Sanders, Kenton M and Baker, Salah A},
  booktitle={International Conference on Medical Image Computing and Computer-Assisted Intervention},
  pages={34--44},
  year={2021},
  organization={Springer}
}

Virtual Oral Presentation (Youtube)

IMAGE ALT TEXT HERE

Pre-requisite

Current branch is for Tensorflow 2.0-gpu version

For Tensorflow 2.6-gpu version check the following branch

https://github.com/SharifAmit/RVGAN/tree/tf-2.6

Installation Instruction for Ubuntu

DRIVE Dataset

Dataset download link for DRIVE

https://drive.grand-challenge.org/

STARE Dataset

Dataset download link for STARE

https://cecas.clemson.edu/~ahoover/stare/

CHASE-DB1 Dataset

Dataset download link for CHASE-DB1

https://blogs.kingston.ac.uk/retinal/chasedb1/

Dataset Pre-processing

NPZ file conversion

Training

   '--npz_file', type=str, default='DRIVE.npz', help='path/to/npz/file'
   '--batch_size', type=int, default=24
   '--input_dim', type=int, default=128
   '--epochs', type=int, default=200
   '--savedir', type=str, required=False, help='path/to/save_directory',default='RVGAN'
   '--resume_training', type=str, required=False,  default='no', choices=['yes','no']
   '--inner_weight', type=float, default=0.5

Pretrained Weights

https://drive.google.com/drive/folders/1GxUzvFaLdeMtKIAeegswznLQzc4T7NZS?usp=sharing

Inference

    '--test_data', type=str, default='DRIVE', required=True, choices=['DRIVE','CHASE','STARE']
    '--out_dir', type=str, default='pred', required=False)
    '--weight_name_global',type=str, help='path/to/global/weight/.h5 file', required=True
    '--weight_name_local',type=str, help='path/to/local/weight/.h5 file', required=True
    '--stride', type=int, default=3, help='For faster inference use stride 16/32, for better result use stride 3.'

Evaluation on test set

    '--test_data', type=str, default='DRIVE', required=True, choices=['DRIVE','CHASE','STARE']
    '--weight_name_global',type=str, help='path/to/global/weight/.h5 file', required=True
    '--weight_name_local',type=str, help='path/to/local/weight/.h5 file', required=True
    '--stride', type=int, default=3, help='For faster inference use stride 16/32, for better result use stride 3.'

License

The code is released under the BSD 3-Clause License, you can read the license file included in the repository for details.