/CIRCLe

CIRCLe: Color Invariant Representation Learning for Unbiased Classification of Skin Lesions. Mirror of https://github.com/arezou-pakzad/CIRCLe

Primary LanguagePythonGNU Affero General Public License v3.0AGPL-3.0

CIRCLe: Color Invariant Representation Learning for Unbiased Classification of Skin Lesions

This repository holds the source accompanying our ECCV ISIC Workshop 2022 paper.

Paper | Arxiv | DOI | Video | Slides

model_fig

Overview of CIRCLe. (a) The skin lesion image x with skin type z and diagnosis label y is passed through the feature extractor. The learned representation r goes through the classifier to obtain the predicted label. The classification loss enforces the correct classification objective. (b) The skin color transformer (G), transforms x with skin type z into x' with the new skin type z'. The generated image x' is fed into the feature extractor to get the representation r'. The regularization loss enforces r and r' to be similar. (c) The skin color transformer's schematic view with the possible transformed images, where one of the possible transformations is randomly chosen for generating x'.

Abstract

While deep learning based approaches have demonstrated expert-level performance in dermatological diagnosis tasks, they have also been shown to exhibit biases toward certain demographic attributes, particularly skin types (e.g., light versus dark), a fairness concern that must be addressed. We propose CIRCLe, a skin color invariant deep representation learning method for improving fairness in skin lesion classification. CIRCLe is trained to classify images by utilizing a regularization loss that encourages images with the same diagnosis but different skin types to have similar latent representations.

Keywords

Fair AI, Skin Type Bias, Dermatology, Classification, Representation Learning.

Cite

If you use our code, please cite our paper: CIRCLe: Color Invariant Representation Learning for Unbiased Classification of Skin Lesions

The corresponding bibtex entry is:

@inproceedings{pakzad2022circle,
    title = {{CIRCLe}: Color Invariant Representation Learning for Unbiased Classification of Skin Lesions},
    author = {Pakzad, Arezou and Abhishek, Kumar and Hamarneh, Ghassan},
    booktitle = {Proceedings of the 17th European Conference on Computer Vision (ECCV) - ISIC Skin Image Analysis Workshop},
    year = {2022},
    pages = {203-219},
    doi = {10.1007/978-3-031-25069-9_14}
}

Requirements

Install the requirements:

conda create -n circle-env python=3.8
conda activate circle-env
pip install -r requirements.txt

Data

The Fitzpatrick17K dataset is available here.

Training

  1. Train StarGAN:
python train_stargan.py --model_save_dir ./gan-path
  1. Train CIRCLe (with or without the regularization loss):
python main.py --gan_path ./gan-path --use_reg_loss True 
#or
python main.py --gan_path ./gan-path --use_reg_loss False
  • Train CIRCLe with different backbones:
python main.py --base vgg16 
python main.py --base densenet121
python main.py --base resnet18
python main.py --base resnet50
python main.py --base mobilenetv3l
python main.py --base mobilenetv2