Registration of Point Cloud Data from a Geometric Optimization Perspective Niloy J. Mitra1, Natasha Gelfand1, Helmut Pottmann2, Leonidas J. Guibas1 1 Stanford University 2 Vienna University of Technology
Registration Problem Given Q P model data Assume Q is a part of P. Two point cloud data sets P (model) and Q (data) sampled from surfaces P and Q respectively. Q P model data Assume Q is a part of P. Registration of PCD
Registration Problem Given Goal Q P data model Two point cloud data sets P and Q. Goal Register Q against P by minimizing the squared distance between the underlying surfaces using only rigid transforms. Q P data model Registration of PCD
Registration Problem Given Goal Contributions Two point cloud data sets P and Q. Goal Register Q against P by minimizing the squared distance between the underlying surfaces using only rigid transforms. Contributions use of second order accurate approximation to the squared distance field. no explicit closest point information needed. proposed algorithm has good convergence properties. Registration of PCD
Related Work Iterated Closest Point (ICP) Matching point clouds point-point ICP [ Besl-McKay ] point-plane ICP [ Chen-Medioni ] Matching point clouds based on flow complex [ Dey et al. ] based on geodesic distance [ Sapiro and Memoli ] MLS surface for PCD [ Levin ] Registration of PCD
Notations Registration of PCD
Notations Registration of PCD
Squared Distance Function (F) x Registration of PCD
Squared Distance Function (F) x Registration of PCD
Registration Problem Rigid transform that takes points Our goal is to solve for, An optimization problem in the squared distance field of P, the model PCD. Registration of PCD
Registration Problem Our goal is to solve for, Optimize for R and t. Registration of PCD
Overview of Our Approach Construct approximate such that, to second order. Linearize a. Solve to get a linear system. Apply a to data PCD (Q) and iterate. Registration of PCD
Registration in 2D Quadratic Approximant Registration of PCD
Registration in 2D Quadratic Approximant Linearize rigid transform Registration of PCD
Registration in 2D Quadratic Approximant Linearize rigid transform Residual error Registration of PCD
Depends on F+ and data PCD (Q). Registration in 2D Minimize residual error Depends on F+ and data PCD (Q). Registration of PCD
Registration in 2D Minimize residual error Solve for R and t. Apply a fraction of the computed motion F+ valid locally Step size determined by Armijo condition Fractional transforms [Alexa et al. 2002] Registration of PCD
Minimize to get a linear system Registration in 3D Quadratic Approximant Linearize rigid transform Residual error Minimize to get a linear system Registration of PCD
Approximate Squared Distance valid in the neighborhood of x Two methods for estimating F d2Tree based computation On-demand computation Registration of PCD
F(x, P) using d2Tree [ Leopoldseder et al. 2003] A kd-tree like data structure for storing approximants of the squared distance function. Each cell (c) stores a quadratic approximant as a matrix Qc. Efficient to query. [ Leopoldseder et al. 2003] Registration of PCD
F(x, P) using d2Tree A kd-tree like data structure for storing approximants of the squared distance function. Each cell (c) stores a quadratic approximant as a matrix Qc. Efficient to query. Simple bottom-up construction Pre-computed for a given PCD. Closest point information implicitly embedded in the squared distance function. Registration of PCD
Example d2trees 2D 3D Registration of PCD
Approximate Squared Distance Y For a curve Y, [ Pottmann and Hofer 2003 ] Registration of PCD
Approximate Squared Distance For a curve Y, For a surface F, [ Pottmann and Hofer 2003 ] Registration of PCD
On-demand Computation Given a PCD, at each point p we pre-compute, a local frame normal principal direction of curvatures radii of principal curvature (r1 and r2) Registration of PCD
On-demand Computation Given a PCD, at each point p we pre-compute, a local frame normal principal direction of curvatures radii of principal curvature (r1 and r2) Estimated from a PCD using local analysis covariance analysis for local frame quadric fitting for principal curvatures Registration of PCD
On-demand Computation Given a point x, nearest neighbor (p) computed using approximate nearest neighbor (ANN) data structure where j = d/(d-j) if d < 0 0 otherwise. Registration of PCD
Iterated Closest Point (ICP) Find correspondence between P and Q. closest point (point-to-point). tangent plane of closest point (point-to-plane). Solve for the best rigid transform given the correspondence. Registration of PCD
ICP in Our Framework Point-to-point ICP (good for large d) Point-to-plane ICP (good for small d) Registration of PCD
Convergence Properties Gradient decent over the error landscape Gauss -Newton Iteration Zero residue problem (model and data PCD-s match) Quadratic Convergence For fractional steps, Armijo condition used Damped Gauss-Newton Iteration Linear convergence can be improved by quadratic motion approximation (not currently used) Registration of PCD
Convergence Funnel Set of all initial poses of the data PCD with respect to the model PCD that is successfully aligned using the algorithm. Desirable properties broad stable Registration of PCD
Convergence Funnel Translation in x-z plane. Rotation about y-axis. Converges Does not converge Registration of PCD
Convergence Funnel Plane-to-plane ICP Our algorithm Registration of PCD
Convergence Rate I Bad Initial Alignment Registration of PCD
Good Initial Alignment Convergence Rate II Good Initial Alignment Registration of PCD
Partial Alignment Starting Position Registration of PCD
Partial Alignment After 6 iterations Registration of PCD
Partial Alignment Different sampling density After 6 iterations Registration of PCD
Future Work Partial matching Global registration Non-rigid transforms Registration of PCD
Questions? Registration of PCD