Download presentation
Presentation is loading. Please wait.
Published byJune Parker Modified over 9 years ago
1
SURFACE RECONSTRUCTION FROM POINT CLOUD Bo Gao Master’s Thesis December, 2007 Thesis Committee: Professor Harriet Fell Professor Robert Futrelle College of Computer Science Northeastern University
2
3D Scanner A 3D scanner is a device that analyzes a real- world object or environment to collect data on its shape and possibly its appearance (i.e. color). Technology Contact CMM (Coordinate Measuring Machine) Non-Contact Laser Structured Light
3
3D Scanner (Pictures)
4
Brontes Technologies, A 3M Company
5
Point Cloud A point cloud is a set of 3D points describing the outlines or surface features of an object Stanford 3D scanning repository Brontes’ 3D scanning data Others
6
Surface Reconstruction Given a set of sample points X assumed to lie on or near an unknown surface F, create a surface model S approximating F. Automatic, accurate, concise, piecewise, etc. CAD designs, medical imaging, visualization, entertainment, reverse engineering, etc.
7
Related Work Computer Graphics Hoppe et al. (Zero-set Algorithm) Curless and Levoy (Laser scan) Computational Geometry Edelsbrunner et al. (α-shape Algorithm) Amenta et al. (Crust & Power Crust Algorithms)
8
Computer Graphics Based Approach Marching Cubes Algorithm Isovalue Normal Normal Consistency Zero-set Algorithm Demo
9
Computer Graphics Based Approach – Marching Cubes Algorithm Marching Cubes Algorithm Use a series of logical cubes, determine how the surface intersects these cubes, and generate a triangle mesh to represent the surface Isovalue – a scalar value in comparing to the Isosurface 2D example 3D patterns
10
Computer Graphics Based Approach – Marching Cubes Algorithm (2D)
11
Computer Graphics Based Approach – Marching Cubes Algorithm (Cont.)
13
Computer Graphics Based Approach – Isovalue Density Low accuracy Two layers Signed distance One layer Accurate
14
Computer Graphics Based Approach – Normal Scanned Normal Data sets from Brontes Technologies Computed Normal All other data sets online Eigenvector Create covariance matrix of as follows: Get eigenvalues, and related eigenvectors, choose as normal
15
Computer Graphics Based Approach – Normal Consistency Inconsistent normal problem Reason
16
Computer Graphics Based Approach – Normal Consistency (Cont.) Solution Create a Graph G(V, E) V are all sample points For each edge, Use Kruskal’s algorithm to find the MST (Minimum Spanning Tree) Traverse the MST in DFS order
17
Computer Graphics Based Approach – Zero-set Algorithm Separate points into mxmxm blocks according to their coordinates For each point, compute its,average center, normal, and make normal consistent Compute isovalue at each cube vertex Do Marching Cube process Write triangles into mesh file
18
Computer Graphics Based Approach – Marching Cubes Algorithm (Cont.) Marching Cubes Trick
19
Computer Graphics Based Approach – Demo DEMO
20
Computational Geometry Based Approach Voronoi Diagram and Delaunay Triangulation Pole and Medial Axis Crust Algorithm Demo
21
Computational Geometry Based Approach – Voronoi Diagram & Delaunay Triangulation Voronoi Diagram is a subdivision of space Delaunay triangulation is the dual graph of the Voronoi diagram Voronoi/Delaunay Applet Voronoi/Delaunay Applet
22
Computational Geometry Based Approach – Pole & Medial Axis
23
Computational Geometry Based Approach – Crust Algorithm 2D Crust Algorithm
24
Computational Geometry Based Approach – Crust Algorithm (Cont.) Compute the 8 vertices Z of the surrounding box of the point set S. Compute the Voronoi diagram of, and get the Voronoi vertices V. Compute poles for each sample point Let P denote all poles. Compute the Delaunay triangulation of. Keep only those triangles in which all three vertices are sample points. Write triangles into final mesh file.
25
Computational Geometry Based Approach – Crust Algorithm (Cont.) Improvements 8 vertices of the surrounding box hull – by Ken Clarkson, an open-source convext hull program qhull – quick hull, 4 times faster than hull, http:www.qhull.org
26
Computational Geometry Based Approach – Demo DEMO
27
Voronoi Based Zero-set Approach Introduction Pole cube Algorithm Future Work Demo
28
Voronoi Based Zero-set Approach – Introduction Use Pole as normal Use Delaunay triangles to get Nghb Lower time complexity than Zero-set Algorithm Lower space complexity than Crust Algorithm qhull needs more than 2GB memory for the second round computation of “Buddha” (543k points).
29
Voronoi Based Zero-set Approach – Pole cube Algorithm Compute the 8 vertices Z of the surrounding box of the point set S. Compute the Voronoi diagram of, and get the Voronoi vertices V and Delaunay triangles DT. Separate points according to their coordinates into blocks. Compute pole for each sample point, and set the normal as pole. Compute Nghb from DT. Make normals consistent. Compute Isovalue at each cube vertex. Do Marching Cubes process. Write triangles into mesh file.
30
Voronoi Based Zero-set Approach – Future Work Label each pole inside or outside of sample S. Make normal consistent without finding k-Nbhd Using “power diagram” or “eigenvector” to separate poles described in two recent papers.
31
Voronoi Based Zero-set Approach – Demo DEMO
32
Comparisons Scanned normal VS. Computed normal Performance (speed) Surface Quality
33
Comparisons – Scanned Normal VS. Computed Normal
34
Comparisons – Performance (speed)
35
Comparisons – Surface Quality
36
Comparisons – Surface Quality (Cont.)
39
Surface Viewer The “Surface Viewer” is for viewing and analyzing generated surfaces. This tool was written in C++ with OpenGL as the display API. Basic functions of the tool are: rotation, scale, filled/wired polygon view mode, surface/point view mode, pole view mode (for “Crust” algorithm), and normal comparison mode (for “Zero-set” and “Pole Cube” algorithms). Demo
40
Questions ?
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.