Skip to content

johnPertoft/noise2noise

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

46 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Noise2Noise

Tensorflow Noise2Noise implementation.

Noise2Noise is a machine learning algorithm that can learn signal reconstruction from only noisy examples, i.e. both inputs and targets are noisy realisations of the same image.

Prerequisites

  • Tfrecord files with jpeg encoded images under key image/encoded for training and evaluation.

Docker

(requires nvidia-docker)

Build docker image

$ docker build -t n2n .

Run a command inside docker container

$ ./scripts/run-in-docker <command>

Mount extra volumes for input or output reasons. Current directory is already shared.

$ VOLUMES="/vol1:/vol1 /vol2:/vol2" ./scripts/run-in-docker <command>

Help

$ python -m n2n.train --helpfull

Results

Images from left to right are input image, denoised image, and ground truth noise free image.

Additive gaussian noise

$ python -m n2n.train <required-args> --noise additive_gaussian --loss l2

additive-gaussian-noise

additive-gaussian-noise additive-gaussian-noise

Experiment with additional adversarial loss

TODO: Compare on similar images.

$ python -m n2n.train <required-args> --noise additive_gaussian --loss l2 --adv_loss lsgan

additive-gaussian-noise-adv

Text overlay noise

$ python -m n2n.train <required-args> --noise text --loss l1

text-noise

text-noise text-noise

Impulse noise

$ python -m n2n.train <required-args> --noise impulse --loss l0

Bernoulli noise

TODO

Poisson noise

TODO

TODO

  • Raytracing/raycasting noise?

About

Noise2Noise implementation

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published