## Training - To download DPDD training data, run ``` python download_data.py --data train ``` - Generate image patches from full-resolution training images, run ``` python generate_patches_dpdd.py ``` - To train Restormer on **single-image** defocus deblurring task, run ``` cd Restormer ./train.sh Defocus_Deblurring/Options/DefocusDeblur_Single_8bit_Restormer.yml ``` - To train Restormer on **dual-pixel** defocus deblurring task, run ``` cd Restormer ./train.sh Defocus_Deblurring/Options/DefocusDeblur_DualPixel_16bit_Restormer.yml ``` **Note:** The above training scripts use 8 GPUs by default. To use any other number of GPUs, modify [Restormer/train.sh](../train.sh) and [DefocusDeblur_Single_8bit_Restormer.yml](Options/DefocusDeblur_Single_8bit_Restormer.yml) ## Evaluation - Download the pre-trained [models](https://drive.google.com/drive/folders/1bRBG8DG_72AGA6-eRePvChlT5ZO4cwJ4?usp=sharing) and place them in `./pretrained_models/` - Download test dataset, run ``` python download_data.py --data test ``` - Testing on **single-image** defocus deblurring task, run ``` python test_single_image_defocus_deblur.py --save_images ``` - Testing on **dual-pixel** defocus deblurring task, run ``` python test_dual_pixel_defocus_deblur.py --save_images ``` The above testing scripts will reproduce image quality scores of Table 3 in the paper.