KCL-BMEIS / ScribbleDA

MIT License
21 stars 2 forks source link

Scribble-based Domain Adaptation via Co-segmentation

Public pytorch implementation for our paper Scribble-based Domain Adaptation via Co-segmentation, which was accepted for presentation at MICCAI 2020.

If you find this code useful for your research, please cite the following paper:

@article{ScribDA2020Dorent,
         author={Dorent, Reuben and Joutard, Samuel and
         Shapey, Jonathan and Bisdas, Sotirios and
         Kitchen, Neil and Bradford, Robert and Saeed, Shakeel and
         Modat, Marc and Ourselin, S\'ebastien and Vercauteren, Tom},
         title={Scribble-based Domain Adaptation via Co-segmentation},
         journal={MICCAI},
         year={2020},
}

Method overview

Virtual Environment Setup

The code is implemented in Python 3.6 using using the PyTorch library. Requirements:

Data

The dataset (images, annotations, scribbles) used for our experiments will be released soon.

Running the code

train.py is the main file for training the model.

python3 train.py \
-model_dir ./models/$ALPHA/$BETA/$GAMMA/$WARMUP/ \
-alpha $ALPHA \
-beta $BETA \
-gamma $GAMMA \
-warmup $WARMUP \
-path_source $SOURCE \
-path_target $TARGET \
-dataset_split_source $SPLIT_SOURCE \
-dataset_split_target $SPLIT_TARGET \

Where the hyperparameters are defined such as:

Using the code with your own data

If you want to use your own data, you just need to change the source and target paths, the splits and potentially the modality used.