based on global errormulti-resolution...

47
Multi-resolution Decimation Based on Global Error Author: A. Ciampalini, P. Montani, R. Scopigno Presented by Yaohua Wu (Tony)

Upload: phungliem

Post on 02-Mar-2018

221 views

Category:

Documents


4 download

TRANSCRIPT

Page 1: Based on Global ErrorMulti-resolution Decimationwebdocs.cs.ualberta.ca/~anup/Courses/604/Presentation_files/P4.pdf · automatic modeling, etc. However, the complexity of the surface

Multi-resolution Decimation Based on Global Error

Author: A. Ciampalini, P. Montani, R. Scopigno

Presented by Yaohua Wu (Tony)

Page 2: Based on Global ErrorMulti-resolution Decimationwebdocs.cs.ualberta.ca/~anup/Courses/604/Presentation_files/P4.pdf · automatic modeling, etc. However, the complexity of the surface

Introduction

� Huge surface meshes are produced in a number of fields: volume visualization, virtual reality, automatic modeling, etc.

� However, the complexity of the surface meshes has increased much faster than the throughput of today’s graphics hardware.

� Reducing the complexity of surface meshes is therefore a must to guarantee interactivity in rendering or to make the rendering itself possible.

Page 3: Based on Global ErrorMulti-resolution Decimationwebdocs.cs.ualberta.ca/~anup/Courses/604/Presentation_files/P4.pdf · automatic modeling, etc. However, the complexity of the surface

Motivation

Page 4: Based on Global ErrorMulti-resolution Decimationwebdocs.cs.ualberta.ca/~anup/Courses/604/Presentation_files/P4.pdf · automatic modeling, etc. However, the complexity of the surface

Background

� Surface meshes can be simplified either by merging elements or by re-sampling vertices, using different error criteria to measure the fitness of the approximated surfaces.

Page 5: Based on Global ErrorMulti-resolution Decimationwebdocs.cs.ualberta.ca/~anup/Courses/604/Presentation_files/P4.pdf · automatic modeling, etc. However, the complexity of the surface

Background

� Existing methods:� Coplanar facets merging� Re-tiling� Mesh decimation� Mesh optimization� Multi-resolution analysis� Vertex clustering

Page 6: Based on Global ErrorMulti-resolution Decimationwebdocs.cs.ualberta.ca/~anup/Courses/604/Presentation_files/P4.pdf · automatic modeling, etc. However, the complexity of the surface

Design Goals

� Goals in the design of a new solution for surface simplification are:� Approximation error� Compression factor� Working domain� Multi-resolution management� Space/time efficiency

Page 7: Based on Global ErrorMulti-resolution Decimationwebdocs.cs.ualberta.ca/~anup/Courses/604/Presentation_files/P4.pdf · automatic modeling, etc. However, the complexity of the surface

Design Goals (Continued)

� Approximation error� An accurate estimation of the approximation error

introduced in the simplification process;� Compression factor

� A reduction factor comparable or better than other approaches, under the same level of approximation;

� Working domain� Wide generality, the algorithm should not rely on the

correctness of the surfaces;

Page 8: Based on Global ErrorMulti-resolution Decimationwebdocs.cs.ualberta.ca/~anup/Courses/604/Presentation_files/P4.pdf · automatic modeling, etc. However, the complexity of the surface

Design Goals (Continued)

� Multi-resolution management� Once the simplification process has been run, we want to

make possible the interactive extraction of any LOD(level of details) representation, with the complexity of a single LOD extraction to be linear in practice to the LOD output size;

� Space/time efficiency� Short simplification times and low memory consumption,

to allow the management of large meshes;

Page 9: Based on Global ErrorMulti-resolution Decimationwebdocs.cs.ualberta.ca/~anup/Courses/604/Presentation_files/P4.pdf · automatic modeling, etc. However, the complexity of the surface

Multi-resolution Representation

� LOD representation� A data structure which holds a constant number k of

different representations of the surfaces, at different levels of detail or approximation

� Multi-resolution representation� A data structure which allows the compact representation

of a number m of representations, at different levels of detail, where m is somewhat proportional to the data size (e.g. the number of faces in S)

Page 10: Based on Global ErrorMulti-resolution Decimationwebdocs.cs.ualberta.ca/~anup/Courses/604/Presentation_files/P4.pdf · automatic modeling, etc. However, the complexity of the surface

Multi-resolution Representation

� A multi-resolution representation improves over LOD� The user or the application have much more

flexibility in the selection of the “best” level of detail; in many cases it is better to leave that choice at run time, instead to force it at the time of the pre-processing simplification phase

Page 11: Based on Global ErrorMulti-resolution Decimationwebdocs.cs.ualberta.ca/~anup/Courses/604/Presentation_files/P4.pdf · automatic modeling, etc. However, the complexity of the surface

JADE

� JADE (Just Another Decimator), is presented in this paper.� It is based on a decimation approach which reduces mesh

complexity by removing vertices� It uses a global approximation error criterion to support

high precision error management� Finally, the availability of a global error measure allows

us to design a simple and efficient method to manage multi-resolution

Page 12: Based on Global ErrorMulti-resolution Decimationwebdocs.cs.ualberta.ca/~anup/Courses/604/Presentation_files/P4.pdf · automatic modeling, etc. However, the complexity of the surface

Mesh Decimation

� The decimation algorithm was first introduced by Schroeder et al in 1992.

� It is an independent algorithm that uses local operations on geometry and topology to reduce the number of triangles in a triangle mesh.

� It can also be directly applied to the more general polygon mesh.

� The power of the decimation approach is its time efficiency, which is higher than other methods.

Page 13: Based on Global ErrorMulti-resolution Decimationwebdocs.cs.ualberta.ca/~anup/Courses/604/Presentation_files/P4.pdf · automatic modeling, etc. However, the complexity of the surface

Mesh Decimation

� The decimation algorithm is:� Multiple passes are made over all vertices in the mesh.� During a pass, each vertex is a candidate for removal

and, if it meets the specified decimation criteria, the vertex and all triangles that use the vertex are deleted.

� The resulting hole in the mesh is patched by forming a local triangulation.

� The vertex removal process repeats, with possible adjustment of the decimation criteria, until some termination conditions are met.

Page 14: Based on Global ErrorMulti-resolution Decimationwebdocs.cs.ualberta.ca/~anup/Courses/604/Presentation_files/P4.pdf · automatic modeling, etc. However, the complexity of the surface

Mesh Decimation

� The decimation algorithm can be simplified in three steps:� Characterize the local vertex geometry and

topology� Evaluate the decimation criteria� Triangulate the resulting hole

Page 15: Based on Global ErrorMulti-resolution Decimationwebdocs.cs.ualberta.ca/~anup/Courses/604/Presentation_files/P4.pdf · automatic modeling, etc. However, the complexity of the surface

Local Vertex Characterization

� The decimation algorithm characterizes the local geometry and topology for a given vertex.

� The outcome of this process determines whether the vertex is a potential candidate for deletion.

� Each vertex can be assigned one of the five possible classifications.

Page 16: Based on Global ErrorMulti-resolution Decimationwebdocs.cs.ualberta.ca/~anup/Courses/604/Presentation_files/P4.pdf · automatic modeling, etc. However, the complexity of the surface

Vertex Classifications

Page 17: Based on Global ErrorMulti-resolution Decimationwebdocs.cs.ualberta.ca/~anup/Courses/604/Presentation_files/P4.pdf · automatic modeling, etc. However, the complexity of the surface

Simple Vertex

� A simple vertex is surrounded by a complete cycle of triangles, and each edge that uses the vertex is used by exactly two triangles.

Page 18: Based on Global ErrorMulti-resolution Decimationwebdocs.cs.ualberta.ca/~anup/Courses/604/Presentation_files/P4.pdf · automatic modeling, etc. However, the complexity of the surface

Complex/boundary Vertex

� If the edge is not used by two triangles, or if the vertex is used by a triangle not in the cycle of triangles, then the vertex is complex.

� A vertex that is on the boundary of a mesh, i.e., Within a semi-cycle of triangles, is a boundary vertex.

Page 19: Based on Global ErrorMulti-resolution Decimationwebdocs.cs.ualberta.ca/~anup/Courses/604/Presentation_files/P4.pdf · automatic modeling, etc. However, the complexity of the surface

Feature Edges

� If the dihedral angle between two adjacent triangles is greater than a specified feature angle, then a feature edge exists.

� A simple vertex can be further classified as an interior edge or corner vertex. When a vertex is used by two feature edges, the vertex is an interior edge vertex. If one or three or more feature edges use the vertex, the vertex is classified a corner vertex.

Page 20: Based on Global ErrorMulti-resolution Decimationwebdocs.cs.ualberta.ca/~anup/Courses/604/Presentation_files/P4.pdf · automatic modeling, etc. However, the complexity of the surface

Evaluate the Decimation Criteria

� The evaluation step determines whether the triangles forming the loop can be deleted and replaced by another triangulation exclusive of the original vertex.

� Usually the fundamental decimation criterion is based on vertex distance to plane or vertex distance to edge.

Page 21: Based on Global ErrorMulti-resolution Decimationwebdocs.cs.ualberta.ca/~anup/Courses/604/Presentation_files/P4.pdf · automatic modeling, etc. However, the complexity of the surface

Evaluate the Decimation Criteria

� Simple vertices use the distance to plane criterion. If a simple vertex is within the specified distance to the average plane it may be deleted. Otherwise it is retained.

� Boundary and interior edge vertices use the distance to edge criterion. In this case, the algorithm determines the distance to the line by two vertices creating the boundary or feature edge.

Page 22: Based on Global ErrorMulti-resolution Decimationwebdocs.cs.ualberta.ca/~anup/Courses/604/Presentation_files/P4.pdf · automatic modeling, etc. However, the complexity of the surface

Triangulation

� Deleting a vertex and its associated triangles creates one (simple or boundary vertex) or two loops (interior edge vertex).

� Within each loop a triangulation must be created whose triangles are non-intersecting and non-degenerate.

� In addition, it is desirable to create triangles with good aspect ratio and that approximate the original loop as closely as possible.

Page 23: Based on Global ErrorMulti-resolution Decimationwebdocs.cs.ualberta.ca/~anup/Courses/604/Presentation_files/P4.pdf · automatic modeling, etc. However, the complexity of the surface

Triangulation Examples

Page 24: Based on Global ErrorMulti-resolution Decimationwebdocs.cs.ualberta.ca/~anup/Courses/604/Presentation_files/P4.pdf · automatic modeling, etc. However, the complexity of the surface

Best Fitting Triangulation

� JADE designs the triangulation as a two phase process.� It computes a valid triangulation which fits the

hole generated by the removal of vertex.� Then it improves the quality of the new patch by

a series of edge flip action.

Page 25: Based on Global ErrorMulti-resolution Decimationwebdocs.cs.ualberta.ca/~anup/Courses/604/Presentation_files/P4.pdf · automatic modeling, etc. However, the complexity of the surface

Triangulation

� JADE uses a two dimensional approach for the triangulation of the hole resulting from the removal of vertex. This was to reduce the complexity of the problem and to increase robustness.

� Let Tv represents the original patch before the removal of vertex.

Page 26: Based on Global ErrorMulti-resolution Decimationwebdocs.cs.ualberta.ca/~anup/Courses/604/Presentation_files/P4.pdf · automatic modeling, etc. However, the complexity of the surface

Triangulation

� JADE projects the border of Tv on each of the 14 planes until it finds a “valid” projection plane, i.e., a plane where the projection of Tv has no intersecting edges.

� The planes evaluated progressively are:� The average plane with respect to Tv.� The three planes orthogonal to the axes.� For each axes pair, the two quadrant bisector planes (in total six

planes).� The four planes orthogonal to the octant diagonals.

Page 27: Based on Global ErrorMulti-resolution Decimationwebdocs.cs.ualberta.ca/~anup/Courses/604/Presentation_files/P4.pdf · automatic modeling, etc. However, the complexity of the surface

Triangulation

� If none of above 14 planes gives a valid projection, the candidate vertex removal action fails.

� After a successful projection, a 2D triangulator is used to test the projection polygon.

� There are two 2D triangulators that used in this algorithm: an ear cutting solution and minimum angle modification of the previous one.

� The minimum angle solution proved to be faster. Therefor, we only use the ear cutting triangulator in the case where the minimum angle one does not produce a 3D valid triangulation.

Page 28: Based on Global ErrorMulti-resolution Decimationwebdocs.cs.ualberta.ca/~anup/Courses/604/Presentation_files/P4.pdf · automatic modeling, etc. However, the complexity of the surface

Ear Cutting Solution

� The ear cutting solution.� The ear cutting solution builds the triangulation

by cutting from the current n-sided polygon each couple of adjacent edges which form an angle lower than π.

� This algorithm iterates for a maximum of n times, and it stops as soon as n – 2 facets have been cut.

Page 29: Based on Global ErrorMulti-resolution Decimationwebdocs.cs.ualberta.ca/~anup/Courses/604/Presentation_files/P4.pdf · automatic modeling, etc. However, the complexity of the surface

Minimum Angle Solution

� The minimum angle solution adopts an incremental approach similar to the previous one, but here we choose the next vertex onto which the next triangle is built by adopting a minimum angle criterion.

� The internal angles of the polygon are computed and sorted, and at each step we choose the minimum one to build the next triangle.

Page 30: Based on Global ErrorMulti-resolution Decimationwebdocs.cs.ualberta.ca/~anup/Courses/604/Presentation_files/P4.pdf · automatic modeling, etc. However, the complexity of the surface

Validity of 2D Triangulation

� The validity of the 2D triangulation obtained is then checked in 3D space by testing:� Whether any internal edge intersects the border of Tv� Whether there are pairs of intersecting edges� Whether all triangles are contained in the interior of Tv� Whether any new edge was also part of the Si-1 mesh

(this occurrence would modify the topology of the mesh, and we want to prevent that)

� Whether any triangle has a particularly ill-conditioned shape (aspect ratio evaluation)

Page 31: Based on Global ErrorMulti-resolution Decimationwebdocs.cs.ualberta.ca/~anup/Courses/604/Presentation_files/P4.pdf · automatic modeling, etc. However, the complexity of the surface

Edge Flip Action

� To get the best approximation of the removed patch Tv, and to reduce the error introduced in each individual simplification step, some more processing has to be carried out on triangulation Tv'.

� The quality of the approximation may be significantly increased through a series of edge flip actions.

Page 32: Based on Global ErrorMulti-resolution Decimationwebdocs.cs.ualberta.ca/~anup/Courses/604/Presentation_files/P4.pdf · automatic modeling, etc. However, the complexity of the surface

Edge Flip Action

� Each internal edge e of new patch Tv' has two incident triangles, t1 and t2, whose union is a quadrilateral with e as diagonal.

� If we flip e, two new triangles are generated to replace t1 and t2, the pair tflip1 and tflip2.

� We evaluate whether the new pair of triangles obtained gives a better approximation with respect to the original mesh and, if they do, we perform the flip.

Page 33: Based on Global ErrorMulti-resolution Decimationwebdocs.cs.ualberta.ca/~anup/Courses/604/Presentation_files/P4.pdf · automatic modeling, etc. However, the complexity of the surface

Edge Flip Action

Page 34: Based on Global ErrorMulti-resolution Decimationwebdocs.cs.ualberta.ca/~anup/Courses/604/Presentation_files/P4.pdf · automatic modeling, etc. However, the complexity of the surface

JADE

� JADE (Just Another Decimator), is presented in this paper.� It is based on a decimation approach which reduces mesh

complexity by removing vertices.� It uses a global approximation error criterion to support

high precision error management.� Finally, the availability of a global error measure allows

us to design a simple and efficient method to manage multi-resolution.

Page 35: Based on Global ErrorMulti-resolution Decimationwebdocs.cs.ualberta.ca/~anup/Courses/604/Presentation_files/P4.pdf · automatic modeling, etc. However, the complexity of the surface

Global Error Control

� Reasons for providing a global error management:� Give the user an accurate control of the

approximation error� Allow an easy management of multi-resolution

Page 36: Based on Global ErrorMulti-resolution Decimationwebdocs.cs.ualberta.ca/~anup/Courses/604/Presentation_files/P4.pdf · automatic modeling, etc. However, the complexity of the surface

Global Error

� Given: an input mesh S; an intermediate mesh Si, obtained after i steps of the Decimation process; a candidate vertex v on mesh Si; the patch Tv of triangles in Siincident in v; and, finally, the new triangulation T′v which will replace Tv in Si+1 after the elimation of v.

Page 37: Based on Global ErrorMulti-resolution Decimationwebdocs.cs.ualberta.ca/~anup/Courses/604/Presentation_files/P4.pdf · automatic modeling, etc. However, the complexity of the surface

Global Error

� Local Error� Measures the local approximation introduced by

replacing the patch Tv in Si with T′v, and generating the new mesh Si+1;

� Global Error� Measures the error of approximation introduced if the

corresponding sub-area of the original input mesh S is represented by the new mesh parcel T′v;

Page 38: Based on Global ErrorMulti-resolution Decimationwebdocs.cs.ualberta.ca/~anup/Courses/604/Presentation_files/P4.pdf · automatic modeling, etc. However, the complexity of the surface

Over-estimation of Actual Global Error

� One of the techniques that generally yields an over-estimation of the actual global error is based on accumulating the local errors introduced in each simplification step

� Local errors can be estimated by the original decimation criterion (distance of v from the mean plane or from the edge)

Page 39: Based on Global ErrorMulti-resolution Decimationwebdocs.cs.ualberta.ca/~anup/Courses/604/Presentation_files/P4.pdf · automatic modeling, etc. However, the complexity of the surface

Global Error Example

Page 40: Based on Global ErrorMulti-resolution Decimationwebdocs.cs.ualberta.ca/~anup/Courses/604/Presentation_files/P4.pdf · automatic modeling, etc. However, the complexity of the surface

Multi-resolution Representation

� Given a decimation process, we want to produce a multi-resolution representation SM, such that given any precision threshold the retrieval of an approximate model which satisfies precision ε should be allowed by a simple and fast traversal of SM.

Page 41: Based on Global ErrorMulti-resolution Decimationwebdocs.cs.ualberta.ca/~anup/Courses/604/Presentation_files/P4.pdf · automatic modeling, etc. However, the complexity of the surface

Multi-resolution Representation

� Lets consider the set T of all the triangles that were generated during the whole decimation process.

� Each facet t in T is characterized by two time stamps: its creation (or birth, i.e., when t is generated as part of a new patching sub-mesh) and its elimination (or death, i.e., when t is found as one of the triangles incident on a vertex candidate for removal).

Page 42: Based on Global ErrorMulti-resolution Decimationwebdocs.cs.ualberta.ca/~anup/Courses/604/Presentation_files/P4.pdf · automatic modeling, etc. However, the complexity of the surface

Multi-resolution Representation

� An intermediate mesh Sj is associated by definition with each time stamp j, and therefore we can associate with each time stamp j the global approximation error held by mesh Sj.

� Given the birth and death time stamps, each facet t in T is therefore tagged with two errors εb and εd, with εb < εd, called the birth and death error of t, respectively.

Page 43: Based on Global ErrorMulti-resolution Decimationwebdocs.cs.ualberta.ca/~anup/Courses/604/Presentation_files/P4.pdf · automatic modeling, etc. However, the complexity of the surface

Multi-resolution Representation

� The multi-resolution representation SM is therefore the set of facets in T, having each facet t the associated εb and εd errors explicitly stored.

� The extraction out of SM of a representation Sε at a given precision ε is therefore straightforward: Sε is composed of all of the facets in SM such that their life interval contains the error threshold searched for (εb < ε ≤ εd).

Page 44: Based on Global ErrorMulti-resolution Decimationwebdocs.cs.ualberta.ca/~anup/Courses/604/Presentation_files/P4.pdf · automatic modeling, etc. However, the complexity of the surface

Multi-resolution Representation

� Experimental results showed that the number of facets stored in SM is not much larger than the number of facets in the model at maximum resolution S.

� The user or the application has much more flexibility in the selection of the “best” level of detail at run time.

Page 45: Based on Global ErrorMulti-resolution Decimationwebdocs.cs.ualberta.ca/~anup/Courses/604/Presentation_files/P4.pdf · automatic modeling, etc. However, the complexity of the surface

Multi-resolution Examples

Page 46: Based on Global ErrorMulti-resolution Decimationwebdocs.cs.ualberta.ca/~anup/Courses/604/Presentation_files/P4.pdf · automatic modeling, etc. However, the complexity of the surface

Results and Evaluations

� Comparison with decimation approach.

Page 47: Based on Global ErrorMulti-resolution Decimationwebdocs.cs.ualberta.ca/~anup/Courses/604/Presentation_files/P4.pdf · automatic modeling, etc. However, the complexity of the surface

Conclusions

� JADE adopts a mesh decimation approach and fulfills three major goals: to minimize error with sustainable processing costs, to provide a bounded error management, and to produce a multi-resolution representation at the cost of a low memory overhead.

� A peculiar characteristic of JADE is that the multi-resolution description of the simplified mesh comes free, at no added processing costs, and the extraction of a mesh at a given error ε is extremely efficient and can be computed in real time.