1 Computation on Arbitrary Surfaces Brandon Lloyd COMP 258 October 2002.

Slides:



Advertisements
Similar presentations
November 12, 2013Computer Vision Lecture 12: Texture 1Signature Another popular method of representing shape is called the signature. In order to compute.
Advertisements

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.
03/16/2009Dinesh Manocha, COMP770 Texturing Surface’s texture: its look & feel Graphics: a process that takes a surface and modifies its appearance using.
Consistent Mesh Parameterizations Peter Schröder Caltech Wim Sweldens Bell Labs Emil Praun Princeton.
Extended Gaussian Images
Xianfeng Gu, Yaling Wang, Tony Chan, Paul Thompson, Shing-Tung Yau
1Ellen L. Walker Edges Humans easily understand “line drawings” as pictures.
Lapped Textures Emil Praun and Adam Finkelstien (Princeton University) Huges Hoppe (Microsoft Research) SIGGRAPH 2000 Presented by Anteneh.
Computing 3D Geometry Directly From Range Images Sarah F. Frisken and Ronald N. Perry Mitsubishi Electric Research Laboratories.
Mesh Simplification Global and Local Methods:
1 Displaced Subdivision Surfaces Aaron Lee Princeton University Henry Moreton Nvidia Hugues Hoppe Microsoft Research.
Sampling, Aliasing, & Mipmaps
Lapped Textures Emil Praun Adam Finkelstein Hugues Hoppe Emil Praun Adam Finkelstein Hugues Hoppe Princeton University Microsoft Research Princeton University.
Lapped Textures SIGGRAPH 2000 Emil Praun Adam Finkelstein Hugues Hoppe.
(conventional Cartesian reference system)
Visualization and graphics research group CIPIC January 30, 2003Multiresolution (ECS 289L) - Winter MAPS – Multiresolution Adaptive Parameterization.
Kumar, Roger Sepiashvili, David Xie, Dan Professor Chen April 19, 1999 Progressive 3D Mesh Coding.
Texture Synthesis on Surfaces Paper by Greg Turk Presentation by Jon Super.
Irregular to Completely Regular Meshing in Computer Graphics Hugues Hoppe Microsoft Research International Meshing Roundtable 2002/09/17 Hugues Hoppe Microsoft.
Non-Euclidean Embedding
Visualization and graphics research group CIPIC Feb 18, 2003Multiresolution (ECS 289L) - Winter Progressive Meshes (SIGGRAPH ’96) By Hugues Hoppe.
Texture Synthesis over Arbitrary Manifold Surfaces Li-Yi Wei Marc Levoy Computer Graphics Group Stanford University.
1 Numerical geometry of non-rigid shapes Non-Euclidean Embedding Non-Euclidean Embedding Lecture 6 © Alexander & Michael Bronstein tosca.cs.technion.ac.il/book.
Visualization 2000 Tutorial Mesh-Based Methods for Multiresolution Representations Instructor: Ken Joy Center for Image Processing and Integrated Computing.
Robust Motion Watermarking based on Multiresolution Analysis EUROGRAPHICS 2000 Speaker: 彭任右, GAME Lab Date: 4/18/2005.
ECS 289L A Survey of Mesh-Based Multiresolution Representations Ken Joy Center for Image Processing and Integrated Computing Computer Science Department.
Visualization and graphics research group CIPIC February 13, 2003ECS289L – Multiresolution Methods – Winter Illumination Dependent Refinement of.
CSE554SimplificationSlide 1 CSE 554 Lecture 7: Simplification Fall 2014.
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.
Modeling and representation 1 – comparative review and polygon mesh models 2.1 Introduction 2.2 Polygonal representation of three-dimensional objects 2.3.
11/30/04© University of Wisconsin, CS559 Fall 2004 Last Time More modeling: –Hierarchical modeling –Instancing and Parametric Instancing –Constructive.
Computer Graphics Inf4/MSc Computer Graphics Lecture 9 Antialiasing, Texture Mapping.
COMP 175: Computer Graphics March 24, 2015
Surface Simplification Using Quadric Error Metrics Michael Garland Paul S. Heckbert.
4/15/04© University of Wisconsin, CS559 Spring 2004 Last Time More modeling: –Hierarchical modeling –Instancing and Parametric Instancing –Constructive.
CS 551/651 Advanced Computer Graphics Warping and Morphing Spring 2002.
COLLEGE OF ENGINEERING UNIVERSITY OF PORTO COMPUTER GRAPHICS AND INTERFACES / GRAPHICS SYSTEMS JGB / AAS 1 Shading (Shading) & Smooth Shading Graphics.
Geometric Modeling using Polygonal Meshes Lecture 1: Introduction Hamid Laga Office: South.
1 Surface Applications Fitting Manifold Surfaces To 3D Point Clouds, Cindy Grimm, David Laidlaw and Joseph Crisco. Journal of Biomechanical Engineering,
1 Adding charts anywhere Assume a cow is a sphere Cindy Grimm and John Hughes, “Parameterizing n-holed tori”, Mathematics of Surfaces X, 2003 Cindy Grimm,
03/24/03© 2003 University of Wisconsin Last Time Image Based Rendering from Sparse Data.
Subdivision Schemes Basic idea: Start with something coarse, and refine it into smaller pieces for rendering –We have seen how subdivision may be used.
CSE554SimplificationSlide 1 CSE 554 Lecture 7: Simplification Fall 2013.
CSE554Fairing and simplificationSlide 1 CSE 554 Lecture 6: Fairing and Simplification Fall 2012.
Shape Modeling with Point-Sampled Geometry Mark Pauly, Richard Keiser, Leif P. Kobbelt, Markus Gross (ETH Zurich and RWTH Aachen)
Computer Vision Spring ,-685 Instructor: S. Narasimhan Wean 5403 T-R 3:00pm – 4:20pm.
Wiener Subdivision Presented by Koray KAVUKCUOGLU Geometric Modeling Spring 2004.
1 Wavelets on Surfaces By Samson Timoner May 8, 2002 (picture from “Wavelets on Irregular Point Sets”) In partial fulfillment of the “Area Exam” doctoral.
Mesh Coarsening zhenyu shu Mesh Coarsening Large meshes are commonly used in numerous application area Modern range scanning devices are used.
Geometric Modeling using Polygonal Meshes Lecture 3: Discrete Differential Geometry and its Application to Mesh Processing Office: South B-C Global.
Reconstruction of Solid Models from Oriented Point Sets Misha Kazhdan Johns Hopkins University.
Representation and modelling 3 – landscape specialisations 4.1 Introduction 4.2 Simple height field landscapes 4.3 Procedural modeling of landscapes- fractals.
2D Texture Synthesis Instructor: Yizhou Yu. Texture synthesis Goal: increase texture resolution yet keep local texture variation.
Lecture 6 Rasterisation, Antialiasing, Texture Mapping,
Automatic Construction of Quad-Based Subdivision Surfaces using Fitmaps Daniele Panozzo, Enrico Puppo DISI - University of Genova, Italy Marco Tarini DICOM.
Greg Humphreys CS445: Intro Graphics University of Virginia, Fall 2003 Subdivision Surfaces Greg Humphreys University of Virginia CS 445, Fall 2003.
Outline ● Introduction – What is the problem ● Generate stochastic textures ● Improve realism ● High level approach - Don't just jump into details – Why.
Computer vision. Applications and Algorithms in CV Tutorial 3: Multi scale signal representation Pyramids DFT - Discrete Fourier transform.
Outline ● Introduction – What is the problem ● Generate stochastic textures ● Improve realism ● High level approach - Don't just jump into details – Why.
CDS 301 Fall, 2008 Domain-Modeling Techniques Chap. 8 November 04, 2008 Jie Zhang Copyright ©
Eigen Texture Method : Appearance compression based method Surface Light Fields for 3D photography Presented by Youngihn Kho.
Bigyan Ankur Mukherjee University of Utah. Given a set of Points P sampled from a surface Σ,  Find a Surface Σ * that “approximates” Σ  Σ * is generally.
Processing Images and Video for An Impressionist Effect Automatic production of “painterly” animations from video clips. Extending existing algorithms.
Image Representation and Description – Representation Schemes
Morphing and Shape Processing
Domain-Modeling Techniques
Mesh Parameterization: Theory and Practice
Chap 10. Geometric Level of Detail
Last Time B-splines Project 3 was made available
Presentation transcript:

1 Computation on Arbitrary Surfaces Brandon Lloyd COMP 258 October 2002

2 Computation on Arbitrary Surfaces Mathematical framework for Euclidean geometry enables us to perform important operations Usually peformed on regular grid Triangle meshes have irregular connectivity, hence irregular sampling Triangle meshes are general 2-manifolds

3 Computation on Arbitrary Surfaces Displaced Subdivision Surfaces Multi-resolution signal processing on meshes Texture synthesis on meshes

4 Displaced Subdivision Surfaces Aaron Lee, Henry Moreton and Hughes Hoppe in SIGGRAPH The idea is to use a scalar-valued displacement over a smooth domain mesh Control meshSmooth domain surface Displaced subdivision surface

5 Representation Control mesh for domain surface Regular scalar displacement mesh –Subdivided along with the control mesh to produce a continuous displacement function –Uses parameterization of the domain surface –Displacement map may be used as a bump map

6 Conversion Process Obtain the control mesh Optimize the control mesh to more closely resemble original Sample displacement map Original meshDisplaced subdivision surface

7 Simplifying the Control Mesh Done with edge collapses Map vertex normals from neighborhood of candidate edge collapse to Gauss sphere Disallow collapse if original normals are not enclosed in spherical triangle

8 Optimizing the Domain Surface Move vertices of control mesh to more accurately fit the original mesh Densely sample original mesh and minimize least squared distances Affects normals, but does not produce noticeable problems Initial control mesh Optimized control mesh

9 Sampling the Displacement Map Perform subdivision on optimized control mesh Intersect ray formed by point and normal with original mesh Store distance in displacement map Subdivided Domain surface Displacement field

10 Applications Compression – The displacement map contains small, similar values Editing – simply modify the scalar field Animation – easier to kinematics with control mesh

11 Compression Results

12 Burt-Adelson Pyramids Prefilter and downsample image L n to produce L n-1 22

13 Burt-Adelson Pyramids Prefilter and downsample image L n to produce L n-1 Upsample L n-1 and subtract from L n 22 22

14 Burt-Adelson Pyramids Prefilter and downsample image L n to produce L n-1 Upsample L n-1 and subtract from L n Repeat till you reach L 0 22 22

15 Burt-Adelson Pyramids Prefilter and downsample image L n to produce L n-1 Upsample L n-1 and subtract from L n Repeat till you reach L 0 The result is an image pyramid with a frequency subband at each level 22 22

16 Multiresolution Signal Processing for Meshes Igor Guskov, Wim Sweldens and Peter Schröder in SIGGRAPH Generalizes basic signal processing tools such as downsampling, upsampling, and filters to irregular triangle meshes Uses a non-uniform relaxation procedure for geometric smoothing Smoothing combined with hierarchical algorithms are used to build subdivision and pyramid methods

17 Importance of Smoothness Geometric smoothness measures variance in triangle normals. Geometric smoothness implies that there exists a smooth (differentiable) parameterization for the mesh Smooth parameterization is important for many algorithms

18 Importance of Smoothness Refinement can use semi-uniform (weights depend only on local connectivity) subdivision to obtain geometric smoothness It is much harder if we want to coarsify a mesh and later refine it again. Forced to use non-uniform (weights depend on connectivity and geometry) subdivision. The challenge is to ensure smooth local parameterization.

19 Divided Differences First order divided difference of g(u,v) with discrete g i at the vertices is the gradient: The normal to the triangles formed by vertices is given by: Second order differences are the the difference between two normals on neighboring triangles. Only the magnitude matters.

20 Divided Differences

21 Divided Differences The magnitude of the second divided difference over edge e is: With coefficients 

22 Relaxation Procedure The relaxation operator R minimizes second order differences over a small neighborhood Define R as the minimizer of a quadratic energy function E: Expand in terms of g i : 22

23 Relaxation Procedure Set the partial derivative of E with respect to g i to zero and solve: Relaxation for geometry use vertices p i in place of g i For each divided difference use the hinge map is use for local parameterization. Rotate triangles about their common edge till they lie in the same plane

24 Relaxation Procedure This non-uniform smoothing operator does not affect triangle shapes much because it takes geometry into account. A semi-uniform scheme makes edge lengths as uniform as possible and distorts the mesh Original meshSemi-uniform smoothing Non-uniform smoothing

25 Upsampling and Downsampling Uses Hoppe’s Progressive Mesh (PM) approach Vertex split provides upsampling Edge collapse provides downsampling Different than most multi-resolution schemes where downsampling removes a fraction of the samples

26 Subdivision Starts from a coarse mesh and builds finer, smoother mesh Can be viewed as upsampling followed by relaxation Coarse mesh comes from PM. The goal is to start from coarse mesh and produce a smooth mesh with same connectivity as original with as little distortion as possible Performed one vertex at a time

27 Subdivision The non-uniform scheme has access to parameterization info of the original mesh which guides the subdivision to give the desired result

28 Building a Pyramid Downsampling: vertex n is removed by an edge collapse Subdivision: Points affected by the edge collapse are subdivided Detail Computation: Differences between points before edge collapse and after subdivision are stored

29 Smoothing and Filtering The details from the pyramid are an approximate frequency spectrum Scale details for various filtering effects

30 Smoothing and Filtering The details from the pyramid are an approximate frequency spectrum Scale details for various filtering effects Smoothing does not mess up texture mapping!

31 Enhancement Single resolution scheme –Smooth mesh a number of times –Extrapolate differences between smoothed and original mesh

32 Enhancement Single resolution scheme –Smooth mesh a number of times –Extrapolate differences between smoothed and original mesh Multi-resolution scheme –Scale details with values greater than 1

33 Multiresolution Editing User manipulates vertices at a level in the pyramid and system adds finer details back in Details are defined with respect to local frames OriginalCoarsest edit Multi-res reconst. Single-res reconst.

34 Texture Synthesis on Surfaces Paper by Greg Turk, SIGGRAPH 2001 Motivation –Texture greatly improves appearance –The ideal system is texture-from-sample –Existing texture synthesis operates on 2D grids –It is difficult to map 2D texture –It is not always possible to use 3D texture

35 Texture Synthesis on Surfaces Solution = Synthesize texture directly on a mesh.

36 Texture Synthesis Algorithm Based on work by Wei and Levoy [Wei00] Initialize destination image to white noise Process pixels in raster scan order Find best match for neighborhood in original image Replace pixel in destination with pixel from original image

37 Texture Synthesis Algorithm Use multi-resolution to get a full neighborhood. Create an image pyramid Start at the top of the pyramid Use data from higher levels to fill in unprocessed pixels in full neighborhood Multi-resolution improves quality 1 Level2 Levels3 Levels Full 5x5 neighborhood

38 Creating the Mesh Hierarchy Place uniform random points on the surface of the mesh –Choose a random polygon based on area –Choose a random point within the polygon

39 Creating the Mesh Hierarchy Use repulsion forces to get an even distribution –Map nearby points to a plane –Compute forces within the plane Compute Voronoi diagram to establish sample connectivity –Once again map nearby points to a plane –Compute diagram within the plane Details in [Turk91]

40 Creating the Mesh Hierarchy Start by placing n points on the mesh Add an additional 3n points and repel them from themselves and original n Create a new mesh including all 4n points Repeat to create several levels

41 Operations on Mesh Hierarchy Interpolation Low-pass filtering Downsampling Upsampling

42 Operations on Mesh Hierarchy: Interpolation Take a weighted average of all mesh vertices v i within a particular radius r of point p The weighting function causes vertex contributions to falloff smoothly to 0 as distance from p approaches r.

43 Operations on Mesh Hierarchy: Low-pass Filtering Borrow techniques from mesh smoothing to modify vertex positions. Weights w i are inverse edge length: Similarly for colors of adjacent mesh vertices

44 Operations on Mesh Hierarchy: Low-pass Filtering Regrouping terms, the expression can be simplified to:

45 Operations on Mesh Hierarchy: Upsampling and Downsampling Vertices store a color for each level they are in. To downsample from mesh M k the vertices in the lower resolution mesh M k+1 inherit the blurred mesh colors in M k. To upsample from mesh M k+1, the colors of the vertices in M k are interpolated from M k+1.

46 Vector Field Creation Vector field is needed to establish orientation A few vectors are assigned at lowest level. All others set to zero Vectors are “pulled” to coarsest mesh by a number of downsamplings Remaining zero vectors are “filled” by diffusing vectors over the mesh Vectors are “pushed” to lower levels by repeated upsampling

47 Surface Sweeping Similar to raster scanning in original algorithm All vertices are assigned a sweep distance s(v). Anchor vertex has a sweep distance of 0 User-assigned vectors Resulting vector field Sweep values

48 Surface Sweeping Calculate an estimate Δ w of how much further downstream a vertex is than its assigned neighbors:

49 Surface Sweeping Assign a sweep distance using estimates: Propogate sweep distances over coarsest mesh Assign sweep distances to finer meshes with upsampling

50 Neighborhood Colors Neighbor positions are defined as offsets (i,j) from the current sample. Local orientation is provided by the vector field Step to neighborhood location by marching along mesh in the direction of the vector field for i and perpendicular to it for j. Each step is the length of the average distance between vertices Retrieve color by interpolation

51 Complete Algorithm

52

53 Texture Synthesis over Arbitrary Manifold Surfaces Paper by Li-Yi Wei and Marc Levoy also in SIGGRAPH 2001 [WL01] Major differences from [Turk01] –Synthesis ordering – Vertices are visted in random ordering –Local coordinate frames –Neighborhood construction

54 Local Coordinate Frames Assigned at coarsest level. Finer levels interpolate from higher levels. Random works well for isotropic textures. Relaxation produces n-way symmetry:

55 Local Coordinate Frames Isotropic textures Anisotropic textures Random Spherical MappingRelaxed

56 Neighborhood Construction Local flattening of the mesh and resampling. Orthographically project neighboring triangles of a point p into its local plane. Grow region until neighborhood template is fully covered.

57 Neighborhood Construction For lower-resolution neighborhood, project parent face intersected by ray from p in the direction of the normal.

58 Results

59 References [GSS99] [LMH00] [Turk91] [Turk01] [WL01] I. Guskov, W. Sweldens and P. Schröder, Multiresolution Signal Processing for Meshes, Proceedings of SIGGRAPH ’99, pp , A. Lee, H. Morenton and H. Hoppe. Displaced Subdivision Surfaces, Proceedings of SIGGRAPH 2000, pp.84-97, G. Turk, Generating Textures for Arbitrary Surfaces Using Reaction-Diffusion, Proceedings of SIGGRAPH ’91, pp , G. Turk, Texture Synthesis on Surfaces, Proceedings of SIGGRAPH ’01, pp , L. Wei and M. Levoy. Texture Synthesis over Arbitrary Manifold Surfaces, Proceedings of SIGGRAPH ’01, pp , 2001.