This project aims at removing motion blur originating from the motion or shake of hand-held cameras. It aims to work blindly, ie no knowledge of the blur is required. The motion blur is estimated using a convolutional neural network, and is later used to calibrate a deconvolution algorithm.
The project consists of two distinct parts:
See the wiki for some visual insights.
The library is coded in Python3.
Contributions are more than welcome, either on on the image processing (modeling of complex blurs) or the blur estimation.
In your favorite conda environment, type:
pip install -e .
For development, install the test libraries as follow:
pip install -e ".[TEST_SUITE,DEVELOP]"
python driver_scripts/main_inference.py -i path_to_config.yml
python driver_scripts/main_train.py -i path_to_config.yml
Nota bene: I plan to upload the weights soon.
We currently use the REDS (or GOPRO) dataset for training. If you know any dataset consisting of sharp images, please let me know!
I use Black with line length 120. Please write unit tests (pytest) for your code. Please use the git-flow development process.