EFFICIENT VARIANTS OF THE ICP ALGORITHM

Slides:



Advertisements
Similar presentations
Image Registration  Mapping of Evolution. Registration Goals Assume the correspondences are known Find such f() and g() such that the images are best.
Advertisements

A Robust Super Resolution Method for Images of 3D Scenes Pablo L. Sala Department of Computer Science University of Toronto.
Automatic 3D modeling from range images Daniel Huber Carnegie Mellon University Robotics Institute.
Texture Synthesis on [Arbitrary Manifold] Surfaces Presented by: Sam Z. Glassenberg* * Several slides borrowed from Wei/Levoy presentation.
PCA + SVD.
Robust Global Registration Natasha Gelfand Niloy Mitra Leonidas Guibas Helmut Pottmann.
Chapter 6 Feature-based alignment Advanced Computer Vision.
Implementation of ICP Variants Pavan Ram Piratla Janani Venkateswaran.
Two-view geometry.
Semi-automatic Range to Range Registration: A Feature-based Method Chao Chen & Ioannis Stamos Computer Science Department Graduate Center, Hunter College.
Computer Vision Optical Flow
Reverse Engineering Niloy J. Mitra.
Registration of two scanned range images using k-d tree accelerated ICP algorithm By Xiaodong Yan Dec
Mesh Alignment Algorithms General and the Craniofacial Standard 1.
CENG 789 – Digital Geometry Processing 06- Rigid-Body Alignment Asst. Prof. Yusuf Sahillioğlu Computer Eng. Dept,, Turkey.
Final Class: Range Data registration CISC4/689 Credits: Tel-Aviv University.
Iterative closest point algorithms
Speed and Robustness in 3D Model Registration Szymon Rusinkiewicz Princeton University.
1 GEOMETRIE Geometrie in der Technik H. Pottmann TU Wien SS 2007.
Scan Matching Pieter Abbeel UC Berkeley EECS
Efficient Variants of the ICP Algorithm
Uncalibrated Geometry & Stratification Sastry and Yang
CS CS 175 – Week 2 Processing Point Clouds Registration.
Niloy J. Mitra1, Natasha Gelfand1, Helmut Pottmann2, Leonidas J
Matching and Recognition in 3D. Moving from 2D to 3D Some things harderSome things harder – Rigid transform has 6 degrees of freedom vs. 3 – No natural.
Recovering Articulated Object Models from 3D Range Data Dragomir Anguelov Daphne Koller Hoi-Cheung Pang Praveen Srinivasan Sebastian Thrun Computer Science.
Previously Two view geometry: epipolar geometry Stereo vision: 3D reconstruction epipolar lines Baseline O O’ epipolar plane.
3D full object reconstruction from kinect Yoni Choukroun Elie Semmel Advisor: Yonathan Afflalo.
A Hierarchical Method for Aligning Warped Meshes Leslie Ikemoto 1, Natasha Gelfand 2, Marc Levoy 2 1 UC Berkeley, formerly Stanford 2 Stanford University.
Iterative Closest Point Ronen Gvili. The Problem Align two partially- overlapping meshes given initial guess for relative transform.
Face Recognition Using Neural Networks Presented By: Hadis Mohseni Leila Taghavi Atefeh Mirsafian.
TEMPLATE DESIGN © The computation of the confidence over K multiple scans is computed as if all scene points came from.
כמה מהתעשייה? מבנה הקורס השתנה Computer vision.
3D Global Registration. The Problem Given: n scans around an objectGiven: n scans around an object Goal: align them allGoal: align them all First attempt:
Image Stitching Ali Farhadi CSE 455
CSE 185 Introduction to Computer Vision
Computer Vision - Fitting and Alignment
CSE554AlignmentSlide 1 CSE 554 Lecture 8: Alignment Fall 2014.
CSE554Laplacian DeformationSlide 1 CSE 554 Lecture 8: Laplacian Deformation Fall 2012.
Multimodal Interaction Dr. Mike Spann
Automatic Registration of Color Images to 3D Geometry Computer Graphics International 2009 Yunzhen Li and Kok-Lim Low School of Computing National University.
Fitting and Registration Computer Vision CS 543 / ECE 549 University of Illinois Derek Hoiem 02/14/12.
Shape Matching for Model Alignment 3D Scan Matching and Registration, Part I ICCV 2005 Short Course Michael Kazhdan Johns Hopkins University.
CSE554AlignmentSlide 1 CSE 554 Lecture 5: Alignment Fall 2011.
Course 12 Calibration. 1.Introduction In theoretic discussions, we have assumed: Camera is located at the origin of coordinate system of scene.
A Method for Registration of 3D Surfaces ICP Algorithm
CSCE 643 Computer Vision: Structure from Motion
Enforcing Constraints for Human Body Tracking David Demirdjian Artificial Intelligence Laboratory, MIT.
CSE554AlignmentSlide 1 CSE 554 Lecture 8: Alignment Fall 2013.
Two-view geometry. Epipolar Plane – plane containing baseline (1D family) Epipoles = intersections of baseline with image planes = projections of the.
Optical Flow. Distribution of apparent velocities of movement of brightness pattern in an image.
Computer Vision - Fitting and Alignment (Slides borrowed from various presentations)
Using simplified meshes for crude registration of two partially overlapping range images Mercedes R.G.Márquez Wu Shin-Ting State University of Matogrosso.
CSE 185 Introduction to Computer Vision Feature Matching.
Skuller: A volumetric shape registration algorithm for modeling skull deformities Yusuf Sahillioğlu 1 and Ladislav Kavan 2 Medical Image Analysis 2015.
Mesh Resampling Wolfgang Knoll, Reinhard Russ, Cornelia Hasil 1 Institute of Computer Graphics and Algorithms Vienna University of Technology.
776 Computer Vision Jan-Michael Frahm Spring 2012.
CENG 789 – Digital Geometry Processing 07- Rigid-Body Alignment Asst. Prof. Yusuf Sahillioğlu Computer Eng. Dept,, Turkey.
CSCI 631 – Foundations of Computer Vision March 15, 2016 Ashwini Imran Image Stitching.
CSE 554 Lecture 8: Alignment
CENG 789 – Digital Geometry Processing 08- Rigid-Body Alignment
University of Ioannina
Iterative Closest Point
Geometrically Stable Sampling for the ICP Algorithm
Structure from motion Input: Output: (Tomasi and Kanade)
3D Scan Alignment Using ICP
CSE 185 Introduction to Computer Vision
Computational Photography
Calibration and homographies
Structure from motion Input: Output: (Tomasi and Kanade)
Presentation transcript:

EFFICIENT VARIANTS OF THE ICP ALGORITHM Szymon Rusinkiewicz Marc Levoy

Introduction Problem of aligning 3D models, based on geometry or color of meshes ICP is the chief algorithm used Used to register output of 3D scanners [1]

ICP Starting point: Two meshes and an initial guess for a relative rigid-body transform Iteratively refines the transform Generates pairs of corresponding points on the mesh Minimizes an error metric Repeats

Initial alignment Tracking scanner position… Indexing surface features… Spin image signatures… Exhaustive search… User Input…… [2]

Constraints Assume a rough initial alignment is available Focus only on a single of meshes Global registration problem not addressed

Stages of the ICP Selection of the set of points Matching the points to the samples Weighting corresponding pairs Rejecting pairs to eliminate outliers Assigning an error metric Minimizing the error metric

Focus Speed Accuracy Performance in tough scenes Introducing test scenes Discuss combinations Normal-space directed sampling Convergence performance Optimal combination

Comparison Methodology Baseline Algorithm: [Pulli 99] Random sampling on both meshes Matching to a point where the normal is < 45 degrees from the source Uniform weighting Rejection of edge vertices pairs Point-to-plane error metric “Select-match-minimize” iteration

Assumptions 2000 source points and100,000 samples Simple perspective range images Surface normal is based on the four nearest neighbors Only geometry (color, intensity excluded)

Test Scenes a) Wave Scene Fractal Landscape Incised Plane

Sample scanning application Representative of different kinds of surfaces Low frequency All frequency High Frequency Shamelessly stolen from [3]

Smooth statues Unfinished statues Fragments More shameless lifts from [3]

Comparison Stages Selection of the set of points Matching the points to the samples Weighting corresponding pairs Rejecting pairs to eliminate outliers Assigning an error metric Minimizing the error metric

Selection of point pairs Use all available points Uniform sub-sampling Random sampling Pick points with high intensity gradient Pick from one or both meshes Select points where the distribution of the normal between these points is as large as possible

Normal Sampling Small features may play a critical role Distribute the spread of the points across the position of the normals Simple Low-cost Low robustness

Comparison of performance Uniform sub-sampling Random sampling normal-space sampling

Comparison of performance Incised Plane: Only the normal-space sampling converges

Why? Samples outside the grooves: 1 translation, 2 rotations Inside the grooves: 2 translations, 1 rotation Fewer samples + noise + distortion = bad results

Sampling Direction Points from one mesh vs. points from both meshes Difference is minimal, as algorithm is symmetric

Sampling direction Asymmetric algorithm Two meshes is better If overlap is small, two meshes is better

Comparison Stages Selection of the set of points Matching the points to the samples Weighting corresponding pairs Rejecting pairs to eliminate outliers Assigning an error metric Minimizing the error metric

Matching Points Match a sample point with the closest in the other mesh Normal shooting Reverse calibration Project source point onto destination mesh; search in destination range image Match points compatible with source points

Variants compared Closest point Closest compatible point Normal shooting Normal shooting to a compatible point Projection Projection followed by a search : uses steepest-descent neighbor-neighbor walk k-d tree

Fractal Scene Best: normal shooting Worst: closest-point

Incised Plane Closest point converges: most robust

Error Best: Projection algorithm Error as a function of running time Applications that need quick running of the ICP should choose algorithms with the fastest performance Best: Projection algorithm

Comparison Stages Selection of the set of points Matching the points to the samples Weighting corresponding pairs Rejecting pairs to eliminate outliers Assigning an error metric Minimizing the error metric

Algorithms Constant weight Lower weights for points with higher point-point distances Weight = 1 – [Dist(p1, p2)/Dist max] Weight based on normal compatibility Weight = n1* n2 Weight based on the effect of noise on uncertainty

Wave Scene

Incised Plane

Comparison Stages Selection of the set of points Matching the points to the samples Weighting corresponding pairs Rejecting pairs to eliminate outliers Assigning an error metric Minimizing the error metric

Rejecting Pairs Pairs of points more than a given distance apart Worst n% pairs, based on a metric (n=10) Pairs whose point-point distance is > multiple m of the standard deviation of distances (m = 2.5)

Rejecting Pairs Pairs that are not consistent with neighboring pairs Two pairs are inconsistent iff | Dist(p1,p2) – Dist(q1,q2) | Threshold: 0.1 * max(Dist(p1,p2) – Dist(q1,q2) ) Pairs containing points on mesh boundaries

Points on mesh boundaries Incomplete overlap: Low cost Fewer disadvantages

Rejection on the wave scene Rejection of outliers does not help with initial convergence Does not improve convergence speed

Comparison Stages Selection of the set of points Matching the points to the samples Weighting corresponding pairs Rejecting pairs to eliminate outliers Assigning an error metric Minimizing the error metric

Error metrics Sum of squared distances between corresponding points 1) SVD 2) Quaternions 3) Orthonormal Matrices 4) Dual Quaternions

Error metrics Point-to-point metric, taking into account distance and color difference Point-to-plane method The least-squares equations can be solved either by using a non-linear method or by linearizing the problem

Search for the alignment Generate a set of points Find a new transformation that minimizes the error metric Combine with extrapolation Iterative minimization, with perturbations initially, then selecting the best result Use random subsets of points, select the optimal using a robust metric Use simulated annealing and perform a stochastic search for the best transform

Extrapolation algorithm Besl and McKay’s algorithm For a downward parabola, the largest x-intercept is used The extrapolation is multiplied by a dampening factor Increases stability Reduces overshoot

Fractal Scene Best: Point-to-plane error metric

Incised Plane Point-to-point cannot reach the right solution

High-Speed Variants Applications of ICP in real time: 1) Involving a user in a scanning process for alignment “Next-best-view” problem “Given a set of range images, to determine the position/orientation of the range scanner to scan all visible surfaces of an unknown scene” [4] 2) Model-based tracking of a rigid object

Optimal Algorithm Projection-based algorithm to generate point correspondences Point-to-plane error metric “Select-match-minimize” ICP iteration Random sampling Constant weighting Distance threshold for pair rejection No extrapolation of transforms (Overshoot)

Optimal Implementation Former implementation using point-to-point metric Point-to-plane is much faster

Conclusion Compared ICP variants Introduced a new sampling method Optimized ICP algorithm

Future Work Focus on stability and robustness Effects of noise and distortion Algorithms that switch between variants would increase robustness

References [1] http://foto.hut.fi/opetus/ 260/luennot/9/9.html [2] http://www.sztaki.hu/news/2001_07/maszk_allthree.jpg [3] http://graphics.stanford.edu/projects/mich/ [4] http://www.cs.unc.edu/~sud/courses/comp258/final_pres.ppt#257,2,Problem Statement