non convex hull surfaces
play

Non-Convex Hull Surfaces Gabriel Taubin Brown University - PowerPoint PPT Presentation

Non-Convex Hull Surfaces Gabriel Taubin Brown University Typical Surface Reconstruc3on Pipeline Oriented Reconstruc=on Surface Points Method Representa=on


  1. Non-­‑Convex ¡Hull ¡Surfaces ¡ Gabriel ¡Taubin ¡ Brown ¡University ¡ ¡

  2. Typical ¡Surface ¡Reconstruc3on ¡Pipeline ¡ Oriented ¡ Reconstruc=on ¡ Surface ¡ Points ¡ ¡ Method ¡ Representa=on ¡ Posi=ons ¡& ¡Normals ¡ Water=ght ¡Surface ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡Polygon ¡Mesh ¡ ¡ ¡

  3. Interpola3ng ¡Polygon ¡Meshes ¡[Combinatorial] ¡ • Boissonnat ¡[1984] ¡(Natural ¡Neighbor ¡Interpola=on) ¡ • Edelsbrunner ¡[1984] ¡(Alpha ¡Shapes) ¡ • Amenta ¡et ¡al. ¡[1998,2001] ¡(Power ¡Crust) ¡ • Bernardini ¡et ¡al. ¡[1999] ¡(Ball ¡Pivo=ng) ¡ • Dey ¡[2007] ¡(Book) ¡ • others ¡

  4. Implicit ¡Func3on ¡[Op3miza3on] ¡ • Hoppe ¡et ¡al. ¡[1992] ¡ ¡ • Curless ¡et ¡al ¡[1996] ¡ ¡ • Whitaker ¡[1998] ¡ • Carr ¡et ¡al.[2001] ¡(RBFs) ¡ • Davis ¡et ¡al. ¡[2002] ¡ • Ohtake ¡et ¡al. ¡[2004] ¡(MPI) ¡ • Turk ¡et ¡al. ¡[2004] ¡ • Shen ¡et ¡al. ¡[2004] ¡ • Sibley-­‑Taubin ¡[2005] ¡ • Calakli-­‑Taubin ¡[2011] ¡(SSD) ¡ ¡

  5. Poisson ¡Surface ¡Reconstruc3on ¡ ¡ ¡Kazhdan ¡et ¡al. ¡[2006] ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡Manson ¡et ¡al. ¡[2008] ¡ ¡

  6. Implicit ¡Surface ¡Reconstruc3on ¡ < ¡0 ¡ 0 ¡ > ¡0 ¡ Oriented ¡Points, ¡ D ¡ ¡ Computed ¡Implicit ¡Surface, ¡ S’ ¡ (samples ¡from ¡unknown ¡surface ¡ S ) ¡ Find ¡ ¡a ¡scalar ¡valued ¡func=on ¡ ¡ f(p) , ¡whose ¡zero ¡level ¡set ¡ ¡ ¡ S’={p:f(p)=0} ¡ ¡is ¡the ¡es=mate ¡for ¡true ¡surface ¡ S ¡

  7. Smooth ¡Signed ¡Distance ¡Surface ¡Reconstruc3on ¡ [Calakli ¡& ¡Taubin ¡2011] ¡ N N 2 2 2 E ( f ) f ( p ) f ( p ) n || H f ( x ) || d x ∑ ∑ = + λ ∇ − + λ ∫ i 1 i i 2 V i 1 i 1 = = Par3cularly ¡Good ¡at ¡Extrapola3ng ¡Missing ¡Data ¡

  8. Oriented ¡Points ¡as ¡Surface ¡Samples ¡ ( p , n ) ¡ ¡ • Oriented ¡point ¡ (p,n) ¡ • p : ¡sample ¡of ¡surface ¡loca=on ¡ • n : ¡sample ¡of ¡surface ¡normal ¡vector ¡@ ¡ p ¡ • Ini3al ¡Assump3ons ¡ • Surface ¡is ¡bounded, ¡oriented, ¡manifold, ¡and ¡ without ¡boundary ¡ • Samples ¡are ¡dense ¡and ¡uniformly ¡distributed ¡ • Normal ¡vectors ¡are ¡unit ¡length ¡and ¡consistently ¡ oriented ¡towards ¡the ¡“outside” ¡ • Low ¡Noise ¡

  9. Real ¡Data ¡Sets ¡Present ¡Addi3onal ¡Challenges ¡ Ini3al ¡assump3ons ¡ Non-­‑uniform ¡sampling ¡ Noisy ¡data ¡ Misaligned ¡scans ¡

  10. Reconstruc3on ¡with ¡an ¡Approximate ¡Signed ¡Distance ¡ • Input: ¡oriented ¡points ¡contained ¡in ¡a ¡bounding ¡volume ¡V ¡ ¡ ¡ D ¡= ¡{ ¡( ¡ p i , ¡ n i ¡ ) ¡i=1,…,N ¡} ¡ • Output: ¡implicit ¡surface ¡ ¡ | ∇ f ¡( p i )|=1 ¡ ¡ ¡ S ¡ = ¡{ ¡ x ¡| ¡ f ¡( x ) ¡= ¡0 ¡} ¡ ¡ ¡ ¡ ¡with ¡the ¡func=on ¡defined ¡on ¡V, ¡such ¡that ¡ ¡ ¡ ¡ ¡ ¡ ¡ f ¡( p i ) ¡= ¡0 ¡ ¡ ¡and ¡ ¡ ¡ ∇ f ¡( p i ) ¡= ¡ n i ¡ ¡ ¡for ¡ ¡i=1,…,N ¡ • Family ¡of ¡implicit ¡func=ons ¡parameterized ¡by ¡a ¡finite ¡ number ¡of ¡parameters. ¡ • Es=mate ¡parameters ¡so ¡that ¡the ¡condi=ons ¡are ¡sa=sfied, ¡ if ¡not ¡exactly, ¡then ¡in ¡the ¡least-­‑squares ¡sense. ¡ • Par==on ¡V ¡into ¡a ¡volumetric ¡mesh ¡M, ¡such ¡as ¡a ¡voxel ¡grid ¡ or ¡dual ¡octree. ¡ • Evaluate ¡approximate ¡signed ¡distance ¡on ¡M-­‑ver=ces, ¡and ¡ compute ¡isosurface. ¡

  11. NCH ¡Surface ¡Reconstruc3on ¡Algorithm ¡ • Produces ¡interpolatory ¡implicit ¡surface ¡ ¡ ¡ ¡ ¡ ¡f ¡( p i ) ¡= ¡0 ¡ ¡and ¡ ∇ f ¡( p i ) ¡= ¡ n i ¡ ¡ ∀ ( p i , n i ) ¡ ∈ ¡ D ¡ • Isosurface ¡approximates ¡ • Defined ¡by ¡one ¡parameter ¡per ¡point ¡ • Analy=c, ¡direct, ¡non-­‑itera=ve ¡algorithms ¡to ¡es=mate ¡ parameters ¡and ¡to ¡evaluate ¡func=on ¡ • Can ¡be ¡implemented ¡in ¡a ¡few ¡lines ¡of ¡code ¡ • Produces ¡high ¡quality ¡surfaces ¡ • Simple ¡and ¡Elegant ¡ O ( n 2 ) • On ¡the ¡nega=ve ¡side: ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡not ¡scalable ¡ • But ¡of ¡prac=cal ¡use ¡

  12. Convex ¡Hull ¡of ¡a ¡Set ¡of ¡Points ¡ • Smallest ¡convex ¡set ¡containing ¡all ¡the ¡points ¡ • Equal ¡to ¡the ¡intersec=on ¡of ¡all ¡the ¡ ¡ ¡ ¡ ¡Suppor3ng ¡linear ¡half-­‑spaces ¡

  13. Oriented ¡Convex ¡Hull ¡ t ( x − p i ) f i ( x ) = n i One ¡Linear ¡func=on ¡per ¡point ¡ f i ( x ) > 0 f i ( x ) < 0 f i ( p j ) ≤ 0 ∀ j ≠ i Suppor=ng ¡Linear ¡Half ¡Space ¡if ¡ Not ¡every ¡point ¡defines ¡a ¡Suppor3ng ¡Linear ¡Half ¡Space ¡

  14. Oriented ¡Convex ¡Hull ¡Surface ¡ Boundary ¡of ¡the ¡Intersec=on ¡of ¡ all ¡Suppor=ng ¡Linear ¡Half ¡Spaces ¡ S = { x : f ( x ) = 0} f ( x ) = max i f i ( x )

  15. Non-­‑Convex ¡Hull ¡ Spherical ¡Half ¡Space ¡= ¡Space ¡outside ¡of ¡a ¡Sphere ¡ Intersec=on ¡of ¡all ¡Suppor=ng ¡Spherical ¡Half ¡Spaces ¡ f ( x ) = max i f i ( x ) But ¡now ¡every ¡point ¡has ¡a ¡suppor=ng ¡func=on ¡

  16. Geometry ¡of ¡the ¡Support ¡Func3ons ¡ Inverted ¡ Max ¡ ¡ ¡ ¡ ¡ ¡so ¡that ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡for ¡all ¡j ¡ ¡ ¡ ¡ f i ( p j ) ≤ 0 r q i = p i + r i n i i f i ( x ) = 1 t ( x − p i ) − 1 2 − x − q i ( ) 2 2 r f i ( x ) = n i x − p i i 2 r 2 r i i

  17. Proper3es ¡of ¡Non-­‑Convex ¡Hull ¡Func3on ¡ f ( x ) = max i f i ( x ) t ( x − p i ) − 1 2 f i ( x ) = n i x − p i 2 r i Max ¡ ¡ ¡ ¡ ¡ ¡so ¡that ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡for ¡all ¡j ¡ ¡ ¡ ¡ f i ( p j ) ≤ 0 r i f i ( p i ) = 0 ∇ f i ( p i ) = n i f j ( p i ) ≤ 0 = f i ( p i ) ⇒ f ( p i ) = f i ( p i ) = 0 i = { x : f i ( x ) > f j ( x ) ∀ j ≠ i } is ¡open ¡ p i ∈ F ⇒ ∇ f ( p i ) = ∇ f i ( p i ) = n i

  18. Voronoi ¡and ¡Apollonious ¡Diagrams ¡

  19. Voronoi ¡and ¡Apollonious ¡Diagrams ¡ F i = { x : f i ( x ) > f j ( x ) ∀ j ≠ i }

  20. NCH ¡Surface ¡Reconstruc3on ¡ ρ i = 1 2 t ( x − p i ) − ρ i x − p i f i ( x ) = n i 0 ≤ ρ i < ∞ 2 r i # ' t ( p j − p i ) ρ i = min n i % % { t ( p j − p i ) > 0 } J i = j : n i 2 : j ∈ J i $ ( p j − p i % % & ) But ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡if ¡ ρ i = 0 J i = ∅

  21. O ( n ) with ¡ processors ¡ O ( n 2 ) but ¡ O ( n )

  22. f i ( x ) f ( x ) = max i f i ( x )

  23. Another ¡2D ¡Result ¡ C = x : f ( x ) = 0 { } Func=on ¡evaluated ¡on ¡pixel ¡grid ¡and ¡isocurve ¡computed ¡

  24. A ¡3D ¡Example ¡[Regular ¡Voxel ¡Grid ¡500^3] ¡

  25. Symmetric ¡Non-­‑Convex ¡Hull ¡ • If ¡orienta=on ¡of ¡normal ¡vectors ¡is ¡reversed, ¡a ¡ different ¡NCH ¡Func=on ¡results. ¡ • Compute ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡from ¡ ¡ + ( x ) { ( p i , n i ): i = 1,..., N } f i • Compute ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡from ¡ − ( x ) { ( p i , − n i ): i = 1,..., N } f i • Define ¡ ¡ { } / 2 + ( x ) − f i − ( x ) f ( x ) = f i

  26. NCH ¡Surface ¡Representa3on ¡ • Set ¡of ¡oriented ¡points ¡with ¡two ¡addi=onal ¡ scalar ¡apributes ¡ { } + , ρ i − ): i = 1,..., N ( p i , n i , ρ i • Can ¡be ¡saved ¡as ¡a ¡PLY ¡file ¡ • Evaluate ¡on ¡tet-­‑mesh ¡ver=ces ¡and ¡compute ¡ piece-­‑wise-­‑linear ¡isosurface ¡ • Evaluate ¡on ¡dual ¡ver=ces ¡of ¡octree ¡and ¡run ¡ Dual ¡Marching ¡Cubes ¡ ¡

  27. 3D ¡Results: ¡evenly ¡sampled ¡low ¡noise ¡

  28. 3D ¡Results: ¡evenly ¡sampled ¡low ¡noise ¡

  29. 3D ¡Results: ¡unevenly ¡sampled ¡low ¡noise ¡

  30. 3D ¡Results: ¡unevenly ¡sample ¡and ¡noise ¡

Recommend


More recommend