Non-­‐Convex	
  Hull	
  Surfaces	
  
Gabriel	
  Taubin	
  
Brown	
  University	
  

	
  
Typical	
  Surface	
  Reconstruc3on	
  Pipeline	
  

Oriented	
  
Points	
  	
  

Reconstruc=on	
  
Method	
  

Posi=ons	
...
Interpola3ng	
  Polygon	
  Meshes	
  [Combinatorial]	
  
• 
• 
• 
• 
• 
• 

Boissonnat	
  [1984]	
  (Natural	
  Neighbor	
...
Implicit	
  Func3on	
  [Op3miza3on]	
  
• 
• 
• 
• 
• 
• 
• 
• 
• 
• 

Hoppe	
  et	
  al.	
  [1992]	
  	
  
Curless	
  et	...
Poisson	
  Surface	
  Reconstruc3on	
  

	
  	
  Kazhdan	
  et	
  al.	
  [2006]	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
 ...
Implicit	
  Surface	
  Reconstruc3on	
  
<	
  0	
  

0	
  

>	
  0	
  
Oriented	
  Points,	
  D	
  	
  
(samples	
  from	
...
Smooth	
  Signed	
  Distance	
  Surface	
  Reconstruc3on	
  
[Calakli	
  &	
  Taubin	
  2011]	
  

N

2

E ( f ) = ∑ f (p ...
Oriented	
  Points	
  as	
  Surface	
  Samples	
  

(p,n)	
  	
  
Oriented	
  point	
  (p,n)	
  
p:	
  sample	
  of	
  sur...
Real	
  Data	
  Sets	
  Present	
  Addi3onal	
  Challenges	
  

Ini3al	
  assump3ons	
  

Non-­‐uniform	
  sampling	
  

N...
Reconstruc3on	
  with	
  an	
  Approximate	
  Signed	
  Distance	
  
•  Input:	
  oriented	
  points	
  contained	
  in	
 ...
NCH	
  Surface	
  Reconstruc3on	
  Algorithm	
  
•  Produces	
  interpolatory	
  implicit	
  surface	
  
	
  	
  	
  	
  	...
Convex	
  Hull	
  of	
  a	
  Set	
  of	
  Points	
  

•  Smallest	
  convex	
  set	
  containing	
  all	
  the	
  points	
...
Oriented	
  Convex	
  Hull	
  
One	
  Linear	
  func=on	
  per	
  point	
  

fi (x) > 0

t
i

fi (x) = n (x − pi )
fi (x) ...
Oriented	
  Convex	
  Hull	
  Surface	
  
Boundary	
  of	
  the	
  Intersec=on	
  of	
  
all	
  Suppor=ng	
  Linear	
  Hal...
Non-­‐Convex	
  Hull	
  
Spherical	
  Half	
  Space	
  =	
  Space	
  outside	
  of	
  a	
  Sphere	
  
Intersec=on	
  of	
 ...
Geometry	
  of	
  the	
  Support	
  Func3ons	
  

Inverted	
  

qi = pi + ri ni
1 2
fi (x) =
ri − x − qi
2ri

(

Max	
  	
...
Proper3es	
  of	
  Non-­‐Convex	
  Hull	
  Func3on	
  
f (x) = max i fi (x)

1
fi (x) = n (x − pi ) −
x − pi
2ri
t
i

2

M...
Voronoi	
  and	
  Apollonious	
  Diagrams	
  
Voronoi	
  and	
  Apollonious	
  Diagrams	
  

Fi = {x : fi (x) > f j (x) ∀j ≠ i}
NCH	
  Surface	
  Reconstruc3on	
  
t
i

fi (x) = n (x − pi ) − ρi x − pi

2

# t
'
% ni ( p j − pi )
%
ρi = min $
: j ∈ J...
O(n 2 ) but	
  O(n) with	
   O(n) processors	
  
fi (x)
f (x) = max i fi (x)
Another	
  2D	
  Result	
  

C = { x : f (x) = 0}
Func=on	
  evaluated	
  on	
  pixel	
  grid	
  and	
  isocurve	
  comput...
A	
  3D	
  Example	
  [Regular	
  Voxel	
  Grid	
  500^3]	
  
Symmetric	
  Non-­‐Convex	
  Hull	
  
•  If	
  orienta=on	
  of	
  normal	
  vectors	
  is	
  reversed,	
  a	
  
different	...
NCH	
  Surface	
  Representa3on	
  
•  Set	
  of	
  oriented	
  points	
  with	
  two	
  addi=onal	
  
scalar	
  apributes...
3D	
  Results:	
  evenly	
  sampled	
  low	
  noise	
  
3D	
  Results:	
  evenly	
  sampled	
  low	
  noise	
  
3D	
  Results:	
  unevenly	
  sampled	
  low	
  noise	
  
3D	
  Results:	
  unevenly	
  sample	
  and	
  noise	
  
Rela3on	
  to	
  the	
  Medial	
  Axis	
  Transform	
  
•  The	
  finite	
  set	
  of	
  oriented	
  points	
  is	
  replac...
Rela3on	
  to	
  the	
  Medial	
  Axis	
  Transform	
  
•  A	
  medial	
  ball	
  of	
  O	
  is	
  an	
  open	
  ball	
  c...
Rela3on	
  to	
  the	
  Medial	
  Axis	
  Transform	
  
•  The	
  Medial	
  Axis	
  of	
  O,	
  denoted	
  MA(O),	
  is	
 ...
Rela3on	
  to	
  the	
  Medial	
  Axis	
  Transform	
  
•  Our	
  construc=on	
  is	
  an	
  alterna=ve	
  representa=on	
...
Ques=ons?	
  
This	
  material	
  is	
  based	
  upon	
  work	
  supported	
  by	
  
the	
  Na=onal	
  Science	
  Founda=o...
Upcoming SlideShare
Loading in …5
×

Non-Convex Hull Surfaces, Siggraph Asia 2013 Technical Brief

984 views

Published on

Published in: Technology, Education
  • Be the first to comment

  • Be the first to like this

Non-Convex Hull Surfaces, Siggraph Asia 2013 Technical Brief

  1. 1. Non-­‐Convex  Hull  Surfaces   Gabriel  Taubin   Brown  University    
  2. 2. Typical  Surface  Reconstruc3on  Pipeline   Oriented   Points     Reconstruc=on   Method   Posi=ons  &  Normals   Surface   Representa=on   Water=ght  Surface                        Polygon  Mesh      
  3. 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. 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. 5. Poisson  Surface  Reconstruc3on      Kazhdan  et  al.  [2006]                          Manson  et  al.  [2008]    
  6. 6. Implicit  Surface  Reconstruc3on   <  0   0   >  0   Oriented  Points,  D     (samples  from  unknown  surface  S)   Computed  Implicit  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. 7. Smooth  Signed  Distance  Surface  Reconstruc3on   [Calakli  &  Taubin  2011]   N 2 E ( f ) = ∑ f (p i ) + λ1 ∑ ∇f (p i ) − n i + λ2 ∫ || Hf (x) || 2 dx i =1 2 N i =1 V Par3cularly  Good  at  Extrapola3ng  Missing  Data  
  8. 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. 9. Real  Data  Sets  Present  Addi3onal  Challenges   Ini3al  assump3ons   Non-­‐uniform  sampling   Noisy  data   Misaligned  scans  
  10. 10. Reconstruc3on  with  an  Approximate  Signed  Distance   •  Input:  oriented  points  contained  in  a  bounding  volume  V      D  =  {  (  pi,  ni  )  i=1,…,N  }   •  Output:  implicit  surface     |∇f  (pi)|=1      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   or  dual  octree.   •  Evaluate  approximate  signed  distance  on  M-­‐ver=ces,  and   compute  isosurface.  
  11. 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   2 •  On  the  nega=ve  side:    O(n      )    not  scalable               •  But  of  prac=cal  use  
  12. 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. 13. Oriented  Convex  Hull   One  Linear  func=on  per  point   fi (x) > 0 t i fi (x) = n (x − pi ) fi (x) < 0 Suppor=ng  Linear  Half  Space  if   fi ( p j ) ≤ 0 ∀j ≠ i Not  every  point  defines  a  Suppor3ng  Linear  Half  Space  
  14. 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 fi (x)
  15. 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 fi (x) But  now  every  point  has  a  suppor=ng  func=on  
  16. 16. Geometry  of  the  Support  Func3ons   Inverted   qi = pi + ri ni 1 2 fi (x) = ri − x − qi 2ri ( Max        i    so  that        f  i  (  p  j  )    ≤    0    for  all  j                       r 2 ) 1 fi (x) = n (x − pi ) − x − pi 2ri t i 2
  17. 17. Proper3es  of  Non-­‐Convex  Hull  Func3on   f (x) = max i fi (x) 1 fi (x) = n (x − pi ) − x − pi 2ri t i 2 Max        i    so  that        f  i  (  p  j  )    ≤    0    for  all  j                       r fi ( pi ) = 0 ∇fi ( pi ) = ni f j ( pi ) ≤ 0 = fi ( pi ) ⇒ f ( pi ) = fi ( pi ) = 0 pi ∈ Fi = {x : fi (x) > f j (x)∀j ≠ i} is  open   ⇒ ∇f ( pi ) = ∇fi ( pi ) = ni
  18. 18. Voronoi  and  Apollonious  Diagrams  
  19. 19. Voronoi  and  Apollonious  Diagrams   Fi = {x : fi (x) > f j (x) ∀j ≠ i}
  20. 20. NCH  Surface  Reconstruc3on   t i fi (x) = n (x − pi ) − ρi x − pi 2 # t ' % ni ( p j − pi ) % ρi = min $ : j ∈ Ji ( 2 % p j − pi % & ) But    ρ  i    =          if   Ji = ∅         0 1 ρi = 2ri 0 ≤ ρi < ∞ Ji = { j : nit ( p j − pi ) > 0}
  21. 21. O(n 2 ) but  O(n) with   O(n) processors  
  22. 22. fi (x) f (x) = max i fi (x)
  23. 23. Another  2D  Result   C = { x : f (x) = 0} Func=on  evaluated  on  pixel  grid  and  isocurve  computed  
  24. 24. A  3D  Example  [Regular  Voxel  Grid  500^3]  
  25. 25. Symmetric  Non-­‐Convex  Hull   •  If  orienta=on  of  normal  vectors  is  reversed,  a   different  NCH  Func=on  results.   •  Compute      f  +  (x)      from    {( pi , ni ) : i = 1,..., N }  i           •  Compute      f  i −  (x)      from  {( pi , −ni ) : i = 1,..., N }             + − •  Define     f (x) = { fi (x) − fi (x)} / 2
  26. 26. NCH  Surface  Representa3on   •  Set  of  oriented  points  with  two  addi=onal   scalar  apributes   ( pi , ni , ρi+, ρi− ) : i = 1,..., N } { •  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. 27. 3D  Results:  evenly  sampled  low  noise  
  28. 28. 3D  Results:  evenly  sampled  low  noise  
  29. 29. 3D  Results:  unevenly  sampled  low  noise  
  30. 30. 3D  Results:  unevenly  sample  and  noise  
  31. 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   object  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.  
  32. 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)   of  medial  balls  of  O.  
  33. 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)  
  34. 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.  
  35. 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.  

×