reconstruction process, RANSAC, primitive shapes, alpha-shapes LiDAR Data Processing reconstruction process, RANSAC, primitive shapes, alpha-shapes
LiDAR data 3D points Irregular Dense (50-100/m2) Accurate (5 cm) Explain the zooming process they will see before clicking it.
Reconstruction Building a 3D model from the point cloud A polyhedral model uses edges and facets (like triangles), it should “fit well” with the points Types of models/approaches: Meshes: many (small) triangles that use the points of the point cloud as vertices (like a TIN but not just for a bivariate function) Parametric models: pre-defined shapes where certain parameters can be set for the best fit (e.g. the 6 planes of a house with a roof) Hybrid methods
Reconstruction methods Iso-surfaces and marching cubes Medical imaging DEMs, and parametric building models Geosciences Region growing and surface extraction Urban reconstruction
A reconstruction pipeline
Phase 1: Clustering
Clustering using RANSAC RANdom SAmple Consensus Select random sample set (size of sample is 3 for finding a plane) Build candidate plane Compute plane quality (support) Keep best plane Iterate
Terminating RANSAC Stop criterion: probability of success : outlier ratio; fraction not in plane to be found : samples needed to build plane = 3 : number of RANSAC iterations In practice: unknown; set : support of best candidate so far : complete point set
Specializing RANSAC Problems Solutions Very large point sets RANSAC finds only one plane Solutions Sampling strategy Efficient quality estimation Approximate probability of success Repeat after finding best plane [Schnabel et al.: Efficient RANSAC…, 2007]
Sampling strategy Early candidate elimination Octree localization Approximate point normals Over-sampling Octree localization Local vs. Global Local: more likely in same plane Global: less impact of noise Sample at optimal octree depth
Efficient quality estimation Quality = |support| Maximum distance to plane Maximum normal deviation Connected component Lazy support estimation Subset of data Confidence interval of support
Approximate probability of success RANSAC iterations Taylor approximation
Identify multiple models After iterations Refit best candidate on support using lazy support estimation Remove points near candidate Repeat until probability of finding plane with support too small ( is minimal support; pre-specified)
Efficient RANSAC results
RANSAC results Planes with ~100 points or more are found Points in vegetation and in small planes remain unclustered; some of these points may still help in the reconstruction
Phase 2: Modeling surfaces
Bound and connect surfaces Known shapes Identify surfaces bounded by shape Unknown shapes Base boundary on local point density Base boundary on nearby surfaces
Identifying rectangular regions Find rectangles containing support Edges of different surfaces parallel Related to Rotating Calipers Time complexity O(n log n)
Rotating calipers Rotate parallel lines around convex hull Find optimal rotation Width Diameter Area
Requiring coverage Well covered by data (δ-coverage): The rectangle is δ-covered by the point set if it is covered by the union of all δ-disks centered on a point in the set
Identifying well covered rectangles Rectangle as it is rotated Trajectory on circles Thales’ theorem [Thales’ theorem image: Wikipedia]
Identifying well covered rectangles Two ways to leave the allowed region Edge passes over vertex O(n) time Corner passes over arc O(n) time
Extensions to algorithm Handling outliers Handling noise
Bounding unknown shape Problems More difficult shapes A priori knowledge required Solution: base shape on data Use point density Use other surfaces
Using point density Shape unknown Estimated local density Non-empty circles
α-Shape Non-convex hull α determines detail Corners are points from set Edges between points on boundary of empty α-disk α determines detail
Using other surfaces Intersect other, nearby surfaces in 3D Construct 2D boundary candidates from intersections Identify segments near points Adjust segments
Using other surfaces Many boundaries not closed Close using α-shape Add boundary end-points
Phase 3: Assembling objects
Geometric objects Objects Topology graph Bounded by surfaces Connected Has topology Topology graph Intersection lines
Gap filling Determine facets that might be used to fill holes in the model, for example the triangles in a Delaunay tetrahedrilization (constrained to include known surfaces) Define a graph dual to the terahedrilization (tetrahedra are nodes, adjacent tetrahedra give arcs) Define sources and sinks, make known surfaces “free” in the graph and let the cost of other triangles be their area Then use graph-cut algorithm on the graph dual to the tetrahedrilization to select facets to add to the model
Summary LiDAR specification Reconstruction pipeline Efficient RANSAC Identify known shapes Bounding using α-Shapes Bounding using surfaces Assembling objects Closing scene Texturing surfaces Verifying model