PatchMatch: A randomized correspondence algorithm for structural image editing

Connelly Barnes, Eli Shechtman, Adam Finkelstein, Dan B. Goldman

Research output: Contribution to journalConference articlepeer-review

2473 Scopus citations


This paper presents interactive image editing tools using a new randomized algorithm for quickly finding approximate nearest-neighbor matches between image patches. Previous research in graphics and vision has leveraged such nearest-neighbor searches to provide a variety of high-level digital image editing tools. However, the cost of computing a field of such matches for an entire image has eluded previous efforts to provide interactive performance. Our algorithm offers substantial performance improvements over the previous state of the art (20-100x), enabling its use in interactive editing tools. The key insights driving the algorithm are that some good patch matches can be found via random sampling, and that natural coherence in the imagery allows us to propagate such matches quickly to surrounding areas. We offer theoretical analysis of the convergence properties of the algorithm, as well as empirical and practical evidence for its high quality and performance. This one simple algorithm forms the basis for a variety of tools - image retargeting, completion and reshuffling - that can be used together in the context of a high-level image editing application. Finally, we propose additional intuitive constraints on the synthesis process that offer the user a level of control unavailable in previous methods.

Original languageEnglish (US)
Article number24
JournalACM Transactions on Graphics
Issue number3
StatePublished - Jul 27 2009
EventACM SIGGRAPH 2009, SIGGRAPH '09 - New Orleans, LA, United States
Duration: Aug 3 2009Aug 7 2009

All Science Journal Classification (ASJC) codes

  • Computer Graphics and Computer-Aided Design


  • Approximate nearest neighbor
  • Completion
  • Image editing
  • Patch-based synthesis
  • Reshuffling
  • Retargeting


Dive into the research topics of 'PatchMatch: A randomized correspondence algorithm for structural image editing'. Together they form a unique fingerprint.

Cite this