SkinShade AI
Computer vision system for accurate skin tone analysis and shade matching using deep learning and advanced image processing.
Overview
Built a comprehensive skin-tone classification and color recommendation system using MTCNN for face detection, HSV-based skin segmentation, and K-Means clustering to extract dominant skin colors. The system categorizes skin tones into Light, Medium, and Dark categories, utilizing the CelebA dataset during development. Deployed with TensorFlow Lite and an intuitive Gradio UI, the application combines OpenCV image processing, scikit-learn K-Means clustering to find dominant skin colors, and PyTorch MTCNN for accurate face detection. The system generates personalized 5-color palettes tailored to individual skin tones, promoting fairness in computer vision models.
Key Highlights
MTCNN-based face detection with HSV color space segmentation for accurate skin region identification
K-Means clustering algorithm to extract dominant skin colors from detected facial regions
Three-tier classification system categorizing skin tones into Light, Medium, and Dark categories
Leveraged CelebA dataset for model development and validation across diverse demographics
TensorFlow Lite deployment for optimized inference on mobile and edge devices
Interactive Gradio UI providing real-time skin tone analysis and color palette generation
Personalized 5-color palette recommendations tailored to individual skin tones
Promotes fairness in computer vision by ensuring equitable performance across all skin tones
Tech Stack
Project Links
🏗️ System Architecture
System Components
Image Input Module
Gradio interface for image upload and preprocessing
Face Detection Engine
MTCNN model for accurate face detection
Skin Segmentation
HSV-based color space segmentation to isolate skin regions
Color Extraction
K-Means clustering to find dominant skin colors
Tone Classifier
Classifies skin tone into Light/Medium/Dark categories
Palette Generator
Generates personalized 5-color palettes
Data Flow
Uploads and preprocesses user image
Raw image dataDetects face regions in image
Face bounding boxesSegments skin regions using HSV color space
Skin pixel masksExtracts dominant colors using K-Means
Dominant color valuesClassifies into Light/Medium/Dark
Tone categoryGenerates personalized color palette
5-color palette recommendationsArchitecture Flow
Image Input Module
Face Detection Engine
Skin Segmentation
Color Extraction
Tone Classifier
Palette Generator