1 Absolute Orientation Determination using Horn Approach.

Slides:



Advertisements
Similar presentations
Chapter 4 Systems of Linear Equations; Matrices
Advertisements

Chapter 4 Systems of Linear Equations; Matrices
PCA + SVD.
Chapter 2 Matrices Finite Mathematics & Its Applications, 11/e by Goldstein/Schneider/Siegel Copyright © 2014 Pearson Education, Inc.
Mathematics. Matrices and Determinants-1 Session.
HCI 530 : Seminar (HCI) Damian Schofield. HCI 530: Seminar (HCI) Transforms –Two Dimensional –Three Dimensional The Graphics Pipeline.
ICS 6N Computational Linear Algebra
Motion Analysis Slides are from RPI Registration Class.
Goldstein/Schnieder/Lay: Finite Math & Its Applications, 9e 1 of 86 Chapter 2 Matrices.
5. Topic Method of Powers Stable Populations Linear Recurrences.
Linear Equations in Linear Algebra
MOHAMMAD IMRAN DEPARTMENT OF APPLIED SCIENCES JAHANGIRABAD EDUCATIONAL GROUP OF INSTITUTES.
Linear Systems and Matrices
Finite Mathematics & Its Applications, 10/e by Goldstein/Schneider/SiegelCopyright © 2010 Pearson Education, Inc. 1 of 86 Chapter 2 Matrices.
Lecture 8: Cascaded Linear Transformations Row and Column Selection Permutation Matrices Matrix Transpose Sections 2.2.3, 2.3.
Lecture 7: Matrix-Vector Product; Matrix of a Linear Transformation; Matrix-Matrix Product Sections 2.1, 2.2.1,
Arithmetic Operations on Matrices. 1. Definition of Matrix 2. Column, Row and Square Matrix 3. Addition and Subtraction of Matrices 4. Multiplying Row.
1 Chapter 2 Matrices Matrices provide an orderly way of arranging values or functions to enhance the analysis of systems in a systematic manner. Their.
Chapter 7 Matrix Mathematics Matrix Operations Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
Point set alignment Closed-form solution of absolute orientation using unit quaternions Berthold K. P. Horn Department of Electrical Engineering, University.
Presented by Johanna Lind and Anna Schurba Facility Location Planning using the Analytic Hierarchy Process Specialisation Seminar „Facility Location Planning“
Compiled By Raj G. Tiwari
CSE554AlignmentSlide 1 CSE 554 Lecture 8: Alignment Fall 2014.
Rev.S08 MAC 1140 Module 10 System of Equations and Inequalities II.
Combinatorial Algorithms Unate Covering Binate Covering Graph Coloring Maximum Clique.
Learner’s Guide to MATLAB® Chapter 2 : Working with Arrays.
1 © 2010 Pearson Education, Inc. All rights reserved © 2010 Pearson Education, Inc. All rights reserved Chapter 9 Matrices and Determinants.
1 1.3 © 2012 Pearson Education, Inc. Linear Equations in Linear Algebra VECTOR EQUATIONS.
Vectors and Matrices In MATLAB a vector can be defined as row vector or as a column vector. A vector of length n can be visualized as matrix of size 1xn.
Assume correspondence has been determined…
Chapter 5 MATRIX ALGEBRA: DETEMINANT, REVERSE, EIGENVALUES.
Based on Rosen, Discrete Mathematics & Its Applications, 5e Prepared by (c) Michael P. Frank Modified by (c) Haluk Bingöl 1/21 Module.
2009/9 1 Matrices(§3.8)  A matrix is a rectangular array of objects (usually numbers).  An m  n (“m by n”) matrix has exactly m horizontal rows, and.
CSE554AlignmentSlide 1 CSE 554 Lecture 8: Alignment Fall 2013.
Module #9: Matrices Rosen 5 th ed., §2.7 Now we are moving on to matrices, section 7.
Notes 7.2 – Matrices I. Matrices A.) Def. – A rectangular array of numbers. An m x n matrix is a matrix consisting of m rows and n columns. The element.
CALCULUS – III Matrix Operation by Dr. Eman Saad & Dr. Shorouk Ossama.
Copyright © Cengage Learning. All rights reserved. 2 SYSTEMS OF LINEAR EQUATIONS AND MATRICES Warm Up Read pp up to and including the box labeled.
Copyright ©2015 Pearson Education, Inc. All rights reserved.
Systems of Equations and Matrices Review of Matrix Properties Mitchell.
Matrices. Matrix - a rectangular array of variables or constants in horizontal rows and vertical columns enclosed in brackets. Element - each value in.
1 Objective To provide background material in support of topics in Digital Image Processing that are based on matrices and/or vectors. Review Matrices.
If A and B are both m × n matrices then the sum of A and B, denoted A + B, is a matrix obtained by adding corresponding elements of A and B. add these.
MATRICES A rectangular arrangement of elements is called matrix. Types of matrices: Null matrix: A matrix whose all elements are zero is called a null.
Matrices IB Mathematics SL. Matrices Describing Matrices Adding Matrices.
Analytic Geometry in Three Dimensions
CSE 554 Lecture 8: Alignment
Chapter 4 Systems of Linear Equations; Matrices
Modeling and Simulation Dr. Mohammad Kilani
Chapter 7 Matrix Mathematics
MATHEMATICS Matrix Algebra
L5 matrix.
Structure from motion Input: Output: (Tomasi and Kanade)
Matrix Algebra.
ECE 383/ME 442: Intro to Robotics and Automation
Eigenvalues and Eigenvectors
Linear Equations in Linear Algebra
Lial/Hungerford/Holcomb/Mullins: Mathematics with Applications 11e Finite Mathematics with Applications 11e Copyright ©2015 Pearson Education, Inc. All.
Numerical Analysis Lecture14.
Matrices.
Matrices.
Eigenvalues and Eigenvectors
Vectors and Matrices In MATLAB a vector can be defined as row vector or as a column vector. A vector of length n can be visualized as matrix of size 1xn.
Matrix Algebra.
Chapter 4 Systems of Linear Equations; Matrices
RAYAT SHIKSHAN SANSTHA’S S.M.JOSHI COLLEGE HADAPSAR, PUNE
Day 05 Horn's Method 5/24/2019.
Structure from motion Input: Output: (Tomasi and Kanade)
Chapter 4 Systems of Linear Equations; Matrices
Presentation transcript:

1 Absolute Orientation Determination using Horn Approach

2 Hidden Tiger Team Members John, Zhang Feng Lu Li Liu Ali Ahmad

3 Design Issues:  The “Software for Absolute Orientation Determination using the Horn Approach” project is a highly technical implementation of rigorous mathematics calculations, these functions include:  Centroid Finder  Input Transformation with respect to centroids  Eigen values and Eigen vectors  Output manipulator

4 Detailed Design Information:  The horn approach aims to find the unit quaternion that represents the best rotation between 2 coordinate systems, this is achieved by applying a closed form mathematical model on a set of point measured in the 2 coordinate systems. This can be illustrated in the figure below.

5 Detailed Design Information:  the figure, input and output refers to the user end, the user in our case, can be either a human or another piece of code.  In the input section, the user inputs a set of N points (i.e. triples of x,y,z) measured in both the left and right hand coordinate systems. The points will be inputted as a set of floats, and based on the client request, they will be represented as a continues stream of values. That is x1,y1,z1, x2,y2,z2, and so on for both coordinate systems.  The output represents the result returned to the user, i.e. the unit quaternion, which is a set of four floats, whose sum of squares is equal to one.

6 Horn Approach for finding rotation Input:  n-points (triples) in both the left and right coordinate systems (r l, r r ) Procedure:  1. Get the centroids for both sets of points, same applies to right 2. Transform the points as measurements with respect to centroids,, same applies to right  Result: A set of n-points (triples) in each coordinate system measured with respect to their respective centroids.

7 Horn Approach for finding rotation 3. Define the matrix N: where, in this formula, prime denotes transformed coordinates. 4. Find and sort the Eigen values of N det (N - I) = 0, and solve for. m is the maximum positive Eigen value. 5. The quaternion that represents the best rotation is the Eigen vector that corresponds to the largest positive Eigen Value. And is obtained by solving the homogeneous equation: [ N - m I ]. e m = 0

8 DESIGN DETAIL I. Input manipulator: Puts the user input in an accessible format, most likely 2 dimensional arrays of point vectors. The user input is received as a set of floats, and the input manipulator parses through this set of floats and puts them into 2 matrices, one for each coordinate system. Example: lets assume the following user input: {1,2,3,2,2,3,2,2,4, 2,3,4,2,5,4,2,4,4}. This set of 3 points can be represented in the following 2 matrices, in this format, the points are the columns, and the ; represent row separators. L=[1,2,3;2,2,3;2,2,4] R=[2,3,4;2,5,4;2,4,4]

9 DESIGN DETAIL II. Centroid Finder: Finds the centroids for the left and the right data sets. The centroid can be defined simply as the vector that represents mathematical average of the coordinates of a set of points. For our example the centroids are: LC = [2.0000, , ]’ RC = [3.0000, , ] ‘

10 DESIGN DETAIL III. Transformer: Transforms the points with respect to centroids. This is achieved by simply by taking the difference between various point vectors and centroids, a way for doing so utilizing matrices is for i=1:3 for j=1:N LL(i,j)=L(i,j)-LC(i); RR(i,j)=R(i,j)-LC(i); end The results in our example are: LL = RR=

11 DESIGN DETAIL IV. Sum Function: Calculates the various sums, The matrix is a matrix of dot products of transformed elements in the 2 coordinate systems, where i, j refer to the right and the left coordinate systems respectively. In our example, the matrix M will be: M = for i=1:3 for j=1:3 S=0; for k=1:N S=S+LL(i,k)*RR(j,k); end M(i,j)=S; end

12 DESIGN DETAIL V. MtoN Converter: Calculates the matrix N from the various matrix M elements. Utilizes the various M elements (sums), that will come up with the 4 by 4 matrix that will be used to determine the rotation. In our example: N =

13 DESIGN DETAIL VI. EigenValue solver: Finds the Eigen values of the matrix N. This code is currently being researched for reuse purposes, there are various implementations, but, we need to find accurate and fast one. VII. EigenValue sorter: Sorts the Eigen values of the matrix N A typical sort function that sorts the Eigen values for our matrix N, as required by the algorithm “the largest positive Eigen value ” VIII. EigenVector Finder: Finds the Eigen vector that corresponds to the largest positive Eigen value, this is the required quaternion. Mathematical implementation, related to VI, as most implementations usually calculate both Eigen values and Eigen vectors hand in hand.

14 DESIGN DETAIL IX. OutputFunction: Returns the Eigen Vector (the Unit Quaternion) as a set of floats the quaternion of best rotation, the result in our example is: RotationUnitQuaternion = X. Validation and Exception handling: User Input Validation: The number of inputted floats is matching to construct 2 sets of points for the number of points given. Guarding against incorrect user input. Eigen value checker: upon sorting the Eigen values, is the largest positive? Accuracy of implementation vs. MATLAB results.

15 Thank you! Questions ???