Skip to content

KennethOdoh/Skin-Cancer-Classification-Using-AI

Repository files navigation

Skin Cancer Detection and Classification Using Machine Learning

Introduction

This project aims to apply Artificial Intelligence in the detection and classification of skin cancers. Just like many other cancer types, skin cancer when detected early, can be cured through surgical interventions. However, early detection remains a challenge for the following reasons:

  1. Clinical examinations are expensive and require a high level of training, and effort to operate the equipment.
  2. There are 9 classes of skin cancer, and so, it is usually difficult for even experienced medical practitioners to accurately identify and classify them visually.

Objectives

  1. To train a machine learning model which can detect and classify skin cancer types.
  2. To deploy our model as a web app that will enable doctors (and anyone else) to quickly diagnose skin cancer using their smartphones, instead of going to perform the experiments in the laboratory.

About the Dataset

The dataset consists of 2357 images of malignant and benign oncological diseases, which were formed by the International Skin Imaging Collaboration (ISIC). All images were sorted according to the classification taken with ISIC, and all subsets were divided into the same number of images, except for melanomas and moles, whose images are slightly dominant. The data set contains the following diseases:

  1. Actinic keratosis
  2. Basal cell carcinoma
  3. Dermatofibroma
  4. Melanoma
  5. Nevus
  6. Pigmented benign keratosis
  7. Seborrheic keratosis
  8. Squamous cell carcinoma
  9. Vascular lesion

The dataset can be found here on Kaggle.

Model Summary

Because this is a multi-class classification problem, we used a Convolution Neural Network (CNN) consisting of 16 layers to train the model. We also used other Python libraries such as Tensorflow, Pandas, Matplotlib, etc., for image preprocessing, data visualizations, and other ancillary statistical analysis, and the resulting model takes about 45 minutes to train.

For additional information, please read the project article on Medium.

Contributors

Volker Tachin

Omar Alqaysi

Kenneth Odoh

Promise Uzoagulu

Shreyansh Gupta

Emako Efatobor

Thandazi Mnisi

Mutholib Yusira

Sharon Prempeh