PatchMatch: A Randomized Correspondence Algorithm for Structural Image Editing
ACM Transactions on Graphics (Proc. SIGGRAPH), August 2009
Abstract
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.
Files
- Paper (7 MB PDF)
- Download Video (Long, 5 minutes) (46 MB MPEG-4)
- Streaming Video (Short, 3 minutes)
See Also
- Adobe Website
- Source Code - Core matching algorithm only, version 2.1, a MATLAB mex. Synthesis applications not included. Licensed by Adobe for noncommercial research use only. Includes also code for our subsequent Generalized PatchMatch algorithm.
- Generalized PatchMatch - A follow-up paper generalizing the matching algorithm and demonstrating vision applications.
Citation
Connelly Barnes, Eli Shechtman, Adam Finkelstein, and Dan B Goldman.
"PatchMatch: A Randomized Correspondence Algorithm for Structural Image Editing."
ACM Transactions on Graphics (Proc. SIGGRAPH) 28(3), August 2009.
BibTeX
@article{Barnes:2009:PAR, author = "Connelly Barnes and Eli Shechtman and Adam Finkelstein and Dan B Goldman", title = "{PatchMatch}: A Randomized Correspondence Algorithm for Structural Image Editing", journal = "ACM Transactions on Graphics (Proc. SIGGRAPH)", year = "2009", month = aug, volume = "28", number = "3" }