-
-
Pipeline: segment cells, score each with a CNN, Grad-CAM evidence, parasitemia, ranked queue. A scientist confirms.
-
iOS app: cell evidence sheet, with a Grad-CAM heatmap showing where the model looked in a flagged cell.
-
iOS app: the slide list, with each slide marked likely positive, unclear or likely negative.
-
Lab queue: slides ordered most urgent first, with estimated parasitemia for each.
-
iOS app: flagged cells for one slide, each with its Grad-CAM heatmap and score.
-
Held-out test metrics (40 unseen patients): AUC 0.993, ROC curve and confusion matrix.
-
Analyse tab: upload a smear field, get boxed cells, a heatmap for the selected cell and a parasitemia estimate.
-
Slide review: boxed flagged cells, 19.4% estimated parasitemia, and Grad-CAM evidence. Confirm or repeat.
Inspiration
Nigeria carries about a quarter of the world's malaria cases and nearly a third of its deaths (WMR 2024). Up to 83% of suspected cases are treated without a lab test, partly because the scientists who read smears are leaving (10,697 have emigrated, per MLSCN). Fevers get treated as malaria by default, and the urgent slides wait in the queue.
What it does
- Finds every red blood cell in a thin-smear image and scores each one with a fine-tuned CNN
- Shows a Grad-CAM heatmap for each flagged cell, so the scientist checks the evidence instead of trusting a number
- Estimates parasitemia and triages each slide as likely positive / unclear / likely negative, using thresholds frozen on validation patients
- Orders the lab queue most urgent first; the scientist confirms positive, confirms negative or asks for a repeat smear
- Never diagnoses, prescribes or doses: a lab scientist confirms every result
Who it's for
Medical laboratory scientists in Nigerian hospital and primary-care labs reading Giemsa thin smears.
How we built it
MobileNetV2 (ImageNet-pretrained), fine-tuned in PyTorch on the NIH/NLM malaria dataset (27,558 cells, 200 patients) at 96 px. The split is by patient (140/20/40), so test patients are never seen in training. Triage thresholds come from validation patients (99.5% rule-out sensitivity, 99.5% rule-in specificity). The smear pipeline is Otsu segmentation → per-cell CNN → Grad-CAM → parasitemia with the false-positive rate subtracted → slide band calibrated on validation slides. Gradio UI, plus an on-device iOS app (ONNX Runtime Web).
Results (held-out patients)
- Cells (4,996 cells from 40 unseen patients): AUC 0.993; sensitivity 95.3% / specificity 97.6% at 0.5. "Likely positive" cells were 98.7% truly parasitized.
- Slides (full image pipeline, 240 simulated fields from unseen patients' real cells): 118 of 120 slides at ≥5% parasitemia flagged likely positive; 0 of 40 uninfected slides called positive; mean parasitemia error 1.1 points.
Challenges we ran into
Making the metrics honest: a random split leaks near-identical cells from one patient across train and test, so I split by patient. Single-cell accuracy also doesn't make a slide decision, so I built a slide-level evaluation and calibrated slide thresholds that refuse to rule out a borderline slide.
What's next
A validation study in a Nigerian teaching-hospital lab against expert microscopy, measuring time-to-result with and without the tool; segmentation for real crowded smears; an offline phone build (the model is 9 MB).
Real-world impact
Faster confirmed diagnoses and fewer antimalarials given on symptoms alone; scarce lab scientists spend their time where it matters most.
Track
AI + Healthcare
Disclosures
Solo student build during ForgeHacks (3–10 Oct 2026). AI coding assistant (Claude) used for code and drafting. Public dataset: NIH/NLM.
Built With
- capacitor
- grad-cam
- gradio
- mobilenetv2
- onnx
- opencv
- python
- pytorch
- react
- typescript
Log in or sign up for Devpost to join the conversation.