Difference between revisions of "compressed Sensing Reconstruction via Belief Propagation"

From statwiki
Jump to: navigation, search
(Connecting CS decoding to graph decoding algorithms)
(Connecting CS decoding to graph decoding algorithms)
Line 42: Line 42:
  
 
===Connecting CS decoding to graph decoding algorithms===
 
===Connecting CS decoding to graph decoding algorithms===
Similar to error codes, a sensing matrix can be represented by a biparitie graph.The neighbors of a given measurement node is the set of coefficient nodes that are used to generate that measurement. In order to follow the LDPC scheme we need to choose sensing matrix to be sparse. As the first step in using graphical models in CS we assume the sensing matrix to be very simple: we assume the entries are only belonging to the set <math>\ {0,1,-1} </math>.
+
Similar to error codes, a sensing matrix can be represented by a biparitie graph.The neighbors of a given measurement node is the set of coefficient nodes that are used to generate that measurement. In order to follow the LDPC scheme we need to choose sensing matrix to be sparse. As the first step in using graphical models in CS we assume the sensing matrix to be very simple: we assume the entries are only belonging to the set <math>\ \{0,1,-1\} </math>. Hence the encoding procedure is very simple and only involves summation and difference. This assumption make the corresponding graph to be sparse and hence we can use message passing algorithms for inference (note message passing for a general graph, possibly not sparse, is NP hard problem). We assume that each row of <math>\ \psi </math> contains exactly <math>\ L </math> non zero elements. This number is chosen based on properties of the source signal.
 +
====Encoding complexity====
 +
If the row weight of <math>\ \psi </math> is equal to <math>\ L </math> and we have <math>\ M </math> measurements then the encoding complexity will be <math>\ O(ML) </math>. Choosing <math>\ M=Nlog(N)/L </math> experimental seems to be appropriate and thus <math>\ O(ML)= O(Nlog(N) </math>
  
 
==CS-LDPC decoding of sparse signals==
 
==CS-LDPC decoding of sparse signals==

Revision as of 17:10, 2 November 2011

Introduction

One of the key theorem in digital signal processing is Shannon/Nyquist theorem. This theorem specifies the conditions on which a band limited signal can be reconstructed uniquely from its discrete samples. This property of band limited signals made signal processing viable on natural analog signals. However, in some applications even the sampled signal lays in a extremely high dimensional vector space. To make signal processing algorithms computationally tractable, many researchers work on compressiblity of signals. Here, it is assumed that most of the information content of a signal lays in a few samples with large magnitude. This lead to study and investigation on a class of signals, known as compressible signals.

Compressible signals can be stored efficiently by ignoring small value coefficients. Naturally it means that during sampling procedure loosing those samples is unimportant. This lead to a natural questions: Can we sample compressible signals in a compressed way? Is there any method to sense only those large value coefficients? In parallel works by Donoho <ref name="R1"> D. Donoho, “Compressed Sensing,” in IEEE Trans. on Info. theory, vol 52, no 4,pp. 1289–1306, Apr. 2006.</ref> and Candes et. al <ref name="R2"> E. Candes, J. Romberg, J.; T. Tao, “Robust uncertainty principles: Exact signal reconstruction from highly incomplete frequency information,” in IEEE Trans. on Info. theory, vol 52, no 2,pp. 489–509, Feb. 2006.</ref> this question was answered. They showed that this procedure can be done by measuring a small number of random linear projection of the source signal. They also provided a decoding scheme for reconstructing the source signal using those measurements and provided theoretical proofs for different aspects of this topic.

Tow important questions in CS theory is: 1. How many measurement do we need to be able to reconstruct a specific signal in stable and robust way? 2. What is the decoding algorithm complexity? These are vital questions which must be answered in order to make CS theory an alternative procedure for ordinary sampling. These questions have been answered by various researchers. Possibly the most important limitation of CS theory is the complexity of the current decoding algorithms. Those algorithms with strong theoretical background which can be applied to different applications are computationally expensive and can not be used for large scale problems. For this reason one of the active research topics in this field, is to develop tractable CS decoding algorithms. A recently published paper <ref name="R3"> D. Baron, S. Sarvotham, and R.G. Baraniuk, “Compressive Sensing Via Belief Propagation ,” in IEEE Trans. on Signal Processing, vol 58, no 1,pp. 269–280, Jan. 2010.</ref> tries to provide a decoding algorithms via belief propagation (BP). Authors connect CS to graphical models in an interesting approach and then use BP on the corresponding graph to provide a decoding algorithm. In the current paper summary we will follow their approach which indicates the importance of graphical models and the wide range of problems that these models can be used on. It is shown that this approach leads to a decoding algorithm with much less computational load.

Compressed Sensing

Compressive sensing is a method for sampling and representing compressible signals at below the Nyquist rate measurement rates. Let [math]\ x[/math] is a [math]N \times 1[/math] column vector in [math]\mathbb{R}^N[/math] that only has [math]K \le N[/math] non-zero entries. To measure this source signal we measure a small number of linear combinations of its elements, [math]\ M[/math], as follows

[math]\ y=\psi x ,[/math] (1)

where [math]\ y \in \mathbb{R}^M[/math] is the vector containing the measurements and [math]\psi \in \mathbb{R}^{M \times N}[/math] is a matrix that carries the coordinate basis we use in our application. The goal of CS theory is, given [math]\psi [/math] and [math]\ y [/math],to recover the source signal in a stable and robust approach.

It is obvious that this problem is ill-posed and infinitely many solutions satisfy (1). Since we assume that our source signal is sparse we can take advantage of this knowledge and assert sparsity as prior to limit the feasible region of solutions. Interestingly it has been proven that under this priority if the source signal is sparse enough then it can be recovered as the solution of optimization problem <ref name="R1"/> and <ref name="R2"/>:

[math]\ \hat{x}=\textrm{argmin} ||x||_0 , \textrm{s.t.} y=\psi x[/math] (2)

where [math]\ ||.||_0 [/math] denotes [math]\ l_0[/math] norm that measures the number of non-zero entries. Unfortunately [math]\ l_0 [/math] optimization is NP hard and needs combinatorial enumeration and thus is intractable. Interestingly, it has been proven that if the sensing matrix satisfies restricted isometry property (RIP), then (2) can be equivalently solves as:

[math]\ \hat{x}=\textrm{argmin} ||x||_1 , \textrm{s.t.} y=\psi x[/math] (3)

Here we have replaced [math]\ l_0[/math] norm by [math]\ l_1[/math] norm which is convex and robust towards additive noise. This optimization can be solved efficiently using linear programming and reconstruction complexity is [math]\ O(N^3)[/math] . It has been shown that matrices with independently identical distributed Gaussian or Bernoulli entries satisfy RIP condition and can be used effectively as sensing matrix. In such cases the linear programming decoder requires [math]\ K log(1+N/K)[/math] measurements for signal reconstruction.

Compressed Sensing Reconstruction Algorithms

Linear programming is the core approach for designing CS decoding algorithms. This approach is tractable with complexity of [math]\ O(N^3) [/math], however this complexity is intractable for large scale problems. For example a [math]\ 256\times 256 [/math] image will need [math]\ 2^{48} [/math] operations for decoding! One the other hand the encoding stage will need [math]\ O(NM) [/math] computations for a dense sensing matrix. For this reason one important direction in this filed is to design and simplify the encoding and decoding algorithms.

One alternative decoding approach is iterative greedy algorithm. This approach needs slightly more measurements but it decreases computational complexity significantly. Perhaps the most well know algorithms in this category are Orthogonal Matching Pursuit <ref name="R4"> J. Tropp and A. C. Gilbert, “Signal recovery from partial information via orthogonal matching pursuit,” Apr. 2005, Preprint.</ref> and Matching Pursuit (MP) <ref name="R5"> EM. F. Duarte, M. B. Wakin, and R. G. Baraniuk, “Fast reconstruction of piece-wise smooth signals from random projections ,” in Proc. SPARS05, France, Nov. 2005.</ref>. OMP requires [math]\ 2K ln(N) [/math] measurements and the coputational complexity is [math]\ O(KN^2) [/math]. Even though it is better but it still is intractable for large [math]\ N [/math] and [math]\ K [/math]. More advanced versions like StOMP can recover the signal in [math]\ Nlog(N) [/math] complexity. It is much faster and can be used for larger class of signals.

The common assumption in these approaches is that sensing matrix is assumed to be dense. Recently some researchers are trying to use sparse sensing matrix and use it to simplify the decoding algorithms. For example chaining pursuit uses this assumption and recovers the signal with complexity [math]\ K log^2(N) log^2(K)[/math]. Table. 1 summaries CS schemes including their complexity as well as required measurements for each method. These results indicates that wecan reduce the complexity only at expense of having more measurements. The last row indicates the algorithm of the current paper. This shows superiority of this algorithm. Later we will see that this superiority comes from using BP, though some simplifying assumption has been made and the method is not general proposed. (Click on the image for table enlargement)

Table.1 CS schemes.

Lessons from LDPC codes applied to CS

At first glance it may seem impossible or at lease complicated to connect CS and a graphical model. The main idea for this procedure comes from the world of error control coding. Sparse error control coding schemes such as LDPC strongly suggests the use of sparse compressed sensing matrices. Can we use sparse CS matrices to encode sparse signals efficiently? Can we take advantage of the sparse structure to reduce the encoding and decoding complexity? To answer these questions we will have a brief review on LDPC code which will clarify how we can assign a graphical model to a CS problem.

An LDPC code is a blco code that has a sparse parity check matrix [math]\ H [/math]. The parity check matrix of an LDPC code can be represented by a biparitite graph (see Fig. 1).


File:graph111.png
Fig.1 CS The graph representation of a CS proble.

There are two class of nodes in the graph. The first class represents the transmitted data and the second class represents the check bits. A check bit is resulted as the linear combination of transmitted data. An edge exists in the graph if a transmitted bit appears in linear combination which produces an arbitrary check bit. This graph representation is not a special characteristics of LDPC codes. What makes it special is that for these codes the graph is sparse.: the number of edges in the graph grows linearly with [math]\ N [/math] rather than [math]\ N^2 [/math]. Since the graph is sparse decoding can be done efficiently using BP algorithm on the corresponding graph. This the key idea that suggests that CS decoding algorithms may develop using BP. Though our graph can have cycles but experiments show that even for cyclic graphs BP provides an acceptable approximation of the real answer.

Connecting CS decoding to graph decoding algorithms

Similar to error codes, a sensing matrix can be represented by a biparitie graph.The neighbors of a given measurement node is the set of coefficient nodes that are used to generate that measurement. In order to follow the LDPC scheme we need to choose sensing matrix to be sparse. As the first step in using graphical models in CS we assume the sensing matrix to be very simple: we assume the entries are only belonging to the set [math]\ \{0,1,-1\} [/math]. Hence the encoding procedure is very simple and only involves summation and difference. This assumption make the corresponding graph to be sparse and hence we can use message passing algorithms for inference (note message passing for a general graph, possibly not sparse, is NP hard problem). We assume that each row of [math]\ \psi [/math] contains exactly [math]\ L [/math] non zero elements. This number is chosen based on properties of the source signal.

Encoding complexity

If the row weight of [math]\ \psi [/math] is equal to [math]\ L [/math] and we have [math]\ M [/math] measurements then the encoding complexity will be [math]\ O(ML) [/math]. Choosing [math]\ M=Nlog(N)/L [/math] experimental seems to be appropriate and thus [math]\ O(ML)= O(Nlog(N) [/math]

CS-LDPC decoding of sparse signals

Source model
Decoding via statistical inference
Exact solution to CS statistical inference
Approximate solution to CS statistical inference via message passing

Numerical results

Conclusion

References

<references />