/deep_blur_detection_and_classification

End-to-end network for blur detection and classification (presented at PG 2018)

Primary LanguagePython

deep_blur_detection_and_classification

Tensorflow implementation of "Defocus and Motion Blur Detection with Deep Contextual Features"

For image examples:

input2 output2

This repository contains a test code and sythetic dataset, which consists of scenes including motion and defocus blurs together in each scene.


Prerequisites (tested)

  • Ubuntu 16.04
  • Tensorflow 1.6.0 (<= 1.9.0)
  • Tensorlayer 1.8.2
  • OpenCV2

Train Details

  • We used CUHK blur detection dataset for training our network and generating our synthetic dataset
  • Train and test set lists are uploaded in 'dataset' folder

Test Details

  • download model weights from google drive and save the model into 'model' folder.
  • specify a path of input folder in 'main.py' at line #39
  • run 'main.py'
python main.py

Synthetic Dataset

  • download synthetic train set(337MB) and synthetic test set(11.5MB) from google drive
  • Note that sharp pixels, motion-blurred pixels, and defocus-blurred pixels in GT blur maps are labeled as 0, 100, and 200, respectively, in the [0,255] range.