Giter VIP home page Giter VIP logo

desci's Introduction

Decompress Snapshot Compressive Imaging (DeSCI)

This repository contains the code for the paper Rank Minimization for Snapshot Compressive Imaging (preprint 2018) by Yang Liu*, Xin Yuan*, Jinli Suo, David J. Brady, and Qionghai Dai (*Equal contributions). [pdf] [project page]

Video comparison of DeSCI.

Figure 1. Reconstructed Kobe video of DeSCI compared with the state-of-the-art methods, i.e., GMM-TP (TIP'14), MMLE-GMM (TIP'15), MMLE-MFA (TIP'15), and GAP-TV (ICIP'16).

Snapshot compressive imaging (SCI) refers to encoding the three- or higher- dimensional data in a snapshot with distinct masks (or coded aperutre) for each slice of the data. Decompress snapshot compressive imaging (DeSCI) then exploits the nonlocal self-similarity of natural scenes and apply an alternating minimization algorithm to solve the ill-posed problem.

Performance boost compared with the state-of-the-art methods includes more than 4 dB in terms of PSNR for simulated data and significant improvement for real data, which is addressed in the DeSCI paper. A video comparison of the proposed DeSCI method with the state-of-the-art algorithms is shown in Figure 1.

This code only contains the simulated high-speed video Kobe dataset encoded with shifting masks following the coded aperture shapshot compressive imager (CACTI). It can also be used for snapshot-hyperspectral compressive imaging, such as the coded aperture snapshot spectral imaging (CASSI) system, as shown in the paper. Code for the CASSI data and the CACTI and CASSI data from real systems are available upon request.

Usage

  1. Requirements are MATLAB(R) with Parallel Computing Toolbox (parfor for multi-CPU acceleration).
  2. Download this repository via git
git clone https://github.com/liuyang12/DeSCI

or download the zip file manually.

  1. Test the DeSCI algorithm via
test_desci.m

and (optionally) video demonstrate the reconstruction results (after running test_desci.m) via

demo_desci_video.m

Structure of directories

directory discription
algorithms MATLAB functions of main algorithms proposed in the paper (original)
packages algorithms adapted from the state-of-art algorithms (adapted)
dataset data used for reconstruction (simulated)
results* results of reconstruction (after reconstruction)
utils utility functions

Platform

The test platform is MATLAB(R) 2017b operating on Ubuntu 16.04 LTS (x64) with an Intel(R) Core(TM) 18-core processor at 2.60 GHz and 128 GB RAM. It can run on any machine with MATLAB(R) and Parallel Computing Toolbox, operating on Windows(R), Linux, or Mac OS. No GPU is needed to run this code.

It could take hours to run a single measurement depending on the number of frames collapsed into a single measurement and the number of CPU cores of the machine. This is due to the time-consuming iterations of block matching and low-rank approximation via singular value decomposition for weighted nuclear norm minimization of recovered video/spectral patches. The computation issue might be addressed by using generative adversarial networks (GAN) for block matching, and truncated SVD for low-rank estimation. Notice: Please donot wait for the results immediately after getting the DeSCI code to run.

Citation

@article{Liu18DeSCI,
   author = {Liu, Yang and Yuan, Xin and Suo, Jinli and Brady, David J. and Dai, Qionghai},
   title = {Rank Minimization for Snapshot Compressive Imaging},
   journal = {arXiv (preprint)},
   pages = {1807.07837},
   year = {2018},
   type = {Journal Article}
}

Contact

Yang Liu, Tsinghua University

Xin Yuan, Bell Labs

desci's People

Contributors

liuyang12 avatar yangletliu 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.