Skip to content

Diabetic retinopathy (DR) is one of the most important complications of diabetes. Accurate segmentation of DR lesions helps early diagnosis of DR. However, due to the scarcity of pixel-level annotations and the large diversity between different types of DR lesions, the existing deep learning methods are very challenging in performing segmentatio…

License

Notifications You must be signed in to change notification settings

BEBC-MIA/Retinal-lesion-Segmentation

Repository files navigation

Anomaly Segmentation in Retinal Images with Poisson-Blending Data Augmentation

Abstract

Diabetic retinopathy (DR) is one of the most important complications of diabetes. Accurate segmentation of DR lesions helps early diagnosis of DR. However, due to the scarcity of pixel-level annotations and the large diversity between different types of DR lesions, the existing deep learning methods are very challenging in performing segmentation on retinal images. In this study, we propose a novel data augmentation method based on Poisson-blending (PB) algorithm to generate synthetic images, which can be easily adapted to other medical anomaly segmentation tasks to alleviate the training data scarcity issue. We also proposed a CNN architecture for the simultaneous segmentation of multiscale anomaly signs. The performances are compared with the state-of-the-art methods on Indian Diabetic Retinopathy Image Dataset (IDRiD) and e-ophtha datasets, both widely used in the research community. The results indicate that the proposed method significantly outperforms the state-of-the-art methods.

1. Prepare data

2. Environment

  • Please prepare an environment with python=3.7, and then use the command "pip install -r requirements.txt" for the dependencies.

3. Poisson-Blending data augmentation

  • step1: Pre-processing on original dataset (IDRiD or e_ophtha) to crop the ROI region.
  • step2: Generate masks of vessel and optic disc.
  • step3: Build lesion library.
  • step4: Do Poisson-Blending data augmentation on target dataset. For IDRiD and e_ophtha, you can type the following:
python terminal.py --preprocess=1 --vessel_seg=1 --OD_seg=1 --build_lesion_lab=1 --build_PBDA_dataset=1 --dataset=IDRiD --dens_EX=0_60 --dens_MA=0_100
python terminal.py --preprocess=1 --vessel_seg=1 --OD_seg=1 --build_lesion_lab=1 --build_PBDA_dataset=1 --dataset=e_ophtha --dens_EX=0_60 --dens_MA=0_100

4. Train and test DSR-U-Net++ on augmented datasets

  • For training and testing the model on IDRiD:
python terminal.py --step=0 --dataset=IDRiD --target_size=1376 --classes=5 --train_num=540 --val_num=27 --epochs=26 --train_batch_size=1
  • For training and testing the model on e_ophtha:
python terminal.py --step=0 --dataset=e_ophtha --target_size=1024 --classes=3 --train_num=140 --val_num=7 --epochs=28 --train_batch_size=1 --task=ex_ma

References

Citations

@article{wang2022DRseg,
  title={Anomaly Segmentation in Retinal Images with Poisson-Blending Data Augmentation},
  author={Hualin Wang, Yuhong Zhou, Jiong Zhang, Jianqin Lei, Dongke Sun, Feng Xu, Xiayu Xu},
  journal={Medical Image Analysis},
  year={2022},
  doi={https://doi.org/10.1016/j.media.2022.102534}
}

About

Diabetic retinopathy (DR) is one of the most important complications of diabetes. Accurate segmentation of DR lesions helps early diagnosis of DR. However, due to the scarcity of pixel-level annotations and the large diversity between different types of DR lesions, the existing deep learning methods are very challenging in performing segmentatio…

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages