Sadou's picture
DINOv2 malaria detector with imbalance handling (MCC: 0.988)
49e6fe7 verified
|
Raw
History Blame Contribute Delete
3.2 kB
metadata
license: apache-2.0
tags:
  - image-classification
  - medical
  - malaria
  - africa
  - tanzania
  - dinov2
  - blood-smear
  - imbalanced-classification
datasets:
  - harvard-dataverse-malaria-tanzania
metrics:
  - balanced_accuracy
  - mcc
  - recall
  - auc
base_model: facebook/dinov2-base

Malaria Detector β€” DINOv2 fine-tuned on Tanzania Blood Smears 🦟

Fine-tuned facebook/dinov2-base for binary classification of blood smear images: malaria infected vs healthy.

Trained on real patient data from 5 Tanzanian health centres, with rigorous handling of class imbalance.

πŸ“Š Performance (test set)

Metric Value Note
Accuracy 99.44% Can be misleading with imbalance
Balanced Accuracy 99.25% ⭐ Imbalance-robust
MCC (Matthews) 0.988 ⭐ Best single metric
F1 Macro 99.40% Equitable across classes
Recall (Sensitivity) 100.00% ⭐ Critical clinical metric
Specificity 98.51%
AUC-ROC 100.00%
AUC-PR 100.00% Imbalance-robust AUC

βš–οΈ Class imbalance handling

Dataset has 1.64x imbalance (Paludisme: 62% vs Sain: 38%).

Techniques applied :

  1. βœ… Class weights in loss function
  2. βœ… Stratified split on subtype (not just binary label)
  3. βœ… Aggressive data augmentation
  4. βœ… MCC-based model selection (instead of accuracy)
  5. βœ… Multiple imbalance-robust metrics reported

πŸš€ Quick Start

from transformers import AutoImageProcessor, AutoModelForImageClassification
from PIL import Image
import torch

processor = AutoImageProcessor.from_pretrained('Sadou/malaria-detector-dinov2-tanzania')
model = AutoModelForImageClassification.from_pretrained('Sadou/malaria-detector-dinov2-tanzania')

img = Image.open('blood_smear.jpg').convert('RGB')
inputs = processor(img, return_tensors='pt')

with torch.no_grad():
    outputs = model(**inputs)

probs = torch.softmax(outputs.logits, dim=-1)[0]
pred = torch.argmax(probs).item()

labels = ['Healthy', 'Malaria']
print(f'{labels[pred]} (confidence: {probs[pred]:.1%})')

πŸ“‚ Dataset

Tanzania Malaria Blood Smear Dataset

  • Source: Harvard Dataverse
  • DOI: 10.7910/DVN/O2WVWA
  • Images: 3,544 real blood smears
  • Source: 5 health centres in Tanga region, Tanzania
  • Microscope: 4K SONY IMX334 sensor (40X-2500X)
  • Staining: Giemsa reagent
  • Reference: Lufyagila et al. 2024, Data in Brief

Class distribution

Class Count
Thick Infected 1,139
Thick Uninfected 1,071
Thin Infected 1,064
Thin Uninfected 270

⚠️ Disclaimer

This is a research tool, NOT a certified medical device. Any real diagnosis must be confirmed by a qualified microscopist or physician. Clinical validation is required before any real-world deployment.

πŸ“š Citation

@misc{malaria-dinov2-2026,
  author = {Sadou Barry},
  title = {Malaria Detector β€” DINOv2 fine-tuned on Tanzania Blood Smears with Class Imbalance Handling},
  year = {2026},
  publisher = {HuggingFace},
  url = {https://huggingface.co/Sadou/malaria-detector-dinov2-tanzania}
}