3D POINT CLOUD - PowerPoint PPT Presentation

1 / 60
About This Presentation
Title:

3D POINT CLOUD

Description:

Extended Fast Marching Technique: ... Simulation of Fast Marching Boundary Expansion ... Math: Start with Fast Marching. Compute enhanced k-nearest-neighbour (NNp) ... – PowerPoint PPT presentation

Number of Views:2561
Avg rating:3.0/5.0
Slides: 61
Provided by: kimberly101
Category:

less

Transcript and Presenter's Notes

Title: 3D POINT CLOUD


1
3D POINT CLOUD SIMPLIFICATION
CMPUT 414 PRESENTATION GROUP 2 Chris Rose Dave
Schaefer Kimberly Van Herk Matthew Wearmouth
C. Moenning et al. 2003
2
What 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.

3
Why 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.

4
Why 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.

5
Why 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.

6
Simplification Methods
  • Clustering
  • Iterative Simplification
  • Particle Simulation
  • Point Based Multiscale Representation
  • Mesh Construction
  • Fast Marching
  • Hole fixing

7
Clustering
  • Group the points into smaller sets.
  • Replace the cluster by a single point whose size
    reflects the size of the cluster being replaced.

8
Clustering Methods
  • Incremental Region-Growing
  • Hierarchical

C. Moenning et al. 2003
9
Incremental 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.

10
Incremental 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.
11
Hierarchical 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.

12
Hierarchical 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.

13
Orthogonal 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.

14
Bounding 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.

15
Covariance 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

16
Covariance 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.

17
Comparing 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.

18
Iterative 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.

19
Particle 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.

20
Particle 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.

21
Performance
22
Point Based Multiscale Representation
M. Pauly et al. 2006
23
Point 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.

24
How 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.

25
How does it work?
  • a(x) is the weighted average of the sample
    points, as computed by the following

26
How does it work?
  • We also need a normal direction for the surface,
    which is computed by minimizing the following
    equation

27
How 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.

28
How 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.

29
How 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.

30
Discrete LOD
M. Pauly et al. 2006
31
Both 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.
32
Final Result
M. Pauly et al. 2006
33
Issues/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.
34
Mesh 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.

35
Fast Marching Algorithm
  • Provides simple density control.
  • The algorithm supports uniform and
    feature-sensitive simplification.
  • Incrementally construct Voronoi diagrams and
    uses farthest-point samples.

36
Fast 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
37
Fast 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.
38
Fast 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.

39
Fast 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).

40
Fast 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.

41
Fast 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.

42
Fast 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
43
Fast 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.

44
Fast 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.

45
Fast 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.

46
Fast 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.
47
Simulation 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
48
Hole Fixing
  • a.k.a. Resampling
  • What if you scan an object but miss areas? What
    if you have a low-quality scanner?
  • -gt

49
Hole 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)

50
Hole 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

51
Hole Fixing
  • What does this mean?
  • We can use math to calculate the blue line, and
    then fill in the points

52
Hole 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

53
Hole Fixing
  • Enhanced k-nearest-neighbour

54
Hole 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

55
Hole Fixing
  • Resampling can also be used to regain model detail

56
Hole Fixing
57
Hole 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)

58
Hole 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

59
References 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/
60
Questions??
M. Pauly et. al 2002
Write a Comment
User Comments (0)
About PowerShow.com