300 likes | 735 Views
Point set alignment. Closed-form solution of absolute orientation using unit quaternions Berthold K. P. Horn Department of Electrical Engineering, University of Hawaii at Manoa. Presented by Ashley Fernandes. Abstract. Finding relationship between coordinate systems (absolute orientation)
E N D
Point set alignment Closed-form solution of absolute orientation using unit quaternions Berthold K. P. Horn Department of Electrical Engineering, University of Hawaii at Manoa Presented by Ashley Fernandes
Abstract • Finding relationship between coordinate systems (absolute orientation) • Closed-form • Use of quaternions for rotation • Use of centroid for translation • Use of root-mean-square deviations for scale
Disadvantages of previous methods • Cannot handle more than three points • Do not use information from all three points • Iterative instead of least squares
Introduction - Transformation Transformation between two Cartesian coordinate systems Translation Rotation Scaling
Introduction - Method • Minimize error • Closed-form solution • Use of quaternions • Symmetry of solution
Selective discarding constraints X axis Y axis Z axis l Maps points from left hand to right hand coordinate system Rotation
Finding the translation Measured coordinates in left and right hand systems Form of translation Scale factor Translational offset Rotated vector from left coordinate system Residual error To be minimized
Centroids of sets of measurements Centroids New coordinates Error term where Sum of squares of errors
Centroids of sets of measurements Translation, when r’o = 0 Error term, when r’o = 0 Total error term to be minimized
Finding the scale Total error term, since To minimize w.r.t. scale s, first term should be zero, or
Symmetry in scale Suppose we tried to find , or so we hope. But, or Instead, we use Total error becomes To minimize w.r.t. scale s, first term should be zero, or Scale
Why unit quaternions • Easier to enforce unit magnitude constraint on quaternion than orthogonal constraint on matrix • Closely allied to geometrically intuitive concept of rotation by an angle about an axis
Quaternions Representation If Multiplication
Quaternions Multiplication expressed as product of orthogonal matrix4x4 and vector4
Quaternions Dot product Square of magnitude Conjugate Product of quaternion and its conjugate Inverse
Unit quaternions and rotation if We use the composite product which is purely imaginary. Note that this is similar to Also, note that
Relationship to other notations If angle is Θ and axis is unit vector
Composition of rotations First rotation Second rotation Since Combined rotation
Finding the best rotation We must find the quaternion that maximizes Let and
Finding the best rotation What we have to maximize
Finding the best rotation where and Introducing the matrix3x3 that contains all the information required to solve the least-squares problem for rotation. where and so on. Then,
Eigenvector maximizes matrix product Unit quaternion that maximizes is eigenvector corresponding to most positive eigenvalue of N. Eigenvalues are solutions of quartic in that we obtain from After selecting the largest positive eigenvalue we find the eigenvector by solving
Nature of the closed-form solution • Find centroids rl and rr of the two sets of measurements • Subtract them from all measurements • For each pair of coordinates, compute x’lx’r, x’ly’r, … z’lz’r of the components of the two vectors. • These are added up to obtain Sxx, Sxy, …Szz.
Nature of the closed-form solution • Compute the 10 independent elements of the 4x4 symmetric matrix N • From these elements, calculate the coefficients of the quartic that must be solved to get the eigenvalues of N • Pick the most positive root and use it to solve the four linear homogeneous equations to get the eigenvector. The quaternion representing the rotation is a unit vector in the same direction.
Nature of the closed-form solution • Compute the scale from the symmetrical form formula, i.e. the ratio of the root-mean-square deviations of the measurements from their centroids. • Compute the translation as the difference between the centroid of the right measurements and the scaled and rotated centroid of the left measurement.
Thank you. The end.