Skip to main content

Generalized Live Cell Segmentation with DINOv2 Pretraining

Project description

DINOCell: Self-supervised Pretraining of Cell Segmentation Models

Python 3.8+ License: MIT Paper

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.

PBL HEK Segmentation

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

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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

dinocell-0.74.tar.gz (153.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

dinocell-0.74-py3-none-any.whl (219.9 kB view details)

Uploaded Python 3

File details

Details for the file dinocell-0.74.tar.gz.

File metadata

  • Download URL: dinocell-0.74.tar.gz
  • Upload date:
  • Size: 153.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.8

File hashes

Hashes for dinocell-0.74.tar.gz
Algorithm Hash digest
SHA256 9e9759a7ff8afe5876cdf9459c5a865425914e4c130889e1bf3675ff77fa07ef
MD5 10bcb95fc5304b900f34f188f402afde
BLAKE2b-256 2a952996e5368d97fffd1e7efa25be4277253716aaaa31e389346f7564176f09

See more details on using hashes here.

File details

Details for the file dinocell-0.74-py3-none-any.whl.

File metadata

  • Download URL: dinocell-0.74-py3-none-any.whl
  • Upload date:
  • Size: 219.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.8

File hashes

Hashes for dinocell-0.74-py3-none-any.whl
Algorithm Hash digest
SHA256 ea7dce7f8a1a35e4bf790ac7c68dbbe41c5a205927f1e6ab4a0c96306b216499
MD5 ac9ed240045244fd1791c438815c6266
BLAKE2b-256 0f11f526411f4eab2ef6214b23068e1a906cb8fc43180a8640d95e7cf9037847

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page