Point set alignment - Department of Computer Science
Download
Report
Transcript Point set alignment - Department of Computer Science
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
Coordinate systems
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
Note that this is similar to
Also, note that
which is purely imaginary.
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
Let
that maximizes
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
Then,
and so on.
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
by solving
we find the eigenvector
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 rootmean-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.