Giter Club home page Giter Club logo

pixelwise-deblurring's Introduction

Pixel-Wise Motion Deblurring of Thermal Videos

This repository contains code for our RSS 2020 paper. Official proceedings is available here and pre-print is available at https://arxiv.org/abs/2006.04973.

Citation

@INPROCEEDINGS{Ramanagopal-RSS-20, 
    AUTHOR    = {Manikandasriram Srinivasan Ramanagopal AND Zixu Zhang AND Ram Vasudevan AND Matthew Johnson Roberson}, 
    TITLE     = {{Pixel-Wise Motion Deblurring of Thermal Videos}}, 
    BOOKTITLE = {Proceedings of Robotics: Science and Systems}, 
    YEAR      = {2020}, 
    ADDRESS   = {Corvalis, Oregon, USA}, 
    MONTH     = {July}, 
    DOI       = {10.15607/RSS.2020.XVI.022} 
}

Sample Data

We treat motion deblurring as a per pixel temporal problem. We used FLIR A655sc radiometrically calibrated camera to record images at 200Hz i.e. the sampling period (5ms) is roughly half the thermal time constant (~11ms) of the camera. We are providing sample data of an outdoor sequence with the camera panning horizontally as a .mat file here

Requirements

  1. You need IBM cplex optimization studio available here. A free academic version is available for students and researchers. In particular, install the python API for cplex.

  2. Other required python packages:

numpy
matplotlib
scikit-image
scipy
h5py
tqdm

Usage

  • Clone repository and add to PYTHONPATH
git clone https://github.com/umautobots/pixelwise-deblurring.git
cd pixelwise-deblurring
export PYTHONPATH=<path/to/pixelwise-deblurring>:$PYTHONPATH
  • To deblur <N> frames starting from <start_num>
python3.6 ./src/deblur_main.py --matfile <path/to/downloaded/data> --indices <start_num> --N <N> --output-prefix <path/to/output/folder>

You can provide comma separated list of starting indices and output files are automatically named as {output_prefix}_{start_num}_{start_num+N}.npz

Note: Since each pixel is independently processed, ~80k optimization problems needs to be solved which is currently slow. The code will automatically use the maximum number of CPU cores available for parallel processing.

  • To view the processed files, use:
python3.6 ./src/view_processed_frames.py --filename <path/to/npz/file>

pixelwise-deblurring's People

Contributors

srmanikandasriram avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.