We propose a new approach to Weakly-Supervised Semantic Segmentation (WSSS) with image label supervision for histopathology images, which trains on only patch-level annotations to infer pixel-level labels, called HistoSegNet (published in ICCV 2019). WSSS is useful for histopathology images because pixel-level prediction of tissue types facilitates further analysis by shape and texture, which can be indicative of disease.
Unlike other approaches, no additional training is required beyond training the classification network and only simple modifications are applied to Grad-CAM to perform segmentation. Our approach involves four stages:
- Patch-level Classification CNN
- Pixel-level Segmentation (i.e. Grad-CAM)
- Inter-HTT Adjustments
- Segmentation Post-Processing (i.e. dense CRF)
We have provided the code here for easy installation and verification of the results presented in our paper submission. Pretrained models and sample images are provided for the ADP tuning set and the GlaS dataset.
If you find this code useful in your research, please consider citing us:
@InProceedings{chan2019histosegnet,
author = {Chan, Lyndon and Hosseini, Mahdi S. and Rowsell, Corwyn and Plataniotis, Konstantinos N. and Damaskinos, Savvas},
title = {HistoSegNet: Semantic Segmentation of Histological Tissue Type in Whole Slide Images},
booktitle = {The IEEE International Conference on Computer Vision (ICCV)},
month = {October},
year = {2019}
}
These instructions will get you a copy of the project up and running on your local machine for development and testing purposes.
Mandatory
python
(checked on 3.5)keras
(checked on 2.2.4)tensorflow
(checked on 1.13.1)numpy
(checked on 1.16.2)pydensecrf
(checked on 1.0rc3)cv2
/opencv-python
(checked on 3.4.4.19)scipy
(checked on 1.2.0)skimage
/scikit-image
(checked on 0.14.2)
Optional
matplotlib
(checked on 3.0.2)jupyter
Download hsn_data.zip
(226 MB) from OneDrive containing pretrained models, ground-truth annotations, and images here and extract the contents into your hsn_v1
directory (i.e. three folders data
, gt
, img
).
To run on the ADP tuning set:
python demo_01_segment_patches.py
To run on the GlaS set:
python demo_02_segment_glas_patches.py
Note: this requires Jupyter notebooks to be set up
demo_01_segment_patches.ipynb
demo_02_segment_glas_patches.ipynb