Yiqun Lin, Huifeng Yao, Zezhong Li, Guoyan Zheng, Xiaomeng Li, "Calibrating Label Distribution for Class-Imbalanced Barely-Supervised Knee Segmentation", MICCAI 2022 (Provisionally Accepted). [paper]
@inproceedings{lin2022calibrating,
title={Calibrating label distribution for class-imbalanced barely-supervised knee segmentation},
author={Lin, Yiqun and Yao, Huifeng and Li, Zezhong and Zheng, Guoyan and Li, Xiaomeng},
booktitle={International Conference on Medical Image Computing and Computer-Assisted Intervention},
pages={109--118},
year={2022},
organization={Springer}
}
This code has been tested with Python 3.6, PyTorch 1.8, torchvision 0.9.0, and CUDA 11.1 on Ubuntu 20.04.
The MR imaging scans are available at https://oai.nih.gov/. For issues related to the dataset, please contact our co-author (email: im.lzz@sjtu.edu.cn).
Run the function process_npy in ./code/data/preprocess.py to convert .nii.gz files into .npy for faster loading. To generate the labeled/unlabeled splits, run the function process_split_semi or use our pre-split files in ./knee_data/splits/*.txt. After preprocessing, the ./knee_data/ folder should be organized as follows:
./knee_data/
├── imagesTr
│ ├── <id>_0000.nii.gz
├── labelsTr
│ ├── <id>.nii.gz
├── imagesTs
│ ├── <id>_0000.nii.gz
├── labelsTs
│ ├── <id>.nii.gz
├── npy
│ ├── <id>_image.npy
│ ├── <id>_label.npy
├── splits
│ ├── labeled.txt
│ ├── unlabeled.txt
│ ├── train.txt
│ ├── eval.txt
│ ├── test.txtRun the following commands for training.
mkdir -p ./logs/__nohup
bash py_run.sh code/train_cld.py --exp cld -g 0Run the following commands for testing.
bash py_run.sh code/test.py --exp cld -ep 280 --cps A -g 0
python code/evaluate.py -p ./logs/cld/predictions/ep_280/| Model | Avg. | DF | FC | Ti | TC | Link |
|---|---|---|---|---|---|---|
| CLD-Semi | 87.2 | 93.8 | 83.7 | 92.8 | 78.6 | ep_280.pth |
This repository is released under MIT License (see LICENSE file for details).