This project was carried out with Víctor Cereijo as part of a course in Computer Vision.
Thanks to the pattern recognition capabilities of Convolutional Neural Networks, skin cancer can nowadays be early detected by visually analyzing the characteristic of a skin mole. In this notebook we propose a skin cancer detection algorithm with CNNs, comparing the performance of a network trained from scratch with one pretrained on Imagenet.
We used ISIC DB 2018 dataset to evaluate the experiments, a highly imbalanced dataset containing 2750 dermoscopic images, publicly available here: https://challenge.isic-archive.com/data
Image source: extracted from the dataset
Data augmentation:
- Crop by mask: to remove healthy skin.
- Random squared crop.
- Random vertical flips: with probability p=0.5.
- Random horizontal flips: with probability p=0.5.
We used Adam optimizer, L2 regularization, Xavier weight initialization and class weights to counter class imbalance.