Texture Synthesis Tiantian Liu. Definition Texture – Texture refers to the properties held and sensations caused by the external surface of objects received.

Slides:



Advertisements
Similar presentations
Andrew Nealen and Marc Alexa, Discrete Geometric Modeling Group, TU Darmstadt, 2004 Fast and High Quality Overlap Repair for Patch-Based Texture Synthesis.
Advertisements

Principal Component Analysis Based on L1-Norm Maximization Nojun Kwak IEEE Transactions on Pattern Analysis and Machine Intelligence, 2008.
Multi resolution Texture Synthesis on Surfaces Arul Prakash Lavanya Tekumalla.
Texture Synthesis on [Arbitrary Manifold] Surfaces Presented by: Sam Z. Glassenberg* * Several slides borrowed from Wei/Levoy presentation.
PCA + SVD.
Patch-based Image Deconvolution via Joint Modeling of Sparse Priors Chao Jia and Brian L. Evans The University of Texas at Austin 12 Sep
1.  Texturing is a core process for modeling surface details in computer graphics applications › Texture mapping › Surface texture synthesis › Procedural.
Graph Laplacian Regularization for Large-Scale Semidefinite Programming Kilian Weinberger et al. NIPS 2006 presented by Aggeliki Tsoli.
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.
Computer Vision Optical Flow
CSE 589 Applied Algorithms Spring 1999 Image Compression Vector Quantization Nearest Neighbor Search.
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.
Lapped Textures SIGGRAPH 2000 Emil Praun Adam Finkelstein Hugues Hoppe.
Segmentation Divide the image into segments. Each segment:
Fractal Image Compression
1998/5/21by Chang I-Ning1 ImageRover: A Content-Based Image Browser for the World Wide Web Introduction Approach Image Collection Subsystem Image Query.
Lecture 4 Unsupervised Learning Clustering & Dimensionality Reduction
KNN, LVQ, SOM. Instance Based Learning K-Nearest Neighbor Algorithm (LVQ) Learning Vector Quantization (SOM) Self Organizing Maps.
Texture Synthesis over Arbitrary Manifold Surfaces Li-Yi Wei Marc Levoy Computer Graphics Group Stanford University.
September 25, 2014Computer Vision Lecture 6: Spatial Filtering 1 Computing Object Orientation We compute the orientation of an object as the orientation.
Dimensionality Reduction
Fast Texture Synthesis Tree-structure Vector Quantization Li-Yi WeiMarc Levoy Stanford University.
Lightseminar: Learned Representation in AI An Introduction to Locally Linear Embedding Lawrence K. Saul Sam T. Roweis presented by Chan-Su Lee.
Dimensionality Reduction. Multimedia DBs Many multimedia applications require efficient indexing in high-dimensions (time-series, images and videos, etc)
The Story So Far The algorithms presented so far exploit: –Sparse sets of images (some data may not be available) –User help with correspondences (time.
On Error Preserving Encryption Algorithms for Wireless Video Transmission Ali Saman Tosun and Wu-Chi Feng The Ohio State University Department of Computer.
Texture Optimization for Example-based Synthesis
Face Recognition Using Neural Networks Presented By: Hadis Mohseni Leila Taghavi Atefeh Mirsafian.
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.
Department of Electrical Engineering National Cheng Kung University
SVD(Singular Value Decomposition) and Its Applications
Image Renaissance Using Discrete Optimization Cédric AllèneNikos Paragios ENPC – CERTIS ESIEE – A²SI ECP - MAS France.
SIGGRAPH 2003 Jingdan Zhang, Kun Zhou, Luiz Velho, Baining Guo, Heung-Yeung Shum.
JPEG C OMPRESSION A LGORITHM I N CUDA Group Members: Pranit Patel Manisha Tatikonda Jeff Wong Jarek Marczewski Date: April 14, 2009.
Generating panorama using translational movement model.
Computer Graphics Group Tobias Weyand Mesh-Based Inverse Kinematics Sumner et al 2005 presented by Tobias Weyand.
INDEPENDENT COMPONENT ANALYSIS OF TEXTURES based on the article R.Manduchi, J. Portilla, ICA of Textures, The Proc. of the 7 th IEEE Int. Conf. On Comp.
Data Reduction. 1.Overview 2.The Curse of Dimensionality 3.Data Sampling 4.Binning and Reduction of Cardinality.
1 Rendering Geometry with Relief Textures L.Baboud X.Décoret ARTIS-GRAVIR/IMAG-INRIA.
Texture Optimization for Example-based Synthesis Vivek Kwatra Irfan Essa Aaron Bobick Nipun Kwatra.
Simplifying Surfaces with Color and Texture using Quadric Error Metrics Michael Garland Paul S. Heckbert Carnegie Mellon University October 1998 Michael.
Synthesis of Compact Textures for real-time Terrain Rendering Nader Salman 22 juin 2007 Encadrant : Sylvain Lefebvre.
Advances in digital image compression techniques Guojun Lu, Computer Communications, Vol. 16, No. 4, Apr, 1993, pp
TextureAmendment Reducing Texture Distortion in Constrained Parameterizations Yu-Wing TaiNational University of Singapore Michael S. BrownNational University.
Project 11: Determining the Intrinsic Dimensionality of a Distribution Okke Formsma, Nicolas Roussis and Per Løwenborg.
Synthesizing Natural Textures Michael Ashikhmin University of Utah.
Marwan Al-Namari 1 Digital Representations. Bits and Bytes Devices can only be in one of two states 0 or 1, yes or no, on or off, … Bit: a unit of data.
Towards Real-Time Texture Synthesis With the Jump Map Steve Zelinka Michael Garland University of Illinois at Urbana-Champaign Thirteenth Eurographics.
Optical Flow. Distribution of apparent velocities of movement of brightness pattern in an image.
A NOVEL METHOD FOR COLOR FACE RECOGNITION USING KNN CLASSIFIER
2D Texture Synthesis Instructor: Yizhou Yu. Texture synthesis Goal: increase texture resolution yet keep local texture variation.
GPU Accelerated MRI Reconstruction Professor Kevin Skadron Computer Science, School of Engineering and Applied Science University of Virginia, Charlottesville,
Graphcut Textures Image and Video Synthesis Using Graph Cuts
COMP135/COMP535 Digital Multimedia, 2nd edition Nigel Chapman & Jenny Chapman Chapter 2 Lecture 2 – Digital Representations.
Geometry Synthesis Ares Lagae Olivier Dumont Philip Dutré Department of Computer Science Katholieke Universiteit Leuven 10 August, 2004.
Image Processing A Study in Pixel Averaging Building a Resolution Pyramid With Parallel Computing Denise Runnels and Farnaz Zand.
Machine Vision Edge Detection Techniques ENT 273 Lecture 6 Hema C.R.
Robotics Chapter 6 – Machine Vision Dr. Amit Goradia.
Photoconsistency constraint C2 q C1 p l = 2 l = 3 Depth labels If this 3D point is visible in both cameras, pixels p and q should have similar intensities.
Applications and Rendering pipeline
Graphcut Textures:Image and Video Synthesis Using Graph Cuts
Compressive Coded Aperture Video Reconstruction
Detail Preserving Shape Deformation in Image Editing
Real-Time Ray Tracing Stefan Popov.
Foundation of Video Coding Part II: Scalar and Vector Quantization
Kenneth Moreland Edward Angel Sandia National Labs U. of New Mexico
Intensity Transformation
Presentation transcript:

Texture Synthesis Tiantian Liu

Definition Texture – Texture refers to the properties held and sensations caused by the external surface of objects received through the sense of touch. Texture is sometimes used to describe the feel of non-tactile sensations. Texture can also be termed as a pattern that has been scaled down (especially in case of two dimensional non-tactile textures) where the individual elements that go on to make the pattern not distinguishable. Texture Synthesis

Definition Texture – Local Each pixel of a texture image is characterized by a small set of spatially neighboring pixels – Stationary characterization is the same for all pixels Texture Synthesis

Definition Texture Synthesis Texture

Definition Texture Synthesis Texture Animal Skin StoneWater Hair FabricBricks

Definition Texture Synthesis – Texture synthesis is the process of algorithmically constructing a large digital image from a small digital sample image by taking advantage of its structural content. It is object of research to computer graphics and is used in many fields, amongst others digital image editing, 3D computer graphics and post-production of films. Texture Synthesis

Definition Texture Synthesis Input Result Synthesis Algorithm

Application Surface Texture producing Texture Synthesis

Application Image Editing Texture Synthesis

Application Image Editing Texture Synthesis

Application Flow-controlled 2D texture Texture Synthesis

Papers Fast Texture Synthesis using Tree-structured Vector Quantization – Wei, L.-Y., and Levoy, M Texture Optimization for Example-based Synthesis – Kwatra V, Essa I, Bobick A, Kwatra N Accelerated Parallel Texture Optimization – Huang HD, Tong X, Wang WC Texture Synthesis

Papers Fast Texture Synthesis using Tree-structured Vector Quantization – Wei, L.-Y., and Levoy, M Texture Optimization for Example-based Synthesis – Kwatra V, Essa I, Bobick A, Kwatra N Accelerated Parallel Texture Optimization – Huang HD, Tong X, Wang WC Texture Synthesis

Fast Texture Synthesis Texture Synthesis

Fast Texture Synthesis Texture Synthesis

Fast Texture Synthesis Texture Synthesis search copy input output Basic idea

Fast Texture Synthesis Texture Synthesis Basic idea How large should the neighbor be?

Fast Texture Synthesis Texture Synthesis Basic idea What if the neighbor is too large or too small?

Fast Texture Synthesis Texture Synthesis Multiple resolutions noise Search Copy input output

Fast Texture Synthesis Texture Synthesis Multi-resolution allows the use of smaller neighborhoods 1 level 5  5 3 levels 5  5 1 level 11  11

Fast Texture Synthesis Texture Synthesis A major issue with pixel-based algorithms introduced so far – they are very slow For input with N pixels and output with M pixels – O(MN) time complexity – Make it O(cMN) for neighborhood size c A fixed neighborhood allows us to do it faster – O( c log(N) M ) – TSVQ

Fast Texture Synthesis Texture Synthesis Acceleration - TSVQ Search per input pixelSearch tree

Fast Texture Synthesis Texture Synthesis Pseudo Code

Fast Texture Synthesis Texture Synthesis Results Random Oriented RegularSemi-regular

Fast Texture Synthesis Texture Synthesis Results

Fast Texture Synthesis Texture Synthesis Problems – Possibly get stuck on details. – Still slow.

Fast Texture Synthesis Texture Synthesis Problems – Possibly get stuck on details. – Still slow.

Papers Fast Texture Synthesis using Tree-structured Vector Quantization – Wei, L.-Y., and Levoy, M Texture Optimization for Example-based Synthesis – Kwatra V, Essa I, Bobick A, Kwatra N Accelerated Parallel Texture Optimization – Huang HD, Tong X, Wang WC Texture Synthesis

Texture Optimization Texture Synthesis

Texture Optimization Texture Synthesis

Texture Optimization Texture Similarity and Synthesis Shape, size, orientation of texture elements similar to source Texture Synthesis

Texture Optimization Texture Synthesis Texture Energy – Tricky! Pixel-by-pixel comparison of source and target not possible – Compare texture “elements” Local pixel neighborhoods – Want each target neighborhood to be similar to some source neighborhood

Texture Optimization Texture Energy Texture Synthesis X (target frame) Z (source)

Texture Optimization Texture Energy Texture Synthesis p (pixel) Z (source) X (target frame)

Texture Optimization Texture Energy Texture Synthesis X p (neighborhood) Z (source) X (target frame)

Texture Optimization Texture Energy Texture Synthesis X p (neighborhood) X (target frame) Z (source)

Texture Optimization Texture Energy Texture Synthesis (nearest neighbor) Z p X p (neighborhood) Z (source) X (target frame)

Texture Optimization Texture Energy Texture Synthesis X Z (nearest neighbor) Z p X p (neighborhood) Texture Energy (single neighborhood)

Texture Optimization Texture Energy Texture Synthesis X Z

Texture Optimization Texture Energy Texture Synthesis X Z  individual neighborhood energy

Texture Optimization Texture Synthesis Flow-guided Texture Animation – Flow consistency Perceived motion similar to flow – Texture similarity Shape, size, orientation of texture elements similar to source += TextureFlow FieldOutput

Texture Optimization Texture Synthesis Target Flow Flowing Target Source Texture Texture Similarity Flow Consistency Naïve way: Ignore Texture Similarity Warp each frame via flow field X1X1 XnXn Target Frames X0X0 Warp

Texture Optimization Texture Synthesis Warp XnXn X0X0 X1X1 Target Frames

Texture Optimization Texture Synthesis Simply Warp – Problem: Texture structure not maintained

Texture Optimization Texture Synthesis Warp + Correct – Problem: Texture structure not maintained Target Frames XX– Warp W Correct Warped Frame Synthesized Frame

Texture Optimization Texture Synthesis Link to original goals X Target Frames X– W Correct Source Flow Consistency Texture Similarity Warp

Texture Optimization Texture Synthesis Energy = Flow Energy + Texture Energy X Target Frames X– W Correct Source Flow Consistency Texture Similarity Warp

Texture Optimization Texture Synthesis Energy = Flow Energy + Texture Energy Flow Energy X Target Frames X– Warp W

Texture Optimization Texture Synthesis Optimize Total Energy of target frame: Initialize: X  W (target frame  warped frame) Iteratively improve target frame (E-M algorithm!)

Texture Optimization Texture Synthesis Two variables we need to optimize over

Texture Optimization Texture Synthesis Two variables we need to optimize over Target Frame

Texture Optimization Texture Synthesis Two variables we need to optimize over Source Neighborhoods

Texture Optimization Texture Synthesis Iterative Algorithm – Step 1 – Minimize E( X ) w.r.t {Z p } – Find Nearest Source Neighborhoods

Texture Optimization Texture Synthesis Iterative Algorithm – Step 2 – Minimize E( X ) w.r.t X – Set  Solve Linear System

Texture Optimization Texture Synthesis Pseudo code

Texture Optimization Texture Synthesis Multi-level synthesis – Random Initialization – Multiple Resolution Levels Neighborhood Sizes – Progressively refined output [KEBK05]

Texture Optimization Texture Synthesis Multi-level synthesis – Random Initialization – Multiple Resolution Levels Neighborhood Sizes – Progressively refined output [KEBK05]

Texture Optimization Texture Synthesis Results [KEBK05]

Texture Optimization Texture Synthesis Results [KEBK05]

Texture Optimization Texture Synthesis Results [KEBK05]

Texture Optimization Texture Synthesis Results [KEBK05]

Texture Optimization Texture Synthesis Problems – Linear Solve may cause blurriness Solution: Discrete Optimization – Can get stuck in local minima Several solutions, but not work well – Very very very slow (especially on surfaces) Solution: Exploit parallel hardware Solution: Nearest neighbor queries can be made in parallel

Papers Fast Texture Synthesis using Tree-structured Vector Quantization – Wei, L.-Y., and Levoy, M Texture Optimization for Example-based Synthesis – Kwatra V, Essa I, Bobick A, Kwatra N Accelerated Parallel Texture Optimization – Huang HD, Tong X, Wang WC Texture Synthesis

Accelerated Parallel Texture Optimization Texture Synthesis

Accelerated Parallel Texture Optimization Texture Synthesis GPU-Based Texture Optimization – K-coherence search – Principal Components Analysis(PCA)

Accelerated Parallel Texture Optimization Texture Synthesis K-coherence search on GPU

Accelerated Parallel Texture Optimization Texture Synthesis K-coherence search on GPU

Accelerated Parallel Texture Optimization Texture Synthesis K-coherence search on GPU (pre-computing) For each input pixel, find k others with similar neighborhoods input 1 1A 1B 2 2A 2B k =

Accelerated Parallel Texture Optimization Texture Synthesis K-coherence search on GPU (searching) inputoutput A 1B 2 2A 2B 11A1B 22A2B

Accelerated Parallel Texture Optimization Texture Synthesis PCA – reducing the dimension mathematically defined as an orthogonal linear transformation that transforms the data to a new coordinate system such that the greatest variance by any projection of the data comes to lie on the first coordinate (called the first principal component), the second greatest variance on the second coordinate, and so on. theoretically the optimum transform for given data in least square terms

Accelerated Parallel Texture Optimization Texture Synthesis Pseudo Code

Accelerated Parallel Texture Optimization Texture Synthesis GPU implementation details: Divide parallel scheme into 3 fragment programs. – E-step program – M-step program – Up sampling program

Accelerated Parallel Texture Optimization Texture Synthesis GPU implementation details: Divide parallel scheme into 3 fragment programs. – E-step program » Input: neighborhood texture Y(storing {z p }}) » Output: pixel texture X(storing x) – M-step program – Up sampling program

Accelerated Parallel Texture Optimization Texture Synthesis GPU implementation details: Divide parallel scheme into 3 fragment programs. – E-step program – M-step program » Input: X and related pre-computed data » Output: new neighborhood Y – Up sampling program

Accelerated Parallel Texture Optimization Texture Synthesis GPU implementation details: Divide parallel scheme into 3 fragment programs. – E-step program – M-step program – Up sampling program » Needed in multi-level synthesis.

Accelerated Parallel Texture Optimization Texture Synthesis Results [HTW 2007]

Accelerated Parallel Texture Optimization Texture Synthesis Comparison [HTW 2007] CPU GPU

Sum up Texture Synthesis Texture synthesis has many applications: – Surface texture procedure, texture editing, 2D flow controlled texture, spatio-temporal textures, lossy compression etc. Current CPU implementation methods are mature: – Pixel based, patch based, texturing optimization, user controlled, flow controlled etc.

Sum up (cont.) Texture Synthesis Time consuming is still a problem of texture synthesis. Parallel algorithms that can be run on GPUs are few.

Thank You … Texture Synthesis