View
214
Download
0
Embed Size (px)
Citation preview
New quadric metric for simplifying New quadric metric for simplifying meshes with appearance attributesmeshes with appearance attributesNew quadric metric for simplifying New quadric metric for simplifying
meshes with appearance attributesmeshes with appearance attributes
Hugues HoppeHugues HoppeMicrosoft ResearchMicrosoft Research
IEEE Visualization 1999IEEE Visualization 1999
Hugues HoppeHugues HoppeMicrosoft ResearchMicrosoft Research
IEEE Visualization 1999IEEE Visualization 1999
VV FFMeshMesh
Vertex 1 xVertex 1 x11 y y11 z z11
Vertex 2 xVertex 2 x22 y y22 z z22 … …
Face 1 2 3Face 1 2 3Face 3 2 4Face 3 2 4Face 4 2 7Face 4 2 7 … …
Triangle meshesTriangle meshesTriangle meshesTriangle meshes
- geometry- geometry
- attributes- attributes normalsnormals, , colorscolors, , texture coordstexture coords, ..., ...
pp R R33
ss R Rmm
43,000 faces43,000 faces 2,0002,000 1,0001,000
Mesh simplificationMesh simplificationMesh simplificationMesh simplification
43 faces43 faces
complex mesh, expensivecomplex mesh, expensivecomplex mesh, expensivecomplex mesh, expensive
Edge collapseEdge collapse
vv11
vv22
vv
Selection?Selection?Selection?Selection?
Previous selection techniquesPrevious selection techniquesPrevious selection techniquesPrevious selection techniques
Heuristics Heuristics (edge lengths, …)(edge lengths, …)
Residuals at sample pointsResiduals at sample points [Hoppe et al 1993], [Kobbelt et al 1998][Hoppe et al 1993], [Kobbelt et al 1998]
Tolerance trackingTolerance tracking [Gueziec 1995], [Bajaj & Schikore 1996],[Gueziec 1995], [Bajaj & Schikore 1996],
[Cohen et al 1997][Cohen et al 1997]
Quadric error metric (QEM)Quadric error metric (QEM) [Garland & Heckbert 1997,1998][Garland & Heckbert 1997,1998] very fast, reasonably accuratevery fast, reasonably accurate
Heuristics Heuristics (edge lengths, …)(edge lengths, …)
Residuals at sample pointsResiduals at sample points [Hoppe et al 1993], [Kobbelt et al 1998][Hoppe et al 1993], [Kobbelt et al 1998]
Tolerance trackingTolerance tracking [Gueziec 1995], [Bajaj & Schikore 1996],[Gueziec 1995], [Bajaj & Schikore 1996],
[Cohen et al 1997][Cohen et al 1997]
Quadric error metric (QEM)Quadric error metric (QEM) [Garland & Heckbert 1997,1998][Garland & Heckbert 1997,1998] very fast, reasonably accuratevery fast, reasonably accurate
Review of QEMReview of QEMReview of QEMReview of QEM
Minimize sum of squared distances to planesMinimize sum of squared distances to planes Minimize sum of squared distances to planesMinimize sum of squared distances to planes
(illustration in 2D)(illustration in 2D)
[Garland & Heckbert 1997][Garland & Heckbert 1997]
vv
Squared distance to plane is quadricSquared distance to plane is quadricSquared distance to plane is quadricSquared distance to plane is quadric
Given f=(Given f=(vv11,,vv22,,vv33):): Given f=(Given f=(vv11,,vv22,,vv33):):
vv11
vv22
vv33
= = vvTT((nnnnTT))vv + + 2d2dnnTTvv + + dd22
= = vvTT((AA))v v + + bbTT v v + + cc
= ( = ( AA , , bb , , cc ) ) 6 + 3 + 1 6 + 3 + 1 10 coefficients 10 coefficients
QQff((vv) = () = (nnTTvv + + dd))22
nn
((nnTTvv + + dd))
Initialization of quadricsInitialization of quadricsInitialization of quadricsInitialization of quadrics
For each vertex v in the original mesh:For each vertex v in the original mesh: For each vertex v in the original mesh:For each vertex v in the original mesh:
vf
fv QQ )()( vv
vvQQff
QQff
QQff
QQff
QQff
QQff
[Garland & Heckbert 1997][Garland & Heckbert 1997]
Simplification using quadricsSimplification using quadricsSimplification using quadricsSimplification using quadrics
vv11
vv22
vv
QQvv((vv) = Q) = Qvv11((vv) + Q) + Qvv
22((vv) = () = (AA,,bb,c),c)
vvminmin = min = minvv Q Qvv((vv) = ) = --AA-1-1 bb
Prioritize edge collapses by QPrioritize edge collapses by Qvv((vvminmin) )
QEM for attributesQEM for attributesQEM for attributesQEM for attributes
vv=(=(pp,,ss))
((pp11,,ss11))
((pp22,,ss22))
((pp33,,ss33))
pp in R in R33
ss in R in Rmm
[Garland & Heckbert 1998][Garland & Heckbert 1998]
positionposition
attributesattributes
not geometrically closestnot geometrically closest
Projection inProjection in RR3+m3+m
v’v’=(=(p’p’,,s’s’))
Q(Q(vv) = | ) = | vv – – v’v’ | |22
Resulting quadricResulting quadricResulting quadricResulting quadric
cAvQ
TT
s
pb
s
p
s
p)(
dense (3+m) dense (3+m) x (x (3+m)3+m) matrix matrix
mRv
3
s
p
quadratic spacequadratic space
Time&space complexityTime&space complexityTime&space complexityTime&space complexity
ExampleExample mm [G&H98][G&H98]
geometrygeometry 00 1010
+ color+ color 33 2828
+ normals+ normals 66 5555
+ texture coord.+ texture coord. 88 7878
In generalIn general m m > 0> 0 (4+(4+mm)(5+)(5+mm)/2)/2
Contribution: new quadric metricContribution: new quadric metricContribution: new quadric metricContribution: new quadric metric
vv=(=(pp,,ss))
((pp11,,ss11))
((pp22,,ss22))
((pp33,,ss33))
Projection inProjection in RR33 ! !
v’v’=(=(p’p’,,s’s’))
QQ = geometric error + attribute error = geometric error + attribute error
== | | p p - - p’ p’ ||2 2 + + | | s s - - s’ s’ ||22
Geometric error termGeometric error termGeometric error termGeometric error term
2
0
0
00
00
0
000
d
d
Q
T
p ,,
nnn
Zero-extended version of [Garland & Heckbert 1997]:Zero-extended version of [Garland & Heckbert 1997]:
pp ss
New quadric metric (cont’d)New quadric metric (cont’d)New quadric metric (cont’d)New quadric metric (cont’d)
vv=(=(pp,,ss))
((pp11,,ss11))
((pp22,,ss22))
((pp33,,ss33))
((p’p’,,s’s’))
QQ = geometric error + attribute error = geometric error + attribute error
== | | p p - - p’ p’ ||2 2 + + | | s s - - s’ s’ ||22
s’s’((pp) is linear ) is linear still quadratic still quadratic
Predicted attribute valuePredicted attribute valuePredicted attribute valuePredicted attribute value
00
1
1
1
3
2
1
3
2
1
j
j
j
j
j
T
T
T
T
s
s
s
d,
,
,
g
n
p
p
p
positionspositionson faceon face
face normalface normalattribute gradientattribute gradient
attributesattributeson faceon face
3Rds jTjj ppgp ,'
Attribute error termAttribute error termAttribute error termAttribute error term
2
0
0
000
010
000
0
000
jj
jj
Tj
jTjj
s dd
d
Qj
,,
g
g
ggg
22jj
Tjjjs sdssQ
j pgpv '
pp ssjj
New quadricNew quadricNew quadricNew quadric
jj
m
j jj
Tm
T
mj
Tjj
T
dd
d
d
dd
I
2211
1
,,
gn
g
g
ggggnn
m m x x mm matrix is identity matrix is identity
m
jsp j
QQQ1
vvv )(
linear spacelinear space
Time&space complexityTime&space complexityTime&space complexityTime&space complexity
ExampleExample mm [G&H98][G&H98] New New QQ
geometrygeometry 00 1010 1010
+ color+ color 33 2828 2323
+ normals+ normals 66 5555 3535
+ texture coord.+ texture coord. 88 7878 4343
In generalIn general m m > 0> 0 (4+(4+mm)(5+)(5+mm)/2)/2 11+411+4mm
Advantages of new quadricAdvantages of new quadricAdvantages of new quadricAdvantages of new quadric
Defined more intuitivelyDefined more intuitively
Requires less storage Requires less storage (linear)(linear)
Evaluates more quickly Evaluates more quickly (sparse)(sparse)
Results in more accurate simplificationResults in more accurate simplification
Defined more intuitivelyDefined more intuitively
Requires less storage Requires less storage (linear)(linear)
Evaluates more quickly Evaluates more quickly (sparse)(sparse)
Results in more accurate simplificationResults in more accurate simplification
original (79,202 faces)original (79,202 faces)
Results: image meshResults: image meshResults: image meshResults: image mesh
simplified (1,000 faces)simplified (1,000 faces)[G&H98][G&H98] New quadricNew quadric
Other improvementsOther improvementsOther improvementsOther improvements
Inspired by [Lindstrom & Turk 1998]Inspired by [Lindstrom & Turk 1998]
(details in paper)(details in paper)
Memoryless simplificationMemoryless simplification
QQvv = Q = Qvv11 + Q + Qvv
22 re-define Q re-define Q
Volume preservationVolume preservation
linear constraint (Lagrange multiplier) linear constraint (Lagrange multiplier)
Inspired by [Lindstrom & Turk 1998]Inspired by [Lindstrom & Turk 1998]
(details in paper)(details in paper)
Memoryless simplificationMemoryless simplification
QQvv = Q = Qvv11 + Q + Qvv
22 re-define Q re-define Q
Volume preservationVolume preservation
linear constraint (Lagrange multiplier) linear constraint (Lagrange multiplier)
original (135,000 faces)original (135,000 faces)
simplified (1,500 faces)simplified (1,500 faces)[G&H98][G&H98] New schemeNew scheme
Results: mesh with colorResults: mesh with colorResults: mesh with colorResults: mesh with color
Results: mesh with normalsResults: mesh with normalsResults: mesh with normalsResults: mesh with normals
originaloriginal(900,000 faces)(900,000 faces) simplified (10,000 faces)simplified (10,000 faces)
Q is just geometryQ is just geometry
fuzzyfuzzy
Q includes normalsQ includes normals
sharpsharp
Wedge attributesWedge attributesWedge attributesWedge attributes
vertexvertex
wedgewedge
>1 attribute vector>1 attribute vectorper vertexper vertex
QQvv((pp, , ss1 1 , … , , … , sskk))
Results: wedge attributesResults: wedge attributesResults: wedge attributesResults: wedge attributes
original (43,000 faces)original (43,000 faces) simplified (5,000 faces)simplified (5,000 faces)
Results: radiosity solutionResults: radiosity solutionResults: radiosity solutionResults: radiosity solution
originaloriginal(300,000 faces)(300,000 faces)
simplifiedsimplified(5,000 faces)(5,000 faces)
SummarySummarySummarySummary
New quadric error metricNew quadric error metric more intuitive, efficient, and accuratemore intuitive, efficient, and accurate
Other improvements:Other improvements: memoryless simplificationmemoryless simplification volume preservationvolume preservation
Wedge-based quadricsWedge-based quadrics
New quadric error metricNew quadric error metric more intuitive, efficient, and accuratemore intuitive, efficient, and accurate
Other improvements:Other improvements: memoryless simplificationmemoryless simplification volume preservationvolume preservation
Wedge-based quadricsWedge-based quadrics