Skip to content

Anuradhadesilva/Skin-disease-detection

Repository files navigation

🩺 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.


📁 Download Models & Dataset

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


📸 Example Results

Below are some sample predictions showing:

  • Original image
  • Segmented lesion
  • Final predicted disease label

Orginal Image

img_27

Segmented lesion

Screenshot 2025-08-02 at 16 41 51

Final predicted disease label

Screenshot 2025-08-02 at 16 36 44

Web UI

Screenshot 2025-08-07 at 12 00 38 Screenshot 2025-08-07 at 12 01 22

🚀 Features

  • 🧠 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

📉 Confusion Matrix (EfficientNet-B0)

Screenshot 2025-07-25 at 08 31 09

📈 Training Curves

Figure_1

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors