Skip to content

bwittmann/vesselFM

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

TL;DR: VesselFM is a foundation model for universal 3D blood vessel segmentation. It is trained on three heterogeneous data sources: a large, curated annotated dataset, synthetic data generated through domain randomization, and data sampled from a flow matching-based deep generative model. These data sources provide enough diversity to enable vesselFM to achieve exceptional zero-shot blood vessel segmentation, even in completely unseen domains. For details, please refer to our manuscript.


🟢 Installation

First, set up a conda environment and install dependencies:

conda create -n vesselfm python=3.9

conda activate vesselfm

pip install -e .

🟢 Zero-Shot Segmentation

If you are solely interested in running vesselFM's inference script for zero-shot segmentation of data at hand, adjust the respecitve config file (see #TODO) and run:

python vesselfm/seg/inference.py

Additional information on inference, pre-training, and fine-tuning are available here. Checkpoints will be downloaded automatically and are also available on Hugging Face 🤗.

🟢 Data Sources

We also provide individual instructions for generating our three proposed data sources.

$\mathcal{D}_\text{drand}$: Domain randomized synthetic data (here).

$\mathcal{D}_\text{flow}$: Synthetic data sampled from our flow matching-based deep generative model (here).

$\mathcal{D}_\text{real}$: Real data curated from 17 annotated blood vessel segmentation datasets (here).

🟢 Citing vesselFM

If you find our work useful for your research, please cite:

@InProceedings{Wittmann_2025_CVPR,
    author    = {Wittmann, Bastian and Wattenberg, Yannick and Amiranashvili, Tamaz and Shit, Suprosanna and Menze, Bjoern},
    title     = {vesselFM: A Foundation Model for Universal 3D Blood Vessel Segmentation},
    booktitle = {Proceedings of the Computer Vision and Pattern Recognition Conference (CVPR)},
    month     = {June},
    year      = {2025},
    pages     = {20874-20884}
}

🟢 License

Code in this repository is licensed under GNU General Public License v3.0. Model weights are released under Open RAIL++-M License and are restricted to research and non-commercial use only. Model use must comply with potential licenses, regulations, and restrictions arising from the use of named data sets during model training.

Releases

No releases published

Packages

 
 
 

Contributors

Languages