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

non convex hull surfaces
SMART_READER_LITE
LIVE PREVIEW

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


slide-1
SLIDE 1

Non-­‑Convex ¡Hull ¡Surfaces ¡

Gabriel ¡Taubin ¡

Brown ¡University ¡

¡

slide-2
SLIDE 2

Reconstruc=on ¡ Method ¡ Surface ¡ Representa=on ¡ Oriented ¡ Points ¡ ¡ Posi=ons ¡& ¡Normals ¡ Water=ght ¡Surface ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡Polygon ¡Mesh ¡ ¡ ¡

Typical ¡Surface ¡Reconstruc3on ¡Pipeline ¡

slide-3
SLIDE 3
  • 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 ¡

Interpola3ng ¡Polygon ¡Meshes ¡[Combinatorial] ¡

slide-4
SLIDE 4
  • 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) ¡

¡

Implicit ¡Func3on ¡[Op3miza3on] ¡

slide-5
SLIDE 5

Poisson ¡Surface ¡Reconstruc3on ¡

¡ ¡Kazhdan ¡et ¡al. ¡[2006] ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡Manson ¡et ¡al. ¡[2008] ¡

¡

slide-6
SLIDE 6

< ¡0 ¡ > ¡0 ¡ 0 ¡ Oriented ¡Points, ¡D ¡ ¡ (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 ¡

Computed ¡Implicit ¡Surface, ¡S’ ¡

Implicit ¡Surface ¡Reconstruc3on ¡

slide-7
SLIDE 7

Smooth ¡Signed ¡Distance ¡Surface ¡Reconstruc3on ¡ [Calakli ¡& ¡Taubin ¡2011] ¡

∫ ∑ ∑

+ − ∇ + =

= = V N i N i

d f f f f E x x n p p

i i i 2 2 1 2 1 1 2

|| ) ( H || ) ( ) ( ) ( λ λ Par3cularly ¡Good ¡at ¡Extrapola3ng ¡Missing ¡Data ¡

slide-8
SLIDE 8

Oriented ¡Points ¡as ¡Surface ¡Samples ¡

  • 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 ¡
  • riented ¡towards ¡the ¡“outside” ¡
  • Low ¡Noise ¡

(p,n) ¡ ¡

slide-9
SLIDE 9

Real ¡Data ¡Sets ¡Present ¡Addi3onal ¡Challenges ¡

Ini3al ¡assump3ons ¡ Non-­‑uniform ¡sampling ¡ Noisy ¡data ¡ Misaligned ¡scans ¡

slide-10
SLIDE 10
  • Input: ¡oriented ¡points ¡contained ¡in ¡a ¡bounding ¡volume ¡V ¡

¡ ¡D ¡= ¡{ ¡( ¡pi, ¡ni ¡) ¡i=1,…,N ¡} ¡

  • Output: ¡implicit ¡surface ¡ ¡

¡S ¡= ¡{ ¡x ¡| ¡f ¡(x) ¡= ¡0 ¡} ¡ ¡ ¡ ¡ ¡with ¡the ¡func=on ¡defined ¡on ¡V, ¡such ¡that ¡ ¡ ¡ ¡ ¡ ¡ ¡f ¡(pi) ¡= ¡0 ¡ ¡ ¡and ¡ ¡ ¡∇f ¡(pi) ¡= ¡ni ¡ ¡ ¡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 ¡
  • r ¡dual ¡octree. ¡
  • Evaluate ¡approximate ¡signed ¡distance ¡on ¡M-­‑ver=ces, ¡and ¡

compute ¡isosurface. ¡

Reconstruc3on ¡with ¡an ¡Approximate ¡Signed ¡Distance ¡

|∇f ¡(pi)|=1 ¡ ¡

slide-11
SLIDE 11

NCH ¡Surface ¡Reconstruc3on ¡Algorithm ¡

  • Produces ¡interpolatory ¡implicit ¡surface ¡

¡ ¡ ¡ ¡ ¡f ¡(pi) ¡= ¡0 ¡ ¡and ¡∇f ¡(pi) ¡= ¡ni ¡ ¡∀(pi,ni) ¡∈ ¡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 ¡
  • On ¡the ¡nega=ve ¡side: ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡not ¡scalable ¡
  • But ¡of ¡prac=cal ¡use ¡

O(n2)

slide-12
SLIDE 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 ¡

slide-13
SLIDE 13

Oriented ¡Convex ¡Hull ¡

fi(x) = ni

t(x − pi)

fi(x) < 0 fi(x) > 0 fi(pj) ≤ 0 ∀j ≠ i

Suppor=ng ¡Linear ¡Half ¡Space ¡if ¡ One ¡Linear ¡func=on ¡per ¡point ¡ Not ¡every ¡point ¡defines ¡a ¡Suppor3ng ¡Linear ¡Half ¡Space ¡

slide-14
SLIDE 14

Oriented ¡Convex ¡Hull ¡Surface ¡

S = {x : f (x) = 0} f (x) = maxi fi(x)

Boundary ¡of ¡the ¡Intersec=on ¡of ¡ all ¡Suppor=ng ¡Linear ¡Half ¡Spaces ¡

slide-15
SLIDE 15

Non-­‑Convex ¡Hull ¡

f (x) = maxi fi(x)

Spherical ¡Half ¡Space ¡= ¡Space ¡outside ¡of ¡a ¡Sphere ¡ Intersec=on ¡of ¡all ¡Suppor=ng ¡Spherical ¡Half ¡Spaces ¡ But ¡now ¡every ¡point ¡has ¡a ¡suppor=ng ¡func=on ¡

slide-16
SLIDE 16

Geometry ¡of ¡the ¡Support ¡Func3ons ¡

fi(x) = ni

t(x − pi)− 1

2r

i

x − pi

2

qi = pi +r

i ni

fi(x) = 1 2r

i

r

i 2 − x − qi 2

( )

fi(pj) ≤ 0

Max ¡ ¡ ¡ ¡ ¡ ¡so ¡that ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡for ¡all ¡j ¡ ¡ ¡ ¡

r

i

Inverted ¡

slide-17
SLIDE 17

Proper3es ¡of ¡Non-­‑Convex ¡Hull ¡Func3on ¡

f (x) = maxi fi(x) fi(x) = ni

t(x − pi)− 1

2r

i

x − pi

2

fi(pj) ≤ 0

Max ¡ ¡ ¡ ¡ ¡ ¡so ¡that ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡for ¡all ¡j ¡ ¡ ¡ ¡

r

i

fi(pi) = 0 ∇fi(pi) = ni fj(pi) ≤ 0 = fi(pi) ⇒ f (pi) = fi(pi) = 0 pi ∈ F

i = {x : fi(x) > fj(x)∀j ≠ i} is ¡open ¡

⇒ ∇f (pi) = ∇fi(pi) = ni

slide-18
SLIDE 18

Voronoi ¡and ¡Apollonious ¡Diagrams ¡

slide-19
SLIDE 19

F

i = {x : fi(x) > fj(x) ∀j ≠ i}

Voronoi ¡and ¡Apollonious ¡Diagrams ¡

slide-20
SLIDE 20

NCH ¡Surface ¡Reconstruc3on ¡

fi(x) = ni

t(x − pi)− ρi x − pi 2

ρi = 1 2r

i

0 ≤ ρi < ∞ ρi = min ni

t(pj − pi)

pj − pi

2 : j ∈ Ji

# $ % & % ' ( % ) % Ji = j :ni

t(pj − pi) > 0

{ }

ρi = 0 Ji = ∅

But ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡if ¡

slide-21
SLIDE 21

O(n2) but ¡ O(n) O(n) with ¡ processors ¡

slide-22
SLIDE 22

f (x) = maxi fi(x) fi(x)

slide-23
SLIDE 23

Another ¡2D ¡Result ¡

C = x : f (x) = 0

{ }

Func=on ¡evaluated ¡on ¡pixel ¡grid ¡and ¡isocurve ¡computed ¡

slide-24
SLIDE 24

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

slide-25
SLIDE 25

Symmetric ¡Non-­‑Convex ¡Hull ¡

  • If ¡orienta=on ¡of ¡normal ¡vectors ¡is ¡reversed, ¡a ¡

different ¡NCH ¡Func=on ¡results. ¡

  • Compute ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡from ¡ ¡
  • Compute ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡from ¡
  • Define ¡ ¡

fi

+(x)

(pi,ni):i =1,..., N

{ }

fi

−(x)

(pi,−ni):i =1,..., N

{ }

f (x) = fi

+(x)− fi −(x)

{ }/ 2

slide-26
SLIDE 26

NCH ¡Surface ¡Representa3on ¡

  • Set ¡of ¡oriented ¡points ¡with ¡two ¡addi=onal ¡

scalar ¡apributes ¡

  • 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 ¡ ¡

(pi,ni,ρi

+,ρi −):i =1,..., N

{ }

slide-27
SLIDE 27

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

slide-28
SLIDE 28

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

slide-29
SLIDE 29

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

slide-30
SLIDE 30

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

slide-31
SLIDE 31

Rela3on ¡to ¡the ¡Medial ¡Axis ¡Transform ¡

  • The ¡finite ¡set ¡of ¡oriented ¡points ¡is ¡replaced ¡by ¡the ¡

con=nuous ¡boundary ¡surface ¡S ¡of ¡a ¡bounded ¡solid ¡

  • bject ¡O, ¡which ¡is ¡an ¡open ¡set ¡in ¡3D ¡
  • The ¡surface ¡S ¡is ¡smooth, ¡with ¡a ¡con=nuous ¡unit ¡

length ¡normal ¡field ¡poin=ng ¡towards ¡the ¡inside ¡of ¡O, ¡ and ¡con=nuous ¡curvatures. ¡

slide-32
SLIDE 32

Rela3on ¡to ¡the ¡Medial ¡Axis ¡Transform ¡

  • A ¡medial ¡ball ¡of ¡O ¡is ¡an ¡open ¡ball ¡contained ¡in ¡O ¡

which ¡is ¡maximal ¡with ¡respect ¡to ¡inclusion ¡

  • The ¡Medial ¡Axis ¡Transform ¡of ¡O ¡is ¡the ¡family ¡MAT(O) ¡
  • f ¡medial ¡balls ¡of ¡O. ¡
slide-33
SLIDE 33

Rela3on ¡to ¡the ¡Medial ¡Axis ¡Transform ¡

  • The ¡Medial ¡Axis ¡of ¡O, ¡denoted ¡MA(O), ¡is ¡the ¡set ¡of ¡

centers ¡of ¡medial ¡balls ¡

  • Since ¡for ¡each ¡medial ¡axis ¡point ¡there ¡is ¡a ¡unique ¡

medial ¡ball, ¡the ¡MAT(O) ¡can ¡also ¡be ¡represented ¡as ¡a ¡ set ¡of ¡center-­‑radius ¡pairs ¡(q,r) ¡

slide-34
SLIDE 34

Rela3on ¡to ¡the ¡Medial ¡Axis ¡Transform ¡

  • Our ¡construc=on ¡is ¡an ¡alterna=ve ¡representa=on ¡of ¡

MAT(O) ¡as ¡a ¡list ¡of ¡center-­‑vector-­‑radius ¡tuples ¡ ¡ (p,n,r), ¡where ¡each ¡medial ¡ball ¡is ¡specified ¡by ¡one ¡of ¡ its ¡boundary ¡points, ¡the ¡unit ¡length ¡vector ¡that ¡ points ¡to ¡the ¡center ¡of ¡the ¡ball, ¡and ¡the ¡radius. ¡

slide-35
SLIDE 35

Ques=ons? ¡

This ¡material ¡is ¡based ¡upon ¡work ¡supported ¡by ¡ the ¡Na=onal ¡Science ¡Founda=on ¡under ¡Grants ¡ CCF-­‑0729126, ¡IIS-­‑0808718, ¡CCF-­‑0915661, ¡and ¡ IIP-­‑1215308. ¡