Code Monkey home page Code Monkey logo

noise2noise's Introduction

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?

noise2noise's People

Contributors

johnpertoft avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar

Forkers

tcguanjian

noise2noise's Issues

issue about the preprocess

hi, John,
Nice to meet you!
I try your code and it work well. excellent!
I wonder where do you do the normalization of the input? I can't find the part to convert input to 0-1.
In noise.py line 29:
"return add_noise(img, stddev1), add_noise(img, stddev2)"
as I see the img range (0-255) and the stddev1 range (0-1), it's really weird.
Thank you!

The jonathonf PPA is not supported anymore

Hello! While trying to setup the container, the tool stopped in the step 4 =/

The terminal prompted me saying
W: The repository 'http://ppa.launchpad.net/jonathonf/python-3.6/ubuntu xenial Release' does not have a Release file. E: Failed to fetch http://ppa.launchpad.net/jonathonf/python-3.6/ubuntu/dists/xenial/main/binary-amd64/Packages 403 Forbidden E: Some index files failed to download. They have been ignored, or old ones used instead.

Is there a way to fix it?

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.