Image Quilting for Texture Synthesis & Transfer Alexei Efros (UC Berkeley) Bill Freeman (MERL) +=

Slides:



Advertisements
Similar presentations
Lapped textures Emil Praun Adam Finkelstein Hugues Hoppe
Advertisements

Filling Algorithms Pixelwise MRFsChaos Mosaics Patch segments are pasted, overlapping, across the image. Then either: Ambiguities are removed by smoothing.
Image Quilting and Apples
Texture. Limitation of pixel based processing Edge detection with different threshold.
Data-driven methods: Texture (Sz 10.5) Cs129 Computational Photography James Hays, Brown, Spring 2011 Many slides from Alexei Efros.
Texture Synthesis on [Arbitrary Manifold] Surfaces Presented by: Sam Z. Glassenberg* * Several slides borrowed from Wei/Levoy presentation.
Texture. Edge detectors find differences in overall intensity. Average intensity is only simplest difference. many slides from David Jacobs.
More details on presentations Aim to speak for ~50 min (after 15 min review, leaving 10 min for discussions) Try to plan discussion topics It’s fine to.
Lapped Textures Emil Praun and Adam Finkelstien (Princeton University) Huges Hoppe (Microsoft Research) SIGGRAPH 2000 Presented by Anteneh.
Video Texture : Computational Photography Alexei Efros, CMU, Fall 2006 © A.A. Efros.
Maryia Kazakevich “Texture Synthesis by Patch-Based Sampling” Texture Synthesis by Patch-Based Sampling Real-Time Texture Synthesis By Patch-Based Sampling,
Lapped Textures Emil Praun Adam Finkelstein Hugues Hoppe Emil Praun Adam Finkelstein Hugues Hoppe Princeton University Microsoft Research Princeton University.
Announcements Project 4 questions? Guest lectures Thursday: Richard Ladner “tactile graphics” Next Tuesday: Jenny Yuen and Jeff Bigham.
Texture Synthesis by Non-parametric Sampling / Image Quilting for Texture Synthesis & Transfer by Efros and Leung / Efros and Freeman ICCV ’99 / SIGGRAPH.
Overview of Texture Synthesis Ganesh Ramanarayanan Cornell Graphics Seminar.
Texture This isn’t described in Trucco and Verri Parts are described in: – Computer Vision, a Modern Approach by Forsyth and Ponce –“Texture Synthesis.
Announcements Big mistake on hint in problem 1 (I’m very sorry).
Fast Texture Synthesis using Tree-structured Vector Quantization Li-Yi Wei Marc Levoy Computer Graphics Group Stanford University.
Image Quilting for Texture Synthesis and Transfer Alexei A. Efros1,2 William T. Freeman2.
Image Manifolds : Learning-based Methods in Vision Alexei Efros, CMU, Spring 2007 © A.A. Efros With slides by Dave Thompson.
Texture Splicing Yiming Liu, Jiaping Wang, Su Xue, Xin Tong, Sing Bing Kang, Baining Guo.
TEXTURE SYNTHESIS PEI YEAN LEE. What is texture? Images containing repeating patterns Local & stationary.
Announcements For future problems sets: matlab code by 11am, due date (same as deadline to hand in hardcopy). Today’s reading: Chapter 9, except.
Texture Reading: Chapter 9 (skip 9.4) Key issue: How do we represent texture? Topics: –Texture segmentation –Texture-based matching –Texture synthesis.
Texture Synthesis from Multiple Sources Li-Yi Wei Stanford University (was) NVIDIA Corporation (now)
Region Filling and Object Removal by Exemplar-Based Image Inpainting
Near-Regular Texture Analysis and Manipulation Written by: Yanxi Liu Yanxi Liu Wen-Chieh Lin Wen-Chieh Lin James Hays James Hays Presented by: Alex Hadas.
Texture Synthesis over Arbitrary Manifold Surfaces Li-Yi Wei Marc Levoy Computer Graphics Group Stanford University.
Data-driven methods: Video : Computational Photography Alexei Efros, CMU, Fall 2007 © A.A. Efros.
Graphcut Texture: Image and Video Synthesis Using Graph Cuts
Image Pyramids and Blending
Texture Optimization for Example-based Synthesis
SIGGRAPH 2003 Jingdan Zhang, Kun Zhou, Luiz Velho, Baining Guo, Heung-Yeung Shum.
Texture Synthesis by Non-parametric Sampling Alexei Efros and Thomas Leung UC Berkeley.
CAP5415: Computer Vision Lecture 4: Image Pyramids, Image Statistics, Denoising Fall 2006.
Light Using Texture Synthesis for Non-Photorealistic Shading from Paint Samples. Christopher D. Kulla, James D. Tucek, Reynold J. Bailey, Cindy M. Grimm.
Texture Optimization for Example-based Synthesis Vivek Kwatra Irfan Essa Aaron Bobick Nipun Kwatra.
Data-driven methods: Video & Texture Cs195g Computational Photography James Hays, Brown, Spring 2010 Many slides from Alexei Efros.
Texture Key issue: representing texture –Texture based matching little is known –Texture segmentation key issue: representing texture –Texture synthesis.
Image Quilting for Texture Synthesis and Transfer Alexei A. Efros (UC Berkeley) William T. Freeman (MERL) Siggraph01 ’
TEXTURE SYNTHESIS BY NON-PARAMETRIC SAMPLING VIVA-VITAL Nazia Tabassum 27 July 2015.
Multimedia Programming 21: Video and its applications Departments of Digital Contents Sang Il Park Lots of Slides are stolen from Alexei Efros, CMU.
Advanced Computer Graphics (Fall 2010) CS 283, Lecture 26 Texture Synthesis Ravi Ramamoorthi Slides, lecture.
Synthesis of Compact Textures for real-time Terrain Rendering Nader Salman 22 juin 2007 Encadrant : Sylvain Lefebvre.
Scene Completion Using Millions of Photographs James Hays, Alexei A. Efros Carnegie Mellon University ACM SIGGRAPH 2007.
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.
MIT AI Lab / LIDS Laboatory for Information and Decision Systems & Artificial Intelligence Laboratory Massachusetts Institute of Technology A Unified Multiresolution.
Geometry Synthesis Ares Lagae Olivier Dumont Philip Dutré Department of Computer Science Katholieke Universiteit Leuven 10 August, 2004.
Nonphotorealistic rendering Computational Photography, Bill Freeman Fredo Durand May 9, 2006 Drawing from: NPR Siggraph 1999 course, Green et al.
Texture Synthesis by Image Quilting CS766 Class Project Fall 2004 Eric Robinson.
SIGGRAPH 2007 Hui Fang and John C. Hart.  We propose an image editing system ◦ Preserve its detail and orientation by resynthesizing texture from the.
Texture Analysis and Synthesis. Texture Texture: pattern that “looks the same” at all locationsTexture: pattern that “looks the same” at all locations.
Hebrew University Image Processing Exercise Class 8 Panoramas – Stitching and Blending Min-Cut Stitching Many slides from Alexei Efros.
Two Patch-based Algorithms for By-example Texture Synthesis
Graphcut Textures:Image and Video Synthesis Using Graph Cuts
Announcements Project 4 out today help session at the end of class.
Detail Preserving Shape Deformation in Image Editing
Texture Synthesis by Non-parametric Sampling
Announcements Final Project 3 artifacts Evals
By: Kevin Yu Ph.D. in Computer Engineering
Texture Quality Extensions to Image Quilting
Texture.
Image Quilting for Texture Synthesis & Transfer
Announcements Guest lecture next Tuesday
Outline Texture modeling - continued Julesz ensemble.
Texture Synthesis and Transfer
Presentation transcript:

Image Quilting for Texture Synthesis & Transfer Alexei Efros (UC Berkeley) Bill Freeman (MERL) +=

The Goal of Texture Synthesis Given a finite sample of some texture, the goal is to synthesize other samples from that same texture The sample needs to be "large enough“ True (infinite) texture SYNTHESIS generated image input image

The Challenge Need to model the whole spectrum: from repeated to stochastic texture repeated stochastic Both?

Texture Synthesis for Graphics Inspired by Texture Analysis and Psychophysics [Heeger & Bergen,’95] [DeBonet,’97] [Portilla & Simoncelli,’98] …but didn’t work well for structured textures [Efros & Leung,’99] (originally proposed by [Garber,’81])

Efros & Leung ’99 [Shannon,’48] proposed a way to generate English-looking text using N-grams: Assume a generalized Markov model Use a large text to compute prob. distributions of each letter given N-1 previous letters Starting from a seed repeatedly sample this Markov chain to generate new letters Also works for whole words WE NEEDTOEATCAKE

Mark V. Shaney (Bell Labs) Results (using alt.singles corpus): “As I've commented before, really relating to someone involves standing next to impossible.” “One morning I shot an elephant in my arms and kissed him.” “I spent an interesting evening recently with a grain of salt” Notice how well local structure is preserved! Now, instead of letters let’s try pixels…

Efros & Leung ’99 Assuming Markov property, compute P(p|N(p)) Building explicit probability tables infeasible Instead, let’s search the input image for all similar neighborhoods — that’s our histogram for p To synthesize p, just pick one match at random p non-parametric sampling Input image Synthesizing a pixel

Efros & Leung ’99 The algorithm Very simple Surprisingly good results Synthesis is easier than analysis! …but very slow Optimizations and Improvements [Wei & Levoy,’00] (based on [Popat & Picard,’93]) [Harrison,’01] [Ashikhmin,’01]

Chaos Mosaic [Xu, Guo & Shum, ‘00] Process: 1) tile input image; 2) pick random blocks and place them in random locations 3) Smooth edges input idearesult Used in Lapped Textures [Praun et.al,’00]

Chaos Mosaic [Xu, Guo & Shum, ‘00] Of course, doesn’t work for structured textures input result

Image Quilting Idea: let’s combine random block placement of Chaos Mosaic with spatial constraints of Efros & Leung Related Work (concurrent): Real-time patch-based sampling [Liang et.al. ’01] Image Analogies [Hertzmann et.al. ’01]

p Efros & Leung ’99 extended Observation: neighbor pixels are highly correlated Input image non-parametric sampling B Idea: unit of synthesis = block Exactly the same but now we want P(B|N(B)) Much faster: synthesize all pixels in a block at once Not the same as multi-scale! Synthesizing a block

Input texture B1B2 Random placement of blocks block B1 B2 Neighboring blocks constrained by overlap B1B2 Minimal error boundary cut

min. error boundary Minimal error boundary overlapping blocksvertical boundary _ = 2 overlap error

Our Philosophy The “Corrupt Professor’s Algorithm”: Plagiarize as much of the source image as you can Then try to cover up the evidenceRationale: Texture blocks are by definition correct samples of texture so problem only connecting them together

Algorithm Pick size of block and size of overlap Synthesize blocks in raster order Search input texture for block that satisfies overlap constraints (above and left) Easy to optimize using NN search [Liang et.al., ’01] Paste new block into resulting texture use dynamic programming to compute minimal error boundary cut

Failures (Chernobyl Harvest)

Texture Transfer Take the texture from one object and “paint” it onto another object This requires separating texture and shape That’s HARD, but we can cheat Assume we can capture shape by boundary and rough shading Then, just add another constraint when sampling: similarity to underlying image at that spot

+= += parmesan rice

+=

= +

Source texture Target image Source correspondence image Target correspondence image

+=

input image Portilla & Simoncelli Wei & LevoyImage Quilting Xu, Guo & Shum

Portilla & Simoncelli Wei & LevoyImage Quilting Xu, Guo & Shum input image

Portilla & Simoncelli Wei & LevoyImage Quilting input image Homage to Shannon! Xu, Guo & Shum

Conclusion Quilt together patches of input image randomly (texture synthesis) constrained (texture transfer) Image Quilting No filters, no multi-scale, no one-pixel-at-a-time! fast and very simple Results are not bad