🩺 AI-Based Skin Disease Detection System
This project implements a deep learning-based system to detect common skin diseases — eczema, psoriasis, ringworm, and more — from real-world, uncropped images. The system combines U-Net for lesion segmentation and EfficientNet-B0 for classification. I have use dataset from various skin tones. The user can upload a real-world image without cropping.
You can download the trained models from the following Google Drive link:
https://drive.google.com/drive/folders/1H0A2PsHH8bmJxlWOhzyzU8OIdM6KH7qo?usp=drive_link
You can download datasets from the following Google Drive link:
Classifier dataset: https://drive.google.com/drive/folders/1icbqud0NAI6UMfUJY2cvkMmuJmiMRKjz?usp=drive_link
Segmentation dataset: https://drive.google.com/drive/folders/1ZhU5hDGXRw4K0R4neq_MRsVlrcYQYEPY?usp=drive_link
Below are some sample predictions showing:
- Original image
- Segmented lesion
- Final predicted disease label
Orginal Image
Segmented lesion
Final predicted disease label
Web UI
- 🧠 Two-stage architecture: U-Net (segmentation) + EfficientNet-B0 (classification).
- 🧪 Handles multiple classes: eczema, psoriasis, ringworm, normal, others.
- 🔍 Supports both connected and independent pipelines.
- 🌍 Works well on South Asian skin tones, focusing on real-world usage.
- 🧑💻 Streamlit-based web UI for easy interaction.
- ⚕️ Built for low-resource/rural areas to assist early diagnosis.
Project Structure
project/
│
├── scripts/
│ ├── train_unet.py # Train U-Net for lesion segmentation
│ ├── train_classifier.py # Train EfficientNet classifier
│ ├── combine_predict.py # Full pipeline (segmentation + classification)
│ ├── predict_classifier.py # Classification only
│ ├── app.py # Streamlit web interface
│
├── models/
│ ├── unet_best.pth # Trained U-Net model
│ ├── efficientnet_best.pth # Trained EfficientNet-B0 model
│
├── dataset/
│ ├── images/ # Input images
│ ├── masks/ # Manual annotations (from LabelMe)
│ └── split/ # train/val/test folders
│
├── requirements.txt
├── README.md
└── .gitignore


