Automatic recognition of biological shapes with and without representations of shape

Automatic recognition of biological shapes with and without representations of shape

Artificial Intelligence in Medicine 18 (2000) 173 – 186 www.elsevier.com/locate/artmed Automatic recognition of biological shapes with and without re...

188KB Sizes 0 Downloads 19 Views

Artificial Intelligence in Medicine 18 (2000) 173 – 186 www.elsevier.com/locate/artmed

Automatic recognition of biological shapes with and without representations of shape Francisco J. Sa´nchez-Marı´n * Centro de In6estigaciones en Optica A.C., Loma del Bosque No. 115 Col. Lomas del Campestre, Apdo. Postal 1 -948, Leo´n, Guanajuato 37000, Mexico Received 26 March 1999; received in revised form 21 June 1999; accepted 15 July 1999

Abstract In this work it is described how to use the curvature function, the Fourier descriptors, and the coordinate functions of a contour to achieve automatic recognition of biological shapes. Those representations of shape and the coordinate functions were applied to recognize human corneal endothelial cells embedded in a sample of tissue. We assume that when the coordinates of the points of contours are analyzed directly, no representation of shape is being used. We applied scale-space filtering to the coordinate functions, to compensate the effects of scaling and to minimize the error due to quantization. A technique for compensating the effects of rotation, with or without the use of a representation of shape, is proposed. Our results show that, for a wide range of biological shapes, no representation of shape is required to solve or avoid the problems caused by translation, scaling, and rotation. We conclude that for certain applications the use of a representation of shape can provide some advantages. However, the coordinate functions of contours, evolved in scale-space, can be efficiently used, yielding even better results in applications of robotics and computer vision related to the recognition of biological shapes. © 2000 Elsevier Science B.V. All rights reserved. Keywords: Representations of shape; Object recognition; Computer vision; Shape analysis

* Tel.: + 52-47-731018; fax: + 52-47-175000. E-mail address: [email protected] (F.J. Sa´nchez-Marı´n) 0933-3657/00/$ - see front matter © 2000 Elsevier Science B.V. All rights reserved. PII: S 0 9 3 3 - 3 6 5 7 ( 9 9 ) 0 0 0 3 3 - 0

F.J. Sa´nchez-Marı´n / Artificial Intelligence in Medicine 18 (2000) 173–186

174

1. Introduction In many applications of robotics and computer vision, object recognition is of paramount importance. With regard to object recognition, shape is fundamental. Silhouettes and line drawings testify to the power of contours as effective means for identifying objects [13]. Contours are so dominant in visual perception that when drawing an object we always begin by sketching its outline [12]. It is common to consider the contour of an object as being the same thing as its shape. According with the American Heritage Dictionary, the words shape and contour are synonyms. In this work we make the same identification. Much of the information about shape is carried in the curvature extrema [2]. This information is contained in the curvature function associated with every shape. That is why the curvature function has been considered a natural choice as a representation of shape. An alternative approach to shape analysis is to consider that any shape can be reconstructed by adding and subtracting other shapes represented by their Fourier coefficients [8]. This is the basic idea of Fourier analysis when applied to spatial problems related to shape. That is, any shape can contain low, medium, and/or high spatial frequency components, which can be included or removed depending on how many and which Fourier coefficients are used to reconstruct the shape. In this work both, the curvature function and Fourier descriptors are evaluated as representations of biological shapes taking into account their respective invariant properties as well as the efficiency of their implementations. For this evaluation, both representations of shape were used to identify corneal endothelial cells embedded in a sample of tissue, and the results were compared to those obtained when only the coordinates of the points of the smoothed contours were used instead in the same task.

2. The curvature function in scale-space as representation of shape From different points of view, it has been shown that the use the curvature function, as a representation of shape, is very convenient [11,9,1,13,17,14]. The main reasons for this are the invariant properties of curvature with regard to scaling, translation, and rotation [14]. In addition, the curvature function is the intrinsic equation of a curve [17]. Also, a regular curve can be reconstructed uniquely, up to a rigid motion in the plane, from its continuous curvature function. That is, the curvature function is an information preserving representation of shape. Traditionally, curvature has been calculated using the equation [16].

k=

          n dx dt

d 2y dy d2x − 2 dt dt dt 2 dx 2 dy 2 3 2 + dt dt

(1)

F.J. Sa´nchez-Marı´n / Artificial Intelligence in Medicine 18 (2000) 173–186

175

In practice, it is difficult to obtain a reliable estimate of curvature when this equation is used, because it involves second derivatives; making it very sensitive to noise. However, Sanchez [14] proposed a new method that involves neither parameterization nor derivatives making it possible to obtain reliable and fast estimations of curvature. In general, the curvature function of a ‘raw contour’ (that is, as it appears after digitalization) is practically useless. It is recommended that a low-pass filter be used to make it more useful, especially if it is to be used as a representation of shape. Due to its very convenient properties, scale-space filtering [7] seems to be one of the best methods to get low-pass filtering. With scale-space filtering: 1. detail (noise) can be removed in a controlled manner by manipulating the scale parameter (t); 2. the scaling property of the scale-space representation can be used to solve the problem of scaling; 3. the causality property of such representation guarantees that every feature at coarser scales is a consequence of features that exist at higher levels of resolution; 4. it is (Gaussian filtering) a linear process. As an example of scale-space filtering, Fig. 1 shows the contour of a corneal endothelial cell at scales t = 0 and t=9, and Fig. 2 shows the corresponding curvature functions. Note how well the scale-space representation captures the shape of the cell. Scale-space filtering basically consists of convolving the given signal f(x) with a Gaussian kernel of size t. That is, L(x;t) =

&



g(j;t)f(x −j)dj

j= −

Fig. 1. The contour of a corneal cell at scales t= 0 and t=9.

(2)

F.J. Sa´nchez-Marı´n / Artificial Intelligence in Medicine 18 (2000) 173–186

176

Fig. 2. The curvature functions of the contours that are shown in Fig. 1.

where g(x;t) =

1 −x e 2t 2p

2

(3)

The scaling property of the scale-space representation states that if a signal x defined at scale t is scaled by a factor s, so that x%= sx, in order to get the same smoothing effect on the scaled signal, it must be evolved up to a scale t%= s 2t

(4)

Fig. 3a shows the corrected curvature function of a given cell contour, and Fig. 3b shows the corresponding curvature function of the scaled version of the same

Fig. 3. The curvature function of corneal cell (a) before scaling and (b) after being scaled by a factor of 2.0.

F.J. Sa´nchez-Marı´n / Artificial Intelligence in Medicine 18 (2000) 173–186

177

Fig. 4. The curvature function of a cell contour before and after being rotated.

cell (scaling factor s=2). Notice that the curvature function of the scaled version (before being corrected) is 1/s times the curvature of the original cell (s= scaling factor). This means that before matching two curvature functions, the scaling factor should be applied for correcting scaling effects. The effect of rotating a contour on the curvature function is just a shift of itself (Fig. 4), that is equivalent to changing the starting point for calculating the curvature by a number proportional to the angle of rotation. To compensate for the effect of rotation, for a problem of model-based recognition, a solution will be given below.

3. The Fourier descriptors as representation of shape Due to the periodic nature of contour and invariance requirements, the Fourier descriptors have been used as representations of shape for several years [18,10,11,6] [3]. However, they have been applied in different ways. Pratt [11] reviewed the calculation of the Fourier Descriptors of the curvature function of a given contour expressed as a complex function. Kuhl and Giardina [6] calculated the Fourier coefficients of chain-coded contours. Dekking and Oterloo [3] obtained the descriptors of contours expressed through parametric equations, using the arc length as parameter. Van Oterloo [17] analyzed the Fourier coefficients of the position, velocity, acceleration, cumulative angle, and curvature functions of contours. Jahne [5] also suggested the representation of a contour through the Fourier coefficients of a parameterized complex function, using the arc length as parameter. Gonzalez and Woods [4] represented contours by complex functions, without parameterization, and the representation of their shapes through the Fourier coefficients of such functions. This last approach was used in this work because it yielded good results, is simple, and because parameterization introduces error through the interpolation that is usually required.

178

F.J. Sa´nchez-Marı´n / Artificial Intelligence in Medicine 18 (2000) 173–186

In our context, the Fourier descriptors are just the coefficients of the Fourier series of the functions used to represent the contours of the objects of interest. The coordinates of the points of a digitized contour can be expressed, in the form x(k) = xk and y(k) = yk. Then, the contour itself can be represented as the sequence of coordinates s(k) = [x(k),y(k)], for k= 0, 1, 2, …, N−1, where N is the number of points of the contour. Now, we can consider each coordinate pair as a complex number (Fig. 5). (5)

s(k) = x(k) +jy(k)

for k = 0, 1, 2, …, N−1. The horizontal axis is the real axis of the complex plane, and the vertical axis is the imaginary axis. In this way, one reduces a 2-D to a 1-D problem. The Fourier descriptors of the sequence s(k) are obtained by calculating the corresponding discrete Fourier transform (DFT), that is



1 −j 2puk a(u) = s(k)exp N N

n

(6)

u= 0, 1, 2, …, N− 1. The inverse Fourier transform restores s(k), that is



s(k) = a(u)exp

j 2puk N

n

(7)

k = 0, 1, 2, …, N− 1. When the Fourier descriptors are used as representations of shape, only part of them are used to reconstruct the sequence s(k) approximately. Excluding the DC component, the first descriptors represent global shape, because they always reconstruct s(k). The process of eliminating high frequency coefficients is equivalent to low-pass filtering, as is shown in Fig. 6, which shows the contour of an endothelial cell reconstructed using all its Fourier descriptors, first, and then using only the first 16 of them. As can be seen, 16 descriptors seem to be enough to represent the shape of a biological cell. This fact represents a double advantage since, at the same time that we eliminate noise, by discarding high frequency

Fig. 5. Representation of a contour in the complex plane.

F.J. Sa´nchez-Marı´n / Artificial Intelligence in Medicine 18 (2000) 173–186

179

Fig. 6. The contour of a cell as obtained after digitization and reconstructed with only 16 Fourier descriptors.

coefficients, a reduced sequence of numbers is sufficient to represent the shapes of the cells. It is known that an acceptable representation of shape should be invariant with respect to translation, scaling, and rotation. Fourier descriptors are indirectly insensitive to those transformations. A translation of the original contour affects only the DC coefficient, and a rotation of the contour by an angle u corresponds to multiplying by a factor exp( ju). The related literature indicates that scaling of a contour, by a given factor, is equivalent to scaling the descriptors by the same factor. This is true for the continuous case, where the number of points that constitute a contour of any size is always infinite. However, for the discrete case the above property holds if the number of points is the same for scaled and non-scaled contours. Obviously, in practice, this is not useful. Fortunately, according to our experiments, the above property very closely holds, for the first 16 descriptors, when the number of points of contours increases proportionally with the scaling factor. Another problem associated to the use of Fourier descriptors is that they are sensitive to the starting point of the sequence. That is, for different starting points one obtains different descriptors. A solution to this difficulty for the problem of recognizing biological cells is described below. 4. The starting point problem The calculation of a contour’s curvature function staring at different points of the contour, only implies a shift to the right or to the left of such function. This effect can be corrected easily, but it is not easy to detect precisely the amount of shift that is required. A similar situation occurs while using the coordinate functions of contours. With regard to the Fourier descriptors, the starting point has a stronger effect. For different starting points on the same contour one obtains different sets of descriptors.

180

F.J. Sa´nchez-Marı´n / Artificial Intelligence in Medicine 18 (2000) 173–186

We found that for many biological shapes of practical interest, the to the starting problem can be easily overcome by using what we call the ‘longest diameter of a shape’ as reference. In our context a diameter of a contour is the segment of straight line whose extremes are two points of the contours separated by (N− 2)/2 points, clockwise or counter clockwise. N is the total number of points of the contour. For all the corneal cells that we analyzed, the longest diameter was unique. If such diameter is not unique, which is unlikely for many biological shapes, all the resulting ‘longest diameters’ should be considered. Once the longest diameter has been calculated, to avoid the starting point problem, the contour in turn should be translated and rotated so that its longest diameter coincides with the horizontal axis. Then, if we use as staring points the extremes of the longest diameter we have to try only two possibilities. This approach, which dramatically reduces the required computer time, would be impractical only if the number of longest diameters, as defined here, was too large for the shapes of interest. Fortunately, this is not the case for most biological shapes. On the contrary, it is common to find shapes that have only one ‘longest diameter’. Fig. 7 shows a rotated endothelial cell so that its longest diameter coincides with the horizontal coordinate axis. 5. Recognition of biological cells In order to test the performance of the coordinate functions, the curvature function and the Fourier descriptors as representations of biological shapes, these representations were applied to recognize individual corneal endothelial cells embedded in a sample of tissue. The contours of the cells (Fig. 8) were previously segmented as described elsewhere [15]. To simulate a general real problem of model-based object recognition, translation, scaling, and rotation were introduced to the contour used to build the models.

Fig. 7. A cell contour before and after being rotated so that its longest diameter coincides with the horizontal coordinate axis.

F.J. Sa´nchez-Marı´n / Artificial Intelligence in Medicine 18 (2000) 173–186

181

Fig. 8. Segmented contours of the cells of a sample of human corneal endothelium.

5.1. Decision criteria In our experiments we did model-based recognition, with the curvature function, with Fourier descriptors, and with the coordinate functions. In all cases we had to define a measure to decide when a match with the model occurred. In the related literature [17,6,3] we found that the Chebychev norm, or sup norm, has been frequently used for purposes like ours, when Fourier descriptors are used. The error, or measure of similarity o, is defined as o = max[sup x(k) −xN (k) , sup y(k)−yN (k) ]

(8)

where {x(k),y(k)}, represent the real and imaginary parts of the original contour, and {xN (k),yN (k)} the real and imaginary parts of the reconstructed contour, when only N descriptors are used. The sup norm can be adapted to measure similarities between curvature functions or coordinate functions. With the definition given above, we determined the acceptable approximations for a match when Fourier descriptors were used as representations of shape. Due to the fact that the amplitudes of the curvature functions of cell contours are rather small, the sup norm error was not appropriate for measuring similarities

182

F.J. Sa´nchez-Marı´n / Artificial Intelligence in Medicine 18 (2000) 173–186

among curvature functions. A better measure for this case is the ‘cumulative error’, which is just the sum of the absolute deviations (errors) between all the N corresponding points of two (curvature or coordinate) functions. That is, N

ce = % ( krmodel[i ]− krcell[i ] )

(9)

i=1

We also used this measure for comparing coordinate functions.

5.2. Recognition based on the cur6ature function For recognition experiments, first we had to build a model curvature function. For this, among more than 100 cell contours obtained from a sample of tissue (Fig. 8) we chose a cell at random. In order to introduce real conditions, we translated the chosen cell to a neutral position, so that its centroid coincided with the origin of our global coordinate system. Then the cell was scaled and then rotated so that its longest diameter coincided with the horizontal axis. As mentioned above, the curvature function of a cell contour at scale t= 0 is not useful, so it was necessary to evolve each contour in scale-space. In our case, without introducing scaling, a scale t =9 was enough to eliminate the quantization noise (Fig. 1). Then, for the scaled cells, we had to make use of the scaling property of the scale-space representation (Eq. 4). That is, for the chosen cell scaled by a factor of 2, we evolved its contour up to a scale t= 36. The next step was to calculate the curvature function itself using our technique [14]. As can be seen in Fig. 4, the curvatures of the original and the scaled contours, after correcting for scaling, look practically equal. Once the model was ready, a computer program, written specifically for these experiments, read and analyzed, one by one, and one after the other, the cell contours from the image shown in Fig. 8; without stopping until the last contour was analyzed. The analysis of each contour consisted of: (a) the determination of the scaling factor, by comparing the perimeter of the cell in turn with that of the model. (b) Scale-space filtering the cell contour, according to the scaling factor. (c) The calculation of the longest diameter of the cell contour. (d) The rotation of the contour so that its longest diameter coincided with the horizontal axis. (e) The calculation of the corresponding curvature function, starting at one extreme of the longest diameter. (f) Scaling of the calculated curvature function. (g) Matching of the calculated curvature function with the model. (h) Taking a decision. If the corresponding cell was not identified, steps (e) to (g) were repeated, but starting the calculation of curvature at the other extreme of the longest diameter.

5.3. Recognition based on Fourier descriptors With regard to the minimum number of descriptors needed to reconstruct a contour with acceptable detail, it has been found that when more than 16 descriptors are used, the error o as defined above, is reduced only slightly [6,3]. On the other hand, as mentioned above, Fourier descriptors invariance with respect to

F.J. Sa´nchez-Marı´n / Artificial Intelligence in Medicine 18 (2000) 173–186

183

scaling implies that the scaled contour is built with the same number of points as the original one. That is, the Fourier descriptors of a scaled contour are equal to the Fourier descriptors of the original contour, multiplied by the scaling factor, only if the number of points that contain both contours is the same. For real digitized objects this is a great disadvantage that, up to our knowledge, no one has explicitly mentioned. It is clear that a scaled digitized contour must contain more (or less) points than the original contour, unless the contour is under (or sub) sampled. Fortunately, we noted that when all the points of scaled digitized contours are considered, that simple invariance property very approximately holds for the first 16 descriptors. That is why our model consisted of only 16 descriptor pairs. These descriptors were calculated for the same scaled and rotated contour that was considered above to build the model. With Fourier descriptors we completed the same experiment that we did with the curvature function. We used the same computer program, mentioned above, for reading the contours. However, in this experiment, we did the following for each cell contour. (a) We calculated its Discrete Fourier Transform (DFT). (b) We multiplied the extracted Fourier descriptors by the scaling factor. (c) The contour was reconstructed using only 16 descriptors. (d) The longest diameter of the reconstructed contour was calculated. (e) We translated the contour so that its centroid coincided with the origin of our coordinate system (this is carried out by just removing the DC coefficient). (f) We rotated the contour so that its longest diameter coincided with the horizontal axis. (g) The angle of rotation of the previous step was applied to the descriptors. (h) We tested for a match. (i) Finally, we made a decision. If no identification occurred, steps (h) and (i) were repeated after multiplying the current descriptors by − 1, which is equivalent to rotating the contour by 180°.

5.4. Recognition using the coordinate functions of the contours As mentioned above, for efficient computerized object recognition invariance to translation, scaling and rotation is required. This is the main reason why representations of shape satisfying these requirements are needed. Both, the curvature function and the Fourier descriptors of contour satisfy, directly or indirectly, those invariance requirements. But, what happens if one uses the contours of the objects of interest directly instead of a representation of their shape? Obviously, contours are not invariant with respect to these transformations, but for several objects of practical interest their effect on their contours can be corrected easily without using a shape representation. This seems to be the case for most biological cells and other biological shapes of practical interest. To correct the effect of translation one need only position the centroid of the contour on the origin of a global coordinate system, which is easily carried out. Scaling is corrected simply by multiplying the coordinates by the scaling factor; and rotation is corrected by rotating each contour in such a way that its longest diameter (as defined above) coincides with the horizontal axis. Although the contours at scale t= 0 (i.e. as they appear after digitization) can be used for object recognition, we find it convenient to evolve them

184

F.J. Sa´nchez-Marı´n / Artificial Intelligence in Medicine 18 (2000) 173–186

in scale-space in order to minimize the error due to quantization. Again, we chose a scale t =9 to do this. For scaled contours the scaling property of the scale-space representation was applied. The combined cumulative error (ce) of the two coordinate functions, f(x) and f(y) was used as a measure of similarity.

6. Results As described above, the models that we used in our experiments were the curvature function, the Fourier descriptors, and the coordinate functions of a translated, scaled, and rotated version of a cell contour chosen at random. We compared these models with transformed curvature functions, Fourier descriptors and coordinate functions of non-transformed cells (i.e. as they appeared in the image). This means that even when comparing the curvature function, the Fourier descriptors, and the coordinate functions of each model with the corresponding ones of the cell contour from which they were obtained (after introducing transformations), some error or deviation was expected. This error was in part due to quantization (introduced by translation and rotation), and in part due to the approximation introduced while correcting for scaling. In the experiments where we used the curvature function as representation of shape, when the cumulative error (ce) was allowed to be 5 1, the randomly selected cell was correctly recognized. Neither false positives nor negatives occurred when all the cell contours of the sample of tissue were analyzed. It should be noted that, at times, the cumulative error included the deviations of more than 200 points (the curvature function of the selected cell included 130 points and its cumulative error was 0.9175). When the ce was allowed to be as large as 3.0, only one cell was ‘wrongly’ recognized. However, the shape of this cell was very similar to the shape of the cell from which the model was generated. The time required to analyze the sample of tissue shown in Fig. 8, by a 200 MHz Pentium PC, was around 4 s. This means that each contour was analyzed in approximately 30 ms. With a faster computer and code optimization, this sample could probably be analyzed in B 1 s. With regard to the experiments using Fourier descriptors, where we used the sup norm, for the cell from which the model was built we obtained o= 0.008457. One false alarm occurred only when a maximum similarity tolerance of o= 1.5 was allowed. With this approach one has a wide range for recognition. However, as the first two pairs of descriptors are considerably larger than the rest of descriptors, practically these are the only ones that play a role when a decision is taken. In order to take into account all the 16 descriptors to measure the similarity of shapes, the ‘cumulative error’ as defined above should be used. The cell from which the model was generated was recognized with a ce = 0.038552. Which is very small, considering the magnitudes of the first descriptors. In addition, the cumulative error provides a much larger range for recognition. A cell was wrongly recognized only when the cumulative error was allowed to be larger than 12.0, and, again, the shape of that cell was very similar of the shape of the cell associated to the model.

F.J. Sa´nchez-Marı´n / Artificial Intelligence in Medicine 18 (2000) 173–186

185

Considering that for the cell to be identified the cumulative error was ce= 0.038552, it is obviously safer to use the ce than the sup norm error when using Fourier descriptors. With regard to the required time to complete the analysis of the same sample of tissue considered above, with Fourier descriptors, the same PC took almost 40 s. That is, for recognizing a cell using Fourier descriptors, it took as much as ten times the time it required to achieve the same task using the curvature function. Finally, when we used the coordinate functions of the contours, for the cell used to build the model, the cumulative error was ce= 127. This seems to be a large number, but considering that the contour of such cell included 130 points, the error per point was B 0.5 pixels (because both coordinate functions were compared), which is very good if we consider that only when the cumulative error was allowed to be larger or equal to 1040 (that is 8 × 130) a cell was ‘wrongly’ recognized. Again, the shape of this cell was very similar to the shape of the model. This means that the coordinate functions permit a considerably wide range for the recognition for this type of cells. The sup norm error for the chosen cell was o= 0.9758. That is, the largest deviation between the contour of the model and that of the cell to be identified was B1 pixel. With regard to the time required to recognize a cell using the coordinate functions, the same PC required about 5 s to analyze 138 contours and recognize the corresponding cell. That is, when the coordinate functions are used, about 1 s more was required than when using the curvature function. The main reason for this is that the coordinate functions must be demeaned in order to correct the effect of translation, while the curvature function is not affected at by translation at all.

7. Discussion Representations of shape are widely used in computerized object recognition, mainly, to avoid (or easily solve) the problems due to translation, scaling and rotation. However, if we consider that the contour of an object is the shape of the object itself, for a wide range of objects, such as biological cells, a representation of shape is not necessary to do that. The results of our experiments support this. It must be recognized, however, that for other purposes, such as shape encoding, it could be convenient to work either with the curvature function or with Fourier descriptors. If, for instance, one needs to encode and store a large number of shapes, the Fourier descriptors could be a good choice because with only 16 complex numbers, or less, one is able to represent shapes with enough detail. If storage space is not a problem, then the curvature function can be used to advantage since it is a 1-D function. Also, in this case, one can avoid the use of a shape representation and work directly with the coordinate functions of the contours of the objects. The only disadvantage, in this case, is that the needed storage space would be twice that required for the curvature functions. With regard to computer time, the curvature function is the most economical, while Fourier descriptors are the most expensive. However, the precision with which scaling is

186

F.J. Sa´nchez-Marı´n / Artificial Intelligence in Medicine 18 (2000) 173–186

handled when Fourier descriptors are used, can be better than that obtained with the curvature function or the coordinate functions, especially when the scaling factor is not an integer number. While working with the curvature function or the coordinate functions, we recommend to evolve the contours in scale-space, basically, because the scaling property of the scale-space representation permits one to compensate easily the effect of scaling and, at the same time, to reduce the quantization error, practically, at will. 8. Conclusions According to our results, it appears that, in many applications, to recognize objects through shape analysis, a representation of shape is not necessary. This does not mean that representations of shape are useless, for they provide some interesting advantages. However, in general, it is much easier to work directly with the coordinate functions of a contour than with a representation of it, assuming that one can easily solve the problems arising from translation, scaling, and rotation. References [1] Asada H, Brady M. The curvature primal sketch. IEEE Trans Pattern Anal Mach Intell 1986;PAMI 8:2–14. [2] Attneave F. Some informational aspects of visual perception. Psychol Rev 1954;61:183 – 93. [3] Dekking FM and van Otterloo PJ. Fourier coding and reconstruction of complicated contours, IEEE Trans Systs Man Cyber 1986;SMC-16 (3):395 – 404. [4] Gonzalez RC, Woods RE. Digital Image Processing. Reading, MA: Addison Wesley, 1992. [5] Jahne B. Practical Handbook on Image Processing For Scientific Applications. New York: CRC Press, 1997. [6] Kuhl FP, Giardina CR. Elliptic Fourier features of a closed contour. Comp Graph Im Proc 1982;18:236–58. [7] Lindeberg T. Scale-space Theory in Computer Vision. Dordrecht: Kluwer, 1994. [8] Lord EA, Wilson CB. The Mathematical Description of Shape and Form. New York: Ellis Horwood, 1984. [9] Mokhtarian F, Macworth A. A theory of multiscale curvature-based shape representation for planar curves. IEEE Trans Pattern Anal Mach Intell 1992;14:789 – 805. [10] Persoon E, Fu KS. Shape discrimination using Fourier descriptors. IEEE Trans Sys Man Cybern SMC 1977;7:170–9. [11] Pratt WK. Digital Image Processing. New York: Wiley, 1978. [12] Ratlif F. Contour and contrast, In: Held N, editor. Image, Object and Illusion Readings. Scientific American; 1974:17–27. [13] Richards W, et al. Encoding contours shape by curvature extrema. In: Richards W, editor. Natural Computations. Cambridge, MA: MIT Press, 1988:83 – 98. [14] Sanchez-Marin FJ. The curvature function evolved in scale-space as a representation of biological shapes. Comput Biol Med 1997;27:77 – 85. [15] Sanchez-Marin FJ. Automatic segmentation of corneal cells, Comput Biol Med 1999;29:243 – 258. [16] Sruik DJ. Lectures on Classical Differential Geometry, 2. New York: Dover, 1988. [17] van Otterloo PJ. A Contour-Oriented Approach to Shape Analysis. UK: Prentice Hall International, 1991. [18] Zhan CT, Roskies RZ. Fourier descriptors for plane closed curves. IEEE Trans Comp 1972;C-21:269– 81.