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
2GATE-540
Outline
• Reconstruction from point clouds
3GATE-540
Goals• Develop 3D Analysis Algorithms:
– Reconstruction– Segmentation– Feature Detection– Labeling– Matching – Classification– Retrielval– Recognition– Clustering
4GATE-540
Goal of Surface Reconstruction
• Have a set of unorganized points• Reconstruct a surface model that best
approximates the real surface
5GATE-540
Data Sources
• Surfaces from range data• Surfaces from contours (slices of images)• Interactive surface sketching
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
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.
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
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
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
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
??
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.
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.
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.
15GATE-540
Reimannian Graph
• A connected graph
Reimannian GraphEMST
over tangent planes
16GATE-540
Simple Algorithm
• Arbitrarily choose an orientation for some plane
• Propogate the orientation to neigbors in Reimannian Graph.
• Order of propagation is important!
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
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
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
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)
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
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.
23GATE-540
Collapse Edges
• Contain triangles with arbitrary poor ascpect ratio.
• Collapse edges in post processing
24GATE-540
Collapse Edges
25GATE-540
Sample Results
Top Related