lecture 6 texture
play

Lecture 6: Texture Tuesday, Sept 18 Graduate students Texture - PDF document

Lecture 6: Texture Tuesday, Sept 18 Graduate students Texture Problem set 1 extension ideas Chamfer matching Hierarchy of shape prototypes, search over translations Comparisons with Hausdorff distance, L1 on silhouettes


  1. Lecture 6: Texture Tuesday, Sept 18 Graduate students Texture Problem set 1 extension ideas • Chamfer matching – Hierarchy of shape prototypes, search over translations – Comparisons with Hausdorff distance, L1 on silhouettes – Multi-view matching,… • Background subtraction – Adaptive background model – Classify blobs based on shape cues – Collect some statistics of tracks over time,…

  2. Scale: objects vs. texture Texture problems • Segmentation from texture cues – Analyze, represent texture v – Group image regions with consistent texture • Synthesis – Generate new texture patches/images given v some examples • Shape from texture – Estimate surface orientation or shape from image texture Shape from texture Analysis vs. Synthesis • Assume homogeneity of texture • Use deformation of texture from point to point to estimate surface shape Images:Bill Freeman, A. Efros Why analyze texture? What kind of response will we get with an edge detector for these images? …and for this image? Images from Malik and Perona, 1990 Image credit: D. Forsyth

  3. Psychophysics of texture • Some textures distinguishable with preattentive perception [Julesz 1975] • Analysis: need to measure “densities” of local pattern types… what are the fundamental units? Same or different? http://www.airventure.org/2004/gallery/images/073104_satellite.jpg Capturing the local patterns with What filters? image measurements [Bergen & Weights: 1, -2, 1; Weights: 1,-1; Adelson, sigmas 0.62, 1, sigmas 0.71, 1.14, Nature 1988] Horizontal bar: Weights: -1, 2, -1; Sigmax = 2 Scale of Sigmay = 1 patterns Offsets along y: 1, 0, -1 influences [Malik & Perona, 1990] discriminability • Spots: weighted sum of two/three concentric, symmetric Gaussians Size-tuned • Oriented bars: weighted sum of three linear filters oriented offset Gaussians Texture representation • Textures made up of repeated local patterns: – Find the patterns • Use filters that look like patterns (spots, bars,…) • Consider magnitude of response – Describe their statistics • Mean, standard deviation • Histograms Forsyth & Ponce

  4. Texture representation Texture representation: example • Collect responses to collection of filters Displaying features: Threshold and combine – Filters at multiple scales, orientations – Collect within window (assuming know relevant size of this window) For example, collect mean of the squared filter outputs for a range of filters (d filters -> d dimensional vector for each window). Smooth to get mean of Lighter = stronger squared response in response some window Forsyth & Ponce Texture vocabularies Recognizing materials with textons • Textons : 2D units of preattentive textures [Leung & Malik, 1999] [Julesz, 1981] – Collect filter responses from sample of images (possibly over multiple viewing • Textons : prototypical responses of images conditions) to a given filter bank [Leung & Malik, 1999] – Vector quantize into textons – Describe new images in terms of distribution of textons – Compare histograms, e.g. chi-squared distance Related recent research: [Varma and Zisserman, 2002] [Lazebnik, Schmid, and Ponce, 2003] [Hayman et al., 2004] [Leung & Malik, 1999]

  5. Texture synthesis The Challenge • Goal: create new samples of a given texture • Many applications: virtual environments, hole- repeated filling, texturing surfaces • Need to model the whole spectrum: from repeated to stochastic texture stochastic Slides from A. Efros, ICCV 1999 Both? Motivation from Language Motivation from language Motivation from Language Motivation from language • [Shannon,’48] proposed a way to generate • Results: English-looking text using N-grams: – “As I've commented before, really relating to – Assume a generalized Markov model someone involves standing next to – Use a large text to compute probability impossible.” distributions of each letter given N-1 previous – "One morning I shot an elephant in my arms letters and kissed him.” – Starting from a seed repeatedly sample this – "I spent an interesting evening recently with a Markov chain to generate new letters grain of salt" – One can use whole words instead of letters too: • Notice how well local structure is preserved! – Now let’s try this in 2D... WE NEED TO EAT CAKE Dewdney, “A potpourri of programmed prose and prosody” Scientific American, 1989. SSD: simple measure of patch similarity SSD: simple measure of patch similarity sum(C(:)) A B C = (A-B).^2 = 4088780 sum(C(:)) A B C = (A-B).^2 = 1021339

  6. Efros & Leung algorithm Efros & Leung algorithm • Growing is in “onion skin” order – Within each “layer”, pixels with most neighbors non-parametric sampling are synthesized first p p – If no close match can be found, the pixel is not synthesized until the end Synthesizing a pixel Input image • Using Gaussian-weighted SSD is very important • Assuming Markov property, compute P( p |N( p )) – to make sure the new pixel agrees with its – Building explicit probability tables infeasible closest neighbors – Instead, we search the input image for all similar – Approximates reduction to a smaller neighborhoods — that’s our pdf for p neighborhood window if data is too sparse – To sample from this pdf, just pick one match at random Varying Window Size Neighborhood Window input Increasing window size Synthesis results Synthesis results white bread brick wall french canvas rafia weave

  7. Synthesis results Failure Cases Growing garbage Verbatim copying Extrapolation Hole Filling Image Quilting [Efros & Freeman 2001] Summary • The Efros & Leung algorithm non-parametric sampling – Simple p p – Surprisingly good results B B – Synthesis is easier than analysis! Input image Synthesizing a block – …but very slow • Observation: neighbor pixels are highly correlated Idea: Idea: unit of synthesis = block 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

  8. block Minimal error boundary Input texture overlapping blocks vertical boundary B1 B2 B1 B2 B1 B2 Random placement Neighboring blocks Minimal error of blocks constrained by overlap boundary cut 2 2 _ _ = = overlap error min. error boundary

  9. Texture Transfer Failures (Chernobyl • Take the texture from one Harvest) 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 + = + =

  10. Coming up • Problem set 1 due Tuesday + + = = • Segmentation: read Chapter 14

Recommend


More recommend