Image Quilting for Texture Synthesis & Transfer

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. 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.
Lapped Textures Emil Praun Adam Finkelstein Hugues Hoppe Emil Praun Adam Finkelstein Hugues Hoppe Princeton University Microsoft Research Princeton University.
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.
Image Quilting for Texture Synthesis & Transfer Alexei Efros (UC Berkeley) Bill Freeman (MERL) +=
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)
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.
Texture Optimization for Example-based Synthesis
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.
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.
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.
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.
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
Image Morphing © Zooface Many slides from Alexei Efros, Berkeley.
Announcements Project 4 out today help session at the end of class.
Detail Preserving Shape Deformation in Image Editing
Fast Preprocessing for Robust Face Sketch Synthesis
Outline Texture modeling - continued Filtering-based approaches.
School of Electrical and
Texture Synthesis by Non-parametric Sampling
Announcements Final Project 3 artifacts Evals
By: Kevin Yu Ph.D. in Computer Engineering
Data-driven methods: Texture 2 (Sz 10.5)
Outline S. C. Zhu, X. Liu, and Y. Wu, “Exploring Texture Ensembles by Efficient Markov Chain Monte Carlo”, IEEE Transactions On Pattern Analysis And Machine.
Texture Quality Extensions to Image Quilting
Fast Pattern Simulation Using Multi‐Scale Search
Haim Kaplan and Uri Zwick
Texture.
Announcements Guest lecture next Tuesday
Outline Texture modeling - continued Julesz ensemble.
Texture Synthesis and Transfer
Presentation transcript:

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

The Goal of Texture Synthesis input image SYNTHESIS True (infinite) texture generated image 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“

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 WE NEED TO EAT CAKE [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 NEED TO EAT CAKE

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)) non-parametric sampling Input image Synthesizing a pixel 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

Efros & Leung ’99 The algorithm Optimizations and Improvements 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] input idea result Process: 1) tile input image; 2) pick random blocks and place them in random locations 3) Smooth edges Used in Lapped Textures [Praun et.al,’00]

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

Image Quilting Idea: Related Work (concurrent): 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]

Efros & Leung ’99 extended p 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 non-parametric sampling Input image Observation: neighbor pixels are highly correlated

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

Minimal error boundary overlapping blocks vertical boundary _ = 2 overlap error min. error boundary

Our Philosophy The “Corrupt Professor’s Algorithm”: Rationale: Plagiarize as much of the source image as you can Then try to cover up the evidence Rationale: 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 Xu, Guo & Shum Wei & Levoy Image Quilting

input image Portilla & Simoncelli Xu, Guo & Shum Wei & Levoy Image Quilting

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

Conclusion Quilt together patches of input image Image Quilting 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