surface reconstruction from point cloud bo gao master’s thesis december, 2007 thesis committee:...

40
SURFACE RECONSTRUCTION FROM POINT CLOUD Bo Gao Master’s Thesis December, 2007 Thesis Committee: Professor Harriet Fel Professor Robert Futrell College of Computer Scienc Northeastern Universit

Upload: june-parker

Post on 12-Jan-2016

214 views

Category:

Documents


0 download

TRANSCRIPT

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

SURFACE RECONSTRUCTION FROM POINT CLOUD

Bo GaoMaster’s ThesisDecember, 2007

Thesis Committee: Professor Harriet FellProfessor Robert Futrelle

College of Computer ScienceNortheastern University

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

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

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

3D Scanner (Pictures)

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

Brontes Technologies, A 3M Company

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

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

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

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.

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

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)

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

Computer Graphics Based Approach

Marching Cubes Algorithm Isovalue Normal Normal Consistency Zero-set Algorithm Demo

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

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

R3

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

Computer Graphics Based Approach – Marching Cubes Algorithm (2D)

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

Computer Graphics Based Approach – Marching Cubes Algorithm (Cont.)

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

Computer Graphics Based Approach – Marching Cubes Algorithm (Cont.)

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

Computer Graphics Based Approach – Isovalue

Density Low accuracy Two layers

Signed distance

One layer Accurate

dist p= p−o i⋅n

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

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

321iii

321iii vvv 33 ii vorv

CV = ∑p ∈ Nbhd x i

p− o i ° p− o i

ni

Nbhd x i

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

Computer Graphics Based Approach – Normal Consistency

Inconsistent normal problem

Reason

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

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

Evu ),(u ∈ Nbhd v ∨ v ∈ Nhbd u

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

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

x iNbhd x i o i

n i

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

Computer Graphics Based Approach – Marching Cubes Algorithm (Cont.)

Marching Cubes Trick

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

Computer Graphics Based Approach – Demo

DEMO

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

Computational Geometry Based Approach

Voronoi Diagram and Delaunay Triangulation

Pole and Medial Axis Crust Algorithm Demo

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

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

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

Computational Geometry Based Approach – Pole & Medial Axis

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

Computational Geometry Based Approach – Crust Algorithm

2D Crust Algorithm

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

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.

S∪Z

S∪P

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

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

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

Computational Geometry Based Approach – Demo

DEMO

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

Voronoi Based Zero-set Approach

Introduction Pole cube Algorithm Future Work Demo

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

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 Algorithmqhull needs more than 2GB memory for the second round computation of “Buddha” (543k points).

)lg( VS )lg'lg( 323 mnnnnOmnnnvnO

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

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.

S∪Z

m×m×m

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

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.

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

Voronoi Based Zero-set Approach – Demo

DEMO

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

Comparisons

Scanned normal VS. Computed normal

Performance (speed) Surface Quality

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

Comparisons – Scanned Normal VS. Computed Normal

D of Zero-set D of Pole Cube

Point Cloud k = 6 k = 8 k = 6 k = 8

Horse 0.00722519 0.00531292 0.00793274 0.00793274

Die 0.00842918 0.0053838 0.00640121 0.00640121

Face(121) 0.121609 0.0733952 0.0661861 0.0661861

Face(124) 0.0270493 0.0129876 0.0171255 0.0171255

Wheel(125) 0.0379457 0.0249135 0.0307598 0.0307598

Weapon(126) 0.0503735 0.0396337 0.0516142 0.0516142

Weapon(127) 0.112135 0.0527464 0.0591031 0.0591031

D=∑ 1− C⋅S × C⋅S / n , where C is the computed normal ,

S is the scanned normal , n is the mumber of sample points.

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

Comparisons – Performance (speed)

Point Cloud Points Crust Zero-set Pole CubeBasic K=8, 400 K=8, 400

Triangles Time Triangles Time Triangles TimeBunny 35947 232082 21.536s 1111425 1m20.083s 1150689 1m21.278sFace 52338 319840 31.735s 457513 1m14.905 697204 1m25.954Wheel 61785 385450 47.050s 459843 1m20.034s 621637 1m30.269Horse 101358 630082 1m0.823s 310644 2m10.432s 319433 2m5.349sDie 104038 610074 57.957s 501109 2m6.128s 493507 1m57.465sWeapon 162504 1024956 1m36.994s 577345 3m45.271 603768 3m10.488sDragon 437645 N/A N/A 842249 17m49.813s 853484 14m54.365sBuddha 543652 N/A N/A 668717 29m25.840s 752417 20m29.280s

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

Comparisons – Surface QualityCrust Zero-set (k=8, 3400 ) Pole Cube (k=8, 3400 )

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

Comparisons – Surface Quality (Cont.)

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

Comparisons – Surface Quality (Cont.)

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

Comparisons – Surface Quality (Cont.)

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

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

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

Questions

?