texture synthesis (basic)

36
Texture Synthesis (Basic) Connelly Barnes Computational Photography Many slides from James Hays, Alexei E

Upload: jock

Post on 22-Feb-2016

63 views

Category:

Documents


0 download

DESCRIPTION

Texture Synthesis (Basic). Connelly Barnes Computational Photography, Fall 2013. Many slides from James Hays, Alexei Efros. Project 1. Project 1 posted to course website: http:// www.cs.virginia.edu /~connelly/class/2013/cs6501/proj1/. Texture. Texture depicts spatially repeating patterns - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Texture Synthesis (Basic)

Texture Synthesis (Basic)

Connelly Barnes

Computational Photography

Many slides from James Hays, Alexei Efros

Page 2: Texture Synthesis (Basic)

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

radishes rocks yogurt

Page 3: Texture Synthesis (Basic)

Texture Synthesis• Goal of Texture Synthesis: create new samples of

a given texture• Many applications: virtual environments, hole-

filling, texturing surfaces

Page 4: Texture Synthesis (Basic)

The Challenge

• Need to model the whole spectrum: from repeated to stochastic texture

Page 5: Texture Synthesis (Basic)

Efros & Leung Algorithm

• Assuming Markov property, compute P(p|N(p))– Building explicit probability tables infeasible

p

Synthesizing a pixel

non-parametricsampling

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

Page 6: Texture Synthesis (Basic)

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

Page 7: Texture Synthesis (Basic)

Neighborhood Window

input

Page 8: Texture Synthesis (Basic)

Varying Window Size

Increasing window size

Page 9: Texture Synthesis (Basic)

Synthesis Resultsfrench canvas rafia weave

Page 10: Texture Synthesis (Basic)

More Resultswhite bread brick wall

Page 11: Texture Synthesis (Basic)

Homage to Shannon

Page 12: Texture Synthesis (Basic)

n-gram Model (Shannon)

n-gram

Page 13: Texture Synthesis (Basic)

Hole Filling

Page 14: Texture Synthesis (Basic)

Extrapolation

Page 15: Texture Synthesis (Basic)

Summary

• The Efros & Leung algorithm–Very simple–Surprisingly good results–…but very slow

Page 16: Texture Synthesis (Basic)

p

Image Quilting [Efros & Freeman]

• Observation: neighbor pixels are highly correlated

Input image

non-parametricsampling

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

Page 17: Texture Synthesis (Basic)

Input texture

B1 B2

Random placement of blocks

block

B1 B2

Neighboring blocksconstrained by overlap

B1 B2

Minimal errorboundary cut

Page 18: Texture Synthesis (Basic)

min. error boundary

Minimal error boundaryoverlapping blocks vertical boundary

_ =2

overlap error

Page 19: Texture Synthesis (Basic)

Quilting – Idea

• 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

Page 20: Texture Synthesis (Basic)
Page 21: Texture Synthesis (Basic)
Page 22: Texture Synthesis (Basic)
Page 23: Texture Synthesis (Basic)
Page 24: Texture Synthesis (Basic)
Page 25: Texture Synthesis (Basic)
Page 26: Texture Synthesis (Basic)

Failures

(Chernobyl

Harvest)

Page 27: Texture Synthesis (Basic)

input image

Portilla & Simoncelli

Wei & Levoy Image Quilting

Xu, Guo & Shum

Page 28: Texture Synthesis (Basic)

Portilla & Simoncelli

Wei & Levoy

Xu, Guo & Shum

input image

Image Quilting

Page 29: Texture Synthesis (Basic)

Portilla & Simoncelli

Wei & Levoy

input image

Xu, Guo & Shum

Image Quilting

Page 30: Texture Synthesis (Basic)

Political Texture Synthesis!

Page 31: Texture Synthesis (Basic)

+ =

Application: Texture Transfer• Try to explain one object with bits and

pieces of another object:

Page 32: Texture Synthesis (Basic)

Texture Transfer Constraint

Texture sample

Page 33: Texture Synthesis (Basic)

• 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”

Page 34: Texture Synthesis (Basic)

=+

Page 35: Texture Synthesis (Basic)
Page 36: Texture Synthesis (Basic)

PatchMatch• Open second slide deck