没有合适的资源?快使用搜索试试~ 我知道了~
首页Closed-Form Solution of Absolute Orientation Using Unit Quaternions.pdf
Closed-Form Solution of Absolute Orientation Using Unit Quaterni...
需积分: 50 270 浏览量
更新于2023-05-24
评论
收藏 1.44MB PDF 举报
Closed-Form Solution of Absolute Orientation Using Unit Quaternions.pdf Closed-Form Solution of Absolute Orientation Using Unit Quaternions.pdf Closed-Form Solution of Absolute Orientation Using Unit Quaternions.pdf
资源详情
资源评论
资源推荐

See discussions, stats, and author profiles for this publication at: https://www.researchgate.net/publication/230600780
Closed-Form Solution of Absolute Orientation Using Unit Quaternions
ArticleinJournal of the Optical Society of America A · April 1987
DOI: 10.1364/JOSAA.4.000629
CITATIONS
3,640
READS
1,758
1 author:
Some of the authors of this publication are also working on these related projects:
Suppressing traffic flow instabilities using bilateral control View project
Suppressing Traffic Flow Instabilities View project
Berthold K. P. Horn
Massachusetts Institute of Technology
199 PUBLICATIONS27,547 CITATIONS
SEE PROFILE
All content following this page was uploaded by Berthold K. P. Horn on 31 July 2017.
The user has requested enhancement of the downloaded file.

Vol. 4, No.
4/April 1987/J.
Opt.
Soc. Am.
A 629
Closed-form
solution
of absolute
orientation
using
unit
quaternions
Berthold
K. P. Horn
Department
of Electrical
Engineering, University
of Hawaii
at Manoa, Honolulu,
Hawaii 96720
Received August
6, 1986; accepted November 25, 1986
Finding the
relationship between
two coordinate
systems
using pairs of
measurements
of the coordinates
of a
number
of points in both systems
is a classic photogrammetric
task. It finds applications
in stereophotogrammetry
and in robotics.
I present here
a closed-form solution
to the least-squares
problem
for three or more
points.
Currently
various empirical,
graphical, and
numerical iterative
methods are in
use. Derivation
of the solution
is
simplified
by use
of unit quaternions
to
represent rotation.
I emphasize
a symmetry
property
that a solution
to this
problem ought
to possess. The best translational
offset is the difference between
the centroid of the coordinates
in
one system and
the rotated and scaled
centroid of the
coordinates in
the other system.
The best scale is
equal to the
ratio of the
root-mean-square deviations
of the coordinates in the two
systems from their respective centroids.
These exact
results are to be preferred to
approximate methods based on
measurements of a few selected
points.
The unit quaternion
representing the best
rotation is the eigenvector associated
with the most positive eigenvalue
of
a symmetric 4 X 4 matrix. The
elements of this matrix
coordinates of the points.
1. INTRODUCTION
Suppose that we
are given the
coordinates of a
number of
points as measured in two different Cartesian
coordinate
systems (Fig.
1). The photogrammetric problem
of recover-
ing the transformation between the
two systems from these
measurements is referred
to as that of absolute orientation.'
It occurs
in several contexts, foremost
in relating a stereo
model developed
from pairs of aerial photographs to a geo-
detic coordinate system.
It also is of importance
in robotics,
in which measurements in a camera coordinate
system must
be related
to coordinates in a system attached
to a mechani-
cal manipulator.
Here one speaks of the
determination of
the hand-eye
transform.
2
A. Previous Work
The problem of absolute orientation is usually
treated in an
empirical,
graphical,
or numerical iterative
fashion. 13,
4
Thompson
5
gives a solution to this problem
when three
points are measured.
His method, as well as the simpler one
of Schut,
6
depends on selective
neglect of the extra con-
straints available when all coordinates of three
points are
known. Schut uses unit quaternions
and arrives at a set of
linear equations. I present
a simpler solution to this special
case in Subsection 2.A that
does not require solution of a
system of linear
equations. These methods all suffer from
the defect that
they cannot handle more than three points.
Perhaps
more importantly, they do not even use all
the
information available from
the three points.
Oswal and Balasubramanian
7
developed
a least-squares
method that can handle
more than three points, but their
method does not
enforce the orthonormality of the rotation
matrix.
An iterative method is then used to square up
the
result-bringing it closer to being orthonormal.
The meth-
od for doing this
is iterative, and the result is not the solution
of the original least-squares
problem.
are combinations of sums of products of corresponding
I present a closed-form solution to the least-squares
prob-
lem
in Sections 2 and
4 and show
in Section 5 that
it simpli-
fies
greatly when only three points are
used. This is impor-
tant,
since at times only three
points may be available.
The
solution is different
from those
described
at the beginning
of
this section because it
does not selectively neglect
informa-
tion provided by the
measurements-it uses all of
it.
The groundwork for
the application of quaternions
in
photogrammetry was laid by Schut8
and Thompson.
9
In
robotics,
Salamin'
0
and
Taylor" have
been the
main propa-
gandists.
The use of unit quaternions
to represent rotation
is reviewed in
Section 3 and
the appendixes
(see also Ref.
2).
B. Minimum
Number of Points
The transformation
between
two Cartesian
coordinate
sys-
tems
can be thought of as the result
of a rigid-body motion
and can thus be decomposed into a rotation
and a transla-
tion. In stereophotogrammetry,
in addition, the scale may
not be known.
There are obviously
three degrees of
freedom
to translation.
Rotation
has another three
(direction of
the
axis about
which the rotation takes place plus
the angle of
rotation
about this axis).
Scaling adds one
more degree of
freedom. Three
points known
in both coordinate
systems
provide nine constraints
(three coordinates
each), more
than
enough to
permit determination
of the seven unknowns.
By discarding
two of the constraints,
seven equations
in
seven unknowns
can be developed that allow one to recover
the
parameters. I show
in Subsection 2.A
how to find the
rotation
in a similar fashion,
provided that
the three points
are not collinear. Two points clearly do not provide
enough
constraint.
C. Least
Sum of Squares of Errors
In practice, measurements
are not exact,
and so greater
accuracy in determining the
transformation parameters will
be sought for by
using more than three points. We no longer
0740-3232/87/040629-14$02.00
© 1987 Optical
Society of America
Berthold
K. P. Horn

630
J.
Opt.
Soc.
Am.
A/Vol.
4,
No.
4/April
1987
Q
Y_. /
)1,- /
2
/
/
, \Zr,
A, I
,/ oD
\s
I
\
_ \ \
\ -
_
I
Fig. 1. The
coordinates
of a number
of points
is measured
in two
different
coordinate
systems.
The
transformation
between
the
two
systems
is to
be found.
expect
to be
able to find
a transformation
that maps
the
measured
coordinates
of points
in one system
exactly
into
the measured
coordinates
of
these points
in the
other.
In-
stead, we
minimize
the sum
of squares
of residual
errors.
Finding
the
best set
of transformation
parameters
is not
easy.
In practice,
various
empirical,
graphical,
and numeri-
cal procedures
are in use.
These
are iterative
in nature.
That is,
given an
approximate
solution,
such a method
leads
to a better,
but still
imperfect,
answer.
The iterative
meth-
od
is applied
repeatedly
until the
remaining
error is
negligi-
ble.
At times,
information
is available
that
permits
one
to
obtain so
good an
initial guess
of the transformation
parame-
ters that
a single step
of the
iteration brings
one
close enough
to the true
solution
of the least-squares
problem to
eliminate
the need
for further
iteration
in a practical
situation.
D.
Closed-Form
Solution
In this
paper I
present
a closed-form
solution
to
the least-
squares
problem
of absolute
orientation,
one that
does not
require iteration.
One advantage
of a
closed-form
solution
is
that it provides
one
in a single
step with
the best
possible
transformation,
given the
measurements
of
the points
in the
two coordinate
systems.
Another
advantage
is that
one
need
not find
a good
initial
guess, as
one does
when
an
iterative
method
is used.
I
give the solution
in
a form in
which unit
quaternions
are
used
to represent
rotations.
The
solution
for the desired
quaternion
is shown
to be the
eigenvector
of a symmetric
4
X
4 matrix
associated
with
the most
positive
eigenvalue.
The
elements
of this
matrix
are simple
combinations
of sums
of
products
of corresponding
coordinates
of the
points.
To
find
the eigenvalues,
a quartic
equation
has to be
solved
whose
coefficients
are
sums of products
of
elements
of the
matrix.
It is
shown that
this quartic
is particularly
simple,
since
one of its
coefficients
is zero.
It simplifies
even
more
when one
or the other
of the
sets of measurements
is copla-
nar.
E. Orthonormal
Matrices
While
unit quaternions
constitute
an elegant
representation
for
rotation, most
of us
are more
familiar with
orthonormal
matrices
with positive
determinant.
Fortunately,
the
ap-
propriate
3 X 3
rotation matrix
can
be easily
constructed
from the four
components
of the
unit quaternion,
as is shown
in
Subsection
3.E. Working
directly
with
matrices
is diffi-
cult
because
of the need
to deal
with six
nonlinear
con-
straints
that ensure
that
the matrix
is orthonormal.
A
closed-form
solution
for the
rotation
matrix
using
manipula-
tions
of
matrices
will
be presented
in a subsequent
paper.
This
closed-form
solution
requires
the computation
of
the
square
root
of a symmetric
3 X 3
matrix.
F. Symmetry
of the
Solution
Let us
call the
two coordinate
systems
"left"
and "right."
A
desirable
property
of a
solution
method
is that,
when
applied
to
the problem
of
finding
the best
transformation
from
the
right to
the left
system,
it
gives the
exact
inverse
of the
best
transformation
from
the
left to the
right
system.
I show
in
Subsection
2.D
that the
scale
factor
has to
be treated
in
a
particular
way
to guarantee
that this
will
happen.
Symme-
try
is guaranteed
when
one uses
unit
quaternions
to
repre-
sent
rotation.
2.
SOLUTION
METHODS
As we
shall
see, the
translation
and the
scale
factor
are easy
to determine
once
the rotation
is
known.
The
difficult
part
of
the problem
is
finding
the rotation.
Given
three
noncol-
linear
points,
we can
easily
construct
a useful
triad
in
each of
the
left
and the
right
coordinate
systems
(Fig.
2).
Let the
origin
be
at the
first
point.
Take
the line
from
the first
to
the second
point
to
be the
direction
of
the new
x axis.
Place
the new
y axis
at right
angles
to the
new
x axis
in the plane
formed
by the
three
points.
The
new z
axis is
then made
to
be orthogonal
to the x
and y
axes, with
orientation
chosen
to
satisfy
the
right-hand
rule.
This
construction
is carried
out
in
both
left and
right
systems.
The
rotation
that
takes
one
of these
constructed
triads
into
the other
is also
the
rotation
that
relates
the two
underlying
Cartesian
coordinate
sys-
tems.
This
rotation
is easy
to find,
as we
show
below.
A. Selective
Discarding
Constraints
Let
the
coordinates
of the
three
points
in each
of the
two
coordinate
systems
be r
1
j, r
1
,
2
,
rl,
3
and
rr,,, rr,2,
rr,3,
respec-
tively.
Construct
Xi
= r
1
,
2
- rl,-
Then
XI
= xi/
1
xllf
is
a unit
vector
in the
direction
of the
new
x axis
in the
left-
hand system.
Now let
yj
= (rl,
3
-
rj,j) - [(rl,3
- r
1
,) . X
Fig. 2.
Three points
define
a triad.
Such
a triad can
be construct-
ed by
using
the left
measurements.
A
second
triad is
then con-
structed
from
the right
measurements.
The
required
coordinate
transformation
can be estimated
by finding
the
transformation
that
maps one
triad
into
the other.
This
method
does
not
use the
information
about
each
of the three
points
equally.
Berthold
K. P. Horn
r,
r
,P%,
剩余14页未读,继续阅读






安全验证
文档复制为VIP权益,开通VIP直接复制

评论0