Pytorch implementation Self-Rule to Adapt (SRA):
Learning Generalized Features from Sparsely-Labeled Data Using Unsupervised Domain Adaptation for Colorectal Cancer Tissue Phenotyping.
Supervised learning is conditioned by the availability of labeled data, which are especially expensive to acquire in the field of medical image analysis. Making use of open-source data for pre-training or using domain adaptation can be a way to overcome this issue. However, pre-trained networks often fail to generalize to new test domains that are not distributed identically due to variations in tissue stainings, types, and textures. Additionally, current domain adaptation methods mainly rely on fully-labeled source datasets. In this work, we propose Self-Rule to Adapt (SRA) which takes advantage of self-supervised learning to perform domain adaptation and removes the burden of fully-labeled source datasets. SRA can effectively transfer the discriminative knowledge obtained from a few labeled source domain to a new target domain without requiring additional tissue annotations. Our method harnesses both domains’ structures by capturing visual similarity with intra-domain and cross-domain self-supervision. We show that our proposed method outperforms baselines across diverse domain adaptation settings and further validate our approach to our in-house clinical cohort.
The implementation is an extension of the implementation of MoCoV2 (paper, code).
Dataset:
- Kather16: Collection of textures in colorectal cancer histology containing 5000 histological images
- Kather19 - NCT-CRC-HE-100K: 100,000 histological images of human colorectal cancer and healthy tissue
Python
- pytorch = 1.2.0
- torchvision = 0.4.0
The pre-trained (Kather19 to Kather16) model is available on the google drive (link).
To train the model:
python train_sra.py --src_name kather19 --src_path /path/to/kather19 \
--tar_name kather16 --tar_path /path/to/kather16
To evaluate (generate embedding) and plot t-SNE projection:
python eval_sra.py --src_name kather19 --src_path /path/to/kather19 \
--tar_name kather16 --tar_path /path/to/kather16 \
--checkpoint /path/to/checkpoint.pth.tar
We present the t-SNE projection of the results of domain adaptation processes from Kather19 to Kather16.
To validate our approach on real case scenario, we perform domain adaptation using our proposed model from Kather19 to whole slide image sections from our in-house dataset. The results are presented here, alongside the original H&E image, their corresponding labels annotated by an expert pathologist, as well as comparative results of previous approaches smoothed using conditional random fields as in L. Chan (2018). The sections were selected such that, overall, they represent all tissue types equally.
If you use this work please use the following citation :).
@inproceedings{
abbet2021selfrule,
title={Self-Rule to Adapt: Learning Generalized Features from Sparsely-Labeled Data Using Unsupervised Domain Adaptation for Colorectal Cancer Tissue Phenotyping},
author={Christian Abbet and Linda Studer and Andreas Fischer and Heather Dawson and Inti Zlobec and Behzad Bozorgtabar and Jean-Philippe Thiran},
booktitle={Medical Imaging with Deep Learning},
year={2021},
url={https://openreview.net/forum?id=VO7asaS5GUk}
}