Transcript
Page 1: User-Guided Simplification

User-Guided Simplification

Youngihn KhoYoungihn Kho

Michael GarlandMichael GarlandUniversity of Illinois at Urbana–ChampaignUniversity of Illinois at Urbana–Champaign

Youngihn KhoYoungihn Kho

Michael GarlandMichael GarlandUniversity of Illinois at Urbana–ChampaignUniversity of Illinois at Urbana–Champaign

Page 2: User-Guided Simplification

Surface Simplification

5,804 faces5,804 faces 780 faces780 faces

Page 3: User-Guided Simplification

Previous simplifications

Most of previous algorithms are fully automatic• generally work well, butgenerally work well, but• weak at higher-level semanticsweak at higher-level semantics• user-guidance can improve the qualityuser-guidance can improve the quality

Semi-automatic methods• Zetaeta (Cignoni (Cignoni et alet al. ’97). ’97)

• SemisimpSemisimp (Li and Watson ’01) (Li and Watson ’01)

• User-Controlled Creation of Multiresolution User-Controlled Creation of Multiresolution MeshesMeshes

((Pojar and Pojar and Schmalstieg Schmalstieg ’03’03))

Most of previous algorithms are fully automatic• generally work well, butgenerally work well, but• weak at higher-level semanticsweak at higher-level semantics• user-guidance can improve the qualityuser-guidance can improve the quality

Semi-automatic methods• Zetaeta (Cignoni (Cignoni et alet al. ’97). ’97)

• SemisimpSemisimp (Li and Watson ’01) (Li and Watson ’01)

• User-Controlled Creation of Multiresolution User-Controlled Creation of Multiresolution MeshesMeshes

((Pojar and Pojar and Schmalstieg Schmalstieg ’03’03))

Page 4: User-Guided Simplification

User Guidance can be Useful

We propose a user-guided simplificationWe propose a user-guided simplification• directly guide simplification processesdirectly guide simplification processes

• users freely interact at any levelusers freely interact at any level

• Built Built on top of on top of quadric-based simplification quadric-based simplification

(Garland and Heckbert ’97)(Garland and Heckbert ’97)

We propose a user-guided simplificationWe propose a user-guided simplification• directly guide simplification processesdirectly guide simplification processes

• users freely interact at any levelusers freely interact at any level

• Built Built on top of on top of quadric-based simplification quadric-based simplification

(Garland and Heckbert ’97)(Garland and Heckbert ’97)

Page 5: User-Guided Simplification

Iterative Edge Contraction

Starting from the original model, Starting from the original model, iterativelyiteratively• 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

• generate vertex treegenerate vertex tree

Starting from the original model, Starting from the original model, iterativelyiteratively• 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

• generate vertex treegenerate vertex tree

Page 6: User-Guided Simplification

Quadric-Error Metric

Given a plane, a Given a plane, a quadricquadric Q is defined as Q is defined asGiven a plane, a Given a plane, a quadricquadric Q is defined as Q is defined as

Squared distance of point to plane isSquared distance of point to plane isSquared distance of point to plane isSquared distance of point to plane is

Sum of quadrics represents set of planesSum of quadrics represents set of planesSum of quadrics represents set of planesSum of quadrics represents set of planes

Page 7: User-Guided Simplification

Quadric-Error Metric

Each edge has an associated quadric Each edge has an associated quadric • sum of quadrics for its two verticessum of quadrics for its two vertices

• find a vertex find a vertex vv** minimizing minimizing QQ((vv**))

Each edge has an associated quadric Each edge has an associated quadric • sum of quadrics for its two verticessum of quadrics for its two vertices

• find a vertex find a vertex vv** minimizing minimizing QQ((vv**))

After the edge contraction After the edge contraction • the vertex the vertex vv** accumulates the associated accumulates the associated

quadricsquadrics

After the edge contraction After the edge contraction • the vertex the vertex vv** accumulates the associated accumulates the associated

quadricsquadrics

Page 8: User-Guided Simplification

How to Guide Simplification:Manipulate Quadrics

In the quadric-based algorithmIn the quadric-based algorithm• contraction order and optimal positions are contraction order and optimal positions are

crucialcrucial

• quadrics determine bothquadrics determine both

We manipulate quadrics in two main waysWe manipulate quadrics in two main ways• weighting quadricsweighting quadrics

• adding constraint quadricsadding constraint quadrics

In the quadric-based algorithmIn the quadric-based algorithm• contraction order and optimal positions are contraction order and optimal positions are

crucialcrucial

• quadrics determine bothquadrics determine both

We manipulate quadrics in two main waysWe manipulate quadrics in two main ways• weighting quadricsweighting quadrics

• adding constraint quadricsadding constraint quadrics

Page 9: User-Guided Simplification

Weighting Quadrics:Control Contraction Costs

We weight quadricsWe weight quadricsWe weight quadricsWe weight quadrics

Heavy weights are appliedHeavy weights are applied• on feature areason feature areas

• increase contraction costsincrease contraction costs

Also changes optimal positionsAlso changes optimal positions• a desirable side effecta desirable side effect

Heavy weights are appliedHeavy weights are applied• on feature areason feature areas

• increase contraction costsincrease contraction costs

Also changes optimal positionsAlso changes optimal positions• a desirable side effecta desirable side effect

Feature areas are paintedFeature areas are painted

Page 10: User-Guided Simplification

Constraint Quadrics:Control Optimal Positions

We can define constraint planes We can define constraint planes • add their quadrics to appropriate vertices add their quadrics to appropriate vertices

• bias optimal positionsbias optimal positions

• increase contraction costs -> store separatelyincrease contraction costs -> store separately

We can define constraint planes We can define constraint planes • add their quadrics to appropriate vertices add their quadrics to appropriate vertices

• bias optimal positionsbias optimal positions

• increase contraction costs -> store separatelyincrease contraction costs -> store separately

Page 11: User-Guided Simplification

We Propose Three types ofConstraint Quadrics

Contour ConstraintsContour Constraints Point ConstraintsPoint ConstraintsPlane ConstraintsPlane Constraints

Page 12: User-Guided Simplification

Example : Contour Constraint

Page 13: User-Guided Simplification

Example : Point Constraint

Page 14: User-Guided Simplification

We Need:New Propagation Rules

Users want to freely interact at any levelUsers want to freely interact at any level• affect both simplification and refinement affect both simplification and refinement

processprocess

• vertex tree structures may be changedvertex tree structures may be changed

• constraint quadrics and constraint quadrics and representative representative weightsweights

should be appropriately propagated.should be appropriately propagated.

Users want to freely interact at any levelUsers want to freely interact at any level• affect both simplification and refinement affect both simplification and refinement

processprocess

• vertex tree structures may be changedvertex tree structures may be changed

• constraint quadrics and constraint quadrics and representative representative weightsweights

should be appropriately propagated.should be appropriately propagated.

Page 15: User-Guided Simplification

Propagation:Constraint Quadrics

Page 16: User-Guided Simplification

Propagation:Representative Weight

Page 17: User-Guided Simplification

Error Analysis:Relative Error Distribution

Fully automaticFully automatic User-guidedUser-guided

Page 18: User-Guided Simplification

Conclusion

New interactive simplification systemNew interactive simplification system• extends an existing QSlim algorithmextends an existing QSlim algorithm

• allows user-guidance to improve allows user-guidance to improve approximationsapproximations

• little user effort, still efficientlittle user effort, still efficient

Changes vertex tree structuresChanges vertex tree structures• can be used for further applicationscan be used for further applications

New interactive simplification systemNew interactive simplification system• extends an existing QSlim algorithmextends an existing QSlim algorithm

• allows user-guidance to improve allows user-guidance to improve approximationsapproximations

• little user effort, still efficientlittle user effort, still efficient

Changes vertex tree structuresChanges vertex tree structures• can be used for further applicationscan be used for further applications

Page 19: User-Guided Simplification

Future Work

Better weights selectionBetter weights selection• currently chosen by userscurrently chosen by users

• automatic suggestion would be goodautomatic suggestion would be good

Perceptually based error metricPerceptually based error metric• low-level perception modelslow-level perception models

(Reddy ‘97, (Reddy ‘97, Luebke and Hallen ’01Luebke and Hallen ’01))

• but also high-level : eg. actual feature vs but also high-level : eg. actual feature vs noise noise

• machine learning techniques?machine learning techniques?

Better weights selectionBetter weights selection• currently chosen by userscurrently chosen by users

• automatic suggestion would be goodautomatic suggestion would be good

Perceptually based error metricPerceptually based error metric• low-level perception modelslow-level perception models

(Reddy ‘97, (Reddy ‘97, Luebke and Hallen ’01Luebke and Hallen ’01))

• but also high-level : eg. actual feature vs but also high-level : eg. actual feature vs noise noise

• machine learning techniques?machine learning techniques?

Page 20: User-Guided Simplification

The End

Thanks!Thanks!

Contact InformationContact Information

Youngihn kho Michael GarlandYoungihn kho Michael Garland

[email protected] [email protected]@uiuc.edu [email protected]

Thanks!Thanks!

Contact InformationContact Information

Youngihn kho Michael GarlandYoungihn kho Michael Garland

[email protected] [email protected]@uiuc.edu [email protected]


Top Related