Matching pursuit

From Wikipedia, the free encyclopedia
Jump to: navigation, search
Signal reconstruction with matching pursuit algorithm.

Matching pursuit is a type of sparse approximation which involves finding the "best matching" projections of multidimensional data onto an over-complete dictionary D. The basic idea is to represent a signal f from Hilbert space H as a weighted sum of functions g_{\gamma_n} (called atoms) taken from D:

 f(t) = \sum_{n=0}^{+\infty} a_n g_{\gamma_n}(t)

where n indexes the atoms that have been chosen, and a_n a weighting factor (an amplitude) for each atom. Given a fixed dictionary, matching pursuit will first find the one atom that has the biggest inner product with the signal, then subtract the contribution due to that atom, and repeat the process until the signal is satisfactorily decomposed.

For comparison, consider the Fourier series representation of a signal - this can be described in the terms given above, where the dictionary is built from sinusoidal basis functions (the smallest possible complete dictionary). The main disadvantage of Fourier analysis in signal processing is that it extracts only global features of signals and does not adapt to analysed signals f. By taking an extremely redundant dictionary we can look in it for functions that best match a signal f. Finding a representation where most of the coefficients in the sum are close to 0 (sparse representation) is desirable for signal coding and compression.

The algorithm[edit]

Searching over an extremely large dictionary for the best matches is computationally unacceptable for practical applications. In 1993 Mallat and Zhang[1] proposed a greedy solution that is known from that time as Matching Pursuit. The algorithm iteratively generates for any signal  f and any dictionary D a sorted list of indexes and scalars which are the sub-optimal solution to the problem of sparse signal representation. The residual after calculating \gamma_n and a_n is denoted by R_{n+1}.

Algorithm Matching Pursuit
 Input: Signal: f(t), dictionary D.
 Output: List of coefficients:   \left( a_n, g_{\gamma_n}\right) .
   find g_{\gamma_n} \in D with maximum inner product  | \langle R_n, g_{\gamma_n} \rangle | ;
    a_n\,\leftarrow\,\langle R_n, g_{\gamma_n}\rangle ;
    R_{n+1}\,\leftarrow\,R_n - a_n g_{\gamma_n};
    n\,\leftarrow\,n + 1;
 Until stop condition (for example: \|R_n\| < \mathrm{threshold} )
  • "←" is a shorthand for "changes to". For instance, "largestitem" means that the value of largest changes to the value of item.
  • "return" terminates the algorithm and outputs the value that follows.

The concept of matching pursuit in signal processing is related to statistical projection pursuit, in which "interesting" projections were found; ones that deviate more from a normal distribution are considered to be more interesting.


  • The algorithm converges for any f in the space spanned by the dictionary.
  • For all m the energy conservation equation is satisfied:

\|f\|^2 = \sum_{n=0}^{m-1}{|a_n|^2} + \|R_m\|^2

  • The error \|R_n\| decreases monotonically and its decay is exponential.


Matching pursuit has been applied to signal, image and video coding,[2][3] shape representation and recognition,[4] 3D objects coding,[5] and in interdisciplinary applications like structural health monitoring.[6] It has been shown that it performs better than DCT based coding for low bit rates in both efficiency of coding and quality of image.[7] The main problem with Matching Pursuit is the computational complexity of the encoder. In the basic version of an algorithm the large dictionary has to be searched at each iteration. Improvements include the use of approximate dictionary representations and suboptimal ways of choosing the best match at each iteration (atom extraction).[8]

The Matching Pursuit algorithm is also used in dictionary learning.[9] In this algorithm, atoms are learned from a database and not chosen among generic dictionaries.

The Matching Pursuit algorithm is used in MP/SOFT, a method of simulating quantum dynamics.[10]


A popular extension of Matching Pursuit (MP) is its orthogonal version: Orthogonal Matching Pursuit[11][12] (OMP). The main difference from MP is that after every step, all the coefficients extracted so far are updated, by computing the orthogonal projection of the signal onto the set of atoms selected so far. This can lead to better results than standard MP, but requires more computation.

In fact, this algorithm approximates the sparse problem[citation needed] :

 \min_x  \| f -  D x \|_2^2 \ \text{ subject to } \ \|x\|_0 \le N,

with  \|x\|_0 the L_0 pseudo-norm (i.e. the number of nonzero elements of x).

Extensions such as Multichannel MP[13] and Multichannel OMP[14] allow to process multicomponents signals.

Matching pursuit is related to the field of compressed sensing and has been extended by researchers in that community. Notable extensions are Orthogonal Matching Pursuit (OMP),[15] Stagewise OMP (StOMP),[16] compressive sampling matching pursuit (CoSaMP),[17] and Multipath Matching Pursuit (MMP).[18]

See also[edit]


  1. ^ S. G. Mallat and Z. Zhang, Matching Pursuits with Time-Frequency Dictionaries, IEEE Transactions on Signal Processing, December 1993, pp. 3397–3415.
  2. ^ F. Bergeaud and S. Mallat. Matching pursuit of images, In Proc. International Conference on Image Processing, volume 1, pages 53–56 vol.1, 1995.
  3. ^ R. Neff and A. Zakhor. Very low bit-rate video coding based on matching pursuits, IEEE Transactions on Circuits and Systems for Video Technology, 7(1):158–171, 1997.
  4. ^ F. Mendels, P. Vandergheynst, and J.P. Thiran. Matching pursuit-based shape representation and recognition using scale-space, 2006.
  5. ^ Tosic, I.; Frossard, P. & Vandergheynst, P. Progressive coding of 3D objects based on over-complete decompositions, 2005.
  6. ^ Debejyo Chakraborty, Narayan Kovvali, Jun Wei, Antonia Papandreou-Suppappola, Douglas Cochran, and Aditi Chattopadhyay, Damage Classification Structural Health Monitoring in Bolted Structures Using Time-frequency Techniques, Journal of Intelligent Material Systems and Structures, special issue on Structural Health Monitoring, Vol. 20(11), pp 1289-1305, July, 2009.
  7. ^ L. U. Perrinet, M. Samuelides and S. Thorpe "Sparse spike coding in an asynchronous feed-forward multi-layer neural network using Matching Pursuit." Neurocomputing, Vol. 57C, 2002, pp. 125–34
  8. ^ Jian-Liang Lin, Wen-Liang Hwang, and Soo-Chang Pei. Fast matching pursuit video coding by combining dictionary approximation and atom extraction. IEEE Transactions on Circuits and Systems for Video Technology, 17(12):1679–1689, 2007.
  9. ^ "The K-SVD: An Algorithm for Designing of Overcomplete Dictionaries for Sparse Representation", M. Aharon, M. Elad, and A.M. Bruckstein, IEEE Trans. on Signal Processing, 2006
  10. ^ "Matching-pursuit for simulations of quantum processes", Yinghua Wu and Victor S. Batista, Chem. Phys., Vol. 118, No. 15, 15 April 2003
  11. ^ "Orthogonal Matching Pursuit : recursive function approximation with application to wavelet decomposition", Y. Pati, R. Rezaiifar, P. Krishnaprasad, in Asilomar Conf. on Signals, Systems and Comput., 1993
  12. ^ "Adaptive time-frequency decompositions with matching pursuits", G. Davis, S. Mallat, Z. Zhang, Optical Engineering, 1994
  13. ^ "Piecewise linear source separation", R. Gribonval, Proc. SPIE '03, 2003
  14. ^ "Algorithms for simultaneous sparse approximations ; Part I : Greedy pursuit", Joel Tropp, A. Gilbert, M. Strauss , Signal Proc. – Sparse approximations in signal and image processing, vol.86, pp 572–588, 2006
  15. ^ Signal Recovery From Random Measurements Via Orthogonal Matching Pursuit, Joel A. Tropp and Anna C. Gilbert, IEEE Transactions on Information Theory, Vol. 53, NO. 12, December 2007
  16. ^ "Sparse solution of underdetermined linear equations by stagewise orthogonal matching pursuit", David L. Donoho , Yaakov Tsaig , Iddo Drori , Jean-luc Starck, 2006
  17. ^ "CoSaMP: Iterative signal recovery from incomplete and inaccurate samples", D. Needell and J.A. Tropp, Applied and Computational Harmonic Analysis, 2009
  18. ^ Multipath Matching Pursuit, S. Kwon, J. Wang, and B. Shim, IEEE Transactions on Information Theory, vol. 60 no. 5, pp. 2986-3001, May, 2014