Melanoma Skin Cancer Detection using Convolutional Neural Networks and Transfer Learning
This is a Kaggle competition in which we have to identify if the given lesion image is malignant or not for Melanoma which is a type of skin cancer.
📝
Table of Contents
🧐
About
Melanoma is a type of skin cancer that occurs when pigment-producing cells (melanocytes) mutate and become cancerous. Melanoma is the most serious form of skin cancer and 5th most common cancer.
The American Cancer Society estimates around 207,390 new melanoma cases will be diagnosed in 2021. As with other cancers, early and accurate detection—potentially aided by data science—can make treatment more effective.
Currently, dermatologists evaluate every one of a patient's moles to identify outlier lesions that are most likely to be melanoma.
📊
Dataset Overview
The dataset was taken from the competition hosted by SIIM-ISIC on Kaggle.
- Malignant: A cancerous growth that can spread very quickly and invade nearby tissues
- Benign: A non-cancerous growth that usually grows very slowly and does not spread to other areas
👇
:
Click to view
🧠
Model Building
Here, the bottom layers of pre-trained Xception model were used and the top layers were fine-tuned for our particular task to classify skin cancer images as malignant or not. The architecture of xception model is as follows:
🎯
Model Performance
Since the dataset is highly imbalanced, accuracy wouldn't be a good metric to judge the model performnace hence we have used the AOC as a performance metric along with BinaryCrossentropy as the loss function. Here is the model's performance.
🏅
Model Evaluation
We evaluated our model on the test dataset and we were able to achieve an AUC of 0.8459. Here is the curve: