Presentation is loading. Please wait.

Presentation is loading. Please wait.

The Problem of Detail Graphics systems are awash in model data very detailed CAD databasesvery detailed CAD databases high-precision surface scanshigh-precision.

Similar presentations


Presentation on theme: "The Problem of Detail Graphics systems are awash in model data very detailed CAD databasesvery detailed CAD databases high-precision surface scanshigh-precision."— Presentation transcript:

1 The Problem of Detail Graphics systems are awash in model data very detailed CAD databasesvery detailed CAD databases high-precision surface scanshigh-precision surface scans Available resources are always constrained CPU, space, graphics speed, network bandwidthCPU, space, graphics speed, network bandwidth We need economical models want the minimum level of detail (LOD) requiredwant the minimum level of detail (LOD) required Graphics systems are awash in model data very detailed CAD databasesvery detailed CAD databases high-precision surface scanshigh-precision surface scans Available resources are always constrained CPU, space, graphics speed, network bandwidthCPU, space, graphics speed, network bandwidth We need economical models want the minimum level of detail (LOD) requiredwant the minimum level of detail (LOD) required

2 A Non-Economical Model 424,376 faces 60,000 faces

3 Automatic Surface Simplification

4 Produce approximations with fewer triangles should be as similar as possible to originalshould be as similar as possible to original want computationally efficient processwant computationally efficient process Need criteria for assessing model similarity for display, visual similarity is the ultimate goalfor display, visual similarity is the ultimate goal similarity of shape is often used insteadsimilarity of shape is often used instead –generally easier to compute –lends itself more to applications other than display Produce approximations with fewer triangles should be as similar as possible to originalshould be as similar as possible to original want computationally efficient processwant computationally efficient process Need criteria for assessing model similarity for display, visual similarity is the ultimate goalfor display, visual similarity is the ultimate goal similarity of shape is often used insteadsimilarity of shape is often used instead –generally easier to compute –lends itself more to applications other than display

5 Focus on Polygonal Models Polygonal surfaces are ubiquitous only primitive widely supported in hardwareonly primitive widely supported in hardware near-universal support in software packagesnear-universal support in software packages output of most scanning systemsoutput of most scanning systems Switching representations is no solution indeed, some suffer from the same problemindeed, some suffer from the same problem many applications want polygonsmany applications want polygons Will always assume models are triangulated Polygonal surfaces are ubiquitous only primitive widely supported in hardwareonly primitive widely supported in hardware near-universal support in software packagesnear-universal support in software packages output of most scanning systemsoutput of most scanning systems Switching representations is no solution indeed, some suffer from the same problemindeed, some suffer from the same problem many applications want polygonsmany applications want polygons Will always assume models are triangulated

6 Historical Background Function approximation [y=f(x)] long history in mathematical literaturelong history in mathematical literature Piecewise linear curve approximation various fields: graphics, cartography, vision, …various fields: graphics, cartography, vision, … Height field (i.e., terrain) triangulation research back to at least early 70’sresearch back to at least early 70’s important for flight simulatorsimportant for flight simulators Function approximation [y=f(x)] long history in mathematical literaturelong history in mathematical literature Piecewise linear curve approximation various fields: graphics, cartography, vision, …various fields: graphics, cartography, vision, … Height field (i.e., terrain) triangulation research back to at least early 70’sresearch back to at least early 70’s important for flight simulatorsimportant for flight simulators

7 Other Related Fields Geometry compression simplification is a kind of lossy compressionsimplification is a kind of lossy compression Surface smoothing reduces geometric complexity of shapereduces geometric complexity of shape Mesh generation finite element analysis (e.g., solving PDE’s)finite element analysis (e.g., solving PDE’s) need appropriate mesh for good solutionneed appropriate mesh for good solution overly complex mesh makes solution slowoverly complex mesh makes solution slow Geometry compression simplification is a kind of lossy compressionsimplification is a kind of lossy compression Surface smoothing reduces geometric complexity of shapereduces geometric complexity of shape Mesh generation finite element analysis (e.g., solving PDE’s)finite element analysis (e.g., solving PDE’s) need appropriate mesh for good solutionneed appropriate mesh for good solution overly complex mesh makes solution slowoverly complex mesh makes solution slow

8 Overview of Simplification Methods Manual preparation has been widely used skilled humans produce excellent resultsskilled humans produce excellent results very labor intensive, and thus costlyvery labor intensive, and thus costly Most common kinds of automatic methods vertex clusteringvertex clustering vertex decimationvertex decimation iterative contractioniterative contraction Manual preparation has been widely used skilled humans produce excellent resultsskilled humans produce excellent results very labor intensive, and thus costlyvery labor intensive, and thus costly Most common kinds of automatic methods vertex clusteringvertex clustering vertex decimationvertex decimation iterative contractioniterative contraction

9 Optimal Approximations Achieve given error with fewest triangles no mesh with fewer triangles meets error limitno mesh with fewer triangles meets error limit Computationally feasible for curves O(n) for functions of one variableO(n) for functions of one variable but O(n 2 log n) for plane curvesbut O(n 2 log n) for plane curves Intractable for surfaces NP-hard to find optimal height field [Agarwal–Suri 94]NP-hard to find optimal height field [Agarwal–Suri 94] must also be the case for surfacesmust also be the case for surfaces

10 Vertex Clustering Partition space into cells grids [Rossignac-Borrel], spheres [Low-Tan], octrees,...grids [Rossignac-Borrel], spheres [Low-Tan], octrees,... Merge all vertices within the same cell triangles with multiple corners in one cell will degeneratetriangles with multiple corners in one cell will degenerate Partition space into cells grids [Rossignac-Borrel], spheres [Low-Tan], octrees,...grids [Rossignac-Borrel], spheres [Low-Tan], octrees,... Merge all vertices within the same cell triangles with multiple corners in one cell will degeneratetriangles with multiple corners in one cell will degenerate

11 Vertex Decimation Starting with original model, iteratively rank vertices according to their importancerank vertices according to their importance select unimportant vertex, remove it, retriangulate holeselect unimportant vertex, remove it, retriangulate hole A fairly common technique Schroeder et al, Soucy et al, Klein et al, Ciampalini et alSchroeder et al, Soucy et al, Klein et al, Ciampalini et al Starting with original model, iteratively rank vertices according to their importancerank vertices according to their importance select unimportant vertex, remove it, retriangulate holeselect unimportant vertex, remove it, retriangulate hole A fairly common technique Schroeder et al, Soucy et al, Klein et al, Ciampalini et alSchroeder et al, Soucy et al, Klein et al, Ciampalini et al

12 Iterative Contraction Contraction can operate on any set of vertices edges (or vertex pairs) are most common, faces also usededges (or vertex pairs) are most common, faces also used Starting with the original model, iteratively rank all edges with some cost metricrank all edges with some cost metric contract minimum cost edgecontract minimum cost edge update edge costsupdate edge costs Contraction can operate on any set of vertices edges (or vertex pairs) are most common, faces also usededges (or vertex pairs) are most common, faces also used Starting with the original model, iteratively rank all edges with some cost metricrank all edges with some cost metric contract minimum cost edgecontract minimum cost edge update edge costsupdate edge costs

13 Edge Contraction Single edge contraction (v 1,v 2 )  v’ is performed by moving v 1 and v 2 to position v’moving v 1 and v 2 to position v’ replacing all occurrences of v 2 with v 1replacing all occurrences of v 2 with v 1 removing v 2 and all degenerate trianglesremoving v 2 and all degenerate triangles Single edge contraction (v 1,v 2 )  v’ is performed by moving v 1 and v 2 to position v’moving v 1 and v 2 to position v’ replacing all occurrences of v 2 with v 1replacing all occurrences of v 2 with v 1 removing v 2 and all degenerate trianglesremoving v 2 and all degenerate triangles v1v1 v1v1 v2v2 v2v2 v’

14 Vertex Pair Contraction Can also easily contract any pair of vertices fundamental operation is exactly the samefundamental operation is exactly the same joins previously unconnected areasjoins previously unconnected areas can be used to achieve topological simplificationcan be used to achieve topological simplification Can also easily contract any pair of vertices fundamental operation is exactly the samefundamental operation is exactly the same joins previously unconnected areasjoins previously unconnected areas can be used to achieve topological simplificationcan be used to achieve topological simplification

15 Iterative Edge Contraction Currently the most popular technique Hoppe, Garland–Heckbert, Lindstrom-Turk, Ronfard- Rossignac, Guéziec, and several othersHoppe, Garland–Heckbert, Lindstrom-Turk, Ronfard- Rossignac, Guéziec, and several others simpler operation than vertex removalsimpler operation than vertex removal well-defined on any simplicial complexwell-defined on any simplicial complex Also induces hierarchy on the surface a very important by-producta very important by-product enables several multiresolution applicationsenables several multiresolution applications Currently the most popular technique Hoppe, Garland–Heckbert, Lindstrom-Turk, Ronfard- Rossignac, Guéziec, and several othersHoppe, Garland–Heckbert, Lindstrom-Turk, Ronfard- Rossignac, Guéziec, and several others simpler operation than vertex removalsimpler operation than vertex removal well-defined on any simplicial complexwell-defined on any simplicial complex Also induces hierarchy on the surface a very important by-producta very important by-product enables several multiresolution applicationsenables several multiresolution applications

16 Cost Metrics for Contraction Used to rank edges during simplification reflects amount of geometric error introducedreflects amount of geometric error introduced main differentiating feature among algorithmsmain differentiating feature among algorithms Must address two interrelated problems what is the best contraction to perform?what is the best contraction to perform? what is the best position v’ for remaining vertex?what is the best position v’ for remaining vertex? –can just choose one of the endpoints –but can often do better by optimizing position of v’ Used to rank edges during simplification reflects amount of geometric error introducedreflects amount of geometric error introduced main differentiating feature among algorithmsmain differentiating feature among algorithms Must address two interrelated problems what is the best contraction to perform?what is the best contraction to perform? what is the best position v’ for remaining vertex?what is the best position v’ for remaining vertex? –can just choose one of the endpoints –but can often do better by optimizing position of v’

17 Cost Metrics for Contraction Simple heuristics edge length, dihedral angle, surrounding area, …edge length, dihedral angle, surrounding area, … Sample distances to original surface projection to closest point [Hoppe]projection to closest point [Hoppe] restricted projection [Soucy–Laurendeau, Klein et al, Ciampalini et al]restricted projection [Soucy–Laurendeau, Klein et al, Ciampalini et al] Alternative characterization of error quadric error metrics [Garland–Heckbert]quadric error metrics [Garland–Heckbert] local volume preservation [Lindstrom–Turk]local volume preservation [Lindstrom–Turk] Simple heuristics edge length, dihedral angle, surrounding area, …edge length, dihedral angle, surrounding area, … Sample distances to original surface projection to closest point [Hoppe]projection to closest point [Hoppe] restricted projection [Soucy–Laurendeau, Klein et al, Ciampalini et al]restricted projection [Soucy–Laurendeau, Klein et al, Ciampalini et al] Alternative characterization of error quadric error metrics [Garland–Heckbert]quadric error metrics [Garland–Heckbert] local volume preservation [Lindstrom–Turk]local volume preservation [Lindstrom–Turk]

18 Measuring Error with Planes Each vertex has a (conceptual) set of planes Error  sum of squared distances to planes in setError  sum of squared distances to planes in set Initialize with planes of incident faces Consequently, all initial errors are 0Consequently, all initial errors are 0 When contracting pair, use plane set union planes(v’) = planes(v 1 )  planes(v 2 )planes(v’) = planes(v 1 )  planes(v 2 ) Each vertex has a (conceptual) set of planes Error  sum of squared distances to planes in setError  sum of squared distances to planes in set Initialize with planes of incident faces Consequently, all initial errors are 0Consequently, all initial errors are 0 When contracting pair, use plane set union planes(v’) = planes(v 1 )  planes(v 2 )planes(v’) = planes(v 1 )  planes(v 2 )

19 A Simple Example: Contraction & “Planes” in 2D Lines defined by neighboring segments Determine position of new vertexDetermine position of new vertex Accumulate lines for ever larger areasAccumulate lines for ever larger areas Lines defined by neighboring segments Determine position of new vertexDetermine position of new vertex Accumulate lines for ever larger areasAccumulate lines for ever larger areas Original After 1 Step v1v1v1v1 v2v2v2v2v’

20 Measuring Error with Planes Why base error on planes? Faster, but less accurate, than distance-to-faceFaster, but less accurate, than distance-to-face Simple linear system for minimum-error positionSimple linear system for minimum-error position Efficient implicit form; no sets requiredEfficient implicit form; no sets required Drawback: unlike surface, planes are infiniteDrawback: unlike surface, planes are infinite Related error metrics Ronfard & Rossignac — max vs. sumRonfard & Rossignac — max vs. sum Lindstrom & Turk — similar form; volume-basedLindstrom & Turk — similar form; volume-based Why base error on planes? Faster, but less accurate, than distance-to-faceFaster, but less accurate, than distance-to-face Simple linear system for minimum-error positionSimple linear system for minimum-error position Efficient implicit form; no sets requiredEfficient implicit form; no sets required Drawback: unlike surface, planes are infiniteDrawback: unlike surface, planes are infinite Related error metrics Ronfard & Rossignac — max vs. sumRonfard & Rossignac — max vs. sum Lindstrom & Turk — similar form; volume-basedLindstrom & Turk — similar form; volume-based

21 The Quadric Error Metric Given a plane, we can define a quadric Q measuring squared distance to the plane as

22 The Quadric Error Metric Sum of quadrics represents set of planes Each vertex has an associated quadric Error(v i ) = Q i (v i )Error(v i ) = Q i (v i ) Sum quadrics when contracting (v i, v j )  v’Sum quadrics when contracting (v i, v j )  v’ Cost of contraction is Q (v’)Cost of contraction is Q (v’) Sum of quadrics represents set of planes Each vertex has an associated quadric Error(v i ) = Q i (v i )Error(v i ) = Q i (v i ) Sum quadrics when contracting (v i, v j )  v’Sum quadrics when contracting (v i, v j )  v’ Cost of contraction is Q (v’)Cost of contraction is Q (v’)

23 The Quadric Error Metric Sum of endpoint quadrics determines v’ Fixed placement: select v 1 or v 2Fixed placement: select v 1 or v 2 Optimal placement: choose v’ minimizing Q (v’)Optimal placement: choose v’ minimizing Q (v’) Fixed placement is faster but lower qualityFixed placement is faster but lower quality But it also gives smaller progressive meshesBut it also gives smaller progressive meshes Fallback to fixed placement if A is non-invertibleFallback to fixed placement if A is non-invertible Sum of endpoint quadrics determines v’ Fixed placement: select v 1 or v 2Fixed placement: select v 1 or v 2 Optimal placement: choose v’ minimizing Q (v’)Optimal placement: choose v’ minimizing Q (v’) Fixed placement is faster but lower qualityFixed placement is faster but lower quality But it also gives smaller progressive meshesBut it also gives smaller progressive meshes Fallback to fixed placement if A is non-invertibleFallback to fixed placement if A is non-invertible

24 Demo

25 Visualizing Quadrics in 3-D Quadric isosurfaces Are ellipsoids (maybe degenerate)Are ellipsoids (maybe degenerate) Centered around verticesCentered around vertices Characterize shapeCharacterize shape Stretch in least- curved directionsStretch in least- curved directions

26 Sample Model: Dental Mold 424,376 faces 60,000 faces 50 sec

27 Sample Model: Dental Mold 424,376 faces 8000 faces 55 sec

28 Sample Model: Dental Mold 424,376 faces 1000 faces 56 sec

29 Must Also Consider Attributes Mesh for solution Radiosity solution

30 Must Also Consider Attributes 50,761 faces 10,000 faces

31 Simplification Summary Spectrum of effective methods developed high quality; very slow [Hoppe et al, Hoppe]high quality; very slow [Hoppe et al, Hoppe] good quality; varying speed [Schroeder et al; Klein et al; Ciampalini et al; Guéziec Garland-Heckbert; Ronfard-Rossignac; Lindstrom-Turk]good quality; varying speed [Schroeder et al; Klein et al; Ciampalini et al; Guéziec Garland-Heckbert; Ronfard-Rossignac; Lindstrom-Turk] lower quality; very fast [Rossignac–Borrel; Low–Tan]lower quality; very fast [Rossignac–Borrel; Low–Tan] result usually produced by transforming originalresult usually produced by transforming original Various other differentiating factors is topology simplified? restricted to manifolds?is topology simplified? restricted to manifolds? attributes simplified or re-sampled into maps?attributes simplified or re-sampled into maps? Spectrum of effective methods developed high quality; very slow [Hoppe et al, Hoppe]high quality; very slow [Hoppe et al, Hoppe] good quality; varying speed [Schroeder et al; Klein et al; Ciampalini et al; Guéziec Garland-Heckbert; Ronfard-Rossignac; Lindstrom-Turk]good quality; varying speed [Schroeder et al; Klein et al; Ciampalini et al; Guéziec Garland-Heckbert; Ronfard-Rossignac; Lindstrom-Turk] lower quality; very fast [Rossignac–Borrel; Low–Tan]lower quality; very fast [Rossignac–Borrel; Low–Tan] result usually produced by transforming originalresult usually produced by transforming original Various other differentiating factors is topology simplified? restricted to manifolds?is topology simplified? restricted to manifolds? attributes simplified or re-sampled into maps?attributes simplified or re-sampled into maps?

32 Static Resolution Not Enough Model used in variety of contexts many machines; variable capacitymany machines; variable capacity projected screen size will varyprojected screen size will vary Context dictates required detail LOD should vary with contextLOD should vary with context context varies over timecontext varies over time with what level of coherence?with what level of coherence? –generally high coherence in view –possibly poor coherence in load

33 Need Multiresolution Models Encode wide range of levels of detail extract appropriate approximations at run timeextract appropriate approximations at run time must have low overheadmust have low overhead –space consumed by representation –cost of changing level of detail while rendering can be generated via simplification processcan be generated via simplification process Image pyramids (mip-maps) a good example very successful technique for raster imagesvery successful technique for raster images Encode wide range of levels of detail extract appropriate approximations at run timeextract appropriate approximations at run time must have low overheadmust have low overhead –space consumed by representation –cost of changing level of detail while rendering can be generated via simplification processcan be generated via simplification process Image pyramids (mip-maps) a good example very successful technique for raster imagesvery successful technique for raster images

34 Discrete Multiresolution Models Given a model, build a set of approximations can be produced by any simplification systemcan be produced by any simplification system at run time, simply select which to renderat run time, simply select which to render Inter-frame switching causes “popping” can smooth transition with image blendingcan smooth transition with image blending or use geometry blending: geomorphing [Hoppe]or use geometry blending: geomorphing [Hoppe] Supported by several software packages RenderMan, Open Inventor, IRIS Performer,...RenderMan, Open Inventor, IRIS Performer,... Given a model, build a set of approximations can be produced by any simplification systemcan be produced by any simplification system at run time, simply select which to renderat run time, simply select which to render Inter-frame switching causes “popping” can smooth transition with image blendingcan smooth transition with image blending or use geometry blending: geomorphing [Hoppe]or use geometry blending: geomorphing [Hoppe] Supported by several software packages RenderMan, Open Inventor, IRIS Performer,...RenderMan, Open Inventor, IRIS Performer,...

35 Limits of Discrete Models We may need varying LOD over surface large surface, oblique view (eg. on terrain)large surface, oblique view (eg. on terrain) –need high detail near the viewer –need less detail far away single LOD will be inappropriatesingle LOD will be inappropriate –either excessively detailed in the distance (wasteful) –or insufficiently detailed near viewer (visual artifacts) Doesn’t really exploit available coherence small view change may cause large model changesmall view change may cause large model change We may need varying LOD over surface large surface, oblique view (eg. on terrain)large surface, oblique view (eg. on terrain) –need high detail near the viewer –need less detail far away single LOD will be inappropriatesingle LOD will be inappropriate –either excessively detailed in the distance (wasteful) –or insufficiently detailed near viewer (visual artifacts) Doesn’t really exploit available coherence small view change may cause large model changesmall view change may cause large model change

36 Progressive Meshes We get more than just final approximation sequence of contractionssequence of contractions corresponding intermediate approximationscorresponding intermediate approximations Re-encode as progressive mesh (PM) [Hoppe] take final approximation to be base meshtake final approximation to be base mesh reverse of contraction sequence is split sequencereverse of contraction sequence is split sequence can reconstruct any intermediate modelcan reconstruct any intermediate model allow for progressive transmission & compressionallow for progressive transmission & compression We get more than just final approximation sequence of contractionssequence of contractions corresponding intermediate approximationscorresponding intermediate approximations Re-encode as progressive mesh (PM) [Hoppe] take final approximation to be base meshtake final approximation to be base mesh reverse of contraction sequence is split sequencereverse of contraction sequence is split sequence can reconstruct any intermediate modelcan reconstruct any intermediate model allow for progressive transmission & compressionallow for progressive transmission & compression

37 PM’s a Limited Multiresolution More flexibility is required local addition/subtraction of triangleslocal addition/subtraction of triangles –as conditions change, make small updates in LOD –this is the multi-triangulation framework –may require novel approximations Must encode dependency of contractions PM’s imply dependency on earlier contractionsPM’s imply dependency on earlier contractions but we can reorder non-overlapping contractionsbut we can reorder non-overlapping contractions More flexibility is required local addition/subtraction of triangleslocal addition/subtraction of triangles –as conditions change, make small updates in LOD –this is the multi-triangulation framework –may require novel approximations Must encode dependency of contractions PM’s imply dependency on earlier contractionsPM’s imply dependency on earlier contractions but we can reorder non-overlapping contractionsbut we can reorder non-overlapping contractions

38 Structure Induced on Surface Every vertex on approximation corresponds to a connected set of vertices on the originala connected set of vertices on the original hence a region on the surface: the union of neighborhoodshence a region on the surface: the union of neighborhoods Initial conditions every vertex set is a singleton, every region a neighborhoodevery vertex set is a singleton, every region a neighborhood Every vertex on approximation corresponds to a connected set of vertices on the originala connected set of vertices on the original hence a region on the surface: the union of neighborhoodshence a region on the surface: the union of neighborhoods Initial conditions every vertex set is a singleton, every region a neighborhoodevery vertex set is a singleton, every region a neighborhood

39 Structure Induced on Surface A contraction merges corresponding vertex sets remaining vertex accumulates larger surface regionremaining vertex accumulates larger surface region When merging regions, can link them by mesh edge as shown on left hand sideas shown on left hand side A contraction merges corresponding vertex sets remaining vertex accumulates larger surface regionremaining vertex accumulates larger surface region When merging regions, can link them by mesh edge as shown on left hand sideas shown on left hand side

40 Structure Induced on Surface Links within single region form spanning tree links within all regions form spanning forestlinks within all regions form spanning forest any contraction order within regions is (topologically) validany contraction order within regions is (topologically) valid Regions always completely partition original surface Links within single region form spanning tree links within all regions form spanning forestlinks within all regions form spanning forest any contraction order within regions is (topologically) validany contraction order within regions is (topologically) valid Regions always completely partition original surface

41 Structure Induced on Surface Pair-wise merging forms hierarchy binary tree of verticesbinary tree of vertices also a binary tree of surface regionsalso a binary tree of surface regions Pair-wise merging forms hierarchy binary tree of verticesbinary tree of vertices also a binary tree of surface regionsalso a binary tree of surface regions

42 Example: Initial Vertex Neighborhoods

43 Example: 99% of vertices removed

44 Example: 99.9% of vertices removed

45 Vertex Hierarchies A cut through the tree contract all below cutcontract all below cut leaves are “active”leaves are “active” determines partitiondetermines partition and an approximationand an approximation Encodes dependencies PM’s assume total orderPM’s assume total order disjoint subtrees indep.disjoint subtrees indep. get novel approximationsget novel approximations but must avoid fold-overbut must avoid fold-over

46 Vertex Hierarchies for View-Dependent Refinement Multiresolution representation for display incrementally move cut between frames [Xia-Varshney, Hoppe, Luebke-Erickson]incrementally move cut between frames [Xia-Varshney, Hoppe, Luebke-Erickson] move up/down where less/more detail neededmove up/down where less/more detail needed relies on frame-to-frame coherencerelies on frame-to-frame coherence can accommodate geomorphing [Hoppe]can accommodate geomorphing [Hoppe] Common application of vertex hierarchy hierarchy only guides active front evolutionhierarchy only guides active front evolution more flexibility & overhead vs. discrete multiresmore flexibility & overhead vs. discrete multires Multiresolution representation for display incrementally move cut between frames [Xia-Varshney, Hoppe, Luebke-Erickson]incrementally move cut between frames [Xia-Varshney, Hoppe, Luebke-Erickson] move up/down where less/more detail neededmove up/down where less/more detail needed relies on frame-to-frame coherencerelies on frame-to-frame coherence can accommodate geomorphing [Hoppe]can accommodate geomorphing [Hoppe] Common application of vertex hierarchy hierarchy only guides active front evolutionhierarchy only guides active front evolution more flexibility & overhead vs. discrete multiresmore flexibility & overhead vs. discrete multires

47 Further Refinement in Vertex Hierarchies Also support synthetic refinement edge contraction is an inverse of edge splitedge contraction is an inverse of edge split can synthesize temporary levels in tree by splitting edgescan synthesize temporary levels in tree by splitting edges fractal extrapolation of terrain surface, for examplefractal extrapolation of terrain surface, for example Also support synthetic refinement edge contraction is an inverse of edge splitedge contraction is an inverse of edge split can synthesize temporary levels in tree by splitting edgescan synthesize temporary levels in tree by splitting edges fractal extrapolation of terrain surface, for examplefractal extrapolation of terrain surface, for example

48 Applications Beyond Display Other important applications are appearing surface editing [Guskov et al 99]surface editing [Guskov et al 99] surface morphing [Lee et al 99]surface morphing [Lee et al 99] multiresolution radiosity [Willmott et al 99]multiresolution radiosity [Willmott et al 99] Still others seem promising Still others seem promising hierarchical bounding volumeshierarchical bounding volumes object matchingobject matching shape analysis / feature extractionshape analysis / feature extraction Other important applications are appearing surface editing [Guskov et al 99]surface editing [Guskov et al 99] surface morphing [Lee et al 99]surface morphing [Lee et al 99] multiresolution radiosity [Willmott et al 99]multiresolution radiosity [Willmott et al 99] Still others seem promising Still others seem promising hierarchical bounding volumeshierarchical bounding volumes object matchingobject matching shape analysis / feature extractionshape analysis / feature extraction

49 Multiresolution Model Summary Representations are available to support progressive transmissionprogressive transmission view-dependent refinementview-dependent refinement hierarchical computation (e.g., radiosity)hierarchical computation (e.g., radiosity) But limitations remain vertex hierarchies may over-constrain adaptationvertex hierarchies may over-constrain adaptation adaptation overhead not suitable for all casesadaptation overhead not suitable for all cases interacting multiresolution objects ignoredinteracting multiresolution objects ignored Representations are available to support progressive transmissionprogressive transmission view-dependent refinementview-dependent refinement hierarchical computation (e.g., radiosity)hierarchical computation (e.g., radiosity) But limitations remain vertex hierarchies may over-constrain adaptationvertex hierarchies may over-constrain adaptation adaptation overhead not suitable for all casesadaptation overhead not suitable for all cases interacting multiresolution objects ignoredinteracting multiresolution objects ignored

50 Looking Ahead We’ve reached a performance plateau broad range of methods for certain situationsbroad range of methods for certain situations incremental improvement of existing methodsincremental improvement of existing methods Major progress may require new techniques broader applicability of simplificationbroader applicability of simplification higher quality approximationshigher quality approximations Needs better understanding of performance how well, in general, does an algorithm perform?how well, in general, does an algorithm perform? We’ve reached a performance plateau broad range of methods for certain situationsbroad range of methods for certain situations incremental improvement of existing methodsincremental improvement of existing methods Major progress may require new techniques broader applicability of simplificationbroader applicability of simplification higher quality approximationshigher quality approximations Needs better understanding of performance how well, in general, does an algorithm perform?how well, in general, does an algorithm perform?

51 Greater Generality Many applications require non-rigid surfaces articulated models for animationarticulated models for animation Other model types have complexity issues tetrahedral volumes, spline patch surfaces,...tetrahedral volumes, spline patch surfaces,... Need to handle extremely large data sets precise scans on the order of 10 9 trianglesprecise scans on the order of 10 9 triangles this is where simplification is needed the mostthis is where simplification is needed the most even at 10 6 triangles, many algorithms faileven at 10 6 triangles, many algorithms fail Many applications require non-rigid surfaces articulated models for animationarticulated models for animation Other model types have complexity issues tetrahedral volumes, spline patch surfaces,...tetrahedral volumes, spline patch surfaces,... Need to handle extremely large data sets precise scans on the order of 10 9 trianglesprecise scans on the order of 10 9 triangles this is where simplification is needed the mostthis is where simplification is needed the most even at 10 6 triangles, many algorithms faileven at 10 6 triangles, many algorithms fail

52 Too Large for Many Methods 1,765,388 faces 80,000 faces

53 Really Too Large … 8.2 million triangles (2 mm resolution) 6.8 million triangles (¼ mm resolution) Complete data sets: 0.3–1.0 billion triangles

54 Better Topological Simplification Imperceptible holes & gaps can be removed most methods do this only implicitlymost methods do this only implicitly Few if any methods provide good control when exactly are holes removed?when exactly are holes removed? will holes above a certain size be preserved?will holes above a certain size be preserved? Requires better understanding of the model when to simplify geometry vs. topologywhen to simplify geometry vs. topology seems to benefit from more volumetric approachseems to benefit from more volumetric approach Imperceptible holes & gaps can be removed most methods do this only implicitlymost methods do this only implicitly Few if any methods provide good control when exactly are holes removed?when exactly are holes removed? will holes above a certain size be preserved?will holes above a certain size be preserved? Requires better understanding of the model when to simplify geometry vs. topologywhen to simplify geometry vs. topology seems to benefit from more volumetric approachseems to benefit from more volumetric approach

55 Better Performance Analysis Better criteria for evaluating similarity image-based metric more appropriate for displayimage-based metric more appropriate for display metrics which accurately account for attributesmetrics which accurately account for attributes Most analysis has been case-based measure/compare performance on 1 data setmeasure/compare performance on 1 data set More thorough analysis is required theoretical analysis of quality [Heckbert-Garland 99]theoretical analysis of quality [Heckbert-Garland 99] provably good approximations possible?provably good approximations possible? Better criteria for evaluating similarity image-based metric more appropriate for displayimage-based metric more appropriate for display metrics which accurately account for attributesmetrics which accurately account for attributes Most analysis has been case-based measure/compare performance on 1 data setmeasure/compare performance on 1 data set More thorough analysis is required theoretical analysis of quality [Heckbert-Garland 99]theoretical analysis of quality [Heckbert-Garland 99] provably good approximations possible?provably good approximations possible?

56 Higher Quality Approximations Poor performance at extreme reductions algorithms do much worse than humansalgorithms do much worse than humans perhaps because all transform original into resultperhaps because all transform original into result Simple iterative method quite short-sighted only look one step ahead and never reconsideronly look one step ahead and never reconsider many consider only the local effect of operationmany consider only the local effect of operation Consider separating analysis & synthesis firstbuild multi-level knowledge of surface shapefirstbuild multi-level knowledge of surface shape then proceed with simplificationthen proceed with simplification Poor performance at extreme reductions algorithms do much worse than humansalgorithms do much worse than humans perhaps because all transform original into resultperhaps because all transform original into result Simple iterative method quite short-sighted only look one step ahead and never reconsideronly look one step ahead and never reconsider many consider only the local effect of operationmany consider only the local effect of operation Consider separating analysis & synthesis firstbuild multi-level knowledge of surface shapefirstbuild multi-level knowledge of surface shape then proceed with simplificationthen proceed with simplification

57 Alternative Frameworks Greedy simplification convenient but limited directly produce contraction sequencedirectly produce contraction sequence poor choices can never be reconsideredpoor choices can never be reconsidered Other, albeit expensive, approaches possible should produce a single sequence of contractionsshould produce a single sequence of contractions graph partitioning builds sequence in reversegraph partitioning builds sequence in reverse more explicit optimization methodsmore explicit optimization methods Greedy simplification convenient but limited directly produce contraction sequencedirectly produce contraction sequence poor choices can never be reconsideredpoor choices can never be reconsidered Other, albeit expensive, approaches possible should produce a single sequence of contractionsshould produce a single sequence of contractions graph partitioning builds sequence in reversegraph partitioning builds sequence in reverse more explicit optimization methodsmore explicit optimization methods

58 Conclusions Substantial progress since 1992 simplification of 3D surfacessimplification of 3D surfaces multiresolution representations (PM, hierarchies)multiresolution representations (PM, hierarchies) application of multiresolution in different areasapplication of multiresolution in different areas There remains much room for improvement more effective, more general simplificationmore effective, more general simplification better analysis and understanding of resultsbetter analysis and understanding of results other multiresolution representationsother multiresolution representations Substantial progress since 1992 simplification of 3D surfacessimplification of 3D surfaces multiresolution representations (PM, hierarchies)multiresolution representations (PM, hierarchies) application of multiresolution in different areasapplication of multiresolution in different areas There remains much room for improvement more effective, more general simplificationmore effective, more general simplification better analysis and understanding of resultsbetter analysis and understanding of results other multiresolution representationsother multiresolution representations


Download ppt "The Problem of Detail Graphics systems are awash in model data very detailed CAD databasesvery detailed CAD databases high-precision surface scanshigh-precision."

Similar presentations


Ads by Google