Closed-Form Solution Of Absolute Orientation Using Unit Quaternions

Similar documents
A DARK GREY P O N T, with a Switch Tail, and a small Star on the Forehead. Any

Two Posts to Fill On School Board

Course 2BA1: Hilary Term 2007 Section 8: Quaternions and Rotations

A. H. Hall, 33, 35 &37, Lendoi

LOWELL WEEKLY JOURNAL

Rigid body simulation. Once we consider an object with spatial extent, particle system simulation is no longer sufficient

Lesson Rigid Body Dynamics

' Liberty and Umou Ono and Inseparablo "

Why Transforms? Want to animate objects and camera Translations Rotations Shears And more.. Want to be able to use projection transforms

LOWELL WEEKLY JOURNAL

Lecture 8 Analyzing the diffusion weighted signal. Room CSB 272 this week! Please install AFNI

Assignment 11 (C + C ) = (C + C ) = (C + C) i(c C ) ] = i(c C) (AB) = (AB) = B A = BA 0 = [A, B] = [A, B] = (AB BA) = (AB) AB

Group, Rings, and Fields Rahul Pandharipande. I. Sets Let S be a set. The Cartesian product S S is the set of ordered pairs of elements of S,

Homework 1/Solutions. Graded Exercises

OWELL WEEKLY JOURNAL

County Council Named for Kent

ON A NEW SPECIES OF IMAGINARY QUANTITIES CONNECTED WITH A THEORY OF QUATERNIONS. William Rowan Hamilton

MECH 5312 Solid Mechanics II. Dr. Calvin M. Stewart Department of Mechanical Engineering The University of Texas at El Paso

CS 246 Review of Linear Algebra 01/17/19

Useful Formulae ( )

GG303 Lecture 6 8/27/09 1 SCALARS, VECTORS, AND TENSORS

oenofc : COXT&IBCTOEU. AU skaacst sftwer thsa4 aafcekr will be ehat«s«ai Bi. C. W. JUBSSOS. PERFECT THBOUGH SDFFEBISG. our

Neatest and Promptest Manner. E d i t u r ami rul)lihher. FOIt THE CIIILDIIES'. Trifles.

Lecture 7. Quaternions

LOWELL WEEKLY JOURNAL

FMIA. Fluid Mechanics and Its Applications 113 Series Editor: A. Thess. Moukalled Mangani Darwish. F. Moukalled L. Mangani M.

Introduction to quaternions

L bor y nnd Union One nnd Inseparable. LOW I'LL, MICHIGAN. WLDNHSDA Y. JULY ), I8T. liuwkll NATIdiNAI, liank

Vision 3D articielle Session 2: Essential and fundamental matrices, their computation, RANSAC algorithm

P A L A C E P IE R, S T. L E O N A R D S. R a n n o w, q u a r r y. W WALTER CR O TC H, Esq., Local Chairman. E. CO O PER EVANS, Esq.,.

A Memorial. Death Crash Branch Out. Symbol The. at Crossing Flaming Poppy. in Belding

II&Ij <Md Tmlaiiiiiit, aad once in Ihe y a w Teataa m i, the vmb thatalmta oot Uiaapirit world. into as abode or wotld by them- CooTBOtioa

Problem Set 2 Due Tuesday, September 27, ; p : 0. (b) Construct a representation using five d orbitals that sit on the origin as a basis: 1

THE I Establiifrad June, 1893

Covariance to PCA. CS 510 Lecture #14 February 23, 2018

Group Theory: Math30038, Sheet 6

Quantum Information & Quantum Computing

GG612 Lecture 3. Outline

LOWELL JOURNAL. MUST APOLOGIZE. such communication with the shore as Is m i Boimhle, noewwary and proper for the comfort

Stress, Strain, Mohr s Circle

Applications of Eigenvalues & Eigenvectors

CS286.2 Lecture 8: A variant of QPCP for multiplayer entangled games

6. 3D Kinematics DE2-EA 2.1: M4DE. Dr Connor Myant

forms Christopher Engström November 14, 2014 MAA704: Matrix factorization and canonical forms Matrix properties Matrix factorization Canonical forms

M E 320 Professor John M. Cimbala Lecture 10

Demonstration of the Coupled Evolution Rules 163 APPENDIX F: DEMONSTRATION OF THE COUPLED EVOLUTION RULES

A b r i l l i a n t young chemist, T h u r e Wagelius of N e w Y o r k, ac. himself with eth

Complex Numbers and Quaternions for Calc III

Knowledge Discovery and Data Mining 1 (VO) ( )

Tensor Visualization. CSC 7443: Scientific Information Visualization

Linear Algebra. Chapter 8: Eigenvalues: Further Applications and Computations Section 8.2. Applications to Geometry Proofs of Theorems.

PALACE PIER, ST. LEONARDS. M A N A G E R - B O W A R D V A N B I E N E.

CS 143 Linear Algebra Review

ECS 178 Course Notes QUATERNIONS

Problem Set 2 Due Thursday, October 1, & & & & # % (b) Construct a representation using five d orbitals that sit on the origin as a basis:

LOWELL WEEKLY JOURNAL.

V o l u m e 5, N u m b e r 5 2, 1 6 P a g e s. Gold B e U ClUt Stamps Double Stamp D a y E v e r y Wednesday

The Product Operator Formalism

MANY BILLS OF CONCERN TO PUBLIC

Lagrange Multipliers

Rotational Motion. Chapter 4. P. J. Grandinetti. Sep. 1, Chem P. J. Grandinetti (Chem. 4300) Rotational Motion Sep.

Assignment 10. Arfken Show that Stirling s formula is an asymptotic expansion. The remainder term is. B 2n 2n(2n 1) x1 2n.

Modeling photon generation

..«W- tn^zmxmmrrx/- NEW STORE. Popular Goods at Popular D. E. SPRING, Mas just opened a large fdo.k of DRY GOODS & GROCERIES,

Classical Mechanics. Luis Anchordoqui

CSE 554 Lecture 7: Alignment

Lecture 4: Least Squares (LS) Estimation

Artificial Intelligence & Neuro Cognitive Systems Fakultät für Informatik. Robot Dynamics. Dr.-Ing. John Nassour J.

Lecture 5: Random Walks and Markov Chain

19. Principal Stresses

Dynamics. 1 Copyright c 2015 Roderic Grupen

On complexified quantum mechanics and space-time

APPENDIX A. Background Mathematics. A.1 Linear Algebra. Vector algebra. Let x denote the n-dimensional column vector with components x 1 x 2.

Elementary Linear Algebra

ELA

Linear Algebra review Powers of a diagonalizable matrix Spectral decomposition

Bidiagonal pairs, Tridiagonal pairs, Lie algebras, and Quantum Groups

Game Physics. Game and Media Technology Master Program - Utrecht University. Dr. Nicolas Pronost

Quaternions. R. J. Renka 11/09/2015. Department of Computer Science & Engineering University of North Texas. R. J.

Next is material on matrix rank. Please see the handout

General Physics I. Lecture 10: Rolling Motion and Angular Momentum.

Properties of Matrices and Operations on Matrices

Rigid body dynamics. Basilio Bona. DAUIN - Politecnico di Torino. October 2013

COMP 175 COMPUTER GRAPHICS. Lecture 04: Transform 1. COMP 175: Computer Graphics February 9, Erik Anderson 04 Transform 1

Basic Equations of Elasticity

A Probability Review

Determination of Locally Varying Directions through Mass Moment of Inertia Tensor

Macroscopic theory Rock as 'elastic continuum'

Math 5630: Iterative Methods for Systems of Equations Hung Phan, UMass Lowell March 22, 2018

(d) Since we can think of isometries of a regular 2n-gon as invertible linear operators on R 2, we get a 2-dimensional representation of G for

MATH 423 Linear Algebra II Lecture 33: Diagonalization of normal operators.

PEAT SEISMOLOGY Lecture 2: Continuum mechanics

An eightfold path to E 8

Solving Linear Systems of Equations

Course MA2C02, Hilary Term 2010 Section 4: Vectors and Quaternions

Lowell Dam Gone Out. Streets Turned I n t o Rivers. No Cause For Alarm Now However As This Happened 35 Years A&o

Linear Algebra Practice Final

LINEAR ALGEBRA BOOT CAMP WEEK 4: THE SPECTRAL THEOREM

COMS 4721: Machine Learning for Data Science Lecture 19, 4/6/2017

1 First Theme: Sums of Squares

Transcription:

Closed-Form Solution Of Absolute Orientation Using Unit Berthold K. P. Horn Department of Computer and Information Sciences November 11, 2004

Outline 1 Introduction 2 3

The Problem Given: two sets of corresponding points in different coordinate systems Task: find the absolute orientation of the two systems (scale, rotation, translation) Previous approaches: Only iterative solutions Only close to least-squares solution Only handle three points Selectively neglect constraints This paper: Closed-form, exact least-squares solution No constraints neglected

Quaternion Notation q = q 0 + iq x + jq y + kq z q = (q 0, q x, q y, q z ) T : Basic Properties i 2 = 1 j 2 = 1 k 2 = 1 ij = k jk = i ki = j ji = k kj = i ik = j

Products of Quaternion Product as a Matrix Vector Product r 0 r x r y r z r q = r x r 0 r z r y r y r z r 0 r x q = R q q r = r z r y r x r 0 r 0 r x r y r z r x r 0 r z r y r y r z r 0 r x q = R q r z r y r x r 0 Watch Out! The quaternion product is not commutative!

Dot Product Dot Product of Two p q = p 0 q 0 + p x q x + p y q y + p z q z q 2 = q q Conjugate and Inverse p = q 0 iq x jq y kq z q q = q0 2 + qx 2 + qy 2 + qz 2 = q q A non-zero quaternion has an inverse q 1 = q q q

Useful Properties of Dot Products Representing Vectors Let r = (x, y, z) T R 3, then ( q p) ( q r) = ( q q)( p r) ( p q) r = p ( r q ) r = 0 + ix + iy + iz. Matrices associated with such purely imaginary quaternions are skew symmetric: (go back to matrices) R T = R R T = R

Representing s With Representation Using a Unit Quaternion q = cos φ 2 + sin φ 2 (iω x + jω y + kω z ) }{{} unit vector ω The imaginary part gives the direction of the axis of rotation. The angle is encoded into the real part and the magnitude of the imaginary part. Rotating a Vector Note that a vector is represented using an imaginary quaternion! r = q r q r = p r p = p( q r q ) p = p q r( p q)

Given: n points, each measured in a left and right coordinate system {r l,i } and {r r,i } Try to find a transformation of the form r r = sr(r l ) + r 0 from the left to the right coordinate system. There will be errors e i = r r,i sr(r l,i ) r 0 Minimize the sum of squares of errors e i 2

Introduction Working Relative to the Centroids r l = 1 r l,i n r l,i = r l,i r l r r = 1 n r r,i r r,i = r r,i r r Rewrite the error term: e i = r r,i sr(r l,i ) r 0 where r 0 = r 0 r r + sr( r l ) The sum of squares of errors becomes e i 2 = r r,i sr(r l,i ) r 0 2

Introduction Decompose the sum: = r r,i sr(r l,i ) r 0 2 ( ) r r,i sr(r l,i ) 2 2r 0 r r,i sr(r l,i ) +n r 0 2 }{{} independent of translation } {{ } =0 The total error is minimized with r 0 = 0, i.e. r 0 = r r sr( r l ). Remaining error term: e i = r r,i sr(r l,i). Now minimize r r,i sr(r l,i ) 2.

Finding the Decompose the sum: = r r,i sr(r l,i ) 2 r r,i 2 2s r r,i R(r l,i ) + s2 r l,i 2 = S r 2sD + s 2 S l Complete the square: Best scale is s = D/S l. (s S l D/ S l ) 2 + (S }{{} r S l D 2 )/S }{{} l =0 independent of scale

Finding the s = D/S l = r r,i R(r l,i ) r l,i 2 This scale factor is not symmetric! When going from the right to the left system, we get s 1 s Use a symmetrical expression for the error term instead: e i = 1 s r r,i sr(r l,i ) = e i s

Finding the Total error is then 1 r s r,i 2 2 r r,i R(r l,i )+s r l,i 2 = 1 s S r 2D ss l Complete the square (slightly different from Horn p. 632) ( s S l S r / s) 2 + 2( S }{{} l S r D) }{{} =0 independent of scale Best scale is now independent of rotation: s = S r /S l = n / r r,i 2 r l,i 2

Introduction Remaining error term to be minimized: (S r S l D 2 )/S l or 2( S l S r D) (asymmetric) (symmetric) I.e., maximize D = r r,i R(r l,i ) Use the quaternion representation: find the unit quaternion q that maximizes D = ( q r l,i q ) r r,i

Introduction Using ( p q) r = p ( r q ) from earlier, rewrite the term as ( q r l,i q ) r r,i = ( q r l,i ) ( r r,i q) = = ( R l,i q) (R r,i q) q T R T l,i R r,i q ) ( = q T R T l,i R r,i q = q T ( N i ) q = q T N q

Introduction Utilize the 3 3 matrix M := S xx S xy S xz r l,i r T r,i := S yx S yy S yz S zx S zy S zz for a convenient representation of ( Sxx + S yy + S zz S yz S zy S zx S xz S xy S yx ) N = S yz S zy S zx S xz S xx S yy S zz S xy + S yx S xy + S yx S xx + S yy S zz S zx + S xz S yz + S zy S xy S yx S zx + S xz S yz + S zy S xx S yy + S zz Note that N is symmetric, and trace(n) = 0. This contains all information to solve the least-squares problem for rotation!

Introduction The unit quaternion that maximizes q T N q is the eigenvector to the most positive eigenvalue of N To find this eigenvalue solve the quartic obtained from Use e.g. Ferrari s method. det(n λi) = 0 For the eigenvalue λ m, the eigenvector e m is found by solving (N λ m I) e m = 0 A lot easier nowadays using SVD...

The Algorithm 1 Find the centroids r l, r r, substract from measurements 2 For each pair ( r l = (x l, y l, z l ), r r = (x r, y r, z r) ) compute all possible products x l x r, x l y r,..., z l z r and add up to obtain S xx, S xy,..., S zz 3 Compute elements of N 4 Calculate the coefficients of the quartic and solve quartic 5 Pick the most positive root and obtain corresponding eigenvector. The quaternion representing the rotation is a unit vector in the same direction 6 Compute the scale 7 Compute the translation

Special Cases and Extensions If points are coplanar (e.g. only three points given), the calculation simplifies greatly Can also use weighted errors: Minimize weighted sum of errors: w i e i 2 Calculate weighted centroids: r l = n / w i r l,i w i etc. Change scale factor calculation: S r = n w i r r,i 2 etc. Change components of matrix for rotation recovery: S xx = n w ix l,i x r,i

MatLab Implementation

I presented a closed-form solution to the absolute orientation problem Given a mechanism for SVD or eigenvalue computation, the solution is straightforward Non-Gaussian noise, statistical outliers are not handled well Numerical stability? Project Combine with registration? Use for non-rigid motion? E.g., by doing absolute orientation on local point sets?

Appendix References References Berthold K. P. Horn. Closed-form solution of absolute orientation using unit quaternions. Journal of the Optical Society of America A, 4(4):629 642, April 1987. Ross J. Micheals, Terrance E. Boult. On the Robustness of Absolute Orientation. 2000. www.cs.uccs.edu/~tboult/papers/ F. Sansò. An exact solution of the roto-translation problem. Photogrammetria 29:203 216, 1973.