Sameed Ahmed
Student at LJMU • Creator of SkinSight
SkinSight is an AI-powered skin condition identifier built to support quick triage, improve accessibility to dermatology insights, and help users understand “what to do next”.
I have made this project Public on Github. Use the button below to download it. If you use or refer this project somewhere cite it as (Sameed LJMU Final Project, 2026).
Technical specification
Key project choices across data, ML, and engineering.
by Shubham Goel & Bill Hall.
15,500+ images
Fast baseline using timm pretrained weights.
Modern UI with strong readability skin themed
Django templating language
User accounts + private history + CSV export + model inference.
SQLite3 was used during development and was later migrated to PostgreSQL for Deployment.
Django Skinsight Web-App was Deployed using render.
The domain skinsight.online was registered at Namecheap.
Model Training Process
How the SkinSight AI model was trained and fine-tuned for 23 skin condition categories.
1️⃣ Dataset Preparation
- 🔹 Images organized by class using ImageFolder format.
- 🔹 23 disease categories stored in
class_names.json. - 🔹 Data split into training, validation, and test sets.
- 🔹 Images resized to match model input resolution.
2️⃣ Preprocessing & Augmentation
- 🔹 Resize to 320×320 to capture fine skin texture.
- 🔹 Training augmentations: flips, color adjustments, MixUp & CutMix.
- 🔹 ImageNet normalization for pretrained model compatibility.
- 🔹 Validation/test use only resize + normalization.
3️⃣ Model Architecture
- 🔹 EfficientNetV2-S from the
timmlibrary. - 🔹 Initialized with pretrained ImageNet weights.
- 🔹 Final classification layer adapted for 23 classes.
- 🔹 Trained using GPU acceleration for deeper fine-tuning.
4️⃣ Fine-tuning & Optimization
- 🔹 Two-stage training: freeze backbone → full fine-tuning.
- 🔹 Loss: SoftTargetCrossEntropy (supports MixUp training).
- 🔹 Optimizer: AdamW with cosine learning-rate scheduling.
- 🔹 Best model saved to
artifacts/skinsight_model.pt.
Confusion matrix
Model evaluationA table showing how many times each true class was predicted as each class (correct vs misclassified counts).
The same table but converted to percentages, showing the proportion of predictions for each class instead of raw counts.
Justification
Why these technical choices were made.
EfficientNetV2-S provides strong accuracy while remaining computationally efficient, making it well suited for multi-class dermatological image classification.
Larger input images help capture fine skin texture and lesion details, which are critical for distinguishing visually similar conditions.
Starting from pretrained ImageNet weights and progressively fine-tuning the network improves performance on limited medical data and stabilizes training.
GPU training enables higher-resolution images and deeper optimization, significantly improving model learning compared to CPU-only training.
Clinical-style outputs such as urgency level, guidance, and red-flag indicators make predictions easier to interpret for non-experts.
Check the final project report submitted on Canvis.
Future vision
Where SkinSight could go next.
-
1Better data + balancing
More diverse images, class balancing, and cleaner labels.
-
2Stronger evaluation + training
Top-k accuracy, calibration, and per-class performance dashboards. Training on powerful GPUs to improve accuracy.
Guided capture + a better camera flow.
Timeline view + reminders to re-scan.
Export reports + structured notes.
A responsible, explainable assistant that helps users decide whether to self-care or seek professional medical advice.