Matching pursuit

From Wikipedia, the free encyclopedia
Jump to: navigation, search
A signal and its wavelet representation. Each pixel in the heat map (top) represents an atom (a wavelet centered in time according to the horizontal position and with frequency corresponding to height). The color of the pixel gives the inner product of the corresponding wavelet atom with the signal (bottom). Matching pursuit should represent the signal by just a few atoms, such as the three at the centers of the clearly visible ellipses.

Matching pursuit (MP) is a sparse approximation algorithm which involves finding the "best matching" projections of multidimensional data onto the span of an over-complete (i.e., redundant) dictionary . The basic idea is to approximately represent a signal from Hilbert space as a weighted sum of finitely many functions (called atoms) taken from . An approximation with atoms has the form

where is the scalar weighting factor (amplitude) for the atom . Normally, not every atom in will be used in this sum. Instead, matching pursuit chooses the atoms one at a time in order to maximally (greedily) reduce the approximation error. This is achieved by finding the atom that has the biggest inner product with the signal (assuming the atoms are normalized), subtracting from the signal an approximation that uses only that one atom, and repeating the process until the signal is satisfactorily decomposed, i.e., the norm of the residual is small, where the residual after calculating and is denoted by


If converges quickly to zero, then only a few atoms are needed to get a good approximation to . Such sparse representations are desirable for signal coding and compression. More precisely, the sparsity problem that matching pursuit is intended to approximately solve is

with the pseudo-norm (i.e. the number of nonzero elements of ). In the previous notation, the nonzero entries of are , and the th column of the matrix is . Solving the sparsity problem exactly is NP-hard, which is why approximation methods like MP are used.

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 . By taking an extremely redundant dictionary we can look in it for functions that best match a signal .

The algorithm[edit]

If contains a large number of vectors, searching for the most sparse representation of is computationally unacceptable for practical applications. In 1993 Mallat and Zhang[1] proposed a greedy solution that they named "Matching Pursuit." The algorithm iteratively generates for any signal and any dictionary a sorted list of atom indices and weighting scalars which represent the sub-optimal solution to the problem of sparse signal representation.

Algorithm Matching Pursuit
 Input: Signal: , dictionary .
 Output: List of coefficients  and indices for corresponding atoms .
   Find  with maximum inner product ;
 Until stop condition (for example: )
  • "←" 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 (i.e. ) for any that is in the space spanned by the dictionary.
  • The error decreases monotonically.
  • In the case that the vectors in are orthonormal instead of redundant, then MP is a form of principal component analysis, and the energy conservation equation is satisfied for each :


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 used in MP/SOFT, a method of simulating quantum dynamics.[9]

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


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.

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] Generalized OMP (gOMP),[18] and Multipath Matching Pursuit (MMP).[19]

See also[edit]


  1. ^ Mallat, S. G.; Zhang, Z. (1993). "Matching Pursuits with Time-Frequency Dictionaries". IEEE Transactions on Signal Processing. 1993: 3397–3415. doi:10.1109/78.258082. 
  2. ^ Bergeaud, F.; Mallat, S. ""Matching pursuit of images" 1995". Proc. International Conference on Image Processing. 1: 53–56. doi:10.1109/ICIP.1995.529037. 
  3. ^ Neff, R.; Zakhor, A. (1997). "Very low bit-rate video coding based on matching pursuits". IEEE Transactions on Circuits and Systems for Video Technology. 7 (1): 158–171. doi:10.1109/76.554427. 
  4. ^ Mendels, F.; Vandergheynst, P.; Thiran, J.P. (2006). "Matching pursuit-based shape representation and recognition using scale-space". International Journal of Imaging Systems and Technology. 16: 162–180. doi:10.1002/ima.20078. 
  5. ^ Tosic, I.; Frossard, P.; Vandergheynst, P. (2005). "Progressive coding of 3D objects based on over-complete decompositions". IEEE Transactions on Circuits and Systems for Video Technology. 16: 1338–1349. doi:10.1109/tcsvt.2006.883502. 
  6. ^ Chakraborty, Debejyo; Kovvali, Narayan; Wei, Jun; Papandreou-Suppappola, Antonia; Cochran, Douglas; Chattopadhyay, Aditi (2009). "Damage Classification Structural Health Monitoring in Bolted Structures Using Time-frequency Techniques". Journal of Intelligent Material Systems and Structures. 20 (11): 1289–1305. doi:10.1177/1045389X08100044. 
  7. ^ Perrinet, L. U.; Samuelides, M.; Thorpe, S. (2002). "Sparse spike coding in an asynchronous feed-forward multi-layer neural network using Matching Pursuit". Neurocomputing. 57C: 125–34. doi:10.1016/j.neucom.2004.01.010. 
  8. ^ Lin, Jian-Liang; Hwang, Wen-Liang; Pei, Soo-Chang (2007). "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. doi:10.1109/tcsvt.2007.903120. 
  9. ^ Wu, Yinghua; Batista, Victor S. (2003). "Matching-pursuit for simulations of quantum processes". Chem. Phys. 118 (15): 6720–6724. doi:10.1063/1.1560636. 
  10. ^ Aharon, M.; Elad, M.; Bruckstein, A.M. (2006). "The K-SVD: An Algorithm for Designing of Overcomplete Dictionaries for Sparse Representation". IEEE Trans. on Signal Processing. 54: 4311–4322. doi:10.1109/tsp.2006.881199. 
  11. ^ Pati, Y.; Rezaiifar, R.; Krishnaprasad, P. (1993). "Orthogonal Matching Pursuit: recursive function approximation with application to wavelet decomposition". Asilomar Conf. on Signals, Systems and Comput. doi:10.1109/acssc.1993.342465. 
  12. ^ Davis, G.; Mallat, S.; Zhang, Z. (1994). "Adaptive time-frequency decompositions with matching pursuits". Optical Engineering. 33: 2183. doi:10.1117/12.173207. 
  13. ^ "Piecewise linear source separation", R. Gribonval, Proc. SPIE '03, 2003
  14. ^ Tropp, Joel; Gilbert, A.; Strauss, M. (2006). "Algorithms for simultaneous sparse approximations ; Part I : Greedy pursuit". Signal Proc. – Sparse approximations in signal and image processing. 86: 572–588. doi:10.1016/j.sigpro.2005.05.030. 
  15. ^ Tropp, Joel A.; Gilbert, Anna C. (2007). "Signal Recovery From Random Measurements Via Orthogonal Matching Pursuit" (PDF). IEEE Transactions on Information Theory. 53 (12): 4655–4666. doi:10.1109/tit.2007.909108. 
  16. ^ Donoho, David L.; Tsaig, Yaakov; Drori, Iddo; Jean-luc, Starck (2006). "Sparse solution of underdetermined linear equations by stagewise orthogonal matching pursuit". IEEE Transactions on Information Theory. 58: 1094–1121. doi:10.1109/tit.2011.2173241. 
  17. ^ Needell, D.; Tropp, J.A. (2009). "CoSaMP: Iterative signal recovery from incomplete and inaccurate samples". Applied and Computational Harmonic Analysis. 26: 301–321. doi:10.1016/j.acha.2008.07.002. 
  18. ^ Wang, J.; Kwon, S.; Shim, B. (2012). "Generalized Orthogonal Matching Pursuit". IEEE Transactions on Signal Processing. 60 (12): 6202–6216. doi:10.1109/TSP.2012.2218810. 
  19. ^ Kwon, S.; Wang, J.; Shim, B. (2014). "Multipath Matching Pursuit". IEEE Transactions on Information Theory. 60 (5): 2986–3001. doi:10.1109/TIT.2014.2310482.