Skip to main content

Teaser: DenoiSeg

DenoiSeg: Joint Denoising and Segmentation

Tim-Oliver Buchholz*,1,2, Mangal Prakash*,1,2,, Alexander Krull1,2,3, and Florian Jug1,2,^

1 Max Planck Institute of Molecular Cell Biology and Genetics, Dresden, Germany
2 Center for Systems Biology, Dresden, Germany
3 Max Planck Institute for Physics of Complex Systems, Dresden, Germany
^ florian.jug@fht.org
* Equal contribution (alphabetical order).

Microscopy image analysis often requires the segmentation of objects, but training data for this task is typically scarce and hard to obtain. Here we propose DenoiSeg, a new method that can be trained end-to-end on only a few annotated ground truth segmentations. We achieve this by extending Noise2Void, a self-supervised denoising scheme that can be trained on noisy images alone, to also predict dense 3-class segmentations. The reason for the success of our method is that segmentation can profit from denoising, especially when performed jointly within the same network. The network becomes a denoising expert by seeing all available raw data, while co-learning to segment, even if only a few segmentation labels are available. This hypothesis is additionally fueled by our observation that the best segmentation results on high quality (very low noise) raw data are obtained when moderate amounts of synthetic noise are added. This renders the denoising-task non-trivial and unleashes the desired co-learning effect. We believe that DenoiSeg offers a viable way to circumvent the tremendous hunger for high quality training data and effectively enables few-shot learning of dense segmentations.

Paper: https://arxiv.org/abs/2005.02987

Installation

If you start from scratch...

We recommend using miniconda. If you do not yet have a strong opinion, just use it too!

After installing Miniconda, create a conda environment:

conda create -n 'denoiseg' python=3.9
conda activate denoiseg

Install TensorFlow

The best way to install TensorFLow is to follow the Tensorflow guidelines.

Note that, after installing TensorFlow, running the following commands in your environment will allow you to use the GPU without having to each time run an export command (refer to the Tensorflow step by step):

mkdir -p $CONDA_PREFIX/etc/conda/activate.d
echo 'export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$CONDA_PREFIX/lib/' > $CONDA_PREFIX/etc/conda/activate.d/env_vars.sh

Option 1: PIP (current stable release)

$ pip install denoiseg

Option 2: Git-Clone and install from sources (current master-branch version)

This option is ideal if you want to edit the code. Clone the repository:

$ git clone https://github.com/juglab/denoiseg.git

Change into its directory and install it:

$ cd denoiseg
$ pip install -e .

You are now ready to run DenoiSeg.

How to use it?

Have a look at our jupyter notebook:

How to cite:

@inproceedings{BuchholzPrakash2020DenoiSeg,
  title={DenoiSeg: Joint Denoising and Segmentation},
  author={Tim-Oliver Buchholz and Mangal Prakash and Alexander Krull and Florian Jug},
  year={2020}
}

Reproducibility

The current release and master is a refactored version of the code used for the paper. This refactored version produces the same number as reported in the paper, but if you wish to use the exact code used in the paper, please continue here.

Further results (qualitative and quantitative) can be found on the wiki.

Metadata

Release files for denoiseg 0.3.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for denoiseg 0.3.1
File Size Uploaded
denoiseg-0.3.1.tar.gz 28.5 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for denoiseg 0.3.1
File Interpreter ABI Platform
denoiseg-0.3.1-py2.py3-none-any.whl Python 3, Python 2 none any Details

Total release size: 58.2 kB

Release files / denoiseg-0.3.1.tar.gz

Download URL denoiseg-0.3.1.tar.gz
Size 28.5 kB
Tags Source
SHA-256 checksum
How to use checksums
fd720b78910b84ea5d65deda8c193d64e583c78090d9867990b7a39f72ed7ea3
BLAKE2b-256 checksum
How to use checksums
173ebc3d0ece1c61efa471f3c6c6e1e8a55c28f1e5130f5209f22bb8867374b8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.11.4

Release files / denoiseg-0.3.1-py2.py3-none-any.whl

Download URL denoiseg-0.3.1-py2.py3-none-any.whl
Size 29.7 kB
Tags Python 2 Python 3
SHA-256 checksum
How to use checksums
2f2b0d2dc694236da3725527a8e33e4c5101d33837fc271a83e184aac0adbdc5
BLAKE2b-256 checksum
How to use checksums
4f53f23faa85e3c0cd79ca35724f435d99e0de3e3bbed18a9077951261eaff5b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.11.4

Release history Release notifications | RSS feed

This release

0.3.1 This release

2 release files

0.3.0

2 release files

0.2.2

1 release file

0.2.1

1 release file

0.2.0

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page