Skip to content

[ICML' 24] Unsupervised Domain Adaptation for Anatomical Structure Detection in Ultrasound Images.

Notifications You must be signed in to change notification settings

xmed-lab/ToMo-UDA

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Unsupervised Domain Adaptation for Anatomical Structure Detection in Ultrasound Images.

🔨 PostScript

  😄 This project is the pytorch implemention of ToMo-UDA;

  😆 Our experimental platform is configured with One RTX3090 (cuda>=11.0);

  😊 Currently, this code is avaliable for proposed dataset $FUSH^2$, public dataset CardiacUDA and MMWHS;

💻 Installation

  1. You need to build the relevant environment first, please refer to : environment.yml

  2. Install Environment:

    conda env create -f environment.yml
    
  • We recommend you to use Anaconda to establish an independent virtual environment, and python > = 3.8.3;

📘 Data Preparation

1. FUSH^2 dataset

  • This project provides the use case of UDA Ultrasound Anatomical Structure Detection task;

  • The hyper parameters setting of the dataset can be found in the utils/config.py, where you could do the parameters modification;

  • For different tasks, the composition of data sets have significant different, so there is no repetition in this file;

    1. Download & Unzip the dataset.

      The FUSH^2 dataset is composed as: /Heart & /Head.

    2. The source code of loading the $FUSH^2$ dataset exist in path :

      ..\data\fetus_dataset_coco.py
      and modify the dataset path in
      ..\utils/config.py
    3. In utils/config.py, you can set the part to select the anatomical slice, and choose the source and target domains using selected_source_hospital and selected_target_hospital, respectively.

2. FUSH^2 dataset access

  • Dataset access can be obtained by contacting hospital staff ([email protected]) and asking for a license.

🐾 Training

  1. In this framework, after the parameters are configured in the file utils/config.py and train.py , you only need to use the command:

    python train.py
  2. You are also able to start distributed training.

    • Note: Please set the number of graphics cards you need and their id in parameter "enable_GPUs_id".
    python -m torch.distributed.launch --nproc_per_node=4 train.py

🐾 Testing

  1. Download the TEST_CHECKPOINT here.

  2. you only need to use the command:

     python test.py --path TEST_CHECKPOINT

🐾 citation

@inproceedings{puunsupervised,
  title={Unsupervised Domain Adaptation for Anatomical Structure Detection in Ultrasound Images},
  author={Pu, Bin and Lv, Xingguo and Yang, Jiewen and Guannan, He and Dong, Xingbo and Lin, Yiqun and Shengli, Li and Ying, Tan and Fei, Liu and Chen, Ming and others},
  booktitle={Forty-first International Conference on Machine Learning}
}

🚀 Code Reference

About

[ICML' 24] Unsupervised Domain Adaptation for Anatomical Structure Detection in Ultrasound Images.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published