Code Monkey home page Code Monkey logo

image-denoising-using-cnn's Introduction

Image-Denoising-Using-CNN

Recovering meaningful information from noisy images to restore the true image for obtaining high quality images using CNNs

Introduction

Image denoising is to remove noise from a noisy image, so as to restore the true image. However, since noise, edge, and texture are high frequency components, it is difficult to distinguish them in the process of denoising and the denoised images could inevitably lose some details. With the presence of noise, possible subsequent image processing tasks, such as video processing, image analysis, and tracking, are adversely affected. Therefore, image denoising plays an important role in modern image processing systems. The state-of-the-art deep learning denoising methods, typically based on CNNs are in rapid use today. Our aim is to use CNN on the training and testing data to help denoise the input image.

• Autoencoders:

Autoencoders are a class of Neural Networks that try to reconstruct the input itself. They are unsupervised in nature. A general structure of Autoencoders include an Encoder and Decoder. It is just like a normal neural network. It can be made like a simple neural network with the output layer producing the same output shape of the input.

image

a. Encoder: The first part of the autoencoder is the encoder part. The job of the encoder part is to encode the information into a smaller denser representation. The idea is that this dense representation can be used to decode to the original input.

b. Decoder: The decoder takes this dense representation made by the encoder and tries to reconstruct the output. One of the many reasons to train an auto encoder is Dimensionality Reduction (representing some input in some lower spatial resolution without losing its meaning). The compression depends on the size of the last encoder layer. The encoded presentation is a dense representation and can be used as an encryption and compression for input. This encoded layer is also called bottleneck layer.

• Convolutional Autoencoder:

The above approach can be used with a convolutional neural network. We can use up-sampling or deconvolutional layers to decode and use simple convolutional layers to down-sample (encode). A convolutional autoencoder looks like this: image

Encoding Decoding Conv2D (14,14,32) Conv2DTanspose (3,3,128) Conv2D (7,7,64) Conv2DTanspose (7,7,64) Conv2D (3,3,128) Conv2DTanspose (14,14,32)

Dataset:

Fashion-MNIST is a dataset of Zalando's article images—consisting of a training set of 60,000 examples and a test set of 10,000 examples. Each example is a 28x28 grayscale image, associated with a label from 10 classes: • 0 T-shirt/top • 1 Trouser • 2 Pullover • 3 Dress • 4 Coat • 5 Sandal • 6 Shirt • 7 Sneaker • 8 Bag • 9 Ankle boots

Results

image

Loss of pixels after training & testing the model: 0.2765

References

1.) https://medium.com/red-buffer/autoencoders-guide-and-code-in-tensorflow-2-0-a4101571ce56 2.) https://link.springer.com/article/10.1186/s42492-019-0016-7 3.) https://www.iosrjournals.org/iosr-jece/papers/Vol.%2011%20Issue%201/Version-1/L011117884.pdf 4.) https://vciba.springeropen.com/articles/10.1186/s42492-019-0016-7

image-denoising-using-cnn's People

Contributors

rutujabhandigani avatar

Watchers

 avatar

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.