emma-sjwang / BEAL

code for paper Boundary and Entropy-driven Adversarial Learning for Fundus Image Segmentation
MIT License
121 stars 25 forks source link

pytorch-BEAL

Code for paper 'Boundary and Entropy-driven Adversarial Learning for Fundus Image Segmentation' early accepted by MICCAI 2019.

Introduction

This is a PyTorch(1.0.1.post2) implementation of BEAL. The code was tested with Anaconda and Python 3.7.1.

    conda install pytorch torchvision cudatoolkit=9.0 -c pytorch

Installation

After installing the dependency:

    pip install pyyaml
    pip install pytz
    pip install tensorboardX==1.4 matplotlib pillow 
    pip install tqdm
    conda install scipy==1.1.0
    conda install -c conda-forge opencv
  1. Clone the repo:

    git clone https://github.com/emma-sjwang/BEAL.git
    cd BEAL
  2. Install dependencies: For PyTorch dependency, see pytorch.org for more details.

    For custom dependencies:

  3. Configure your dataset path in train.py with parameter '--data-dir'. Dataset download link: DGS RIM-ONE Refuge

OR you can download an already preprocessed data from this link.

  1. You can train deeplab v3+ using mobilenetv2 or others as backbone.

    To train it, please do:

    python train.py -g 0 --data-dir /data/ssd/public/sjwang/fundus_data/domain_adaptation --batch-size 8 --datasetT RIM-ONE_r3

    To test it, please do: Download the weights can put them into the log folder from link.

    python test.py --model-file ./logs/DGS_weights.tar --dataset Drishti-GS

Citation

@inproceedings{wang2019boundary,
  title={Boundary and Entropy-driven Adversarial Learning for Fundus Image Segmentation},
  author={Wang, Shujun and Yu, Lequan and Li, Kang and Yang, Xin and Fu, Chi-Wing and Heng, Pheng-Ann},
  booktitle={International Conference on Medical Image Computing and Computer-Assisted Intervention},
  pages={102--110},
  year={2019},
  organization={Springer}
}