of Iterative Closest Point ICP algorithm to

Similar documents
Structured Light II. Thanks to Ronen Gvili, Szymon Rusinkiewicz and Maks Ovsjanikov

Rigid ICP registration with Kinect

Intensity Augmented ICP for Registration of Laser Scanner Point Clouds

5.2 Surface Registration

Scan Matching. Pieter Abbeel UC Berkeley EECS. Many slides adapted from Thrun, Burgard and Fox, Probabilistic Robotics

Geometric Transformations

3D Point Cloud Processing

#$ % $ $& "$%% " $ '$ " '

3D Computer Vision. Structured Light II. Prof. Didier Stricker. Kaiserlautern University.

Structured Light II. Thanks to Ronen Gvili, Szymon Rusinkiewicz and Maks Ovsjanikov

Unsupervised learning in Vision

Algorithm research of 3D point cloud registration based on iterative closest point 1

3D Transformations. CS 4620 Lecture 10. Cornell CS4620 Fall 2014 Lecture Steve Marschner (with previous instructors James/Bala)

EE795: Computer Vision and Intelligent Systems

I How does the formulation (5) serve the purpose of the composite parameterization

Camera Calibration for Video See-Through Head-Mounted Display. Abstract. 1.0 Introduction. Mike Bajura July 7, 1993

Surface Registration. Gianpaolo Palma

Three-Dimensional Sensors Lecture 6: Point-Cloud Registration

A 3D Point Cloud Registration Algorithm based on Feature Points

2D/3D Geometric Transformations and Scene Graphs

CS354 Computer Graphics Rotations and Quaternions

Introduction to Mobile Robotics Iterative Closest Point Algorithm. Wolfram Burgard, Cyrill Stachniss, Maren Bennewitz, Kai Arras

Scanning Real World Objects without Worries 3D Reconstruction

Vector Algebra Transformations. Lecture 4

3D Geometry and Camera Calibration

Index. 3D reconstruction, point algorithm, point algorithm, point algorithm, point algorithm, 263

COMPARATIVE STUDY OF DIFFERENT APPROACHES FOR EFFICIENT RECTIFICATION UNDER GENERAL MOTION

Perspective Projection Describes Image Formation Berthold K.P. Horn

Camera Model and Calibration

S U N G - E U I YO O N, K A I S T R E N D E R I N G F R E E LY A VA I L A B L E O N T H E I N T E R N E T

Advanced Operations Research Prof. G. Srinivasan Department of Management Studies Indian Institute of Technology, Madras

Lecture 2 September 3

Using Augmented Measurements to Improve the Convergence of ICP. Jacopo Serafin and Giorgio Grisetti

SYDE Winter 2011 Introduction to Pattern Recognition. Clustering

Stereo and Epipolar geometry

SUBDIVISION ALGORITHMS FOR MOTION DESIGN BASED ON HOMOLOGOUS POINTS

COMP 558 lecture 19 Nov. 17, 2010

Iterative Closest Point Algorithm in the Presence of Anisotropic Noise

A Low Power, High Throughput, Fully Event-Based Stereo System: Supplementary Documentation

CPSC 340: Machine Learning and Data Mining. Kernel Trick Fall 2017

Iterative Estimation of 3D Transformations for Object Alignment

An idea which can be used once is a trick. If it can be used more than once it becomes a method

Abstract We present a system which automatically generates a 3D face model from a single frontal image of a face. Our system consists of two component

Transforms. COMP 575/770 Spring 2013

calibrated coordinates Linear transformation pixel coordinates

Index. 3D reconstruction, point algorithm, point algorithm, point algorithm, point algorithm, 253

Chapter 4. Clustering Core Atoms by Location

Model-based segmentation and recognition from range data

Dynamic Geometry Processing

Multidimensional scaling

a a= a a =a a 1 =1 Division turned out to be equivalent to multiplication: a b= a b =a 1 b

Geometric Computations for Simulation

Parameter estimation. Christiano Gava Gabriele Bleser

Fast Distance Transform Computation using Dual Scan Line Propagation

Interlude: Solving systems of Equations

LECTURE NOTES Non-Linear Programming

Structured light 3D reconstruction

Math background. 2D Geometric Transformations. Implicit representations. Explicit representations. Read: CS 4620 Lecture 6

Geometry for Computer Vision

Model parametrization strategies for Newton-based acoustic full waveform

Algebraic Iterative Methods for Computed Tomography

Machine vision. Summary # 11: Stereo vision and epipolar geometry. u l = λx. v l = λy

Template Matching Rigid Motion

Subspace Clustering with Global Dimension Minimization And Application to Motion Segmentation

Image warping , , Computational Photography Fall 2017, Lecture 10

Surgery Simulation and Planning

Identifying Car Model from Photographs

5 Machine Learning Abstractions and Numerical Optimization

KINEMATICS FOR ANIMATION. Rémi Ronfard, Animation, M2R MOSIG

Animation. Keyframe animation. CS4620/5620: Lecture 30. Rigid motion: the simplest deformation. Controlling shape for animation

Agenda. Rotations. Camera models. Camera calibration. Homographies

Invariant shape similarity. Invariant shape similarity. Invariant similarity. Equivalence. Equivalence. Equivalence. Equal SIMILARITY TRANSFORMATION

Motion Capture & Simulation

Skybox. Ruoqi He & Chia-Man Hung. February 26, 2016

13.472J/1.128J/2.158J/16.940J COMPUTATIONAL GEOMETRY

CSE 527: Introduction to Computer Vision

Shape fitting and non convex data analysis

Fundamentals of 3D. Lecture 4: Debriefing: ICP (kd-trees) Homography Graphics pipeline. Frank Nielsen 5 octobre 2011

Motivation. Parametric Curves (later Surfaces) Outline. Tangents, Normals, Binormals. Arclength. Advanced Computer Graphics (Fall 2010)

Geometric Registration for Deformable Shapes 3.3 Advanced Global Matching

INFO0948 Fitting and Shape Matching

Practical Least-Squares for Computer Graphics

Correspondence. CS 468 Geometry Processing Algorithms. Maks Ovsjanikov

Local qualitative shape from stereo. without detailed correspondence. Extended Abstract. Shimon Edelman. Internet:

Machine Learning. Topic 5: Linear Discriminants. Bryan Pardo, EECS 349 Machine Learning, 2013

Hartley - Zisserman reading club. Part I: Hartley and Zisserman Appendix 6: Part II: Zhengyou Zhang: Presented by Daniel Fontijne

Template Matching Rigid Motion. Find transformation to align two images. Focus on geometric features

COMP30019 Graphics and Interaction Transformation geometry and homogeneous coordinates

GEOMETRIC TOOLS FOR COMPUTER GRAPHICS

Functional MRI in Clinical Research and Practice Preprocessing

Reminder: Lecture 20: The Eight-Point Algorithm. Essential/Fundamental Matrix. E/F Matrix Summary. Computing F. Computing F from Point Matches

Parallel Computation of Spherical Parameterizations for Mesh Analysis. Th. Athanasiadis and I. Fudos University of Ioannina, Greece

Robust Realignment of fmri Time Series Data

STATISTICS AND ANALYSIS OF SHAPE

A second order algorithm for orthogonal projection onto curves and surfaces

STRUCTURAL ICP ALGORITHM FOR POSE ESTIMATION BASED ON LOCAL FEATURES

2D rendering takes a photo of the 2D scene with a virtual camera that selects an axis aligned rectangle from the scene. The photograph is placed into

Camera Model and Calibration. Lecture-12

APPENDIX: DETAILS ABOUT THE DISTANCE TRANSFORM

Miniature faking. In close-up photo, the depth of field is limited.

Transcription:

Iterative Closest Point Algorithm. L Error Approach via Linear Programming Yaroslav O. Halchenko PhD Student, CS@NJIT yh42@njit.edu Abstract The original goal of this project was a straightforward implementation of Iterative Closest Point ICP algorithm to coregister two point clouds. Original ICP uses squarederror function as a criterion of registration performance. In the current project we attempted to come up with an approach which would give us a stable unique solution for rigid co-registration problem while having sum of absolute values as an optimization criterion. As simple simulation results show, L estimate can be more robust in the presence of strong outliers. Advantages and drawbacks of presented method are presented in this paper. Introduction My main topic of research lies in developing methods for integration of functional brain imaging modalities (IM) (EEG, MRI, FMRI, MRI), which is a very challenging task for many people involved in this field. Fusion algorithms are employed as an attempt to construct a spatiotemporal estimate of neuronal activity using data gathered from multiple functional brain imaging modalities. For more information you can refer to [3]. One of the basic preprocessing steps for analysis of any couple of images is co-registration, when one needs to find a transformation to bring second image to the space of the first one. Multiple methods has been developed. It is easy to subdivide them into different classes. There is a class of methods which are usually used to register similar IM of the similar nature (MRI, fmri, PET): most of them do not use any explicit 3D structure information and based solely on per-voxel values statistics. Usually minimization of some global error function of misfit is performed (squared error, entropy etc). Another approach is used to register IMs, which do not produce well defined 3D brain picture (EEG, MEG), but rather gather information on the state of the brain activations as viewed from outside of the head. In such case methods common to Computer Vision are used to find rigid body transformation (rotation + translation) which registers reference coordinate systems of two experiments. The task to register coordinate system between EEG/MEG and MRI experiments is particularly important, since MRI provides structural information on the gain fields for solving inverse and forward tasks in EEG/MEG brain imaging. Current technology doesn t allow to obtain both signals simultaneously, which makes registration process necessary. One of the approaches in such cases became prominent after Besl and McKay [] formalized a simple method ICP to align two clouds of points. In such case we need to align surface of the extracted from MRI (such as in Fig. ) image scall (Fig. 2(a)) to the digitized brain surface (Fig. 2(b)) taken in the same coordinate system as EEG sensors. 5 5 2 Max= 25 Min= 25 2 5 5 25 25 5 5 2 25 5 5 2 25 5 5 2 25 Max= 254 Min= 5 5 2 25 25 2 5 5 5 5 2 Max= 254 Min= Figure : T MRI image of the brain (unprocessed). EEG came close to be recorded simultaneously with MRI but it is not perfect yet 25 2 5 5

2 ICP Original ICP algorithm [] is very simple and relies on previous work [6] as the method to find the best rigid body transformation. ICP for two free-form shapes (model X, object P ) can be formulated in common words by the next algorithm: Estimate initial transformation Iterate next steps to converge to local minima. p P find closest point x X 2. Find transformation Q which minimizes distances between each p and x 3. Transform P k+ Q(P k ) 4. Terminate when change in the error falls below a preset threshold (a) Scall of the brain extracted from T MRI. Choose the best among found solutions for different initial transformations 2. ICP Problems While being very simple, ICP method has created a big wave of research to overcome its drawbacks: it is quite computationally demanding to identify the closest point for each object point at each iteration;..5.5.5.5.5 (b) Digitized head surface from EEG experiment Figure 2: Data to be registered.. converges to local minima, which might be a global minimum under lucky initial transformation; doesn t converge very fast; doesn t work properly for some specific shapes (as was mentioned in original Besl and McKay [] paper), though it is a minor and rare problem; can be sensitive to outliers. Multiple papers [e.g., 7] provided detailed overviews of existing approaches and usually present themselves a new one on how to improve ICP. Most of them have done work in attempt to speed-up closest point selection K-d trees, dynamic caching sampling of model and object points to avoid local minima removal of outliers stochastic ICP, simulated annealing, weighting 2

use other metrics (point-to-surface vs -point) use additional information besides geometry (color, curvature). 4.82.34 4.82 3.54 3.54 r x v v, r y v v Nevertheless nobody tried (or at least didn t report) to try L norm (sum of absolute distances) as an error function. Such error measure brought interesting results in methods such as solving inverse problem for EEG/MEG data analysis [2]...34 v 3.54 4.58 2. 5. 2.2 Matlab Implementation We have done a simple straightforward implementation of ICP algorithm, source scripts for which you can find on our CIS78 class s project web page [4]. ICP implementation wasn t the crucial part of the project therefor we didn t bring anything innovative - it was a simplistic implementation, because we wanted to spend more time to make L solver work - a task far more interesting than just re-implementing somebodies ideas. So Matlab code for ICP works and has a choice of selecting either default L 2 (squared mean error) error function or L criterion. The functions such as icp closest.m and icp initial align.m can be modified to easily incorporate some other innovative ideas to overcome problems mentioned in Section 2.. 3 L Error Minimization Minimization of sum of absolute distances is much trickier than minimization of sum of squares due to the fact that no efficient and simple approach was ever devised which would lead to unique desired solution. The problem is that f(x) = x isn t that easy to handle, it doesn t have st derivative defined at the point x =, so somebody need to use some kind of parametric presentation to approximate this function around. But then such solver might have as unstable point of the involved optimization procedure. To overcome this problem we decided to present given problem as a convex and solvable by efficient Linear Programming problem solver. Matlab has a nice solver shipped with it, but there are many better ones available. We were using MOSEK (http://www.mosek.com/) which has free education license and implements internal-point LP solver, which is very efficient for sparse large LP problems. Our presentation of the problem is really sparse and large so this solver is a perfect choice in our case. The target of the work is to minimize objective function C = i ṗ i x i under rigid-body transformation ṗ i = R p i + t. So we have unknown parameters of rigid Figure 3: Intuition for Finding Vector Norm Using LP transformation: rotation matrix R and translation vector t. Next subsections will cover approaches how to present different non-lp terms suitable for LP solver. 3. LP Problem Presentation 3.. LP: Absolute Value y = x is commonly presented in LP using some auxiliary variables x + and x but we decided to go with an equivalent presentation that (y = x ) (x y and x y, while minimizing y) Current form does not introduce any new variables but enforces minimization of y to get the proper value of x. In our case it is Ok, because we want to minimize sum of absolute values anyway :-) 3..2 LP: Euclidean Norm Approximation The more intriguing problem is how to present vector norm using LP. To overcome this difficulty we use simple trigonometry. If we take any vector on the plane (in 2D) and start rotating it around the zero-point, at some rotation angle it will be closer or even coincide with one of the axis, so projection of the vector on that axis will roughly correspond to its norm. Thus for instance Fig. 3 illustrates 2D for vector v. If we perform enough rotations, maximal projection will be a good approximation of the vector norm. For 3D case we have two choices. first do 2D vector norm computation in XY coordinate plane using just (v x, v y ), thus obtaining v xy and then use the same procedure to find v = (v xy, v z ) ; 3

2. go to 3D and do rotations for the set of 3 angles to create Euler rotation matrices, and then use all 3 projections instead of 2 for 2D case. Both of these methods can give you a very precise approximation if the number of rotations is high. You can see comparison results on Fig. 4. Results suggest that 2D rotations are more efficient (has less inequalities, so LP solver find solution faster) than using 3D rotations to get the same quality of approximation. Further in this work we used only 2 consecutive 2D rotations to approximate vector norm in 3D. 3..3 LP: Rigid Transformation One of the main problem occurred while working on the project is the necessity to constrain 9-elements of matrix R to correspond to a rotation matrix, so RR T = I, or in other words to preserve all distances between object points after the transformation. We observe, that triangle is a minimal (minimal number of edges) rigid figure in 2D, so it can t be stretched or smeared without changing length of at least one of its sides. For 3D it would be tetrahedron, which has 4 sides connecting 4 points (all-to-all). Therefore in order to make sure that R is the rotation matrix we need to preserve distances between 4 points of some arbitrary tetrahedron T : ṗ j ṗ k p j p k = 3.2 LP Problem Formulation p i, p j T Having presented all the tricks, now we can present our problem in LP form ie as a set of equations under a set of constraints ṗ = R p + t ṗ i x i d i = i, s.t. p i P, x i X ṗ j ṗ k p j p k = p i, p j T Objective: to minimize C = i d i, where d i 3.3 LP Problems and Drawbacks Contraction (shrinking): is actually ṗ j ṗ k p j p k = p i, p j T ṗ j ṗ k p j p k This is due to the next fact: we can enforce that our object does not stretch but we cannot prevent it from contracting. It follows from the convexity of my presentation of the x. This problem keeps me from using suggested here L error norm in ICP for now because in case of big miss-alignment between object and model, ICP might tend to contract the object, because then it will fit the model better. Nevertheless, proposed method works when object is wrapped within the model object, which can happen when we register skull to scull for instance. R matrix needs to be normalized to the nearest orthonormal matrix due to our x LP approximation even if no contraction occurred. Horn et al. [5] derived the closest rotation matrix in case of minimal distortion on the residuals for the solution in squarederror sense. We used a simple SVD method by normalizing all of singular values to be unites and recomposing back rotation matrix. 3.4 Experiments To illustrate the gain from usage of L (sum of absolute values) instead of commonly used L 2 (sum of squares), we ve created a simple example - half-sphere model and inscribed half-sphere noisy object with different number of outliers (see Fig. 5). This artificial data was used to compare registration produced by two methods. Perfect registration would lead to identity rotation matrix and zero translation vector. Sum of absolute values of off-diagonal elements of rotation matrix R and sum of absolute values of translation vector t is presented on Fig. 6, which shows that L norm solution is more stable - it didn t produce a lot of unnecessary rotation and much less of translation for quite a long range of present outliers. 4 Conclusion This project is an attempt to introduce L norm to characterize the error of registration for two points clouds, which can be used in ICP algorithm. Simple presented simulation showed plausibility and advantage of L in place of L 2 norm for registration error. Presented approach has its drawback. It is impossible to impose rigid constraint in general case, but it is possible to use current method for non-contracting transformations. Modification of LP solver with explicit consideration of absolute value of variable x might make it possible to 4

25 2D: 2x rotations(32x5) 35 2D: 2x2 rotations(48x5) 25 2D: 2x3 rotations(64x5) 35 2D: 2x4 rotations(8x5) 2 3 25 2 3 25 5 2 5 2 5 5 5 5 5 5.6.4.2.2.. 5 5 x 3 5 5 x 3 25 3D: 3x rotations(6x4) 35 3D: 3x2 rotations(48x4) 35 3D: 3x3 rotations(62x4) 4 3D: 3x4 rotations(384x4) 2 5 5 3 25 2 5 5 3 25 2 5 5 35 3 25 2 5 5.6.4.2.2.. 5 5 x 3 5 5 x 3 Figure 4: Comparison between 2 consecutive 2D approximations to compute vector norm and single 3D. st row corresponds to the first method - 2 consecutive approximations in 2D. 2nd row corresponds to rotations in 3D and considering projections on all 3 axes simultaneously. Different columns correspond to different number of rotations. For 2D case it is a number of rotations for each vector in the plane, and for 3D it corresponds for number of rotations for each Eulerian angle. Numbers in paratnesses correspond to total number of inequalities x variables. For 2D rotations variables are (v x, v y, v z, v xy, v ) and (v x, v y, v z, v ) for 3D rotations. 5

overcome existing drawback but as to my knowledge no such solver exists yet. References [] Besl, P. and McKay, N. (992). A method for registration of 3-d shapes. IEEE Transactions on Pattern Analysis and Machine Intelligence, 4(2). [2] Fuchs, M., Wagner, M., Kohler, T., and Wischmann, H. A. (999). Linear and nonlinear current density reconstructions. J Clin Neurophysiol., 6(3):267 295. [3] George, J., Schmidt, D., Rector, D., and Wood, C. (22). Functional MRI: An Introduction to Methods, chapter 9. Dynamic functional neuroimaging intergratin multiple modalities, pages 353 382. Oxford University Press. [4] Halchenko, Y. (23). Simple implementation of ICP using Matlab. attempt to devise l fit error solution. http:// www.onerussian.com/ classes/ cis78. [5] Horn, B., Hilden, H., and Negahdaripour, S. (998). Closed-form solution of absolute orientation using orthonormal matrices. JOSA A, 5(7). [6] Horn, B. K. P. (987). Closed-form solution of absolute orientation using unit quaternions. Journal of Optical Society of America, 4(4):629 642. [7] Ourselin, S., Stefanescu, R., and Pennec, X. (22). Robust registration of multi-modal images: Towards real-time clinical applications. Lecture Notes in Computer Science, 2489:4??.8.6.4.2.5.5 Figure 5: Simulated data. Red dots belong to the model and blue ones form the object. Each corresponding pair is connected by a green line. There are multiple strong outliers which lead object deeper to the sphere. Rotation (R).25.2.5..5.5.5 2 3 4 5 6 # of outliers 2 nd norm st norm.4 Translation (t).3.2. 2 3 4 5 6 # of outliers Figure 6: Sum of absolute values of off-diagonal elements of rotation matrix (upper graph) and translation vector, obtained using usual mean-squared error registration (blue) and absolute distances registration (red) for different number of present strong outliers. 6