All Projects → jiangsutx → Srn Deblur

jiangsutx / Srn Deblur

Licence: mit
Repository for Scale-recurrent Network for Deep Image Deblurring

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Srn Deblur

Photo Editor Android
Photo Editor SDK contains a lot of features like edit, scale, rotate and draw on images like Instagram stories.
Stars: ✭ 463 (-13.78%)
Mutual labels:  image-processing
Aces Dev
AMPAS Academy Color Encoding System Developer Resources
Stars: ✭ 483 (-10.06%)
Mutual labels:  image-processing
Tracking With Darkflow
Real-time people Multitracker using YOLO v2 and deep_sort with tensorflow
Stars: ✭ 515 (-4.1%)
Mutual labels:  image-processing
Imgproxy
Fast and secure standalone server for resizing and converting remote images
Stars: ✭ 5,688 (+959.22%)
Mutual labels:  image-processing
Raisr
A Python implementation of RAISR
Stars: ✭ 480 (-10.61%)
Mutual labels:  image-processing
Tiler
Tiler is a tool to create an image using all kinds of other smaller images (tiles). It is different from other mosaic tools since it can adapt to tiles with multiple shapes and sizes (i.e. not limited to squares).
Stars: ✭ 4,681 (+771.69%)
Mutual labels:  image-processing
Halide
a language for fast, portable data-parallel computation
Stars: ✭ 4,722 (+779.33%)
Mutual labels:  image-processing
Flipsidecamera
The camera app that takes pictures from both sides of your world ! 📷
Stars: ✭ 535 (-0.37%)
Mutual labels:  image-processing
Qgis Earthengine Examples
A collection of 300+ Python examples for using Google Earth Engine in QGIS
Stars: ✭ 482 (-10.24%)
Mutual labels:  image-processing
Imagesharp
📷 A modern, cross-platform, 2D Graphics library for .NET
Stars: ✭ 5,186 (+865.74%)
Mutual labels:  image-processing
Imageprocessing Labs
computer vision, image processing and machine learning on the web browser or node.
Stars: ✭ 471 (-12.29%)
Mutual labels:  image-processing
Compressor
An easy to use and well designed image compress library for Android, based on Android native image library. Put forward a framework for quick switch from different compress algorithm.
Stars: ✭ 476 (-11.36%)
Mutual labels:  image-processing
Qupath
QuPath - Bioimage analysis & digital pathology
Stars: ✭ 503 (-6.33%)
Mutual labels:  image-processing
Pesdk Android Demo
A fully customizable photo editor for your app.
Stars: ✭ 464 (-13.59%)
Mutual labels:  image-processing
Jquery Cropper
A jQuery plugin wrapper for Cropper.js.
Stars: ✭ 516 (-3.91%)
Mutual labels:  image-processing
Simpleitk
SimpleITK: a layer built on top of the Insight Toolkit (ITK), intended to simplify and facilitate ITK's use in rapid prototyping, education and interpreted languages.
Stars: ✭ 458 (-14.71%)
Mutual labels:  image-processing
Sketch Code
Keras model to generate HTML code from hand-drawn website mockups. Implements an image captioning architecture to drawn source images.
Stars: ✭ 4,544 (+746.18%)
Mutual labels:  image-processing
Blurry
Blurry is an easy blur library for Android
Stars: ✭ 5,092 (+848.23%)
Mutual labels:  image-processing
Hidt
Official repository for the paper "High-Resolution Daytime Translation Without Domain Labels" (CVPR2020, Oral)
Stars: ✭ 513 (-4.47%)
Mutual labels:  image-processing
Pycnn
Image Processing with Cellular Neural Networks in Python
Stars: ✭ 509 (-5.21%)
Mutual labels:  image-processing

Scale-recurrent Network for Deep Image Deblurring

by Xin Tao, Hongyun Gao, Xiaoyong Shen, Jue Wang, Jiaya Jia. (pdf)

Our results on real data

Real Photo

Results on the testing dataset

Testing Dataset

More cases on real photos from previous papers:

More Cases

Prerequisites

  • Python2.7
  • Scipy
  • Scikit-image
  • numpy
  • Tensorflow 1.4 with NVIDIA GPU or CPU (cpu testing is very slow)

Installation

Clone this project to your machine.

git clone https://github.com/jiangsutx/SRN-Deblur.git
cd SRN-Deblur

Testing

Download pretrained models through: download_model.sh inside checkpoints/.

To test blur images in a folder, just use arguments --input_path=<TEST_FOLDER> and save the outputs to --output_path=<OUTPUT_FOLDER>. For example:

python run_model.py --input_path=./testing_set --output_path=./testing_res

If you have a GPU, please include --gpu argument, and add your gpu id to your command. Otherwise, use --gpu=-1 for CPU.

python run_model.py --gpu=0

To test the model, pre-defined height and width of tensorflow placeholder should be assigned. Our network requires the height and width be multiples of 16. When the gpu memory is enough, the height and width could be assigned to the maximum to accommodate all the images.

Otherwise, the images will be downsampled by the largest scale factor to be fed into the placeholder. And results will be upsampled to the original size.

According to our experience, --height=720 and --width=1280 work well on a Gefore GTX 1050 TI with 4GB memory. For example,

python run_model.py --height=720 --width=1280

Evaluation

The quantitative results of PSNR and SSIM in the paper is calculated using MATLAB built-in function psnr() and ssim() based on the generated color results.

Training

We trained our model using the dataset from DeepDeblur_release. Please put the dataset into training_set/. And the provided datalist_gopro.txt can be used to train the model.

Hyper parameters such as batch size, learning rate, epoch number can be tuned through command line:

python run_model.py --phase=train --batch=16 --lr=1e-4 --epoch=4000

Models

We provided 3 models (training settings) for testing:

  1. --model=lstm: This model implements exactly the same structure in our paper. Current released model weights should produce PSNR=30.19, SSIM=0.9334 on GOPRO testing dataset.
  2. --model=gray: According to our further experiments after paper acceptance, we are able to get a slightly better model by tuning parameters, even without LSTM. This model should produce visually sharper and quantitatively better results.
  3. --model=color: Previous models are trained on gray images, and may produce color ringing artifacts. So we train a model directly based on RGB images. This model keeps better color consistency, but the results are less sharp.

How to choose

If you would like to compare performance against our method, you can use model gray and lstm. If you want to restore blurry images you can try gray and color. And color is very useful in low-light noisy images.

Reference

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

@inproceedings{tao2018srndeblur,
  title={Scale-recurrent Network for Deep Image Deblurring},
  author={Tao, Xin and Gao, Hongyun and Shen, Xiaoyong and Wang, Jue and Jia, Jiaya},
  booktitle={IEEE Conference on Computer Vision and Pattern Recognition (CVPR)},
  year={2018}
}

Contact

We are glad to hear if you have any suggestions and questions.

Please send email to [email protected]

Reference

[1] Sun et al. J. Sun, W. Cao, Z. Xu, and J. Ponce. Learning a convolutional neural network for non-uniform motion blur removal. In CVPR, pages 769–777. IEEE, 2015.

[2] Nah et al. S. Nah, T. H. Kim, and K. M. Lee. Deep multi-scale convolutional neural network for dynamic scene deblurring. pages 3883–3891, 2017.

[3] Whyte et al. O. Whyte, J. Sivic, A. Zisserman, and J. Ponce. Nonuniform deblurring for shaken images. International Journal on Computer Vision, 98(2):168–186, 2012.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].