Optimization of ICP Using K-D Tree

Slides:



Advertisements
Similar presentations
K-means Clustering Ke Chen.
Advertisements

Nearest Neighbor Search
Cluster Analysis: Basic Concepts and Algorithms
Principal Component Analysis Based on L1-Norm Maximization Nojun Kwak IEEE Transactions on Pattern Analysis and Machine Intelligence, 2008.
Nearest Neighbor Finding Using Kd-tree Ref: Andrew Moore’s PhD thesis (1991)Andrew Moore’s PhD thesis.
PCA + SVD.
Automatic Feature Extraction for Multi-view 3D Face Recognition
Image Indexing and Retrieval using Moment Invariants Imran Ahmad School of Computer Science University of Windsor – Canada.
Implementation of ICP Variants Pavan Ram Piratla Janani Venkateswaran.
Hough Transform Reading Watt, An edge is not a line... How can we detect lines ?
Nearest Neighbor. Predicting Bankruptcy Nearest Neighbor Remember all your data When someone asks a question –Find the nearest old data point –Return.
Reverse Engineering Niloy J. Mitra.
Spatial Indexing I Point Access Methods. PAMs Point Access Methods Multidimensional Hashing: Grid File Exponential growth of the directory Hierarchical.
Registration of two scanned range images using k-d tree accelerated ICP algorithm By Xiaodong Yan Dec
CS Data Structures Chapter 10 Search Structures (Selected Topics)
Medical Imaging Mohammad Dawood Department of Computer Science University of Münster Germany.
CENG 789 – Digital Geometry Processing 06- Rigid-Body Alignment Asst. Prof. Yusuf Sahillioğlu Computer Eng. Dept,, Turkey.
KD TREES CS16: Introduction to Data Structures & Algorithms Tuesday, April 7,
Iterative closest point algorithms
Orthogonal Range Searching-1Computational Geometry Prof. Dr. Th. Ottmann 1 Orthogonal Range Searching 1.Linear Range Search : 1-dim Range Trees 2.2-dimensional.
3D Geometry for Computer Graphics
CSci 6971: Image Registration Lecture 4: First Examples January 23, 2004 Prof. Chuck Stewart, RPI Dr. Luis Ibanez, Kitware Prof. Chuck Stewart, RPI Dr.
Localization from Mere Connectivity Yi Shang (University of Missouri - Columbia); Wheeler Ruml (Palo Alto Research Center ); Ying Zhang; Markus Fromherz.
L16: Micro-array analysis Dimension reduction Unsupervised clustering.
Prénom Nom Document Analysis: Data Analysis and Clustering Prof. Rolf Ingold, University of Fribourg Master course, spring semester 2008.
Niloy J. Mitra1, Natasha Gelfand1, Helmut Pottmann2, Leonidas J
Cluster Analysis: Basic Concepts and Algorithms
1 Numerical geometry of non-rigid shapes In the Rigid Kingdom In the Rigid Kingdom Lecture 4 © Alexander & Michael Bronstein tosca.cs.technion.ac.il/book.
1 Nearest Neighbor Learning Greg Grudic (Notes borrowed from Thomas G. Dietterich and Tom Mitchell) Intro AI.
Efficient Nearest-Neighbor Search in Large Sets of Protein Conformations Fabian Schwarzer Itay Lotan.
1 ACCTG 6910 Building Enterprise & Business Intelligence Systems (e.bis) Clustering Olivia R. Liu Sheng, Ph.D. Emma Eccles Jones Presidential Chair of.
3D full object reconstruction from kinect Yoni Choukroun Elie Semmel Advisor: Yonathan Afflalo.
K-means Clustering. What is clustering? Why would we want to cluster? How would you determine clusters? How can you do this efficiently?
Spatial Indexing I Point Access Methods. Spatial Indexing Point Access Methods (PAMs) vs Spatial Access Methods (SAMs) PAM: index only point data Hierarchical.
Spatial Indexing I Point Access Methods. Spatial Indexing Point Access Methods (PAMs) vs Spatial Access Methods (SAMs) PAM: index only point data Hierarchical.
FLANN Fast Library for Approximate Nearest Neighbors
9 1 Performance Optimization. 9 2 Basic Optimization Algorithm p k - Search Direction  k - Learning Rate or.
Manifold learning: Locally Linear Embedding Jieping Ye Department of Computer Science and Engineering Arizona State University
CSE554AlignmentSlide 1 CSE 554 Lecture 8: Alignment Fall 2014.
CSE554Laplacian DeformationSlide 1 CSE 554 Lecture 8: Laplacian Deformation Fall 2012.
CSE554AlignmentSlide 1 CSE 554 Lecture 5: Alignment Fall 2011.
COMMON EVALUATION FINAL PROJECT Vira Oleksyuk ECE 8110: Introduction to machine Learning and Pattern Recognition.
A Method for Registration of 3D Surfaces ICP Algorithm
CS Data Structures Chapter 10 Search Structures.
Multi-dimensional Search Trees
CSE554AlignmentSlide 1 CSE 554 Lecture 8: Alignment Fall 2013.
CSE 185 Introduction to Computer Vision Face Recognition.
5/29/2008AI UEC in Japan Chapter 12 Clustering: Large Databases Written by Farial Shahnaz Presented by Zhao Xinyou Data Mining Technology.
Hierarchical Clustering Produces a set of nested clusters organized as a hierarchical tree Can be visualized as a dendrogram – A tree like diagram that.
Multi-dimensional Search Trees CS302 Data Structures Modified from Dr George Bebis.
Dimensionality reduction
A Logarithmic Randomly Accessible Data Structure Tom Morgan TJHSST Computer Systems Lab
Krylov-Subspace Methods - I Lecture 6 Alessandra Nardi Thanks to Prof. Jacob White, Deepak Ramaswamy, Michal Rewienski, and Karen Veroy.
Affine Registration in R m 5. The matching function allows to define tentative correspondences and a RANSAC-like algorithm can be used to estimate the.
CENG 789 – Digital Geometry Processing 07- Rigid-Body Alignment Asst. Prof. Yusuf Sahillioğlu Computer Eng. Dept,, Turkey.
Registration and Alignment Speaker: Liuyu
A Logarithmic Randomly Accessible Data Structure Tom Morgan TJHSST Computer Systems Lab
Introduction to Data Mining Clustering & Classification Reference: Tan et al: Introduction to data mining. Some slides are adopted from Tan et al.
COMP24111 Machine Learning K-means Clustering Ke Chen.
CSE 554 Lecture 8: Alignment
Spectral Methods for Dimensionality
Data Mining: Basic Cluster Analysis
CENG 789 – Digital Geometry Processing 08- Rigid-Body Alignment
Ke Chen Reading: [7.3, EA], [9.1, CMB]
BIRCH: An Efficient Data Clustering Method for Very Large Databases
Ke Chen Reading: [7.3, EA], [9.1, CMB]
Outline H. Murase, and S. K. Nayar, “Visual learning and recognition of 3-D objects from appearance,” International Journal of Computer Vision, vol. 14,
Shape-based Registration
BIRCH: Balanced Iterative Reducing and Clustering using Hierarchies
Presentation transcript:

Optimization of ICP Using K-D Tree Baochun Bai Instructor: Prof. Boulanger

Outline An Introduction to ICP Algorithm Steps KD-Tree Method to compute rotation and translation matrix Results

Overview of ICP Algorithm A popular algorithm to register a data shape to a model shape Data shape point set P{pi} with Np points Model shape point set X{xi} with Nx points Find the optimal rotation R and translation matrix T to transform P to X Minimize the mean square error

Algorithm Steps of ICP Initialize P0 = P, R0 = I, T0 = (0, 0, 0) For each iteration k, Find the closest points Yk = C(Pk, X) based on Euclidean distance Compute the registration and find rotation matrix Rk and translation matrix Tk Apply the registration, Pk+1 = Rk(Pk) + Tk Stop if mean square error is less than a threshold

Nearest Neighbor Search Algorithms Performance bottleneck of the algorithm Straightforward Approach Sequential Search O(NpNx), Np <= Nx, O(N2) K-D Tree A binary search tree O(logN)

K-D Tree A balanced binary search tree for k-dimensional data Root node: entire space Leaf node: a mutually exclusive subspace Intermediate node: key to partition the space, key is one of k dimensions

An Example of K-D Tree X Y

Algorithm to Compute Rotation and Translation Matrix Compute the cross-covariance matrix of P and X Compute the 4x4 symmetric matrix Q

Algorithm to Compute Rotation and Translation Matrix Get the unit eigenvector qR of Q, which is corresponding to the maximum eigenvalue of Q Compute the rotation matrix R from qR Compute the translation matrix T based on R T = ux - Rup

Results Running Time Bunny Model 31000 points 601MHZ, 128Mb Memory Sequential Search K-D Tree 16 seconds 9300 seconds

Convergence of Mean Square Error