This repository contains the Jupyter Notebook and documentation for a deep learning model that classifies images into one of three skin-tone categories: dark, fair, and light.
This model is part of a larger fashion personalization system, as described in the accompanying Phase 1 Report and the academic paper "Optimizing Skin Tone Classification Using EfficientNet for AI-Powered Fashion Personalization."
- Model: Built using the EfficientNetB0 architecture with transfer learning from ImageNet.
- Dataset: Trained on the SkinTone Dataset from Kaggle, containing 2,100 images
(1,470 training, 420 validation, 210 test). - Performance: Final model
efficientnet_finetuned_v5.kerasachieves 79.05% test accuracy across 3 classes.
- Python
- TensorFlow / Keras
- KaggleHub (for dataset + model loading)
- EfficientNetB0
- scikit-learn (for metrics)
The pre-trained model and dataset are publicly available:
-
Pre-trained Model:
https://www.kaggle.com/models/adityakammati/skintone-images-model -
Dataset:
https://www.kaggle.com/datasets/adityakammati/skintone-dataset
-
skin_tone_classification_Traning.ipynb
Full notebook containing:- Data loading
- Preprocessing
- EfficientNetB0 fine-tuning
- Training
- Saving the model
- “Run from Here” testing section
-
skin_tone_classification_testing_notebook.ipynb
Notebook for running predictions on new images. -
Skin-Tone-ResearchPaper.pdf
Complete academic paper. -
HOW_TO_RUN.md
Step-by-step instructions.
To run the model, follow the instructions in HOW_TO_RUN.md.