reconstruction from point cloud (gate-540)

25
1 GATE-540 Reconstruction from Point Cloud (GATE-540) Dr.Çağatay ÜNDEĞER Instructor Middle East Technical University, GameTechnologies & General Manager SimBT Inc. e-mail : [email protected] Game Technologies Program – Middle East Technical University – Spring 2010 Reference: Hugues et al, Surface Reconstruction from Unorganized Points

Upload: sasha

Post on 15-Jan-2016

45 views

Category:

Documents


0 download

DESCRIPTION

Reconstruction from Point Cloud (GATE-540). Dr.Çağatay ÜNDEĞER Instructor Middle East Technical University, GameTechnologies & General Manager SimBT Inc. e-mail : [email protected]. Reference: Hugues et al, Surface Reconstruction from Unorganized Points. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Reconstruction from  Point Cloud (GATE-540)

1GATE-540

Reconstruction from Point Cloud(GATE-540)

Dr.Çağatay ÜNDEĞER

InstructorMiddle East Technical University, GameTechnologies

&

General ManagerSimBT Inc.

e-mail : [email protected]

Game Technologies Program – Middle East Technical University – Spring 2010

Reference: Hugues et al, Surface Reconstruction from Unorganized Points

Page 2: Reconstruction from  Point Cloud (GATE-540)

2GATE-540

Outline

• Reconstruction from point clouds

Page 3: Reconstruction from  Point Cloud (GATE-540)

3GATE-540

Goals• Develop 3D Analysis Algorithms:

– Reconstruction– Segmentation– Feature Detection– Labeling– Matching – Classification– Retrielval– Recognition– Clustering

Page 4: Reconstruction from  Point Cloud (GATE-540)

4GATE-540

Goal of Surface Reconstruction

• Have a set of unorganized points• Reconstruct a surface model that best

approximates the real surface

Page 5: Reconstruction from  Point Cloud (GATE-540)

5GATE-540

Data Sources

• Surfaces from range data• Surfaces from contours (slices of images)• Interactive surface sketching

Page 6: Reconstruction from  Point Cloud (GATE-540)

6GATE-540

Terminology

• A surface: compact, orientable two dimentional monifold

• A simplicial surface: A piecewise linear surface with triangular faces

• X = {x1, ..., xn} : sampled data points on or near an unknown surface M

• M = {y1, ..., yn} : real points on unknown surface M that maps X

Page 7: Reconstruction from  Point Cloud (GATE-540)

7GATE-540

Terminology

• p-dense : ??

• ei or δ : maximum error of data source

xi = yi ± ei

• Features of M that are small compared to δ will not be recoverable.

• It is not possible to recover features of M in regions where insufficient sampling has occured.

Page 8: Reconstruction from  Point Cloud (GATE-540)

8GATE-540

Problem Statement & Algorithm

• Goal:– To determine a surface N that approximates

an unknown surface M

• An algorithm proposed by Hugues et al, 1992.• Consists of two stages:

1) Estimate signed geometric distance to the unknown surface M

2) Estimate unknown surface M using a contouring algorithm

Page 9: Reconstruction from  Point Cloud (GATE-540)

9GATE-540

Define a Signed Distance Function

• Associate an oriented plane (tangent plane) with each of the data points.

• Tangent plane is a local linear approximation to the surface.

• Used to define signed distance function to surface.

N

sampled point

tangent plane

signed distance

estimated surface point

Page 10: Reconstruction from  Point Cloud (GATE-540)

10GATE-540

Tangent Plane

• Nbhd(xi) : k-neighborhood of xi

• Tangent plane center of xi (Oi) : centroid of Nbhd(xi)

• Tangent plane normal of xi (Ni) : determined using principle component analysis of Nbhd(xi)

sampled point xi

k-neighborhood of xi

Page 11: Reconstruction from  Point Cloud (GATE-540)

11GATE-540

Principle Component Analysis

• Involves a mathematical procedure that transforms a number of possibly correlated variables into a smaller number of uncorrelated variables called principal components.

Normal of tangent plane might be found in opposite

direction

??

Page 12: Reconstruction from  Point Cloud (GATE-540)

12GATE-540

Consistent Tangent Plane Orientation

• If two neigbors are consistently oriented, – Their tangent planes should be facing

almost the same direction.– Otherwise one of them should be flipped.

Page 13: Reconstruction from  Point Cloud (GATE-540)

13GATE-540

Consistent Tangent Plane Orientation

• Model the problem as a graph optimization• Each Oi will have a corresponding Vi in graph

• Connect Vi and Vj is Oi and Oj are “sufficiently” close.

• Cost on edges encodes the degree to which Ni and Nj are consistently oriented.

• Maximize the total cost on the graph.– NP-hard– Use an approximation algorithm.

Page 14: Reconstruction from  Point Cloud (GATE-540)

14GATE-540

Euclidian Minimum Spanning Three (EMST)

• Surface is assumed to be a single connected component,– The graph should be connected.

• A simple connected graph for a set of points that tends to connect neighbors is EMST.

• EMST over tangent planes is not sufficiently dense!

– Enrich it by adding an edge (i,j) if oi is in the k-neighborhood of oj.

– Result is called Reimannian Graph.

Page 15: Reconstruction from  Point Cloud (GATE-540)

15GATE-540

Reimannian Graph

• A connected graph

Reimannian GraphEMST

over tangent planes

Page 16: Reconstruction from  Point Cloud (GATE-540)

16GATE-540

Simple Algorithm

• Arbitrarily choose an orientation for some plane

• Propogate the orientation to neigbors in Reimannian Graph.

• Order of propagation is important!

Page 17: Reconstruction from  Point Cloud (GATE-540)

17GATE-540

A Good Propagation Order

• Favor propagation from oi to oj if unoriented planes are nearly parallel.

• Assign cost as 1 – |Ni*Nj|

– A cost is small if parallel

• A fovorable propagation order:– Travers mimimum spanning tree (MST)

dot product

Page 18: Reconstruction from  Point Cloud (GATE-540)

18GATE-540

Assigning Orientations

• Assign +z orientation to point in graph that has largest z coordinate.

• Travers the tree in depth first order.

Oriented tangent planes

Page 19: Reconstruction from  Point Cloud (GATE-540)

19GATE-540

Computing Distance Function

• Signed distance f(p)• f(p) of a point p to unknown surface M:

– distance between p and closest point z Є M – multiplied by ±1 depending on the side of the

surface p lies in

– z is unknown, thus use closest oi

Page 20: Reconstruction from  Point Cloud (GATE-540)

20GATE-540

Computing Distance Function

z = p – ((p-oi)*Ni)*Ni

If d(z,X) < (p+δ) then // graph is p-dense

f(p) = (p-oi)*Ni

Else

f(p) = undefined

• Defined ones create a zero set (estimate for M)

Page 21: Reconstruction from  Point Cloud (GATE-540)

21GATE-540

Contour Tracing

• Contour tracing is to extract iso-surface from a scalar function.

• A variation of matching cubes is used• Cube sizes should be less than p+δ

– But larger increases the speed and reduces the number of triangle facets created

Page 22: Reconstruction from  Point Cloud (GATE-540)

22GATE-540

Contour Tracing

• Visit the cubes only intersect the zero set.• No intersection if the signed distance is

unefined in any vertex within a cube.

Page 23: Reconstruction from  Point Cloud (GATE-540)

23GATE-540

Collapse Edges

• Contain triangles with arbitrary poor ascpect ratio.

• Collapse edges in post processing

Page 24: Reconstruction from  Point Cloud (GATE-540)

24GATE-540

Collapse Edges

Page 25: Reconstruction from  Point Cloud (GATE-540)

25GATE-540

Sample Results