Title: 3D POINT CLOUD
13D POINT CLOUD SIMPLIFICATION
CMPUT 414 PRESENTATION GROUP 2 Chris Rose Dave
Schaefer Kimberly Van Herk Matthew Wearmouth
C. Moenning et al. 2003
2What is a Point Cloud?
- A point cloud is an unstructured collection of
points representing an object. - A point cloud contains information about an
objects location in 3D space, normal vector,
colour, transparency and size.
3Why use Point Clouds?
- Point clouds have less information to be
stored. - Point clouds are smaller and easier to render
than mesh representation. - Point clouds are good for producing scenes with
complex geometry - Point clouds are better for conveying texture
than mesh.
4Why use Point Clouds?
- It takes less time to scan an image directly to
a point cloud than to a mesh. - The reconstructed surface can be used to compare
distances within the surface. - Point clouds will render a smoother image than a
mesh.
5Why Simplify?
- Point clouds are becoming larger as the 3D
scanners produce results with millions of points. - Point cloud representation is one of the most
widely used formats for visualization as it can
represent surfaces and volumetric data.
6Simplification Methods
- Clustering
- Iterative Simplification
- Particle Simulation
- Point Based Multiscale Representation
- Mesh Construction
- Fast Marching
- Hole fixing
-
7Clustering
- Group the points into smaller sets.
- Replace the cluster by a single point whose size
reflects the size of the cluster being replaced.
8Clustering Methods
- Incremental Region-Growing
- Hierarchical
C. Moenning et al. 2003
9Incremental Region-Growing
- Before starting, a maximum cluster size must be
specified along with a maximum surface variation
value. - Starting with any point p, grow the cluster by
adding its nearest neighbours. - Stop growing the cluster once it has reached
its max size or the max surface variation.
10Incremental Region-Growing
- Continue forming new clusters until all but
stray points are left, ensuring no two clusters
contain the same point.
- Assign all stray points to the nearest cluster.
- Good execution time, but its surface error is
especially bad near detail features
Note It is better to have many small clusters
with small surface variation in order to retain
more of the objects original structure.
11Hierarchical Clustering
- Split the point cloud in half if it contains
more points than a specified maximum size or if
the maximum surface variation is exceeded. - Each time the cloud is split it represents a
new branch in a binary tree, with the terminal
clouds as the leaves. - The cloud is split using a split plane which is
generally determined by an anchor point and the
normal vector.
12Hierarchical Clustering
- The anchor point is generally the centroid
(center point) of the set. - The split plane can be generated by Orthogonal
Clustering or Bounding Box Division or by the
Normal Vector method. - Good performance characteristics, but
moderately lossy in areas of detail.
13Orthogonal Clustering
- The normal of the split plane is chosen
depending on the depth of the divided cluster in
the direction of the x, y or z-axis.
14Bounding Box Division
- The anchor point is either the centroid or the
center of the Bounding Box. - The Bounding Box is represented by its lower
left and upper right points. - The parameters are computed from the
coordinates of all the sample points and the
Bounding Box is split into 2 equal halves by the
plane perpendicular to its longest axis.
15Covariance Analysis
- The normal vector of the split plane can also
be found by covariance analysis of the
neighborhood around the centroid. - The covariance matrix is formed by
16Covariance Analysis
- The eigenvectors of the covariance matrix form
an orthogonal basis. - The eigenvalues measure the variance of point
sets along the direction of its corresponding
eigenvector. If ?0?1?2 then the plane formed
by the orthogonal basis minimizes the squared
distance to the neighbours of the centroid.
17Comparing Split Plane Methods
- Orthogonal Clustering uses the fewest
computations, while the normal vector method
requires the most computations. - If an object is convex or only slightly
non-convex, Orthogonal clustering is better. - If an object is non-convex the best method
varies on other attributes of the point cloud.
18Iterative Simplification
- The process of eliminating edges defined by p1
and p2, collapsing them to a new point p. - The edge is selected using a priority queue
that ranks the edges by various metrics. - This will not necessarily result in consistent
triangulation of the surface. - This method has the worst performance
characteristics of all of them.
19Particle Simulation
- This is an adaptation of a point cloud
simplification method by Turk that randomly
scatters N points on the mesh surface. - Point repulsion is used to move the points into
a minimum error state. - The method has been updated to use surface
approximations for projecting generated points. -
20Particle Simulation
- The method is flexible and can use adaptive
simulation to increase the density of the reduced
point cloud in areas of higher detail. - The performance of this method is worse than
clustering, but significantly better than the
iterative simplification method and is the only
one that improves as the degree of simplification
increases.
21Performance
22Point Based Multiscale Representation
M. Pauly et al. 2006
23Point Based Multiscale Representation
- A way to pseudo-simplify a 3D point cloud by
progressive levels of detail. - A way to mix both discrete and continuous LOD
together. - Perhaps not the best algorithm to use for point
cloud simplification.
24How does it work?
- We require two concepts to generate the
Multiscale representation. - Weighted Least Squares
- A mathematical process in which we take a
surface defined by points, and generate a smooth
point from it. - The process involves creating the zero set of a
function.
25How does it work?
- a(x) is the weighted average of the sample
points, as computed by the following
26How does it work?
- We also need a normal direction for the surface,
which is computed by minimizing the following
equation
27How does it work?
- Weighted Least Squares Guarantees that
- Approximation is meshless, that is, it does not
require any connectivity between point samples or
other global information such as global
parameterization. - The resulting surface is smooth.
28How does it work?
- The approximation is adaptive. By incorporating
a local sampling density estimate into the kernel
function, the region of influence can be adapted
to the local distribution of samples in the point
cloud.
29How does it work?
- Second thing we need is the Scale Space
- Is used generally to model a signal at
different approximation levels, or scales, to
better analyze the inherent structures of the
signal. - Both weighted Least Squares and Scale Space are
used to build the discrete LOD component for the
Multiscale Representation.
30Discrete LOD
M. Pauly et al. 2006
31Both Discrete and Continuous LOD?
Original algorithm creates discrete LOD levels
for a 3D point cloud. However, if we do a linear
blend between levels, we can obtain midway points
between levels of detail.
32Final Result
M. Pauly et al. 2006
33Issues/Objections
As stated in Pauly et al. (2006) It is
important to note the distinction between a
multiscale and multiresolution surface
representation. The former describes a surface
at difference levels of smoothness without any
reference to a particular sampling distribution.
The latter, on the other hand, refers to a set of
surface approximations with varying sampling
resolution, thus describing a surface at
different levels of coarseness.
34Mesh Construction
- Offers an alternative way to deal with point
cloud simplification. - One method is Octree Partitioning, which
creates a mesh of regular and disjoint patches. - Mesh construction forces a simple point cloud
to become more complex and carry more data. - Mesh simplification is a completely different
field than point cloud.
35Fast Marching Algorithm
- Provides simple density control.
- The algorithm supports uniform and
feature-sensitive simplification. - Incrementally construct Voronoi diagrams and
uses farthest-point samples.
36Fast Marching Algorithm
Definitions Voronoi Diagrams Partition a plane
with n points into convex polygons so that each
polygon contains one generating point and every
point in a polygon is closer to its generating
point than any other.
http//mathworld.wolfram.com/VoronoiDiagram.html
37Fast Marching Algorithm
Offset Curves Parallel curves which are
displaced from a base curve by a constant
offset. Hyper-Surface with zero-level set a
generalization of an ordinary 2D surface embedded
in 3D space to an (n-1)-dimension surface
embedded in an n-dimensional space.
38Fast Marching Algorithm
- Topological Space A set X with a collection of
open subsets T such that - The empty subset is in T.
- X is in T.
- T is closed under intersection.
- T is closed under union.
- Manifold with Smooth Boundary
- A topological space with the property that around
- every point there exist a neighbourhood
- that is topologically the same as the open unit
- ball in R2.
39Fast Marching Algorithm
- Fast Farthest Point Sampling
- Based on the idea of minimizing any
reconstruction error by repeatedly placing the
next sample point in the middle of the least
known area of the sampling domain. - Location of the next point coincides with a
vertex of the bounded Voronoi Diagram of the
previously selected set of samples S, BVD(S).
40Fast Marching Algorithm
- Fast Farthest Point Sampling
- incremental Voronoi diagram construction
provides farthest point sampling (FPS)
progressively. - Fast FPS algorithm computes (discrete) Voronoi
diagrams in the form of weighted distance maps
incrementally directly across the input point set.
41Fast Marching Algorithm
- Extended Fast Marching Technique
- Consider a closed hyper-surface M in Rm given as
the zero level-set of a distance function. - The r-offset of M is given by the union of the
balls centered at the surface point with radius
r. - A manifold with smooth boundary, R, is formed
for a smooth M and small r.
42Fast Marching Algorithm
- Extended Fast Marching Technique
- Use the Euclidean distance mapping in R to
approximate the intrinsic map on M. - The propagating speed F(p) on M is calculated
by ?MTM(p) F(p) for p in M - TM(q) 0 is approximated by
- ?TR (p) F(p), which represents the smooth
extension of F(p) on M into R.
Example of Fast Marching Technique
43Fast Marching Algorithm
- Simplification method presented by C.Moenning et
al. - Embed the given Point Cloud P in a Cartesian grid
large enough to allow for the thin offset band r.
Select an initial point s1 and initialize the
distance to its surrounding grid points using the
Euclidean distance function. Generate s2 and s3
by taking points farthest away in the manifold R.
44Fast Marching Algorithm
- Simplification method presented by C.Moenning et
al. - Given the initial subset S s1, s2, s3 in R,
construct BVD(S) by propagating fronts (with
speed F(pi)) simultaneously from each initial
point outwards. The initial BVD(S) is
constructed with its vertices as those closest to
the grid points entered by 3 or more wave fronts
( or 2 for those on the boundary of the Voronoi
cell). These vertices arrival times are entered
in a max-heap.
45Fast Marching Algorithm
- Simplification method presented by C.Moenning et
al. - Extract the root of the max-heap and insert it
into the BVD(S), setting its arrival time to
zero. Propagate a wave front from this point
until the wave hits grid points with lower
arrival times (i.e. the points belong to a
neighbouring Voronoi cell). Update the arrival
times of all affected grid points in the
min-heap. Insert or remove new or obsolete
vertices in the max-heap.
46Fast Marching Algorithm
- Simplification method presented by C. Moenning et
al. - Continue extracting the root of the max-heap
until the max number of points has been reached
or the refinement condition has been met.
The refinement condition is a user-defined
density condition to bound the distance between
sample points. The simplified point set is
refined until the farthest point candidates
distance is no longer as large as the user
threshold.
47Simulation of Fast Marching Boundary Expansion
- The height of the cone represents the time at
which the cell reaches r. - The green squares indicate the growth of the
Voronoi diagram towards a maximum of r
http//math.berkeley.edu/sethian/2006/Explanation
s/fast_marching_explain.html
48Hole Fixing
- a.k.a. Resampling
- What if you scan an object but miss areas? What
if you have a low-quality scanner? - -gt
49Hole Fixing
- There are many (6) ways to fill holes in models
- One easy (and good) one is MLS Moving Least
Squares - MLS is useful for reconstructing a surface from
points (sounds like what we want) - Can either down-sample (remove points which don't
add much info) or up-sample (add points and
project them where point-density is low). - Theory first proposed in 1981 (Lancaster and
Salkauskas)
50Hole Fixing
- Steps
- Get a weighted least squares formulation for a
random point - Move the point over the entire domain (the
hole)This lets us compute a weighted least
square for each other point - Combining these local functions together gives us
a global function that's continually
differentiable (as long as our weighting function
is continually differentiable) - In topology, this means the surface will be
"smooth"! - Thus, we make a local polynomial that fits over
the hole
51Hole Fixing
- What does this mean?
- We can use math to calculate the blue line, and
then fill in the points
52Hole Fixing
- Math Start with Fast Marching
- Compute enhanced k-nearest-neighbour (NNp)
- Find distance to farthest NNp
- If bigger than "currently associated" radius,
make new radius - Repeat
53Hole Fixing
- Enhanced k-nearest-neighbour
54Hole Fixing
- This creates a "tubular region" across the hole
- Use adaptive MLS to fill in
- Fit a bivariate polynomial across the hole using
the tubular region NN - Project the sample onto the region
-
55Hole Fixing
- Resampling can also be used to regain model detail
56Hole Fixing
57Hole Fixing
- Benefits
- MLS is not sensitive to noise in the
dataset/point cloud - It is thus a good candidate for reconstructing
surfaces (even our scanner is low quality or
dataset is sparse) - Runs very quickly if we can guarantee a certain
point density (which with certain simplification
algorithms we can see Moenning and Dodgson,
2004)
58Hole Fixing
- Drawbacks
- Doesn't work in cases where
- the hole is too big (not enough nearby data)
- the hole is on the border/edge of a polygon
(i.e. the top of a point) - points are varying density
- In these cases, we can get user input to
differentiate and make the right decision - This usually involves setting a larger radius and
re-running MLS
59References Cmolik, L. And M. Uller. 2003. Point
cloud morphing. Central European Seminar on
Computer Graphics 2003. Moenning, C. and N.A.
Dodgson. 2003. A new point cloud simplification
algorithm. International Conference on
Visualization, Imaging, and Image
Processing. Moenning, C. And N.A. Dodgson. 2004.
Intrinsic point cloud simplification. GraphiCon
2004 Nealen, A. 2004. An as-short-as-possible
introduction to the least squares, weighted least
squares and moving least squares methods.
Discrete Geometric Modeling Group. Pauly, M., M.
Gross and L.P. Kobbelt. 2002. Efficient
simplification of point-sampled surfaces.
Proceedings of the conference on Visualization
02. Pauly, M., L. Kobbelt and M. Gross. 2002.
Multiresolution modeling of point-sampled
geometry. CS Technical Report. Volume 378.
Pauly, M., L.P. Kobbelt and M. Gross. 2006.
Point-Based multiscale surface representation.
ACM Transactions on Graphics. Volume 25, No. 2.
Pages 177-193. Sim, J.S. and C. Kim. 2005.
Construction of regular 3D point clouds using
octree partitioning and resampling. IEEE.
http//mathworld.wolfram.com/VoronoiDiagram.html
http//math.berkeley.edu/sethian/2006/Explanati
ons/fast_marching_explain.html http//www.diku.dk
/hjemmesider/studerende/duff/Fortune/
60Questions??
M. Pauly et. al 2002