You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
ECL: Class-Enhancement Contrastive Learning for Long-tailed Skin Lesion Classification
Share us a ⭐ if this repo does help
This repository is the official implementation of ECL(Accepted by MICCAI 2023). If you encounter any question, please feel free to contact us. You can create an issue or just send an email to me at zhangyilan@buaa.edu.com. Also welcome for any idea exchange and discussion.
Skin image datasets often suffer from imbalanced data distribution, exacerbating the difficulty of computer-aided skin disease diagnosis. Some recent works exploit supervised contrastive learning (SCL) for this long-tailed challenge. Despite achieving significant performance, these SCL-based methods focus more on head classes, yet ignore the utilization of information in tail classes. In this paper, we propose class-Enhancement Contrastive Learning (ECL), which enriches the information of minority classes and treats different classes equally. For information enhancement, we design a hybrid-proxy model to generate class-dependent proxies and propose a cycle update strategy for parameter optimization. A balanced-hybrid-proxy loss is designed to exploit relations between samples and proxies with different classes treated equally. Taking both "imbalanced data" and "imbalanced diagnosis difficulty" into account, we further present a balanced-weighted cross-entropy loss following the curriculum learning schedule.
Requirements
Windows/Linux both support
python 3.8
PyTorch 1.9.0
torchvision 0.10.0
Datasets
We conduct experiments on two public skin lesion datasets (download from ISIC Challenge): ISIC 2018 and ISIC 2019. The ISIC 2018 dataset contains 2594 images of 7 classes, and the ISIC 2019 dataset contains 25331 images of 8 classes.
You can run the following code to get the splied datasets: