From 7b3d7dcdc223e1ce3f70d574c623927c9c78a740 Mon Sep 17 00:00:00 2001 From: Sanchit Vijay Date: Thu, 29 Oct 2020 19:52:20 +0530 Subject: [PATCH 1/3] Create Generic Model-Agnostic Network_for Single Image Dehazing.md --- .../Generic Model-Agnostic Network_for Single Image Dehazing.md | 1 + 1 file changed, 1 insertion(+) create mode 100644 neural-nets/Generic Model-Agnostic Network_for Single Image Dehazing.md diff --git a/neural-nets/Generic Model-Agnostic Network_for Single Image Dehazing.md b/neural-nets/Generic Model-Agnostic Network_for Single Image Dehazing.md new file mode 100644 index 0000000..becce72 --- /dev/null +++ b/neural-nets/Generic Model-Agnostic Network_for Single Image Dehazing.md @@ -0,0 +1 @@ +# Paper From 1ff2cb302b1d28f152f2841af5d1b5ae7605383f Mon Sep 17 00:00:00 2001 From: Sanchit Vijay Date: Thu, 29 Oct 2020 20:48:45 +0530 Subject: [PATCH 2/3] Update Generic Model-Agnostic Network_for Single Image Dehazing.md --- ...ostic Network_for Single Image Dehazing.md | 38 +++++++++++++++++++ 1 file changed, 38 insertions(+) diff --git a/neural-nets/Generic Model-Agnostic Network_for Single Image Dehazing.md b/neural-nets/Generic Model-Agnostic Network_for Single Image Dehazing.md index becce72..36912aa 100644 --- a/neural-nets/Generic Model-Agnostic Network_for Single Image Dehazing.md +++ b/neural-nets/Generic Model-Agnostic Network_for Single Image Dehazing.md @@ -1 +1,39 @@ # Paper + +- **Title**: Generic Model-Agnostic Convolutional Neural Network for Single Image Dehazing +- **Authors**: Zheng Liu, Botao Xiao, Muhammad Alrabeiah, Keyan Wang, Jun Chen +- **Link**: https://arxiv.org/abs/1810.02862 +- **Tags**: Neural Network, Image Dehazing +- **Year**: 2015 + +# See Also +- **[Code (Implementation in TensorFlow v2+)](https://github.com/sanchitvj/Image-Dehazing-using-GMAN-net), [Explaination](tinyurl.com/gman-dehaze-net)** + +# Summary +- What + - Haze and smog are among the most common environmental factors impacting image quality and, therefore, image analysis. This paper proposes an end-to-end generative method for image dehazing. + - It is based on designing a fully convolutional neural network to recognize haze structures in input images and restore clear, haze-free images. + - Functionally addressing, this architecture is composed of an end-to-end generative method which uses an encoder-decoder approach to solve the dehazing problem. + - Input is a synthetically hazed image from [SOTS Outdoor](https://www.kaggle.com/wwwwwee/dehaze) dataset. Output is a dehazed image. + +- How + - *Architecture* + - The first two layers which input image encounters are convolution blocks with 64 channels. Following them are 2 downsampling blocks(encoder) with stride 2. The encoded image is then fed to a layer build with 4 residual blocks. + - Each block contained a shortcut connection(same as ResNets). This residual layer helps to understand the haze structures. After these comes the upsampling or deconvolutional (decoder) layer which reconstructs the output of residual layers. + - The last two layers are convolutional blocks that transform the upsampled feature map into a 3 channel RGB image which finally added to the input image(global residual layer) and then ReLU to give dehazed output. + - This global residual layer helps in capturing the boundary details of objects with different depths in the scene. + - The encoder part of architecture helps to decrease the dimension of the image and then fed the downsampled image to the residual layer to extract the image features and the decoder part is expected to learn and regenerate the missing data of the haze-free image. + ![image](https://miro.medium.com/max/875/1*nE7o6HsOrdUUff3_XJoXyQ.png) + ![img1](https://miro.medium.com/max/258/1*WPqNf1ykPrSk4QnQMAvKQg.png) + + - *Encoder-Decoder* + - This architecture makes it possible to train a deep network and decrease the dimension of data. Since haze could be thought of as a form of noise, the encoder output is downsampled and fed to the residual layer to extract important features. + - The network squeezes out the features of the original image and discards of the noise information. The decoder part is expected to learn and regenerate the missing data of the haze-free image, conforming the statistical distribution of the input information during the decoding period. + + - *Training* + - All layers in GMAN have 64 filters (kernels), except for the down-sampling ones which have 128 filters, with spatial size of 3*3. The network requires an input with size 224*224, so every image in the training dataset is randomly cropped in order to fit the input size3. + - The batch size is set to 35 to balance the training speed and the memory consumption on the GPU. For accelerated training, the Adam optimizer is used with the following settings: the initial learning rate of 0.001, 1 = 0:9, and 2 = 0:999. + - The network and its training process have been implemented using TensorFlow software framework and carried out on an NVIDIA Titan Xp GPU. After 20 epochs of training, the loss function drops to a value of 0.0004, which is considered a good stopping point. + +- Results + - From 3658db74eff76333271870ab00b92690c74a6eb7 Mon Sep 17 00:00:00 2001 From: Sanchit Vijay Date: Thu, 29 Oct 2020 22:29:10 +0530 Subject: [PATCH 3/3] Update Generic Model-Agnostic Network_for Single Image Dehazing.md --- ...Model-Agnostic Network_for Single Image Dehazing.md | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/neural-nets/Generic Model-Agnostic Network_for Single Image Dehazing.md b/neural-nets/Generic Model-Agnostic Network_for Single Image Dehazing.md index 36912aa..e306833 100644 --- a/neural-nets/Generic Model-Agnostic Network_for Single Image Dehazing.md +++ b/neural-nets/Generic Model-Agnostic Network_for Single Image Dehazing.md @@ -14,7 +14,7 @@ - Haze and smog are among the most common environmental factors impacting image quality and, therefore, image analysis. This paper proposes an end-to-end generative method for image dehazing. - It is based on designing a fully convolutional neural network to recognize haze structures in input images and restore clear, haze-free images. - Functionally addressing, this architecture is composed of an end-to-end generative method which uses an encoder-decoder approach to solve the dehazing problem. - - Input is a synthetically hazed image from [SOTS Outdoor](https://www.kaggle.com/wwwwwee/dehaze) dataset. Output is a dehazed image. + - Input is a synthetically hazed image from [SOTS Outdoor and Indoor](https://www.kaggle.com/wwwwwee/dehaze) dataset. Output is a dehazed image. - How - *Architecture* @@ -32,8 +32,12 @@ - *Training* - All layers in GMAN have 64 filters (kernels), except for the down-sampling ones which have 128 filters, with spatial size of 3*3. The network requires an input with size 224*224, so every image in the training dataset is randomly cropped in order to fit the input size3. - - The batch size is set to 35 to balance the training speed and the memory consumption on the GPU. For accelerated training, the Adam optimizer is used with the following settings: the initial learning rate of 0.001, 1 = 0:9, and 2 = 0:999. + - The batch size is set to 35 to balance the training speed and the memory consumption on the GPU. For accelerated training, the Adam optimizer is used with the following settings: the initial learning rate of 0.001, beta1 = 0:9, and beta2 = 0:999. - The network and its training process have been implemented using TensorFlow software framework and carried out on an NVIDIA Titan Xp GPU. After 20 epochs of training, the loss function drops to a value of 0.0004, which is considered a good stopping point. - Results - - + - On SOTS Outdoor PSNR: 28.19, SSIM: o.9638, on SOTS Indoor PSNR: 20.53, SSIM: 0.8081. + - Experimental results have verified the potential of GMAN in generating haze-free images and shown that it is capable of overcoming some of the common pitfalls of state-of-the-art methods, like color darkening and excessive edge sharpening. + - Moreover, due to the generic architecture of GMAN, it could lay the groundwork for further research on general-purposed image restoration. Indeed, we expect that through training and some design tweaks, our network could be generalized to capture various types of image noise and distortions. + ![img2](https://raw.githubusercontent.com/sanchitvj/Image-Dehazing-using-GMAN-net/master/results/test%20results/test_104.png) + ![img3](https://raw.githubusercontent.com/sanchitvj/Image-Dehazing-using-GMAN-net/master/results/test%20results/test_103.png)