zhang_smi11_pointsil..

advertisement
Point Set Silhouettes via Local
Reconstruction
Matt Olson1, Ramsay Dyer2, Hao (Richard) Zhang1, and Alla Sheffer3
1
2
3
Point set representations
• Much work on point graphics [Gross & Pfister 07]
• Full reconstruction hard and may be unnecessary
• Image space: mostly for rendering [Zwicker et al. 01]
• Object space
– Geomtry analysis and processing in 3D
– Almost always based on some form of local analysis
Point set silhouettes
• Important characteristic curves for
shape perception [Koenderink 84]
• Interactive point set visualization
– Sparse representation  O( n )
– Incremental extraction [Olson & Zhang 06]
• Stylized rendering
• Point set shadows
Relation works
• Image-space silhouettes by exploiting exploit
depth discontinuity via splatting [Xu et al. 04]
• Object space silhouette extraction
– Dual [Hertzmann & Zorin 00, Pop et al. 01] or Hough
transform [Olson & Zhang 06] with incremental
silhouette extraction for polygonal meshes
– Point set silhouettes via normal threasholding
[Zakaria et al. 04]
Related works
• Most existing local reconstructions form part
of full reconstruction  global consistency
– Cocone [Amenta et al. 2002], T-coords [Boissonnat &
Flototto 2004]: Voronoi diagram of entire point set
– Umbrella-based on GPU [Kil & Amenta 2008]
• Not designed to handle close-by surface
sheets, sharp features, or open boundaries
Definition
• On smooth surface S from viewpoint v
p  S : n( p)  ( p  v)
p
v
• Natural extension to point sets:
thresholding on estimated normals
– Hard to set a proper threshold
– Simultaneous over- and under-detection
– Normal smoothing does not solve problem
S
Simple but key observation
• Using point normals only is not enough
• Need surface information even though local
Low-curvature regions
• Normal thresholding over low-curvature area:
both points pass the threshold
v
Low-curvature regions
• Normal thresholding over low-curvature area
• With local surface reconstruction
v
Low-curvature regions
• Normal thresholding over low-curvature area
• With local surface reconstruction: viewpoint
lies in one and only one double wedge
v
Double wedge: whether mesh edge is along silhouette
High-curvature regions
• Normal thresholding over high-curvature area:
neither point passes the threshold
v
High-curvature regions
• Normal thresholding over high-curvature area
• With local surface reconstruction
v
High-curvature regions
• Normal thresholding over high-curvature area
• With local surface reconstruction: viewpoint
lies in one and only one double wedge
v
General definition of silhouettes?
• Perpendicularity between normal and view
vector: not readily generalized to points
• Double wedge: applies to mesh edges, not
directly to points in point cloud
• Seek definition of point set silhouettes
– Ideally also applicable to smooth surfaces, and
mesh primitives
Silhouette generating sets (SGS)
• SGS of a surface primitive (e.g., a point p):
set of points which “see” p as on silhouette
– For smooth surfaces: tangent plane at p
– For mesh edge: double wedge = set of “tangent
planes” bounded by supporting planes of faces
– For mesh vertex: union of double wedges of the
umbrella triangles at p
e
p
p
Point set silhouette
• Relate to underlying surface S
• Point p is on the silhouette if a true silhouette
arc of S is close to p on the surface
SGS for point sampled from surface S: union
– Interpretation: arc passes intrinsic Voronoi cell of p
of tangent planes at intrinsic Voronoi cell of p
Discretized version
• Construct local umbrellas around each point
• Umbrella triangles possess Delaunay
property to approximate intrinsic Voronoi cell
• Identify point set silhouette using SGS of
constructed umbrellas
Difficult issues
• Noise
• Sparse and non-uniform sampling
• Close-by surface sheets
• Sharp features
• Surface boundaries
Assumptions
• Underlying surface is piece-wise smooth
• Noise removed in pre-processing: weighted locally
optimal projection (WLOP) [Huang et al. 09]
• Well sampled over smooth regions  sampling
radius dictated by local feature size (lfs)
• At sharp features (lfs criterion does not apply), rely
on local uniformity of sampling
Algorithm overview
• Input: a set of unorganized points sampled
from a piecewise smooth surface
• Output: a one-ring umbrella at each point p
• Core steps:
– Normal estimation using Gabriel triangles
– Successive filtering of k-nearest neighbours (kNNs)
– Delaunay flips over set of one-ring triangles
– Boundary handling: sharp feature or open boundary
Gabriel triangle
• Gabriel triangle: triangle whose circumball
contains no other sample points
• For each p, let q be closest neighbour
• Gabriel triangle tG(p): (p, q, u) having the
smallest circumradius
Gabriel normal
• Normal at p = Gabriel normal = normal of tG(p)
• It can be proved that when surface region is
smooth and well sampled, Gabriel normal
approximates well the surface normal
(Appendix in paper)
Angle filtering
• Among all kNNs (k = 16) of p, remove those
whose edges form an angle larger than a
threshold  with supporting plane of tG(p)
• Serves to remove samples from close-by
surfaces or across sharp features
Compared to PCA
• Using the same k for kNNs
• Rendered by oriented splats
Ours
PCA
Boundary handling
• Angle filtering may still leave kNN’s across a
sharp feature but close to the feature (blue)
• Want to construct a half umbrella in this case
Boundary detection
• Near boundaries, lfs criterion does not apply,
so assume local sampling uniformity
– Restrict point counts in fixed neighborhoods
– Expressed as a bound on minimum edge length
– Translates to bound on angles at p
p
Boundary detection
• Near boundaries, lfs criterion does not apply,
so assume local sampling uniformity
– Restrict point counts in fixed neighborhoods
– Expressed as a bound on minimum edge length
– Translates to bound on angles at p
p
p
Delaunay flips
• Apply Delaunay edge flips [Dyer et al. 2007] to
find umbrella (approx. intrinsic Voronoi cell)
Delaunay flips
• Apply Delaunay edge flips [Dyer et al. 2007] to
find umbrella (approx. intrinsic Voronoi cell)
Boundary cleaning
• Triangles adjacent to detected boundary may
be spurious
• “Enlarge” the boundary
Boundary cleaning
• Triangles adjacent to detected boundary may
be spurious
• “Enlarge” the boundary
Gabriel normal not trustworthy
• This happens at a sharp feature
• Untrustworthy: less than half of original kNN’s
make angle less than  with plane of tG(p)
Multi-umbrellas
• Choose triangle alternative to tG(p)
• Compute partial one-rings as before
• At sharp edges, compute partial umbrella on
each facet, join adjacent umbrella triangles
along edge
• Open surface boundaries will have only one
(half) umbrella as well
Interactive point set silhouette
• Apply Hough-space algorithm [Olson & Zhang
2006] to find and update silhouette points
• Render consensus edges:
if p, q both on silhouette
and in each others’
umbrellas, draw edge pq
• No globally consistent
edge connectivity
Point set silhouette results
Normal
thresholding
Ours
Camera viewpoint and silhouette viewpoint not the same
Point set silhouette results
Normal thresholding
Ours
Point set silhouette results
Normal thresholding
Ours
Point set silhouette results
Normal thresholding
Ours
Limitations
• Separate handling of noise in input
– WLOP imperfect: leaves high-frequency
details causing non-clean silhouettes
• Relies on sufficient sampling density
and local sampling uniformity
• Silhouettes formed by independent
edges, not connected line loops with correct
topology [Akenine-Moller & Assarsson 2003]
Sampling conditions
• Well sampled with local sampling uniformity
– Hard to guarantee in practice
– WLOP not always adequate near sharp features
– Need effective resampling or upsampling especially
near shape features
– The reason normal thresholding does not work is an
undersampling problem
In retrospect
• A paper on how to choose the best kNNs
• With local reconstruction, convenient to
render point set silhouettes
– Umbrella edges give clean edge rendering
– Even point cloud visibility, e.g., via splatting of
umbrella triangles
Future work
• Assemble silhouette edges into closed loops
• Simple point set silhouettes [Grotler et al. 03]
• Additional applications of point set silhouettes
• Additional applications of constructed local
umbrellas in point processing
• Parallelization and GPU implementation
Acknowledgement
• Anonymous reviewers
• Funding: NSERC (Canada)
• Mesh models: AIM@SHAPE
Thank you!
Download