High-Quality Simplification with Generalized Pair Contractions Pavel Borodin,* Stefan Gumhold, #...
-
date post
19-Dec-2015 -
Category
Documents
-
view
213 -
download
0
Transcript of High-Quality Simplification with Generalized Pair Contractions Pavel Borodin,* Stefan Gumhold, #...
High-Quality High-Quality Simplification with Simplification with Generalized Pair Generalized Pair
ContractionsContractions
Pavel Borodin,*Pavel Borodin,* Stefan Stefan GumholdGumhold,,##
Michael Guthe,Michael Guthe,** Reinhard Reinhard Klein*Klein*
*University of Bonn, Germany*University of Bonn, Germany##University of TUniversity of Tuebingenuebingen, ,
GermanyGermany
P. Borodin, S. Gumhold, M. Guthe, R. Klein - High-Quality SimplificatioP. Borodin, S. Gumhold, M. Guthe, R. Klein - High-Quality Simplification with Generalized Pair Contractionsn with Generalized Pair Contractions
University of Bonn University of Bonn Computer Graphics Group Computer Graphics Group22
OutlineOutline IntroductionIntroduction Related WorkRelated Work Generalized Pair Generalized Pair
ContractionsContractions Spatial Search Spatial Search Data Data
StructureStructure Simplification AlgorithmSimplification Algorithm Applications and ResultsApplications and Results ConclusionConclusion
P. Borodin, S. Gumhold, M. Guthe, R. Klein - High-Quality SimplificatioP. Borodin, S. Gumhold, M. Guthe, R. Klein - High-Quality Simplification with Generalized Pair Contractionsn with Generalized Pair Contractions
University of Bonn University of Bonn Computer Graphics Group Computer Graphics Group33
IntroductionIntroduction Polygon models are widely Polygon models are widely
usedused Permanent growth of model Permanent growth of model
complexitycomplexity Reduction is often Reduction is often
necessarynecessary Many mesh simplification Many mesh simplification
algorithmsalgorithms
Original Original modelmodel(34834 (34834
vertices)vertices)
Simplified Simplified modelmodel(3483 (3483
vertices)vertices)
More More simplificatiosimplificatio
nn(1000 (1000
vertices)vertices)
P. Borodin, S. Gumhold, M. Guthe, R. Klein - High-Quality SimplificatioP. Borodin, S. Gumhold, M. Guthe, R. Klein - High-Quality Simplification with Generalized Pair Contractionsn with Generalized Pair Contractions
University of Bonn University of Bonn Computer Graphics Group Computer Graphics Group44
IntroductionIntroduction Many models Many models
don't have don't have consistent consistent connectivityconnectivity T-verticesT-vertices self-self-
intersectionsintersections gaps and gaps and
small holessmall holes close, but not close, but not
connected connected surface partssurface parts
P. Borodin, S. Gumhold, M. Guthe, R. Klein - High-Quality SimplificatioP. Borodin, S. Gumhold, M. Guthe, R. Klein - High-Quality Simplification with Generalized Pair Contractionsn with Generalized Pair Contractions
University of Bonn University of Bonn Computer Graphics Group Computer Graphics Group55
IntroductionIntroduction Problem: vertex pair Problem: vertex pair
contractions not always sew contractions not always sew together geometrically close but together geometrically close but not incident surface partsnot incident surface parts
Unnecessarily large complexity Unnecessarily large complexity of simplified models / of simplified models / unnecessarily large errorsunnecessarily large errors
Need of more general operationsNeed of more general operations
??
P. Borodin, S. Gumhold, M. Guthe, R. Klein - High-Quality SimplificatioP. Borodin, S. Gumhold, M. Guthe, R. Klein - High-Quality Simplification with Generalized Pair Contractionsn with Generalized Pair Contractions
University of Bonn University of Bonn Computer Graphics Group Computer Graphics Group66
IntroductionIntroduction Problem: quadric error Problem: quadric error
metric does not preserve metric does not preserve sharp featuressharp features
SimplifiedSimplified200 vertices200 vertices
OriginalOriginal1972 vertices1972 vertices
QQff11
QQff22
ee QQee = Q= Qff11 + Q + Qff
22
P. Borodin, S. Gumhold, M. Guthe, R. Klein - High-Quality SimplificatioP. Borodin, S. Gumhold, M. Guthe, R. Klein - High-Quality Simplification with Generalized Pair Contractionsn with Generalized Pair Contractions
University of Bonn University of Bonn Computer Graphics Group Computer Graphics Group77
Edge collapse simplificationEdge collapse simplification[[Hoppe 1996]Hoppe 1996]
contracts twocontracts two adjacent adjacent verticesvertices performs no topology alterationperforms no topology alteration
Related WorkRelated Work
vvnewnewvv22
vv11
P. Borodin, S. Gumhold, M. Guthe, R. Klein - High-Quality SimplificatioP. Borodin, S. Gumhold, M. Guthe, R. Klein - High-Quality Simplification with Generalized Pair Contractionsn with Generalized Pair Contractions
University of Bonn University of Bonn Computer Graphics Group Computer Graphics Group88
Vertex pair contraction Vertex pair contraction simplificationsimplification
[Popovic and Hoppe[Popovic and Hoppe / / Garland and Garland and HeckbertHeckbert 1997] 1997]
the contracted vertices do not the contracted vertices do not necessarily lie on a common edgenecessarily lie on a common edge
allows topology modificationsallows topology modifications sews together unconnected parts and sews together unconnected parts and
closes small gapscloses small gaps
Related WorkRelated Work
vvnewnew
vv11vv22
P. Borodin, S. Gumhold, M. Guthe, R. Klein - High-Quality SimplificatioP. Borodin, S. Gumhold, M. Guthe, R. Klein - High-Quality Simplification with Generalized Pair Contractionsn with Generalized Pair Contractions
University of Bonn University of Bonn Computer Graphics Group Computer Graphics Group99
Vertex-edge contractions on Vertex-edge contractions on boundariesboundaries
[[Borodin et al. 2002 - Progressive Gap Borodin et al. 2002 - Progressive Gap Closing]Closing]
generalizes generalizes vertex pair vertex pair contractioncontraction contracts boundary vertex with contracts boundary vertex with
boundary edgeboundary edge improves the sewing potential of improves the sewing potential of
vertex pair contractionvertex pair contraction
Related WorkRelated Work
vvnewnew
vvvvintint
vv
ee
P. Borodin, S. Gumhold, M. Guthe, R. Klein - High-Quality SimplificatioP. Borodin, S. Gumhold, M. Guthe, R. Klein - High-Quality Simplification with Generalized Pair Contractionsn with Generalized Pair Contractions
University of Bonn University of Bonn Computer Graphics Group Computer Graphics Group1010
Generalized Pair Generalized Pair ContractionsContractions
Three new operations:Three new operations: vertex-edge contractionvertex-edge contraction vertex-triangle contractionvertex-triangle contraction edge-edge contractionedge-edge contraction
Sufficient to connect the Sufficient to connect the closest closest points of two objects points of two objects or parts of an objector parts of an object
PPerform no reduction, buterform no reduction, butincrease the connectedness increase the connectedness of the modelof the model
P. Borodin, S. Gumhold, M. Guthe, R. Klein - High-Quality SimplificatioP. Borodin, S. Gumhold, M. Guthe, R. Klein - High-Quality Simplification with Generalized Pair Contractionsn with Generalized Pair Contractions
University of Bonn University of Bonn Computer Graphics Group Computer Graphics Group1111
Generalized Pair Generalized Pair ContractionsContractions
Vertex-edge contractionVertex-edge contraction
project the vertex onto the project the vertex onto the corresponding edgecorresponding edge
insert an insert an intermediateintermediate vertex at the vertex at the projection pointprojection point ( (split split the edge and the edge and all all triangletriangles incident to its incident to it))
contract intermediate and contract intermediate and contraction verticescontraction vertices
P. Borodin, S. Gumhold, M. Guthe, R. Klein - High-Quality SimplificatioP. Borodin, S. Gumhold, M. Guthe, R. Klein - High-Quality Simplification with Generalized Pair Contractionsn with Generalized Pair Contractions
University of Bonn University of Bonn Computer Graphics Group Computer Graphics Group1212
Vertex-triangle contractionVertex-triangle contraction
project the vertex onto the project the vertex onto the corresponding corresponding triangletriangle
insert an insert an intermediateintermediate vertex at vertex at the projection pointthe projection point ( (split split the the triangle)triangle)
contract intermediate and contract intermediate and contraction verticescontraction vertices
Generalized Pair Generalized Pair ContractionsContractions
P. Borodin, S. Gumhold, M. Guthe, R. Klein - High-Quality SimplificatioP. Borodin, S. Gumhold, M. Guthe, R. Klein - High-Quality Simplification with Generalized Pair Contractionsn with Generalized Pair Contractions
University of Bonn University of Bonn Computer Graphics Group Computer Graphics Group1313
Generalized Pair Generalized Pair ContractionsContractions
Edge-edge contractionEdge-edge contraction
find the closest pointsfind the closest points on the on the corresponding edgecorresponding edgess
insert two insert two intermediateintermediate verticesvertices at at thesethese point pointss((split split both edges and all both edges and all triangletriangles s incident to themincident to them))
contract two intermediate verticescontract two intermediate vertices
P. Borodin, S. Gumhold, M. Guthe, R. Klein - High-Quality SimplificatioP. Borodin, S. Gumhold, M. Guthe, R. Klein - High-Quality Simplification with Generalized Pair Contractionsn with Generalized Pair Contractions
University of Bonn University of Bonn Computer Graphics Group Computer Graphics Group1414
Generalized Pair Generalized Pair ContractionsContractions
Ordering of operationsOrdering of operations Quadric error metric Quadric error metric [[Garland Garland
& Heckbert& Heckbert 1997] 1997] Problem: no control of the Problem: no control of the real real geometric errorgeometric error
Problem: Problem: error accumulation error accumulation at at flat regions with noiseflat regions with noise
vv00 vv11 vv44 vv55 vv88 vv99
vv22 vv33 vv66 vv77
vv00 vv11 vv44 vv55 vv88 vv99
vv1010vv1111
QQ10 10 = Q= Q22 + Q + Q33
QQ1111 = Q = Q66 + Q + Q77
QQ1212 = Q= Q11 + Q + Q1010
QQ1313 = Q = Q55 + Q + Q1111
QQ1414 = Q = Q1212 + Q + Q4 4 = =
= = QQ11 + Q + Q22 + Q+ Q33 + Q+ Q44
QQ1515 = Q = Q1313 + Q + Q88 = =
= = QQ55 + Q + Q66 + Q+ Q77 + Q+ Q88
vv00 vv99
vv1414 vv1515
vv00 vv44 vv88 vv99
vv1212 vv1313
P. Borodin, S. Gumhold, M. Guthe, R. Klein - High-Quality SimplificatioP. Borodin, S. Gumhold, M. Guthe, R. Klein - High-Quality Simplification with Generalized Pair Contractionsn with Generalized Pair Contractions
University of Bonn University of Bonn Computer Graphics Group Computer Graphics Group1515
Generalized Pair Generalized Pair ContractionsContractions
Ordering of operationsOrdering of operations Non-accumulating Non-accumulating error error
quadricsquadrics Preprocessing phase:Preprocessing phase:calculate initial error quadrics for calculate initial error quadrics for all verticesall vertices
Intermediate vertex created:Intermediate vertex created:calculate its quadric from the calculate its quadric from the incident trianglesincident triangles
Contraction operation performed:Contraction operation performed:calculate quadric of a new vertex,calculate quadric of a new vertex,recalculate quadrics of all recalculate quadrics of all adjacent verticesadjacent vertices
P. Borodin, S. Gumhold, M. Guthe, R. Klein - High-Quality SimplificatioP. Borodin, S. Gumhold, M. Guthe, R. Klein - High-Quality Simplification with Generalized Pair Contractionsn with Generalized Pair Contractions
University of Bonn University of Bonn Computer Graphics Group Computer Graphics Group1616
Generalized Pair Generalized Pair ContractionsContractions
Ordering of operationsOrdering of operations Error testError test before the operation: before the operation:
calculate the local one-sided calculate the local one-sided Hausdorff distanceHausdorff distance after the after the operation from the original to the operation from the original to the simplified meshsimplified mesh
if this error exceeds the predefined if this error exceeds the predefined threshold threshold ddmaxmax, the operation is , the operation is rejectedrejected
Guarantees maximum geometric Guarantees maximum geometric distance between original and distance between original and simplified modelsimplified model
P. Borodin, S. Gumhold, M. Guthe, R. Klein - High-Quality SimplificatioP. Borodin, S. Gumhold, M. Guthe, R. Klein - High-Quality Simplification with Generalized Pair Contractionsn with Generalized Pair Contractions
University of Bonn University of Bonn Computer Graphics Group Computer Graphics Group1717
Generalized Pair Generalized Pair ContractionsContractions
Ordering of operationsOrdering of operations Approximation of the Hausdorff distance is Approximation of the Hausdorff distance is
used to order the possible operations:used to order the possible operations:
- accumulated errors of simplices - accumulated errors of simplices ss11 and and ss22
- local one-sided Hausdorff - local one-sided Hausdorff distancedistance before the operation before the operation
- quadric error of the operation- quadric error of the operation - approximation of the distance - approximation of the distance
betweenbetween meshes before and after the meshes before and after the operationoperation
( ) 1/ 21 2
s s s qd = max d ,d + e
( )1 2s smax d ,d
1 2s sd ,d
qe1/ 2 qe
P. Borodin, S. Gumhold, M. Guthe, R. Klein - High-Quality SimplificatioP. Borodin, S. Gumhold, M. Guthe, R. Klein - High-Quality Simplification with Generalized Pair Contractionsn with Generalized Pair Contractions
University of Bonn University of Bonn Computer Graphics Group Computer Graphics Group1818
Generalized Pair Generalized Pair ContractionsContractions
Handling of sharp featuresHandling of sharp features Feature edgesFeature edges and and feature feature
verticesvertices: all incident faces are : all incident faces are inside chosen small angle inside chosen small angle maxmax
For each feature:For each feature: generategenerate average average plane plane PPaa of all of all
incident facesincident faces generategenerate constraint constraint plane plane PPcc running running
through the feature and through the feature and perpendicular to perpendicular to PPaa
add the quadric of add the quadric of PPcc to the quadrics to the quadrics of of appropriateappropriate vertices vertices
<< maxmax
PPaa PPaa
PPcc
P. Borodin, S. Gumhold, M. Guthe, R. Klein - High-Quality SimplificatioP. Borodin, S. Gumhold, M. Guthe, R. Klein - High-Quality Simplification with Generalized Pair Contractionsn with Generalized Pair Contractions
University of Bonn University of Bonn Computer Graphics Group Computer Graphics Group1919
Generalized Pair Generalized Pair ContractionsContractions
Handling of sharp featuresHandling of sharp features
200 vertices, features 200 vertices, features not preservednot preserved
200 vertices,200 vertices, features features preservedpreserved
Original with detected Original with detected featuresfeatures
P. Borodin, S. Gumhold, M. Guthe, R. Klein - High-Quality SimplificatioP. Borodin, S. Gumhold, M. Guthe, R. Klein - High-Quality Simplification with Generalized Pair Contractionsn with Generalized Pair Contractions
University of Bonn University of Bonn Computer Graphics Group Computer Graphics Group2020
Spatial Search Spatial Search Data Data StructureStructure
Queries:Queries: for given vertex find closest non-for given vertex find closest non-incident simplexincident simplex
for given edge find closest non-for given edge find closest non-incident edgeincident edge
need of spatial search need of spatial search data data structurestructure
During simplification simplices are During simplification simplices are eliminated and created eliminated and created support of support of fast dynamic updatesfast dynamic updates
Regular gridRegular grid average edge length as cell side average edge length as cell side lengthlength
P. Borodin, S. Gumhold, M. Guthe, R. Klein - High-Quality SimplificatioP. Borodin, S. Gumhold, M. Guthe, R. Klein - High-Quality Simplification with Generalized Pair Contractionsn with Generalized Pair Contractions
University of Bonn University of Bonn Computer Graphics Group Computer Graphics Group2121
Simplification AlgorithmSimplification Algorithm Preprocessing: Preprocessing:
Initialization of the gridInitialization of the grid Identification of corresponding Identification of corresponding
pairspairs For For eacheach vertex vertex the corresponding the corresponding simplexsimplex(vertex, edge or triangle) is found(vertex, edge or triangle) is found
For For somesome edges edges the corresponding the corresponding edge is foundedge is found
The references to the found The references to the found simplices are storedsimplices are stored
Pairs are inserted into the Pairs are inserted into the priority queuepriority queue according to according to their errorstheir errors
P. Borodin, S. Gumhold, M. Guthe, R. Klein - High-Quality SimplificatioP. Borodin, S. Gumhold, M. Guthe, R. Klein - High-Quality Simplification with Generalized Pair Contractionsn with Generalized Pair Contractions
University of Bonn University of Bonn Computer Graphics Group Computer Graphics Group2222
Simplification AlgorithmSimplification Algorithm Decimation loopDecimation loop
Pop next operation from the Pop next operation from the priority queuepriority queue
Before the operation:Before the operation: normal testnormal test minimal angle testminimal angle test error testerror test collision testcollision test
After the operation:After the operation: update the gridupdate the grid update all affected simplex pairsupdate all affected simplex pairs update the priority queueupdate the priority queue
P. Borodin, S. Gumhold, M. Guthe, R. Klein - High-Quality SimplificatioP. Borodin, S. Gumhold, M. Guthe, R. Klein - High-Quality Simplification with Generalized Pair Contractionsn with Generalized Pair Contractions
University of Bonn University of Bonn Computer Graphics Group Computer Graphics Group2323
Applications and ResultsApplications and Results Controlled topology Controlled topology
modifying simplificationmodifying simplificationand mesh repairand mesh repair
Original model with Original model with 4288 vertices4288 verticesModel courtesy of Model courtesy of
DaimlerChrysler AGDaimlerChrysler AG
P. Borodin, S. Gumhold, M. Guthe, R. Klein - High-Quality SimplificatioP. Borodin, S. Gumhold, M. Guthe, R. Klein - High-Quality Simplification with Generalized Pair Contractionsn with Generalized Pair Contractions
University of Bonn University of Bonn Computer Graphics Group Computer Graphics Group2424
Applications and ResultsApplications and Results Controlled topology Controlled topology
modifying simplificationmodifying simplificationand mesh repairand mesh repair
500 vertices500 verticesvertex pair vertex pair
contractionscontractions
500 vertices500 verticesgeneralized pair generalized pair
contractionscontractions
P. Borodin, S. Gumhold, M. Guthe, R. Klein - High-Quality SimplificatioP. Borodin, S. Gumhold, M. Guthe, R. Klein - High-Quality Simplification with Generalized Pair Contractionsn with Generalized Pair Contractions
University of Bonn University of Bonn Computer Graphics Group Computer Graphics Group2525
Applications and ResultsApplications and Results Controlled topology Controlled topology
modifying simplificationmodifying simplificationand mesh repairand mesh repair
125 vertices125 verticesvertex pair vertex pair
contractionscontractions
125 vertices125 verticesgeneralized pair generalized pair
contractionscontractions
P. Borodin, S. Gumhold, M. Guthe, R. Klein - High-Quality SimplificatioP. Borodin, S. Gumhold, M. Guthe, R. Klein - High-Quality Simplification with Generalized Pair Contractionsn with Generalized Pair Contractions
University of Bonn University of Bonn Computer Graphics Group Computer Graphics Group2626
Applications and ResultsApplications and Results
4467 vertices4467 verticesoriginaloriginal
250 vertices250 verticesgener. pair gener. pair
contractionscontractions
250 vertices250 verticesvertex pair vertex pair
contractionscontractions
P. Borodin, S. Gumhold, M. Guthe, R. Klein - High-Quality SimplificatioP. Borodin, S. Gumhold, M. Guthe, R. Klein - High-Quality Simplification with Generalized Pair Contractionsn with Generalized Pair Contractions
University of Bonn University of Bonn Computer Graphics Group Computer Graphics Group2727
Applications and ResultsApplications and Results Out-of-core simplificationOut-of-core simplification
Cutting the model into subparts Cutting the model into subparts and simplifying each subpart and simplifying each subpart independentlyindependently
Gaps are automatically closed Gaps are automatically closed when subparts are simplified when subparts are simplified togethertogether
Vertex pair Vertex pair contractionscontractions
Generalized pair Generalized pair contractionscontractions
P. Borodin, S. Gumhold, M. Guthe, R. Klein - High-Quality SimplificatioP. Borodin, S. Gumhold, M. Guthe, R. Klein - High-Quality Simplification with Generalized Pair Contractionsn with Generalized Pair Contractions
University of Bonn University of Bonn Computer Graphics Group Computer Graphics Group2828
Applications and ResultsApplications and Results
OriginalOriginal1 087 716 1 087 716
facesfaces
OEMM-OEMM-QEMQEM
18 338 18 338 facesfaces
Stream Stream decimationdecimation
18 486 18 486 facesfaces
Our Our methodmethod18 338 18 338 facesfaces
P. Borodin, S. Gumhold, M. Guthe, R. Klein - High-Quality SimplificatioP. Borodin, S. Gumhold, M. Guthe, R. Klein - High-Quality Simplification with Generalized Pair Contractionsn with Generalized Pair Contractions
University of Bonn University of Bonn Computer Graphics Group Computer Graphics Group2929
Applications and ResultsApplications and Results Out-of-core simplificationOut-of-core simplification
OriginalOriginal1 087 716 1 087 716
facesfaces
OEMM-QEMOEMM-QEM18 338 faces18 338 faces
error = error = 0.82%0.82%
Stream Stream decimationdecimation
18 486 faces18 486 faceserror = error = 0.82%0.82%
Our methodOur method18 338 faces18 338 faces
error = error = 0.26%0.26%
P. Borodin, S. Gumhold, M. Guthe, R. Klein - High-Quality SimplificatioP. Borodin, S. Gumhold, M. Guthe, R. Klein - High-Quality Simplification with Generalized Pair Contractionsn with Generalized Pair Contractions
University of Bonn University of Bonn Computer Graphics Group Computer Graphics Group3030
Applications and ResultsApplications and Results Out-of-core simplificationOut-of-core simplification
Error quadrics are not Error quadrics are not accumulatedaccumulated
better simplification of flat better simplification of flat regions with noiseregions with noise
OEMM-QEMOEMM-QEM18 338 faces18 338 faces
error = 0.82%error = 0.82%
Stream Stream decimationdecimation
18 486 faces18 486 faceserror = 0.82%error = 0.82%
Our methodOur method18 338 faces18 338 faces
error = 0.26%error = 0.26%
P. Borodin, S. Gumhold, M. Guthe, R. Klein - High-Quality SimplificatioP. Borodin, S. Gumhold, M. Guthe, R. Klein - High-Quality Simplification with Generalized Pair Contractionsn with Generalized Pair Contractions
University of Bonn University of Bonn Computer Graphics Group Computer Graphics Group3131
ConclusionConclusion A strategy to generate high A strategy to generate high
quality approximations for models quality approximations for models with arbitrary topologywith arbitrary topology
Generalized pair contraction Generalized pair contraction operations introducedoperations introduced
Allow to remove gaps and holes Allow to remove gaps and holes and integrate the automatic and integrate the automatic connection of close surface partsconnection of close surface parts
Guaranteed maximum geometric Guaranteed maximum geometric distance between original and distance between original and simplified modelsimplified model
Simplification controlled by a Simplification controlled by a geometric errorgeometric error
P. Borodin, S. Gumhold, M. Guthe, R. Klein - High-Quality SimplificatioP. Borodin, S. Gumhold, M. Guthe, R. Klein - High-Quality Simplification with Generalized Pair Contractionsn with Generalized Pair Contractions
University of Bonn University of Bonn Computer Graphics Group Computer Graphics Group3232
Future Work (already Future Work (already done)done)
Intersection free Intersection free simplificationsimplification
Out-of-core simplificationOut-of-core simplification View-dependent out-of-core View-dependent out-of-core
visualizationvisualization
P. Borodin, S. Gumhold, M. Guthe, R. Klein - High-Quality SimplificatioP. Borodin, S. Gumhold, M. Guthe, R. Klein - High-Quality Simplification with Generalized Pair Contractionsn with Generalized Pair Contractions
University of Bonn University of Bonn Computer Graphics Group Computer Graphics Group3333
Thank youThank you