surface simplification using quadric error metrics michael garland paul s. heckbert
TRANSCRIPT
![Page 1: Surface Simplification Using Quadric Error Metrics Michael Garland Paul S. Heckbert](https://reader036.vdocuments.site/reader036/viewer/2022062308/56649e4c5503460f94b40f1f/html5/thumbnails/1.jpg)
Surface Simplification Using Quadric Error Metrics
Michael Garland Paul S. Heckbert
![Page 2: Surface Simplification Using Quadric Error Metrics Michael Garland Paul S. Heckbert](https://reader036.vdocuments.site/reader036/viewer/2022062308/56649e4c5503460f94b40f1f/html5/thumbnails/2.jpg)
Why Simplification? Full complexity of models is not
always required Reduce the computational cost Get fast processing speed
![Page 3: Surface Simplification Using Quadric Error Metrics Michael Garland Paul S. Heckbert](https://reader036.vdocuments.site/reader036/viewer/2022062308/56649e4c5503460f94b40f1f/html5/thumbnails/3.jpg)
Objective Find a surface simplification
algorithm that can be used in rendering systems for multiresolution model Efficient Good quality Generality
Join unconnected regions of the model together ---- aggregation
![Page 4: Surface Simplification Using Quadric Error Metrics Michael Garland Paul S. Heckbert](https://reader036.vdocuments.site/reader036/viewer/2022062308/56649e4c5503460f94b40f1f/html5/thumbnails/4.jpg)
Categories of surface simplification algorithms Vertex Decimation Vertex Clustering Iterative Edge Contraction
![Page 5: Surface Simplification Using Quadric Error Metrics Michael Garland Paul S. Heckbert](https://reader036.vdocuments.site/reader036/viewer/2022062308/56649e4c5503460f94b40f1f/html5/thumbnails/5.jpg)
Vertex Decimation Basic idea
Iteratively selects a vertex for removal, removes all adjacent faces, and retriangulates the resulting hole.
Pros: provide reasonable efficiency and quality
Cons: only limited to manifold surfaces
![Page 6: Surface Simplification Using Quadric Error Metrics Michael Garland Paul S. Heckbert](https://reader036.vdocuments.site/reader036/viewer/2022062308/56649e4c5503460f94b40f1f/html5/thumbnails/6.jpg)
Vertex Clustering Basic idea
A bounding box is placed around the original model and divided into grids
Vertices within each cell are clustered together into a single vertex and model faces are updated accordingly
Pros: Fast Can make drastic topological alterations
Cons Output quality is very low
![Page 7: Surface Simplification Using Quadric Error Metrics Michael Garland Paul S. Heckbert](https://reader036.vdocuments.site/reader036/viewer/2022062308/56649e4c5503460f94b40f1f/html5/thumbnails/7.jpg)
Iterative Edge Contraction
Cons: do not support aggregation
![Page 8: Surface Simplification Using Quadric Error Metrics Michael Garland Paul S. Heckbert](https://reader036.vdocuments.site/reader036/viewer/2022062308/56649e4c5503460f94b40f1f/html5/thumbnails/8.jpg)
Assumptions Model only consists of triangles The topology of the model need
not to be maintained In a good approximation, points do
not move far from their original positions
![Page 9: Surface Simplification Using Quadric Error Metrics Michael Garland Paul S. Heckbert](https://reader036.vdocuments.site/reader036/viewer/2022062308/56649e4c5503460f94b40f1f/html5/thumbnails/9.jpg)
Algorithm overview Iteratively contract vertex pairs ( a
generalization of edge contraction) As the algorithm proceeds, a
geometric error approximation is maintained at each vertex of the model which is represented using quadric matrices
The algorithm proceeds until the simplification goals are satisfied.
![Page 10: Surface Simplification Using Quadric Error Metrics Michael Garland Paul S. Heckbert](https://reader036.vdocuments.site/reader036/viewer/2022062308/56649e4c5503460f94b40f1f/html5/thumbnails/10.jpg)
Pair Contraction
![Page 11: Surface Simplification Using Quadric Error Metrics Michael Garland Paul S. Heckbert](https://reader036.vdocuments.site/reader036/viewer/2022062308/56649e4c5503460f94b40f1f/html5/thumbnails/11.jpg)
Advantages of pair contraction Achieve aggregation, which can
join previously unconnected regions of the model together
Algorithm is less sensitive to the mesh connectivity of the original model
![Page 12: Surface Simplification Using Quadric Error Metrics Michael Garland Paul S. Heckbert](https://reader036.vdocuments.site/reader036/viewer/2022062308/56649e4c5503460f94b40f1f/html5/thumbnails/12.jpg)
Edge contraction vs. pair contraction
Regular grid of 100 closely spaced cubes
Approximation using edge contraction
Approximation using pair contraction
![Page 13: Surface Simplification Using Quadric Error Metrics Michael Garland Paul S. Heckbert](https://reader036.vdocuments.site/reader036/viewer/2022062308/56649e4c5503460f94b40f1f/html5/thumbnails/13.jpg)
Pair Selection Select the set of valid pairs at
initialization time A pair (V1, V2) is a valid pair for
contraction if either: (V1, V2) is an edge, or ||V1 – V2|| < t, where t is a threshold
parameter
![Page 14: Surface Simplification Using Quadric Error Metrics Michael Garland Paul S. Heckbert](https://reader036.vdocuments.site/reader036/viewer/2022062308/56649e4c5503460f94b40f1f/html5/thumbnails/14.jpg)
Pair contraction Initially, each vertex is associated with
the set of pairs of which it is a member After performing contraction (V1, V2) → V1
V1 acquires all the edges that were linked to V2
Merge the set of pairs from V2 into its own set and remove duplicate pairs
![Page 15: Surface Simplification Using Quadric Error Metrics Michael Garland Paul S. Heckbert](https://reader036.vdocuments.site/reader036/viewer/2022062308/56649e4c5503460f94b40f1f/html5/thumbnails/15.jpg)
Error approximation Associate a symmetric 44 matrix Q
with each vertex The error at vertex v is defined as
the quadratic form: ∆(v) = vTQv. For a given contraction (v1, v2) → v’,
a new matrix Q’ needs to be derived to approximate the error at v’. Q’ = Q1 + Q2
![Page 16: Surface Simplification Using Quadric Error Metrics Michael Garland Paul S. Heckbert](https://reader036.vdocuments.site/reader036/viewer/2022062308/56649e4c5503460f94b40f1f/html5/thumbnails/16.jpg)
Find the position for v’
Simply select either v1, v2, or (v1+v2)/2 which produces the lowest value of error at v’ (∆(v’) = v’TQ’v’).
Find a position for v’ which minimizes ∆(v’)
1
0
0
0
1000
1
34332313
24232212
14131211
qqqqqqqqqqqq
V
![Page 17: Surface Simplification Using Quadric Error Metrics Michael Garland Paul S. Heckbert](https://reader036.vdocuments.site/reader036/viewer/2022062308/56649e4c5503460f94b40f1f/html5/thumbnails/17.jpg)
Compute the initial Q matrices Associate a set of planes with each
vertex Define the error of the vertex as
the sum of squared distances to the planes 2
)(
1
vplanesp
TT
zyxVV pvvv
Here p=[a b c d]T represents the plane defined by equation ax+by+cz+d=0, and a2+b2+c2=1
![Page 18: Surface Simplification Using Quadric Error Metrics Michael Garland Paul S. Heckbert](https://reader036.vdocuments.site/reader036/viewer/2022062308/56649e4c5503460f94b40f1f/html5/thumbnails/18.jpg)
Quadratic form
VKVVVplanespp
T
)(
)(
2
2
2
2
dcdbdad
cdcbcac
bdbcbab
adacaba
ppTpK
Kp is defined as “fundamental error quadric”.
![Page 19: Surface Simplification Using Quadric Error Metrics Michael Garland Paul S. Heckbert](https://reader036.vdocuments.site/reader036/viewer/2022062308/56649e4c5503460f94b40f1f/html5/thumbnails/19.jpg)
Algorithm summary Compute the Q matrices for all the initial vertices Select all valid pairs and compute the optimal
contraction target v’ for each valid pair (v1, v2). The cost of contracting the pair is computed as:
v’T(Q1+Q2)V’ Place all the pairs in a heap keyed on cost with
the minimum cost pair at the top Iteratively remove the pair (v1, v2) of the least
cost from the heap, contract this pair and update the costs of all valid pairs involving v1, v2.
![Page 20: Surface Simplification Using Quadric Error Metrics Michael Garland Paul S. Heckbert](https://reader036.vdocuments.site/reader036/viewer/2022062308/56649e4c5503460f94b40f1f/html5/thumbnails/20.jpg)
Approximation evaluation The approximation error Ei of the
simplified model Mi is defined as:
in Xvn
Xvi
ini MvdMvd
XXE ,,
1 22
Mn ---- the initial model. Xn ---- sets of points sampled on model Mn
Xi ---- sets of points sampled on model Mi
pvMvd Mp min),(
![Page 21: Surface Simplification Using Quadric Error Metrics Michael Garland Paul S. Heckbert](https://reader036.vdocuments.site/reader036/viewer/2022062308/56649e4c5503460f94b40f1f/html5/thumbnails/21.jpg)
Result(1) ---- an example sequence of approximations
An example sequence of approximations generated by the algorithm. The entire sequence was constructed in about one second.
5,804 faces
994 faces
532 faces
248 faces
64 faces
![Page 22: Surface Simplification Using Quadric Error Metrics Michael Garland Paul S. Heckbert](https://reader036.vdocuments.site/reader036/viewer/2022062308/56649e4c5503460f94b40f1f/html5/thumbnails/22.jpg)
Result(2) – sample running times
Time needed to make a 10 face approximation of the given model.
![Page 23: Surface Simplification Using Quadric Error Metrics Michael Garland Paul S. Heckbert](https://reader036.vdocuments.site/reader036/viewer/2022062308/56649e4c5503460f94b40f1f/html5/thumbnails/23.jpg)
Result(3) – effect of optimal vertex placement
Choosing an optimal position can significantly reduce approximation error.
![Page 24: Surface Simplification Using Quadric Error Metrics Michael Garland Paul S. Heckbert](https://reader036.vdocuments.site/reader036/viewer/2022062308/56649e4c5503460f94b40f1f/html5/thumbnails/24.jpg)
Result(4) ---- bunny model
69,451 triangles
1,000 triangles
100 triangles1.4% of original
size0.14% of original size
![Page 25: Surface Simplification Using Quadric Error Metrics Michael Garland Paul S. Heckbert](https://reader036.vdocuments.site/reader036/viewer/2022062308/56649e4c5503460f94b40f1f/html5/thumbnails/25.jpg)
Result(5) ---- Terrain model
199,114 faces
999 faces (46 secs)
![Page 26: Surface Simplification Using Quadric Error Metrics Michael Garland Paul S. Heckbert](https://reader036.vdocuments.site/reader036/viewer/2022062308/56649e4c5503460f94b40f1f/html5/thumbnails/26.jpg)
Result(6) ---- comparison between different methods
Original model
Uniform Vertex Clustering
Edge Contractions
Pair Contractions
(4,204 faces)
(262 faces)
(250 faces)
(250 faces)
![Page 27: Surface Simplification Using Quadric Error Metrics Michael Garland Paul S. Heckbert](https://reader036.vdocuments.site/reader036/viewer/2022062308/56649e4c5503460f94b40f1f/html5/thumbnails/27.jpg)
Result(7) ---- level surfaces of error quadrics
1000 face approximation
250 face approximation
![Page 28: Surface Simplification Using Quadric Error Metrics Michael Garland Paul S. Heckbert](https://reader036.vdocuments.site/reader036/viewer/2022062308/56649e4c5503460f94b40f1f/html5/thumbnails/28.jpg)
Result(8) ---- initially valid pairs
![Page 29: Surface Simplification Using Quadric Error Metrics Michael Garland Paul S. Heckbert](https://reader036.vdocuments.site/reader036/viewer/2022062308/56649e4c5503460f94b40f1f/html5/thumbnails/29.jpg)
Result(9) -- effect of pair thresholds
![Page 30: Surface Simplification Using Quadric Error Metrics Michael Garland Paul S. Heckbert](https://reader036.vdocuments.site/reader036/viewer/2022062308/56649e4c5503460f94b40f1f/html5/thumbnails/30.jpg)
Conclusion
This paper presents a surface simplification algorithm using iterative pair contractions and quadric error metrics.
The algorithm can provide high efficiency, high quality and high generality.
![Page 31: Surface Simplification Using Quadric Error Metrics Michael Garland Paul S. Heckbert](https://reader036.vdocuments.site/reader036/viewer/2022062308/56649e4c5503460f94b40f1f/html5/thumbnails/31.jpg)
Future works Use a more sophisticated adaptive
scheme to select valid pairs Take the color of surface into
account