SkinScan AI is an intelligent skin disease detection system that uses deep learning to analyze skin lesion images and provide quick, explainable predictions. It is built with Flask, PyTorch, and EfficientNet, offering a simple interface for users to upload images and receive diagnoses with visual heatmaps for transparency.
(https://drive.google.com/file/d/1VuKBQxwMBczVSUNL6xjwMhyMYcbUH43h/view?usp=sharing)
- ✅ Upload skin lesion images
- 🔍 Predict dermatological conditions using an EfficientNet-B0 model
- 🧠 Explain predictions using Grad-CAM heatmaps
- 📄 Display clinical recommendations per disease
- 💻 Lightweight Flask application, easy to deploy
- Language: Python 3.8+
- Web Framework: Flask
- Deep Learning: PyTorch, TorchVision
- Model: EfficientNet-B0 (transfer learning)
- Visualization: Grad-CAM, Matplotlib
- Frontend: HTML/CSS
- Python 3.8+
- pip
- Virtual environment (recommended)
- Clone the repository:
git clone https://github.com/IniBuilds-git/SkinScan
cd SkinScan
1.Create and activate a virtual environment:
python -m venv venv
source venv/bin/activate
- Install dependencies:
pip install -r requirements.txt
-
Download the dataset:
- Download the Skin Disease Dataset from Kaggle
- Extract it to the
data/raw/
directory
-
Run the notebook files step by step from data exploration, to data preprocessing and training, to model evaluation
-
Run the Flask application:
python app.py
- Open a web browser and go to
http://127.0.0.1:5000/
- Upload an image of the affected skin area using the web interface
- Wait for analysis as the AI processes the image
- View the results showing the detected skin condition, confidence levels, and recommendations
- Read additional information about the condition and next steps
The model was trained using a two-phase approach:
- Feature Extraction: Initial training with a frozen EfficientNet-B0 base model and custom classification head
- Fine-tuning: Additional training with unfrozen top layers of the base model
- Accuracy: 92.3% on the test set
- Precision: 0.91 weighted average
- Recall: 0.89 weighted average
- F1-Score: 0.90 weighted average
SkinScan AI was developed with careful attention to ethical considerations:
- Medical Disclaimer: The system clearly states it is for educational purposes only and not a replacement for professional medical advice
- Data Privacy: Uploaded images are processed locally and not stored permanently without explicit consent
- Bias Mitigation: The training dataset includes diverse skin tones and conditions
- Transparency: The system provides confidence scores to indicate the reliability of predictions
- Expand the dataset with more diverse skin conditions and skin tones
- Implement more advanced model architectures and ensemble techniques
- Develop a mobile application for improved accessibility
- Add symptom tracking functionality for monitoring progress over time
- Integrate with telemedicine platforms for seamless doctor consultations