datasets:
- Elsafty
- Chula
- DSE
library_name: timm
license: cc-by-4.0
pipeline_tag: image-feature-extraction
tags:
- red-blood-cells
- hematology
- medical-imaging
- vision-transformer
- dino
- dinov2
- feature-extraction
- foundation-model
model-index:
- name: RedDino-base
results:
- task:
type: image-classification
name: RBC Shape Classification
dataset:
name: Elsafty
type: Classification
metrics:
- type: Weighted F1
value: 88.1
- type: Balanced Accuracy
value: 89.3
- type: Accuracy
value: 88.2
- type: Weighted F1
value: 83.8
- type: Balanced Accuracy
value: 78.6
- type: Accuracy
value: 83.8
- type: Weighted F1
value: 85.9
- type: Balanced Accuracy
value: 57.9
- type: Accuracy
value: 86
RedDino-base
RedDino is a self-supervised Vision Transformer foundation model specifically designed for red blood cell (RBC) image analysis.
It leverages a tailored version of the DINOv2 framework, trained on a meticulously curated dataset of 1.25 million RBC images from diverse acquisition modalities and sources.
This model excels at extracting robust, general-purpose features for downstream hematology tasks such as shape classification, morphological subtype recognition, and batch-effect–robust analysis.
Unlike general-purpose models pretrained on natural images, RedDino incorporates hematology-specific augmentations, architectural tweaks, and RBC-tailored data preprocessing, enabling state-of-the-art performance on multiple RBC benchmarks.
🧠 Developed by Luca Zedda, Andrea Loddo, Cecilia Di Ruberto, and Carsten Marr
🏥 University of Cagliari & Helmholtz Munich
📄 Preprint: arXiv:2508.08180
💻 Code: https://github.com/Snarci/RedDino
Model Details
- Architecture: ViT-base, patch size 14
- SSL framework: DINOv2 (customized for RBC morphology)
- Pretraining dataset: 1.25M RBC images from 18 datasets
- Embedding size: 768
- Applications: RBC morphology classification, feature extraction, batch-effect–robust analysis
Example Usage
from PIL import Image
from torchvision import transforms
import timm
import torch
# Load model from Hugging Face Hub
model = timm.create_model("hf_hub:Snarcy/RedDino-base", pretrained=True)
model.eval()
device = "cuda" if torch.cuda.is_available() else "cpu"
model.to(device)
# Load and preprocess image
image = Image.open("path/to/rbc_image.jpg").convert("RGB")
transform = transforms.Compose([
transforms.Resize((224, 224)),
transforms.ToTensor(),
transforms.Normalize(mean=[0.485, 0.456, 0.406],
std=[0.229, 0.224, 0.225]),
])
input_tensor = transform(image).unsqueeze(0).to(device)
# Extract features
with torch.no_grad():
embedding = model(input_tensor)
📝 Citation
If you use this model, please cite the following paper:
RedDino: A foundation model for red blood cell analysis
Luca Zedda, Andrea Loddo, Cecilia Di Ruberto, Carsten Marr — 2025
Preprint: arXiv:2508.08180. https://arxiv.org/abs/2508.08180
@misc{zedda2025reddinofoundationmodelred,
title={RedDino: A foundation model for red blood cell analysis},
author={Luca Zedda and Andrea Loddo and Cecilia Di Ruberto and Carsten Marr},
year={2025},
eprint={2508.08180},
archivePrefix={arXiv},
primaryClass={cs.CV},
url={https://arxiv.org/abs/2508.08180},
}