A Denoising Autoencoder

A neural autoencoder accepts input, compresses it, and then reconstructs the original input. One use of an autoencoder is to denoise image or document data. The idea is that during the compression stage, unnecessary information is discarded.

I coded up an example using the Keras library. The source data is 1797 8×8 images of digits — one of several UCI repository datasets.

The first step was to deliberately add noise. Then I used the noisy image data as input and the original data as output and trained an autoencoder.

The image shows digits 0 through 9 after adding noise. You really can’t see much of anything. The second row shows the denoised digits — they’re quite readable.

As usual, the devil is in the details, and there are a lot of details. In the end, for me, this was a fun little experiment.



“White Noise”, Osnat Tzadok

This entry was posted in Keras, Machine Learning. Bookmark the permalink.

1 Response to A Denoising Autoencoder

  1. PGT-ART's avatar PGT-ART says:

    Extremely interesting, i tried to denoise render animations (Blender) using a small NN, it didnt work so well. I wonder what your code might do over multiple coloured video frames. Would you be willing to share the code ?

    A good denoiser can reduce rendering times, animation renders can easily take weeks to calculate on a normal computer, even for renderfarms its no easy task.

Comments are closed.