Advanced Computer Graphics (Fall 2010) CS 283, Lecture 26 Texture Synthesis Ravi Ramamoorthi Slides, lecture.

Slides:



Advertisements
Similar presentations
Example 1 Generating Random Photorealistic Objects Umar Mohammed and Simon Prince Department of Computer Science, University.
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.
CS Spring 2009 CS 414 – Multimedia Systems Design Lecture 4 – Digital Image Representation Klara Nahrstedt Spring 2009.
SOFT SCISSORS: AN INTERACTIVE TOOL FOR REALTIME HIGH QUALITY MATTING International Conference on Computer Graphics and Interactive Techniques ACM SIGGRAPH.
Texture Synthesis on [Arbitrary Manifold] Surfaces Presented by: Sam Z. Glassenberg* * Several slides borrowed from Wei/Levoy presentation.
Structured Light principles Figure from M. Levoy, Stanford Computer Graphics Lab.
Procedural Content Tiling
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.
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.
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.
Image Quilting for Texture Synthesis and Transfer Alexei A. Efros1,2 William T. Freeman2.
Direct Methods for Visual Scene Reconstruction Paper by Richard Szeliski & Sing Bing Kang Presented by Kristin Branson November 7, 2002.
Image Manifolds : Learning-based Methods in Vision Alexei Efros, CMU, Spring 2007 © A.A. Efros With slides by Dave Thompson.
Curve Analogies Aaron Hertzmann Nuria Oliver Brain Curless Steven M. Seitz University of Washington Microsoft Research Thirteenth Eurographics.
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.
Region Filling and Object Removal by Exemplar-Based Image Inpainting
EE565 Advanced Image Processing Copyright Xin Li Statistical Modeling of Natural Images in the Wavelet Space Parametric models of wavelet coefficients.
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
Image Analogies Aaron Hertzmann (1,2) Charles E. Jacobs (2) Nuria Oliver (2) Brian Curless (3) David H. Salesin (2,3) 1 New York University 1 New York.
Texture Synthesis by Non-parametric Sampling Alexei Efros and Thomas Leung UC Berkeley.
Efficient Editing of Aged Object Textures By: Olivier Clément Jocelyn Benoit Eric Paquette Multimedia Lab.
CAP5415: Computer Vision Lecture 4: Image Pyramids, Image Statistics, Denoising Fall 2006.
Video Textures Arno Schödl Richard Szeliski David Salesin Irfan Essa Microsoft Research, Georgia Tech.
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.
Previous lecture Texture Synthesis Texture Transfer + =
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.
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.
Multimedia Programming 14: Matting Departments of Digital Contents Sang Il Park.
Texture Synthesis by Image Quilting CS766 Class Project Fall 2004 Eric Robinson.
Lecture 5: Statistical Methods for Classification CAP 5415: Computer Vision Fall 2006.
Midterm Review. Tuesday, November 3 7:15 – 9:15 p.m. in room 113 Psychology Closed book One 8.5” x 11” sheet of notes on both sides allowed Bring a calculator.
Video Textures Arno Schödl Richard Szeliski David Salesin Irfan Essa Microsoft Research, Georgia Tech.
Texture Analysis and Synthesis. Texture Texture: pattern that “looks the same” at all locationsTexture: pattern that “looks the same” at all locations.
Jianchao Yang, John Wright, Thomas Huang, Yi Ma CVPR 2008 Image Super-Resolution as Sparse Representation of Raw Image Patches.
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.
Texture Synthesis by Non-parametric Sampling
Data-driven methods: Video Textures
Announcements Final Project 3 artifacts Evals
Data-driven methods: Texture 2 (Sz 10.5)
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
Sequences II Prof. Noah Snavely CS1114
Presentation transcript:

Advanced Computer Graphics (Fall 2010) CS 283, Lecture 26 Texture Synthesis Ravi Ramamoorthi Slides, lecture courtesy Alexei Efros, from CMU lecture

Weather Forecast for Dummies  Let’s predict weather:  Given today’s weather only, we want to know tomorrow’s  Suppose weather can only be {Sunny, Cloudy, Raining}  The “Weather Channel” algorithm:  Over a long period of time, record:  How often S followed by R  How often S followed by S  Etc.  Compute percentages for each state:  P(R|S), P(S|S), etc.  Predict the state with highest probability!  It’s a Markov Chain

Markov Chain What if we know today and yesterday’s weather?

Text Synthesis  [ 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”

Texture Texture depicts spatially repeating patterns Many natural phenomena are textures radishesrocksyogurt

Texture Synthesis Goal of Texture Synthesis: create new samples of a given texture Many applications: virtual environments, hole- filling, texturing surfaces

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

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

Some Details Growing is in “onion skin” order –Within each “layer”, pixels with most neighbors are synthesized first –If no close match can be found, the pixel is not synthesized until the end Using Gaussian-weighted SSD is very important – to make sure the new pixel agrees with its closest neighbors –Approximates reduction to a smaller neighborhood window if data is too sparse

Neighborhood Window input

Varying Window Size Increasing window size

Synthesis Results french canvasrafia weave

More Results white breadbrick wall

Homage to Shannon

Hole Filling

Extrapolation

Summary The Efros & Leung algorithm –Very simple –Surprisingly good results –Synthesis is easier than analysis! –…but very slow

p Image Quilting [Efros & Freeman] 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 evidence Rationale: –Texture blocks are by definition correct samples of texture so problem only connecting them together

Failures (Chernobyl Harvest)

input image Portilla & Simoncelli Wei & LevoyOur algorithm Xu, Guo & Shum

Portilla & Simoncelli Wei & LevoyOur algorithm Xu, Guo & Shum input image

Portilla & Simoncelli Wei & LevoyOur algorithm input image Xu, Guo & Shum

Political Texture Synthesis!

Fill Order In what order should we fill the pixels?

Fill Order In what order should we fill the pixels? –choose pixels that have more neighbors filled –choose pixels that are continuations of lines/curves/edges Criminisi, Perez, and Toyama. “Object Removal by Exemplar-based Inpainting,” Proc. CVPR, 2003.Object Removal by Exemplar-based Inpainting

Exemplar-based Inpainting demo

+ = Application: Texture Transfer Try to explain one object with bits and pieces of another object:

Texture Transfer Constraint Texture sample

Take the texture from one image and “paint” it onto another object Texture Transfer Same as texture synthesis, except an additional constraint: 1.Consistency of texture 2.Similarity to the image being “explained”

= +

Image Analogies Aaron Hertzmann 1,2 Chuck Jacobs 2 Nuria Oliver 2 Brian Curless 3 David Salesin 2,3 1 New York University 2 Microsoft Research 3 University of Washington

Image Analogies AA’ BB’

Blur Filter

Edge Filter

AA’ BB’ Artistic Filters

Colorization

Texture-by-numbers AA’ BB’

Super-resolution A A’

Super-resolution (result!) B B’

Video Textures Arno Schödl Richard Szeliski David Salesin Irfan Essa Microsoft Research, Georgia Tech

Problem statement video clipvideo texture

Our approach How do we find good transitions?

Finding good transitions Compute L 2 distance D i, j between all frames Similar frames make good transitions frame ivs. frame j

Markov chain representation Similar frames make good transitions

Transition costs Transition from i to j if successor of i is similar to j Cost function: C i  j = D i+1, j

Transition probabilities Probability for transition P i  j inversely related to cost: P i  j ~ exp ( – C i  j /  2 ) high  low 

Example