Paracatadioptric Geometry using Conformal Geometric Algebra

Computer vision provides non-contact measurements of the world, extending the robot ability to operate in circumstances and environments which can not be accurately controlled. The use of visual observations to control the motions of robots has been extensively studied, this approach is referred in literature as visual servoing. Conventional cameras suffer from a limited field of view. One effective way to increase the field of view is to use mirrors in combination with conventional cameras. The approach of combining mirrors with conventional cameras to enhance sensor field of view is referred as catadioptric image formation. In order to be able to model the catadioptric sensor geometrically, it must satisfy the restriction that all the measurements of light intensity pass through only one point in the space (effective viewpoint). The complete class of mirrors that satisfy such restriction where analyzed by Baker and Nayar [1]. In [2] the authors deal with the epipolar geometry of two catadioptric sensors. Later, in [3] a general model for central catadioptric image formation was given. Also, a representation of this general model using the conformal geometric algebra was showed in [4]. Visual servoing applications can be benefit from sensors providing large fields of view. This work will show how a paracatadioptric sensor (parabolic mirror and a camera) can be used in a visual servoing task for driving a nonholonomic mobile robot. The work is mainly concerned with the use of projected lines extracted from central catadioptric images as input of a visual servoing control loop. The paracatadioptric image of a line is in general a circle but sometimes it could be a line. This is something that should be taken into account to avoid a singularity in the visual servoing task. In this work we will give a framework for the representation of image features in parabolic catadioptric images and their transformations. In particular line images in parabolic catadioptric images are circles. While of course conics and therefore circles can be represented in the projective plane we will provide a much more natural representation utilizing the conformal geometric algebra (CGA). In CGA the conformal transformations are linearized using the fact that the conformal group on


Introduction
Computer vision provides non-contact measurements of the world, extending the robot ability to operate in circumstances and environments which can not be accurately controlled. The use of visual observations to control the motions of robots has been extensively studied, this approach is referred in literature as visual servoing. Conventional cameras suffer from a limited field of view. One effective way to increase the field of view is to use mirrors in combination with conventional cameras. The approach of combining mirrors with conventional cameras to enhance sensor field of view is referred as catadioptric image formation. In order to be able to model the catadioptric sensor geometrically, it must satisfy the restriction that all the measurements of light intensity pass through only one point in the space (effective viewpoint). The complete class of mirrors that satisfy such restriction where analyzed by Baker and Nayar [1]. In [2] the authors deal with the epipolar geometry of two catadioptric sensors. Later, in [3] a general model for central catadioptric image formation was given. Also, a representation of this general model using the conformal geometric algebra was showed in [4]. Visual servoing applications can be benefit from sensors providing large fields of view. This work will show how a paracatadioptric sensor (parabolic mirror and a camera) can be used in a visual servoing task for driving a nonholonomic mobile robot. The work is mainly concerned with the use of projected lines extracted from central catadioptric images as input of a visual servoing control loop. The paracatadioptric image of a line is in general a circle but sometimes it could be a line. This is something that should be taken into account to avoid a singularity in the visual servoing task. In this work we will give a framework for the representation of image features in parabolic catadioptric images and their transformations. In particular line images in parabolic catadioptric images are circles. While of course conics and therefore circles can be represented in the projective plane we will provide a much more natural representation utilizing the conformal geometric algebra (CGA). In CGA the conformal transformations are linearized using the fact that the conformal group on R n is isomorphic to the Lorentz group on R n+1 . Hence nonlinear conformal transformations on R n can be linearized by representing them as Lorentz transformations and thereby further simplified as versor representation. These versors can be applied not only to points but also to all the CGA entities (spheres, planes, circles, lines and point-pairs). In this model a b c represents the circle thought the three points. If one of these points is a null vector e ∞ representing the point at infinity, then a ∧ b ∧ e ∞ represents the straight line trough a and b as a circle through infinity. This representation could not be available without the concept of null vector. In contrast with other catadioptric sensors the paracatadioptric sensors have certain properties that make them very interesting. One important property is that paracatadioptric projection is conformal, this motivate us to use the conformal geometric algebra to represent it. Thus the paracatadioptric projection can be expressed linearly using versors of CGA. The advantage of our framework is that the projection can be applied to circles and lines in the same way as it does for points. That advantage has a tremendous consequence since the nonlinearity of the paracatadioptric image has been removed. As a result the input features for the visual servoing control loop can be handled effectively in order to design an efficient vision-based control scheme. The rest of this paper is organized as follows: The next section will give a brief introduction to the conformal geometric algebra. In section 3 we show the equivalence between inversions on the sphere and the parabolic projections. Then, in section 4 we show the paracatadioptric image formation using the proposed framework. Later, in section 5 an application of a paracatadioptric stereo sensor is given. Finally, the conclusions are in section 6.

Conformal geometric algebra
In general, a geometric algebra [5] G n is a n-dimensional vector space V n over the reals R. The geometric algebra is generated defining the geometric product as an associative and multilinear product satisfying the contraction rule (1) where ε is −1, 0 or 1 and is called the signature of e i . When e i ≠ 0 but its magnitude |e i | is equal to zero, e i is called null vector. The geometric product of a geometric algebra G p,q,r for two basis e i and e j is defined as (2) Thus, given a n-dimensional vector space V n with an orthonormal basis {e 1 , e 2 , ...e n } its corresponding geometric algebra is generated using the geometric product. We can see that for a n-dimensional vector space, there are 2 n ways to combine its basis using the geometric product. Each of this product is called a basis blade. Together they span all the space of the geometric algebra G n .
We also denote with G p,q a geometric algebra over V p,q where p and q denote the signature of the algebra. If p ≠ 0 and q = 0 the metric is euclidean G n , if non of them are zero the metric is www.intechopen.com pseudoeuclidean. A generic element in G p,q is called a multivector. Every multivector M can be written in the expanded form (3) where represents the blade of grade i. The geometric product (denoted juxtaposition) of vectors is defined with a scalar part called the inner product and an outer product, which is a non scalar quantity, for example the outer product of a and b is (4) The conformal geometric algebra [5] is the geometric algebra over an homogeneous conformal space. This framework extends the functionality of projective geometry to include circles and spheres. Furthermore, the dilations, inversions, rotations and translations in 3D becomes rotations in the 5D conformal geometric algebra. These transformations can not only be applied to points or lines, but to all the conformal entities (points, lines, planes, point pairs, circles and spheres). In the conformal geometric algebra (CGA) we firstly add two extra vector basis e + and e − to our R 3 Euclidean space {e 1 , e 2 , e 3 , e − , e + }, where = 1 and = −1. We denote this algebra with G 4,1 to show that four basis vectors square to +1 and one basis vector square to −1. In addition we define (5) we note that they are null vectors since . The vector e 0 can be interpreted as the origin of the coordinate system, and the vector e ∞ as the point at infinity. A few useful properties (easily proved) about this basis are (6) Where E = e + ∧ e − is called the Minkowski plane. To specify a 3-dimensional Euclidean point in an unique form in this 5-dimensional space, we require the definition of two constraints. The first constraint is that the representation must be homogeneous, that is X and X represent the same point in the Euclidean space.
The second constraint requires that the vector X be a null vector (X 2 = 0). The equation that satisfies these constraints is (7) www.intechopen.com where x ∈ R n and X ∈ N n+1 . Note that this is a bijective mapping. From now and in the rest of the paper the points X are named conformal points and the points x are named Euclidean points. A conformal point (7) lies on the intersection of the null cone N n+1 and the hyperplane P n+1 (e ∞ , e 0 ), that is (8) A sphere on the CGA can be defined as (9) To test for incidence of a point X with an entity S expressed in the inner product null space (IPNS) we use (10) A point in the CGA is represented using (9), but setting the radius r = 0 we get (7). Also note that if x = 0 in (7) we get the point e 0 of (5) corresponding to the origin of R n . One interesting thing about the conformal points is that their inner product (11) is a directly representation of the Euclidean distance between the two points. Thus, the inner product has now a geometric meaning due to the concept of null vectors. Therefore, the square of a conformal point X 2 = XX = X ·X +X ∧X = X ·X = 0 represents the Euclidean distance with itself. In the CGA two multivectors represent the same object if they differ by just a non zero scalar factor, that is (12) Thus, multiplying (9) with a scalar λ we get (13) if we calculate the inner product of the above equation with respect to the point at infinity e ∞ www.intechopen.com we have recover the scalar factor λ. Therefore, if we want to normalize a sphere S (i.e. λ = 1) we apply (15) The same equation can be applied to points, remember that they are nothing but spheres of zero radius. For other objects the common normalization is by its magnitude that is (16) where represents the i-vector part of the multivector M. An important operation that is used in the geometric algebra is called reversion, denoted by "~" and defined by (17)

Geometric objects representation
The geometric objects can also be defined with the outer product of points that lie on the object. For example, with four points we define the sphere (18) The incidence of a point X with the sphere S* expressed in the outer product null space (OPNS) is (19) Both representation of the sphere (S and S*) are dual to each other, i.e. orthogonal to each other in the representative conformal space. Therefore, the representations are equivalent if we multiply them by the pseudoscalar I c = e 1 ∧ e 2 ∧ e 3 ∧ e + ∧ e − , thus If one of the points of the sphere (18) is the point at infinity, then the sphere becomes a plane (a flat sphere with infinite radius) Similarly, the outer product of three points defines a circle C* = A ∧ B ∧ C, and if one of the points of the circle is at infinity (C* = A∧B ∧e ∞ ) then the circle becomes a line (a flat circle with infinite radius), see (Table 1). The line can also be defined as the outer product of two spheres (22) www.intechopen.com which is the line passing through the centers of the spheres S 1 and S 2 . If instead of two spheres we take one sphere and a point (23) then the line passes through the center of the sphere S and point X. A complete list of the entities and their representations are given in (Table 1). The table shows a geometric object called point-pair, which can be seen as the outer product of two points (24) The point-pair represents a 1-dimensional sphere, and it can be the result of the intersection between: a line and a sphere, two circles or three spheres. In addition, if one of the points is the point at infinity (25) then we get a special point-pair which is called flat-point. If the intersection between two lines exists, then they intersect in one point X and also at the point at infinity. It also can be the result of the intersection between a line and a plane.

Conformal transformations
A transformation of geometric objects is said to be conformal if it preserves angles. Liouville was the first that proved that any conformal transformation on R n can be expressed as a composite of inversions and reflections in hyperplanes. The CGA G 4,1 allows the computation of inversions and reflections with the geometric product and a special group of multivectors called versors.

Objects rigid motion
In conformal geometric algebra we can perform rotations by means of an entity called rotor which is defined by (26) www.intechopen.com where l is the bivector representing the dual of the rotation axis. To rotate an entity, we simply multiply it by the rotor R from the left and the reverse of the rotor from the right, If we want to translate an entity we use a translator which is defined as (27) With this representation the translator can be applied multiplicatively to an entity similarly to the rotor, by multiplying the entity from the left by the translator and from the right with the reverse of the translator: Finally, the rigid motion can be expressed using a motor which is the combination of a rotor and a translator: M= TR, the rigid body motion of an entity is described with For more details on the geometric algebra and CGA, the interested reader is referred to view [5-9].

Paracatadioptric projection and inversion
In this section we will see the equivalence between the paracatadioptric projection and the inversion. The objective of using the inversion is that it can be linearized and represented by a versor in the conformal geometric algebra. This versor can be applied not only to points but also to point-pairs, lines, circles, spheres and planes. The next subsection shows the equivalence between the paracatadioptric projection and the inversion, later the computation of the inversion using will be shown.

Paracatadioptric projection
The parabolic projection of a point is defined as the intersection of the line xf (where f is the parabola's focus) and the parabolic mirror, followed by an orthographic projection. The orthographic projection is to a plane perpendicular to the axis of the mirror. The equation of a parabola with focal length p, whose focus is at the origin is (28) The projection of the point x to the mirror is (29) where λ is defined as (30) Finally, the point x p is projected onto a plane perpendicular to the axis of the parabola. The reason for this is that any ray incident with the focus is reflected such that it is perpendicular to the image plane.

Relationship between inversion and parabolic projection
The inversion of a point x ∈ G 3 with respect to sphere centered at the origin, and radius r, is a point x' ∈ G 3 lying on the line defined by the point x and the origin, if x' is the inverse of the point x then (31) When the sphere is centered at the point c ∈ G 3 , the inverse of the point x is defined as (32) As we already mention, the parabolic projection of a point x can be found with (30). Now, given a sphere centered at the origin with radius p, see Note that there are three similar triangles in Fig. 1, which can be seen clearly in Fig. 2. The three triangles are : NSQ, NPS and SPQ. Therefore which is the exactly the inversion of a point with respect to a circle centered at N and radius Thus we have that (34) Thus, the parabolic projection of a point x is equivalent to the inversion of a point , where the point lies on a sphere s centered at the focus of the parabola and radius p, with respect to a sphere s 0 , centered at n and radius 2p, see Fig. 3. To prove this equivalence we can use the definitions of the parabolic projection and inversion. With the definition of inversion (31) we have the following equation (35) where n = pe 3 ∈ G 3 .
(36) www.intechopen.com The constant is equal to (38) which is exactly the same value of the scalar λ from the parabolic projection (30). Therefore, we can conclude that the parabolic projection (29) and the inversion (37) of the point x are equivalent.

Inversion and the conformal geometric algebra
In the conformal geometric algebra, the conformal transformations are represented as versors [7]. In particular, the versor of the inversion is a sphere, and it is applied in the same way as the rotor, or the translator. Given a sphere of radius r centered at c represented by the vector (39) the inversion of a point X with respect to S is www.intechopen.com (40) To clarify the above equation, let us analyze the special case when S is a unit sphere, centered at origin. Then S reduces to (41) thus (40) becomes (42) The first term e + xe + is equal to (43) The term is equivalent to (44) Finally, the last term is (45) Rewriting (42) we have (46) From the above equation we recognize the Euclidean point (47) which represents the inversion of the point x. The case of the inversion with respect to an arbitrary sphere is (48) where f(x) is equal to (37), the inversion in R n . The value σ represents the scalar factor of the homogeneuos point.
The interesting thing about the inversion in the conformal geometric algebra is that it can be applied not only to points but also to any other entity of the CGA. In the following section we will see how the paracatadioptric image formation can be described in terms of the CGA. www.intechopen.com

Paracatadioptric image formation and conformal geometric algebra
In the previous section we saw the equivalence between the parabolic projection and the inversion. We also saw how to compute the inversion in the CGA using a versor, in this case the versor is simply the sphere where the inversion will be carried out. In this section we will define the paracatadioptric image formation using the CGA. Given a parabolic mirror with a focal length p, the projection of a point in the space through the mirror followed by an orthographic projection can be handled by two spheres. Where the first sphere is centered at the focus of the mirror, and its radius is p. This sphere can be defined as The second sphere S 0 can be defined in several ways, but we prefer to define it with respect to a point N on the sphere S (i.e. N · S = 0). If we compare the point equation (7) with the sphere equation (9), we can observe that the sphere has an extra term thus if we extract it to the point N we get a sphere centered at N and with radius r. The sphere S 0 is defined as (50) where 2p is the radius of the sphere. With these two spheres the image formation of points, circles and lines will be showed in the next subsections.

Point Images
Let X be a point on the space, its projection to the sphere can be found by finding the line passing through it and the sphere center, that is (51) then, this line is intersected with the sphere S Where Z s is a point-pair the paracatadioptric projection of this point can be found with (53) which is also a point pair The paracatadioptric projection of the point closest to X, can be found with (54) and then with www.intechopen.com (55) The point X c is the projection of the point X onto the catadioptric image plane, which is exactly the same point obtained through a parabolic and orthographic projections (Fig. 4).

Back projection of point images
Given a point X c on the catadioptric image (Fig. 4), its projection to the sphere is simply (56) Since the point X s and the sphere center lie on the line , it can be calculated as (57) The original point X lies also on this line, but since we have a single image the depth can not be determined and thus the point X can no be calculated.

Circle images
The circle images can be found in the same way as for points images. To see that, let X 1 ,X 2 ,X 3 be three points on the sphere S, the circle defined by them is (58) which can be a great or a small circle. The projection of the circle onto the catadioptric image is carried out as in (55) (59) Where could be a line, but there is no problem since it is represented as a circle with one point at infinity. The back projection of a circle (or line) that lie on the catadioptric image plane, can be found easily with www.intechopen.com (60) In Fig. 5 the projection of circles on the sphere to the catadioptric image plane is shown.

Line images
To find the paracatadioptric projection of a line L* in the 3D space (Fig. 59), we first project the line to the sphere S. The plane defined by the line L* and the sphere S is (61) then the projection of the line L* onto the sphere is (62) where C s is a great circle. Finally the paracatadioptric projection of L* can be found with the inversion of the circle C s , that is

Robot control using paracatadioptric lines
The problem to be solved is the line following with a mobile robot. The mobile robot is a nonholonomic system with a paracatadioptric system. We assume that the camera optical axis is superposed with the rotation axis of the mobile robot. Thus, the kinematic screw is only composed with a linear velocity v along the e 1 axis and an angular velocity ω. The problem will be solved using paracatadioptric image of lines. One of those lines is the paracatadioptric image of the desired line C d and the other one is the current paracatadioptric image of the tracked line C. These lines will be projected to the sphere and then to a perspective plane Π p , in this planes the image projection are straight lines. Finally, with the lines on the perspective plane we will compute the angular and lateral deviations. Consider the paracatadioptric image C d of the desired 3D line the inverse paracatadioptric projection of C d can be found with (64) Then the plane where the circle lies is defined as (65) Finally, the intersection of the plane with the perspective plane is (66) this line is the projection of the paracatadioptric image line into the perspective plane . The perspective plane can be defined as (67)   where and (68) The expression S ∧ S∧e ∞ represents the line passing through the centers of both spheres (S and S 0 ). The value of the scalar δ can be defined arbitrarily. The current paracatadioptric line C can be projected into the line L in the perspective plane in similar way using the above equations, see Fig. 7. The lines and , on the perspective plane, define a rotor which can be computed with (69) www.intechopen.com where represents the geometric product of the two lines. The angle between the lines is then (70) which represents the angular deviation. The lateral deviation can be found with the signed distance between the lines, the signed distance between the lines is (71) The angular and lateral deviations are used in a dynamic controller ,proposed in [10], to generate the robot's angular velocity. The dynamic controller is (72) where the control gains are defined as (73)   (74) The value of  is left free to specify faster or slower systems, and where ξ is usually set to 1/ 2 . The trajectories of the paracatadioptric images and the current paracatadioptric line are show in Fig. 8. These trajectories confirm that task is correctly realized. In Fig. 9 the angular an lateral deviations of the current paracatadioptric image with respect to the desired image are shown. These figures show that both deviations are well regulated to zero. a) b) Fig. 8. a) Tracked line in the paracatadioptric image. b) Trajectory of the projected lines in the paracatadioptric image.

Conclusions
In this work a comprehensive geometric model for paracatadioptric sensors has been presented. The model is based on the equivalence between paracatadioptric projection and the inversion. The main reason for using the inversion is that it can be represented by a versor (i.e. a special group of multivectors) in the CGA. The advantage of this representation is that it can be applied not only to points but also to point-pairs, lines, circles, spheres and planes.
The paracatadioptric projection and back-projection of points, point-pairs, circles, and lines is simplified using the proposed framework. This will allow an easier implementation of paracatadioptric sensors in more complex applications. Fig. 9. a) Angular deviation. b) Lateral Deviation.
The proposed framework has been used to control a nonholonomic robot, with a paracatadioptric sensor. The input to the control scheme are the paracatadioptric images of the desired and current lines. With help of the proposed model the paracatadioptric images are back projected to sphere, and then projected to a perspective plane. Then, the lines on the perspective plane are used to compute the angular and lateral deviations. Finally, with these values the angular velocity of the robot can be computed using a dynamic controller. The application showed that is not necessary to have 3D measurements of the scene to solve the task, indeed it is possible to solve it from image data only.