image-deblurring-using-deep-learning icon indicating copy to clipboard operation
image-deblurring-using-deep-learning copied to clipboard

PyTorch implementation of image deblurring using deep learning. Use a simple convolutional autoencoder neural network to deblur Gaussian blurred images.

README

  • First of all, you can find the dataset on Kaggle:

    • Dataset => https://www.kaggle.com/kwentar/blur-dataset.
  • Get the dataset and extract it inside the input folder. Following is the directory structure for the project:

    ├───input
    │   ├───defocused_blurred
    │   ├───gaussian_blurred
    │   ├───motion_blurred
    │   └───sharp
    ├───outputs
    │   └───saved_images
    └───src
    

Steps to Execute

  • I have not used the blurred images that are given in the original dataset for image deblurring. They are spatially variant due to motion blurring and defocus-blurring. I have added Gaussian blurring to the images using the add_guassian_blur.py script inside the src folder. Then I have used these images for deblurring.
  • The following is the order of execution:
    1. add_gaussian_blur.py
    2. deblur_ae.py
  • Note: Execute all the scripts while being within the src folder inside the terminal.

Some Results

  • Loss Plot

  • Blurred Image

    Final Deblurred Image

Future Work

  • To deblur the spatially variant images inside the defocused_blurred and motion_blurred folders.
  • Add more and better models to models.py script.
  • Any useful contribution to the project is highly appreciated.

References

  • Paper: Image Deblurring with BlurredNoisy Image Pairs, Lu Yuan, Jian Sun, Long Quan, Heung-Yeung Shum.
  • Image super-resolution as sparse representation of raw image patches, Jianchao Yang†, John Wright‡, Yi Ma‡, Thomas Huang†.
  • mage Deblurring and Super-Resolution Using Deep Convolutional Neural Networks](https://www.researchgate.net/publication/328985265_Image_Deblurring_and_Super-Resolution_Using_Deep_Convolutional_Neural_Networks), Fatma Albluwi, Vladimir A. Krylov & Rozenn Dahyot.