⏳ Note: The application may take 3-5 minutes to load on first access due to cold start behavior on Render's free tier.
DermalScan is an AI-powered web application that analyzes facial images to detect skin conditions, estimate age, and visualize results using deep learning and computer vision techniques.
DermalScan provides an end-to-end solution for facial skin analysis using a modern web interface and a robust backend inference pipeline.
The system supports single-face and multi-face images, generates annotated visual outputs, logs predictions, and allows exporting results for further analysis.
- Image upload with real-time preview
- Deep Neural Network (DNN) based face detection
- Non-Maximum Suppression (NMS) for multi-face handling
- CNN-based skin condition classification
- Age estimation using confidence-based mapping
- Adaptive annotations for crowded images
- Prediction summary (single & multiple faces)
- Evaluation time tracking (seconds)
- CSV and annotated image export
- Responsive and clean UI
- HTML5
- CSS3
- Vanilla JavaScript
- Python 3.10
- Flask 3.0.0
- TensorFlow 2.15.0
- OpenCV (DNN Module)
- NumPy
- Matplotlib
Note: Before proceeding with the user guide, ensure you have completed the Installation & Setup steps outlined below.
Run the Flask server and open: http://127.0.0.1:5000
- Click “Upload Image for Analysis”
- Select an image with one or more faces
- Uploaded image preview appears instantly
After processing:
- Annotated image is displayed with bounding boxes
- Each detected face shows:
- Skin condition
- Estimated age
- Confidence score
- Result box displays:
- Detailed output for single-face images
- Summary analysis for multi-face images
- Evaluation time (in seconds) is shown below the result
Each prediction is logged with:
- Face ID
- Bounding box coordinates
- Predicted skin condition
- Confidence score
- Estimated age
- Detector confidence
- Evaluation time
- Download Annotated Image
- Download Predictions CSV
Here are some screenshots of the DermalScan application interface:
AI_DermalScan/
│
├── app.py # Main Flask application
├── requirements.txt # Python dependencies
├── README.md # Project documentation
├── LICENSE # MIT License
├── AI_DermalScan_Documentation.pdf # Detailed project documentation
├── dataset_split.py # Dataset splitting script
├── deploy.prototxt # OpenCV face detection config
├── res10_300x300_ssd_iter_140000.caffemodel # OpenCV face detection model
├── haarcascade_frontalface_default.xml # Alternative face detection
├── Dataset/ # Training dataset
├── Dataset_split/ # Split dataset for training/validation
├── Outputs/ # Generated output files
├── static/ # Static web assets (CSS, JS, images)
│ ├── css/
│ ├── uploads/ # Uploaded images
│ └── outputs/ # Annotated output images
├── templates/ # HTML templates
│ └── index.html # Main web interface
└── visualizations/ # Data visualization outputs
- Image upload handled via Flask
- Face detection using OpenCV DNN (SSD model)
- Non-Maximum Suppression removes overlapping boxes
- Face preprocessing and normalization
- CNN model predicts skin condition
- Age estimation derived from confidence score
- Matplotlib renders annotated output
- Predictions stored in session memory
- Structured JSON response sent to frontend
| Concept | Description |
|---|---|
| DNN | Deep Neural Network used for face detection |
| Blob | Preprocessed input format for DNN models |
| NMS | Removes overlapping face detections |
| Tensor | Multi-dimensional array used by deep learning models |
| CNN | Convolutional Neural Network for classification |
| Session Storage | Stores predictions during a user session |
| Evaluation Time | Total inference time per image |
Evaluation time is computed as: time.time() - start_time
- Measured in seconds
- Represents total backend processing duration
- Logged per prediction and included in exports
- Average processing time: ~2–4 seconds
- Supports single and multi-face images
- Clean and adaptive visualization
- Stable for repeated interactive use
git clone -b kanishka https://github.com/Springboard-Mentor-DermalScan/AI-DermalScan_Batch9.gitpython -m venv venv
venv\Scripts\activate # On Windowspip install -r requirements.txtpython app.pyAuthor: Kanishka Sugumar
Email: kanishkasugumar.official@gmail.com
LinkedIn: LinkedIn Profile
This project is intended for educational and research purposes. It was created as part of the Infosys Springboard Virtual Internship program.
For more detailed information, please refer to the AI_DermalScan_Documentation.pdf.



