190 likes | 202 Views
This paper proposes a method for determining globally optimal normal orientations for large point clouds. It addresses the problem of unoriented normals in point clouds and presents a solution using graph-based optimization techniques. The approach is demonstrated on various datasets and compared to other methods.
E N D
Towards Globally Optimal Normal Orientations for Large Point Clouds Nico Schertler, Bogdan Savchynskyy, and Stefan Gumhold [CGF2016]
Motivation Given an unstructuredpointcloudwithunorientednormals: Double-SidedLighting PoissonReconstruction Normal Orientation PoissonReconstruction Towards Globally Optimal Normal Orientations for Large Point Clouds
Orientation from 3D Scans In many 3D-scanning applications, orientationcanbededucedfromthesensorposition. This approachis not alwayspossible: • ifsensorpositionis not available • if normal directions do not representtheacquiredgeometry Towards Globally Optimal Normal Orientations for Large Point Clouds
Agenda Towards Globally Optimal Normal Orientations for Large Point Clouds
Related Work Propagation-BasedMethods [Hoppe*92, Xie*03, …] Based on neighborgraph, uncertaintymeasure, andflipdecider. Propagate orientationalong MST thatminimizesuncertainty. VolumetricMethods Interpret pointcloudassamplesof an implicitsurface (e.g. distancefield). Find signofimplicitfunctionthroughray-shooting [Mullen*10] orconnected-componentanalysis [Gong*12]. Problems arisewith non-closedsurfaces. Other Methods Variationalapproaches find directionandorientationsimultaneously [Wang*12]. Use a coarsetriangulationtogathertopologicalinformation [Liu*10]. [Mullen*10] Towards Globally Optimal Normal Orientations for Large Point Clouds
Problem Formulationas a Markov Random Field Start withsetofpointswithunorientednormals. Define a neighborgraph. Define a flipcriterion, such that:its absolute valuerepresentsthecriterionscertaintyanditssignrepresentstheflipdecision (positive forconsistentorientation). E.g. . Assign a labeltoeachpoint, such thattheoriented normal is. Define a pairwise potential foreachedge: Optimizethelabels: Towards Globally Optimal Normal Orientations for Large Point Clouds
WhyShouldWe Care about Global Optimality? Distance-weightedoutputofflipcriterion MST solution, E=2.4 Optimal Solution, E=2.0 Towards Globally Optimal Normal Orientations for Large Point Clouds
Solvingthe Orientation Problem The orientationproblemis NP-hard (unlessunorientednormalsarealreadyconsistent). Exactglobally optimal solvers: Exist, but areslowandrequire a lotofmemory. E.g. Multicut, General Integer Linear Programming Approximatesolvers: Spanningtree-based (Signed Union Find) Local Submodular Approximation (LSA-TR) Semi-approximatesolvers: Quadratic Pseudo-Boolean Optimization (QPBO) anditsvariants Towards Globally Optimal Normal Orientations for Large Point Clouds
QPBO Generate a graphwithtwovertices per pointand find a minimumcut. Examplefromearlier (slightlymodified): 4 4 Additional assumption: Clearly: Clearly: Clearly: Unlabeled Towards Globally Optimal Normal Orientations for Large Point Clouds
MST + QPBO-I QPBO needs at least one additional unaryterm per connectedcomponent (forsymmetricenergies). Still, mostpointsstayunlabeled. Therefore, weuse a combinationof MST and QPBO-I Fix randomlabelto MST solution No Repeat n times All labeled Solve MST Solve QPBO Return bestsolution Yes Revertfixing Towards Globally Optimal Normal Orientations for Large Point Clouds
MST + QPBO-I Results Hoppe, MST Hoppe, MST + QPBO-I Xie, MST Xie, MST + QPBO-I Towards Globally Optimal Normal Orientations for Large Point Clouds
Processing Large Point Clouds Additional Problems: Beyond-linear time complexityof QPBO. Data setmayexceedmainmemory. Point cloudscompriselocallyorientablesegments. Use simple propagationinsidesegments. Run orientationsolver on segment graph. Streaming out-of-core processing [Pajarola05]. One-the-flysegmentationandlocalorientation. Towards Globally Optimal Normal Orientations for Large Point Clouds
Segment-Based Orientation Input Graph In-Segment Orientation Segment Graph Sumof original flipcriteria Towards Globally Optimal Normal Orientations for Large Point Clouds
Streaming Segmentation Consideronlyleftneighbors, assignpointtothesegmentwiththehighest absolute vote: Intra-Segment Criterion: Ensure same signs in segment. Fulfilled: Not fulfilled: Inter-Segment Criterion: Ensure same signsacrosssegmentborders. Fulfilled: Not fulfilled: Voteforpurplesegment ? ? ? Voteforyellowsegment ? Positive flipcriterion Negative flipcriterion Towards Globally Optimal Normal Orientations for Large Point Clouds
Results Gomantong Caves 261 M points 71 minutes Towards Globally Optimal Normal Orientations for Large Point Clouds
Results St Matthew 187 M points 16 minutes Towards Globally Optimal Normal Orientations for Large Point Clouds
ComparisonDirect – Streaming Approach Towards Globally Optimal Normal Orientations for Large Point Clouds
Future Work Development of a possiblyhigher-order flipcriterion. Applicationofothersolvers. User-guidedfixing in the QPBO-I step. [Beyer*14] Towards Globally Optimal Normal Orientations for Large Point Clouds