Graphcut Texture: Image and Video Synthesis Using Graph Cuts

Slides:



Advertisements
Similar presentations
Filling Algorithms Pixelwise MRFsChaos Mosaics Patch segments are pasted, overlapping, across the image. Then either: Ambiguities are removed by smoothing.
Advertisements

Image Quilting and Apples
Data-driven methods: Texture (Sz 10.5) Cs129 Computational Photography James Hays, Brown, Spring 2011 Many slides from Alexei Efros.
Register Allocation CS 671 March 27, CS 671 – Spring Register Allocation - Motivation Consider adding two numbers together: Advantages: Fewer.
Texture Synthesis on [Arbitrary Manifold] Surfaces Presented by: Sam Z. Glassenberg* * Several slides borrowed from Wei/Levoy presentation.
Recap from Monday Frequency domain analytical tool computational shortcut compression tool.
Recap from Monday Fourier transform analytical tool computational shortcut.
Stephen J. Guy 1. Photomontage Photomontage GrabCut – Interactive Foreground Extraction 1.
Lapped Textures Emil Praun and Adam Finkelstien (Princeton University) Huges Hoppe (Microsoft Research) SIGGRAPH 2000 Presented by Anteneh.
Lecture 6 Image Segmentation
CS448f: Image Processing For Photography and Vision Graph Cuts.
Agenda Seam-carving: finish up “Mid-term review” (a look back) Main topic: Feature detection.
Maryia Kazakevich “Texture Synthesis by Patch-Based Sampling” Texture Synthesis by Patch-Based Sampling Real-Time Texture Synthesis By Patch-Based Sampling,
1 Image Completion using Global Optimization Presented by Tingfan Wu.
Image Quilting for Texture Synthesis & Transfer Alexei Efros (UC Berkeley) Bill Freeman (MERL) +=
Blending and Compositing : Rendering and Image Processing Alexei Efros.
Fast Texture Synthesis using Tree-structured Vector Quantization Li-Yi Wei Marc Levoy Computer Graphics Group Stanford University.
Announcements Quiz Thursday Quiz Review Tomorrow: AV Williams 4424, 4pm. Practice Quiz handout.
Image Quilting for Texture Synthesis and Transfer Alexei A. Efros1,2 William T. Freeman2.
Image Pyramids and Blending
Curve Analogies Aaron Hertzmann Nuria Oliver Brain Curless Steven M. Seitz University of Washington Microsoft Research Thirteenth Eurographics.
Texture Synthesis on Surfaces Paper by Greg Turk Presentation by Jon Super.
Randomized Planning for Short Inspection Paths Tim Danner Lydia E. Kavraki Department of Computer Science Rice University.
The plan for today Camera matrix
Region Filling and Object Removal by Exemplar-Based Image Inpainting
Image Compositing and Blending : Computational Photography Alexei Efros, CMU, Fall 2007 © NASA.
Texture Synthesis over Arbitrary Manifold Surfaces Li-Yi Wei Marc Levoy Computer Graphics Group Stanford University.
Image Pyramids and Blending : Computational Photography Alexei Efros, CMU, Fall 2005 © Kenneth Kwan.
Matching Compare region of image to region of image. –We talked about this for stereo. –Important for motion. Epipolar constraint unknown. But motion small.
Computer vision: models, learning and inference
Image Stitching II Ali Farhadi CSE 455
Fast Texture Synthesis Tree-structure Vector Quantization Li-Yi WeiMarc Levoy Stanford University.
Image Pyramids and Blending
Texture Optimization for Example-based Synthesis
Introduction --Classification Shape ContourRegion Structural Syntactic Graph Tree Model-driven Data-driven Perimeter Compactness Eccentricity.
Image Renaissance Using Discrete Optimization Cédric AllèneNikos Paragios ENPC – CERTIS ESIEE – A²SI ECP - MAS France.
Generating panorama using translational movement model.
Video Textures Arno Schödl Richard Szeliski David Salesin Irfan Essa Microsoft Research, Georgia Tech.
ALIGNMENT OF 3D ARTICULATE SHAPES. Articulated registration Input: Two or more 3d point clouds (possibly with connectivity information) of an articulated.
Terrain Synthesis by Digital Elevation Models Howard Zhou, Jie Sun, Greg Turk, and James M. Rehg
1 Adding charts anywhere Assume a cow is a sphere Cindy Grimm and John Hughes, “Parameterizing n-holed tori”, Mathematics of Surfaces X, 2003 Cindy Grimm,
Previous lecture Texture Synthesis Texture Transfer + =
Image Quilting for Texture Synthesis and Transfer Alexei A. Efros (UC Berkeley) William T. Freeman (MERL) Siggraph01 ’
Scene Completion Using Millions of Photographs James Hays, Alexei A. Efros Carnegie Mellon University ACM SIGGRAPH 2007.
Lecture 19: Solving the Correspondence Problem with Graph Cuts CAP 5415 Fall 2006.
Synthesizing Natural Textures Michael Ashikhmin University of Utah.
Towards Real-Time Texture Synthesis With the Jump Map Steve Zelinka Michael Garland University of Illinois at Urbana-Champaign Thirteenth Eurographics.
2D Texture Synthesis Instructor: Yizhou Yu. Texture synthesis Goal: increase texture resolution yet keep local texture variation.
Graphcut Textures Image and Video Synthesis Using Graph Cuts
Two Patch-based Algorithms for By-example Texture Synthesis Bruno Galerne MAP5, Université Paris Descartes 1 Master 2 Traitement.
Texture Synthesis by Image Quilting CS766 Class Project Fall 2004 Eric Robinson.
Probabilistic Equational Reasoning Arthur Kantor
Image Stitching II Linda Shapiro CSE 455. RANSAC for Homography Initial Matched Points.
SIGGRAPH 2007 Hui Fang and John C. Hart.  We propose an image editing system ◦ Preserve its detail and orientation by resynthesizing texture from the.
Strong Supervision From Weak Annotation Interactive Training of Deformable Part Models ICCV /05/23.
Hebrew University Image Processing Exercise Class 8 Panoramas – Stitching and Blending Min-Cut Stitching Many slides from Alexei Efros.
Image Stitching II Linda Shapiro EE/CSE 576.
Graphcut Textures:Image and Video Synthesis Using Graph Cuts
Image Blending : Computational Photography
Cutting Images: Graphs and Boundary Finding
Announcements Project 4 out today help session at the end of class.
Image gradients and edges
Image Stitching Slides from Rick Szeliski, Steve Seitz, Derek Hoiem, Ira Kemelmacher, Ali Farhadi.
Image Stitching II Linda Shapiro EE/CSE 576.
Image Stitching II Linda Shapiro CSE 455.
Jianping Fan Dept of Computer Science UNC-Charlotte
Image Quilting for Texture Synthesis & Transfer
Image Stitching II Linda Shapiro EE/CSE 576.
Photometric Processing
Presentation transcript:

Graphcut Texture: Image and Video Synthesis Using Graph Cuts Vivek Kwatra, Arno Schodl, Irfan Essa, Greg Turk, Aaron Bobick Georgia Institute of Technology SIGGRAPH 2003 林柏志 2008/11/25

Graphcut Texture: Image and Video Synthesis Using Gragph Cuts Outline Introduction Patch Fitting using Graph Cuts Patch Placement & Matching Extensions & Refinements Discussion Summary Graphcut Texture: Image and Video Synthesis Using Gragph Cuts

Graphcut Texture: Image and Video Synthesis Using Gragph Cuts Introduction Texture: An infinite pattern that can be modeled by a stationary stochastic process. Graphcut Texture: Image and Video Synthesis Using Gragph Cuts

Graphcut Texture: Image and Video Synthesis Using Gragph Cuts Introduction Goal of texture synthesis: be restated as the solution for the nodes of the network, that maximizes the total likelihood. Probabilistic inference in graphical models is cyclic network problem (NP Hard) approximation to the optimal solution Graphcut Texture: Image and Video Synthesis Using Gragph Cuts

Graphcut Texture: Image and Video Synthesis Using Gragph Cuts Introduction Two decision for each patch: the offset of the patch (offset searching) the patch seam (seam finding) Graphcut Texture: Image and Video Synthesis Using Gragph Cuts

Graphcut Texture: Image and Video Synthesis Using Gragph Cuts Introduction Graphcut Texture: Image and Video Synthesis Using Gragph Cuts

Patch Fitting using Graph Cuts Determine an optimal portion of selected patch is computed and only these pixels are copied to the output image Graphcut Texture: Image and Video Synthesis Using Gragph Cuts

Patch Fitting using Graph Cuts Graphcut Texture: Image and Video Synthesis Using Gragph Cuts

Graphcut Texture: Image and Video Synthesis Using Gragph Cuts Graph Cuts Let s and t be two adjacent pixel positions in the overlap region. Let A(s) and B(s) be the pixel colors at the position s in the old and new patches. Define the matching quality cost M between the two adjacent pixels s and t that copy from patches A and B. Graphcut Texture: Image and Video Synthesis Using Gragph Cuts

Graphcut Texture: Image and Video Synthesis Using Gragph Cuts Graph Cuts The arcs connecting the adjacent pixel nodes s and t are labelled with the matching quality cost M(s, t,A,B). Add arcs that have infinitely high costs between some of the pixels and the nodes A or B are constraint arc. Graphcut Texture: Image and Video Synthesis Using Gragph Cuts

Accounting for Old Seams Graphcut Texture: Image and Video Synthesis Using Gragph Cuts

Accounting for Old Seams Seam node M(s, t,As,At ) where s and t are the two pixels that straddle the seam. If the arc between a seam node and the new patch node B is cut, this means that the old seam remains in the output image. If such an arc is not cut, this means that the seam has been overwritten by new pixels. Graphcut Texture: Image and Video Synthesis Using Gragph Cuts

Graphcut Texture: Image and Video Synthesis Using Gragph Cuts Surrounded Regions Graphcut Texture: Image and Video Synthesis Using Gragph Cuts

Graphcut Texture: Image and Video Synthesis Using Gragph Cuts Surrounded Regions All of the pixels in a border surrounding the placement region are constrained to be reflected in the arcs from the border pixels to node A. Placed a single constraint arc from one interior pixel to node B in order to force at least one pixel to be copied from patch B. Graphcut Texture: Image and Video Synthesis Using Gragph Cuts

Patch Placement & Matching Algorithms for picking candidate patches. Restrict the patch selection to previously unused offsets. Use the cost of existing seams to quantify the error in a particular region of the image, and pick the region with the largest error as an error-region. To pick those patch locations that completely overlap the error-region. Graphcut Texture: Image and Video Synthesis Using Gragph Cuts

Patch Placement & Matching Graphcut Texture: Image and Video Synthesis Using Gragph Cuts

Graphcut Texture: Image and Video Synthesis Using Gragph Cuts

Graphcut Texture: Image and Video Synthesis Using Gragph Cuts Selection methods Random placement Entire patch matching Sub-patch matching Graphcut Texture: Image and Video Synthesis Using Gragph Cuts

Graphcut Texture: Image and Video Synthesis Using Gragph Cuts Random placement The new patch is translated to a random offset location. This is the fastest synthesis method and gives good results for random textures. Graphcut Texture: Image and Video Synthesis Using Gragph Cuts

Graphcut Texture: Image and Video Synthesis Using Gragph Cuts Entire patch matching To account for partial overlaps between the input and the output. Normalize the sum-of-squared-differences (SSD) cost with the area of the overlapping region. This method gives the best results for structured and semi-structured textures Graphcut Texture: Image and Video Synthesis Using Gragph Cuts

Graphcut Texture: Image and Video Synthesis Using Gragph Cuts Entire patch matching C(t) is the cost at translation t of the input. I and O are the input and output images. At is the portion of the translated input overlapping the output. Graphcut Texture: Image and Video Synthesis Using Gragph Cuts

Graphcut Texture: Image and Video Synthesis Using Gragph Cuts Entire patch matching σ is the SD. of the pixel values in the input image. k controls the randomness in patch selection. Graphcut Texture: Image and Video Synthesis Using Gragph Cuts

Graphcut Texture: Image and Video Synthesis Using Gragph Cuts Sub-patch matching Pick output-sub-patch which is the same or slightly larger than the error-region. Look for a sub-patch in the input texture that matches this output-sub-patch well. It is also the best method for stochastic textures. Graphcut Texture: Image and Video Synthesis Using Gragph Cuts

Graphcut Texture: Image and Video Synthesis Using Gragph Cuts Sub-patch matching So is the output-sub-patch Patch is picked stochastically using a probability function. Graphcut Texture: Image and Video Synthesis Using Gragph Cuts

Extensions & Refinements Adapting the Cost Function Feathering and multi-resolution splining FFT-Based Acceleration Graphcut Texture: Image and Video Synthesis Using Gragph Cuts

Adapting the Cost Function Discontinuities or seam boundaries are more prominent in low frequency regions rather than high frequency ones. Take this into account by computing the gradient of the image along each direction. Graphcut Texture: Image and Video Synthesis Using Gragph Cuts

Adapting the Cost Function GdA and GdB are the gradients in the patches A and B along the direction d. M’ penalizes seams going through low frequency regions more than those going through high frequency regions. Graphcut Texture: Image and Video Synthesis Using Gragph Cuts

Feathering and multi-resolution splining Feathering is done using a Gaussian kernel. Use multi-resolution splining [Burt and Adelson 1983] of patches across seams. Graphcut Texture: Image and Video Synthesis Using Gragph Cuts

FFT-Based Acceleration The SSD-based algorithms can be computationally expensive. Computing the cost C(t) for all valid translations is O(n2) Graphcut Texture: Image and Video Synthesis Using Gragph Cuts

FFT-Based Acceleration The first two terms are sum of squares can be computed efficiently in O(n) time using summed-area tables [Crow 1984]. The third term is a convolution can be computed in O(nlog(n)). Graphcut Texture: Image and Video Synthesis Using Gragph Cuts

Graphcut Texture: Image and Video Synthesis Using Gragph Cuts Discussion with DP. Imposes an artificial grid structure on the pixels potentially mean missing out on good seams that cannot be modeled within the imposed structure Memoryless optimization procedure cannot explicitly improve existing seams Graphcut Texture: Image and Video Synthesis Using Gragph Cuts

Graphcut Texture: Image and Video Synthesis Using Gragph Cuts Summary Benefits: No restrictions on shape of the region where seam will be created. Consideration of old seam costs. Easy generalization to creation of seam surfaces. A simple method for adding constraints. Graphcut Texture: Image and Video Synthesis Using Gragph Cuts