Speed and Robustness in 3D Model Registration Szymon Rusinkiewicz Princeton University.

Slides:



Advertisements
Similar presentations
A Robust Super Resolution Method for Images of 3D Scenes Pablo L. Sala Department of Computer Science University of Toronto.
Advertisements

L1 sparse reconstruction of sharp point set surfaces
Principal Component Analysis Based on L1-Norm Maximization Nojun Kwak IEEE Transactions on Pattern Analysis and Machine Intelligence, 2008.
Automatic 3D modeling from range images Daniel Huber Carnegie Mellon University Robotics Institute.
Robust Global Registration Natasha Gelfand Niloy Mitra Leonidas Guibas Helmut Pottmann.
Low Complexity Keypoint Recognition and Pose Estimation Vincent Lepetit.
Amir Hosein Omidvarnia Spring 2007 Principles of 3D Face Recognition.
Adviser:Ming-Yuan Shieh Student:shun-te chuang SN:M
AdaBoost & Its Applications
Implementation of ICP Variants Pavan Ram Piratla Janani Venkateswaran.
Instructor: Mircea Nicolescu Lecture 13 CS 485 / 685 Computer Vision.
Semi-automatic Range to Range Registration: A Feature-based Method Chao Chen & Ioannis Stamos Computer Science Department Graduate Center, Hunter College.
Reverse Engineering Niloy J. Mitra.
Registration of two scanned range images using k-d tree accelerated ICP algorithm By Xiaodong Yan Dec
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
A Study of Approaches for Object Recognition
Scan Matching Pieter Abbeel UC Berkeley EECS
Efficient Variants of the ICP Algorithm
A Laser Range Scanner Designed for Minimum Calibration Complexity James Davis, Xing Chen Stanford Computer Graphics Laboratory 3D Digital Imaging and Modeling.
CS CS 175 – Week 2 Processing Point Clouds Registration.
Niloy J. Mitra1, Natasha Gelfand1, Helmut Pottmann2, Leonidas J
Real-Time 3D Model Acquisition
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.
3D reconstruction Class 16. 3D photography course schedule Introduction Aug 24, 26(no course) Aug.31,Sep.2(no course) Sep. 7, 9(no course) Sep. 14, 16Projective.
Spectral Processing of Point-sampled Geometry
Automatic Image Alignment (feature-based) : Computational Photography Alexei Efros, CMU, Fall 2006 with a lot of slides stolen from Steve Seitz and.
3D full object reconstruction from kinect Yoni Choukroun Elie Semmel Advisor: Yonathan Afflalo.
Goal: Fast and Robust Velocity Estimation P1P1 P2P2 P3P3 P4P4 Our Approach: Alignment Probability ●Spatial Distance ●Color Distance (if available) ●Probability.
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.
Robust Statistical Estimation of Curvature on Discretized Surfaces Evangelos Kalogerakis Patricio Simari Derek Nowrouzezahrai Karan Singh Symposium on.
An Integrated Pose and Correspondence Approach to Image Matching Anand Rangarajan Image Processing and Analysis Group Departments of Electrical Engineering.
3D object capture Capture N “views” (parts of the object) –get points on surface of object –create mesh (infer connectivity) Hugues Hoppe –filter data.
CSci 6971: Image Registration Lecture 16: View-Based Registration March 16, 2004 Prof. Chuck Stewart, RPI Dr. Luis Ibanez, Kitware Prof. Chuck Stewart,
Face Recognition Using Neural Networks Presented By: Hadis Mohseni Leila Taghavi Atefeh Mirsafian.
כמה מהתעשייה? מבנה הקורס השתנה 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:
PixelLaser: Range scans from image segmentation Nicole Lesperance ’11 Michael Leece ’11 Steve Matsumoto ’12 Max Korbel ’13 Kenny Lei ’15 Zach Dodds ‘62.
CSE 185 Introduction to Computer Vision
Computer vision.
Exploiting Segmentation for Robust 3D Object Matching Michael Krainin, Kurt Konolige, and Dieter Fox.
Automatic Registration of Color Images to 3D Geometry Computer Graphics International 2009 Yunzhen Li and Kok-Lim Low School of Computing National University.
1 Robust estimation techniques in real-time robot vision Ezio Malis, Eric Marchand INRIA Sophia, projet ICARE INRIA Rennes, projet Lagadic.
KinectFusion : Real-Time Dense Surface Mapping and Tracking IEEE International Symposium on Mixed and Augmented Reality 2011 Science and Technology Proceedings.
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.
Time Series Data Analysis - I Yaji Sripada. Dept. of Computing Science, University of Aberdeen2 In this lecture you learn What are Time Series? How to.
A Method for Registration of 3D Surfaces ICP Algorithm
Realtime 3D model construction with Microsoft Kinect and an NVIDIA Kepler laptop GPU Paul Caheny MSc in HPC 2011/2012 Project Preparation Presentation.
Enforcing Constraints for Human Body Tracking David Demirdjian Artificial Intelligence Laboratory, MIT.
Lec 22: Stereo CS4670 / 5670: Computer Vision Kavita Bala.
CSE554AlignmentSlide 1 CSE 554 Lecture 8: Alignment Fall 2013.
EFFICIENT VARIANTS OF THE ICP ALGORITHM
Boosted Particle Filter: Multitarget Detection and Tracking Fayin Li.
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.
Mesh Resampling Wolfgang Knoll, Reinhard Russ, Cornelia Hasil 1 Institute of Computer Graphics and Algorithms Vienna University of Technology.
CENG 789 – Digital Geometry Processing 07- Rigid-Body Alignment Asst. Prof. Yusuf Sahillioğlu Computer Eng. Dept,, Turkey.
Registration and Alignment Speaker: Liuyu
Real-Time 3D Model Acquisition Szymon Rusinkiewicz Olaf Hall-Holt Marc Levoy Ilya Korsunsky Princeton University Stanford University Hunter College.
CENG 789 – Digital Geometry Processing 08- Rigid-Body Alignment
CS4670 / 5670: Computer Vision Kavita Bala Lec 27: Stereo.
Iterative Closest Point
Geometrically Stable Sampling for the ICP Algorithm
3D Scan Alignment Using ICP
Real-time Acquisition and Rendering of Large 3D Models
CSE 185 Introduction to Computer Vision
Presentation transcript:

Speed and Robustness in 3D Model Registration Szymon Rusinkiewicz Princeton University

No corpora callosa were harmed in the making of this talk.

Problem Align two partially- overlapping meshes given initial guess for relative transformAlign two partially- overlapping meshes given initial guess for relative transform

Outline ICP: Iterative Closest PointsICP: Iterative Closest Points Classification of ICP variantsClassification of ICP variants Better robustnessBetter robustness Faster alignmentFaster alignment ICP as function minimizationICP as function minimization Looking aheadLooking ahead

Aligning 3D Data If correct correspondences are known, can find correct relative rotation/translationIf correct correspondences are known, can find correct relative rotation/translation

Aligning 3D Data How to find correspondences: User input? Feature detection? Signatures?How to find correspondences: User input? Feature detection? Signatures? Alternative: assume closest points correspondAlternative: assume closest points correspond

Aligning 3D Data … and iterate to find alignment… and iterate to find alignment – Iterative Closest Points (ICP) [Besl & McKay 92] Converges if starting position “close enough“Converges if starting position “close enough“

ICP Variants Variants on the following stages of ICP have been proposed:Variants on the following stages of ICP have been proposed: 1.Selecting source points (from one or both meshes) 2.Matching to points in the other mesh 3.Weighting the correspondences 4.Rejecting certain (outlier) point pairs 5.Assigning an error metric to the current transform 6.Minimizing the error metric w.r.t. transformation

Performance of Variants Can analyze various aspects of performance:Can analyze various aspects of performance: – Speed – Stability – Tolerance of noise and/or outliers – Maximum initial misalignment Comparisons of many variants in [Rusinkiewicz & Levoy, 3DIM 2001]Comparisons of many variants in [Rusinkiewicz & Levoy, 3DIM 2001]

Outline ICP: Iterative Closest PointsICP: Iterative Closest Points Classification of ICP variantsClassification of ICP variants Better robustnessBetter robustness Faster alignmentFaster alignment ICP as function minimizationICP as function minimization Looking aheadLooking ahead

ICP Variants 1.Selecting source points (from one or both meshes) 2.Matching to points in the other mesh 3.Weighting the correspondences 4.Rejecting certain (outlier) point pairs 5.Assigning an error metric to the current transform 6.Minimizing the error metric w.r.t. transformation

Closest Compatible Point Closest point often a bad approximation to corresponding pointClosest point often a bad approximation to corresponding point Can improve matching effectiveness by restricting match to compatible pointsCan improve matching effectiveness by restricting match to compatible points – Compatibility of colors [Godin et al. 94] – Compatibility of normals [Pulli 99] – Other possibilities: curvatures, higher-order derivatives, and other local features

ICP Variants 1.Selecting source points (from one or both meshes) 2.Matching to points in the other mesh 3.Weighting the correspondences 4.Rejecting certain (outlier) point pairs 5.Assigning an error metric to the current transform 6.Minimizing the error metric w.r.t. transformation

Selecting Source Points Use all pointsUse all points Uniform subsamplingUniform subsampling Random samplingRandom sampling Normal-space samplingNormal-space sampling – Ensure that samples have normals distributed as uniformly as possible

Normal-Space Sampling Uniform Sampling Normal-Space Sampling

Result Conclusion: normal-space sampling better for mostly-smooth areas with sparse featuresConclusion: normal-space sampling better for mostly-smooth areas with sparse features Random sampling Normal-space sampling

Selection vs. Weighting Could achieve same effect with weightingCould achieve same effect with weighting Hard to ensure enough samples in features except at high sampling ratesHard to ensure enough samples in features except at high sampling rates However, have to build special data structureHowever, have to build special data structure Preprocessing / run-time cost tradeoffPreprocessing / run-time cost tradeoff

Outline ICP: Iterative Closest PointsICP: Iterative Closest Points Classification of ICP variantsClassification of ICP variants Better robustnessBetter robustness Faster alignmentFaster alignment ICP as function minimizationICP as function minimization Looking aheadLooking ahead

ICP Variants 1.Selecting source points (from one or both meshes) 2.Matching to points in the other mesh 3.Weighting the correspondences 4.Rejecting certain (outlier) point pairs 5.Assigning an error metric to the current transform 6.Minimizing the error metric w.r.t. transformation

Point-to-Plane Error Metric Using point-to-plane distance instead of point-to-point lets flat regions slide along each other [Chen & Medioni 91]Using point-to-plane distance instead of point-to-point lets flat regions slide along each other [Chen & Medioni 91]

ICP Variants 1.Selecting source points (from one or both meshes) 2.Matching to points in the other mesh 3.Weighting the correspondences 4.Rejecting certain (outlier) point pairs 5.Assigning an error metric to the current transform 6.Minimizing the error metric w.r.t. transformation

Projection to Find Correspondences Finding closest point is most expensive stage of the ICP algorithmFinding closest point is most expensive stage of the ICP algorithm Idea: use a simpler algorithm to find correspondencesIdea: use a simpler algorithm to find correspondences For range images, can simply project point [Blais 95]For range images, can simply project point [Blais 95]

Projection-Based Matching Slightly worse performance per iterationSlightly worse performance per iteration Each iteration is one to two orders of magnitude faster than closest-pointEach iteration is one to two orders of magnitude faster than closest-point Result: can align two range images in a few milliseconds, vs. a few secondsResult: can align two range images in a few milliseconds, vs. a few seconds

Application Given:Given: – A scanner that returns range images in real time – Fast ICP – Real-time merging and rendering Result: 3D model acquisitionResult: 3D model acquisition – Tight feedback loop with user – Can see and fill holes while scanning

Our Implementation Real-time structured-light range scanner [Hall-Holt & Rusinkiewicz, ICCV01]Real-time structured-light range scanner [Hall-Holt & Rusinkiewicz, ICCV01] Off-the-shelf camera and DLP projectorOff-the-shelf camera and DLP projector Range images at 60 Hz.Range images at 60 Hz.

Scanner Layout

Photograph

Real-Time Result

Theoretical Analysis of ICP Variants One way of studying performance is via empirical tests on various scenesOne way of studying performance is via empirical tests on various scenes How to analyze performance analytically?How to analyze performance analytically? For example, when does point-to-plane help? Under what conditions does projection-based matching work?For example, when does point-to-plane help? Under what conditions does projection-based matching work?

What Does ICP Do? Two ways of thinking about ICP:Two ways of thinking about ICP: – Solving the correspondence problem – Minimizing point-to-surface squared distance ICP is like Newton’s methodICP is like Newton’s method – Computing local “derivative” to obtain next step

What Does ICP Do? Two ways of thinking about ICP:Two ways of thinking about ICP: – Solving the correspondence problem – Minimizing point-to-surface squared distance ICP is like Newton’s methodICP is like Newton’s method – Computing local “derivative” to obtain next step

What Does ICP Do? Two ways of thinking about ICP:Two ways of thinking about ICP: – Solving the correspondence problem – Minimizing point-to-surface squared distance ICP is like Newton’s methodICP is like Newton’s method – Computing local “derivative” to obtain next step – ICP variants affect shape of global error function or local approximation

Point-to-Surface Distance

Point-to-Point Distance

Point-to-Plane Distance

Point-to-Multiple-Point Distance

Soft Matching and Distance Functions Soft matching equivalent to standard ICP on (some) filtered surfaceSoft matching equivalent to standard ICP on (some) filtered surface Produces filtered version of distance function  fewer local minimaProduces filtered version of distance function  fewer local minima Multiresolution minimization [Turk & Levoy 94] or softassign with simulated annealing [Gold et al. 98]Multiresolution minimization [Turk & Levoy 94] or softassign with simulated annealing [Gold et al. 98]

Summary Classified and compared variants of ICPClassified and compared variants of ICP Normal-space sampling for smooth meshes with sparse featuresNormal-space sampling for smooth meshes with sparse features Particular combination of variants can align two range images in a few tens of ms.Particular combination of variants can align two range images in a few tens of ms. – Real-time range scanning – Model-based tracking

Future Work Continuum between ICP with fancy selection (or weighting) and feature matchingContinuum between ICP with fancy selection (or weighting) and feature matching Better approximations to distance functions:Better approximations to distance functions: – Switch between point-to-point and point-to-plane depending on curvature – Elliptical approximations – Higher-order approximations

For More Information