Non-‑Convex ¡Hull ¡Surfaces ¡ Gabriel ¡Taubin ¡ Brown ¡University ¡ ¡
Typical ¡Surface ¡Reconstruc3on ¡Pipeline ¡ Oriented ¡ Reconstruc=on ¡ Surface ¡ Points ¡ ¡ Method ¡ Representa=on ¡ Posi=ons ¡& ¡Normals ¡ Water=ght ¡Surface ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡Polygon ¡Mesh ¡ ¡ ¡
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 ¡
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) ¡ ¡
Poisson ¡Surface ¡Reconstruc3on ¡ ¡ ¡Kazhdan ¡et ¡al. ¡[2006] ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡Manson ¡et ¡al. ¡[2008] ¡ ¡
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 ¡
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 ¡
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 ¡
Real ¡Data ¡Sets ¡Present ¡Addi3onal ¡Challenges ¡ Ini3al ¡assump3ons ¡ Non-‑uniform ¡sampling ¡ Noisy ¡data ¡ Misaligned ¡scans ¡
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. ¡
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 ¡
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 ¡
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 ¡
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 )
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 ¡
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
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
Voronoi ¡and ¡Apollonious ¡Diagrams ¡
Voronoi ¡and ¡Apollonious ¡Diagrams ¡ F i = { x : f i ( x ) > f j ( x ) ∀ j ≠ i }
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 = ∅
O ( n ) with ¡ processors ¡ O ( n 2 ) but ¡ O ( n )
f i ( x ) f ( x ) = max i f i ( x )
Another ¡2D ¡Result ¡ C = x : f ( x ) = 0 { } Func=on ¡evaluated ¡on ¡pixel ¡grid ¡and ¡isocurve ¡computed ¡
A ¡3D ¡Example ¡[Regular ¡Voxel ¡Grid ¡500^3] ¡
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
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 ¡ ¡
3D ¡Results: ¡evenly ¡sampled ¡low ¡noise ¡
3D ¡Results: ¡evenly ¡sampled ¡low ¡noise ¡
3D ¡Results: ¡unevenly ¡sampled ¡low ¡noise ¡
3D ¡Results: ¡unevenly ¡sample ¡and ¡noise ¡
Recommend
More recommend