加载中…
加载中…
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.
| 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 |
Dataset has 1.64x imbalance (Paludisme: 62% vs Sain: 38%).
Techniques applied :
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%})')
Tanzania Malaria Blood Smear Dataset
| Class | Count |
|---|---|
| Thick Infected | 1,139 |
| Thick Uninfected | 1,071 |
| Thin Infected | 1,064 |
| Thin Uninfected | 270 |
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.
@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}
}
facebook/dinov2-base