Benjamin Salmon1 and Alexander Krull2
1,2School of Computer Science, University of Birmingham
1[email protected]
2[email protected]
The introduction of unsupervised methods in denoising has shown that unpaired noisy data can be used to train denoising networks, which can not only produce high quality results but also enable us to sample multiple possible diverse denoising solutions. However, these systems rely on a probabilistic description of the imaging noise--a noise model. Until now, imaging noise has been modelled as pixel-independent in this context. While such models often capture shot noise and readout noise very well, they are unable to describe many of the complex patterns that occur in real life applications. Here, we introduce a novel learning-based autoregressive noise model to describe imaging noise and show how it can enable unsupervised denoising for settings with complex structured noise patterns. We explore different ways to train a model for real life imaging noise and show that our deep autoregressive noise model has the potential to greatly improve denoising quality in structured noise datasets. We showcase the capability of our approach on various simulated datasets and on real photo-acoustic imaging data.
Code for the publication Towards Structured Noise Models for Unsupervised Denoising.
@inproceedings{salmon2022towards,
title={Towards Structured Noise Models for Unsupervised Denoising},
author={Salmon, Benjamin and Krull, Alexander},
booktitle={European Conference on Computer Vision},
pages={379--394},
year={2022},
organization={Springer}
}
We recommend installing the dependencies in a conda environment. If you haven't already, install miniconda on your system by following this link.
Once conda is installed, create and activate an environment by entering these lines into a command line interface:
conda create --name autonoise
conda activate autonoise
Next, install PyTorch and torchvision for your system by following this link.
After that, you're ready to install the dependencies for this repository:
pip install lightning jupyterlab matplotlib tifffile scikit-image tensorboard
Data used in the paper can be found at (https://zenodo.org/record/7010202#.Yv_Uyy8w1QI). The 'examples' directory contains notebooks for denoising the Convallaria with simulated sCMOS noise dataset. Notebooks assume data has been stored as .tif files in a 'data' directory as numpy ndarrays with dimensions [Number, Channels, Height, Width].