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 preprint (https://arxiv.org/pdf/2411.17386).
First, set up a conda environment and install dependencies:
conda create -n vesselfm python=3.9
conda activate vesselfm
pip install -e .
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 🤗.
We also provide individual instructions for generating our three proposed data sources.
If you find our work useful for your research, please cite:
@article{wittmann2024vesselfm,
title={vesselFM: A Foundation Model for Universal 3D Blood Vessel Segmentation},
author={Wittmann, Bastian and Wattenberg, Yannick and Amiranashvili, Tamaz and Shit, Suprosanna and Menze, Bjoern},
journal={arXiv preprint arXiv:2411.17386},
year={2024}
}
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.