Geometric Algorithms in 3D Real-Time Rendering and facial Expression Modeling Prof. Marina L. Gavrilova University of Calgary.

Slides:



Advertisements
Similar presentations
Efficient access to TIN Regular square grid TIN Efficient access to TIN Let q := (x, y) be a point. We want to estimate an elevation at a point q: 1. should.
Advertisements

Texture Synthesis on [Arbitrary Manifold] Surfaces Presented by: Sam Z. Glassenberg* * Several slides borrowed from Wei/Levoy presentation.
Real-Time Rendering TEXTURING Lecture 02 Marina Gavrilova.
Developer’s Survey of Polygonal Simplification Algorithms Based on David Luebke’s IEEE CG&A survey paper.
Results / Compared to Relief Mapping It does not scale linearly with screen coverage as does the other techniques. However, for larger displacements, it.
Real-Time Rendering POLYGONAL TECHNIQUES Lecture 05 Marina Gavrilova.
Spatial Information Systems (SIS)
Nice, 17/18 December 2001 Adaptive Grids For Bathymetry Mapping And Navigation Michel Chedid and Maria-João Rendas I3S - MAUVE.
Terrain rendering in games
Honours Graphics 2008 Session 6. Today’s focus Terrain rendering Heightfield generation Level-of-detail for terrain.
1 Further Terrain Rendering and Level of Detail Lecture 8 - Week 4 Advanced Programming for 3D Applications CE
4.4. L EVEL OF D ETAIL Exploration of 3D mesh level-of-detail approaches.
Smooth view-dependent LOD control and its application to terrain rendering Hugues Hoppe Microsoft Research IEEE Visualization 1998.
High-Quality Simplification with Generalized Pair Contractions Pavel Borodin,* Stefan Gumhold, # Michael Guthe,* Reinhard Klein* *University of Bonn, Germany.
CPSC 335 Geometric Data Structures in Computer Modeling and GIS Dr. Marina L. Gavrilova Assistant Professor Dept of Comp. Science, University of Calgary,
Haptic Rendering using Simplification Comp259 Sung-Eui Yoon.
View-Dependent Refinement of Progressive Meshes Hugues Hoppe Microsoft Research SIGGRAPH 97.
Shape from Contours and Multiple Stereo A Hierarchical, Mesh-Based Approach Hendrik Kück, Wolfgang Heidrich, Christian Vogelgsang.
Mesh Simplification Global and Local Methods:
EFFICIENT RENDERING LARGE TERRAINS USING MULTIRESOLUTION MODELLING AND IMAGE PROCESSING TECHNIQUES Ömer Nebil YAVEROĞLU Department of Computer Engineering.
HCI 530 : Seminar (HCI) Damian Schofield.
Smooth View-Dependent Level-of- Detail Control and its Application to Terrain Rendering Hugues Hoppe Microsoft Research.
Visualization and graphics research group CIPIC January 30, 2003Multiresolution (ECS 289L) - Winter MAPS – Multiresolution Adaptive Parameterization.
Content Subdivision First some basics (control point polygon, mesh)
Kumar, Roger Sepiashvili, David Xie, Dan Professor Chen April 19, 1999 Progressive 3D Mesh Coding.
Chapter 3 2D AND 3D SPATIAL DATA REPRESENTATIONS 김 정 준.
Irregular to Completely Regular Meshing in Computer Graphics Hugues Hoppe Microsoft Research International Meshing Roundtable 2002/09/17 Hugues Hoppe Microsoft.
Visualization and graphics research group CIPIC January 21, 2003Multiresolution (ECS 289L) - Winter Dynamic View-Dependent Simplification for Polygonal.
Visualization and graphics research group CIPIC January 21, 2003Multiresolution (ECS 289L) - Winter Surface Simplification Using Quadric Error Metrics.
ECS 289L A Survey of Mesh-Based Multiresolution Representations Ken Joy Center for Image Processing and Integrated Computing Computer Science Department.
Advanced Computer Graphics (Spring 2005) COMS 4162, Lecture 10: Mesh simplification Ravi Ramamoorthi Many slides courtesy.
Visualization and graphics research group CIPIC February 13, 2003ECS289L – Multiresolution Methods – Winter Illumination Dependent Refinement of.
Spatial data models (types)
CS-378: Game Technology Lecture #11: Visibility Prof. Okan Arikan University of Texas, Austin Thanks to James O’Brien, Steve Chenney, Zoran Popovic, Jessica.
Surface Simplification Using Quadric Error Metrics Michael Garland Paul S. Heckbert.
Dynamic Meshing Using Adaptively Sampled Distance Fields
Light Using Texture Synthesis for Non-Photorealistic Shading from Paint Samples. Christopher D. Kulla, James D. Tucek, Reynold J. Bailey, Cindy M. Grimm.
Adaptive Real-Time Rendering of Planetary Terrains WSCG 2010 Raphaël Lerbour Jean-Eudes Marvie Pascal Gautron THOMSON R&D, Rennes, France.
COLLEGE OF ENGINEERING UNIVERSITY OF PORTO COMPUTER GRAPHICS AND INTERFACES / GRAPHICS SYSTEMS JGB / AAS 1 Shading (Shading) & Smooth Shading Graphics.
NDVI-based Vegetation Rendering CGIM ‘07 Stefan Roettger, University of Erlangen
Presented By Greg Gire Advised By Zoë Wood California Polytechnic State University.
Week 11 - Thursday.  What did we talk about last time?  Image processing  Blurring  Edge detection  Color correction  Tone mapping  Lens flare.
Marching Cubes: A High Resolution 3D Surface Construction Algorithm William E. Lorenson Harvey E. Cline General Electric Company Corporate Research and.
Real-Time Rendering SPEEDING UP RENDERING Lecture 04 Marina Gavrilova.
Applied Mathematics 1 Do we have to see everything - all the time? …or is it at all possible? Dr. ing. Rune Aasgaard.
Advanced Computer Graphics Advanced Shaders CO2409 Computer Graphics Week 16.
Real-time Graphics for VR Chapter 23. What is it about? In this part of the course we will look at how to render images given the constrains of VR: –we.
10/23/2001CS 638, Fall 2001 Today Terrain –Terrain LOD.
Mesh Coarsening zhenyu shu Mesh Coarsening Large meshes are commonly used in numerous application area Modern range scanning devices are used.
1 Polygonal Techniques 이영건. 2 Introduction This chapter –Discuss a variety of problems that are encountered within polygonal data sets The.
View-dependent Adaptive Tessellation of Spline Surfaces
- Laboratoire d'InfoRmatique en Image et Systèmes d'information
Representation and modelling 3 – landscape specialisations 4.1 Introduction 4.2 Simple height field landscapes 4.3 Procedural modeling of landscapes- fractals.
Graphics Graphics Korea University cgvr.korea.ac.kr 1 7. Speed-up Techniques Presented by SooKyun Kim.
CHAPTER 5 CONTOURING. 5.3 CONTOURING Fig 5.7. Relationship between color banding and contouring Contour line (isoline): the same scalar value, or isovalue.
Real-Time Relief Mapping on Arbitrary Polygonal Surfaces Fabio Policarpo Manuel M. Oliveira Joao L. D. Comba.
Riccardo Fellegara University of Genova Genova, Italy
COMPUTER GRAPHICS CS 482 – FALL 2015 SEPTEMBER 29, 2015 RENDERING RASTERIZATION RAY CASTING PROGRAMMABLE SHADERS.
Mesh Resampling Wolfgang Knoll, Reinhard Russ, Cornelia Hasil 1 Institute of Computer Graphics and Algorithms Vienna University of Technology.
Rendering Large Models (in real time)
DPL3/10/2016 CS 551/651: Simplification Continued David Luebke
1 Geometry for Game. Geometry Geometry –Position / vertex normals / vertex colors / texture coordinates Topology Topology –Primitive »Lines / triangles.
Model Optimization Wed Nov 16th 2016 Garrett Morrison.
Week 12 - Thursday CS361.
Terrain Level of Detail
Morphing and Shape Processing
CS475 3D Game Development Level Of Detail Nodes (LOD)
Mesh Parameterization: Theory and Practice
Chap 10. Geometric Level of Detail
Run-Time LOD Run-time algorithms may use static or dynamic LOD models:
Presentation transcript:

Geometric Algorithms in 3D Real-Time Rendering and facial Expression Modeling Prof. Marina L. Gavrilova University of Calgary

Quote: "Perseverance is not a long race; it is many short races one after another." -Walter Elliott

Brief Overview of the Area Geometric Approaches for mesh reconstruction and image morphing Real-Time Optimally Adapting Mesh Algorithms Non Photo-realistic Facial Expression Modeling and Morphing Algorithms Swarm Real-time Visualization System Presentation Outline

Objective: To showcase the power of the geometric and topology-based approaches in 3D visualization and modeling

Relevant Areas Computer-Aided Design Geographical Information Systems Biometrics 3D Animation Computer Games Strategic Planning Defense Other areas

State of the Art TERRAIN MODELING Multi-resolution dynamic mesh Viewer-dependent refinement Culling techniques View frustum algorithms Triangle-count preservation Subdivision refinement Controlled LOD Visual continuity and smooth transition are crucial Lindstrom, Hoppe, Duchaineauy, Hesse, Silva, Skala, Kolingerova EXPRESSION MODELING Multi-resolution adaptable mesh Light source and view point dependent rendering Control points and areas Tracking algorithms for transforming Fitting algorithms for modeling Wavelets to extract specific characteristics Visual continuity and feature preservation are crucial Jain, Salesin, Gooch, Gordon, Thalmann, Plemenos, Sourin

Our Approach TERRAIN MODELING Challenge: massive amount of data, smooth rendering Methodology: Multi-resolution dynamic triangle mesh with new refinement strategy New split and merge queue operations Frame-to-frame coherence algorithm for local updates New geo-morph smoothing algorithm Outcome: Visual continuity, rendering efficiency, frame-rate constancy for massive terrain EXPRESSION MODELING Challenge: massive amount of detail, tracking changes Methodology: NPR approach to feature extraction and modeling New Distance-Transform algorithm for morphing Delaunay triangulation for mesh representation Image segmentation and feature-line extraction algorithm Outcome: Expressive detail preservation, efficient storage, fast processing, 3D controllable deformations

Our Focus Topology preservation and geometry plays an important role in many algorithms, allowing for rendering efficiency, visual continuity and feature preservation.

Part I: 3D Real-Time Massive Terrain Visualization

Sourcing data from real world

Understanding Height Fields DEM: Digital Elevation Model Contains only relative Height Regular interval Pixel color determine height Discrete resolution

Converting Height field data into 3D topological mesh Pixel value (z) is used as Height Map Vertices are generated as points in 3D A Mesh is triangulated

Terminology DEM: Digital Elevation Model VDR: Viewer Dependent Refinement ROAM: Realtime Optimally Adapting Mesh CLOD: Continuous Level of Detail

What is mesh? It is often required to convert geometric objects in any other form to polygonal meshes of geometric simplexes (i.e. triangles) before rendering Meshes are used for computer modeling, biometric, GIS, cartographic, and animation applications Mesh optimization techniques are used to reduce the mesh to an acceptable size (user defined), minimizing the loss of quality (subject to some form of error analysis).

Mesh definition A mesh is defined as a pair (V,K) where V is the set of vertices and K is a simplicial complex specifying the connectivity of the mesh simplices (the adjacency of the vertices, edges and faces). The 0-simplices are called vertices, the 1- simpices are called edges, and the 2-simplices are called faces. Triangulation is an example of mesh.

Example: 3D Terrain Rendering Uses DEM as input of the application Generates dynamic mesh to achieve frame coherent animated view in real-time

Contribution In our work we used the ROAM definition introduced in [Duchaineauy], and developed a number of algorithms that rely heavily on topological properties of the modeled terrain in order to handle massive data sets. The observation of hardware performance reacting to strip length allowed us to design a fast and effective greedy approach to dynamically maintain triangle stripping. The method resulted in achieving rendering efficiency and frame rate constancy. We further improved the rendering efficiency while preserving important terrain features utilizing topological information. We eliminated the priority queue for merge operation, amortized update cost by allowing split queue to degenerate, took advantage of frame-to-frame coherence for local update and devised an efficient method for mesh-smoothing using geo- morph while preserving important terrain features.

Methodology applications Massive terrain rendering Realistic deformation modeling using mass spring system Adaptive spatial memory subdivision in robot motion planning simulation

Basic Approach The entire optimization process can be viewed as an optimal spatial subdivision problem. There exist only two legal moves to achieve optimality: subdivide and merge. Models that are based on this concept do not require computationally extensive optimization process. Instead, the mesh progressively adapts to an optimal solution. These models usually define a multi-criteria based error metric to assess the energy of the mesh.

Conventional Approach Regular Grid and TIN: Triangulated Irregular Network Problems: –Significant preprocessing –Generates too many triangles –the visible area might constitute a tiny fraction of that detail –Viewpoint dependent refinement is not possible with static meshes. –Have a bad triangle to screen pixel ration. –Unable to obtain a steady performance. Unable to Render Massive Terrain

Problems with static mesh

Problems with static mesh … Detail 98.5% 1.5% Screen 10% 90%

A Static Mesh (40,000 tri)

Dynamic mesh Dynamic mesh generation is based on real-time adaptive models that allow local transformation of a given mesh to different levels of details and adapt progressively to the changes in the rendering environment. Dynamic models use some form of hierarchical data structure to store a mesh in multiple LOD. There are many different versions of dynamic mesh currently under research and development. Several patented technologies have been released in the industry (i.e. Intels MRM). The two most prominent approaches are Progressive Meshes (PM) and Real-time Optimally Adapting Mesh (ROAM).

ROAM : Can Subdivide when more details necessary Merge & Split Queue Tree Structured

ROAM (25,000 Triangles)

The ROAM Advantage

ROAM advantages An efficient top-down dynamic mesh model. Display of complex surfaces can be provided by dynamically computing a multi-resolution triangular mesh for each view. One can minimize geometric distortions on the screen while maintaining a fixed triangle count. Visual discontinuities could be minimized, and efficient mesh corrections can ensure selected lines of site, or object proximity are correctly represented. An incremental priority-queue based approach in ROAM allows exploiting frame-to-frame coherence for fast efficient computation of the adapting mesh.

Geometric subdivision Problems with Geometric Subdivisions

ROAM principle The basic operating principle of ROAM

Quadtree and Bintree for ROAM Comparison between Quadtree (top) and Bintree (bottom)

ROAM Model DEM Interpolation Engine Triangle Bin Tree Data structure Render Refine Error Metric Speed: 15.0 FPS Size: Tri

Our ROAM Model Speed: 45.0 FPS Size: Tri DEM Interpolation Engine Triangle Quad Tree Data structure Error Metric Refine Render G Q Wavelet Error Analysis Cleanup Operation

ROAM Implementation and Improvements Pre-process DEM Reduce overhead for maintaining Split queue Use degenerated split queue Replace priority merge queue (HEAP) with a simple FIFO queue. Merge arbitrary obscured regions (outside visible frustum) only Improve smoothness, reduce popping effect

Proposed Unique Geometry- based methodology DEM Analysis Adaptive Loop Subdivision Geo-Morphing Visible frustum computation CCM - Cascading Coupling March method for massive terrain

Preprocessing of DEM input Convolute the surface (2 nd Difference) Efficient LOD distribution Used in Advanced Shading (feature preservation)

Differentiating the Surface: Convolution Original DEM of Kluane Park First differentiation. Blue area Shows steep mountains. Final LOD distribution image Shows rocky areas require more details Second Differentiation. Blue areas indicate steep mountain peaks.

Differentiating the Surface (cont’d)… Take Weighted Average of neighboring pixel Gradients 2 passes gives us the rate of gradient changes

Statistical Analysis of ROAM Bottleneck: Split and Merge Operation and visibility test Only 2.7% triangles are merged within the visible frustum 75% of split operations occurs on closest 5% region of the visible frustum Taking above into account, special priority function for split queue was developed based on U=Uniformity F=Frustum priority D=Curvature priority P=Distance priority DET=Curvature (preprocessed) Lev(f)=Subdivision level of face f

Methodology: Speeding up the process - Amortizing refinement Updating the Split queue over multiple frames Allow split queue (heap) to degenerate Refine integrity using error threshold test Re-generate queue after constant number of frames Dramatic gain in speed

Methodology: Maintaining Degenerated S-Queue

Methodology: Geo-Morph Smooth interpolation of vertex over subdivision Requires maintenance of one additional queue (G-queue)

Methodology: Smoothing Compute face normal Compute vertex normal Local computation of normal during refinement (Geo- Morph) Apply vertex normal when rendering Advanced shading: Linear combination of face and vertex normal (Hybrid)

Example of smoothing

Result with Texturing

Massive Terrain Model: ALS Adaptive Loop Subdivision and Cascading Coupling March

Quote: “Map of a region was a size of a city, map of an Empire was a size of a Province." Jorge Luis Borges

Loop Scheme

Patching alignment A B C A BC Faces: Regular Tface Regular Tface

Adaptive Loop Subdivision

Recursive Split A A A A BB B B CC C C AB CA BC Split Prefer: Tface Retract Tface

Patch Stitching: CCM “CASCADING COUPLING MARCH”

Method Description We develop CCM to stitch two quadrants of the adaptive mesh patch, and to ensure seamless connectivity by progressively refining and connecting the subdivision tree (quadtree) data structure. We ensure integrity of the data structure among multiple patches so that subdivision and simplification are not limited to the boundaries of the patches. CCM allows to consider the entire data structure as a number of strongly connected sets of quad-trees. As a result we can refine the mesh as one seamless continuous structure (not patches stitched together).

CCM idea We perform a coupled recursive march of the two quad- trees from the top to the bottom of the tree, subdividing or connecting border triangles. To increase geometric regularity we used non-orthogonal axis and used space warps to convert the scheme back to orthogonal axis for rendering. This is crucial when we are performing viewer dependent refinements. Patch locating and coordinate transform algorithms are designed to maintain a list of visible patches. Additional patches are added and connected using CCM as the simulation advances. Obscured patches are deleted using recursive march. This new method allows a greater flexibility, efficiency and control over smoothness

Two Adjacent Patches

Snapshot 3 … Level 2

Results on Mesh Rendering - Strategies evolved, Runtime and other aspects

Results (Output obtained)

Results (Runtime) (Cont’d)

Summary of Results High Speed (45 FPS average) for faces!! Static mesh upper limit: 55 FPS Continuity is achieved (Geo-Morph) – 300 vertices on average for 45 FPS –very small overhead Visual appeal (smoothing & Texture) Less variant Frame rate Efficient Understructure (amortized update)

More Results on Mesh Rendering See Animation Demos