Geometric Modeling. Mesh Decimation. Mesh Decimation. Applications. Copyright 2010 Gotsman, Pauly Page 1. Oversampled 3D scan data

Similar documents
Applications. Oversampled 3D scan data. ~150k triangles ~80k triangles

Mesh Decimation. Mark Pauly

Mesh and Mesh Simplification

Mesh Repairing and Simplification. Gianpaolo Palma

Mesh Simplification. Mesh Simplification. Mesh Simplification Goals. Mesh Simplification Motivation. Vertex Clustering. Mesh Simplification Overview

Surface Simplification Using Quadric Error Metrics

CGAL. Mesh Simplification. (Slides from Tom Funkhouser, Adam Finkelstein)

Geometry Processing & Geometric Queries. Computer Graphics CMU /15-662

A Developer s Survey of Polygonal Simplification algorithms. CS 563 Advanced Topics in Computer Graphics Fan Wu Mar. 31, 2005

Mesh Decimation Using VTK

Overview. Efficient Simplification of Point-sampled Surfaces. Introduction. Introduction. Neighborhood. Local Surface Analysis

Geometric Modeling. Bing-Yu Chen National Taiwan University The University of Tokyo

Appearance Preservation

Processing 3D Surface Data

Geometric Modeling and Processing

Overview. Spectral Processing of Point- Sampled Geometry. Introduction. Introduction. Fourier Transform. Fourier Transform

Processing 3D Surface Data

Final Project, Digital Geometry Processing

A Comparison of Mesh Simplification Algorithms

Digital Geometry Processing. Computer Graphics CMU /15-662

Tutorial 3 Comparing Biological Shapes Patrice Koehl and Joel Hass

Meshes and Manifolds. Computer Graphics CMU /15-662

Adjacency Data Structures

CSE 554 Lecture 6: Fairing and Simplification

Curvature-Adaptive Remeshing with Feature Preservation of Manifold Triangle Meshes with Boundary

Alex Li 11/20/2009. Chris Wojtan, Nils Thurey, Markus Gross, Greg Turk

Motivation. Freeform Shape Representations for Efficient Geometry Processing. Operations on Geometric Objects. Functional Representations

Voronoi Diagram. Xiao-Ming Fu

Fast Stellar Mesh Simplification

Cross-Parameterization and Compatible Remeshing of 3D Models

Lesson 2: Basic Concepts of Geometry

: Mesh Processing. Chapter 8

Handles. The justification: For a 0 genus triangle mesh we can write the formula as follows:

All the Polygons You Can Eat. Doug Rogers Developer Relations

Multiresolution structures for interactive visualization of very large 3D datasets

PLANE GEOMETRY SKILL BUILDER ELEVEN

Isotopic Approximation within a Tolerance Volume

3-Dimensional Object Modeling with Mesh Simplification Based Resolution Adjustment

Simplification. Stolen from various places

Geometric Modeling Mortenson Chapter 11. Complex Model Construction

To Do. Resources. Algorithm Outline. Simplifications. Advanced Computer Graphics (Spring 2013) Surface Simplification: Goals (Garland)

Topological Data Analysis - I. Afra Zomorodian Department of Computer Science Dartmouth College

coding of various parts showing different features, the possibility of rotation or of hiding covering parts of the object's surface to gain an insight

As a consequence of the operation, there are new incidences between edges and triangles that did not exist in K; see Figure II.9.

Geometry: 3D coordinates Attributes. e.g. normal, color, texture coordinate. Connectivity

Tutorial 9 - Fast Marching Methods

Definitions. Topology/Geometry of Geodesics. Joseph D. Clinton. SNEC June Magnus J. Wenninger

On Your Own. Applications. Unit 3. b. AC = 8 units y BD = 16 units C(5, 2)

Collision Detection. Jane Li Assistant Professor Mechanical Engineering & Robotics Engineering

Illumination and Geometry Techniques. Karljohan Lundin Palmerius

Processing 3D Surface Data

Parameterization with Manifolds

A General Framework for Mesh Decimation

Geometric Features for Non-photorealistiic Rendering

A Short Survey of Mesh Simplification Algorithms

5.2 Surface Registration

Reporting Category 3. Geometry and Measurement BINGO

3.1 Investigate Properties of Triangles Principles of Mathematics 10, pages

Efficient Representation and Extraction of 2-Manifold Isosurfaces Using kd-trees

Greedy Routing with Guaranteed Delivery Using Ricci Flow

Medium Term Plan Year 6: Autumn Term

CSC Computer Graphics

Lesson 05. Mid Phase. Collision Detection

CS133 Computational Geometry

Manipulating the Boundary Mesh

MST & Shortest Path -Prim s -Djikstra s

EECS 487: Interactive Computer Graphics

Scientific Visualization Example exam questions with commented answers

CS 468, Spring 2013 Differential Geometry for Computer Science Justin Solomon and Adrian Butscher

K-structure, Separating Chain, Gap Tree, and Layered DAG

Multi-level Partition of Unity Implicits

Curves & Surfaces. Last Time? Progressive Meshes. Selective Refinement. Adjacency Data Structures. Mesh Simplification. Mesh Simplification

Definitions. You can represent a point by a dot and name it by a capital letter.

Moving Least Squares Multiresolution Surface Approximation

A Study on View-Dependent Representation of 3-D Mesh Models Using Hierarchical Partitioning

PROPERTIES OF TRIANGLES AND QUADRILATERALS (plus polygons in general)

Simple Silhouettes for Complex Surfaces

Saab. Kyle McDonald. Polygon Meshes

Subdivision Surfaces. Homework 1: Questions on Homework? Last Time? Today. Tensor Product. What s an illegal edge collapse?

Mesh Representations & Geometry Processing

Subdivision Surfaces. Homework 1: Questions/Comments?

Mesh Generation. Quadtrees. Geometric Algorithms. Lecture 9: Quadtrees

Surfaces, meshes, and topology

Marching Squares Algorithm. Can you summarize the marching squares algorithm based on what we just discussed?

GEOMETRY HONORS COORDINATE GEOMETRY PACKET

Finding Shortest Path on Land Surface

ITK Mesh Simplification using Error Quadrics and Directed Edges

Geometric Modeling in Graphics

3/1/2010. Acceleration Techniques V1.2. Goals. Overview. Based on slides from Celine Loscos (v1.0)

Computational Geometry

Scalar Algorithms: Contouring

Design Intent of Geometric Models

Lecture notes: Object modeling

DEFINITIONS. Perpendicular Two lines are called perpendicular if they form a right angle.

Iso-surface cell search. Iso-surface Cells. Efficient Searching. Efficient search methods. Efficient iso-surface cell search. Problem statement:

Computer Graphics Ray Casting. Matthias Teschner

Outline. Reconstruction of 3D Meshes from Point Clouds. Motivation. Problem Statement. Applications. Challenges

APEX PON VIDYASHRAM, VELACHERY ( ) HALF-YEARLY WORKSHEET 1 LINES AND ANGLES SECTION A

G.CO Reflections and Isosceles

STL Rapid Prototyping

Transcription:

Applications Oversampled 3D scan data ~150k triangles ~80k triangles 2 Copyright 2010 Gotsman, Pauly Page 1

Applications Overtessellation: E.g. iso-surface extraction 3 Applications Multi-resolution hierarchies for efficient geometry processing level-of-detail (LOD) rendering 4 Copyright 2010 Gotsman, Pauly Page 2

Applications Adaptation to hardware capabilities 5 Size-Quality Tradeoff error size 6 Copyright 2010 Gotsman, Pauly Page 3

Problem Statement Given: Find: such that 1. and is minimal, or 2. and is minimal Respect additional fairness criteria normal deviation, triangle shape, scalar attributes, etc. 7 Methods Vertex clustering Incremental decimation Resampling Mesh approximation 8 Copyright 2010 Gotsman, Pauly Page 4

Vertex Clustering Cluster Generation Computing a representative Mesh generation Topology changes 9 Vertex Clustering Cluster Generation Uniform 3D grid Map vertices to cluster cells Computing a representative Mesh generation Topology changes 10 Copyright 2010 Gotsman, Pauly Page 5

Vertex Clustering Cluster Generation Hierarchical approach Top-down or bottom-up Computing a representative Mesh generation Topology changes 11 Vertex Clustering Cluster Generation Computing a representative Average/median vertex position Error quadrics Mesh generation Topology changes 12 Copyright 2010 Gotsman, Pauly Page 6

Computing a Representative Average vertex position 13 Computing a Representative Median vertex position 14 Copyright 2010 Gotsman, Pauly Page 7

Computing a Representative Error quadrics 15 Error Quadrics Patch is expected to be piecewise flat Minimize distance to neighboring triangles planes 16 Copyright 2010 Gotsman, Pauly Page 8

Error Quadrics Squared distance of point p to plane q: Q q 2 a ab ac ad E ca cb c cd f 2 da db dc d f 2 ba b bc bd 3 3 = = 2 T g 17 Error Quadrics Sum distances to planes q i of vertex neighboring triangles: An expression of the energy using E,f,g: p T E f 3 3 T f p g 18 Copyright 2010 Gotsman, Pauly Page 9

Error Quadrics Point p* that minimizes the error satisfies (simple linear least squares): 3 3 (,,,1) T T E f p= x y z, min p p T f g Ep= f Achieved by taking derivatives for all (x,y,z). E might not be full rank (why?) Use pseudo-inverse 19 Comparison average median error quadric 20 Copyright 2010 Gotsman, Pauly Page 10

Vertex Clustering Cluster Generation Computing a representative Mesh generation Clusters p {p 0,...,p n }, q {q 0,...,q m } Topology changes 21 Vertex Clustering Cluster Generation Computing a representative Mesh generation Clusters p {p 0,...,p n }, q {q 0,...,q m } Connect (p,q) if there was an edge (p i,q j ) Topology changes 22 Copyright 2010 Gotsman, Pauly Page 11

Vertex Clustering Cluster Generation Computing a representative Mesh generation Topology changes If different sheets pass through one cell Can be non-manifold 23 Outline Applications Problem Statement Methods Vertex Clustering Incremental Decimation Extensions 24 Copyright 2010 Gotsman, Pauly Page 12

Incremental Decimation 25 Incremental Decimation General Setup Decimation operators Error metrics Fairness criteria Topology changes 26 Copyright 2010 Gotsman, Pauly Page 13

General Setup Repeat: pick mesh region apply decimation operator Until no further reduction possible 27 Greedy Optimization For each region evaluate quality after decimation enqeue(quality, region) Repeat: get best mesh region from queue apply decimation operator update queue Until no further reduction possible 28 Copyright 2010 Gotsman, Pauly Page 14

Global Error Control For each region evaluate quality after decimation enqeue(quality, region) Repeat: get best mesh region from queue if error < ε apply decimation operator update queue Until no further reduction possible 29 Incremental Decimation General Setup Decimation operators Error metrics Fairness criteria Topology changes 30 Copyright 2010 Gotsman, Pauly Page 15

Decimation Operators What is a "region"? What are the DOF for re-triangulation? Classification Topology-changing vs. topology-preserving Subsampling vs. filtering Inverse operation progressive meshes 31 Vertex Removal Select a vertex to be eliminated 32 Copyright 2010 Gotsman, Pauly Page 16

Vertex Removal Select all triangles sharing this vertex 33 Vertex Removal Remove the selected triangles, creating the hole 34 Copyright 2010 Gotsman, Pauly Page 17

Vertex Removal Fill the hole with new triangles 35 Decimation Operators Vertex Removal Vertex Insertion Remove vertex Re-triangulate hole Combinatorial degrees of freedom 36 Copyright 2010 Gotsman, Pauly Page 18

Decimation Operators Edge Collapse Vertex Split Merge two adjacent vertices Define new vertex position Continuous degrees of freedom Filter along the way 37 Decimation Operators Half-Edge Collapse Restricted Vertex Split Collapse edge into one end point Special case of vertex removal Special case of edge collapse No degrees of freedom Separates global optimization from local optimization 38 Copyright 2010 Gotsman, Pauly Page 19

Half-Edge Collapse 39 Half-Edge Collapse 40 Copyright 2010 Gotsman, Pauly Page 20

Half-Edge Collapse 41 Half-Edge Collapse 42 Copyright 2010 Gotsman, Pauly Page 21

Half-Edge Collapse 43 Half-Edge Collapse 44 Copyright 2010 Gotsman, Pauly Page 22

Half-Edge Collapse 45 Half-Edge Collapse 46 Copyright 2010 Gotsman, Pauly Page 23

Half-Edge Collapse 47 Half-Edge Collapse flip! 48 Copyright 2010 Gotsman, Pauly Page 24

Incremental Decimation General Setup Decimation operators Error metrics Fairness criteria Topology changes 49 Local Error Metrics Local distance to mesh Compute average plane No comparison to original geometry 50 Copyright 2010 Gotsman, Pauly Page 25

Global Error Metrics Error quadrics Squared distance to planes at vertex No bound on true error Q 1 p it Q i p i = 0, i={1,2} p 1 p 2 Q 2 solve v 3T Q 3 v 3 = min < ε? ok Q 3 = Q 1 +Q 2 v 3 51 Incremental Decimation General Setup Decimation operators Error metrics Fairness criteria Topology changes 52 Copyright 2010 Gotsman, Pauly Page 26

Fairness Criteria Rate quality of decimation operation Approximation error Triangle shape Dihedral angles Valence balance... 53 Fairness Criteria Rate quality after decimation Approximation error Triangle shape Dihedral angles Valence balance... r 1 r 2 54 Copyright 2010 Gotsman, Pauly Page 27

Fairness Criteria Rate quality after decimation Approximation error Triangle shape Dihedral angles Valence balance... 55 Fairness Criteria Rate quality after decimation Approximation error Triangle shape Dihedral angles Valence balance Color differences... 56 Copyright 2010 Gotsman, Pauly Page 28

Fairness Criteria Rate quality after decimation Approximation error Triangle shape Dihedral angles Valence balance Color differences... 57 Fairness Criteria Rate quality after decimation Approximation error Triangle shape Dihedral angles Valence balance Color differences... 58 Copyright 2010 Gotsman, Pauly Page 29

Fairness Criteria Rate quality after decimation Approximation error Triangle shape Dihedral angles Valence balance Color differences... 59 Incremental Decimation General Setup Decimation operators Error metrics Fairness criteria Topology changes 60 Copyright 2010 Gotsman, Pauly Page 30

Topology Changes? Merge vertices across non-edges Changes mesh topology Need spatial neighborhood information Generates non-manifold meshes Vertex Contraction Vertex Separation 61 Topology Changes? Merge vertices across non-edges Changes mesh topology Need spatial neighborhood information Generates non-manifold meshes manifold non-manifold 62 Copyright 2010 Gotsman, Pauly Page 31

Comparison Vertex clustering fast, but difficult to control simplified mesh topology changes, non-manifold meshes global error bound, but often not close to optimum Incremental decimation with quadric error metrics good trade-off between mesh quality and speed explicit control over mesh topology restricting normal deviation improves mesh quality 63 The Exercise Do Edge-collapse with error quadrics Tasks: Compute Quadric error for each pair of vertices sharing an edge Test that an halfedge collapse is valid (triangles remain valid), no intersections) Choose next candidate according to sum of error quadrics Collapse and repeat until target mesh size achieved 64 Copyright 2010 Gotsman, Pauly Page 32