Git Product home page Git Product logo

concl's Introduction

[ECCV22] ConCL: Concept Contrastive Learning for Dense Prediction Pre-training in Pathology Images

This project hosts the code for the paper

ConCL: Concept Contrastive Learning for Dense Prediction Pre-training in Pathology Images,
Jiawei Yang, Hanbo Chen, Yuan Liang, Junzhou Huang, Lei He and Jianhua Yao
European Conference on Computer Vision (ECCV), 2022

Please consider citing our paper in your publications if the paper or the project helps your research.

ConCL overview

Note


This project is developed upon the open-source project OpenSelfSup, which has now chanegd to MMselfsup. Therefore we provide the full repository we used. It should be straightforward to adopt this repo to new MMselfsup. If you have any issue, please leave an issue.

Installation

Please refer to INSTALL.md for installation and dataset preparation.

Getting Started

Please see GETTING_STARTED.md for the basic usage of OpenSelfSup.

Models

pre-train method backbone # pre-training epoch GlaS AP_bb CRAG AP_bb
SimCLR ResNet-18 200 50.7 49.2
BYOL ResNet-18 200 50.9 49.9
PCL-v2 ResNet-18 200 49.4 51.0
MoCo-v1 ResNet-18 200 50.0 47.2
MoCO-v2 ResNet-18 200 52.3 50.0
DenseCL ResNet-18 200 53.9 52.3
ConCL ResNet-18 200 56.8 55.4
SimCLR ResNet-18 400 51.6 48.9
BYOL ResNet-18 400 50.8 50.3
MoCo-v1 ResNet-18 400 50.6 46.7
MoCO-v2 ResNet-18 400 54.6 51.7
DenseCL ResNet-18 400 55.1 52.9
ConCL ResNet-18 400 58.2 54.7
SimCLR ResNet-18 800 50.6 48.1
BYOL ResNet-18 800 50.2 49.3
MoCo-v1 ResNet-18 800 49.8 47.2
MoCO-v2 ResNet-18 800 55.2 51.8
DenseCL ResNet-18 800 56.0 52.5
ConCL ResNet-18 800 58.6 55.0

The pre-trained models are available at this link.

Usage

Training

bash tools/dist_train.sh configs/NCT_pretraining/concl/r18_bs256_ep200.py 8

Extracting Backbone Weights

WORK_DIR=work_dirs/NCT_pretraining/concl/r18_bs256_ep200/
CHECKPOINT=${WORK_DIR}/epoch_200.pth
WEIGHT_FILE=${WORK_DIR}/concl_r18_bs256_ep200.pth

python tools/extract_backbone_weights.py ${CHECKPOINT} ${WEIGHT_FILE}

Transferring to Object Detection and Instance Segmentation

Please refer to detection/README.md for transferring to dense prediction tasks in GlaS and CRAG dataset.

An example overall script is provided as below:

project_root=$PROJECT_ROOT

cd $project_root

model=concl
config=r18_bs256_ep200
epoch=200

conda activate open-mmlab

mkdir work_dirs/pretrained_models

python tools/extract_backbone_weights.py  \
    work_dirs/NCT_pretraining/$model/$config/epoch_$epoch.pth \
    work_dirs/pretrained_models/$model/$config.pth

conda activate detectron2

cd benchmarks/detection

mkdir -p work_dirs/converted_weights

python convert-pretrain-to-detectron2.py \
    ../../work_dirs/wsi_pretrains/$model/$config.pth    \
    work_dirs/converted_weights/$model/$config.pkl

# 5 independent runs of fine-tuning.
for i in {1..5}
do 
    bash run.sh configs/GlaS/GlaS_R_18_FPN_1x_moco.yaml \
        work_dirs/converted_weights/$model/$config.pkl  \
        8  \
        work_dirs/wsi_submission/GlaS/$model/$config/GlaS_R_18_FPN_1x_moco/$i
done

# 5 independent runs of fine-tuning.
for i in {1..5}
do 
    bash run.sh configs/CRAG/CRAG_R_18_FPN_1x_moco.yaml \
        work_dirs/converted_weights/$model/$config.pkl  \
        8  \
        work_dirs/wsi_submission/GlaS/$model/$config/CRAG_R_18_FPN_1x_moco/$i
done

Acknowledgement

  • We would like to thank the OpenSelfSup (now MMselfsup) for its open-source project.
  • We would like to thank the SCRL for the implementation of views' transformation parameters reserving.

Disclaimer

This tool is for research purpose and not approved for clinical use.

This is not an official Tencent product.

Copyright

This tool is developed in Tencent AI Lab.

The copyright holder for this project is Tencent AI Lab.

All rights reserved.

concl's People

Contributors

jiawei-yang avatar

Forkers

shra1-25

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.