minyuanye / SIUN

Sharp Image Deblurring
163 stars 32 forks source link
deblurring deep-learning gopro image-processing iterative machine-learning motion-blur network sharp small-size upscaling

Scale-Iterative Upscaling Network for Image Deblurring

by Minyuan Ye, Dong Lyu and Gengsheng Chen
pdf [main][backup]

One real example

/comparisions/images_in_paper/real_building1_comparision.png
(a) Result of Nah et al. (b) Result of Tao et al. (c) Result of Zhang et al. (d) Our result.

Results on benchmark datasets

/comparisions/images_in_paper/benchmark_comparison.png
From top to bottom are blurry input, deblurring results of Nah et al., Tao et al., Zhang et al. and ours.

Results on real-world blurred images

/comparisions/images_in_paper/real_comparison.png
From top to bottom are images restored by Pan et al., Nah et al., Tao et al., Zhang et al. and ours. As space limits, the original blurry images are omitted here. They can be viewed in Lai dataset with their names, from left to right: boy_statue, pietro, street4 and text1.

Prerequisites

Please refer to "/code/requirements.txt".

Installation

git clone https://github.com/minyuanye/SIUN.git
cd code

Basic usage

You can always add '--gpu=' to specify GPU ID, the default ID is 0.

  1. For deblurring an image:
    python deblur.py --apply --file-path='</testpath/test.png>'

  2. For deblurring all images in a folder:
    python deblur.py --apply --dir-path='</testpath/testDir>'
    Add '--result-dir=' to specify output path. If it is not specified, the default path is './output'.

  3. For testing the model:
    python deblur.py --test
    Note that this command can only be used to test GOPRO dataset. And it will load all images into memory first. We recommand to use '--apply' as an alternative (Item 2).
    Please set value of 'test_directory_path' to specify the GOPRO dataset path in file 'config.py'.

  4. For training a new model:
    python deblur.py --train
    Please remove the model file in 'model' first and set value of 'train_directory_path' to specify the GOPRO dataset path in file 'config.py'.
    When it finishes, run:
    python deblur.py --verify

Advanced usage

Please refer to the source code. Most configuration parameters are listed in '/code/src/config.py'.

Citation

If you use any part of our code, or SIUN is useful for your research, please consider citing:

@ARTICLE{8963625,
author={M. {Ye} and D. {Lyu} and G. {Chen}},
journal={IEEE Access},
title={Scale-Iterative Upscaling Network for Image Deblurring},
year={2020},
volume={8},
number={},
pages={18316-18325},
keywords={Blind deblurring;curriculum learning;scale-iterative;upscaling network},
doi={10.1109/ACCESS.2020.2967823},
ISSN={2169-3536},
month={},}