# Description A pre-trained model for volumetric (3D) multi-organ segmentation from CT image. # Model Overview A pre-trained Swin UNETR [1,2] for volumetric (3D) multi-organ segmentation using CT images from Beyond the Cranial Vault (BTCV) Segmentation Challenge dataset [3]. ## Data The training data is from the [BTCV dataset](https://www.synapse.org/#!Synapse:syn3193805/wiki/89480/) (Please regist in `Synapse` and download the `Abdomen/RawData.zip`). The dataset format needs to be redefined using the following commands: ``` unzip RawData.zip mv RawData/Training/img/ RawData/imagesTr mv RawData/Training/label/ RawData/labelsTr mv RawData/Testing/img/ RawData/imagesTs ``` - Target: Multi-organs - Task: Segmentation - Modality: CT - Size: 30 3D volumes (24 Training + 6 Testing) ## Training configuration The training was performed with at least 32GB-memory GPUs. Actual Model Input: 96 x 96 x 96 ## Input and output formats Input: 1 channel CT image Output: 14 channels: 0:Background, 1:Spleen, 2:Right Kidney, 3:Left Kideny, 4:Gallbladder, 5:Esophagus, 6:Liver, 7:Stomach, 8:Aorta, 9:IVC, 10:Portal and Splenic Veins, 11:Pancreas, 12:Right adrenal gland, 13:Left adrenal gland ## Performance A graph showing the validation mean Dice for 5000 epochs. ![](./val_dice.png)
This model achieves the following Dice score on the validation data (our own split from the training dataset): Mean Dice = 0.8283 Note that mean dice is computed in the original spacing of the input data. ## commands example Execute training: ``` python -m monai.bundle run training --meta_file configs/metadata.json --config_file configs/train.json --logging_file configs/logging.conf ``` Override the `train` config to execute multi-GPU training: ``` torchrun --standalone --nnodes=1 --nproc_per_node=2 -m monai.bundle run training --meta_file configs/metadata.json --config_file "['configs/train.json','configs/multi_gpu_train.json']" --logging_file configs/logging.conf ``` Override the `train` config to execute evaluation with the trained model: ``` python -m monai.bundle run evaluating --meta_file configs/metadata.json --config_file "['configs/train.json','configs/evaluate.json']" --logging_file configs/logging.conf ``` Execute inference: ``` python -m monai.bundle run evaluating --meta_file configs/metadata.json --config_file configs/inference.json --logging_file configs/logging.conf ``` Export checkpoint to TorchScript file: TorchScript conversion is currently not supported. # Disclaimer This is an example, not to be used for diagnostic purposes. # References [1] Hatamizadeh, Ali, et al. "Swin UNETR: Swin Transformers for Semantic Segmentation of Brain Tumors in MRI Images." arXiv preprint arXiv:2201.01266 (2022). https://arxiv.org/abs/2201.01266. [2] Tang, Yucheng, et al. "Self-supervised pre-training of swin transformers for 3d medical image analysis." arXiv preprint arXiv:2111.14791 (2021). https://arxiv.org/abs/2111.14791. [3] Landman B, et al. "MICCAI multi-atlas labeling beyond the cranial vault–workshop and challenge." In Proc. of the MICCAI Multi-Atlas Labeling Beyond Cranial Vault—Workshop Challenge 2015 Oct (Vol. 5, p. 12).