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)¶
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
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 :(