Image Deblurring

Many super-resolution papers also handle deblur

Type of blur or noise

  • Motion Blur
  • Out of Focus
  • Low-resolution
  • Encoding Noise The first one related to video

Learning a convolutional neural network for non-uniform motion blur removal (CVPR 2015)

Blind Image Deconvolution by Automatic Gradient Activation (CVPR 2016)

DeepDeblur (CVPR 2017)

github

Self-paced Kernel Estimation for Robust Blind Image Deblurring (ICCV 2017)

blur2mflow (CVPR 2017)

From Motion Blur to Motion Flow: a Deep Learning Solution for Removing Heterogeneous Motion Blur Project
estimate motion flow and use then estimated motion flow to recover the clear image https://donggong1.github.io/projects/blur2mflow/framework.jpg https://donggong1.github.io/projects/blur2mflow/net.png

DeblurGAN (CVPR 2018)

DeblurGAN: Blind Motion Deblurring Using Conditional Adversarial Networks
pyTorch| Keras re-implementation
0.2fps for 1080p on GTX1080 Ti Requirement of running pre-trained weights:

pyTorch version 0.3.1
torchvision 0.2.0
torchtext 0.2.3
revert NINJA commit (b15a520d660e4366e10bd1110398c731da1f1f6c)
python3 test.py --dataroot <folder> --model test --dataset_mode single --learn_residual --loadSizeX 1920 --loadSizeY 1080 --resize_or_crop ''

DeblurGAN-v2 (ICCV 2019)

DeblurGAN-v2: Deblurring (Orders-of-Magnitude) Faster and Better
pyTorch

  • Framework: introduce FPN to image restoration
  • Backbone: use Inception-ResNet-v2 for quality, MobileNet for speed
    test pre-trained inception: Result of debluring video motion blur is quite good, speed also improved, 2.4fps for 1080P on GTX 1080Ti
    feature/video_inference support video inference :)
    But there is some purple artifact not fixed even the issue is closed :(

Video Debluring

Video Debluring