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.
- Tfrecord files with jpeg encoded images under key
image/encoded
for training and evaluation.
(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>
$ python -m n2n.train --helpfull
Images from left to right are input image, denoised image, and ground truth noise free image.
$ python -m n2n.train <required-args> --noise additive_gaussian --loss l2
TODO: Compare on similar images.
$ python -m n2n.train <required-args> --noise additive_gaussian --loss l2 --adv_loss lsgan
$ python -m n2n.train <required-args> --noise text --loss l1
$ python -m n2n.train <required-args> --noise impulse --loss l0
TODO
TODO
- Raytracing/raycasting noise?