Welcome to the ClearVU repository! This project is focused on utilizing Generative Adversarial Networks (GANs) to perform image deblurring. The model is trained on the GoPro dataset and the RealBlur dataset to effectively remove blur artifacts from images. This README file serves as a comprehensive guide to understanding the project, setting up the environment, running the model, and contributing to the development
Image blurring is a common phenomenon caused by various factors such as motion blur, defocus blur, or camera shake. Deblurring aims to reverse this blurring effect and recover the original details and sharpness in an image. The Image Deblurring GAN is a deep learning model designed to address this problem. The Image Deblurring GAN is a PyTorch-based model that utilizes the power of Generative Adversarial Networks (GANs) to remove blurriness from images. It aims to enhance the clarity and sharpness of blurred images by learning from a training dataset.
Based on DeblurGan paper
- Utilizes a GAN-based approach to deblur images.
- The Generator network implements a U-Net-like architecture with skip connections (ResNet blocks) for image-to-image translation tasks, such as image super-resolution or image deblurring. The use of reflection padding and instance normalization aids in producing visually appealing results while avoiding artifacts and mode collapse during GAN training.
- Based on PatchGAN The Discriminator class implements a convolutional neural network with Leaky ReLU activations and instance normalization to discriminate between real and generated images. It uses multiple convolutional layers to learn hierarchical features from the input images and reduces the spatial dimensions while increasing the number of channels.
- Loss functions that are used : WGAN loss function and perceptual loss function based on DeblurGAN paper
- Trained on a combination of the GoPro dataset and RealBlur dataset for improved performance.
- Interactive and responsive UI based on Flask for a user-friendly experience.
- Well-documented codebase with clear explanations for better understanding.
The Image Deblurring GAN model has been trained on the following datasets:
- GoPro Dataset: This dataset contains images captured from a GoPro camera, covering a diverse range of scenes with varying blur levels.Access
- RealBlur Dataset: This dataset consists of images with real-world blur artifacts, including motion blur, defocus blur, and other types of blur.Access
To get started with ClearVU, follow these steps:
- Clone this GitHub repository:
git clone https://github.com/kaustuv-d/IITISoC-23-ImageDeblurring.git
cd IITISoC-23-ImageDeblurring
As an easier alternative, you can download the zip file of the repo and extract it. 2. Install the required dependencies:
pip install -r requirements.txt
To run the web application, follow these steps:
- Ensure that you have installed all the required dependencies mentioned in the Installation section.
- Run the application using the following commands:
cd webapp
python -u main.py
Open the generated link to access the ClearVU UI application.
The 'Clear VU' web application allows users to upload images, preview them, deblur them using the ClearVU application, and view the deblurred results by comparing them with the original blurred image.
- Kaustuv Devmishra [Mechanical Engineering, IIT Indore]
- Naren Kumar Sai Kaja [Computer Science Engineering, IIT Indore]
- Pushkar Singh Kushwaha [Civil Engineering, IIT Indore]
- Ruthvik S [Computer Science Engineering, IIT Indore]