Arpit Aggarwal
In this project, different CNN Architectures like FCN-8, FCN-16, FCN-32, U-Net and SegNet were used for the task of medical image segmentation. The input to the CNN networks was a (224x224x3) image and the number of classes were equal to 1. The CNN architectures were implemented in PyTorch and the loss function was Binary Cross Entropy(BCE) Loss. The hyperparameters to be tuned were: Number of epochs(e), Learning Rate(lr) and batch size(bs).
The custom dataset used was ISIC 2018 for melanoma detection. The dataset can be downloaded from here: https://challenge2018.isic-archive.com/task1/training/
Different CNN architectures used for the task of medical image segmentation are given below:
FCN-8, FCN-16, FCN-32, U-Net and SegNet
The results after using different CNN architectures are given below:
- U-Net
Training Accuracy = 96.46% and Validation Accuracy = 94.19% (e=100, lr=0.001, bs=8)
- FCN-8
Training Accuracy = 95.76% and Validation Accuracy = 93.37% (e=100, lr=0.001, bs=8)
- SegNet
Training Accuracy = 92.43% and Validation Accuracy = 90.82% (e=100, lr=0.001, bs=8)
To run the jupyter notebooks, use Python 3. Standard libraries like Numpy and PyTorch are used.
The following links were helpful for this project: