DINOCell: Self-supervised Pretraining of Cell Segmentation Models
DINOCell is an automated cell segmentation model for live cell microscopy images. Through initialization with DINOv2 weights, pretrained on 1.2B images, and domain-adaptation on 130k unlabeled cell images, DINOCell achieves unparalleled performance across a wide variety of cell types and microscope conditions.
Key Features
- State-of-the-art Performance: Outperforms existing methods like Cellpose-SAM and SAMCell on both test-set and zero-shot cross-dataset evaluation
- Zero-shot Generalization: Works on novel cell types and microscopes not seen during training
- Vision Transformer Architecture: Leverages DINOv2's ViT-based encoder pretrained on 1.2B images for robust image representations, which are further tuned for microscopy through domain-adaptation on 130k unlabeled cell images.
- Flows Regression: Predicts Cellpose-style Flows instead of binary masks, enabling better separation of densely packed cells
Performance
DINOCell demonstrates superior performance in both test-set and zero-shot cross-dataset evaluation:
LIVECell Test-Set Performance
| Method | SEG | DET | MMA |
|---|---|---|---|
| DINOCell | 0.784 | 0.926 | 0.876 |
| Cellpose-SAM | 0.710 | 0.852 | 0.807 |
| SAMCell-LIVECell | 0.744 | 0.911 | 0.834 |
Zero-Shot Cross-Dataset Performance
| Dataset | Method | SEG | DET | MMA |
|---|---|---|---|---|
| PBL-HEK | DINOCell | 0.553 | 0.818 | 0.734 |
| Cellpose-SAM | 0.452 | 0.627 | 0.617 | |
| SAMCell-cyto | 0.458 | 0.765 | 0.628 | |
| SAMCell-LIVECell | 0.365 | 0.660 | 0.519 | |
| PBL-N2A | DINOCell | 0.859 | 0.947 | 0.923 |
| Cellpose-SAM | 0.778 | 0.899 | 0.801 | |
| SAMCell-cyto | 0.822 | 0.932 | 0.849 | |
| SAMCell-LIVECell | 0.610 | 0.699 | 0.668 | |
| Glioma-C6 | DINOCell | 0.697 | 0.684 | 0.737 |
| Cellpose-SAM | 0.315 | 0.387 | 0.360 | |
| SAMCell-cyto | 0.475 | 0.576 | 0.513 | |
| SAMCell-LIVECell | 0.000 | 0.000 | 0.000 |
Quick Start
Installation
# Install from PyPI (recommended)
pip install dinocell
# Or install from source
git clone https://github.com/kadenstillwagon/DINOCell.git
cd DINOCell
pip install -e .
Basic Usage
import matplotlib.pyplot as plt
from dinocell import segment
#Set Image Path
img_path = 'demo_images/LiveCell_test_image.png'
#Get Model Output
output_segmentations = segment(img_path)
#Visualize
plt.imshow(output)
plt.show()
Command Line Interface
# Segmentation
dinocell segment image.png --output results/
Citation
If you use DINOCell in your research, please cite our paper:
Stillwagon K, VandeLoo AD*, Magondu B, Forest C.R. (2026) Self-supervised Pretraining of Cell Segmentation Models. https://arxiv.org/abs/2604.10609.
@misc{stillwagon2026selfsupervisedpretrainingcellsegmentation,
title={Self-supervised Pretraining of Cell Segmentation Models},
author={Kaden Stillwagon and Alexandra Dunnum VandeLoo and Benjamin Magondu and Craig R. Forest},
year={2026},
eprint={2604.10609},
archivePrefix={arXiv},
primaryClass={cs.CV},
url={https://arxiv.org/abs/2604.10609},
}
Support
- Issues: GitHub Issues
- Discussions: GitHub Discussions
- Email: kstillwagon26@gatech.edu
License
This project is licensed under the MIT License - see the LICENSE file for details.
Institutions
This work was developed at:
- Georgia Institute of Technology
- School of Biological Sciences
- School of Computer Science
- Department of Biomedical Engineering
- School of Mechanical Engineering
Acknowledgments
- Meta AI for the original DINOv2
- The open-source community for tools and datasets
- Georgia Tech for computational resources
- All contributors and users of DINOCell
Metadata
Release files for dinocell 0.74
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| dinocell-0.74.tar.gz | 153.2 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| dinocell-0.74-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 373.1 kB
Release files / dinocell-0.74.tar.gz
| Download URL | dinocell-0.74.tar.gz |
|---|---|
| Size | 153.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
9e9759a7ff8afe5876cdf9459c5a865425914e4c130889e1bf3675ff77fa07ef
|
|
BLAKE2b-256 checksum How to use checksums |
2a952996e5368d97fffd1e7efa25be4277253716aaaa31e389346f7564176f09
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.8
|
Release files / dinocell-0.74-py3-none-any.whl
| Download URL | dinocell-0.74-py3-none-any.whl |
|---|---|
| Size | 219.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
ea7dce7f8a1a35e4bf790ac7c68dbbe41c5a205927f1e6ab4a0c96306b216499
|
|
BLAKE2b-256 checksum How to use checksums |
0f11f526411f4eab2ef6214b23068e1a906cb8fc43180a8640d95e7cf9037847
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.8
|