/TransFuse

This repo holds the code of TransFuse: Fusing Transformers and CNNs for Medical Image Segmentation

Primary LanguagePython

TransFuse

This repo holds the code of TransFuse: Fusing Transformers and CNNs for Medical Image Segmentation

Requirements

  • Pytorch>=1.6.0, <1.9.0 (>=1.1.0 should work but not tested)
  • timm==0.3.2

Model Overview


Experiments

ISIC2017 Skin Lesion Segmentation Challenge

GPUs of memory>=4G shall be sufficient for this experiment.

  1. Preparing necessary data:

    • downloading ISIC2017 training, validation and testing data from the official site, put the unzipped data in ./data.
    • run process.py to preprocess all the data, which generates data_{train, val, test}.npy and mask_{train, val, test}.npy.
    • alternatively, the processed data is provided in Baidu Pan, pw:ymrh and Google Drive.
  2. Testing:

    • downloading our trained TransFuse-S from Baidu Pan, pw:xd74 or Google Drive to ./snapshots/.
    • run test_isic.py --ckpt_path='snapshots/TransFuse-19_best.pth'.
  3. Training:

    • downloading DeiT-small from DeiT repo to ./pretrained.
    • downloading resnet-34 from timm Pytorch to ./pretrained.
    • run train_isic.py; you may also want to change the default saving path or other hparams as well.

Code of other tasks will be comming soon.

Reference

Some of the codes in this repo are borrowed from:

Citation

Please consider citing us if you find this work helpful:

@article{zhang2021transfuse,
  title={TransFuse: Fusing Transformers and CNNs for Medical Image Segmentation},
  author={Zhang, Yundong and Liu, Huiye and Hu, Qiang},
  journal={arXiv preprint arXiv:2102.08005},
  year={2021}
}

Questions

Please drop an email to huiyeliu@rayicer.com