Deep Learning: Noise Removal and Colorizing !
Ibrahim Sobh - PhD
?? Senior Expert of Artificial Intelligence, Valeo Group | LinkedIn Top Voice | Machine Learning | Deep Learning | Data Science | Computer Vision | NLP | Developer | Researcher | Lecturer
First, Noise Removal (Cleaning)
Let's put a convolutional neural network to work on cleaning images by removing noise. This can be done through training the autoencoder to map noisy images to the corresponding clean images. More about autoencoders is here
Here I used the CIFAR-10 dataset that consists of 60000 32x32 color images.
Generating noisy images
Apply a Gaussian noise matrix and clip the images values between 0 and 1 will generate synthetic noisy images.
Training
Then rain the network as usual where the input is the noisy image and the target output is the clean images.
Testing
Can the trained autoencoder learn to recover the original digits from the noisy one?
Testing of the network will be on images that the network has never seen before, the test set.
Results
It seems to work very well! Generally speaking, using larger convolutional neural networks can remove noise from audio
Second, Decolorizing and Colorizing
What about color removal?
Here we will train our network to remove colors from images, in other words to convert color images to gray scale images. As usual we will train the neural network (autoencoder) by providing colored images as input and the corresponding gray level images.
Then we will test the network by asking it to convert to gray scale some colored images that was not seen before during training.
Actually, this task is easy and no learning is needed! it is very simple to convert a colored image (RBG) to gray, just using this simple formula:
gray = 0.30 * r + 0.58 * g + 0.12 * b
The question is, can our network find out this formula just by training, and then generalize over new images?
The answer is yes! See how the generated gray images from input colored images, are almost identical to original gray ones.
Can we train the network to colorize gray images?
In other words, convert gray images to colored one? This is a much harder task. removing color is relatively easy, Given the RGB three components we can git a single corresponding gray level using the formula above. On the other hand, given a single gray level, how would we know the corresponding three RGB components. There are many possibilities that may give the same gray level.
Here is a very nice paper that attacks the problem of hallucinating a plausible color version of the gray scale image.
Regards,
Product, Innovation & Strategy | STEM MBA Candidate at John Hopkins University | Dean's Scholar | Ex- Frost & Sullivan | Ex- Renault Nissan Tech
6 年Sir do u know any good book or site or course related to learn deep learning from scratch?
Product, Innovation & Strategy | STEM MBA Candidate at John Hopkins University | Dean's Scholar | Ex- Frost & Sullivan | Ex- Renault Nissan Tech
6 年How autoencoders are removing noise from the image?