Presentation is loading. Please wait.

Presentation is loading. Please wait.

SURFACE RECONSTRUCTION FROM POINT CLOUD Bo Gao Master’s Thesis December, 2007 Thesis Committee: Professor Harriet Fell Professor Robert Futrelle College.

Similar presentations


Presentation on theme: "SURFACE RECONSTRUCTION FROM POINT CLOUD Bo Gao Master’s Thesis December, 2007 Thesis Committee: Professor Harriet Fell Professor Robert Futrelle College."— Presentation transcript:

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.)‏

12

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.)‏

37

38

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 ?


Download ppt "SURFACE RECONSTRUCTION FROM POINT CLOUD Bo Gao Master’s Thesis December, 2007 Thesis Committee: Professor Harriet Fell Professor Robert Futrelle College."

Similar presentations


Ads by Google