- This repository contains code for training, validating and testing medical image segmentation deep learning models.
- Pretrained models available at:
models
- Methods and models tested on the ACDC challenge [1].
- To create an anaconda environment with the necessary packages to run the code use
requirements.txt
.
- There are two models implemented in this repo: Unet [2] and DeepLab [3], plus variations and ensemble inference
- ROI Localization: A method to first extract an ROI around the labelled area of the image (using the output of a standard model), and subsequently feed the ROI to another model (ROI model) to perform the final segmentation. [4]
- Training and setup for various models is presented in the following Tutorial notebook -
tutorial_training_validating.ipynb
- Double segmentation, ensembling and testing is presented in the following Tutorial notebook -
tutorial_doubleSeg_ensembling_testing.ipynb
- Visualizing results is presented in Tutorial notebook -
tutorial_visualization.ipynb
- Results obtained on an ACDC validation set are:
Model | Dice RV | Dice LV | Dice Myo | Dice mean |
---|---|---|---|---|
DeepLab | 90.50 | 94.50 | 89.10 | 91.37 |
Unet | 89.32 | 95.07 | 89.47 | 91.29 |
1.DeepLab 2.DeepLab | 90.58 | 94.72 | 89.53 | 91.61 |
1.DeepLab 2.Unet | 90.65 | 95.02 | 89.94 | 91.87 |
Standard Ensemble | 90.48 | 95.12 | 89.89 | 91.83 |
ROI Ensemble | 90.88 | 94.98 | 90.11 | 91.99 |
All Ensemble | 91.26 | 95.39 | 90.49 | 92.38 |
- Results obtained on the ACDC test set are:
Model | Dice RV | Dice LV | Dice Myo | Dice mean | Hauss RV | Hauss LV | Hauss Myo |
---|---|---|---|---|---|---|---|
DeepLab | 90.22 | 93.84 | 88.81 | 90.96 | 24.27 | 11.93 | 14.46 |
All Ensemble | 91.48 | 93.88 | 90.26 | 91.87 | 13.21 | 10.99 | 12.08 |
Note!
Standard Ensemble: Ensemble of models from first two rows
ROI Ensemble: Ensemble of models from rows three and four
All Ensemble: Ensemble of models from row one to four
- Results obtained on the validation set are consistent with the official test set, confirming that both double segmentation and ensembling (especially of distinct models, such as Unet and DeepLab) boost performance.
[1]: O. Bernard et al., "Deep Learning Techniques for Automatic MRI Cardiac Multi-Structures Segmentation and Diagnosis: Is the Problem Solved?," in IEEE Transactions on Medical Imaging, vol. 37, no. 11, pp. 2514-2525, Nov. 2018, doi: 10.1109/TMI.2018.2837502.
[2]: Ronneberger O, Fischer P, Brox T. U-net: Convolutional networks for biomedical image segmentation. In International Conference on Medical image computing and computer-assisted intervention 2015 Oct 5 (pp. 234-241). Springer, Cham.
[3]: Chen LC, Papandreou G, Kokkinos I, Murphy K, Yuille AL. Deeplab: Semantic image segmentation with deep convolutional nets, atrous convolution, and fully connected crfs. IEEE transactions on pattern analysis and machine intelligence. 2017 Apr 27;40(4):834-48.
[4]: Chengjia Wang, Tom MacGillivray, Gillian Macnaught, Guang Yang, and David E. Newby. A two-stage 3d unetframework for multi-class segmentation on full resolution image.CoRR, abs/1804.04341, 2018.