Skip to content

To build a CNN based model which can accurately detect melanoma. Melanoma is a type of cancer that can be deadly if not detected early. It accounts for 75% of skin cancer deaths. A solution that can evaluate images and alert dermatologists about the presence of melanoma has the potential to reduce a lot of manual effort needed in diagnosis.

Notifications You must be signed in to change notification settings

Vinay26k/Melanoma-Detection-CNN

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Melanoma Detection CNN

Outline a brief description of your project.

Table of Contents

General Information

To build a CNN based model which can accurately detect melanoma. Melanoma is a type of cancer that can be deadly if not detected early. It accounts for 75% of skin cancer deaths. A solution that can evaluate images and alert dermatologists about the presence of melanoma has the potential to reduce a lot of manual effort needed in diagnosis.

Conclusions

Following are the conclusions from different models tried and experimented on the dataset:

Initial Model - without any preprocessing

Initial Model Accuracy & Loss

  • Model is overfitting and this can be observed from
    1. the huge gap between accuracies of train and validation sets
    2. training loss going towards zero or nullifying but validation loss keeps increasing inversely

Model 2 - data augmentation

Model with Data augmentation layers Accuracy & Loss

  • Model is not overfitting but the accuracy has dropped
  • model validation curve in both accuracy and loss plot is fluctuating

Model 3 - Dropout layer

Model with Drop out layer Accuracy & Loss

  • Model is not overfitting but the accuracy has dropped and compared to data augmentation model accuracy and loss curves are aligned

Model 4 - Class rebalancing

We can see train dataset is imbalanced and

  • class seborrheic keratosis has lowest samples i.e., 58
  • classes pigmented benign keratosis, melanoma, basal cell carcinom, nevus dominating the data in terms of proportion

Class distribution Model with Drop out layer Accuracy & Loss

  • after rebalancing with augmentor package, the accuracy has been increased
  • there is no overfitting happening
  • train vs validation curves are smoother and not highly fluctuating like earlier models

Model epochs Comments
Initial Model 20 Model is overfitting
Model with Data Augmentation 20 Accuracy is low, overfitting is controlled
Model with Dropout 20 no overfitting, but plot curves are not smooth and fluctuating and less accuracy
Model with Class rebalance + Dropout 50 accuracy improved, no overfitting and curves are smoother

Tech Stack

  • Python - v3.9.12
  • tensorflow - v2.8.0
  • keras - v2.8.0

Please refer requirements.txt file, for other optional libraries installed for this CNN exploration

Acknowledgements

Contact

Created by @Vinay26k - feel free to contact me!

About

To build a CNN based model which can accurately detect melanoma. Melanoma is a type of cancer that can be deadly if not detected early. It accounts for 75% of skin cancer deaths. A solution that can evaluate images and alert dermatologists about the presence of melanoma has the potential to reduce a lot of manual effort needed in diagnosis.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published