2D Texture Synthesis Instructor: Yizhou Yu. Texture synthesis Goal: increase texture resolution yet keep local texture variation.

Slides:



Advertisements
Similar presentations
Image Quilting and Apples
Advertisements

Andrew Nealen and Marc Alexa, Discrete Geometric Modeling Group, TU Darmstadt, 2004 Fast and High Quality Overlap Repair for Patch-Based Texture Synthesis.
Image Registration  Mapping of Evolution. Registration Goals Assume the correspondences are known Find such f() and g() such that the images are best.
CSCE 643 Computer Vision: Template Matching, Image Pyramids and Denoising Jinxiang Chai.
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.
Ted Adelson’s checkerboard illusion. Motion illusion, rotating snakes.
CS 691 Computational Photography
Texture. Edge detectors find differences in overall intensity. Average intensity is only simplest difference. many slides from David Jacobs.
1.  Texturing is a core process for modeling surface details in computer graphics applications › Texture mapping › Surface texture synthesis › Procedural.
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.
Texture Synthesis Tiantian Liu. Definition Texture – Texture refers to the properties held and sensations caused by the external surface of objects received.
Maryia Kazakevich “Texture Synthesis by Patch-Based Sampling” Texture Synthesis by Patch-Based Sampling Real-Time Texture Synthesis By Patch-Based Sampling,
Image Quilting for Texture Synthesis & Transfer Alexei Efros (UC Berkeley) Bill Freeman (MERL) +=
Overview of Texture Synthesis Ganesh Ramanarayanan Cornell Graphics Seminar.
Order-Independent Texture Synthesis Li-Yi Wei Marc Levoy Gcafe 1/30/2003.
Fast Texture Synthesis using Tree-structured Vector Quantization Li-Yi Wei Marc Levoy Computer Graphics Group Stanford University.
Parallel Controllable Texture Synthesis Sylvain Lefebvre, Hugues Hoppe SIGGRAPH (3),
Fast Image Replacement Using Multi-Resolution Approach Chih-Wei Fang and Jenn-Jier James Lien Robotics Lab Department of Computer Science and Information.
Texture Synthesis on Surfaces Paper by Greg Turk Presentation by Jon Super.
Announcements For future problems sets: matlab code by 11am, due date (same as deadline to hand in hardcopy). Today’s reading: Chapter 9, except.
(1) Feature-point matching by D.J.Duff for CompVis Online: Feature Point Matching Detection, Extraction.
Texture Reading: Chapter 9 (skip 9.4) Key issue: How do we represent texture? Topics: –Texture segmentation –Texture-based matching –Texture synthesis.
Andrew Nealen and Marc Alexa, Discrete Geometric Modeling Group, TU Darmstadt, 2003 Hybrid Texture Synthesis Andrew Nealen Marc Alexa Discrete Geometric.
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.
Fast Texture Synthesis Tree-structure Vector Quantization Li-Yi WeiMarc Levoy Stanford University.
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.
SIGGRAPH 2003 Jingdan Zhang, Kun Zhou, Luiz Velho, Baining Guo, Heung-Yeung Shum.
Applications of Image Filters Computer Vision CS 543 / ECE 549 University of Illinois Derek Hoiem 02/04/10.
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.
Terrain Synthesis by Digital Elevation Models Howard Zhou, Jie Sun, Greg Turk, and James M. Rehg
Texture Optimization for Example-based Synthesis Vivek Kwatra Irfan Essa Aaron Bobick Nipun Kwatra.
Image Processing Edge detection Filtering: Noise suppresion.
Image Quilting for Texture Synthesis and Transfer Alexei A. Efros (UC Berkeley) William T. Freeman (MERL) Siggraph01 ’
Lec 22: Stereo CS4670 / 5670: Computer Vision Kavita Bala.
Synthesis of Compact Textures for real-time Terrain Rendering Nader Salman 22 juin 2007 Encadrant : Sylvain Lefebvre.
Computer Vision Spring ,-685 Instructor: S. Narasimhan Wean 5403 T-R 3:00pm – 4:20pm.
Scene Completion Using Millions of Photographs James Hays, Alexei A. Efros Carnegie Mellon University ACM SIGGRAPH 2007.
TextureAmendment Reducing Texture Distortion in Constrained Parameterizations Yu-Wing TaiNational University of Singapore Michael S. BrownNational University.
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.
Mesh Quilting For Geometric Texture Synthesis Kun Zhou et al. In SIGGRAPH 2006 발표 이성호 2009 년 4 월 15 일.
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.
Texture Synthesis by Image Quilting CS766 Class Project Fall 2004 Eric Robinson.
Student: Chih-Wei Fang ( 方志偉 ) Adviser: Jenn-Jier James Lien ( 連震杰 ) Robotics Laboratory, Department of Computer Science and Information Engineering, National.
Machine Vision Edge Detection Techniques ENT 273 Lecture 6 Hema C.R.
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.
Two Patch-based Algorithms for By-example Texture Synthesis
Image Stitching II Linda Shapiro EE/CSE 576.
Graphcut Textures:Image and Video Synthesis Using Graph Cuts
- photometric aspects of image formation gray level images
Announcements Project 4 out today help session at the end of class.
CS4670 / 5670: Computer Vision Kavita Bala Lec 27: Stereo.
Detail Preserving Shape Deformation in Image Editing
Image Pyramids and Applications
Fast Preprocessing for Robust Face Sketch Synthesis
Image gradients and edges
Texture.
Image Quilting for Texture Synthesis & Transfer
Announcements Guest lecture next Tuesday
Comparing Images Using Hausdorff Distance
Image Stitching II Linda Shapiro EE/CSE 576.
Presentation transcript:

2D Texture Synthesis Instructor: Yizhou Yu

Texture synthesis Goal: increase texture resolution yet keep local texture variation

Synthesis by global statistics Idea: Obtain statistics of input image, match with output image Histograms: normalized graph of intensity frequencies

Synthesis by global statistics Consider extreme case: Histogram matching can generate two images:

Using higher-order global stats Histogram matching does not take into account spatial information. Need additional info: For every pixel, examine local neighborhood Gives local but not global features (e.g. – veins) Use higher order stats: Correlation average of the product of the intensities = tells how interdependent pixel values are

General procedure 1.) Define error metric: What do you want to match? 2.) Match statistics Histogram matching: Get the density value of a pixel in the output image. Map this density to a pixel intensity in the input image  Overwrite the pixel in the output image with the mapped pixel intensity in the input image

Pyramid-based Texture Analysis/Synthesis Paper by David J. Heeger and James R. Bergen from SIGGRAPH rints/heeger-siggraph95.pdf

Pyramid-based Synthesis Downsample image several times and keep track of only differences in a feature image To reconstruct, upsample small images and add differences Pixels in feature images are close to zero Provides multiple scales with each feature image representing different feature sizes

Laplacian Pyramid 1-D filter: (1/16) ( ) To generalize to 2D, use tensor product Normalize by dividing by 256

Upsampling To upsample, copy pixels to every other pixel in larger image Fill the rest with zeroes, run low pass filter to fill in values

Oriented Filters Gaussian filters are symmetric, thus edges and contours are not detected Use multiple oriented filters to catch non-symmetric features Left top series: Oriented filtersRight image: Texture Left bottom series: Filtered textures

Pyramids with Oriented Filters Each oriented filter creates its own feature image Thus, for each downsampled image, keep one image for each oriented filter Each oriented filter captures one orientation of lines

Matching Image Features Input parameters: noise: initial noisy texture texture: texture to be matched Output texture is stored in noise

Matching Image Features Helper functions: MatchHistogram(noise, texture) Matches histogram, using method described last time MakePyramid(texture) Create pyramid images (base and feature images) CollapsePyramid(pyramid) Constructs high resolution image from base and feature images

Matching Image Features MatchTexture(noise, texture) { MatchHistogram(noise, texture) // first-order matching analysis_pyr = MakePyramid(texture) // create pyramid from input texture for several iterations synthesis_pyr = MakePyramid(noise) // create pyramid from noise for each feature image, f i of analysis_pyr for each feature image, f j of synthesis_pyr of same orientation MatchHistogram(f i, f j ) end for noise = CollapsePyramid(synthesis_pyr) MatchHistogram(noise, texture) end for }

Matching Image Features MatchTexture matches histograms of feature images, not pixel values, thus providing a much better matching Feature images already consider local neighborhoods, resulting in better approximations Good for randomized textures Textures with large scale features or thin and long features not matched well e.g. stripes in wood, lines in coral

Texture Synthesis Using Local Neighborhoods Main goal is to keep local spatial coherence, but not global stats. Randomized method Pick pixel and copy it along with its neighborhood to random parts in synthesized image If two neighborhoods overlap, just blend This can result in features getting cut off if larger than local neighborhood

Neighborhood-Based Texture Synthesis Patch-Based Patch-based sampling achieves real-time speed. [Liang et. al. 2001] Image quilting: high-quality results and simple implementation [Efros & Freeman 2001] Graph cut provides a powerful and refinable scheme. [Kwantra et. al. 2003] Pixel-Based [Efros & Leung 99], [Wei & Levoy 2000], [Ashikhmin 2001], [Hertzmann et. al. 2001], [Zhang et. al. 2003]

Pixel-wise Synthesis Grow pixel by pixel Start from an existing patch of the texture (as opposed to noise texture like Pyramid-based Synthesis) Look for regions in input texture most similar to current region in new texture Copy pixels next to best-match region to expand new texture

Following Raster Order Blue region: already set by algorithm Green region: compare this region to input image Yellow region: closest match Red region: replace these pixels with magenta region to maintain local integrity

Hierarchical Synthesis Build a multi-resolution pyramid for the example texture Generate a synthesized pyramid for the output texture At each level, follow the raster order

Randomizing Synthesis Instead of picking pixels from closest matching region, use threshold to pick a few candidate matches Randomly pick one of the candidates Refer to “Texture Synthesis by Non- parametric Sampling” h/synthesis.html

Results

Patch-Based Synthesis Search in a sample texture for neighborhoods most similar to a context region Merge a patch with the partially synthesized output texture

The Seam Problem Feature discontinuities may appear in patch-based synthesis.

The Second Reason Didn’t find the smoothest transition between the incoming patch and context region. Solutions: use dynamic programming [Efros and Freeman 2001] or graph cut [Kwatra et al. 2003] to find an optimal cut. OriginalWarped

The First Reason Rigid template matching (SSD) often employed in the first step does NOT consider geometric similarity OriginalWarped

Feature Map Guided Texture Synthesis Basic Steps [Wu and Yu 2004] Maintain an input and output feature map Match and align curvilinear features Integrate feature maps into template-based texture synthesis

Comparisons SampleFeature MapGraphcutQuiltingTexton Mask

Acceleration Schemes Fourier Transform Acceleration techniques for nearest-neighbor search Tree-structured vector quantization Kd-trees Minimizing the candidate set Coherent synthesis, [Ashikhmin 2001] Precomputing candidate set K-coherent search, [Tong et al. 2002] Jump Map, [Zelinka and Garland 2002] GPU with parallel synthesis [Lefebvre and Hoppe 2005] OriginalWarped