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]
@misc{cld2022lin,
doi = {10.48550/ARXIV.2205.03644},
url = {https://arxiv.org/abs/2205.03644},
author = {Lin, Yiqun and Yao, Huifeng and Li, Zezhong and Zheng, Guoyan and Li, Xiaomeng},
keywords = {Computer Vision and Pattern Recognition (cs.CV), FOS: Computer and information sciences, FOS: Computer and information sciences},
title = {Calibrating Label Distribution for Class-Imbalanced Barely-Supervised Knee Segmentation},
publisher = {arXiv},
year = {2022}
}
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/. 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.txt
Run the following commands for training.
mkdir -p ./logs/__nohup
bash py_run.sh code/train_cld.py --exp cld -g 0
Run 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).