when the spanner was viewed from di erent ori- entations and di erent distances. For each view a canonical description of each segment was built and invariants ...
??, ??, 1{30 (??)
c ?? Kluwer Academic Publishers, Boston. Manufactured in The Netherlands.
Semi-local projective invariants for the recognition of smooth plane curves S. CARLSSON (*), R. MOHR (+), T. MOONS (#), L. MORIN (+), C. ROTHWELL (%), M. VAN DIEST (#), L. VAN GOOL (#), F. VEILLON (+), AND A. ZISSERMAN (%) (*) Royal Institute of Technology, Stockholm, Sweden (+) LIFIA-INRIA, Grenoble, France (#) Kath. Univ. Leuven, ESAT/MI2, Leuven, Belgium (%) Univ. of Oxford, Dept. Eng. Science, Oxford, UK
Received ??. Revised ??.
Abstract.
Recently, several methods have been proposed for describing plane, non-algebraic curves in a projectively invariant fashion. These curve representations are invariant under changes in viewpoint and therefore ideally suited for recognition. We report the results of a study where the strengths and weaknesses of a number of semi-local methods are compared on the basis of the same images and edge data. All the methods de ne a distinguished or canonical projective frame for the curve segment which is used for projective normalisation. In this canonical frame the curve has a viewpoint invariant signature. Measurements on the signature are invariants. All the methods presented are designed to work on real images where extracted data will not be ideal, and parts of curves will be missing because of poor contrast or occlusion. We compare the stability and discrimination of the signatures and invariants over a number of example curves and viewpoints. The paper concludes with a discussion of how the various methods can be integrated within a recognition system.
Keywords: projective invariants, object recognition, smooth curves
1. Introduction If planar shapes are imaged under perspective viewing conditions, the shapes will be deformed by projective transformations. A number of recent papers and reports have demonstrated the advantages of using indices based on projective invariants as part of a model based recognition strategy (Rothwell et al. (to appear)), (Kempenaers et al. 1992), (Lamdan et al. 1988), (Van Diest et al. 1994). There has been a considerable development in the variety and number of projective invariants since the possibility of exploiting the classical crossratio (Duda and Hart 1973) in computer vision Postdoctoral Research Fellow of the Belgian National Fund for Scienti c Research (N.F.W.O.).
was rst suggested. In this paper we examine a particular object class | smooth planar (nonalgebraic) curves. We describe a number of the projectively invariant approaches now available, and compare and assess their stability, discrimination, availability and usefulness. Two types of description are considered. First, each approach generates a projectively normalised curve or signature (see e.g. (Bruckstein and Netravali 1992) for the use of signatures). Second, invariants - a vector of projectively invariant measures - are computed from these signatures. Both signatures and invariants remain unchanged when looking at a plane object from any viewpoint under perspective viewing conditions. Within a recognition system invariants have a complexity advantage over signatures. An invariant can be used as a hash table key
2
??
to directly index an object in a model library. Recognition on signatures involves a comparison with each signature in the library in turn. Consequently, unlike the use of indexes, complexity is proportional to the number of curves in the library. We are principally concerned with realistic imaging situations where objects might be partially occluded. For this reason we do not include global descriptors (Even when there is no occlusion one can hardly expect contours to be retrieved perfectly). Also, high order derivatives cannot be measured from real images locally, and this rules out purely local invariants. Hence, the emphasis is on methods that work on contour segments, i.e. semi-local descriptions. Section 2 overviews the semi-local descriptions and the extraction of a canonical frame for curve signatures. The ve types of signatures/invariants implemented here are described in detail in sections 3{ 5. The experimental method is given in section 6, with empirical results for signatures in section 7 and invariants in section 8, together with an assessment of stability and discrimination power. Section 9 discusses the utility of the various invariants and their integration within a recognition system.
2. Semi-local description of planar curves As noted, the study only deals with semi-local approaches, i.e. approaches that can deal with contour segments. All the geometric information necessary to extract the projectively invariant description is obtained from the curve segment - not from any extraneous data. In discussing the dierent methods, a rst distinction to be made is between objects that contain concavities and those which do not. The latter pose serious problems for invariance-based recognition since it is so hard to nd any invariant (or \distinguished") points on such shapes. Nevertheless, in section 5 a method will be presented that can handle such situations, given a suciently large part of the contour. For shapes with concavities, several strategies are outlined, that projectively normalise the curve by transforming it to a canonical frame. The methods dier in the construction of the canonical frame. A projective transformation between
two planes is represented as a 3 3 matrix acting on homogeneous coordinates of the plane with 8 degrees of freedom. (Note, however, that all further mathematical descriptions will be given in terms of the usual Cartesian image coordinates.) In order to x a canonical frame, these 8 degrees of freedom have to be lifted. The dierent choices of frames all entail nding special, invariant or distinguished points and lines from the curve segment in question. Distinguished points are those which can be located before and after the projective transformation that describes the deformation when changing viewpoint. For projectivities, examples include corners (tangent discontinuities), in ections (zero's of curvature), and bitangent contact points, see gure 1. These act as markers so that a point can be uniquely identi ed after projection. Any plane construction preserved under projection may be used to generate distinguished points. For example, four distinguished points can be found on a concavity in a plane curve, and these de ne a projective basis. The rest of the curve can then be considered as a set of individual points whose coordinates with respect to the projective basis de ne the signature. The canonical frame is de ned by selecting positions for the four basis points, for instance the four corners of a square, and projectively transforming the curve such that the distinguished points are at their canonical positions. (The mapping of four points between two views is sucient to determine the transformation matrix - each point provides two constraints, therefore 4 independent points provide 4 2 = 8 constraints). Once this is done, the curve assumes a shape which is independent of the viewpoint, since moving the four points to these canonical positions xes the position of any other point of the curve. This allows the direct comparison of dierent views, without the need for a hypothesis about relative object pose. This principle, building a canonical representation, can be eshed out in a number of ways. This study presents several methods to arrive at the minimum amount of information to generate such a representation, and compares their results. Examples of interesting contour segments then are e.g. those between two subsequent in ections (section 4) or bitangent points (section 3). De-
?? t
I2
I1 T1
t2
1
i1
3
i
2
T2
Fig. 1. Distinguished points on the curve can be located before and after projection. In ections, i1 and i2 , are well known examples. However, any plane construction preserved by projection may be used to generate such points. The points of tangency, t1 ; t2 , of the curve with a bitangent line, are the projection of the points of tangency, T1 ; T2 , of the original curve with its bitangent. canonical frame curve image curve
C’
B’
1
C
B
D’
A’ A
D (a)
0
1 (b)
Fig. 2. (a) Construction of the four points necessary to de ne the canonical frame for a concavity. The rst two points, (A) and (D), are points of bitangency that mark the entrance to the concavity. Two further distinguished points, (B) and (C), are obtained from rays cast from the bitangent contact points and tangent to the curve segment within the concavity. These four points are used to map the curve to the canonical frame. (b) The corresponding curve in the canonical frame. A projectivity is constructed that transforms the four points in (a) to the corners of the unit square. The same projectivity transforms the curve into this frame.
pending on the size of the resulting segment and the robustness with which distinguished points can be extracted, the resulting canonical description will be of smaller or larger discriminant power. In general, one would expect segments with richer geometry to be more dierent on the average. For example, a segment between two in ections is a convex or concave arc. However, purely convex or concave arcs can all be made quite similar under projective transformations. This is less so for segments between bitangent points. Hence, the prediction would be that segments de ned by two anking in ections are more dicult to distinguish than longer segments between bitangent points. The expectations concerning the selection of dierent canoni-
cal frame constructions for the same segment are less clearcut, since the robustness of each construction will depend on the speci c shape. Nevertheless, this study indicates how the relative stability behaves on the average. For segments between bitangent points, three schemes will be considered in sections 3.1 and 2. For segments between in ections, a single method is described in section 4. The discussion is organized in order of decreasing richness of curve features and hence increasing diculty of generating canonical frames. The following cases are considered: 1. segments between bitangent points, 2. segments between in ections, 3. convex curves.
4
??
0.4
0.3
0.2
0.1
0.0 -0.0
0.2
0.4
0.6
0.8
1.0
l = ( 0.339, 0.308, 0.301, 0.280, 0.288, 0.294, 0.313, 0.350, 0.385 ) M = ( -0.089, -0.181, -1.089, -0.169, 0.602, -0.183, -0.173 )
Fig. 3. A set of n rays are drawn from the point ( 21 ; 0) so that they intersect the curve signature. The aim is to construct an n-dimensional measurement vector L = (l1 ; : : : ; ln )T , where li is the distance from the intersection point of the ith ray to the point ( 21 ; 0). This distance is projectively invariant. In the implementation the angle between the rays is constant, though this need not be the case: = 180=(n + 1). For the experiments, n = 9. length class 1 0.4
class 2 0.3
weighting function 0.2
maximum discrimination
zero discrimination 0.1
element 0.0 0
1
2
3
4
5
6
7
8
9
Fig. 4. Example of the Fisher Linear discriminant. The discriminant is trained here only three classes, two of which are shown (black and grey circles). In each case the curve is represented as a vector of canonical frame ray lengths, each component corresponding to a dierent angle (see gure 3). For each class a number of vectors, measured for the same curve with varying viewpoint, are included in order to model the intra-class variation. The rst eigenvector weighting function produced by the discriminant is shown (white circles). The rst invariant is determined as a scalar product of the eigenvector and the (mean) vector for each class. Clearly, this invariant will show good discrimination between the two classes shown, since it emphasizes the ray lengths that dier for the classes.
The rst two strategies obviously only work for shapes with concavities. The rst option is simpler than the second for at least two reasons: 1) corresponding segments are larger and therefore tend to be more dierent, as already pointed out, and 2) bitangent points can be extracted with higher precision than in ections (see e.g.
(Van Diest et al. 1993) for an experimental test).
In each case we describe both the method of projective normalisation, and the invariants measured from the signature.
?? I2
5
I1
c
b1
b2
B
Fig. 5. The three lines used in the mixed point-line constructions: in ections.
B
is the bitangent, and I1 ; I2 are tangent lines at the
h (1,1)
b 1(0,0)
b (2,0) 2
invariant 1
(0.1,0)
invariant 2
(1.9,0)
Fig. 6. Canonical frame and invariants for the semi-dierential, point-line method.
3. Segments between bitangent points
Three strategies will be outlined. One uses points only, the other two use a combination of points and lines. 3.1. Points only
Projective normalisation based on four points (Rothwell et al. 1992) is illustrated in gure 2. As noted earlier, the key point is that any projectively equivalent curve is mapped to the same curve in this frame. Measurements made in the canonical frame are invariants. The invariants are measurements on the signature, illustrated in gure 3. This construction is similar to the footprints of (Lamdan et al. 1988). The vector of invariant line lengths L is not used directly as an index. Instead, an index vector M
is constructed from L using a statistical classi er over all extracted concavity curves. There are two advantages of this: rst, the index is more discriminating than the \raw" lengths; second, the dimension of the index can be reduced and so the computation of an ecient hashing function within a recognition system is simpli ed. The Fisher linear discriminant (Duda and Hart 1973), which is an optimal linear classi er, is used for the computation of the index. The discriminant encodes information by minimising the intra-class variance (that is over several examples of the same curve) and maximising the inter-class separation. It does so by transforming the data to a new (orthogonal) basis, M = E L, such that feature measurement variance is maximised under projection onto some of the basis directions, and minimised onto others. An example of the Fisher basis is shown in gure 4. Here the concavity curves ex-
6
??
tracted from the images in Figures 11 and 12 were used as a training set for the discriminant on the three classes of concavity curves corresponding to the three segments indicated in Figure 13. In the experimental sections the best and second best Fisher discriminants will be referred to as \invariant 1" and \invariant 2" respectively. 3.2. Points and lines
There are three lines readily available from a single concavity: the bitangent line and the lines tangent at the two in ections. These lines are shown in g. 5. The latter are stable as long as the curvature near the in ections is not too high, in contrast to the in ections themselves, which may be dicult to localize precisely. In general the bitangent line will be more stable than the bitangent contact points as well. Two normalisation procedures using these lines are described. Both use the position of the in ections | but only in a manner that errors in their estimated position are not critical | as well as the intersection of the tangent lines at the in ections.
A semi-dierential method Consider g. 5. In the sequel, b1, b2, and c represent the column
vectors containing the (Cartesian) image coordinates of the corresponding points, shown in the gure. First, the bitangent points b1 and b2, and the intersection c of the two lines I1 and I2 are used to nd a third, invariant point on the contour, which lies between the in ections. A rst step in nding this additional point, is calculating an invariant parameterization of the segment between the in ections, using the semi-dierential, invariant parameter ! Z (1) j x (t) ? c x (t) j abs jx(t) ? b1 x(t) ? b2j2 dt: In this expression, t stands for an arbitrary contour parameter (it could e.g. be Euclidean arclength), x(t) is the column vector containing the image coordinates of a point that can be considered to slide along the contour by varying the parameter t, and x(1) (t) denotes the column vector of the rst derivatives of the sliding point's con-
tour coordinates with respect to t. This parameter is not truly invariant as such, but will only dier up to some factor (cfr. (Van Gool et al. 1992)). Normalizing the \length" between the in ections according to this parameter to 1 allows this caveat to be lifted. At the point where the normalized parameter reaches value 1/2 when starting from b1, a third, invariant contour point is found, which will be referred at as h. Note that the numerator tends to zero close to the in ections, because x ? c and x(1) are almost parallel near the in ections. If the in ections are misplaced by a reasonable amount, the parameter length of the segment between the in ections will only change slightly. The scheme is sensitive to the correctness of the tangent lines at the in ections rather than the positions of the in ections themselves. Finding h is the only purpose of the above parameter, which performs more robustly than alternatives involving less reference points.. In the sequel dierent parameters whose values exhibit sucient variation near the in ections will be used exclusively. Having found this point h, an invariant signature is built for the contour segment on either side of it. As a parameter
Z
!
(1) abs jx(t) ? b2 x (t)j2 dt jx(t) ? b2 x(t) ? cj
is used for the rst half (the part between b1 and h). The parameter for the second half between h and b2 is exactly the same except for the replacement of b2 by b1 in the above expression. Again, both lengths have to be normalized to 1 in order to eliminate a factor. In summary then, this parameter will go from 0 to 2, with the parameter value of h being 1. In order to obtain an invariant signature, we need a second, independent invariant. For the points with parameter values in the range [0,1) jx(t) ? c x(t) ? b1j jx(t) ? c x(t) ? b2j is used, whereas for the points with parameter values in the range [1,2) a similar expression is used, but with b1 and b2 swapped. These expressions are normalized to reach value 1 at h. A typical outlook of the resulting invariant signature is shown in g. 6.
?? As indices, two values of the latter invariant are read at speci c positions from the resulting canonical representations. They are read at the points with parameter values 0:1 and 1:9, later referred to as \invariant 1" and \invariant 2" resp. for this method (cf. g. 6). It's interesting to note that four points are available from this method (b1; b2; c; h) and hence a 4-point approach could have been followed from there. The representation as outlined here was preferred over using the four points as a canonical frame, because it explicitly supplies the recognition system with an invariant parameterisation of the curve. The canonical representation assumes the form of a function this way and the selected invariants are simple readouts at speci ed abscissa values.
An area method The three lines are sucient
for de ning a canonical ane reference frame, but for the projectivities two degrees of freedom still have to be set. The two in exion lines are mapped onto the ~x and ~y axis of an intermediate frame, with the bitangent being mapped to the line x + y = A. The two remaining degrees of freedom can then be de ned within the set of collineations which leave these three lines invariant. Let us consider the collineation h on the projective line de ned by ? A) h : x ! x(1 x(1 ? ) + ? A It is easily checked that h maps 0 on 0, A on A. 1 is mapped on . Similarly we can consider the collineation h de ned by: ? B) h : y ! y(1 y (1 ? ) + ? B The global collineation C; (x; y) is then de ned by its matrix: 0 1?A 1 ?A 0 0 B@ 0 1??BB 0 CA 1? 1? ?A ?B 1 It leaves the three lines invariant and maps the triangle onto the triangle. ; are the two remain-
7
ing parameters we have to lift. We have therefore to nd a way to determine these two values. For instance we could choose ; so that the curve goes through (1=2; 1=2). This way to proceed just relies on a single value on the contour, and a more global criterion has to be chosen in order to achieve robustness. In this implementation ; were choosen so the values of the two areas between the curve, the axis and the diagonal (see A1 and A2 Figure 7) are equal to S (such a value is chosen in accordance with the numerical values that can be reached in such a canonical frame ; for example s = 0:1 for A = 2, or S = 1 for A = 6). A numerical iteration allows to nd the solution as no analytical solution can be obtained. A1 and A2 are increasing with respect to and and are equal to 0 when and tends to 1. One can think it is reasonable to do this, but it is obvious it is not a proof. Nevertheless numerical computation always provided the same solution. Ten measures are then performed on the curve in the normalized reference frame: eight are area measures of eight equal sectors under the curve. Sectors lies between ?=12 and =2 + =12. the two others are the intersections of the curve and the lines bisecting the axis and the bitangent (see Figure 8). The x coordinate is used for point Q2, and the y coordinate is used for point Q1. As in the previous case, Fisher linear discriminant analysis is applied to extract an optimal linear classi er.
4. Segments between in ections
There will be situations where bitangent segments cannot be found. This occurs whenever there is insucient curve structure to form a bitangent or when edges are too incomplete due to aws in edge detection or overlap. In many such situations segments between subsequent in ections will still be available. In a similar vein to the previous methods, the approach (Van Diest et al. 1994) is initiated by the extraction of the line connecting the in ections and the tangent lines at the in ections. In a sense, the bitangent line is replaced by the line joining the in ections. However, the further constructions described earlier would fail. Instead, the projective invariance of a pencil of conics is
8
??
A1 A2
Fig. 7. The mapping in a canonical frame P1 Q1
1 2 3
4
5
P
6 7 8
Q
2
2
Fig. 8. Extracting measures from the normalised curve
used. This construction yields an invariant point on the curve. The two in ections and the intersection of the lines tangent at the in ections together with that point x a projective frame. The pencil of conic sections is de ned by the three lines: the line connecting the in ections, and the two lines tangent at the in ections. The rst line taken twice and the latter pair of lines each constitute a degenerate conic. Suppose the equations of the three lines are respectively given by m1 x + n1 y + o1 = 0; m2 x + n2 y + o2 = 0; m3 x + n3 y + o3 = 0: Then the pencil is de ned as (m1 x + n1y + o1 )2 + (m2 x + n2y + o2 ) (m3 x + n3y + o3) = 0
where is an arbitrary, real number. As (m2 ; n3) and (m3 ; n3) are tangent vectors to the curve at the in ections, they are only determined up to a common scale factor depending on the parametrization of the curve segment. Hence, the set of 's for which the corresponding conic touches the curve is xed up to a common, positive scale factor. From this pencil of conic sections, the one with the most negative that still touches the contour is taken. The point where it touches the contour is the fourth point. Fixing the positions of the four points then xes the projective frame. In the sequel, the frame is de ned by xing the coordinates of the two in ections to (?1; 0) and (1; 0), those of the line intersection to (0; 3), and those of the newly found point to (0; 1). As \invariant 1" and `invariant 2", the coordinates of the tangent points for the directions of
??
invariant 1
invariant 2
Fig. 9. De nition of the two invariants used for the segments between in ections.
the lines connecting the in ections and the fourth point are used, as illustrated in g. 9.
5. Convex shapes If the curve is convex, then there are no in ections, and an entirely dierent method must be used to obtain distinguished points. The method described below again is based on nding special ellipses. These should have four or ve points of contact to the given shape (Carlsson 1992), (Carlsson 1993). The method is invariant to projective transformations of the shape, and thus the conic primitives can be used for matching and de nition of invariants in the same way as points and lines. It should be emphasized that the method works equally well with non-convex shapes. In the general case, for a given shape the number of ellipses with four contact points will be a one-parameter in nite family as can be seen from the following crude counting argument. Four contact points together with ve parameters for representing the ellipse gives us a total of nine parameters to be determined. These parameters are subject to the constraint that the ellipse should be in contact with the shape at the four points. This gives four constraints for coincidence of points and four constraints for coincidence of tangents, making up a total of eight constraints. Nine parameters and eight constraints implies that the class of four contact point ellipses will be a one-parameter family. The important consequence of this is that in the generic case there will only be a nite number of ellipses with a speci c cross ratio; that is, we will have at most a nite ambiguity when iden-
9
tifying ellipses in projective transform pairs. The actual number of ellipses with unit cross ratio for a given shape is dicult to estimate. Empirically we have found that this number seems to correspond to the number ways the shape can be divided into convex subparts. For a convex shape we have never found more than one ellipse with unit cross ratio. The algorithm for nding four and ve contact point ellipses works iteratively, starting with an initial ellipse and updating it. Four contact point ellipses are xed points of the algorithm. The algorithm is divided in two major parts: 1. Convergence to an ellipse with four contact points but arbitrary cross ratio. 2. Convergence to an ellipse with four contact points and unit cross ratio or an ellipse with ve contact points. At each iteration of the algorithm there are two main steps: 1. Given an ellipse, nd four points on the curve as candidates for contact points 2. Given four points on the curve, nd an ellipse as a candidate for four contact point ellipse. The rst step is based on constructing a four sided polygon the sides of which are tangents to the curve and scaled versions of the ellipse. The four tangent points and tangent lines de ne respectively pencils of conics described by matrices P(1) and Q(2) in point and line coordinates respectively. 1 and 2 are the cross ratios of the four contact points of the ellipse with the polygon. If there is an ellipse having the four tangent points as contact points, there will be a such
10
??
0 degrees
30 degrees
60 degrees
90 degrees
120 degrees
150 degrees
Fig. 10. Example of ellipses tted to the edges for dierent views of the test object.
?? that this ellipse is described by: P() = Q?1() In the second step therefore, an updated ellipse is found by minimizing jjP() Q() ? I jj2 over the parameter , with P and Q properly normalized. Minimising the criterion therefore gives a certain \best" candidate as updated ellipse. When the four tangent points are close to this updated ellipse within a speci ed threshold, we consider it to be a four contact point ellipse The size of this threshold is a compromise between speed of convergence and distance from a true four contact point ellipse. When a four contact ellipse has been found, the updating rule for the ellipse is changed to Pupdate = Q?1 (1) and convergence to a unit cross ratio ellipse is declared when ^ ? 1 is lower than a threshold, where ^ is the value of fro the minimisation described previously. There is no guaranteed convergence of the algorithm. Convergence depends to a large extent on the selection of initial ellipses. For the experiments these were chosen as circles with centers equally spaced along the contour of the shape. Typically 20 ? 30% of these circles converge to four or ve contact point ellipses. Figure 10 shows a selection of ellipses obtained from the ellipse tting algorithm (the example images were drawn from the test set on which the experiments were run). They were selected manually with an attempt to provide projectively corresponding ellipses over successive frames. At most 3 ellipses are selected from each frame, one covering the main part of the objects and two covering the protrusions at the end of the object. Not all 3 ellipses are detected in each frame. This is mainly due to failure of the edge detection algorithm. The four contact points of the dominating ellipse covering most of the object are selected as distinguished points. Together they x a projective frame as usual. Moreover, given two coplanar conics described by the symmetric matrices P1 ad P2 normalized so that:
det(P1 ) = det(P2) = 1
(1)
11
they can be used to compute two independent projective invariants: I1 = Trace(P1?1P2 ) (2) I2 = Trace(P2?1P1 ) where P is the 3 3 conic matrix representing the ellipse.
6. Experiments: The test images A comparative experiment was carried out over all ve of the above methods. The same set of images, and edge data obtained from these, is used in all cases. This was to eliminate the in uence of the edge detector, since the canonical frame constructions and extracted invariants, not the preprocessing stages, are of interest here. All the edges were extracted using a local version of the Canny edge detector which produces edgels to sub-pixel accuracy. The chosen test object was a spanner, which was not part of an earlier database of standard object to avoid special tuning of methods. From its outline, three segments were selected for invariant description. These three segments are the three concavities shown in g. 13. The label numbers indicated in the gure will be used for reference in the sequel. The goal was to distinguish these, when the spanner was viewed from dierent orientations and dierent distances. For each view a canonical description of each segment was built and invariants were extracted from it. The results are assessed in terms of the stability, discrimination and robustness of the descriptions. As a rst series, images of a spanner were taken from 12 dierent orientations, 30o degrees apart and from a medium distance. The 0o , 60o , 120o, 180o , 240o , and 300o views are shown in g. 11. A second series of images of the same spanner was taken from 5 dierent distances. These images are shown in g. 12. As segments 1 and 2 (cfr. g. 13) are quite similar, it is not trivial that the dierent methods would tell them apart. Segment 3, on the other hand, looks more dierent from the other two, and one therefore expects its canonical representation to dier more from those of segments 1 and 2. Another observation is that segment 3 is smaller,
12
??
Fig. 11. Six views of the spanner taken from a medium distance. From top left to bottom right: views under 0o rotation, 60o rotation, 120o rotation, 180o rotation, 240o rotation, 300o rotation.
??
13
Fig. 12. Five views of the spanner taken from 5 dierent distances. The top two images were taken at the same scale but had to be split to keep all segments within view.
14
??
Fig. 13. Selected segments and their reference numbers.
and one would therefore expect the results for this segment to contain more noise at a given scale.
7. Experiments: The canonical descriptions 7.1. The rotation sequence
The following pages show the canonical descriptions of the three segments for those views of the rotation sequence where the dierent methods could actually extract such description. Figures 14- 16 show signatures for segments between bitangent points using respectively: the 4-point construction; point-line-semi-dierential; and, point-line-area. The constructions could be applied successfully to 25, 30, and 21 cases, resp. In the other case, some aws in the extracted edges precluded the constructions from being made. As can be seen from these results, the three methods yield signatures that are fairly stable over viewpoint and suciently dierent for the three
segments to enable discrimination. On the other hand, it is also clear that by adding several more segments to a database, the descriptions will start to overlap considerably. To overcome this a hierarchical description of objects, where concavities are grouped into classes, can be used. This is discussed in section 9. The three methods exhibit similar stability, but dier in distribution of clearly discriminatable signature portions. This distribution is broadly linked to the points or lines that are common for all signatures under a particular method. For the 4-point method all signatures pass through the four canonical points and can dier away from these. However, for the point-line-area method (where all signatures are tangent at the in ections) little dierence is exhibited between the in ections. It is clearly important that the invariants (calculated from the linear discriminant) measure the more discriminating parts of the signatures. The results for the method that works on segments between in ections are shown in g. 17.
??
segment 1 invariant plot for rotation
segment 2 invariant plot for rotation
0.35
15
segment 3 invariant plot for rotation
0.35
0.35
segment 1 0.3
0.3
0.3
0.25
0.25
0.25
0.2
0.2
0.2
0.15
0.15
0.15
0.1
0.1
0.1
0.05
0.05
0.05
0 0
0.2
segment 1 0.4
0.6
0 0.8
1
0
0.2
segment 2 0.4
0.6
0 0.8
1
0
0.2
segment 3 0.4
0.6
0.8
1
all segments invariant plot for rotation 0.35 segment 1 segment 2 segment 3 0.3
0.25
0.2
0.15
0.1
0.05
0 0
0.2
0.4
superposition
0.6
0.8
1
Fig. 14. Canonical representations for the spanner segments applying the 4-point construction to the rotation sequence; the bottom gure shows the superposition of the results of the three segments for ease of comparison.
16
??
segment 2 triangle plot
segment 3 triangle plot 1
0.8
0.8
0.8
0.6
0.6
0.6
0.4
0.2
invariant value
1
invariant value
invariant value
segment 1 triangle plot 1
0.4
0.2
0
0.2
0 -1
-0.8
-0.6
-0.4
-0.2
0 0.2 invariant length
0.4
segment 1
0.6
0.8
1
0.4
0 -1
-0.8
-0.6
-0.4
-0.2
0 0.2 invariant length
segment 2
0.4
0.6
0.8
1
-1
-0.8
-0.6
-0.4
-0.2
0 0.2 invariant length
segment 3
0.4
0.6
0.8
1
all segments invariant triangle plot for rotation 1 segment 1 segment 2 segment 3 0.8
0.6
0.4
0.2
0 -1
-0.8
-0.6
-0.4
-0.2
0
superposition
0.2
0.4
0.6
0.8
1
Fig. 15. Canonical representations for the spanner segments applying the mixed point-line-semi-dierential construction to the rotation sequence; the bottom gure shows the superposition of the results of the three segments for ease of comparison.
??
segment 1 invariant plot for rotation
segment 2 invariant plot for rotation
segment 3 invariant plot for rotation
6
6
6
3
3
3
0
0
0
0
segment 1 3
6
0
segment 2 3
17
6
0
segment 3 3
6
all segments invariant plot for rotation segment 1 segment 2 segment 3 6
3
0
0
3
superposition
6
Fig. 16. Canonical representations for the spanner segments applying the mixed point-line-area construction to the rotation sequence; the bottom gure shows the superposition of the results of the three segments for ease of comparison.
18
??
invariant plot using only inflection points for segment 1
invariant plot using only inflection points for segment 2
invariant plot using only inflection points for segment 3
1
1
1
0.8
0.8
0.8
0.6
0.6
0.6
0.4
0.4
0.4
0.2
0.2
0.2
0 -1
-0.8
-0.6
segment 1
-0.4
-0.2
0
0.2
0.4
0 0.6
0.8
1
-1
-0.8
-0.6
segment 2 -0.4
-0.2
0
0.2
0 0.4
0.6
0.8
1
-1
-0.8
-0.6
segment 3 -0.4
-0.2
0
0.2
0.4
0.6
0.8
1
invariant plot using only inflection points segment 1 segment 2 segment 3
1
0.8
0.6
0.4
0.2
0 -1
-0.8
-0.6
-0.4
-0.2
0
superposition
0.2
0.4
0.6
0.8
1
Fig. 17. Canonical representations for the parts of the segments between the in ections only, applying the conic pencil construction to the rotation sequence; the bottom gure shows the superposition of the results of the three segments for ease of comparison.
??
segment 1 invariant plot for scale
segment 2 invariant plot for scale
0.35
segment 3 invariant plot for scale
0.35
0.35
0.3
0.3
0.3
0.25
0.25
0.25
0.2
0.2
0.2
0.15
0.15
0.15
0.1
0.1
0.1
0.05
0.05
0.05
0 0
0.2
segment 1 0.4
0.6
0 0.8
1
19
0
0.2
segment 2 0.4
0.6
0 0.8
1
0
0.2
segment 3 0.4
0.6
0.8
1
all segments invariant plot for scale 0.35 segment 1 segment 2 segment 3 0.3
0.25
0.2
0.15
0.1
0.05
0 0
0.2
0.4
superposition
0.6
0.8
1
Fig. 18. Canonical representations for the spanner segments applying the 4-point construction to the scale sequence; the bottom gure shows the superposition of the results of the three segments for ease of comparison.
20
??
segment 1 invariant triangle plot for scale
segment 2 invariant triangle plot for scale
segment 3 invariant triangle plot for scale
1
1
1
0.8
0.8
0.8
0.6
0.6
0.6
0.4
0.4
0.4
0.2
0.2
0.2
0 -1
-0.8
-0.6
segment 1
-0.4
-0.2
0
0.2
0.4
0 0.6
0.8
1
-1
-0.8
-0.6
segment 2 -0.4
-0.2
0
0.2
0 0.4
0.6
0.8
1
-1
-0.8
-0.6
segment 3 -0.4
-0.2
0
0.2
0.4
0.6
0.8
1
all segments invariant triangle plot for scale 1 segment 1 segment 2 segment 3 0.8
0.6
0.4
0.2
0 -1
-0.8
-0.6
-0.4
-0.2
0
superposition
0.2
0.4
0.6
0.8
1
Fig. 19. Canonical representations for the spanner segments applying the mixed point-line-semi-dierential construction to the scale sequence; the bottom gure shows the superposition of the results of the three segments for ease of comparison.
??
segment 1 invariant plot for scale
segment 2 invariant plot for scale
segment 3 invariant plot for scale
6
6
6
3
3
3
0
0
0
0
segment 1 3
6
0
segment 2 3
21
6
0
segment 3 3
6
all segments invariant plot for scale segment 1 segment 2 segment 3 6
3
0
0
3
superposition
6
Fig. 20. Canonical representations for the spanner segments applying the mixed point-line-area construction to the scale sequence; the bottom gure shows the superposition of the results of the three segments for ease of comparison.
22
?? 3
2
1
0
-1
-2 -2
-1
0
1
2
3
Fig. 21. Canonical representations for the rotation sequence, using the four contact points of the invariant ellipse as projective basis.
Although the dierences are small, there is still at least a slight tendency for the dierent segments to separate at certain places in the canonical frame. Anyway, in line with the earlier ndings, a system using this approach is bound to be suboptimal if the bitangent points are available. The invariant ellipse tting technique yields ellipses with four contact points. Using these 4 points as a projective frame for the test object, the dierent views yield the canonical representations shown in g. 21. Note that in this case, the canonical representations represent the whole contour, not just a local segment. As expected the agreement is best close to the contact points and worse far out from the center. The disagreement in the canonical frame is well correlated with the fact that the central ellipse used for canonical frame computation does not converge to exact projectively corresponding positions in all frames. A speci c problem with this approach for the generation of a canonical frame is the tendency of the contact points to lie in regions of low curvature, thereby being prone to noise.
7.2. The scale sequence
The signatures for the three methods working on the complete bitangent segments are given in gures 18, 19 and 20. The 4-point method yielded 13 succesful constructions, the point-linesemi-dierential method 14, and the point-linearea method 11. All three methods still perform reasonably well, although performance with respect to the rotation sequence has worsened. Yet, already upon visual inspection it is clear that discrimination is still possible by the 4-point and point-line methods. Views where a method couldn't yield output were left out of the analysis for that method. These cases are not always the same for the different methods, hence dierent views may be missing from dierent plots. For instance, comparing gs. 18 and 19 for segment 3, the semidierential implementation could handle one view more than the 4-point method. On the other hand, one view yields an outlier for the semidierential case (i.e. the most detailed view of segment 3). The dierence lies in the implementation of the bitangent point extraction, rather
??
segment 1 invariant plot over scales using only inflection points
segment 2 invariant plot over scales using only inflection points
segment 3 invariant plot over scales using only inflection points
1
1
1
0.8
0.8
0.8
0.6
0.6
0.6
0.4
0.4
0.4
0.2
0.2
0.2
0 -1
-0.8
-0.6
segment 1
-0.4
-0.2
0
0.2
0.4
0 0.6
0.8
1
-1
-0.8
-0.6
segment 2 -0.4
-0.2
0
0.2
0 0.4
0.6
23
0.8
1
-1
-0.8
-0.6
segment 3 -0.4
-0.2
0
0.2
0.4
0.6
0.8
1
invariant plot using only inflection points segment 1 segment 2 segment 3
1
0.8
0.6
0.4
0.2
0 -1
-0.8
-0.6
-0.4
-0.2
0
superposition
0.2
0.4
0.6
0.8
1
Fig. 22. Canonical representations for the parts of the segments between the in ections only, applying the conic pencil construction to the scale sequence; the bottom gure shows the superposition of the results of the three segments for ease of comparison.
24
?? invariant for three segments viewed from different angles
invariant for three segments viewed from different angles
0.4
0.4 segment 1 segment 2 segment 3
0.35
0.35
0.3
0.3 invariant value
invariant value
segment 1 segment 2 segment 3
0.25
0.25
0.2
0.2
0.15
0.15
0.1
0.1 0
2
4
6
8
10
0
2
4
6
rotation
8
10
rotation
Fig. 23. Invariants for the 4-point method over rotation. Left: invariant 1; right: invariant 2. Abscissa values indicate sequence numbers that multiplied by 30o yield the corresponding rotation angles. invariant for three segments viewed from various angles
invariant for three segments viewed from various angles
0.25
0.25 segment 1 segment 2 segment 3
0.2
0.2
0.15
0.15
invariant value
invariant value
segment 1 segment 2 segment 3
0.1
0.05
0.1
0.05
0
0 0
50
100
150 200 angle (degrees)
250
300
0
50
100
150 200 angle (degrees)
250
300
Fig. 24. Invariants for the point-line-semi-dierential method over rotation. Left: invariant 1; right: invariant 2. invariant 1 for different angles
invariant 2 for different angles
0
6
-0.1 5.6 -0.2
-0.3 5.2 -0.4
4.8
-0.5
-0.6 4.4 -0.7
-0.8
4 0
50
100
150
200
250
300
0
50
100
150
200
250
Fig. 25. Invariants for the point-line-area method over rotation. Left: invariant 1; right: invariant 2.
than the potential of the methods. The implementation employed with the 4-point method is
300
more careful in its extraction of these points, using a parabolic t and straight line detection (bi-
??
25
two parameter invariant positions using inflection points 0.44 segment1 segment2 segment3
0.42
0.4
0.38
0.36
0.34
0.32
0.3
0.28 0.28
0.3
0.32
0.34
0.36
0.38
0.4
0.42
0.44
0.46
Fig. 26. Segments between in ections: invariants 1 and 2 were used as coordinates for the interpretation of the conic pencil construction results (rotation sequence). 6
4
2
I1:2-3 0
I1:1-3 I2:2-3
-2
I2:1-2 I2:1-3
I1:1-2
-4
-6 0
30
60
90
120
150
180
210
240
270
300
Fig. 27. Invariants for the ellipse tting technique over orientation.
tangents on straight lines are ill-de ned), thereby obtaining higher precision in the localisation of
330
the points (Rothwell et al. (to appear)). On the
26
??
other hand, it misses out on obtaining results for the extra view of segment 3 handled successfully by the semi-dierential method (this view is not the outlier). The reason is that the extracted edge was interrupted very close to the position of one of the bitangent points, thereby excluding sophisticated, local analysis. The results for the method that works on segments between in ections are shown in g. 22. They are useless in this case.
8. Experiments: The invariants 8.1. The rotation sequence
The two invariants for the 4-point construction evolve as shown in g. 23. Invariant 1 clearly is able to distinguish the segments, but the discriminatory power of invariant 2 is quite low. Both invariants for the semi-dierential construction, shown in g. 24, can distinguish between the dierent segments. The correlation between the two invariants was quite high for this experiment, so they can not be used as independent pieces of information it seems. This on the other hand also depends on the shapes, which in this study were quite symmetric. Fig. 25 shows the two invariants for the pointline-area method. As in the two previous cases the invariant for the third segment is more separated than those for the rst and second segment. In this case it is also less stable. The similarity of invariants for curve segments 1 and 2 (compared to those for segment 3) arises from the geometric \similarity" of the actual Euclidean curve segments over much of their extent, as was already expected from the outset (section 6). The intervals in which the \invariant" values for the dierent segments fall compared to the width of the gap between these intervals, yields a rough indication of the discriminatory power offered by the dierent methods. Overall the 4-point and points-line-semi-dierential methods provide more stable invariants than the point-line-area method, according to this criterion. This may be partly due to the fact that they are more mature in that more time has been spent on the optimi-
sation of the implementation. As an example, the 4-point construction uses sub-pixel accuracy for the estimation of the bitangent points, based on parabolic ts. For the in ection point method, the measures on the signature contained too many outliers to successfully apply a linear discriminator based on the two measurements discussed here. Instead the measurements are plotted as point coordinates in g. 26. Clearly, ignoring outliers, the invariants separate the three segments in the plane. This is very impressive considering how little scope for variation there is between in ections in these simple curves. For the ellipse tting technique, the invariants are shown in g. 27. The interpretation and use of these invariants is dierent. Each invariant is calculated for a pair of ellipses, with each corresponding to a major part of the object (the de nition of the invariants was given in section 5). The rst number in the labels is the invariant identi cation (I1 for the rst and I2 for the second invariant given by the eqs. (2)). The two other numbers indicate the pair of ellipses used in the calculation. As can be seen from the gure, the pair of invariants successfully discriminates between the dierent pairs of ellipses, thereby oering an approach to object and segment recognition. Thus, although the canonical frames built with the four contact points of a single ellipse were of a questionable quality, the invariants extracted from the ellipses are far less sensitive to the noise in the contact positions. 8.2. The scale sequence
This is a more demanding test than rotation as image segmentation methods tend to be \tuned" to features of a certain size. The two invariants for the 4-point construction evolve as shown in g. 28. As with rotation, only invariant 1 is powerful enough to discriminate the segments. Both invariants for the semi-dierential construction can distinguish between the dierent segments, as shown in g. 29, even when one segment shows a large deviation (the outlier discussed in section 7). Again, however, the high correlation between these invariants is clear. Fig. 30 shows the invariants for the point-line-area method.
?? For the views that could be handled by the point-line-semi-dierential and the point-lineareas methods, they best discriminate between segment 1 and segment 2. For the point-line-areas case the second invariant performs best in this experiment. The views handled for segment 3 are quite dierent for the three methods. The pointline-semi-dierential method clearly has diculties with the rst view, which is handled well by the 4-points method. On the other hand, looking at the results for the 4-points method, view 4 is better discriminated by the other methods. This illustrates the added value of being able to combine several of these strategies. For the in ection point method, combining the invariants in a 2D feature space no longer yields useful results. This is shown in g. 31. These results show that by using more complete information from the canonical representations dierences between segment classes can be made quite clearcut. A caveat that remains at this point are the small amount of data used to generate the statistics. These results should therefore be interpreted with some care. The results for the ellipse tting method are not available for the scale sequence. This method runs into trouble for scale 1 (which had to be splitted over two images and therefore could not be dealt with).
9. Conclusions and steps towards integration It is clear that a number of the methods developed can deal reasonably well with a variety of image projections of plane contours under perspective, despite of the alarming theoretical insights when also extreme viewpoints would be taken into account ( Astrom 1994). For the cases of segments between in ections the proposed solution is not quite satisfactory as yet and more time has to go into implementational issues. An interesting observation is that the methods do not succeed or fail following exactly the same pattern. There were views that could be handled by some method and not by the others. Also were the best results obtained by dierent methods depending on the test sequence and the segments considered. Due to this complementarity, it is
27
worthwhile to think about integrating the methods into a single recognition system. Preliminary results obtained with a system that combines the 4-points and the point-line-semi-dierential methods corroborate this (Van Diest et al. 1994). The results indicate yet again the importance and diculties of good segmentation. The different methods vary in the way the extraction of distinguished points and lines were implemented. As the results for segment 3 under scale changes already have shown, careful tangent point localisation can improve measurements substantially. On the other hand, sophisticated techniques, involving larger support areas, are more likely to fail than straightforward ones (in the sense of not being applicable). A exible system should be suf ciently \intelligent" to withdraw from sophistication to safeguard feasibility at times. Certainly the use of better bitangent point localisation techniques will be applied to the other methods than the 4-point construction in the near future. One major segmentation diculty arises from the nite thickness of the object. For some parts of the outline the curve switches from front to back surface and this clearly aects stability of the signature. Similar problems occur for nearby shadows. Using the linear discriminant clearly enhanced the recognition capabilities over small subsets of the raw features for the two methods that used it (the 4-point and the point-line-areas methods). However, since the discriminant minimises the variance over an acquisition set, an outlier curve can have a severe detrimental eect. Again, there is a need for robustness in the processing. Future plans with an integrated system include self-diagnosis by the system, i.e. the system should be given capabilities of assessing the robustness for the dierent constructions. If the tangent lines constructed through the bitangent points yield ill-conditioned positions of the resulting tangent points, the 4-point construction might fail, whereas the point-line constructions might function well. Other shapes will yield the reverse situation. A good way of assessing the stability is to investigate what happens if the bitangent points are shifted a little. Do they stay close to the tangent lines or do they wander o quickly? The former case indicates instabilities.
28
?? invariant for three segments viewed with different scales
invariant for three segments viewed with different scales
0.4
0.4 segment 1 segment 2 segment 3
0.35
0.35
0.3
0.3 invariant value
invariant value
segment 1 segment 2 segment 3
0.25
0.25
0.2
0.2
0.15
0.15
0.1
0.1 1
2
3 scale
4
5
1
2
3 scale
4
5
Fig. 28. Invariants for the 4-point method over scale. Left: invariant 1; right: invariant 2. invariant from triangle plot over scale
invariant from triangle plot over scale
0.25
0.25 segment 1 segment 2 segment 3
segment 1 segment 2 segment 3
0.15
0.15 invariant
0.2
invariant
0.2
0.1
0.1
0.05
0.05
0
0 1
2
3 scale
4
5
1
2
3 scale
4
5
Fig. 29. Invariants for the point-line-semi-dierential method over scale. Left: invariant 1; right: invariant 2. invariant 1 over scale
invariant 2 over scale
0
6
5.6 -0.2
5.2 -0.4
4.8
-0.6 4.4
-0.8
4 1
2
3
4
5
1
2
3
4
Fig. 30. Invariants for the point-line-semi-area method over scale. Left: invariant 1; right: invariant 2.
Also are there a host of other construction methods for semi-local invariants which have not yet been investigated. The cases of a concavity de-
5
lineated by a bitangent (an M curve), and a curve between two in ections have been explored here. However, between these two limits there is an S
??
29
two parameter invariant positions using inflection points over scale 0.55 segment 1 segment 2 segment 3 0.5
0.45
0.4
0.35
0.3 0.3
0.35
0.4
0.45
0.5
0.55
0.6
0.65
Fig. 31. Segments between in ections: invariants 1 and 2 were used as coordinates for the interpretation of the conic pencil results (scale sequence).
a b
i1
i2
Fig. 32. More distinguished points are available on an S curve, than simply the in ections i1 and i2 . A tangent based at i2 de nes a new distinguished point, a. The line containing i1 and i2 cuts the curve at a new distinguished point b. The tangent line at b is a distinguished line.
curve as shown in gure 32. As illustrated in the gure, a number of new distinguished points are then available which can be used for four point constructions. The preliminary integrated program (Van Diest et al. 1994) has the type of segments between points a and i2 already included. Bitangent segments are sometimes hard to nd when scenes of randomly thrown workpieces are used. Another aspect is that the system should be able to select interesting segments autonomously. This is not an easy task, since what might look as a prominent concavity might in reality be the result of overlap. On the other hand, starting with
small segments typically lowers the precision and robustness with which invariants can be extracted. The ellipse tting technique might yield a rst indication of part structure, i.e. ellipse pairs sharing the correct values for the invariants. To this point the discussion has concentrated on stability and discrimination. However, an equally important criteria, is the utility of the invariant within a recognition system. A practical recognition system can not simply index directly from invariant to a nal object in one shot as its \usual" behaviour. (Though, this behaviour might be adopted as last resort in extreme circumstances if no recognition hypothe-
30
??
ses are veri ed). Such behaviour is too inecient as each simple recognition hypothesis would have to be veri ed by backprojecting the entire object boundary, which is expensive. Instead, a two stage layered/hierarchical approach is used (Rothwell 1993), (Rothwell et al. (to appear)): 1. An index generates a recognition hypothesis for a particular curve segment. This curve segment may be common to several objects or occur several times on one object. At this level the curve segment is veri ed by signature comparison. 2. Hypothesis combination. At the second stage joint invariants are formed between segments. This is where discrimination bites: a single curve segment may not be very discriminating, but the relative position of two curve segments is far more dependent on the overall \shape" of the object. It might be thought that an unstable invariant was of little use. However, this is not necessarily the case. If an invariant value is not stable this can have two possible consequences: First, it won't index any object - so no recognition hypothesis is generated, and there is little cost incurred. Second, it indexes the wrong object. Again, a correct recognition hypothesis is not generated, of course, but in this case there might be more serious cost consequences. However, this incorrect hypothesis may well be removed by each of the above stages, so that it will not be necessary to carry out a (costly) veri cation of the entire object. In summary, because of segmentation problems (occlusions, drop outs, shadows) one can not rely solely on extracting the richest semi-local description (in this case concavities between bitangents), and cannot aord to ignore the less stable and less discriminating invariants (such as those arising from curve segments between in ections). However, within a hierarchical recognition system the cost of including these invariants is not prohibitive. Current work is looking at incorporating these invariants in a single system using this layered approach.
Acknowledgements
The support of Esprit Basic Research Action 6448 `VIVA' is gratefully acknowledged.
References Astrom, K. 1994. Fundamental diculties with projective normalization of planar curves. In Mundy J., Zisserman, A. and Forsyth D. (eds.) 1994. Applications of Invariance in Computer Vision, Lecture Notes in Computer Science 825, Springer-Verlag: Berlin, pp.199-214. Bruckstein, A. and Netravali, A. 1992. Dierential invariants of planar curves and recognizing partially occluded shapes. In Arcelli, C., Cordella, L. and Sanniti di Baja, G. (eds.) 1992. Visual Form, Plenum: New York, pp. 8999. Carlsson, S. (1992) Projectively invariant decomposition of planar shapes. In Mundy, J. and Zisserman, A. (eds) 1992. Geometric Invariance in Computer Vision. MITPress: Cambridge, MA pp. 267{273. Carlsson, S. (1993) Projectively Invariant Decomposition and Recognition of Planar Shapes. In Proc. of 4th Int. Conf. on Computer Vision, Berlin, Germany, pp. 471{ 475. Also in Int. Journal of Computer Vision (to appear). Duda, R. and Hart, P. 1973. Pattern classi cation and scene analysis, John Wiley: Chichester. Kempenaers, P., Van Gool, L. and Oosterlinck, A. 1992. Semi-dierential invariants: algebraic-dierential hybrids. In SPIE Proceedings on Hybrid Image and Signal Processing III, Vol. 1702, Orlando, pp. 41-52. Lamdan, Y., Schwartz, J. and Wolfson, H. 1988. Object recognition by ane invariant matching. In Proc. Comp. Vision and Pattern Recogn, pp. 335-344. Rothwell, C. 1993. Recognition using perspective invariance, PhD Thesis, Univ. of Oxford, Oxford, UK. Rothwell, C. Zisserman, A. Forsyth, D. and Mundy, J. Planar Object Recognition using Projective Shape Representation. Intern. Journal on Comp. Vision (to appear). Rothwell, C. Zisserman, A. Forsyth, D. and Mundy, J. 1992 Canonical Frames for Planar Object Recognition. In Proc. of the 2nd European Conf. on Comp. Vision, Santa Margherita Ligure, Italy, pp. 757{772. Van Diest, M., Van Gool, L. and Moons, T. 1993. Semidierential invariant descriptions of plane contour segments under perspective. Kath. Univ. Leuven, Leuven, Belgium, Techn. Rep. KUL/ESAT/MI2/9305. Van Diest, M., Van Gool, L., Moons, T. and Pauwels, E. 1994. Projective invariants for planar contour recognition. In Proc. of the 3rd European Conf. on Computer Vision, Stockholm, Sweden, Vol. I, pp. 527-534. Van Gool, L., Moons, T., Pauwels, E., Oosterlinck, A., 1992. Semi-dierential invariants. In: Mundy, J., Zisserman, A. (eds.), Geometric Invariance in Computer Vision, MIT Press, Cambridge, MA, pp. 193{214.