DermaSense v2.1 — UI Redesign
Builds on v2.0 ("Phase C v2 production deploy + Phase E external
validation") with a complete Flutter UI redesign across all five screens.
What's new in v2.1
Two-stage UI redesign (Stage 1 + Stage 2)
- DermaSense design system in
mobile_app/lib/theme/design_tokens.dart
(palette, typography ramp, spacing, hairline border, no shadow) - HomeScreen redesigned (Stage 1, commit
749ec64) - Classification, Result, Model Performance, Safety / About redesigned
(Stage 2, commitd39a3b9)
Result screen
- Risk-state-coloured hero (urgent / amber / benign)
- 200 ms cross-fade Grad-CAM attention toggle (single model)
- 2×2 per-model ensemble grid with shared lightbox modal
- Top-3 differential with class chips and a Calibration explainer card
Model Performance screen
- Test-set evaluation header (ResNet50 v2 default)
- Per-class recall with ResNet50 v2 column tinted; <70% warning glyphs
- 7×7 confusion-matrix heatmap on ResNet50 v2 HAM10000 test split
- Known Limitations card (5 items including ISIC 2019 external-validation
drop: v2 single-model mel recall 73.40% → 37.09%)
Safety / About screen
- System Identity, Intended Use, "Not Intended For"
- Datasets card (HAM10000 + ISIC 2019, both CC BY-NC 4.0)
- Calibration temperatures table with v2 row DEPLOYED chip
- License & Attribution card (code MIT, model weights CC BY-NC 4.0)
What's unchanged from v2.0
- All backend code (FastAPI, 5 endpoints)
- All model checkpoints — bit-identical to v2.0
- All calibration files — bit-identical to v2.0
- Phase A (calibration), Phase B (Grad-CAM), Phase C (v2 training),
Phase E (external validation) results
Assets
The 12 v2.0 release assets are carried over verbatim to v2.1 so this
release is self-contained (clone + download = working system).
Total: 12 files, ~317 MB
- 4 base CNN checkpoints + their calibration JSON (ResNet50 v1, DenseNet121,
EfficientNet-B0, MobileNetV3 Small) - 1 ResNet50 v2 checkpoint + calibration (single-model default,
focal loss + balanced sampler) - 1 ResNet50 v1 backup checkpoint + calibration (preserved for ensemble
stability)
How to reproduce
git clone https://github.com/Cureeeeeeee/CNN-Based-Skin-Lesion-Classification-for-Early-Skin-Cancer-Detection.git
cd CNN-Based-Skin-Lesion-Classification-for-Early-Skin-Cancer-Detection
git checkout v2.1
# Download all 12 assets from this release into runs/
gh release download v2.1 --dir runs/
# Backend
pip install -r requirements.txt
uvicorn src.skinlesion.api:app --host 0.0.0.0 --port 8126
# Flutter web
cd mobile_app
flutter run -d chromeCo-author
Co-Authored-By: Claude noreply@anthropic.com