SkillAgentSearch skills...

SyntheticTumors

[CVPR 2023] Label-Free Liver Tumor Segmentation

Install / Use

/learn @MrGiovanni/SyntheticTumors
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

<h1 align="center">SynTumor</h1> <div align="center">

visitors GitHub Repo stars <a href="https://twitter.com/bodymaps317"> <img src="https://img.shields.io/twitter/follow/BodyMaps?style=social" alt="Follow on Twitter" /> </a><br/> Subscribe us: https://groups.google.com/u/2/g/bodymaps

</div>

This repository provides extensive examples of synthetic liver tumors generated by our novel strategies. Check to see if you could tell which is real tumor and which is synthetic tumor. More importantly, our synthetic tumors can be used for training AI models, and have proven to achieve a similar (actually, better) performance in real tumor segmentation than a model trained on real tumors.

Amazing, right?

<p align="center"><img width="100%" src="figures/VisualTuringTest.png" /></p> <p align="center"><img width="100%" src="figures/Examples.gif" /></p>

Paper

<b>Label-Free Liver Tumor Segmentation</b> <br/> Qixin Hu<sup>1</sup>, Yixiong Chen<sup>2</sup>, Junfei Xiao<sup>3</sup>, Shuwen Sun<sup>4</sup>, Jieneng Chen<sup>3</sup>, Alan L. Yuille<sup>3</sup>, and Zongwei Zhou<sup>3,*</sup> <br/> <sup>1 </sup>Huazhong University of Science and Technology, <br/> <sup>2 </sup>The Chinese University of Hong Kong -- Shenzhen, <br/> <sup>3 </sup>Johns Hopkins University, <br/> <sup>4 </sup>The First Affiliated Hospital of Nanjing Medical University <br/> CVPR, 2023 <br/> paper | code | talk (by Alan Yuille) | talk | slides | poster

<b>Synthetic Tumors Make AI Segment Tumors Better</b> <br/> Qixin Hu<sup>1</sup>, Junfei Xiao<sup>2</sup>, Yixiong Chen<sup>3</sup>, Shuwen Sun<sup>4</sup>, Jieneng Chen<sup>2</sup>, Alan L. Yuille<sup>2</sup>, and Zongwei Zhou<sup>2,*</sup> <br/> <sup>1 </sup>Huazhong University of Science and Technology, <br/> <sup>2 </sup>Johns Hopkins University, <br/> <sup>3 </sup>The Chinese University of Hong Kong -- Shenzhen, <br/> <sup>4 </sup>The First Affiliated Hospital of Nanjing Medical University <br/> Medical Imaging Meets NeurIPS, 2022 <br/> paper | code | slides | poster | demo | talk

<b>Early Detection and Localization of Pancreatic Cancer by Label-Free Tumor Synthesis</b> <br/> Bowen Li<sup>1</sup>, Yu-Cheng Chou<sup>1</sup>, Shuwen Sun<sup>2</sup>, Hualin Qiao<sup>3</sup>, Alan L. Yuille<sup>1</sup>, and Zongwei Zhou<sup>1,*</sup> <br/> <sup>1 </sup>Johns Hopkins University, <br/> <sup>2 </sup>The First Affiliated Hospital of Nanjing Medical University, <br/> <sup>3 </sup>Sepax technologies <br/> Big Task Small Data, 1001-AI, MICCAI Workshop, 2023 <br/> paper | code

We have documented common questions for the paper in Frequently Asked Questions (FAQ).

We have also provided a list of publications related to tumor synthesis in Awesome Synthetic Tumors Awesome.

Model

| Tumor | Model | Pre-trained? | Download | | ---- | ---- | ---- | ---- | | real | unet | no | link | | real | swin_unetrv2_base | yes | link | | real | swin_unetrv2_base | no | link | | real | swin_unetrv2_small | no | link | | real | swin_unetrv2_tiny | no | link | | synt | unet | no | link | | synt | swin_unetrv2_base | yes | link | | synt | swin_unetrv2_base | no | link | | synt | swin_unetrv2_small | no | link | | synt | swin_unetrv2_tiny | no | link |

Use the following command to download everything.

wget https://www.dropbox.com/s/jys4tt2ttmr7ig1/runs.tar.gz
tar -xzvf runs.tar.gz

0. Installation

git clone https://github.com/MrGiovanni/SyntheticTumors.git
cd SyntheticTumors
wget https://github.com/Project-MONAI/MONAI-extra-test-data/releases/download/0.8.1/model_swinvit.pt

See installation instructions.

1. Train segmentation models using synthetic tumors

datapath=/mnt/zzhou82/PublicAbdominalData/

# UNET (no.pretrain)
CUDA_VISIBLE_DEVICES=0 python -W ignore main.py --optim_lr=4e-4 --batch_size=2 --lrschedule=warmup_cosine --optim_name=adamw --model_name=unet --val_every=200 --max_epochs=4000 --save_checkpoint --workers=2 --noamp --distributed --dist-url=tcp://127.0.0.1:12235 --cache_num=200 --val_overlap=0.5 --syn --logdir="runs/synt.no_pretrain.unet" --train_dir $datapath --val_dir $datapath --json_dir datafolds/healthy.json
# Swin-UNETR-Base (pretrain)
CUDA_VISIBLE_DEVICES=0 python -W ignore main.py --optim_lr=4e-4 --batch_size=2 --lrschedule=warmup_cosine --optim_name=adamw --model_name=swin_unetrv2 --swin_type=base --val_every=200 --max_epochs=4000 --save_checkpoint --workers=2 --noamp --distributed --dist-url=tcp://127.0.0.1:12231 --cache_num=200 --val_overlap=0.5 --syn --logdir="runs/synt.pretrain.swin_unetrv2_base" --train_dir $datapath --val_dir $datapath --json_dir datafolds/healthy.json --use_pretrained
# Swin-UNETR-Base (no.pretrain)
CUDA_VISIBLE_DEVICES=0 python -W ignore main.py --optim_lr=4e-4 --batch_size=2 --lrschedule=warmup_cosine --optim_name=adamw --model_name=swin_unetrv2 --swin_type=base --val_every=200 --max_epochs=4000 --save_checkpoint --workers=2 --noamp --distributed --dist-url=tcp://127.0.0.1:12231 --cache_num=200 --val_overlap=0.5 --syn --logdir="runs/synt.no_pretrain.swin_unetrv2_base" --train_dir $datapath --val_dir $datapath --json_dir datafolds/healthy.json
# Swin-UNETR-Small (no.pretrain)
CUDA_VISIBLE_DEVICES=0 python -W ignore main.py --optim_lr=4e-4 --batch_size=2 --lrschedule=warmup_cosine --optim_name=adamw --model_name=swin_unetrv2 --swin_type=small --val_every=200 --max_epochs=4000 --save_checkpoint --workers=2 --noamp --distributed --dist-url=tcp://127.0.0.1:12233 --cache_num=200 --val_overlap=0.5 --syn --logdir="runs/synt.no_pretrain.swin_unetrv2_small" --train_dir $datapath --val_dir $datapath --json_dir datafolds/healthy.json
# Swin-UNETR-Tiny (no.pretrain)
CUDA_VISIBLE_DEVICES=0 python -W ignore main.py --optim_lr=4e-4 --batch_size=2 --lrschedule=warmup_cosine --optim_name=adamw --model_name=swin_unetrv2 --swin_type=tiny --val_every=200 --max_epochs=4000 --save_checkpoint --workers=2 --noamp --distributed --dist-url=tcp://127.0.0.1:12234 --cache_num=200 --val_overlap=0.5 --syn --logdir="runs/synt.no_pretrain.swin_unetrv2_tiny" --train_dir $datapath --val_dir $datapath --json_dir datafolds/healthy.json

2. Train segmentation models using real tumors (for comparison)

datapath=/mnt/zzhou82/PublicAbdominalData/

# UNET (no.pretrain)
CUDA_VISIBLE_DEVICES=0 python -W ignore -W ignore main.py --optim_lr=4e-4 --batch_size=2 --lrschedule=warmup_cosine --optim_name=adamw --model_name=unet --val_every=200 --val_overlap=0.5 --max_epochs=4000 --save_checkpoint --workers=2 --noamp --distributed --dist-url=tcp://127.0.0.1:12235 --cache_num=200 --logdir="runs/real.no_pretrain.unet" --train_dir $datapath --val_dir $datapath --json_dir datafolds/lits.json
# Swin-UNETR-Base (pretrain)
CUDA_VISIBLE_DEVICES=0 python -W ignore -W ignore main.py --optim_lr=4e-4 --batch_size=2 --lrschedule=warmup_cosine --optim_name=adamw --model_name=swin_unetrv2 --swin_type=base --val_every=200 --val_overlap=0.5 --max_epochs=4000 --save_checkpoint --workers=2 --noamp --distributed --dist-url=tcp://127.0.0.1:12231 --cache_num=200 --logdir="runs/real.pretrain.swin_unetrv2_base" --train_dir $datapath --val_dir $datapath --json_dir datafolds/lits.json --use_pretrained
# Swin-UNETR-Base (no.pretrain)
CUDA_VISIBLE_DEVICES=0 python -W ignore -W ignore main.py --optim_lr=4e-4 --batch_size=2 --lrschedule=warmup_cosine --optim_name=adamw --model_name=swin_unetrv2 --swin_type=base --val_every=200 --val_overlap=0.5 --max_epochs=4000 --save_checkpoint --workers=2 --noamp --distributed --dist-url=tcp://127.0.0.1:12232 --cache_num=200 --logdir="run
View on GitHub
GitHub Stars375
CategoryDevelopment
Updated14d ago
Forks28

Languages

Python

Security Score

85/100

Audited on Mar 24, 2026

No findings