Skip to content

[EMBC 2022] Official Implementation for "Self-supervised Assisted Active Learning for Skin Lesion Segmentation"

License

Notifications You must be signed in to change notification settings

jacobzhaoziyuan/SAAL

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Self-supervised Assisted Active Learning for Skin Lesion Segmentation

EMBC2022 EMBC2022

Pytorch implementation of our method for EMBC 2022 paper: "Self-supervised Assisted Active Learning for Skin Lesion Segmentation".

Contents

Abstract

Label scarcity has been a long-standing issue for biomedical image segmentation, due to high annotation costs and professional requirements. Recently, active learning (AL) strategies strive to reduce annotation costs by querying a small portion of data for annotation, receiving much traction in the field of medical imaging. However, most of the existing AL methods have to initialize models with some randomly selected samples followed by active selection based on various criteria, such as uncertainty and diversity. Such random-start initial- ization methods inevitably introduce under-value redundant samples and unnecessary annotation costs. For the purpose of addressing the issue, we propose a novel self-supervised assisted active learning framework in the cold-start setting, in which the segmentation model is first warmed up with self- supervised learning (SSL), and then SSL features are used for sample selection via latent feature clustering without accessing labels. We assess our proposed methodology on skin lesions segmentation task. Extensive experiments demonstrate that our approach is capable of achieving promising performance with substantial improvements over existing baselines.

Dataset

Download the ISIC 2017: International Skin Imaging Collaboration (ISIC) dataset from ISIC 2017 which composes of 2000 RGB dermoscopy images with binary masks of lesions.

Preprocess: refer to the image pre-processing method in CEAL .

  • Unlabeled Pool: 1600 samples

  • Labeled Pool: 400 samples

Installation

Install PyTorch 1.10.2 + CUDA 11.2 

Pretrain

1. Self-Supervised Learning Model

A self-supervised learning (SSL) framework was first built to explore features from the unlabeled dataset and save SSL model weights to warm up the segmentation model.

cd Self-supervised
run PreTrain.py

2. Embedded Feature Clustering

Then, based on the clustering results of the potential features extracted from the SSL, we develop a criterion to select representative samples from the unlabeled data to form the initial dataset for warm-up training.

run cluster.py

Training

Prior to the AL procedure, the pre-trained weights from the self-supervised learning model are adopted to initialize the segmentation model.

cd segmentation
bash run.sh

Citation

If you find the codebase useful for your research, please cite the paper:

@misc{zhao2022selfsupervised,
    title={Self-supervised Assisted Active Learning for Skin Lesion Segmentation},
    author={Ziyuan Zhao and Wenjing Lu and Zeng Zeng and Kaixin Xu and Bharadwaj Veeravalli and Cuntai Guan},
    year={2022},
    eprint={2205.07021},
    archivePrefix={arXiv},
    primaryClass={eess.IV}
}

Acknowledgement

Part of the code is adapted from open-source codebase and original implementations of algorithms, we thank these authors for their fantastic and efficient codebase:

About

[EMBC 2022] Official Implementation for "Self-supervised Assisted Active Learning for Skin Lesion Segmentation"

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published