Presentation is loading. Please wait.

Presentation is loading. Please wait.

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

Similar presentations


Presentation on theme: "Geometric Algorithms in 3D Real-Time Rendering and facial Expression Modeling Prof. Marina L. Gavrilova University of Calgary."— Presentation transcript:

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

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

3 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

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

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

6 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

7 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

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

9 Part I: 3D Real-Time Massive Terrain Visualization

10 Sourcing data from real world

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

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

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

14 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).

15 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.

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

17 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.

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

19 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.

20 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

21 Problems with static mesh

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

23 A Static Mesh (40,000 tri)

24 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).

25

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

27 ROAM (25,000 Triangles)

28 The ROAM Advantage

29 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.

30 Geometric subdivision Problems with Geometric Subdivisions

31 ROAM principle The basic operating principle of ROAM

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

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

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

35 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

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

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

38 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.

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

40 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

41 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

42 Methodology: Maintaining Degenerated S-Queue

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

44 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)

45 Example of smoothing

46 Result with Texturing

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

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

49 Loop Scheme

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

51 Adaptive Loop Subdivision

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

53 Patch Stitching: CCM “CASCADING COUPLING MARCH”

54 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).

55 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

56 Two Adjacent Patches

57 Snapshot 3 … Level 2

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

59 Results (Output obtained)

60 Results (Runtime) (Cont’d)

61

62

63 Summary of Results High Speed (45 FPS average) for 20000 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)

64 More Results on Mesh Rendering See Animation Demos


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

Similar presentations


Ads by Google