This project aims to deblur images generated from kernel filters using deep learning techniques. The goal is to improve the visual quality of blurred images and enhance their clarity.
In this project, we aim to deblur images using kernel filters with varying sizes and sigmas. We apply kernels of (3x3, sigma=0.6), (7x7, sigma=1), and (11x11, sigma=0.16) to generate the blur and sharp test data used for model training.
Link for Input data on which we apply filter to prepare data for input. Link for folder that contain blur and corresponding sharp image for testing purpose.
Blurring in images can occur due to various reasons such as motion blur, out-of-focus blur, or intentional application of blurring filters. Image deblurring involves the process of recovering the original sharp image from its blurred version.
In this project, we focus on deblurring images that have been generated from kernel filters. We use deep learning models, particularly Generative Adversarial Networks (GANs), to learn the mapping between the blurred and sharp images.
The Model is a convolutional neural network (CNN) architecture specifically designed for image deblurring tasks. It comprises an encoder-decoder structure, which consists of the following components:
The encoder module consists of several convolutional layers, each followed by batch normalization and Rectified Linear Unit (ReLU) activation functions. This part of the network gradually increases the number of channels while reducing spatial dimensions.
The decoder module mirrors the architecture of the encoder, but with transposed convolutional layers to upsample the feature maps back to the original size. This part of the network also includes batch normalization and ReLU activation functions.
Peak Signal-to-Noise Ratio (PSNR) is a commonly used metric to evaluate the quality of reconstructed images. A higher PSNR value indicates better image quality. In this project, we achieved a PSNR score of 19, indicating significant improvement in image quality after deblurring.
To get started with the project, follow these steps:
- Clone the repository:
git clone https://github.com/your_username/image-deblurring.git
- Download the raw images from Input data and Test data
- Prepare your dataset of blurred and sharp images.
- Train the deep learning model using the provided scripts.
- Evaluate the model performance using PSNR and other metrics.
The deblurring model demonstrates impressive performance in enhancing the visual quality of blurred images. Here are some examples of the deblurred images produced by the model:
-
Deep Multi-scale Convolutional Neural Network for Dynamic Scene Deblurring
-
DeblurGAN: Blind Motion Deblurring Using Conditional Adversarial Networks
Contributions to the project are welcome! If you have any ideas, bug fixes, or feature enhancements, feel free to open an issue or submit a pull request.
This project is licensed under the MIT License - see the LICENSE file for details.
We would like to acknowledge the contributions of the open-source community and the authors of the libraries and frameworks used in this project.