Image reconstruction techniques are used for restoring the quality of images by reducing noise, increasing dynamic ranges, etc. After the introduction of CNNs, GANs and Autoencoder, these models have been effectively used for reconstructing the damaged photographs and became very easy to implement. Furthermore, GANs are used for colourization, super-resolution (increase the resolution), Image editing (removing background unwanted objects), and converting sketches into real photos. In this article, we will go through an overview of each of the popular image reconstruction techniques and will understand how these techniques work. The major points to be covered in this article are listed below.
Table of contents
- Noise reduction or, Denoising
- Low dynamic range (LDR) to High Dynamic Range (HDR)
- Re-colorization
- Super Resolution
Let’s start with understanding noise reduction first.
Noise reduction or, Denoising
Random variation in the brightness or color of an image is called image noise. Noise has always been a problem for photographs, images with noise look dull and tasteless. However, deep learning is very good at removing noise from images. The recently released paper called Deep Image Prior can perform denoising on images. You can see the result below, the left image is full of noise and the right image is denoised by Deep Image Prior.
Are you looking for for a complete repository of Python libraries used in data science, check out here.
Low dynamic range (LDR) to High Dynamic Range (HDR)
First of all understand what dynamic range is, dynamic range is a camera’s ability to capture the darkest and brightest colors in one exposure. Low dynamic range means there is no variation in the images LDR makes images look flat, while High Dynamic Range makes images look visually pleasing. The below image shows the difference between the HDR and LDR. The left side is LDR and the right side is HDR.
There are deep learning models available that can convert an image from low dynamic range to high dynamic range, such as Deep CNN. This model is trained on a large HDR image dataset, which is why it is very good at predicting HDR values. In the given image you can see that the first row is (a) input with low dynamic range, then it is converted to high dynamic range using DCNN see the result in the second row, (b) Reconstruction it is almost the same as, (c) Ground Truth.
Recolorization
Recolorization means coloring a black and white image. This is a challenging process because we are calculating RGB values for grayscale images. Deep learning techniques to recolour grayscale images have progressed very noticeably over the last decade. In the image given below, we can see a visual comparison of colourization on different fruit images from the Natural-Color Dataset. Banana, Cherry and Orange images are colorized surprisingly well, but Apple does not get colorized by the colorization algorithm properly.
Sometimes it happens that the algorithm fails completely in colorizing, see Chili, Corn and lady-finger they do not get colorized by the algorithm.
Super Resolution
Super Resolution means enhancing the edges present in the images, or we can say that enhancing the low-resolution image to the high-resolution image. SRGANs can be used to achieve super-resolution. It’s a type of GAN used for Super-Resolution. There are models out there which can perform super-resolution but they collapse in recovering finer texture details. But SRGAN is the first framework capable of enhancing photo-realistic natural images with a 4X upscaling factor.
Super-resolution image on the left is almost the same as the original one on the right, but it is 4X scaled. SRGAN is not over enhancing the image, it enhances the image and also keeps the fine details.
Another example is how SRGANs super revolutionizes a bicubic interpolation blur, almost close to the original image.
Final words
In this article, we went through a list of image reconstruction techniques one by one and understood how deep learning dominates the computer vision field. Almost all reconstructing techniques can be performed very easily by deep learning models such as DCNN, GANs.