Computer Ga

Download as pdf or txt
Download as pdf or txt
You are on page 1of 24

Journal of Mathematical Imaging and Vision 16: 131–154, 2002


c 2002 Kluwer Academic Publishers. Manufactured in The Netherlands.

A Geometric Approach for the Theory and Applications


of 3D Projective Invariants

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

1. Introduction invariants, Lie algebra approaches, etc., although only


projective invariants from points in 1, 2 and 3D will be
The concept of invariance has been of interest in many discussed here.
areas of computer vision. The scope of geometric in- Geometric algebra is a coordinate-free approach to
variance was captured in the volume [25]. Invariance geometry based on the algebras of Grassmann [10]
has been widely used for object recognition, matching and Clifford [7]. The algebra is defined on a space
and reconstruction [24, 28]. Indeed, the currently fash- whose elements are called multivectors; a multivector
ionable topic of camera self-calibration can be cast in is a linear combination of objects of different type, e.g.
terms of looking for entities which are invariant under scalars and vectors. It has an associative and fully in-
the class of similitudes. Thus, the study of invariants vertible product called the geometric or Clifford prod-
remains one of fundamental interest in computer vi- uct. The existence of such a product and the calculus
sion. In this paper we will outline the use of geometric associated with the geometric algebra give the system
algebra (GA) in establishing a framework in which in- tremendous power. Some preliminary applications of
variants can be derived and calculated. An important geometric algebra in the field of computer vision have
point to note here is that the same framework and ap- already been given. [2, 16, 19], and here we would
proach can be used for extensions such as differential like to extend the discussion of geometric invariance
132 Bayro-Corrochano and Banarer

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

in R 4 and (σ1 , σ2 , σ3 ) in E 3 . We identify R 4 and E 3 with 4. Algebra in Projective Space


the GAs of 4 and 3 dimensions, G(1,3,0) and G(3,0,0) (here
G( p,q,r ) is a p+q +r -dimensional GA in which p, q and Having introduced duality, defined the operations of
r basis vectors square to +1, −1 and 0 respectively). meet and join, and given the geometric approach to
We require that vectors, bivectors and trivectors in R 4 linear algebra, we are now ready to carry out geometric
will represent points, lines and planes in E 3 . Suppose computations using the algebra of incidence.
we choose γ4 as a selected direction in R 4 , we can Consider three non-collinear points, P1 , P2 , P3 , rep-
then define a mapping which associates the bivectors resented by vectors x1 , x2 , x3 in E 3 and by vectors
γi γ4 , i = 1, 2, 3, in R 4 with the vectors σi , i = 1, 2, 3, X1 , X2 , X3 in R 4 . The line L 12 joining points P1 and
in E 3 ; P2 can be expressed in R 4 by the bivector

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:

thus giving the intersection point (vector in R 4 ). (AI3 ) · Yi = X1 X2 I3 Yi = I3 X1 X2 Yi


= −[X1 X2 Yi ]. (28)
4.2. Intersection of Two Planes
The meet can therefore be written as
The line of intersection of two planes,
1 = X1 ∧ X2 ∧
X3 and
2 = Y1 ∧ Y2 ∧ Y3 , can be computed via the A ∩ B = [X1 X2 Y1 ]Y2 − [X1 X2 Y2 ]Y1 , (29)
meet of
1 and
2 :
where the bracket [A1 A2 A3 ] in R 3 is understood to

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)

5. Visual Geometry of Uncalibrated Cameras Now, if we let A = αi Ai and B = β j B j , then equation


(30) can be written as
In this section we will analyze the constraints related
to the geometry of uncalibrated cameras. For two and αi β j {A0 ∧ B0 ∧ Ai ∧ B j } = 0. (31)
three views, the epipolar geometry is defined in terms of
bilinear and trilinear constraints. Since the constraints Defining F̃i j = {A0 ∧B0 ∧Ai ∧B j }I −1 ≡ [A0 B0 Ai B j ]
are based on the coplanarity of lines, we will only be gives us
able to define relationships expressed by a single tensor
for up to four cameras. For more than four cameras,
the constraints are linear combinations of bilinearities, F̃i j αi β j = 0, (32)
trilinearities, and quadrilinearities.
which corresponds in R 4 to the well-known relation-
ship between the components of the fundamental ma-
5.1. Geometry of Two Views trix [23] or the bilinear constraint in E 3 , F, and the
image coordinates [23]. This suggests that F̃ can be
In this and subsequent sections we will work in projec- seen as a linear function mapping two vectors onto a
tive space R 4 , although a return to 3D Euclidean space scalar:
will be necessary when we discuss invariants in terms
of image coordinates; this will be done via the projec-
F̃(A, B) = {A0 ∧ B0 ∧ A ∧ B}I −1 , (33)
tive split. Figure 2 shows a world point X projecting
onto points A and B in the two image planes φ A and
φ B , respectively. so that F̃i j = F̃(Ai , B j ). Note that viewing the funda-
The so-called epipoles EAB and EBA correspond to mental matrix as a linear function means that we have
the intersections of the line joining the optical centers a coordinate-independent description. Now, if we use
with the image planes. Since the points A0 , B0 , A , B the projective split to associate our point A = αi Ai in
are coplanar, we can formulate the bilinear constraint the image plane with its E 3 representation a = δi ai ,
A 4
where ai = Ai∧γ i · γ4
, it is not difficult to see that the coef-
ficients are expressed as follows:

A · γ4
αi = δi . (34)
Ai · γ4

Thus, we are able to relate our 4D fundamental matrix


F̃ to an observed fundamental matrix F in the follow-
ing manner:

F̃kl = (Ak · γ4 )(Bl · γ4 )Fkl , (35)

so that

αk F̃kl βl = (A · γ4 )(B · γ4 )δk Fkl l , (36)

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

5.2. Geometry of Three Views X2 , respectively. We therefore have

The so-called trilinear constraint captures the geo- L 1 ∧ L 12 = 0 and L 2 ∧ L 12 = 0, (39)


metric relationships existing between points and lines
in three camera views. Figure 3 shows three im- which can then be written as
age planes φ A , φ B , and φC with bases {Ai }, {Bi }, and (A0 ∧ Ai ) ∧ {(B0 ∧ L B ) ∩ (C0 ∧ L C )} = 0
{Ci } and optical centers A0 , B0 , C0 . Intersections of
two world points Xi with the planes occur at points for i = 1, 2. (40)
Ai , Bi , Ci , i = 1, 2. The line joining the world points
This suggests that we should define a linear function
is L 12 = X1 ∧ X2 , and the projected lines are denoted
T which maps a point and two lines onto a scalar as
by L A , L B , and L C .
follows:
We first define three planes:
T (A , L B , L C ) = (A0 ∧ A ) ∧

A = A0 ∧ A1 ∧ A2 ,
B = B0 ∧ B1 ∧ B2 ,
{(B0 ∧ L B ) ∩ (C0 ∧ L C )}. (41)

C = C0 ∧ C1 ∧ C2 . (37)
Now, using the line bases of the planes B and C, we
It is clear that L 12 can be formed by intersecting
B can write
and
C :
A = αi Ai , L B = l Bj L Bj L C = lkC L Ck . (42)
L 12 =
B ∩
C = (B0 ∧ L B ) ∩ (C0 ∧ L C ). (38)
If we define the components of a tensor as Ti jk =
If L A1 = A0 ∧ A1 and L A2 = A0 ∧ A2 , then we can T (Ai , L Bj , L Ck ), and if A , L B , and L C are all derived
easily see that L 1 and L 2 intersect with L 12 at X1 and from projections of the same two world points then

Figure 3. Model of the trinocular projection of the visual 3D space.


Geometric Approach for the Theory and Applications 139

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.

T is the trifocal tensor [12, 29] and Eq. (43) is the


6.1. 2D Generalization of the Cross-Ratio
trilinear constraint. In [11, 29] this constraint was
arrived at by consideration of camera matrices; hare,
When we consider points in a plane, we once move up
however, Eq. (43) is arrived at from purely geometric
to a space with one higher dimension, which we shall
considerations, namely, that two planes intersect in a
call R 3 . Let a point P in the plane M be described by the
line, which in turn intersects with another line. To
vector x in E 2 , where x = xσ1 + yσ2 . In R 3 this point
see how we relate the three projected lines, we express
will be represented by X = X γ1 + Y γ2 + Z γ3 , where
the line in image plane φ A joining A1 and A2 as the
x = X/Z and y = Y/Z . We can define a general projec-
intersection of the plane joining A0 to the world line
tive transformation via a linear function f 2 by mapping
L 12 with the image plane
A = A1 ∧ A2 ∧ A3 :
vectors to vectors in R 3 , such that
L A = A1 ∧ A2 = (A0 ∧ L 12 ) ∩
A . (44)
f 2 (γ1 ) = α1 γ1 + α2 γ2 + α̃γ3
Considering L 12 as the meet of the planes
B ∨
C f 2 (γ2 ) = β1 γ1 + β2 γ2 + β̃γ3
and using the expansions of L A , L B , and L C given in
f 2 (γ3 ) = δ1 γ1 + δ2 γ2 + δ̃γ3 . (48)
Eq. (42), we can rewrite this equation as

Now, consider three vectors (representing non-
liA LiA = (A0 ∧ Ai ) ∧ l Bj lkC B0 ∧ L Bj
collinear points) Xi , i = 1, 2, 3, in R 3 , and form the
∩ C0 ∧ L Ck ∩
A. (45) trivector

Using the expansion of the meet given in Eq. (25), we S2 = X1 ∧ X2 ∧ X3 = λ2 I3 , (49)


have

where I3 = γ1 γ2 γ3 is the pseudoscalar for R 3 . As be-
liA L iA = (A0 ∧ Ai ) ∧ l Bj lkC B0 ∧ L Bj fore, under the projective transformation given by
 A f 2 , S2 transforms to S2 , where
∩ C0 ∧ L Ck Li , (46)

which, when we equate coefficients, gives S2 = det f 2 S2 . (50)

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:

According to Eq. (52), we can interpret this ratio in E 2 (X1 ∧ X2 ∧ X3 ∧ X4 )I4−1


as
≡ W1 W2 W3 W4 {(x2 − x1 ) ∧
(x5 − x4 ) ∧ (x5 − x3 )I2−1 (x5 − x2 ) ∧ (x5 − x1 )I2−1 (x3 − x1 ) ∧ (x4 − x1 )}I3−1 . (57)
Inv2 =
(x5 − x1 ) ∧ (x5 − x3 )I2−1 (x5 − x2 ) ∧ (x5 − x4 )I2−1
A543 A521
= , (53) We can therefore see that the invariant Inv3 is the 3D
A513 A524
equivalent of the 1D cross-ratio and consists of ratios
of volumes,
where 12 Ai jk is the area of the triangle defined by the
three vertices xi , x j , xk . This invariant is regarded as
V1234 V4526
the 2D generalization of the 1D cross-ratio. Inv3 = , (58)
V1245 V3426

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

2D projected coordinates xn , yn as well above

Xn [234n][1235] Yn [134n][1235] [X1 , X2 , X3 , X4 , X5 , X5 , X6 , X7 ]


= , = ,
Wn [2345][123n] Wn [1345][123n] = [X0 , X1 , X2 , X3 ][X4 , X5 , X6 , X7 ]
Zn [124n][1235] − [X0 , X1 , X2 , X4 ][X3 , X5 , X6 , X7 ]
= . (59)
Wn [1245][123n] + [X0 , X1 , X2 , X5 ][X3 , X4 , X6 , X7 ]
xn [23n][124] yn [13n][124]
= , = . (60) − [X0 , X1 , X2 , X6 ][X3 , X4 , X5 , X7 ]
wn [234][12n] wn [134][12n]
+ [X0 , X1 , X2 , X7 ][X3 , X4 , X5 , X6 ] = 0. (63)
These equations are projective invariants relations and
they will be used to compute the position of a moving Using four functions like Eq. (63) in terms of permu-
camera in subsection 9.2. tations of eight points, we get an expression where the
The projective structure and its projection on the brackets having two identical points vanish
2-D image is related according the following geometric
constraint [0152][1345] − [0153][1245] + [0154][1235] = 0,

 
[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

The constraint (66) makes always sure that the


Wi W j Wk Wl constants are canceled. Furthermore, ac-
cording Eqs. (53–58), we can interpret nicely the in-
variant Inv, the equivalent of the 1-D cross-ratio, in P 3
as ratios of volumes and in P 2 as rations of triangle
areas
V1245 V1346 A125 A346
Inv = = . (71)
V1246 V1345 A135 A246
Figure 4. Grasping a box.
In other words We can also see this invariant in P 3
Surprisingly this bracket expression is exactly the as the relation of 4-vectors or volumes build by points
shape constraint for six points given by Quan [27] lying on a quadric which projected in P 2 represents an
invariant build by areas of triangles encircled by conics.
i 1 I1 + i 2 I2 + i 3 I3 + i 4 I4 + i 5 I5 + i 6 I6 = 0, (67) For example utilizing this invariant we can check
whether or not the grasper is holding the box correctly,
where the i 1 = [125][346], i 2 = [126][345], i 3 = . . . see Fig. 4. Note that using the observed 3-D points
and and I1 = [1236][1246][1345][2345], I2 = . . . are in the image we can compute this invariant and see
the relative linear invariants in P 2 and P 3 respectively. if the relation of the triangle areas corresponds with
Using the shape constraint we are now ready to de- the appropriate relation for firm grasping, i.e. if the
rive invariants for different purpose. Let us illustrate grasper is away the invariant has different value than
this with and example. According the Fig. 4 there is a the invariant value if the points X1 , X5 of the grasper
configuration of six points which indicates whether or as required are near to the objects points X2 , X3 .
not the end-effector is grasping properly. To test this
situation we can use an invariant generated from the
constraint of Eq. (66). In this particular situation we 7. 3D Projective Invariants from Multiple Views
recognize two planes, thus [1235] = 0 and [2346] = 0.
Substituting these six points in Eq. (66) some brackets In the previous section the projective invariant was ex-
vanish reducing the equation to plained within the context of homogeneous projective
coordinates derived from a single image. Since, in
[125][346][1236][1246][1345][2345] general, objects in 3D space are observed from dif-
ferent positions, it would be convenient to be able to
− [135][246][1236][1245][1346][2345] = 0 extend the projective invariant in terms of the linear
[125][346][1246][1345] constraints imposed by the geometry of two, three, or
− [135][246][1245][1346] = 0 (68) more cameras.

or 7.1. Projective Invariants Using Two Views


Inv Let us consider a 3D projective invariant derived from
(X1 ∧ X2 ∧ X4 ∧ X5 )I4−1 (X1 ∧ X3 ∧ X4 ∧ X6 )I4−1 Eq. (66):
=
(X1 ∧ X2 ∧ X4 ∧ X6 )I4−1 (X1 ∧ X3 ∧ X4 ∧ X5 )I4−1
[X1 X2 X3 X4 ][X4 X5 X2 X6 ]
(x1 ∧ x2 ∧ x5 )I3−1 (x3 ∧ x4 ∧ x6 )I3−1 Inv3 = . (72)
= . (69) [X1 X2 X4 X5 ][X3 X4 X2 X6 ]
(x1 ∧ x3 ∧ x5 )I3−1 (x2 ∧ x4 ∧ x6 )I3 −1

The computation of the bracket


In this equation any bracket of P 3 after the projective
mapping fulfills [1234] = (X1 ∧ X2 ∧ X3 ∧ X4 )I4−1

(X1 ∧ X2 ∧ X4 ∧ X5 )I4−1 = ((X1 ∧ X2 ) ∧ (X3 ∧ X4 ))I4−1

≡ W1 W2 W4 W5 {(x2 − x1 ) ∧ (x4 − x1 ) ∧ of four points from R 4 , mapped onto camera-images


(x5 − x1 )}I3−1 , (70) with optical centers A0 and B0 , suggests the use of
Geometric Approach for the Theory and Applications 143

a binocular model based on incidence algebra tech- Ai ·γ4


and consider the relationships αij = a
Aj ·γ4 ij
and β ij =
niques, as discussed in [4]. Defining the lines Bi ·γ4
b , we can claim
B j ·γ4 ij

L12 = X1 ∧ X2 = A0 ∧ L12
A
∨ B0 ∧ L12
B
αi j F̃kl βil = (Ai · γ4 )(Bi · γ4 )aik Fkl bil . (77)
L34 = X3 ∧ X4 = A0 ∧ L34
A
∨ B0 ∧ L34
B
,

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)

Vx = (O1 ∧ O2 ) ∨ (O5 ∧ O6 ) The conditions (89) using the points of a single


camera can be expressed as
v jx = o j1 ∧ o j2 ∨ o j5 ∧ o j6 ,
 
V y = (O1 ∧ O5 ) ∨ (O2 ∧ O6 ) gi1 gi8 vix = 0, gi1 gi9 viy = 0,
(88) 
v jy = o j1 ∧ o j5 ∨ o j2 ∧ o j6 ), gi1 gi2 viz = 0. (90)
Vx = (O1 ∧ O4 ) ∨ (O2 ∧ O3 )
b) If the perpendicular planes of the grasper and those
v jz = o j1 ∧ o j4 ∨ o j2 ∧ o j3 , of the object are parallel, then

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

xTjg Fi j xi g12 g13 o3 o4 = 0, (92) 


12 g13 o3 o4 cio ci g vi z = 0. (96)
Ti jk xi g1 g8 o1 o2 l jg1 g8 lko1 o2 = 0,
9.1.3. Grasping. We can detect the grasping situation
Ti jk xi g15 g16 o5 o8 l jg15 g16 lko5 o8 = 0,
when the plane of the grasper touches the plane of the
Ti jk xi g12 g13 o3 o4 l jg12 g13 lko3 o4 = 0. (93) object. This can be checked using the coplanar plane
condition as follows
If the trinocular geometry is known, it is always
more accurate to use Eq. (93). [Co Cg o1 o2 ] = 0. (97)

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

Co = (O1 ∧ O6 ) ∨ (O2 ∧ O5 ), xTjco cg o o Fi j xico cg o1 o2 = 0,


(94) 1 2
(98)
Cg = (G1 ∧ G16 ) ∨ (G8 ∧ G9 ). Ti jk xico cg o1 o2 l jco cg lko1 o2 = 0.

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)

Figure 9. Computing the center of views of a moving camera.


Geometric Approach for the Theory and Applications 149

Figure 11. Geometric interpretation of projective depth.

camera. The resultant projective mapping becomes


 
  X
f 0 0 0  
 Y 
λx =  0 f 0 0    ≡ PX. (102)
Z 
0 0 1 0
1

We can then straightforwardly compute

λ = Z. (103)

The method for computing the projective depth (≡ λ)


of a 3D point appears simple using invariant theory,
namely, using Eq. (59). For this computation, we select
a basis system, taking four 3D points in general position
X1 , X2 , X3 , X5 , and the optical center of camera at the
new position as the four point X4 , and X6 as the 3D
point which has to be reconstructed. This process is
shown in Fig. 12.
Since we are using mapped points, we consider the
epipole (mapping of the current view-center) to be the
fourth point and the mapped sixth point to be the point
with unknown depth. The other mapped basis points
remain constant during the procedure.
According to Eq. (59), the tensor-based expression
for the computation of the third coordinate, or projec-
tive depth, of a point X j (= X6 ) is given by

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

Figure 12. Computing the projective depths of n cameras.

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

Figure 13. Geometry of the join-image.

amenable to a singular value decomposition for the T


ture, Sr ×r can be absorbed into both matrices, Vn×r and
computation of the shape and motion [26, 30]. U3m×r , as follows:
 1  1 
11.2. The SVD Method J3m×n = U3m×r Sr2×r Sr2×r Vn×r
T

 
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

Using this method to divide Sr ×r is not unique. Since


the rank of J is 4, we should use the first four biggest
singular values for Sr ×r . The matrices Pi correspond to
the projective mappings or motion from the projective
space to the individual images, and X j represents the
point structure or shape. We can test our approach by
using a simulation program written in Maple. Using the
method described in Section 10, We first compute the
projective depth of the points of a wire house observed
with nine cameras, and we then use SVD to obtain the
house’s shape and motion. The reconstructed house,
after the Euclidean readjustment for the presentation,
is shown in Fig. 14.
We note that the reconstruction preserves the original
form of the model quite well.
In the following section, we will show how to im-
prove the shape of the reconstructed model by using the
geometric expressions ∩ (meet) and ∧ (join) from the
algebra of incidence along with particular tensor-based
invariants.

11.3. Completion of the 3D Shape Using


Geometric Invariants

Projective structure can be improved in one of two


ways: (1) by adding points on the images, expanding
the join- image, and then applying the SVD procedure;
or (2) after the reconstruction is done, by computing
new or occluded 3D space points. Both approaches can
use, on the one hand, geometric inference rules based
on symmetries, or on the other, concrete knowledge
about the object. Using three real views of a similar
model house with its rightmost lower corner missing
(see Fig. 15(b)), we computed in each image the virtual
image point of this 3D point. Then we reconstructed
the scene, as shown in Fig. 15(c). We also tried using
geometric incidence operations to complete the house,
employing space points as depicted in Fig. 15(d). The
figures show that creating points in the images yields a
better reconstruction of the occluded point. Note that
in the reconstructed image we transformed the projec-
tive shape into a Euclidean one for the presentation of
the results. We also used lines to connect the recon-
structed points but only so as to make the form of the
house visible. Similarly, we used the same procedures
to reconstruct the house using nine images. The results
are presented in Fig. 16(a–d).
The figure shows that the resulting reconstructed Figure 15. 3D reconstruction using three images: (a) one of the
point is virtually the same in both cases, which allows three images; (b) reconstructed incomplete house using three images;
us to conclude that for a limited number of views the (c) extending the join-image; (d) completing in the 3D space.
Geometric Approach for the Theory and Applications 153

join- image procedure is preferable, but for the case of


several images, an extension of the point structure in
the 3D space is preferable.

12. Conclusions

This paper has presented a brief introduction to the


techniques of geometric algebra and shown how they
can be used in the algebra of incidence and in the for-
mation and computation of projective invariants from
n views. Analyzing problems using geometric algebra
provides the enormous advantage of working in a sys-
tem which has very powerful associated linear algebra
and calculus frameworks and which can be used for
most areas of computer vision.
This work focused on the study and application of
projective invariants computed using two and three
cameras. We conducted experiments using simulated
and real images to compare projective invariants using
two or three uncalibrated cameras. As applications we
design geometric rules for conducting a task of visual
guided grasping and We also presented the computation
of the view center of a moving camera. The authors
believe however that more work have to be done in
order to improve the computational algorithms so that
the use of projective invariants will be more and more
attractive for real systems involving noisy data.

References

1. M. Barnabei, A. Brini, and G-C. Rota, “On the exterior calculus


of invariant theory,” Journal of Algebra, Vol. 96, pp. 120–160,
1985.
2. E. Bayro-Corrochano and J. Lasenby, “Object modelling and
motion analysis using Clifford algebra,” in Proceedings of
Europe-China Workshop on Geometric Modeling and Invari-
ants for Computer Vision, Roger Mohr and Wu Chengke (Eds.),
Xi’an, China, April 27–29, 1995, pp. 143–149.
3. E. Bayro-Corrochano, J. Lasenby, and G. Sommer, “Geometric
Algebra: A framework for computing point and line correspon-
dences and projective structure using n-uncalibrated cameras,” in
Proceedings of the International Conference on Pattern Recog-
nition (ICPR’96). Vienna, Aug. 1996, Vol. I, pp. 393–397.
4. E. Bayro-Corrochano and G. Sobczyk, “Applications of Lie
algebras and the algebra of incidence,” in Geometric Algebra
with Applications in Science and Engineering, Eduardo Bayro-
Corrochano and G. Sobczyk (Eds.), Birkhauser: Boston, ch.13,
2001.
5. S. Carlsson, “The double algebra: An effective tool for comput-
ing invariants in computer vision,” Applications of Invariance
in Computer Vision, Lecture Notes in Computer Science, Vol.
Figure 16. 3D reconstruction using nine images: (a) one of the 825; in Proceedings of 2nd-joint Europe-US Workshop, Azores,
nine images; (b) reconstructed incomplete house using nine images; Oct. 1993, J.L. Mundy, A. Zisserman, and D.A. Forsyth (Eds.),
(c) extending the join-image; (d) completing in the 3D space. Springer-Verlag: Berlin.
154 Bayro-Corrochano and Banarer

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.

You might also like