- Implementation for paper LadderNet: Multi-path networks based on U-Net for medical image segmentation
- This implementation is based on orobix implementation. Main difference is the structure of the model.
Requirement
- Python3.6
- PyTorch 0.4
- configparser
How to run
- run
python prepare_datasets_DRIVE.pyto generate hdf5 file of training data - run
cd src - run
python retinaNN_training.pyto train - run
python retinaNN_predict.pyto test
Parameter defination
- parameters (path, patch size, et al.) are defined in "configuration.txt"
- training parameters are defined in src/retinaNN_training.py line 49 t 84 with notes "=====Define parameters here ========="
Pretrained weights
- pretrained weights are stored in "src/checkpoint"
- results are stored in "test/"
Results
The results reported in the ./test folder are referred to the trained model which reported the minimum validation loss. The ./test folder includes:
- Model:
test_model.pngschematic representation of the neural networktest_architecture.jsondescription of the model in json formattest_best_weights.h5weights of the model which reported the minimum validation loss, as HDF5 filetest_last_weights.h5weights of the model at last epoch (150th), as HDF5 filetest_configuration.txtconfiguration of the parameters of the experiment
- Experiment results:
performances.txtsummary of the test results, including the confusion matrixPrecision_recall.pngthe precision-recall plot and the corresponding Area Under the Curve (AUC)ROC.pngthe Receiver Operating Characteristic (ROC) curve and the corresponding AUCall_*.pngthe 20 images of the pre-processed originals, ground truth and predictions relative to the DRIVE testing datasetsample_input_*.pngsample of 40 patches of the pre-processed original training images and the corresponding ground truthtest_Original_GroundTruth_Prediction*.pngfrom top to bottom, the original pre-processed image, the ground truth and the prediction. In the predicted image, each pixel shows the vessel predicted probability, no threshold is applied.
The following table compares this method to other recent techniques, which have published their performance in terms of Area Under the ROC curve (AUC ROC) on the DRIVE dataset.
| Method | AUC ROC on DRIVE |
|---|---|
| Soares et al [1] | .9614 |
| Azzopardi et al. [2] | .9614 |
| Osareh et al [3] | .9650 |
| Roychowdhury et al. [4] | .9670 |
| Fraz et al. [5] | .9747 |
| Qiaoliang et al. [6] | .9738 |
| Melinscak et al. [7] | .9749 |
| Liskowski et al.^ [8] | .9790 |
| orobix | .9790 |
| this method | .9794 |
