Git Product home page Git Product logo

sfu-mial / circle Goto Github PK

View Code? Open in Web Editor NEW
3.0 3.0 2.0 372 KB

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

License: GNU Affero General Public License v3.0

Python 100.00%
fairness-ai bias-mitigation classification dermatology fairness-ml representation-learning skin-lesion-classification skin-type-bias gan

circle's Introduction

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

circle's People

Contributors

arezou-pakzad avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

circle's Issues

train_dir, val_dir, test_dir not found

Dear Authors,
Thanks for sharing the codes. If possible, please share the .csv files for train_dir, val_dir, test_dir (required in dataset.py). Thank you

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.