Computer Ga
Computer Ga
Computer Ga
c 2002 Kluwer Academic Publishers. Manufactured in The Netherlands.
EDUARDO BAYRO-CORROCHANO
Centro de Investigación y de Estudios Avanzados, Cinvestav, Apartado Postal 31-438,
Plaza la Luna Guadalajara, Jal. 44550, Mexico
edb@gdl.cinvestav.mx
VLADIMIR BANARER
Christian Albrechts University, Computer Science Institute,
Preußerstraße 1-9, 24105 Kiel, Germany
vlb@ks.informatik.uni-kiel.de
Abstract. A central task of computer vision is to automatically recognize objects in real-world scenes. The
parameters defining image and object spaces can vary due to lighting conditions, camera calibration and viewing
position. It is therefore desirable to look for geometric properties of the object which remain invariant under
such changes in the observation parameters. The study of such geometric invariance is a field of active research.
This paper presents the theory and computation of projective invariants formed from points and lines using the
geometric algebra framework. This work shows that geometric algebra is a very elegant language for expressing
projective invariants using n views. The paper compares projective invariants involving two and three cameras using
simulated and real images. Illustrations of the application of such projective invariants in visual guided grasping,
camera self-localization and reconstruction of shape and motion complement the experimental part.
Keywords: computer vision, invariants, Clifford (geometric) algebra, projective geometry, 3D projective inva-
riants, visual guided robotics
given in [3, 17, 20, 21]. Geometric algebra provides section three outlines the projective geometry and the
a very natural language for projective geometry and protective split and section four algebra of incidence.
has all the necessary equipment for the tasks which the Section five explains the geometry of two and three un-
Grassmann-Cayley algebra is currently used for. The calibrated views. Sections six and seven are devoted
Grassmann-Cayley or double algebra [1, 5] is as system to the derivation of projective invariants using one, two
for computations with subspaces of finite-dimensional and three cameras respectively. Section eight com-
vector spaces. While it expresses the ideas of projec- pares experimentally these projective invariants using
tive geometry, such as the meet and join, very elegantly, simulated and real images. Section nine presents the
it lacks an inner (regressive) product (and indeed often applications: visual guided grasping and camera self-
goes to great lengths to ‘create’ an inner product) and localization. Section ten shows the computing of pro-
some other key concepts which we will discuss later. jective depth and section eleven the computation of 3D
The paper explains the geometric meaning of in- shape and motion. Finally, section twelve presents the
variants in terms of areas and volumes, and using the conclusions. In this paper vectors will be bold quan-
projective split, it relates the projective invariants of tities (except for basis vectors) and multivectors will
the 3D projective space to the invariants of the image not be bold. Lower case is used to denote vectors in
plane. This is the proper way to show that what is mea- 3D Euclidean space and upper case to denote vectors
sured is not what it is projected; the paper clarifies this in 4D projective space.
issue. In our opinion, this matter was not satisfacto-
rily explained by Carlsson and Csurka [5, 9]. Another 2. Geometric Algebra: An Outline
contribution of the paper is to extend the computation
of the projective invariants for the cases of three and The algebras of Clifford and Grassmann are well
four uncalibrated cameras. This has been done so far known to pure mathematicians, but were long ago aban-
only using two views [5, 9]. The use of the projective doned by physicists in favour of the vector algebra of
split is crucial in this kind of computation and it is one Gibbs—which is still most commonly used today. The
essential difference of the geometric, algebra approach approach to Clifford algebra we adopt here was pio-
to the approaches based on Grassmann-Cayley or dou- neered in the 1960’s by David Hestenes who has, since
ble algebras [5, 9]. Unfortunately, using Grassmann- then, worked on developing his version of Clifford
Cayley or double algebras it is not possible to resort to algebra—which will be referred to as geometric alge-
the projective split for various promising applications. bra (GA)—into a unifying language for mathematics
Another contribution of the paper is the extension of the and physics [14].
computation of the projective depth done by Triggs [31]
who used only two cameras; in this paper we present a 2.1. The Geometric Product and Multivectors
method of using invariants involving three uncalibrated
cameras. The geometric interpretation of the projec- Let Gn denote the geometric algebra of n-dimensions—
tive invariants as invariant relation of areas or volumes this is a graded linear space. As well as vector
appears very useful for tasks of object manipulation addition and scalar multiplication we have a non-
or robot navigation where we can compute the invari- commutative product which is associative and distribu-
ants using three uncalibrated cameras. In this regard tive over addition—this is the geometric or Clifford
the paper extends the work of Rotwel et al [28], and product. A further distinguishing feature of the alge-
Colios and Trahanias [8], who presented nicely how in- bra is that any vector squares to give a scalar. The
variants using monocular vision can be helpful for 3D geometric product of two vectors a and b is written ab
object recognition, manipulation and robot navigation. and can be expressed as a sum of its symmetric and
The same work can be done using our approach, with antisymmetric parts
the difference that now we can use invariants involving
three or four cameras. This is a much robuster method, ab = a · b + a ∧ b, (1)
as our experimental part in Section 8 shows: the effi-
where the inner product a·b and the outer product a∧b
ciency of the projective invariants increases when more
are defined by
camera views are involved.
The organization of the papers is as follows: section 1 1
a·b= (ab + ba) a∧b= (ab − ba). (2)
two presents a brief introduction in geometric algebra, 2 2
Geometric Approach for the Theory and Applications 133
Since the associative geometric algebra is defined by We now end this introductory section by giving a
the anti-commutative bilinear form given by Eq. (1), it very brief review of the geometric algebra approach to
comprises of symmetric and antisymmetric algebras. linear algebra. A more detailed review is found in [14].
The Grassmann-Cayley algebras are only antisymmet- Consider a linear function f which maps vectors
ric algebras of signature zero, as a result they do lack to vectors in the same space. We can extend f to
of spinors, which are very useful, for example, to com- act linearly on multivectors via the outermorphism, f ,
pute of homograpries in 2D and 3D. Geometric al- defining the action of f on blades by
gebra has many algebraic advantages for other tasks
beyond the projective geometry. Grassmann-Cayley f (a1 ∧ a2 ∧ · · · ∧ ar )
algebra, double algebra or bracket algebra have not = f (a1 ) ∧ f (a2 ) ∧ · · · ∧ f (ar ). (3)
the inner (regressive) product, thus they can no handle
projection to subspaces. In contrast, in geometric al- We use the term outermorphism because f preserves
gebra using the projective split we can reduce the com- the grade of any r -vector it acts on. We therefore know
putational complexity by projecting to lower dimen- that the pseudoscalar of the space must be mapped onto
sion spaces spanned by vector-, bivector or trivector some multiple of itself. The scale factor in this mapping
basis. is the determinant of f ;
The inner product of two vectors is the standard
scalar or dot product and produces a scalar. The outer f (I ) = det( f )I. (4)
or wedge product of two vectors is a new quantity we
call a bivector. We think of a bivector as a directed This is much simpler than many definitions of the de-
area in the plane containing a and b, formed by sweep- terminant enabling one to establish most properties of
ing a along b—see Fig. 1a. Thus, b ∧ a will have the determinants with little effort.
opposite orientation making the wedge product anti-
commutative as given in Eq. (2). The outer product is
2.2. Geometric Algebras for the Image Plane
immediately generalizable to higher dimensions—for
and Projective Space
example, (a∧b)∧c, a trivector, is interpreted as the ori-
ented volume formed by sweeping the area a ∧ b along
For the modeling of the image plane, we use the geo-
vector c—see Fig. 1b. The outer product of k vectors
metric algebra of the 3D Euclidean space G3,0,0, which
is a k-vector or k-blade, and such a quantity is said to
has the standard Euclidean signature and is generated
have grade k. A multivector is made up of a linear com-
by 23 = 8 multivector elements given by:
bination of objects of different grade, i.e. scalar plus
bivector etc. GA provides a means of manipulating
1 , {σ1 , σ2 , σ3 }, {σ1 σ2 , σ2 σ3 , σ3 σ1 }, {σ1 σ2 σ3 } ≡ I .
multivectors which allows us to keep track of different
scalar vectors bivectors trivector
grade objects simultaneously—much as one does with
complex number operations. For a general multivector (5)
X , the notation X will mean take the scalar part of
X. The highest grade element in a space is called the Here, bivectors can be interpreted as oriented areas and
pseudoscalar. The unit pseudoscalar is denoted by I trivectors as oriented voumes. Note that we will not use
and is crucial when discussing duality. bold for these basis vectors. The highest grade element
is a trivector called the unit pseudoscalar. It can easily
be verified that the pseudoscalar I = σ1 σ2 σ3 squares to
−1 and commutes with all multivectors (a multivector
is a general linear combination of any of the elements
in the algebra) in the 3D space. In a three-dimensionsal
space we can construct a trivector a ∧ b ∧ c, but no 4-
vectors exist, since there is no possibility of sweeping
the volume element a ∧ b ∧ c over a fourth dimension.
If we choose to map between projective space and
3D Euclidean space via the projective split, we are
Figure 1. (a) The directed area, or bivector, a ∧ b. (b) The oriented forced to use the 4D geometric algebra G1,3,0 for P 3
volume, or trivector, a ∧ b ∧ c. with Lorentzian metric.
134 Bayro-Corrochano and Banarer
The G1,3,0 geometric algebra has as its vector basis The basic projective geometry operations of meet
γ1 , γ2 , γ3 , γ4 , where γ42 = +1 and γk2 = −1 for k = and join are easily expressible in terms of standard op-
1, 2, 3. This then generates the following multivector erations within the geometric algebra. Firstly, to in-
basis: troduce the concepts of duality which are so important
in projective geometry, we define the dual A∗ of an
1 , γk , γ2 γ3 , γ3 γ1 , γ1 γ2 , γ4 γ1 , γ4 γ2 , γ4 γ3 ,
r -vector A as
scalar 4 vectors 6 bivectors
A∗ = AI−1 . (8)
I γk , I
. (6)
4 trivectors pseudoscalar In an n-dimensional geometric algebra one can define
the join J = A ∧ B of an r -vector, A, and an s-vector,
The pseudoscalar is I = γ1 γ2 γ3 γ4 , with B, by
I 2 = (γ1 γ2 γ3 γ4 )(γ1 γ2 γ3 γ4 ) = −(γ3 γ4 )(γ3 γ4 ) = −1. J = A∧B if A and B are linearly independent.
(7) (9)
Note that we use the same symbol for pseudoscalars of If A and B are not linearly independent the join is not
different geometric algebras, because it is understood given simply by the wedge but by the subspace that
that the pseudoscalar changes its dimension and signa- they span. J can be interpreted as a common dividend
ture for G1,3,0 and I 3 for G1,3,0 . of lowest grade and is defined up to a scale factor.
The fourth basis vector, γ4 , can also be seen as a It is easy to see that if (r + s) ≥ n then J will be
selected direction for the projective split [17] operation the pseudoscalar for the space. In what follows we
in 4D. We will see shortly that by carrying out the will use ∧ for the join only when the blades A and B
geometric product via γ4 , we can associate bivectors are not linearly independent, otherwise we will use the
of our 4D space with vectors of our 3D space. The role ordinary exterior product, ∧.
and use of the projective split operation will be treated If A and B have a common factor (i.e. there exists a
in more detail in next sections. k-vector C such that A = A C and B = B C for some
A , B ) then we can define the ‘intersection’ or meet of
A and B as A ∨ B where [15]
3. Projective Geometry and the Projective Split
(A ∨ B)∗ = A∗ ∧ B ∗ . (10)
Since about the mid 1980’s most of the computer vision
literature discussing geometry and invariants has used That is, the dual of the meet is given by the join of
the language of projective geometry (see appendix of the duals (a familiar result from classical projective
[25]). As any point on a ray from the optical centre geometry). The dual of (A ∨ B) is understood to be
of a camera will map to the same point in the cam- taken with respect to the join of A and B. In most cases
era image plane it is easy to see why a 2D view of a of practical interest this join will be the whole space
3D world might well be best expressed in projective and the meet is therefore easily computed. A more
space. In classical projective geometry one defines a useful expression for the meet is as follows
3D space, P 3 , whose points are in 1 − 1 correspon-
dence with lines through the origin in a 4D space, R 4 . A ∨ B = (A∗ ∧ B ∗ )I = (A∗ ∧ B ∗ )(I −1 I )I = (A∗ · B)
Similarly, k-dimensional subspaces of P 3 are identified (11)
with (k + 1)-dimensional subspaces of R 4 . Such pro-
jective views can provide very elegant descriptions of We therefore have the very simple and readily com-
the geometry of incidence (intersections, unions etc.). puted relation of A∨ B = (A∗ · B). The above concepts
The projective space, P 3 , has no metric, the basis and are discussed further in [15].
metric are introduced in the associated 4D space. In Points in real 3D space will be represented by vectors
this 4D space a coordinate description of a projective in E 3 , a 3D space with a Euclidean metric. As men-
point is conventionally brought about by using homo- tioned earlier, we find it useful to associate a point in E 3
geneous coordinates. Here we will briefly outline how with a line in a 4D space, R 4 . In these two distinct but
projective geometry looks in the GA framework. related spaces we define basis vectors: (γ1 , γ2 , γ3 , γ4 )
Geometric Approach for the Theory and Applications 135
L 12 = X1 ∧ X2 . (15)
σ1 ≡ γ1 γ4 , σ2 ≡ γ2 γ4 , σ3 ≡ γ3 γ4 . (12)
Any point P, represented in R 4 by X, on the line
To preserve the Euclidean structure of the spatial vec- through P1 and P2 , will satisfy the equation
tors {σi } (i.e. σi2 = +1) we are forced to assume a non-
Euclidean metric for the basis vectors in R 4 . We choose X ∧ L 12 = X ∧ X1 ∧ X2 = 0. (16)
to use γ42 = +1, γi = −1, i = 1, 2, 3. This process
of associating the higher and lower dimensional spaces This is therefore the equation of the line in R 4 . In
is an application of what Hestenes calls the projective general, such an equation is telling us that X belongs
split. to the subspace spanned by X1 and X2 —that is, that
For a vector X = X 1 γ1 + X 2 γ2 + X 3 γ3 + X 4 γ4 in R 4
the projective split is obtained by taking the geometric X = α1 X1 + α2 X2 (17)
product of X and γ4 ;
for some α1 , α2 . In computer vision we can use this
X ∧ γ4 equation as a geometric constraint to test whether a
Xγ4 = X · γ4 + X ∧ γ4 = X 4 1+
X4 point X lies on L 12 .
≡ X 4 (1 + x). (13) The plane
123 passing through points P1 , P2 , P3 is
expressed by the following trivector in R 4 :
Note that x contains terms of the form γ1 γ4 , γ2 γ4 , γ3 γ4
123 = X1 ∧ X2 ∧ X3 . (18)
or, via Eq. (12), terms in σ1 , σ2 , σ3 . We therefore asso-
ciated the vector x in E 3 with the bivector X ∧ γ4 / X 4
In 3D space there are generally three types of intersec-
in R 4 .
tions we wish to consider: the intersection of a line and
If we start with a vector x = x1 σ1 + x2 σ2 + x3 σ3 in
a plane, a plane and a plane, and a line and a line. To
E 3 , we can represent this in R 4 by the vector X =
compute these intersections, we will make use of the
X 1 γ1 + X 2 γ2 + X 3 γ3 + X 4 γ4 such that
following general formula [14], which gives the inner
product of an r -blade, Ar = a1 ∧ a2 ∧ · · · ∧ ar , and an
X ∧ γ4 X1 X2 X3 s-blade, Bs = b1 ∧ b2 ∧ · · · ∧ bs (for s ≤ r ):
x= = γ1 γ4 + γ2 γ4 + γ3 γ4
X4 X4 X4 X4
X1 X2 X3 Bs · (a1 ∧ a2 ∧ · · · ∧ ar )
= σ1 + σ2 + σ3 , (14)
X4 X4 X4 = ( j1 j2 . . . jr )Bs · (a j1 ∧ a j2 ∧ · · · ∧ a js )
j
⇒ x1 = XX4i , for i = 1, 2, 3. This process can therefore a js +1 ∧ · · · ∧ a jr (19)
be seen to be equivalent to using homogeneous coor-
dinates, X, for x. Thus, in this GA formulation we In the equation, we sum over all the combinations
postulate distinct spaces in which we represent ordi- j = ( j1 , j2 , . . . , jr ) such that no two jk ’s are the same.
nary 3D quantities and their 4D projective counterparts, If j is an even permutation of (1, 2, 3, . . . , r ), then the
together with a well-defined way of moving between expression ( j1 j2 . . . jr ) = +1, and it is an odd permu-
these spaces. tation if ( j1 j2 . . . jr ) = −1.
136 Bayro-Corrochano and Banarer
4.1. Intersection of a Line and a Plane As in the previous section, this expression can be ex-
panded as
In the space R 4 , consider the line A = X1 ∧ X2 inter-
secting the plane
= Y1 ∧ Y2 ∧ Y3 . We can com-
1 ∩
2 =
∗1 · (Y1 ∧ Y2 ∧ Y3 )
pute the intersection point using a meet operation, as = − {(
1 I ) · Y1 }(Y2 ∧ Y3 )
follows:
+ {(
1 I ) · Y2 }(Y3 ∧ Y1 )
A ∩
= (X1 ∧ X2 ) ∩ (Y1 ∧ Y2 ∧ Y3 ) + {(
1 I ) · Y3 }(Y1 ∧ Y2 ).
∗
= A ∩
= A ·
. (20)
Once again, the join covers the entire space and so
Here, we have used Eq. (11), and we note that in this the dual is easily formed. Following the arguments of
case the join covers the entire space. the previous section, we can show that (
1 I ) · Yi ≡
Note also that the pseudoscalar I4 in G1,3,0 for R 4 − [X1 X2 X3 Yi ], so that the meet is
squares to −1, that it commutes with bivectors but an-
1 ∩
2 = [X1 X2 X3 Y1 ](Y2 ∧ Y3 )
ticommutes with vectors and trivectors, and that its in-
verse is given by I4−1 = −I4 . Therefore, we can claim + [X1 X2 X3 Y2 ](Y3 ∧ Y1 )
that + [X1 X2 X3 Y3 ](Y1 ∧ Y2 ), (25)
A∗ ·
= (AI −1 ) ·
= −(AI ) ·
. (21) thus producing a line of intersection or bivector in R 4 .
Now, using Eq. (20), we can expand the meet, such that
4.3. Intersection of Two Lines
A ∩
= −(AI ) · (Y1 ∧ Y2 ∧ Y3 )
= −{(AI ) · (Y2 ∧ Y3 )}Y1 Two lines will intersect only if they are coplanar. This
means that their representations in R 4 , A = X1 ∧ X2 ,
+ {(AI ) · (Y3 ∧ Y1 )}Y2 and B = Y1 ∧ Y2 , will satisfy the equation
+ {(AI ) · (Y1 ∧ Y2 )}Y3 . (22)
A ∧ B = 0. (26)
Noting that (AI )·(Yi ∧Y j ) is a scalar, we can evaluate
Eq. (22) by taking scalar parts. For example, (AI ) · This fact suggests that the computation of the intersec-
(Y2 ∧ Y3 ) = I (X1 ∧ X2 )(Y2 ∧ Y3 ) = I (X1 ∧ X2 ∧ tion should be carried out in the 2D Euclidean space
Y2 ∧ Y3 ). From the definition of the bracket given which has an associated 3D projective counterpart R 3 .
earlier, we can see that if P = X1 ∧ X2 ∧ Y2 ∧ Y3 , In this plane, the intersection point is given by
then [P] = (X1 ∧ X2 ∧ Y2 ∧ Y3 )I4−1 . If we therefore
write [A1 A2 A3 A4 ] as a shorthand for the magnitude A ∩ B = A∗ · B = −(AI3 ) · (Y1 ∧ Y2 )
of the pseudoscalar formed from the four vectors, then = −{((AI3 ) · Y1 )Y2 − ((AI3 ) · Y2 )Y1 },
we can readily see that the meet reduces to
(27)
A ∩
= [X1 X2 Y2 Y3 ]Y1 + [X1 X2 Y3 Y1 ]Y2
where I3 is the pseudoscalar for R 3 . Once again, we
+ [X1 X2 Y1 Y2 ]Y3 , (23) evaluate ((AI3 ) · Yi ) by taking scalar parts:
1 ∩
2 = (X1 ∧ X2 ∧ X3 ) ∩ (Y1 ∧ Y2 ∧ Y3 ). (24) mean [A1 ∧ A2 ∧ A3 ]I3−1 . This equation is often an
Geometric Approach for the Theory and Applications 137
impractical means of performing the intersection of by taking advantage of the fact that the outer product
two lines. See [4] for a complete treatment of the inci- of these four vectors must disappear. Thus,
dence relations between points, lines, and planes in the
n-affine plane. A0 ∧ B0 ∧ A ∧ B = 0. (30)
A · γ4
αi = δi . (34)
Ai · γ4
so that
B
where b = i bi , with bi = Bi∧γ 4
i · γ4
. F is the standard fun-
Figure 2. Sketch of binocular projection of a world point. damental matrix that we would form from observations.
138 Bayro-Corrochano and Banarer
Eq. (40) tells us that we can write of the cross-ratio in the 3-D space and in the image
plane. Finally, we compute projective invariants using
Ti jk αi l Bj lkC = 0. (43) two and three cameras and applying the projective split.
liA = Ti jk l Bj lkC . (47) Therefore, the ratio of any trivector is invariant under
f 2 . To project down into E 2 , assuming that Xi γ3 =
Thus, we obtain the familiar equation which relates the Z i (1 + xi ) under the projective split, we then write
projected lines in the three views.
S2 I3−1 = X1 X2 X3 I3−1
6. 3-D Projective Invariants from Multiple Views = X1 γ3 γ3 X2 X3 γ3 γ3 I3−1
= Z 1 Z 2 Z 3 (1 + x1 )(1 − x2 )(1 + x3 )γ3 I3−1 ,
This section presents the point and line projective in- (51)
variants computable by means of n uncalibrated cam-
eras. First we introduce the computation of the cross- where the xi represent vectors in E 2 . We can only get a
ratio in 2D and 3D using the projective split. The use of scalar term from the expression within the brackets by
the projective split, which is based in the inner product, calculating the product of a vector, two spatial vectors,
is an advantage of the geometric algebra framework, and I3−1 , i.e.,
this cannot be done using Grassmann-Cayley algebra
or double algebra. We also explain how we can gener-
S2 I3−1 = Z 1 Z 2 Z 3 (x1 x3 − x1 x2 − x2 x3 )γ3 I3−1
ate geometric invariants using the Plücker-Grassmann
quadratic relation. We give a geometric interpretation = Z 1 Z 2 Z 3 {(x2 − x1 ) ∧ (x3 − x1 )}I2−1 . (52)
140 Bayro-Corrochano and Banarer
It is therefore clear that we must use multiples of the then a simple matter to show that one cannot consider
ratios in our calculations, so that the arbitrary scalars multiples of ratios such that the W factors cancel. It is,
Z i cancel. In the case of four points in a plane, there however, possible to do this if we have six points. One
are only four possible combinations of Z i Z j Z k and it example of such an invariant might be
is not possible to cancel all the Z ’s by multiplaying
two ratios of the form Xi ∧ X j ∧ Xk together. For five (X1 ∧ X2 ∧ X3 ∧ X4 )I4−1 (X4 ∧ X5 ∧ X2 ∧ X6 )I4−1
coplanar points {Xi }, i = 1, . . . , 5, however, there are Inv3 = .
(X1 ∧ X2 ∧ X4 ∧ X5 )I4−1 (X3 ∧ X4 ∧ X2 ∧ X6 )I4−1
several ways of achieving the desired cancellation. For
example, (56)
(X5 ∧ X4 ∧ X3 )I3−1 (X5 ∧ X2 ∧ X1 )I3−1 Using the arguments of the previous sections, we can
Inv2 = .
(X5 ∧ X1 ∧ X3 )I3−1 (X5 ∧ X2 ∧ X4 )I3−1 now write:
6.2. 3D Generalization of the Cross-Ratio where Vi jkl is the volume of the solid formed by the
four vertices xi , x j , xk , xl .
For general points in E 3 , we have seen that we move Conventionally, all of these invariants are well
up one dimension to compute in the 4D space R 4 . known, but we have outlined here a general process
For this dimension, the point x = xσ1 + yσ2 + zσ3 in which is straightforward and simple for generating pro-
E 3 is written as X = X γ1 + Y γ2 + Z γ3 + W γ4 where jective invariants in any dimension.
x = X/W, y = Y/W, z = Z/W . As before, a nonlinear
projective transformation in E 3 becomes a linear
transformation, described by the linear function f 3 6.3. Generation of Geometric Projective Invariants
in R 4 .
Let us consider 4-vectors in R 4 , {Xi }, i = 1, . . . , 4 We choose for the visual projective space P 3 the
and form the equation of a 4-vector: geometric algebra G1,3,0 and for the image or pro-
jective plane P 2 the geometric algebra G3,0,0 . Any
S3 = X1 ∧ X2 ∧ X3 ∧ X4 = λ3 I4 , (54) 3D point is written in G1,3,0 as Xn = X n γ1 + Yn γ2 +
Z n γ3 + Wn γ4 and its projected image point in G3,0,0
where I4 = γ1 γ2 γ3 γ4 is the pseudoscalar for R 4 . As as xn = xn σ1 + yn σ2 + z n σ3 , where xn = X n/Wn , yn =
before, S3 transforms to S3 under f 3 : Yn /Wn , z n = Z n/Wn . The 3-D projective basis con-
sists of four basis points and a fifth one for normal-
S3 = X1 ∧ X2 ∧ X3 ∧ X4 = det f 3 S3 . (55) ization: X1 = [1, 0, 0, 0]T , X2 = [0, 1, 0, 0]T , X3 =
[0, 0, 1, 0]T , X4 = [0, 0, 0, 1]T , X5 = [1, 1, 1, 1]T
The ratio of any two 4-vectors is therefore invariant and the 2-D projective basis comprises three basis
under f 3 and we must take multiples of these ratios to points and one for normalization: x1 = [1, 0, 0]T ,
ensure that the arbitrary scale factors Wi cancel. With x2 = [0, 1, 0]T , x3 = [0, 0, 1]T , x4 = [1, 1, 1]T . Using
five general points we see that there are five possibil- them we can express in terms of brackets for any 3D
ities for forming the combinations Wi W j Wk Wl . It is point its 3D projective coordinates X n , Yn , Z n and its
Geometric Approach for the Theory and Applications 141
[0216][2346] − [0236][1246] + [0246][1236] = 0,
0 w5 Y5 −y5 Z 5 (y5 − w5 )W5 [0315][2345] + [0325][1345] + [0345][1235] = 0,
w5 X 5 0 −x5 Z 5 (x5 − w5 )W5
[0416][2346] + [0426][1346] − [0436][1246] = 0,
0 w6 Y6 −y6 Z 6 (x5 − w5 )W5
(64)
0 −1
w6 Y6 −y6Z 6 (y6 − w6 )W6
X0
w6 X 6 (x6 − w6 )W6 Y0−1
0 −x6 Z 6 Here the points are indicated only with their sub-
−1 = 0, indices. It is easy to show that the brackets of im-
0 w7 Y7 −y7Z 7 (y7 − w7 )W7
Z0
age points can be written in the form [xi x j xk ] =
w7 Y7 0 −x7 Z 7 (x7 − w7 )W7 W0−1
wi w j wk [K ][X0 Xi X j Xk ], where [K] is the matrix of the
· · · · intrinsic parameters [23]. Now if in Eq. (64) we ex-
· · · · press all the brackets which have the point X0 in terms
· · · · of the brackets of image points and organize all the
bracket products as a 4 × 4 matrix we get the singular
(61)
matrix
where X 0 , Y0 , Z 0 , W0 are the coordinates of the view 0 [125][1345] [135][1245] [145][1235]
point. Since the matrix is of rank < 4, any determi- [216][2346] [236][1246] [246][1236]
0
nant of four rows becomes a zero. Considering as a
[315][2345] [325][1345] 0 [345][1235]
normalizing point (X 5 , Y5 , Z 5 , W5 ) = (1, 1, 1, 1) and
[416][2346] [426][1346] [436][1246] 0.
taking the determinant formed by the first four rows
of Eq. (61) we get the geometric constraint equation (65)
involving six points which was pointed out by Quan
[27] Note that the scalars wi w j wk [K ] in each matrix entry
cancell themselves. Now after taking the determinat of
these matrix and rearrange the terms conveniently, we
(w5 y6 − x5 y6 )X 6 Z 6 + (x5 y6 − x5 w6 )X 6 W6
obtain the following useful bracket polynom
+ (x5 w6 − y5 w6 )X 6 Y6 + (y5 x6 − w5 x6 )Y6 Z 6
+ y5 w6 − y5 x6 )Y6 W6 + (w5 x6 − w5 y6 )Z 6 W6 = 0 [125][346][1236][1246][1345][2345]
(62) − [126][345][1235][1245][1346][2346]
+ [135][246][1236][1245][1346][2345]
Carlsson [6] showed that the Eq. (62) can be also de- − [136][245][1235][1246][1345][2346]
rived using the Plücker-Grassmann relations. This can
be computed as the Laplace expansion of the 4 × 8 + [145][236][1235][1246][1346][2345]
rectangular matrix involving the same six points as − [146][235][1236][1245][1345][2346] = 0. (66)
142 Bayro-Corrochano and Banarer
where lines LiAj and LiBj are mappings of the line Li j If F is subsequently estimated by some method, then
onto the two image planes, results in the expression F̃ as defined in Eq. (76) will also act as a fundamental
matrix or bilinear constraint in R 4 . Now, let us look
[1234] = [A0 B0 A1234 B1234 ]. (73) again at the invariant Inv3F . As we demonstrated ealier,
we can write the invariant as
Here, A1234 and B1234 are the points of intersection of
A A B B
the lines L12 and L34 or L12 and L34 , respectively. These
points, lying on the image planes, can be expanded aT1234 Fb1234 aT4526 Fb4526 φ1234 φ4526
Inv3F = T (78)
using the mappings of three points Xi , say X1 , X2 , X3 , a1245 Fb1245 aT3426 Fb3426 φ1245 φ3426
to the image planes. In other words, considering A j
and B j , j = 1, 2, 3, as projective bases, we can expand
the vectors where φ pqr s = (A pqr s · γ4 )(B pqr s · γ4 ). Therefore, we
see that the ratio of the terms aT Fb, which resem-
A1234 = α1234,1 A1 + α1234,2 A2 + α1234,3 A3 bles the expression for the invariant in R 4 but uses
B1234 = β1234,1 B1 + β1234,2 B2 + β1234,3 B3 . only the observed coordinates and the estimated fun-
damental matrix, will not be an invariant. Instead, we
Then, using Eq. (36), we can express need to include the factors φ1234 , etc., which do not
cancel. They are formed as follows (see [17, 19]):
3 Since a3 , a4 , and a1234 are collinear, we can write
[1234] = F̃ij α1234,i β1234, j = α1234
T
F̃β 1234 , (74) a1234 = µ1234 a4 + (1 − µ1234 )a3 . Then, by express-
i, j=1 ing A1234 as the intersection of the line joining A1 and
A2 with the plane through A0 , A3 , A4 , we can use the
where F̃ is the fundamental matrix given in terms of projective split and equate terms, so that
the projective basis embedded in R 4 , and α1234 =
(α1234,1 , α1234,2 , α1234,3 ) and β 1234 = (β1234,1 , β1234,2 ,
β1234,3 ) are corresponding points. (A1234 · γ4 )(A4526 · γ4 ) µ1245 (µ3426 − 1)
= . (79)
The ratio (A3426 · γ4 )(A1245 · γ4 ) µ4526 (µ1234 − 1)
T
α F̃β 1234 αT4526 F̃β 4526
Inv3F = 1234 (75) Note that the values of µ are readily obtainable from
αT1245 F̃β 1245 αT3426 F̃β 3426 the images. The factors Bpqr s · γ4 are found in a similar
way, so that if b1234 = λ1234 b4 + (1 − λ1234 )b3 , etc., the
is therefore seen to be an invariant using the views of
overall expression for the invariant becomes
two cameras [5]. Note that Eq. (75) is invariant for
whichever values of the γ4 components of the vectors T
Ai , Bi , Xi , etc., are chosen. If we attempt to express T
a1234 Fb1234 a4526 Fb4526
the invariant of Eq. (75) in terms of what we actually Inv3F = T T .
a1245 Fb1245 a3426 Fb3426
observe, we may be tempted to express the invariant
µ1245 (µ3426 − 1)λ1245 (λ3426 − 1)
in terms of the homogeneous Cartesian image coordi- . (80)
nates ai s, bi s and the fundamental matrix F calculated µ4526 (µ1234 − 1)λ4526 (λ1234 − 1)
from these image coordinates. In order to avoid this,
it is necessary to transfer the computations of Eq. (75) In conclusion, given the coordinates of a set of six
carried out in R 4 to R 3 . Thus, corresponding points in two image planes, where these
if we define F̃ by six points are projections of arbitrary world points in
general position, we can form 3D projective invariants,
F̃kl = (Ak · γ4 )(Bl · γ4 )Fkl (76) provided we have some estimate of F.
144 Bayro-Corrochano and Banarer
7.2. Projective Invariant of Points Using Three In calculating the above invariant from observed quan-
Uncalibrated Cameras tities, we note, as before, that some correction factors
will be necessary: Eq. (84) is given above in terms
The technique used to form the 3D projective invariants of R 4 quantities. Fortunately, this correction is quite
for two views can be straightforwardly extended to give straightforward. By extrapolating from the results of
expressions for invariants of three views. Considering the previous section, we simply consider the α s terms
four world points X1 , X2 , X3 , X4 or two lines X1 ∧ X2 in Eq. (84) as unobservable quantities, and conversely
and X3 ∧ X4 projected onto three camera planes, we the line terms, such as L12 B
, LC34 are indeed observed
can write quantities. As a result, the expression must be modi-
fied, by using to some extent the coefficients computed
X1 ∧ X2 = A0 ∧ L12
A
∩ B0 ∧ L12B
in the previous section. Thus, for the unique four com-
binations of three cameras their invariant equations can
X3 ∧ X4 = A0 ∧ L34
A
∩ C0 ∧ LC34 .
be expressed as
Once again, we can combine the above expressions so
that they give an equation for the 4-vector X1 ∧ X2 ∧ Inv3T
X3 ∧ X4 , T a1234 , l12
B C
, l34 T a4526 , l25
B C
, l26 µ1245 (µ3426 − 1)
= .
T a1245 , l12
B C
, l45 T a3426 , l34
B C
, l26 µ4526 (µ1234 − 1)
X1 ∧ X2 ∧ X3 ∧ X4 = A0 ∧ L12
A
∩ B0 ∧ L12
B
(85)
∧ A0 ∧ L34 A
∩ C0 ∧ LC34
= (A0 ∧ A1234 ) ∧ B0 ∧ L12B
8. Experimental Analysis of Projective Invariants
∩ C0 ∧ LC34 . (81)
In this section we present results for the formation of
Then, by rewriting the lines L12 B
and LC34 in terms 3D projective invariants from two or three views on
of the line coordinates, we get L12 = 3j = 1 l12,
B B B
j Lj
both simulated and real data. The simulations (carried
3 out in Maple) involve generating four different sets,
and LC34 = j=1 l34,C C
j Lj . As has been shown in
subsection 5.2, the components of the trifocal tensor Si i = 1, . . . , 4, of 6 points;
(which takes the place of the fundamental matrix for
three views) can be written in geometric algebra as Si = Xi1 , Xi2 , Xi3 , Xi4 , Xi5 , Xi6
within some spatial volume. The volume was a spher-
T̃i jk = (A0 ∧ Ai ) ∧ B0 ∧ L Bj ∩ C0 ∧ LCk ,
ical region whose dimensions were around a tenth of
(82) the distance of the center of the volume from the cam-
era’s optical center. These sets of points are then
so that by using Eq. (81) we can derive: observed from four different viewpoints, so that the
four sets of image coordinates for set Si are given by
3
[X1 ∧ X2 ∧ X3 ∧ X4 ] = T̃i jk α1234,i l12,
B C si j , j = 1, . . . , 4;
j l 34,k
i, j,k=1
sij = xij1 , xij2 , xij3 , xij4 , xij5 , xij6
= T̃ (α1234 , L12
B
, LC34 ). (83)
For each set of 6 points the three linearly independent
The invariant Inv3 can then be expressed as invariants I 1 , I 2 , I 3 are formed, where these are the
standard invariants given as follows
T̃ α1234 , L12
B
, LC34 T̃ α4526 , L25
B
, LC26
Inv3T = . (84)
T̃ α1245 , L12
B
, LC45 T̃ α3426 , L34
B
, LC26 [X1 X2 X3 X4 ][X4 X5 X2 X6 ]
I1 =
[X1 X2 X4 X5 ][X3 X4 X2 X6 ]
Note that the factorization must be done so that the [X1 X2 X3 X5 ][X4 X5 X2 X6 ]
same line factorizations occur in both the numerator I2 = (86)
[X1 X2 X4 X5 ][X3 X5 X2 X6 ]
and denominator. We have thus developed an expres-
sion for invariants in three views that is a direct exten- [X1 X2 X3 X6 ][X6 X5 X2 X4 ]
I3 =
sion of the expression for invariants using two views. [X1 X2 X6 X5 ][X3 X6 X2 X4 ]
Geometric Approach for the Theory and Applications 145
Figure 5. The distance matrices (using F upper row and using T lower row) show the performance of the invariants with increasing Gaussian
noise σ (from left to right): 0.005, 0.015, 0.025 and 0.04.
These I s are formed using a) views 1 and 2, b) views invariants based on trilinearities is rather better than
2 and 3, c) views 1, 2 and 3 and d) views 2, 3 and 4-in those based on bilinearities.
a) and b) the fundamental matrix is calculated by linear In the case of real images we use a sequence of im-
means and in c) and d) the trifocal tensor is derived also ages taken by a moving robot equipped with a binocular
from a simple linear algorithm. Although these simple head. Figure 6 shows an example of images taken with
linear methods do not enforce the necessary constraints the left and right eyes. Image pairs, one from the left
on F and T , the resulting estimates were adequate for sequence and one from the right sequence were taken to
the purposes of the experiments shown here. form invariants using F. For the formation of invariants
These invariants of each set were represented as 3D using T , two from the left and one from the right se-
vectors, vi = [I1,i , I2,i , I3,i ]T . The comparison of the quence were used. 38 points were semi-automatically
invariants was done using ‘Euclidean distances’ of the taken and 6 sets of 6 general points were selected. The
vectors, d(vi , v j ), where vector of invariants for each set was formed using both
1 F and T and the set of distances found are shown in
v i · vj 2 Fig. 7 We again see that computing the invariants from
d(vi , vj ) = 1 − (87)
vi vj 3 views is more robust and useful than computing them
from 2 views—one would expect this from a theoretical
For any vi and v j the distance d(vi , v j ) lies between 0 viewpoint.
and 1 and it does not vary when vi or v j is multiplied
by a nonzero constant—this follows Hartley’s analysis 9. Applications
given in [13].
Figure 5 shows two sets of tables. The (i, j)th entry This section present a practical use of projective invari-
in the top left-hand box shows the distance, d(vi , v j ), ants using three views. The results will show that de-
between invariants for set Si formed from views 1 and spite certain noise sensitivity the projective invariants
2 and invariants for set S j formed from views 2 and they can be used for various tasks regardless camera
3, when Gaussian noise of σ = 0.005 was added to the calibration and ignoring a home coordinate system.
image points. The next boxes show the same thing
for increasing σ . The lower row shows the equivalent 9.1. Visual Guided Grasping
for invariants formed from three views using the ex-
pression given in Section 3; here the (i, j)th entry in Let us now apply simple geometric rules using meet or
the top right-hand box shows the distance, d(vi , v j ), join operations, invariants and points at infinity to the
between invariants for set Si formed from views task of grasping as depicted in Fig. 8(a). The grasp-
1–3, and invariants for set S j formed from views ing procedure uses only image points and it consists
2–4. Clearly, we would like the diagonal elements basically of the following four steps.
to be as close as possible to zero since the invariants
should be the same in all views in the zero noise case. 9.1.1. Parallel Orienting. Let us assume that the
The off-diagonal elements give some indication of the 3D points of Fig. 8 are observed by three cameras
usefulness of the invariants in distinguishing between A, B, C. The mapped points in the three cameras are
sets of points (we would like these to be as close to 1 {o Ai }, {g Ai }, {o Bi }, {g Bi } and {oCi }, {gCi }. In the projec-
as possible). We can see that the performance of the tive 3D space P 3 the three points at infinity Vx , Vy , Vz
146 Bayro-Corrochano and Banarer
Figure 6. Image sequence taken during navigation by the binocular head of a mobile robot. The upper and lower rows shows the left and right
eye images respectively.
Figure 7. The distance matrices show the performance of the computed invariants using bilinearities (left) and trilinearities (right) for the real
image sequence.
for the orthogonal corners of the object can be com- a) If the orthogonal edges of the grasper are parallel
puted as the meet of two parallel lines and similarly with the edges of the object, then
in the images planes the vanishing points vx , vy , vz are
computed as the meet of the two projected parallel lines (G1 ∧ G8 ) ∧ Vx = 0, (G1 ∧ G9 ) ∧ Vy = 0,
as well (G1 ∧ G2 ) ∧ Vz = 0. (89)
where j ∈ {A, B, C}. The parallelism in the projective [G1 G8 O1 O2 ] = 0, [G15 G16 O5 O8 ] = 0,
space P 3 can be checked in two ways: [G12 G13 O3 O4 ] = 0. (91)
Geometric Approach for the Theory and Applications 147
Figure 8. Grasping an object: a) Arbitrary position for grasping b) parallel orienting c) centering d) optimal grasping.
The conditions (91) can be expressed en terms the intersecting point of the parallel lines O j1 ∧ O j4 and
of image coordinates either using two cameras O j2 ∧ O j3 . For that we use the constraint: a point lies
(bilinear constraint) or three cameras (trifocal on a line if it is true that
tensor)
Co ∧ Cg ∧ Vz = 0. (95)
xTjg Fi j xi g1 g8 o1 o2 = 0,
1 g8 o1 o2
This equation computed using image points of a single
xTjg Fi j xi g15 g16 o5 o8 = 0, camera is given by
15 g16 o5 o8
9.1.2. Centering. After a first movement the grasper Since we want to use image points we can compute
should be parallel and centered in front of the object, this bracket straightforward either using two or three
see Fig. 8(b). The center points of the grasper and cameras employing the bilinear or trilinear constraint
object can be computed as follows respectively
We can then check whether the line crossing these cen- If the epipolar or trinocular geometry is known, it is
ter points encounters the point at infinity Vz which is always more accurate to use Eq. (98).
148 Bayro-Corrochano and Banarer
9.1.4. Holding the Object. The final step is to held Similarly permuting the six points like Eq. (60) we
the object correctly, see Fig. 8(d). This can be checked compute I yF , I yT and IzF , IzT . The compensating coeff-
using the invariant in terms of the trifocal tensor given icients for the invariants I y and Iz vary due to the per-
by Eq. (85). In this particular problem, the perfect con- muted points. We carried out simulations by increasing
dition will be when the invariant has the approximated noise. Figure 10 shows using two views or three views
value of 34 , for the case when the grasper is a bit away the deviation of the true optical center for three con-
of the control point X2 , X3 the invariant becomes the secutive positions of a moving camera. These curves
values for example of 68 or 56 . Note that the invariant el- show that the trinocular computation renders more ac-
egantly relates volumes indicating a particular relation- curate results as the binocular case. The Euclidean
ship between the points of the grasper and of the object. coordinates of the optical centers are gained applying
the transformation which relates the projective basis to
its a priori known Euclidean basis.
9.2. Camera Self-Localization
We will use now the Eq. (59) to compute the 3-D co- 10. Projective Depth
ordinates of a moving uncalibrated camera. For that,
we select first as a projective basis five fixed points In a geometric sense projective depth can be defined as
in the 3-D space X1 , X2 , X3 , X4 , X5 and consider the the relation between the distance from the view-center
unknown point X6 as the optical center of the moving of a 3D point Xi and the focal distance f , as depicted
camera, see Fig. 9. Assuming that the camera does not in Fig. 11.
moves on a plane the projection of the optical center X6 We can derive projective depth from a projective
of the first camera position corresponds to the epipole mapping of 3D points. According to the pinhole model,
in any of the subsequent views. We can then compute the coordinates of any point in the image plane are
the moving optical center using two cameras, obtained from the projection of the 3D point to the
three optical planes φ 1A , φ 2A , φ 3A . They are spanned by
X6 a trivector basis γi , γ j , γk and the coefficients tij . This
IxF =
W projective mapping in a matrix representation reads as
6T T
δ 2346 Fε2346 δ 1235 Fε1235 µ2345 λ2345 µ1236 λ1236
= T T .
δ 2345 Fε2345 δ 1236 Fε1236 µ2346 λ2346 µ1235 λ1235 1 X
x φA t11 t12 t13 t14
(99) Y
λx = y = φ 2A X = t21 t22 t23 t24
Z
1 φ 3A t31 t32 t33 t34
or using three cameras 1
X
r11 r12 r13 tx X
I xT = 6 f 0 0
W6
r21 r22 r23 t y Y
= 0 f 0 ,
jk α2346,i l 23, j l 46,k Tmnp α1235,m l 12,n l35, p µ2345 µ1236
TiABC r31 r32 r33 tz Z
B C ABC B C
= . 0 0 1
ABC α
2345,q l 23,r l 45,s Ttuv α1236,t l 12,u l 36,v µ2346 µ1235
B C ABC B C
Tqr s 0 0 0 1 1
(100) (101)
λ = Z. (103)
Zj
λj =
Wj
Figure 10. Performance of the computing of any three center of
view using F (higher spikes) and T. Range of the additive noise 0 to T a124 j , l12
B C
, l4 j T a1235 j , l12
B C
, l35 µ1245 µ123 j
0.4 of pixel. = · .
T a1245 , l12 , l45 T a123 j , l12
B C B C
, l3 j µ124 j µ1235
(104)
where the projective scale factor is called λ. Note that
the projective mapping is further expressed in terms In this way, we can successively compute the pro-
of a f , rotation, and translation components. Let us jective depths λi j of the j-points relating to the i-
attach the world coordinates to the view-center of the camera. We will use λij in Section 11, in which we
150 Bayro-Corrochano and Banarer
employ the join-image concept and singular value de- extension of Eq. (106), however, in terms of the trifocal
composition (SVD) for singular value decomposition or quadrifocal tensor is awkward and unpractical.
3D reconstruction.
Since this type of invariant can also be expressed in
terms of the quadrifocal tensor [17], we are also able 11.1. The Join-Image
to compute projective depth based on four cameras.
The Join-image J is nothing more than the intersec-
tions of optical rays and planes with points or lines in
11. Shape and Motion 3D projective space, as depicted in Fig. 13. The inter-
related geometry can be linearly expressed by the fun-
The orthographic and paraperspective factorization damental matrix and trifocal and quadrifocal tensors.
method for shape and motion using the affine camera In order to take into account the interrelated geom-
model was developed by Tomasi, Kanade, and Poelman etry, the projective reconstruction procedure should
[26, 30]. This method works for cameras viewing small bring together all the data of the individual images in a
and distant scenes, and thus for all scale factors of pro- geometrically coherent manner. We do this by consid-
jective depth λi j = 1. In the case of perspective im- ering the points X j for each i-camera,
ages, the scale factors λi j are unknown. According to
Triggs [31], all λi j satisfy a set of consistency recon- λi j xi j = Pi X j , (107)
struction equations of the so-called join-image. One
way to compute λi j is by using the epipolar constraint.
as the i-row points of a matrix of rank 4. For m cameras
If we use a matrix representation, this is given by
and n points, the 3m × n matrix J of the join-image is
given by
Fik λi j xi j = eik ∧ λk j xk j , (105)
which, after computing an inner product with eik ∧ xk j , λ11 x11 λ12 x12 λ13 x13 ··· λ1n x1n
gives the relation of projective depths for the j-point λ21 x21 λ22 x22 λ23 x23 ··· λ2n x2n
between camera i and k: λ31 x31 λ32 x32 λ33 x33 ··· λ3n x3n
λk j (eik ∧ xk j )Fik xi j J = · · · ··· · .
λk j = = . (106)
λi j (eik ∧ xk j )2 · · · ··· ·
· · · ··· ·
Considering the i-camera as a reference, we can nor-
malize λk j for all k-cameras and use λk j instead. If that λm1 xm1 λm2 xm2 λm3 xm3 · · · λmn xmn
is not the case, we can normalize between neighbor (108)
images in a chained relationship [31].
In Section 10, we presented a better procedure for For the ffine reconstruction procedure, the matrix is of
the computing of λi j involving three cameras. An rank 3. The matrix J of the join-image is therefore
Geometric Approach for the Theory and Applications 151
P1
The application of SVD to J gives
P2
P3
J3m×n = U3m×r Sr ×r Vn×r
T
, (109)
= · (X1 X2 X3 . . . Xn )4×n . (110)
where the columns of matrix Vn×r T
and U3m×r consti- ·
tute the orthonormal base for the input (co-kernel) and
·
output (range) spaces of J . In order to get a decompo-
sition in motion and shape of the projected point struc- Pm 3m×4
Figure 14. Reconstructed house using (a) noise-free observations and (b) noisy observations.
152 Bayro-Corrochano and Banarer
12. Conclusions
References
6. S. Carlsson, “Symmetry in perspective,” in Proceedings of the 19. J. Lasenby, E. Bayro-Corrochano, A.N. Lasenby, and G.
European Conference on Computer Vision, Freiburg, Germany, Sommer, “A new methodology for computing invariants in com-
1998, pp. 249–263. puter vision,” in Proceedings of the International Conference
7. W.K. Clifford, “Applications of Grassmann’s extensive algebra,” on Pattern Recognition (ICPR’96), Vienna, Aug. 1996, Vol. I,
Am. J. Math., Vol. 1878, pp. 350–358. pp. 334–338.
8. Ch.I. Colios and P.E. Trahanias, “Landmark identification based 20. J. Lasenby, E. Bayro-Corrochano, A.N. Lasenby, and G.
on projective and permutation invariant vectors,” in Proceed- Sommer, “A new framework for the computation of invari-
ings of the International Conference on Pattern Recognition ants and multiple-view constraints in computer vision,” in Pro-
(ICPR’2000), Barcelona, Sept. 3–7, Vol. 4, 2000, pp. 128–131. ceedings of the International Conference on Image Processing
9. G. Csurka and O. Faugeras, “Computing three dimensional (ICIP), Lausanne, Sept. 1996, Vol. II, pp. 313–316.
project invariants from a pair of images using the Grassmann- 21. J. Lasenby, A.N. Lasenby, Lasenby, C.J.L. Doran, and W.J.
Cayley algebra,” Journal of Image and Vision Computing, Fitzgerald, “New geometric methods for computer vision—an
Vol. 16, pp. 3–12, 1998. application to structure and motion estimation,” International
10. H. Grassmann, “Der ort der Hamilton’schen quaternionen in der Journal of Computer Vision, Vol. 26, No. 3, pp. 191–213, 1998.
ausdehnungslehre,” Math. Ann., Vol. 12, p. 375, 1877. 22. Q.T. Luong and O.D. Faugeras, “The fundamental matrix:
11. R.I. Hartley, “Lines and points in three views—a unified ap- Theory, algorithms, and stability analysis,” Int. J. Comput.
proach,” in ARPA Image Understanding Workshop, Monterey, Vision, Vol. 17, No. 1, pp. 43–76, 1995.
California, 1994. 23. J. Mundy, “Object recognition based on geometry: Progress
12. R.I. Hartley, “The quadrifocal tensor,” in ECCV98. LNCS, over three decades,” Phil. Trans. Roy. Soc. A, J. Lasenby,
Springer-Verlag: Berlin, 1998. A. Zisserman, R. Cipolla, and H.C. Longuet-Higgins (Eds.),
13. R.I. Hartley, “Projective reconstruction and invariants from mul- Vol. 356, 1998, pp. 1213–1229.
tiple images,” IEEE Trans. PAMI, Vol. 16, No.10, pp. 1036– 24. J. Mundy and A. Zisserman (Eds.), Geometric Invariance in
1041, 1994. Computer Vision, MIT Press: Cambridge, MA, 1992.
14. D. Hestenes and G. Sobczyk, “Clifford algebra to geometric 25. C.J. Poelman and T. Kanade, “A paraperspective factorization
calculus: A unified language for mathematics and physics,” D. method for shape and motion recovery,” in J-O. Eklundh (Ed.),
Reidel: Dordrecht, 1984. European Conference on Computer Vision, Stockholm, 1994,
15. D. Hestenes and R. Ziegler, “Projective geometry with Clifford pp. 97–108.
algebra,” Acta Applicandae Mathematicae, Vol. 23, pp. 25–63, 26. L. Quan, “Invariants of 6 points from 3 uncalibrated images,” in
1991. Proc. of the European Conference of Computer Vision, Vol. II,
16. J. Lasenby, “Geometric algebra: Applications in engineering,” 1994, pp. 459–470.
in Clifford (Geometric) Algebras: with Applications in Physics, 27. C.A. Rothwell, D.A. Forsyth, A. Zisserman, and J.L. Mumndy,
Mathematics and Engineering, W. Baylis (Ed.), Birkhauser: “Extracting projective structure from single perspective views
Boston, 1996, pp. 423–440. of 3D point sets,” in Proc. of the 4th Int. Conf. Computer Vision,
17. J. Lasenby and E. Bayro-Corrochano, “Computing invariants ICCV’93, 1993, pp. 573–582.
in computer vision using geometric algebra,” Technical Report 28. A. Shashua and M. Werman, “Trilinearity of three perspective
CUED/F-INENG/TR.244, Cambridge University Engineering views and its associated tensor,” in Proceedings of ICCV’95,
Department, Cambridge, UK, 1998. MIT, 1995.
18. J. Lasenby and E. Bayro-Corrochano, “Analysis and computa- 29. C. Tomasi and T. Kanade, “Shape and motion from image
tion of projective invariants from multiple views in the geometric streams under orthography: A factorization method,” Int. J.
algebra framework,” in Special Issue on Invariants for Pattern Computer Vision, Vol. 9, No. 2, pp. 137–154, 1992.
Recognition and Classification, M.A. Rodrigues (Ed.), Int. Jour- 30. W. Triggs, “Matching constraints and the joint image,” in IEEE
nal of Pattern Recognition and Artificial Intelligence, Vol. 13, Computer Society Press, Proceedings of the Int. Conference of
No. 8, 1999, pp. 1105–1121. Computer Vision ICCV’95, Boston, 1995, pp. 338–343.