Dual/Primal Mesh Optimization for Polygonized Implicit Surfaces

35
INFORMATIK INFORMATIK Yu.Ohtake and A.G.Belyae Yu.Ohtake and A.G.Belyaev Dual/Primal Mesh Optimizat Dual/Primal Mesh Optimizat ion ion for Polygonized Implicit S for Polygonized Implicit S urfaces urfaces Yutaka Ohtake Yutaka Ohtake Alexander G. Belyaev Alexander G. Belyaev Max-Planck-Institut f Max-Planck-Institut f ü ü r Informatik, Germany r Informatik, Germany University of Aizu, Japan. University of Aizu, Japan.

description

Dual/Primal Mesh Optimization for Polygonized Implicit Surfaces. Yutaka Ohtake Alexander G. Belyaev Max-Planck-Institut f ü r Informatik, Germany University of Aizu, Japan. Implicit Surfaces. Zero sets of implicit functions. CSG operations. -. =. Radial Basis Function. - PowerPoint PPT Presentation

Transcript of Dual/Primal Mesh Optimization for Polygonized Implicit Surfaces

Page 1: Dual/Primal Mesh Optimization  for Polygonized Implicit Surfaces

INFORMATIKINFORMATIK

Yu.Ohtake and A.G.BelyaevYu.Ohtake and A.G.Belyaev

Dual/Primal Mesh Optimization Dual/Primal Mesh Optimization for Polygonized Implicit Surfacesfor Polygonized Implicit Surfaces

Yutaka Ohtake Yutaka Ohtake    Alexander G. BelyaeAlexander G. Belyaevv

Max-Planck-Institut fMax-Planck-Institut füür Informatik, Germanyr Informatik, GermanyUniversity of Aizu, Japan.University of Aizu, Japan.

Yutaka Ohtake Yutaka Ohtake    Alexander G. BelyaeAlexander G. Belyaevv

Max-Planck-Institut fMax-Planck-Institut füür Informatik, Germanyr Informatik, GermanyUniversity of Aizu, Japan.University of Aizu, Japan.

Page 2: Dual/Primal Mesh Optimization  for Polygonized Implicit Surfaces

INFORMATIKINFORMATIK

Yu.Ohtake and A.G.BelyaevYu.Ohtake and A.G.Belyaev

Implicit SurfacesImplicit Surfaces

Zero sets of implicit functions. Zero sets of implicit functions.

CSG operations.CSG operations.

Zero sets of implicit functions. Zero sets of implicit functions.

CSG operations.CSG operations.

0),,( zyxf

02222 zyxr )0||()0||()0||( zlylxl

=-

Page 3: Dual/Primal Mesh Optimization  for Polygonized Implicit Surfaces

INFORMATIKINFORMATIK

Yu.Ohtake and A.G.BelyaevYu.Ohtake and A.G.Belyaev

Radial Basis FunctionRadial Basis Function

)()()( xcxx i pfi

RBF fitting Visualization of f=0

Carr et al. “Reconstruction and Representation of 3D Objects with Radial Basis Functions”, SIGGRAPH2001

Page 4: Dual/Primal Mesh Optimization  for Polygonized Implicit Surfaces

INFORMATIKINFORMATIK

Yu.Ohtake and A.G.BelyaevYu.Ohtake and A.G.Belyaev

Visualization of Visualization of Implicit SurfacesImplicit Surfaces

Ray-tracing Polygonization (e.g. Marching cubes method)

Page 5: Dual/Primal Mesh Optimization  for Polygonized Implicit Surfaces

INFORMATIKINFORMATIK

Yu.Ohtake and A.G.BelyaevYu.Ohtake and A.G.Belyaev

Problem of PolygonizationProblem of Polygonization

Sharp featuresSharp features are broken are brokenSharp featuresSharp features are broken are broken

503 grid 1003 grid 2003 grid

Page 6: Dual/Primal Mesh Optimization  for Polygonized Implicit Surfaces

INFORMATIKINFORMATIK

Yu.Ohtake and A.G.BelyaevYu.Ohtake and A.G.Belyaev

Post-processing

InputOutput

Rough Polygonization(Correct topology)

Reconstruction of Sharp FeaturesReconstruction of Sharp Features

DEMO),,( :functionImplicit zyxfandand

Page 7: Dual/Primal Mesh Optimization  for Polygonized Implicit Surfaces

INFORMATIKINFORMATIK

Yu.Ohtake and A.G.BelyaevYu.Ohtake and A.G.Belyaev

Basic Idea of OptimizationBasic Idea of Optimization

Mesh tangent to implicit surface gives Mesh tangent to implicit surface gives better reconstruction of sharp features.better reconstruction of sharp features. dual meshdual mesh

Mesh tangent to implicit surface gives Mesh tangent to implicit surface gives better reconstruction of sharp features.better reconstruction of sharp features. dual meshdual mesh

Our methodMarching cube method

Page 8: Dual/Primal Mesh Optimization  for Polygonized Implicit Surfaces

INFORMATIKINFORMATIK

Yu.Ohtake and A.G.BelyaevYu.Ohtake and A.G.Belyaev

Related WorksRelated Works

Extension of Marching CubesExtension of Marching Cubes• Kobbelt, Botsh, Schwanecke, and Seidel “Feature Kobbelt, Botsh, Schwanecke, and Seidel “Feature

Sensitive Surface Extraction from Volume Data”, Sensitive Surface Extraction from Volume Data”, SSIGGRAPH 2001, August.IGGRAPH 2001, August.

Post-processing approach.Post-processing approach.• Ohtake, Belyaev, and Pasko “Accurate PolygonizaOhtake, Belyaev, and Pasko “Accurate Polygoniza

tion of Implicit Surfaces”, tion of Implicit Surfaces”, Shape Modeling InternatiShape Modeling Internatinal 2001nal 2001, May., May.

• Ohtake and BelyaevOhtake and Belyaev“Mesh Optimization for Polygonized Isosurfaces”, “Mesh Optimization for Polygonized Isosurfaces”, Eurographics 2001, September.Eurographics 2001, September.

Extension of Marching CubesExtension of Marching Cubes• Kobbelt, Botsh, Schwanecke, and Seidel “Feature Kobbelt, Botsh, Schwanecke, and Seidel “Feature

Sensitive Surface Extraction from Volume Data”, Sensitive Surface Extraction from Volume Data”, SSIGGRAPH 2001, August.IGGRAPH 2001, August.

Post-processing approach.Post-processing approach.• Ohtake, Belyaev, and Pasko “Accurate PolygonizaOhtake, Belyaev, and Pasko “Accurate Polygoniza

tion of Implicit Surfaces”, tion of Implicit Surfaces”, Shape Modeling InternatiShape Modeling Internatinal 2001nal 2001, May., May.

• Ohtake and BelyaevOhtake and Belyaev“Mesh Optimization for Polygonized Isosurfaces”, “Mesh Optimization for Polygonized Isosurfaces”, Eurographics 2001, September.Eurographics 2001, September.

Page 9: Dual/Primal Mesh Optimization  for Polygonized Implicit Surfaces

INFORMATIKINFORMATIK

Yu.Ohtake and A.G.BelyaevYu.Ohtake and A.G.Belyaev

Previous work (1)Previous work (1)

Kobbelt, Botsh, Schwanecke, and Seidel proKobbelt, Botsh, Schwanecke, and Seidel proposed posed • A new distance field representation A new distance field representation

for detecting accurate vertex positions. for detecting accurate vertex positions.• Vertex insertion rule Vertex insertion rule

for reconstructing sharp features. for reconstructing sharp features. (and edge flipping) (and edge flipping)

Kobbelt, Botsh, Schwanecke, and Seidel proKobbelt, Botsh, Schwanecke, and Seidel proposed posed • A new distance field representation A new distance field representation

for detecting accurate vertex positions. for detecting accurate vertex positions.• Vertex insertion rule Vertex insertion rule

for reconstructing sharp features. for reconstructing sharp features. (and edge flipping) (and edge flipping)newlynewly

insertedinserted

Page 10: Dual/Primal Mesh Optimization  for Polygonized Implicit Surfaces

INFORMATIKINFORMATIK

Yu.Ohtake and A.G.BelyaevYu.Ohtake and A.G.Belyaev

Related work (2)Related work (2)

Our previous workOur previous work• Mesh evolution forMesh evolution for

– fitting mesh normals to implicit surface normals.fitting mesh normals to implicit surface normals.– keeping mesh vertices close to implicit surface.keeping mesh vertices close to implicit surface.

Our previous workOur previous work• Mesh evolution forMesh evolution for

– fitting mesh normals to implicit surface normals.fitting mesh normals to implicit surface normals.– keeping mesh vertices close to implicit surface.keeping mesh vertices close to implicit surface.

Can not estimate implicit surface normals at high curvature regions

Page 11: Dual/Primal Mesh Optimization  for Polygonized Implicit Surfaces

INFORMATIKINFORMATIK

Yu.Ohtake and A.G.BelyaevYu.Ohtake and A.G.Belyaev

Advantages of Proposed MethodAdvantages of Proposed Method

Extremely good Extremely good in reconstruction of sharp featuresin reconstruction of sharp features

Adaptive meshingAdaptive meshing

Works better than mesh evolution approachWorks better than mesh evolution approach

Extremely good Extremely good in reconstruction of sharp featuresin reconstruction of sharp features

Adaptive meshingAdaptive meshing

Works better than mesh evolution approachWorks better than mesh evolution approach

Page 12: Dual/Primal Mesh Optimization  for Polygonized Implicit Surfaces

INFORMATIKINFORMATIK

Yu.Ohtake and A.G.BelyaevYu.Ohtake and A.G.Belyaev

ContentsContents

1.1. Basic Optimization MethodBasic Optimization Method2.2. Combining with Adaptive RemeshinCombining with Adaptive Remeshin

g and Subdivisiong and Subdivision3.3. DiscussionDiscussion

1.1. Basic Optimization MethodBasic Optimization Method2.2. Combining with Adaptive RemeshinCombining with Adaptive Remeshin

g and Subdivisiong and Subdivision3.3. DiscussionDiscussion

Page 13: Dual/Primal Mesh Optimization  for Polygonized Implicit Surfaces

INFORMATIKINFORMATIK

Yu.Ohtake and A.G.BelyaevYu.Ohtake and A.G.Belyaev

Basic Optimization AlgorithmBasic Optimization Algorithm

1.1. Triangle centroids are projected Triangle centroids are projected onto the implicit surface. onto the implicit surface.

2.2. Mesh vertices are optimized Mesh vertices are optimized according to tangent planes. according to tangent planes.

1.1. Triangle centroids are projected Triangle centroids are projected onto the implicit surface. onto the implicit surface.

2.2. Mesh vertices are optimized Mesh vertices are optimized according to tangent planes. according to tangent planes.

estimated estimated numericallynumerically

Page 14: Dual/Primal Mesh Optimization  for Polygonized Implicit Surfaces

Dual sampling(face points are projected to f=0)

Dual Sampling(fitting to tangent planes)

Page 15: Dual/Primal Mesh Optimization  for Polygonized Implicit Surfaces

INFORMATIKINFORMATIK

Yu.Ohtake and A.G.BelyaevYu.Ohtake and A.G.Belyaev

Projection ofProjection of face points face points

ffsign )(:Direction

1.1. Find a point at other side of surface.Find a point at other side of surface.2.2. Bisection method along the lines.Bisection method along the lines.1.1. Find a point at other side of surface.Find a point at other side of surface.2.2. Bisection method along the lines.Bisection method along the lines.

f > 0

f < 0

Page 16: Dual/Primal Mesh Optimization  for Polygonized Implicit Surfaces

INFORMATIKINFORMATIK

Yu.Ohtake and A.G.BelyaevYu.Ohtake and A.G.Belyaev

Fitting to Fitting to Tangent PlanesTangent Planes

2

torianglesincident t

)()( x

xmx

ii PPE

||)(||

)()(

Pf

PfP

mxm(P1)

m(P2)

distance

Same as Garland-Heckbert quadric error metric (SIG’97)

Minimize the sum of squared distance.Minimize the sum of squared distance.Minimize the sum of squared distance.Minimize the sum of squared distance.

Page 17: Dual/Primal Mesh Optimization  for Polygonized Implicit Surfaces

INFORMATIKINFORMATIK

Yu.Ohtake and A.G.BelyaevYu.Ohtake and A.G.Belyaev

Minimization of the ErrorMinimization of the Error

Solving system of linear equations. Solving system of linear equations.

SVD is used SVD is used (similar to Kobbelt et al. SIG’01). (similar to Kobbelt et al. SIG’01).• The old primal vertex position The old primal vertex position

is shifted to the origin of coordinates. is shifted to the origin of coordinates.• Small singular values are set to zero.Small singular values are set to zero.

Solving system of linear equations. Solving system of linear equations.

SVD is used SVD is used (similar to Kobbelt et al. SIG’01). (similar to Kobbelt et al. SIG’01).• The old primal vertex position The old primal vertex position

is shifted to the origin of coordinates. is shifted to the origin of coordinates.• Small singular values are set to zero.Small singular values are set to zero.

0)(

x

x

d

dEbxA

Page 18: Dual/Primal Mesh Optimization  for Polygonized Implicit Surfaces

INFORMATIKINFORMATIK

Yu.Ohtake and A.G.BelyaevYu.Ohtake and A.G.Belyaev

Thresholding of Thresholding of Small Singular ValuesSmall Singular Values

|)||,||,max(|10 aluesingular v Small 323

110 510410310210

Page 19: Dual/Primal Mesh Optimization  for Polygonized Implicit Surfaces

INFORMATIKINFORMATIK

Yu.Ohtake and A.G.BelyaevYu.Ohtake and A.G.Belyaev

ContentsContents

1.1. Basic Optimization MethodBasic Optimization Method2.2. Combining with Adaptive RemeshinCombining with Adaptive Remeshin

g and Subdivisiong and Subdivision3.3. DiscussionDiscussion

1.1. Basic Optimization MethodBasic Optimization Method2.2. Combining with Adaptive RemeshinCombining with Adaptive Remeshin

g and Subdivisiong and Subdivision3.3. DiscussionDiscussion

Page 20: Dual/Primal Mesh Optimization  for Polygonized Implicit Surfaces

INFORMATIKINFORMATIK

Yu.Ohtake and A.G.BelyaevYu.Ohtake and A.G.Belyaev

Improvement of Improvement of Mesh Sampling RateMesh Sampling Rate

Curvature weighted Curvature weighted resamplingresampling

Dual/Primal Dual/Primal mesh optimizationmesh optimization

InputInput

outputoutput

Page 21: Dual/Primal Mesh Optimization  for Polygonized Implicit Surfaces

INFORMATIKINFORMATIK

Yu.Ohtake and A.G.BelyaevYu.Ohtake and A.G.Belyaev

Repeated Double Repeated Double Dual Resampling Dual Resampling

Double dual sampling Double dual sampling improves mesh distributions.improves mesh distributions.Double dual sampling Double dual sampling improves mesh distributions.improves mesh distributions.

i

ii

w

Pw

xProjectionProjection Averaging by Averaging by

xiP

Page 22: Dual/Primal Mesh Optimization  for Polygonized Implicit Surfaces

INFORMATIKINFORMATIK

Yu.Ohtake and A.G.BelyaevYu.Ohtake and A.G.Belyaev

Curvature Weighted Curvature Weighted Resampling Resampling

Sampling should be dense near high Sampling should be dense near high curvature regions.curvature regions.Sampling should be dense near high Sampling should be dense near high curvature regions.curvature regions.

Small bump

Uniform resampling causes a skip here.

i

ii

w

Pw

x

curvature:iwUniform weightUniform weight Curvature weightCurvature weight

Page 23: Dual/Primal Mesh Optimization  for Polygonized Implicit Surfaces

INFORMATIKINFORMATIK

Yu.Ohtake and A.G.BelyaevYu.Ohtake and A.G.Belyaev

EffectivenessEffectiveness

Small bumps are well reconstructed.Small bumps are well reconstructed.Small bumps are well reconstructed.Small bumps are well reconstructed.Curvature weightedCurvature weighted

resamplingresampling++

Primal/dual mesh Primal/dual mesh optimizationoptimization

Uniform Uniform resamplingresampling

++Primal/dual mesh Primal/dual mesh

optimizationoptimization

Page 24: Dual/Primal Mesh Optimization  for Polygonized Implicit Surfaces

INFORMATIKINFORMATIK

Yu.Ohtake and A.G.BelyaevYu.Ohtake and A.G.Belyaev

Gathering All TogetherGathering All Together

Curvature weighted Curvature weighted resamplingresampling

Dual/Primal Dual/Primal mesh optimizationmesh optimization

Adaptive Adaptive subdivisionsubdivision

InputInput

outputoutput

elseelseIf user is If user is satisfiedsatisfied

Page 25: Dual/Primal Mesh Optimization  for Polygonized Implicit Surfaces

INFORMATIKINFORMATIK

Yu.Ohtake and A.G.BelyaevYu.Ohtake and A.G.Belyaev

Adaptive subdivisionAdaptive subdivision

Linear 1-to-4 split rule is applied Linear 1-to-4 split rule is applied on highly curved triangles. on highly curved triangles.Linear 1-to-4 split rule is applied Linear 1-to-4 split rule is applied on highly curved triangles. on highly curved triangles.

““Cat” model provided Cat” model provided by by HyperFunHyperFun project. project.

24

1

)(area)(i

imnim normal

suraceImplicit

+ Dual/Primal + Dual/Primal mesh optimizationmesh optimization

DEMO

Page 26: Dual/Primal Mesh Optimization  for Polygonized Implicit Surfaces

INFORMATIKINFORMATIK

Yu.Ohtake and A.G.BelyaevYu.Ohtake and A.G.Belyaev

DecimationDecimation

Garland-Heckbert method usingGarland-Heckbert method using

Tolerance:Tolerance:

Garland-Heckbert method usingGarland-Heckbert method using

Tolerance:Tolerance: 2)()( ii PPE xmx

90%90%reductionreduction

2m)-area)(n(

Page 27: Dual/Primal Mesh Optimization  for Polygonized Implicit Surfaces

INFORMATIKINFORMATIK

Yu.Ohtake and A.G.BelyaevYu.Ohtake and A.G.Belyaev

Gathering All TogetherGathering All Together

Curvature weighted Curvature weighted resamplingresampling

Dual/Primal Dual/Primal mesh optimizationmesh optimization

Adaptive Adaptive subdivisionsubdivision

Mesh DecimationMesh Decimation

InputInput

outputoutput

elseelseIf user is If user is satisfiedsatisfied

Page 28: Dual/Primal Mesh Optimization  for Polygonized Implicit Surfaces

The number of triangles

Page 29: Dual/Primal Mesh Optimization  for Polygonized Implicit Surfaces

Large adaptive ε 3 subdivision steps

Small threshold ε 5 subdivision steps

(ε : Threshold of adaptive subdivision)

Page 30: Dual/Primal Mesh Optimization  for Polygonized Implicit Surfaces

INFORMATIKINFORMATIK

Yu.Ohtake and A.G.BelyaevYu.Ohtake and A.G.Belyaev

ContentsContents

1.1. Basic Optimization MethodBasic Optimization Method2.2. Combining with Adaptive RemeshinCombining with Adaptive Remeshin

g and Subdivisiong and Subdivision3.3. DiscussionDiscussion

1.1. Basic Optimization MethodBasic Optimization Method2.2. Combining with Adaptive RemeshinCombining with Adaptive Remeshin

g and Subdivisiong and Subdivision3.3. DiscussionDiscussion

Page 31: Dual/Primal Mesh Optimization  for Polygonized Implicit Surfaces

INFORMATIKINFORMATIK

Yu.Ohtake and A.G.BelyaevYu.Ohtake and A.G.Belyaev

Comparison with Comparison with Mesh Evolution ApproachMesh Evolution Approach

Faster and more accurate Faster and more accurate than mesh evolution approach. than mesh evolution approach.Faster and more accurate Faster and more accurate than mesh evolution approach. than mesh evolution approach.

Primal/Dual Primal/Dual mesh optimizationmesh optimization

1 sec.1 sec.

Mesh evolutionMesh evolution20 sec.20 sec.

(stabilized)(stabilized)

Page 32: Dual/Primal Mesh Optimization  for Polygonized Implicit Surfaces

Optimizationtakes several hours(Direct evaluation)

Stanford bunny represented by RBF with 10,000 centers.Stanford bunny represented by RBF with 10,000 centers.((FastRBF developed by FarField Technology)

Page 33: Dual/Primal Mesh Optimization  for Polygonized Implicit Surfaces

INFORMATIKINFORMATIK

Yu.Ohtake and A.G.BelyaevYu.Ohtake and A.G.Belyaev

Dual Contouring Dual Contouring of Hermite Data SIG’02of Hermite Data SIG’02

Also good Also good for reconstruction of sharp features for reconstruction of sharp features• Tao Ju, Frank Losasso, Scott Schaefer, Joe Warren,Tao Ju, Frank Losasso, Scott Schaefer, Joe Warren,

“Dual Contouring of Hermite Data”.“Dual Contouring of Hermite Data”.• Dual mesh to marching cubes mesh.Dual mesh to marching cubes mesh.

Also good Also good for reconstruction of sharp features for reconstruction of sharp features• Tao Ju, Frank Losasso, Scott Schaefer, Joe Warren,Tao Ju, Frank Losasso, Scott Schaefer, Joe Warren,

“Dual Contouring of Hermite Data”.“Dual Contouring of Hermite Data”.• Dual mesh to marching cubes mesh.Dual mesh to marching cubes mesh.

Page 34: Dual/Primal Mesh Optimization  for Polygonized Implicit Surfaces

Speed: they(sig’02) > we(sm’02)Speed: they(sig’02) > we(sm’02)• Their method is not post-processing.Their method is not post-processing.

Control of sampling rate: we(sm’02) > they(sig’02)Control of sampling rate: we(sm’02) > they(sig’02)• Octtree based adaptive sampling.Octtree based adaptive sampling.

Speed: they(sig’02) > we(sm’02)Speed: they(sig’02) > we(sm’02)• Their method is not post-processing.Their method is not post-processing.

Control of sampling rate: we(sm’02) > they(sig’02)Control of sampling rate: we(sm’02) > they(sig’02)• Octtree based adaptive sampling.Octtree based adaptive sampling.

OurOur TheirTheir

Page 35: Dual/Primal Mesh Optimization  for Polygonized Implicit Surfaces

INFORMATIKINFORMATIK

Yu.Ohtake and A.G.BelyaevYu.Ohtake and A.G.Belyaev

Conclusion and ProblemsConclusion and Problems

A mesh optimization method is developed.A mesh optimization method is developed.• Primal/Dual mesh optimization.Primal/Dual mesh optimization.

Not so fast Not so fast if the implicit function is complex. if the implicit function is complex.• Adaptive voxelization.Adaptive voxelization.

Requirement of correct topology Requirement of correct topology in the input mesh. in the input mesh.Can not optimize this pattern.Can not optimize this pattern.

A mesh optimization method is developed.A mesh optimization method is developed.• Primal/Dual mesh optimization.Primal/Dual mesh optimization.

Not so fast Not so fast if the implicit function is complex. if the implicit function is complex.• Adaptive voxelization.Adaptive voxelization.

Requirement of correct topology Requirement of correct topology in the input mesh. in the input mesh.Can not optimize this pattern.Can not optimize this pattern.

Edge Edge flippingflipping