Co-training has achieved significant success in the field of semi-supervised learning(SSL); however, the homogenization phenomenon, which arises from multiple models tending towards similar decision boundaries, remains inadequately addressed. To tackle this issue, we propose a novel algorithm called
Nonlinear Interpolation and Differentiated Training Strategies for Semi-Supervised Medical Image Segmentation(CVPR 2025)
conda create -n beta python=3.8
conda activate beta
pip install -r requirements.txt
Data could be got at ACDC and promise12.
MS-CMRSEG19: Download from official link or directly use preprocessed data at onedrive..
├── ./train_MSCMRSEG
├── ./train_promise12
├── ./train_ACDC
├── ./data
├── [ACDC]
├── [data]
├── test.list
├── train_slices.list
├── train.list
└── val.list
├── [promise12]
├── CaseXX_segmentation.mhd
├── CaseXX_segmentation.raw
├── CaseXX.mhd
├── CaseXX.raw
├── test.list
└── val.list
├── [MS_CMRSEG]
├── mscmrseg19_split1/
├── data/
│ ├── patient1_LGE.h5
│ ├── ...
│ └── slices/
│ ├── patient1_LGE_slice_0.h5
│ └── ...
├── test.list
├── train_slices.list
└── val.list
├── mscmrseg19_split2/
├── data/
│ ├── patient1_LGE.h5
│ ├── ...
│ └── slices/
│ ├── patient1_LGE_slice_0.h5
│ └── ...
├── test.list
├── train_slices.list
└── val.list
To train a model
├──ACDC_train_label_7:
cd train_ACDC
python beta_fft_label7.py
├──ACDC_train_label_3:
cd train_ACDC
python beta_fft_label3.py
├──MSCMRSEG_spilt1:
cd train_MSCMRSEG
python train_beta_fft1.py
├──MSCMRSEG_spilt2:
cd train_MSCMRSEG
python train_beta_fft2.py
├──promise12:
cd train_promise12
python train_promise12_bcp_fft.py
To test a model
We have given the model of the corresponding results of our paper
best_results/
if you want to test, you can follow the code below.
Note: For MS-CMRSEG19, the dataset is split into training and validation only. We report the averaged results on the validation sets of the two random splits.This is to follow the article DiffRect.
python test_ACDC_beta_FFT.py # for ACDC testing
python test_PROMISE12.py # for PROMISE12 testing
*******************Replace the paths of split1 and split2 respectively.
python test_2D.py # for MS-CMRSEG19_split1
python test_2D.py # for MS-CMRSEG19_split2
Our code is largely based on SSL4MIS, BCP, DiffRect,MixUp,and ABD. Thanks for these authors for their valuable work, hope our work can also contribute to related research.
Email: huming708@gmail.com