Skip to content

This repository contains the code for our research on the Fitzpatrick17k dataset, focused on skin disease classification. We used the Byneda framework to improve model accuracy, addressing challenges like skin tone diversity and dataset imbalance. The code includes preprocessing, model training, and explainable AI visualizations.

Notifications You must be signed in to change notification settings

Mohit-Hasan/CAEN_Fitzpatrick17k

Repository files navigation

⚠️ Disclaimer

This repository contains harmful or violence-related medical images, collected from the public Fitzpatrick17k, DDI, Skin Cancer Malignant vs Benign dataset.
If you are not comfortable or feel uneasy, please refrain from opening any notebook or image-related files.


CAEN — Thesis Documentation

Chapter 1 — Introduction

Skin disease classification is a challenging problem in medical image analysis due to variability in lesion appearance, dataset imbalance, and fairness across skin tones. The Fitzpatrick17k dataset provides a diverse set of clinical images categorized into multiple diagnostic classes.

The goal of this project is to evaluate and propose deep learning architectures for accurate classification across several experimental settings, supported by data preprocessing, baseline model comparisons, and explainable AI (XAI) analyses.

Main Contributions:

  • Curated preprocessing pipelines for Fitzpatrick17k and derivative subsets.
  • Proposed model based on EfficientNetB0 with Attention and CSL (Cost-Sensitive Learning).
  • Systematic comparison with baseline models.
  • Explainability analysis with Grad-CAM visualizations.

Chapter 2 — Data & Preprocessing

The preprocessing notebooks form the foundation of the work. They ensure consistent input formats, address class imbalance, and prepare data for training and evaluation.

2.1 Datasets

  • Fitzpatrick17k: Large-scale dataset of 17k clinical skin lesion images across multiple classes.
  • DDI Subset: Derived dataset focusing on dermatological disease images.
  • Skin Cancer (Malignant vs Benign): Binary classification subset for evaluating cancer detection.

2.2 Preprocessing steps

Documented in:

  • Data_Pre_Processing_Fitz17k.ipynb
  • Data_Pre_Processing_DDI_TrainAUG.ipynb
  • Data_Pre_Processing_Skin_Cancer_Malignant_vs_Benign.ipynb

Steps include:

  1. Resizing: Images standardized (e.g., 224×224) for CNN input.
  2. Normalization: Pixel values scaled to [0,1] or standardized per channel.
  3. Augmentation: Rotation, flipping, brightness/contrast changes to mitigate imbalance.
  4. Splitting: Stratified division into training, validation, and test sets.

Outcome: Balanced datasets prepared for experiments, with increased robustness through augmentation.


Chapter 3 — Proposed Model

3.1 Architecture

The main model notebooks include:

  • Fitz17k_EfficientNetB0_Attention_CSL_.ipynb
  • DDI_EfficientNetB0_Attention_CSL.ipynb
  • Cancer_vs_EfficientNetB0_Attention_CSL.ipynb

Core design:

  • Backbone: EfficientNetB0 (transfer learning).
  • Attention Mechanism: Enhances focus on lesion-relevant regions.
  • Cost-Sensitive Learning (CSL): Tailored dense layers for better class discrimination.
  • Output: Softmax probabilities across classes.

3.2 Training & Evaluation

  • Optimizer: Adam (learning rate tuned per dataset).
  • Loss: Cross-entropy with/without class weights.
  • Metrics: Accuracy, Precision, Recall, F1-score, AUC.
  • Early stopping and checkpointing used.

Reported Results: (from notebooks)

  • Fitzpatrick17k CAEN model achieved superior macro-F1 compared to baselines.
  • Cancer vs Benign experiment showed strong sensitivity and specificity.
  • DDI subset results indicated robustness across smaller datasets.

Chapter 4 — Baseline Models

Baselines are evaluated in:

  • Fitz17k_Others_Model_Comparison.ipynb
  • DDI_Others_Model_Comparison.ipynb
  • Cancer_vs_Others_Model_Comparison.ipynb

Models compared: ResNet, MobileNet, VGG, DenseNet, etc.


Chapter 5 — Explainable AI (XAI)

Explainability analyses are in:

  • Final_XAI_Fitz17K.ipynb
  • Final_XAI_DDI.ipynb
  • Final_XAI_CancerVS.ipynb

5.1 Method

  • Grad-CAM applied to visualize salient regions influencing predictions.
  • Comparison across true positives, false positives, and false negatives.

5.2 Findings

  • Heatmaps show the model focuses on lesion regions rather than background, confirming interpretability.
  • In some misclassifications, attention shifted to irrelevant image parts.
  • Demonstrates potential for clinical trust but highlights areas for improvement.

Chapter 6 — Results & Discussion

  • CAEN model yielded significant improvement over baselines.
  • Demonstrated generalization across different subsets (binary cancer vs benign, multi-class Fitz17k, DDI).
  • Augmentation critical for balancing classes.
  • XAI confirms lesion-centered attention, but also reveals occasional reliance on spurious features.

Limitations:

  • Dataset bias towards certain skin tones.
  • Limited external validation.

Chapter 7 — Conclusion & Future Work

  • Proposed CAEN model is effective for skin lesion classification.
  • Future directions: larger datasets, integration with clinical metadata, uncertainty quantification, fairness-aware training.

Appendix — Notebook Mapping

Pre_Processing

  • Data_Pre_Processing_Fitz17k.ipynb — Prepare Fitzpatrick17k dataset, resize, augment, split.
  • Data_Pre_Processing_DDI_TrainAUG.ipynb — Similar pipeline for DDI dataset with augmentation emphasis.
  • Data_Pre_Processing_Skin_Cancer_Malignant_vs_Benign.ipynb — Binary preprocessing pipeline.

Our_Model_Code

  • Fitz17k_EfficientNetB0_Attention_CSL_.ipynb — Train/evaluate CAEN on Fitzpatrick17k.
  • DDI_EfficientNetB0_Attention_CSL.ipynb — Train/evaluate CAEN on DDI.
  • Cancer_vs_EfficientNetB0_Attention_CSL.ipynb — Train/evaluate CAEN on binary cancer dataset.

Others_Model_Code

  • Fitz17k_Others_Model_Comparison.ipynb — Baseline comparisons on Fitzpatrick17k.
  • DDI_Others_Model_Comparison.ipynb — Baseline comparisons on DDI.
  • Cancer_vs_Others_Model_Comparison.ipynb — Baseline comparisons on cancer dataset.

XAI_Code

  • Final_XAI_Fitz17K.ipynb — Grad-CAM visualizations for Fitzpatrick17k.
  • Final_XAI_DDI.ipynb — Grad-CAM visualizations for DDI.
  • Final_XAI_CancerVS.ipynb — Grad-CAM visualizations for cancer dataset.

Reproducibility Note

This repository contains results and analyses, not a training library. Users can review the notebooks to trace data preparation, model evaluations, and explainability outcomes. To replicate, follow notebook order per appendix.


Archive

Accepted in Informs Annual Meeting

About

This repository contains the code for our research on the Fitzpatrick17k dataset, focused on skin disease classification. We used the Byneda framework to improve model accuracy, addressing challenges like skin tone diversity and dataset imbalance. The code includes preprocessing, model training, and explainable AI visualizations.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published