Home

Awesome

GKPILE-Deconvolution

Code for reproducing the result of paper [Blind Image Deconvolution by Generative-based Kernel Prior and Initializer via Latent Encoding]

Test

Prerequisites

Download the pretrained models of kernel Generator(netG) and Initializer(netE) from Google Drive to the models folder.

Test on the synthetic images from Lai dataset

Put the test images in the ./datasets/Lai/uniform folder. Reproduce results reported in the paper.

python deblur_lai.py

Train

Prepare datasets

Kernel datasets

The generated N blur kernels are combined into a three-dimensional array of shape (N, kernel_size, kernel_size), and stored as an npz file in the ./datasets/kernel folder.

Clean image dataset

To train the kernel initializer, a clean image dataset is used for convolving with the blur kernels to produce blurred images. We used the OpenImage dataset and place the folder open_val into ./datasets. Other clean image datasets could also be considered.

Train kernel Generator

python train_generator.py --kernel_size [size of kernel] --kernel_path [path to kernel] --save_path [path to save model]

Train kernel Initializer

python train_initializer.py --kernel_size [size of kernel] --kernel_path [path to kernel] --save_path [path to save model]

Citation

If our work is useful for your research, please cite our paper: