Skip to content

ManuelCPinto/MoleMonitoring

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

67 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MoleMonitoring: Skin Mole Classification

MoleMonitoring is a deep learning project from the Samsung Innovation Campus, focused on classifying skin moles using dermoscopic images. Our best model, Fusion Model + SVM, achieved 91% accuracy on HAM10000 and 83% accuracy on ISIC2018, outperforming baseline models like ResNet-50.

MoleMonitoring Pipeline Overview

Beginning
1. Beginning
Empty
2. Empty
Gallery
3. Gallery
Analyze Mole
4. Analyze Mole
Homepage
5. View Results
Example Malignant
6. Example Malignant

Team Members:

The HAM10000 dataset includes the following seven classes of skin lesions, categorized into Benign and Malignant:

Malignant Lesions

  • Actinic Keratoses (akiec)
    Precancerous skin lesions that may develop into squamous cell carcinoma.

  • Basal Cell Carcinoma (bcc)
    A common and slow-growing type of skin cancer that rarely spreads.

  • Melanoma (mel)
    An aggressive and potentially fatal form of skin cancer that develops in melanocytes.

Benign Lesions

  • Benign Keratosis-like Lesions (bkl)
    Non-cancerous growths, including seborrheic keratoses and solar lentigines.

  • Dermatofibroma (df)
    Small, firm nodules that are benign skin tumors.

  • Melanocytic Nevi (nv)
    Commonly known as moles or beauty marks, these are benign accumulations of melanocytes.

  • Vascular Lesions (vasc)
    Benign abnormalities of blood vessels, such as hemangiomas or angiomas.

Dataset Preparation

Follow these steps to download and prepare the HAM10000 dataset for this project:

1. Download the Dataset

  1. Visit the HAM10000 dataset page.
  2. Download the file named dataverse_files.zip.
  3. Place the downloaded file in the root directory of the project.

2. Run the Preprocessing Scripts

  1. Run the following commands on the project directory:
    python zipMerge.py
    python update_metadata.py
    python process_images.py
    python generate_plots.py

3. Output Structure

MoleMonitoring/
├── HAM10000/
│   ├── HAM10000_images/               # Resized images (256x256, not normalized)
│   ├── HAM10000_images_processed/     # Processed images (normalized)
│   │   ├── rgb/                       # Resized + normalized RGB images (256x256, [0, 1])
│   │   ├── grayscale/                 # Resized + normalized grayscale images (256x256, [0, 1])
│   ├── HAM10000_metadata/
├── ISIC2018/
│   ├── ISIC2018_images/               # Resized images (256x256, not normalized)
│   ├── ISIC2018_images_processed/     # Processed images (normalized)
│   │   ├── rgb/                       # Resized + normalized RGB images (256x256, [0, 1])
│   │   ├── grayscale/                 # Resized + normalized grayscale images (256x256, [0, 1])
│   ├── ISIC2018_metadata/
├── models/
│   ├── baseline.py
│   ├── cnn_with_weights.py
│   ├── efficientnet-resnet-vit-svm.ipynb
│   ├── irv2-sa.ipynb
│   ├── resnet50.py
├── molemonitoringapp/
├── pictures/
│   ├── gallery.png
│   ├── nvMole.png
│   ├── homepage.png
├── plots/
├── preprocessing/
│   ├── fitzpatrick.py
│   ├── generate_plots.py
│   ├── process_images.py
│   ├── update_metadata.py
│   ├── zip_merge.py
├── vertex/
│   ├── app.py
│   ├── Dockerfile
│   ├── requirements.txt
├── .gitignore
├── README.md

About

Samsung Innovation Campus Project

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors