based on global errormulti-resolution...

Post on 02-Mar-2018

222 Views

Category:

Documents

4 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Multi-resolution Decimation Based on Global Error

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

Presented by Yaohua Wu (Tony)

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.

Motivation

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.

Background

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

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

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;

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;

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)

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

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

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.

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.

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

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.

Vertex Classifications

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.

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.

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.

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.

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.

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.

Triangulation Examples

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.

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.

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.

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.

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.

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.

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)

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.

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.

Edge Flip Action

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.

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

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.

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;

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)

Global Error Example

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.

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

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.

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

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.

Multi-resolution Examples

Results and Evaluations

� Comparison with decimation approach.

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.

top related