image-deblurring-using-deep-learning
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
inputfolder. 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.pyscript inside thesrcfolder. Then I have used these images for deblurring. - The following is the order of execution:
add_gaussian_blur.pydeblur_ae.py
- Note: Execute all the scripts while being within the
srcfolder inside the terminal.
Some Results
-
Loss Plot

-
Blurred Image

Final Deblurred Image

Future Work
- To deblur the spatially variant images inside the
defocused_blurredandmotion_blurredfolders. - Add more and better models to
models.pyscript. - 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.