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.
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.
The preprocessing notebooks form the foundation of the work. They ensure consistent input formats, address class imbalance, and prepare data for training and evaluation.
- 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.
Documented in:
Data_Pre_Processing_Fitz17k.ipynbData_Pre_Processing_DDI_TrainAUG.ipynbData_Pre_Processing_Skin_Cancer_Malignant_vs_Benign.ipynb
Steps include:
- Resizing: Images standardized (e.g., 224×224) for CNN input.
- Normalization: Pixel values scaled to [0,1] or standardized per channel.
- Augmentation: Rotation, flipping, brightness/contrast changes to mitigate imbalance.
- Splitting: Stratified division into training, validation, and test sets.
Outcome: Balanced datasets prepared for experiments, with increased robustness through augmentation.
The main model notebooks include:
Fitz17k_EfficientNetB0_Attention_CSL_.ipynbDDI_EfficientNetB0_Attention_CSL.ipynbCancer_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.
- 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.
Baselines are evaluated in:
Fitz17k_Others_Model_Comparison.ipynbDDI_Others_Model_Comparison.ipynbCancer_vs_Others_Model_Comparison.ipynb
Models compared: ResNet, MobileNet, VGG, DenseNet, etc.
Explainability analyses are in:
Final_XAI_Fitz17K.ipynbFinal_XAI_DDI.ipynbFinal_XAI_CancerVS.ipynb
- Grad-CAM applied to visualize salient regions influencing predictions.
- Comparison across true positives, false positives, and false negatives.
- 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.
- 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.
- Proposed CAEN model is effective for skin lesion classification.
- Future directions: larger datasets, integration with clinical metadata, uncertainty quantification, fairness-aware training.
- 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.
- 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.
- 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.
- 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.
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.