BAAI-DCAI / SegVol

The official code for "SegVol: Universal and Interactive Volumetric Medical Image Segmentation".
MIT License
235 stars 21 forks source link

SegVol: Universal and Interactive Volumetric Medical Image Segmentation

| 🌟**Quickstart([ModelScope](https://www.modelscope.cn/models/yuxindu/SegVol/summary) / [πŸ€—HF](https://huggingface.co/BAAI/SegVol))** | πŸ“ƒ [**Paper**](https://arxiv.org/abs/2311.13385) | [**Web Tool**](https://www.modelscope.cn/studios/YuxinDu/SegVol/summary) | πŸ“‚ **Datasets([ModelScope](https://www.modelscope.cn/datasets/GoodBaiBai88/M3D-Seg/summary)/[πŸ€—HF](https://huggingface.co/datasets/GoodBaiBai88/M3D-Seg))** |

πŸŽ‰πŸŽ‰πŸŽ‰Our paper has been accepted at NeurIPS 2024 as a spotlight!

The SegVol is a universal and interactive model for volumetric medical image segmentation. SegVol accepts point, box and text prompt while output volumetric segmentation. By training on 90k unlabeled Computed Tomography (CT) volumes and 6k labeled CTs, this foundation model supports the segmentation of over 200 anatomical categories.

We have released SegVol's inference code, training code, model params and ViT pre-training params (pre-training is performed over 2,000 epochs on 96k CTs).

Keywords: 3D medical SAM, volumetric image segmentation

Quickstart: Enable easy training and testing

🌟Quickstart with ModelScope (ζ— ιœ€δ»£η†)

🌟Quickstart with HuggingFace

Start with source code

Requirements

The pytorch v1.11.0 (or a higher version) is needed first. Following install key requirements using commands:

pip install 'monai[all]==0.9.0'
pip install einops==0.6.1
pip install transformers==4.18.0
pip install matplotlib

Guideline for training and inference

How to infer a demo case.

How to train SegVol.

How to use our pre-trained ViT as your model encoder.

Datasets involved

🌟The 25 processed datasets are being uploaded to ModelScope/ι­”ζ­η€ΎεŒΊ and HuggingFace.

Links to the original datasets: Dataset Link
3D-IRCADB https://www.kaggle.com/datasets/nguyenhoainam27/3dircadb
AbdomenCT-1k https://github.com/JunMa11/AbdomenCT-1K
AMOS22 https://amos22.grand-challenge.org/
BTCV https://www.synapse.org/\#!Synapse:syn3193805/wiki/217752
CHAOS https://chaos.grand-challenge.org/
CT-ORG https://wiki.cancerimagingarchive.net/pages/viewpage.action?pageId=61080890
FLARE22 https://flare22.grand-challenge.org/
HaN-Seg https://han-seg2023.grand-challenge.org/
KiPA22 https://kipa22.grand-challenge.org/
KiTS19 https://kits19.grand-challenge.org/
KiTS23 https://kits-challenge.org/kits23/
LUNA16 https://luna16.grand-challenge.org/Data/
MSD-Colon http://medicaldecathlon.com/
MSD-HepaticVessel http://medicaldecathlon.com/
MSD-Liver http://medicaldecathlon.com/
MSD-lung http://medicaldecathlon.com/
MSD-pancreas http://medicaldecathlon.com/
MSD-spleen http://medicaldecathlon.com/
Pancreas-CT https://wiki.cancerimagingarchive.net/display/public/pancreas-ct
QUBIQ https://qubiq.grand-challenge.org/
SLIVER07 https://sliver07.grand-challenge.org/
TotalSegmentator https://github.com/wasserth/TotalSegmentator
ULS23 https://uls23.grand-challenge.org/
VerSe19 https://osf.io/nqjyw/
VerSe20 https://osf.io/t98fz/
WORD https://paperswithcode.com/dataset/word

Web Tool of SegVol πŸ“½

https://github.com/BAAI-DCAI/SegVol/assets/60123629/242a1578-e418-463c-9d53-a62eeb154c7d

πŸ†Internal Validation Performance(Dice Score)

![github(7)](https://github.com/BAAI-DCAI/SegVol/assets/60123629/a578a66a-ddef-457a-8bf7-9ca5c8a9ba1c)

πŸ†External Validation Performance(Dice Score)

![github(9)](https://github.com/BAAI-DCAI/SegVol/assets/60123629/7dac6593-f1c7-4dbf-b5b8-d9f6bdf7b3ae)

We performed an external validation experiment using a novel annotated dataset from the ULS23 Challenge (750 + 744 + 124 cases about lesions) and the validation dataset from Amos22 (120 cases about organs). SegVol showed strong segmentation abilities compared to other medical SAM methods in accurately segmenting lesions and 15 important organs.

VisualizationπŸ”

Dataset (Released)

ι‘΅-2

Internal Validation

ι‘΅-1

External Validation

vis

NewsπŸš€

(2024.01.03) A radar map about zero-shot experiment has been reported. πŸ†

(2023.12.25) Our web tool supports download results now! You can use it as an online tool. πŸ”₯πŸ”₯πŸ”₯

(2023.12.15) The training code has been uploaded!

(2023.12.04) A web tool of SegVol is here! Just enjoy it! πŸ”₯πŸ”₯πŸ”₯

(2023.11.28) Our model and demo case have been open-source at huggingface/BAAI/SegVol. πŸ€—πŸ€—

(2023.11.28) The usage of pre-trained ViT has been uploaded.

(2023.11.24) You can download weight files of SegVol and ViT(CTs pre-train) from huggingface/BAAI/SegVol or Google Drive. πŸ”₯πŸ”₯πŸ”₯

(2023.11.23) The brief introduction and instruction have been uploaded.

(2023.11.23) The inference demo code has been uploaded.

(2023.11.22) The first edition of our paper has been uploaded to arXiv. πŸ“ƒ

Citation

If you find this repository helpful, please consider citing:

@article{du2023segvol,
  title={SegVol: Universal and Interactive Volumetric Medical Image Segmentation},
  author={Du, Yuxin and Bai, Fan and Huang, Tiejun and Zhao, Bo},
  journal={arXiv preprint arXiv:2311.13385},
  year={2023}
}
@misc{bai2024m3dadvancing3dmedical,
      title={M3D: Advancing 3D Medical Image Analysis with Multi-Modal Large Language Models}, 
      author={Fan Bai and Yuxin Du and Tiejun Huang and Max Q. -H. Meng and Bo Zhao},
      year={2024},
      eprint={2404.00578},
      archivePrefix={arXiv},
      primaryClass={cs.CV},
      url={https://arxiv.org/abs/2404.00578}, 
}

Acknowledgement

Thanks for the following amazing works:

HuggingFace.

CLIP.

MONAI.

3D Slicer.

Image by brgfx on Freepik.

Image by muammark on Freepik.