230 likes | 244 Views
This paper presents a novel algorithm for texture synthesis in images and videos using graph cuts. It discusses patch placement, the graph cut technique, and provides results for both image and video synthesis. The algorithm is fast and can generate realistic textures within seconds to minutes.
E N D
Graphcut Textures Image and Video Synthesis Using Graph Cuts Vivek Kwatra, Arno Schödl, Irfan Essa, Greg Turk and Aaron Bobick
Overview • Brief Introduction to Texture Synthesis • Related Work • The Graph Cut Technique • Patch Placement • Image Synthesis Results • Video Synthesis • Conclusion
Texture Synthesis • The ability to generate a reasonable amount of texture from a sample input texture or from some training data
Related Work • Three Classes of Algorithms • Pixel Based • Parametric Model • Use a fixed number of parameters • Non-parametric Model • Use a collection of exemplars to model the texture • Patch Based • Uses patches of texture from the input texture
Image Quilting min. error boundary • Patches of texture overlap, a dynamic programming algorithm is used to find the minimum error boundary between the patches
Max Flow / Min Cut Problem • Problem: Find the maximum amount that can flow from s to t • Theorem: The maximal amount of a flow is equal to the capacity of a minimal cut
A new way to find the cut • Model overlapping patches as directed graphs • Assign sources and sinks, and set the edges of adjacent pixel equal color difference • M(1, 4, A, B) = ||A(1) - B(1)|| + ||A(4) - B(4)|| • run the max flow algorithm to find optimal seam
Accounting for Old Seams • We can incorporate old seam costs into the problem, and thus determine which pixels (if any) from the new patch should cover over some of the old seams.
Surrounded Regions • Sometimes we may want to cover old seams
Patch Placement • We’ve talked about how to slice and dice, but how do we lay down the texture patches? • Random Placement: Fast and works well for random textures • Entire Patch Matching: Normalize the sum-of-squared-differences and divide by area of patch. Pick a random, but good match. • Sub-Patch Matching: Pick a place in the output texture to place a patch, then search the input texture for the best match
Extensions and Refinements • Adapting the Cost Function: Pay attention to frequency content present in the image or video • Feathering and multi-resolution splining: Reduces ability to notice obvious seams • FFT-Based Acceleration: For patch matching. SSD can be expensive. One example had a reduction of 10 minutes to 5 seconds after switching to the FFT method.
Additional Transformations • Input image can be rotated, mirrored and scaled to produce interesting results
Rotation Example • Image Quilting vs Graph Cut Graph Cut Result Image Quilting Result Input
Interactive Graph Cuts • User has a hand in placing image, graph cut algorithm then finds the best cut
Video Synthesis • Video textures turn existing video into an infinitely playing form by finding smooth transitions from one part of the video to another • Patches in the case of video are the whole 3D space-time blocks of video
Conclusion • A new texture synthesis algorithm was introduced that works not only in 2D, but in 3D • It’s has advantages over previous patch based methods • It’s very fast, taking between 5 seconds and 5 minutes to generate results
Questions • Any questions?