GithubHelp home page GithubHelp logo

genoburyukawa / nudiff Goto Github PK

View Code? Open in Web Editor NEW

This project forked from xinyiyu/nudiff

0.0 0.0 0.0 139 KB

Diffusion-based Data Augmentation for Nuclei Image Segmentation

License: Other

Shell 0.03% Python 95.84% Jupyter Notebook 4.13%

nudiff's Introduction

Nudiff: Diffusion-based Data Augmentation for Nuclei Image Segmentation

This repository holds the code for the paper "Diffusion-based data augmentation for nuclei image segmentation".

Description

Nuclei segmentation is a fundamental but challenging task in the quantitative analysis of histopathology images. Although fullysupervised deep learning-based methods have made significant progress, a large number of labeled images are required to achieve great segmentation performance. Considering that manually labeling all nuclei instances for a dataset is inefficient, obtaining a large-scale human-annotated dataset is time-consuming and labor-intensive. Therefore, augmenting a dataset with only a few labeled images to improve the segmentation performance is of significant research and application value. In this paper, we introduce the first diffusion-based augmentation method for nuclei segmentation. The idea is to synthesize a large number of labeled images to facilitate training the segmentation model. To achieve this, we propose a two-step strategy. In the first step, we train an unconditional diffusion model to synthesize the Nuclei Structure that is defined as the representation of pixel-level semantic and distance transform. Each synthetic nuclei structure will serve as a constraint on histopathology image synthesis and is further post-processed to be an instance map. In the second step, we train a conditioned diffusion model to synthesize histopathology images based on nuclei structures. The synthetic histopathology images paired with synthetic instance maps will be added to the real dataset for training the segmentation model. The experimental results show that by augmenting 10% labeled real dataset with synthetic samples, one can achieve comparable segmentation results with the fully-supervised baseline.

Installation

Clone this repository and install the package in your terminal under the Nudiff directory:

python setup.py develop

The ./hover_net directory holds the code of vqdang/hover-net with slight modifications. Please also read the README.md in ./hover_net.

Data

The experiments in our paper are conducted on two datasets: MoNuSeg and Kumar. The MoNuSeg dataset has 44 labeled images of size 1000 ร— 1000, 30 for training and 14 for testing. The Kumar dataset consists of 30 1000 ร—1000 labeled images from seven organs of The Cancer Genome Atlas (TCGA) database. The dataset is splited into 16 training images and 14 testing images. Download the two datasets from link.

Usage

The notebook shows the pipeline of data preparation, diffusion models training, sampling and segmentation model training/testing. Please read it before you use the package.

Pretrained models

The pretrained unconditional and conditional diffusion models of MoNuSeg and Kumar can be downloaded from baiduyun.

Acknowledge

The repository is mainly based on openai/guided-diffusion and vqdang/hover-net. We also thank for the contributors of public datasets.

Citation

Please consider citing our paper if you find it helpful to your research:

@inproceedings{yu2023diffusion,
  title={Diffusion-Based Data Augmentation for Nuclei Image Segmentation},
  author={Yu, Xinyi and Li, Guanbin and Lou, Wei and Liu, Siqi and Wan, Xiang and Chen, Yan and Li, Haofeng},
  booktitle={International Conference on Medical Image Computing and Computer-Assisted Intervention},
  pages={592--602},
  year={2023},
  organization={Springer}
}

Contact information

Please contact Xinyi Yu ([email protected]) and Prof. Haofeng Li ([email protected]) if any enquiry.

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.