Bayesian Compressive Sensing

  

Introduction

Bayesian Compressive Sensing (BCS) is a Bayesian framework for solving the inverse problem of compressive sensing (CS). The basic BCS algorithm adopts the relevance vector machine (RVM) [Tipping & Faul, 2003], and later it is extended by marginalizing the noise variance (see Section III of the multi-task CS paper below) with the improved robustness. Besides providing a Bayesian solution, the Bayesian analysis of CS, more importantly, provides a new framework that allows one to address a variety of issues that previously have not been addressed. These issues include: (i) a stopping criterion for determining when a sufficient number of CS measurements have been performed, (ii) adaptive design of the projection matrix, and (iii) simultaneous inverse of multiple related CS measurements (i.e., multi-task CS or simultaneous sparse approximation).

This page contains information about BCS, examples, research papers, and a code distribution that can be used for academic and/or research purposes.


Authors

Shihao Ji
Lawrence Carin
Ya Xue
David Dunson

Papers

Bayesian Compressive Sensing
Shihao Ji, Ya Xue, and Lawrence Carin, IEEE Trans. Signal Processing, vol. 56, no. 6, June 2008.
Multi-Task Compressive Sensing (revised!)
Shihao Ji, David Dunson, and Lawrence Carin (Preprint, 2007).
Bayesian Multi-Task Compressive Sensing with Dirichlet Process Priors (code coming soon!)
Y. Qi, D. Liu, D. Dunson, and L. Carin (Preprint, 2008).

Related Work

Bayesian Inference and Optimal Design in the Sparse Linear Model
Finding Needles in Noisy Haystacks
Fast Bayesian Matching Pursuit

Code Distribution

This is a MatLab 7.0 implementation of BCS. It has been designed on a Windows machine. But it should run on any Unix or Linux architecture with MatLab installed without any problems. At the moment, the distribution includes the core BCS code and the spike examples for the adaptive CS and the multi-task CS. Additional examples can be added easily.

Distribution and use of this code is subject to the following agreement:

This Program is provided by Duke University and the authors as a service to the research community. It is provided without cost or restrictions, except for the User's acknowledgement that the Program is provided on an "As Is" basis and User understands that Duke University and the authors make no express or implied warranty of any kind.  Duke University and the authors specifically disclaim any implied warranty or merchantability or fitness for a particular purpose, and make no representations or warranties that the Program will not infringe the intellectual property rights of others. The User agrees to indemnify and hold harmless Duke University and the authors from and against any and all liability arising out of User's use of the Program.

Feedback

The code is still in development stage. If you have any comments or bug reports, please contact Shihao Ji at shji@ece.duke.edu.