non-convex hull surfaces, siggraph asia 2013 technical brief
TRANSCRIPT
![Page 1: Non-Convex Hull Surfaces, Siggraph Asia 2013 Technical Brief](https://reader033.vdocuments.mx/reader033/viewer/2022060108/55509633b4c90590208b45cd/html5/thumbnails/1.jpg)
Non-‐Convex Hull Surfaces
Gabriel Taubin Brown University
![Page 2: Non-Convex Hull Surfaces, Siggraph Asia 2013 Technical Brief](https://reader033.vdocuments.mx/reader033/viewer/2022060108/55509633b4c90590208b45cd/html5/thumbnails/2.jpg)
Reconstruc=on Method
Surface Representa=on
Oriented Points
Posi=ons & Normals Water=ght Surface Polygon Mesh
Typical Surface Reconstruc3on Pipeline
![Page 3: Non-Convex Hull Surfaces, Siggraph Asia 2013 Technical Brief](https://reader033.vdocuments.mx/reader033/viewer/2022060108/55509633b4c90590208b45cd/html5/thumbnails/3.jpg)
• 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]
![Page 4: Non-Convex Hull Surfaces, Siggraph Asia 2013 Technical Brief](https://reader033.vdocuments.mx/reader033/viewer/2022060108/55509633b4c90590208b45cd/html5/thumbnails/4.jpg)
• 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]
![Page 5: Non-Convex Hull Surfaces, Siggraph Asia 2013 Technical Brief](https://reader033.vdocuments.mx/reader033/viewer/2022060108/55509633b4c90590208b45cd/html5/thumbnails/5.jpg)
Poisson Surface Reconstruc3on
Kazhdan et al. [2006] Manson et al. [2008]
![Page 6: Non-Convex Hull Surfaces, Siggraph Asia 2013 Technical Brief](https://reader033.vdocuments.mx/reader033/viewer/2022060108/55509633b4c90590208b45cd/html5/thumbnails/6.jpg)
< 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
![Page 7: Non-Convex Hull Surfaces, Siggraph Asia 2013 Technical Brief](https://reader033.vdocuments.mx/reader033/viewer/2022060108/55509633b4c90590208b45cd/html5/thumbnails/7.jpg)
Smooth Signed Distance Surface Reconstruc3on [Calakli & Taubin 2011]
∫∑∑ +−∇+===
V
N
i
N
idffffE xxnpp iii
22
1
21
1
2 ||)(H||)()()( λλ
Par3cularly Good at Extrapola3ng Missing Data
![Page 8: Non-Convex Hull Surfaces, Siggraph Asia 2013 Technical Brief](https://reader033.vdocuments.mx/reader033/viewer/2022060108/55509633b4c90590208b45cd/html5/thumbnails/8.jpg)
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 oriented towards the “outside”
• Low Noise
(p,n)
![Page 9: Non-Convex Hull Surfaces, Siggraph Asia 2013 Technical Brief](https://reader033.vdocuments.mx/reader033/viewer/2022060108/55509633b4c90590208b45cd/html5/thumbnails/9.jpg)
Real Data Sets Present Addi3onal Challenges
Ini3al assump3ons
Non-‐uniform sampling
Noisy data
Misaligned scans
![Page 10: Non-Convex Hull Surfaces, Siggraph Asia 2013 Technical Brief](https://reader033.vdocuments.mx/reader033/viewer/2022060108/55509633b4c90590208b45cd/html5/thumbnails/10.jpg)
• 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 or dual octree.
• Evaluate approximate signed distance on M-‐ver=ces, and compute isosurface.
Reconstruc3on with an Approximate Signed Distance
|∇f (pi)|=1
![Page 11: Non-Convex Hull Surfaces, Siggraph Asia 2013 Technical Brief](https://reader033.vdocuments.mx/reader033/viewer/2022060108/55509633b4c90590208b45cd/html5/thumbnails/11.jpg)
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 )
![Page 12: Non-Convex Hull Surfaces, Siggraph Asia 2013 Technical Brief](https://reader033.vdocuments.mx/reader033/viewer/2022060108/55509633b4c90590208b45cd/html5/thumbnails/12.jpg)
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
![Page 13: Non-Convex Hull Surfaces, Siggraph Asia 2013 Technical Brief](https://reader033.vdocuments.mx/reader033/viewer/2022060108/55509633b4c90590208b45cd/html5/thumbnails/13.jpg)
Oriented Convex Hull
fi (x) = nit (x − pi )
fi (x)< 0fi (x)> 0
fi (pj ) ≤ 0 ∀j ≠ iSuppor=ng Linear Half Space if
One Linear func=on per point
Not every point defines a Suppor3ng Linear Half Space
![Page 14: Non-Convex Hull Surfaces, Siggraph Asia 2013 Technical Brief](https://reader033.vdocuments.mx/reader033/viewer/2022060108/55509633b4c90590208b45cd/html5/thumbnails/14.jpg)
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
![Page 15: Non-Convex Hull Surfaces, Siggraph Asia 2013 Technical Brief](https://reader033.vdocuments.mx/reader033/viewer/2022060108/55509633b4c90590208b45cd/html5/thumbnails/15.jpg)
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
![Page 16: Non-Convex Hull Surfaces, Siggraph Asia 2013 Technical Brief](https://reader033.vdocuments.mx/reader033/viewer/2022060108/55509633b4c90590208b45cd/html5/thumbnails/16.jpg)
Geometry of the Support Func3ons
fi (x) = nit (x − pi )−
12ri
x − pi2
qi = pi + ri ni
fi (x) =12ri
ri2 − x − qi
2( )
fi (pj ) ≤ 0Max so that for all j ri
Inverted
![Page 17: Non-Convex Hull Surfaces, Siggraph Asia 2013 Technical Brief](https://reader033.vdocuments.mx/reader033/viewer/2022060108/55509633b4c90590208b45cd/html5/thumbnails/17.jpg)
Proper3es of Non-‐Convex Hull Func3on
f (x) =maxi fi (x)
fi (x) = nit (x − pi )−
12ri
x − pi2
fi (pj ) ≤ 0Max so that for all j ri
fi (pi ) = 0 ∇fi (pi ) = nif 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
![Page 18: Non-Convex Hull Surfaces, Siggraph Asia 2013 Technical Brief](https://reader033.vdocuments.mx/reader033/viewer/2022060108/55509633b4c90590208b45cd/html5/thumbnails/18.jpg)
Voronoi and Apollonious Diagrams
![Page 19: Non-Convex Hull Surfaces, Siggraph Asia 2013 Technical Brief](https://reader033.vdocuments.mx/reader033/viewer/2022060108/55509633b4c90590208b45cd/html5/thumbnails/19.jpg)
Fi = {x : fi (x)> f j (x) ∀j ≠ i}
Voronoi and Apollonious Diagrams
![Page 20: Non-Convex Hull Surfaces, Siggraph Asia 2013 Technical Brief](https://reader033.vdocuments.mx/reader033/viewer/2022060108/55509633b4c90590208b45cd/html5/thumbnails/20.jpg)
NCH Surface Reconstruc3on
fi (x) = nit (x − pi )− ρi x − pi
2 ρi =12ri
0 ≤ ρi <∞
ρi =minnit (pj − pi )
pj − pi2 : j ∈ Ji
#$%
&%
'(%
)%Ji = j :ni
t (pj − pi )> 0{ }
ρi = 0 Ji =∅But if
![Page 21: Non-Convex Hull Surfaces, Siggraph Asia 2013 Technical Brief](https://reader033.vdocuments.mx/reader033/viewer/2022060108/55509633b4c90590208b45cd/html5/thumbnails/21.jpg)
O(n2 ) but O(n)O(n) with processors
![Page 22: Non-Convex Hull Surfaces, Siggraph Asia 2013 Technical Brief](https://reader033.vdocuments.mx/reader033/viewer/2022060108/55509633b4c90590208b45cd/html5/thumbnails/22.jpg)
f (x) =maxi fi (x)
fi (x)
![Page 23: Non-Convex Hull Surfaces, Siggraph Asia 2013 Technical Brief](https://reader033.vdocuments.mx/reader033/viewer/2022060108/55509633b4c90590208b45cd/html5/thumbnails/23.jpg)
Another 2D Result
C = x : f (x) = 0{ }Func=on evaluated on pixel grid and isocurve computed
![Page 24: Non-Convex Hull Surfaces, Siggraph Asia 2013 Technical Brief](https://reader033.vdocuments.mx/reader033/viewer/2022060108/55509633b4c90590208b45cd/html5/thumbnails/24.jpg)
A 3D Example [Regular Voxel Grid 500^3]
![Page 25: Non-Convex Hull Surfaces, Siggraph Asia 2013 Technical Brief](https://reader033.vdocuments.mx/reader033/viewer/2022060108/55509633b4c90590208b45cd/html5/thumbnails/25.jpg)
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
![Page 26: Non-Convex Hull Surfaces, Siggraph Asia 2013 Technical Brief](https://reader033.vdocuments.mx/reader033/viewer/2022060108/55509633b4c90590208b45cd/html5/thumbnails/26.jpg)
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{ }
![Page 27: Non-Convex Hull Surfaces, Siggraph Asia 2013 Technical Brief](https://reader033.vdocuments.mx/reader033/viewer/2022060108/55509633b4c90590208b45cd/html5/thumbnails/27.jpg)
3D Results: evenly sampled low noise
![Page 28: Non-Convex Hull Surfaces, Siggraph Asia 2013 Technical Brief](https://reader033.vdocuments.mx/reader033/viewer/2022060108/55509633b4c90590208b45cd/html5/thumbnails/28.jpg)
3D Results: evenly sampled low noise
![Page 29: Non-Convex Hull Surfaces, Siggraph Asia 2013 Technical Brief](https://reader033.vdocuments.mx/reader033/viewer/2022060108/55509633b4c90590208b45cd/html5/thumbnails/29.jpg)
3D Results: unevenly sampled low noise
![Page 30: Non-Convex Hull Surfaces, Siggraph Asia 2013 Technical Brief](https://reader033.vdocuments.mx/reader033/viewer/2022060108/55509633b4c90590208b45cd/html5/thumbnails/30.jpg)
3D Results: unevenly sample and noise
![Page 31: Non-Convex Hull Surfaces, Siggraph Asia 2013 Technical Brief](https://reader033.vdocuments.mx/reader033/viewer/2022060108/55509633b4c90590208b45cd/html5/thumbnails/31.jpg)
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.
![Page 32: Non-Convex Hull Surfaces, Siggraph Asia 2013 Technical Brief](https://reader033.vdocuments.mx/reader033/viewer/2022060108/55509633b4c90590208b45cd/html5/thumbnails/32.jpg)
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.
![Page 33: Non-Convex Hull Surfaces, Siggraph Asia 2013 Technical Brief](https://reader033.vdocuments.mx/reader033/viewer/2022060108/55509633b4c90590208b45cd/html5/thumbnails/33.jpg)
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)
![Page 34: Non-Convex Hull Surfaces, Siggraph Asia 2013 Technical Brief](https://reader033.vdocuments.mx/reader033/viewer/2022060108/55509633b4c90590208b45cd/html5/thumbnails/34.jpg)
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.
![Page 35: Non-Convex Hull Surfaces, Siggraph Asia 2013 Technical Brief](https://reader033.vdocuments.mx/reader033/viewer/2022060108/55509633b4c90590208b45cd/html5/thumbnails/35.jpg)
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.