Pattern Recognition Letters 31 (2010) 1658–1664
Contents lists available at ScienceDirect
Pattern Recognition Letters journal homepage: www.elsevier.com/locate/patrec
Anisotropic diffusion for effective shape corner point detection Glauco V. Pedrosa, Celia A.Z. Barcelos * Federal University of Uberlândia, Av. João Naves de Avila, Uberlândia, 2121 Minas Gerais, Brazil
a r t i c l e
i n f o
Article history: Received 24 April 2009 Available online 19 May 2010 Communicated by G. Borgefors Keywords: Curvature Corner detection Partial differential equation
a b s t r a c t This work presents a new method for detecting shape corner points. These points are characterized as having high curvature value and their detection is an important task in several applications, including motion tracking and object recognition. As noisy points also have high curvature value we propose a framework that includes smoothing and corner point localization. First, we defined a function that associates each shape contour point with its curvature value, then the proposed method automatically smooths this function via an anisotropic filter based on an evolutionary equation, simultaneously localizing the corner points. The results obtained show that the proposed model has good performance when compared with three other techniques. Ó 2010 Elsevier B.V. All rights reserved.
1. Introduction High curvature points, also known as corner points or salience points, concentrate more information than other points of a shape (Attneave, 1954). They are important for various applications, such as image registration, polygonal approximation (Shearer and Zou, 2005) and motion analysis (Richefeu, 2003). Corner points are very useful for shape description, because they have the ability to represent an object in a compact manner, invariant to rotation and translation (Torres and Falcão, 2007; Pedrosa et al., 2008). Corner points have high curvature value, but not all high curvature points are corner points, as for example noisy points. A corner detector should be able to detect corner points even in curves or shapes with a high level of noise. Besides that, a corner detector should satisfy other import criteria, such as: all true corner points should be detected; no false corners should be detected; corner points should be well located and the detector technique should be computationally efficient (Mokhtarian and Suomela, 1998). Many corner detectors have been proposed in literature: Rosenfeld and Johnston (1973) proposed a method for detecting corner points using K-cosine as the estimation of curvature value for a point on a curve. Rosenfeld and Weszka (1975) proposed a modification of Rosenfeld and Johnston’s method using K-cosine average. The technique proposed by Asada and Brady (1986) uses the Gauss smoothness and cubic B-splines to calculate the K-curvature in order to find the corner points. Other developments based on Asada and Brady’s work were proposed in literature (Langridge, 1982; Medioni and Yasumoto, 1995; Fischler and Bolles, 1986). Freeman and Davis (1977) present a corner detector analyzing curvature * Corresponding author. Tel./fax: +55 34 3239 4156. E-mail addresses:
[email protected] (G.V. Pedrosa),
[email protected],
[email protected] (C.A.Z. Barcelos). 0167-8655/$ - see front matter Ó 2010 Elsevier B.V. All rights reserved. doi:10.1016/j.patrec.2010.05.013
variation by moving a straight line segment along the curve. The angular differences between successive segments were used to measure local curvature. A similar technique was proposed by Beus and Tiu (1987), where a threshold parameter was used to set the straight line segment length. Chetverikov (2003) proposed a fast and efficient algorithm, referred to as IPAN, which consists in defining a corner point as a location where a triangle of specified size and an opening angle can be inscribed in a curve. The experimental tests demonstrated good results for IPAN when compared with the methods proposed by Rosenfeld and Johnston (1973), Rosenfeld and Weszka (1975), Freeman and Davis (1977) and Beus and Tiu (1987). There are other developments using Hough transforms (Shen and Wang, 2002), wavelets (Quddus and Gabbouj, 2002) and neural networks (Zhang et al., 2009) as tools to detect corner points. Torres and Falcão (2007) detect the corner points exploiting the relation between a contour and the shape skeleton. A recent work, based on a new curvature definition (Liu et al., 2008), has reported good results in the process of corner point detection even when dealing with noisy images. Despite the large number of studies published in the last decade, corner detection is still a fertile field for ongoing research. Almost all of the corner detectors proposed in literature need some parameters to define the minimum spacing of adjacent corner points or to define the limit of the corner point size. To set these parameter values, valid for all images of a database, is not an easy task. In this work, a new shape corner detector is presented. We were motivated by the idea of obtaining a corner detector which is robust to noise present in the images, avoiding hard to set parameters, which cause a corner detector to be less robust. The proposed technique presents good results, with a small number of false corner points detected, even in noisy shapes. The goal is to use a nonlinear filter to smooth the K-curvature value of the discrete
G.V. Pedrosa, C.A.Z. Barcelos / Pattern Recognition Letters 31 (2010) 1658–1664
shape contour points. This filter is able to smooth the noisy points preserving high curvature values. An important filter that attempts this criterion is based on a partial differential equation (Perona and Malik, 1990). The following is the organization of the remainder of this paper. Section 2 presents the description of each step of the proposed algorithm for detecting corner points. The computational complexity of the proposed technique is presented in Section 3 and, in Section 4, some experimental results are presented in order to demonstrate the potentiality of our method while comparing other available techniques.
1659
Fig. 1. The ‘‘5-neighbors” pi5 and pi+5 of the point pi.
2. The proposed method Let the discrete shape contour B = {p1, . . . , pl} be represented by its points set in a clockwise direction, where pi = (xi, yi), xi and yi represent the coordinates of point pi on the image plane, i = 1, . . . , l and l is the number of contour points. The proposed corner detection is carried out in three steps described as follows: e ¼ fWK ðp Þ; . . . ; (1) The first step consists in calculating set B 1 WK ðpl Þg, where WK(pi) represents the K-curvature value of point pi. (2) In the second step, in order to reduce the high value of the e a smoothing equation based on a partial noisy points in B, differential equation is applied. This procedure should be able to smooth the contour shape without losing the high curvature points, which represent the corner points. (3) The third step, consists in selecting the corner points from e the smoothed contour represented by set B. In the next subsections these three steps will be detailed and some implementation details will be provided. 2.1. K-curvature representation Curvature has been widely employed in different applications of image processing, such as shape representation (Byun and Nagata, 1996; Park and Han, 1998), feature extraction (Lim et al., 1995; Li et al., 1998) and object recognition (Bandera et al., 1999; Han and Jang, 1990). Let C(s) = (x(s), y(s)) be a curve, the curvature function is defined as the rate of change of the curve slope h(s) with respect to arc length s. Basically, it describes how much the curve bends at each point of the shape contour. The slope angle of a curve is given by:
hðsÞ ¼ tan1
dy : dx
ð1Þ
The curvature function W is then calculated by the rate of change of h(s):
WðsÞ ¼
_ y €ðsÞ yðsÞ _ €xðsÞ dhðsÞ xðsÞ ¼ 3=2 : ds 2 _ 2 _ þ yðsÞ xðsÞ
ð2Þ
In order to avoid noise in the curve slope caused by fluctuations on the contour, some smoothing is introduced into the discrete version of the curvature function W. This is performed by K-curvature method (Rosenfeld and Johnston, 1973; Rosenfeld and Weszka, 1975; Arica and Yarman-Vural, 2003), which is defined as the slope of a line connecting that point with its Kth, left and right, neighbour. Fig. 1 presents K = 5 neighbors of point pi. The curvature function (2), at a given contour point pi = (xi, yi) and its K-left and K-right neighbour, pi+K = (xi+K, yi+K) and piK = (xiK, yiK), can be approximated as:
WK ðpi Þ ¼
ae cd ða2 þ c2 Þ3=2
;
ð3Þ
where, a = (xi+K xiK), e = (yi+K 2yi + yiK), c = (yi+K yiK) and d = (xi+K 2xi + xiK). The value of parameter K interferes in the resolution of the K-curvature representation. Fig. 2b–e presents the plots of the K-curvature for the fish contour presented in Fig. 2a, for different K values. The peaks and valleys of the K-curvature plot correspond to the convexities and concavities of the shape contour, respectively. It can easily be seen that when K increases more information details of the shape contour are lost. On the other hand, when K decreases fine details are captured, including some redundant convexities and concavities of the shape contour. An ‘‘ideal” value for K should be able to capture only the necessary information for shape representation, excluding redundant information as noise. To find the best K value is not an easy task. Arica and Yarman-Vural (2003) indicate K equal to the number of contour points divided by 10 as an appropriate choice to represent a shape contour in their proposed perceptual shape descriptor based on the beams originated from the contour shape, using the K-curvature. However, this choice misses important peaks and valleys, as can be seen in Fig. 2b. The main idea behind the proposed work is to use the smallest possible value K, for example K = 1, which is able to capture the important curvature information from the shape contour. Then, an adaptive smoothing function is applied to eliminate the redundant peaks and valleys captured, preserving the significant ones, and so making the corner point detection procedure efficient. 2.2. Nonlinear anisotropic diffusion filtering The use of partial differential equations (PDE) in image processing has grown significantly over the past years. The basic idea is to deform an image, a curve or a surface with a partial differential equation and obtain the expected results as a solution to this equation. One of the main advantages of the use of partial differential equations is that it takes the image analysis to a continuous domain simplifying the formalism of the model, which becomes independent from the grid used in the discrete problem. An important PDE with high value preservation was introduced by Perona and Malik (1990). They formulate an anisotropic filter as a diffusion process, which encourages intra-region smoothing while inhibiting inter-region smoothing. Fig. 3 illustrates the curve of Fig. 2e smoothed by the anisotropic filter. Mathematically, given an initial noisy image I, they defined the following anisotropic filter:
ut ¼ div ðgðjrujÞruÞ; u0 ¼ I; where u is a function
ð4Þ
1660
G.V. Pedrosa, C.A.Z. Barcelos / Pattern Recognition Letters 31 (2010) 1658–1664
Fig. 2. K-curvature plots for different values for K. The fish in (a) is represented by 937 contour points.
x 2 X Rp ; p ¼ 1; 2; 3; ut ¼ @uðx;tÞ ; u0 ¼ uðx; 0Þ ¼ I; g is a nonin@t creasing diffusion function, so that g(0) = 1, g(s) P 0, and g(s) ? 0 when s ? 1. The idea is that if jruj is large, then the diffusion will be low, and therefore the exact localization of the high values will be preserved. Thus, function g allows for locally adaptive diffusion strengths. Although any monotonically decreasing continuous function of jruj would suffice as a diffusion function, in Perona and Malik (1990) the authors suggest two diffusion functions:
2 ! s ; gðsÞ ¼ exp
q
ð6Þ
or
gðsÞ ¼ Fig. 3. Curve of Fig. 2e smoothed by the anisotropic filter. The points refer to shape contour of Fig. 2a.
u : X x ½0; 1Þ#R; ðx; tÞ#uðx; tÞ;
ð5Þ
1þ
1 2 ;
ð7Þ
s
q
where s = jruj. Function g given by Eq. (6) is used to privilege high-contrast values over low-contrast ones, while Eq. (7) privileges wide regions
G.V. Pedrosa, C.A.Z. Barcelos / Pattern Recognition Letters 31 (2010) 1658–1664
over smaller regions. The parameter q refers to diffusion constant or flow constant and, theoretically, it is used to produce g 1 in points far away from corners and g 0 near corner points. The value of the constant q interferes in an anisotropic way in the velocity of the filtering process. In this work, the nonlinear anisotropic Eq. (4) will be applied on e ¼ fWK ðp Þ; . . . ; WK ðp Þg, where WK(pi) the discrete curve given by B 1 l represents the K-curvature value of point pi, which was calculated in the previous step. Using Euler approximation and finite differences, the discretization of the Eq. (4) is given by
unþ1 un ¼ div ðgðjrun jrun ÞÞ: Dt
ð8Þ
e we have: Applying this equation to each point of B,
bi;nþ1 bi;n þ þ ¼ g bi;n ; g bi;n bi;n ; bi;n ; Dt
ð9Þ
or
bi;nþ1 ¼ bi;n þ Dt g bþi;n bþi;n þ g bi;n bi;n ;
1661
In summary, a point pi will be a convex corner point if the following conditions are satisfied: (1a) (2a) (3a)
W ðp Þ > 0; K i WK ðpi Þ WK ðpi1 Þ > 0; WK ðpi Þ WK ðpiþ1 Þ > 0.
Similarly, to be a concave corner point pi should satisfy the conditions: (1b) (2b) (3b)
WK ðpi Þ < 0; W ðp Þ WK ðpi1 Þ < 0; K i WK ðpi Þ WK ðpiþ1 Þ < 0.
In some shapes, for example in noisy shapes, some points can satisfy the conditions 1a–3a or 1b–3b. However, if analyzed by a human, they will not be considered as corner points, as for example the point marked with a circle in Fig. 5a. In this work, we will refer to these points as false corner points.
ð10Þ
bi;0 ¼ WK ðpi Þ;
3. Computational complexity
where, n is the iteration step, i = 1, . . . , l, l is the number of shape contour points, Dt is the step size, g is the diffusion function, bþ i;n ¼ biþ1;n bi;n and bi;n ¼ bi1;n bi;n . e ¼ W ðp Þ; . . . ; W ðp Þ , where As a result we have a new set B 1 l K K WK ðpi Þ ¼ bi;n and m is the number of iterations, this means, n = 1, 2, . . . , m.
The complexity of the proposed method is evaluated considering its three steps. It should be noted that the complexity of the smoothing stage is more critical than the other two.
2.3. Localizing the corner points After the smoothing step, the third step of the proposed technique is to detect the corner points, which are the points of local maximum and minimum. A maximum the local point pi satisfies conditions WK ðpi Þ WK ðpi1 Þ > 0 and WK ðpi Þ WK ðpiþ1 Þ > 0. A minimum local point pi satisfies the condition WK ðpi Þ WK ðpi1 ÞÞ < 0 and WK ðpi Þ WK ðpiþ1 Þ < 0. However, not all maximum and minimum local points are corners. As between two consecutive maximum local points there is always a minimum point and vice versa, a maximum (minimum) local point pi will be considered as a corner if its curvature WK ðpi Þ has a positive (negative) value. This rule is based on the fact that convex corner points have positive curvature signals, while concave corner points have negative curvature signals. For illustration, we can see in Fig. 4 that the points b, d and f are maximum local points but they have negative curvature value, so they are not corner points.
Fig. 5. The corners of a flower shape detected by the proposed technique using different number of iterations for the smooth function: (a) 300, (b) 500, (c) 1000, (d) 5000 iterations.
Fig. 4. (a) A curve and its maximum and minimum local points. (b) Its representation on the shape contour.
1662
G.V. Pedrosa, C.A.Z. Barcelos / Pattern Recognition Letters 31 (2010) 1658–1664
The first step is the K-curvature representation, which requires the calculation of the slope angle for each contour point. Since all the contour points are used in K-curvature representation, the time complexity for this step is O(l), where l is the number of shape contour points. The second step is the smoothing stage, which requires a number of iterations for the smoothing function. As the number of iterations is m, the time complexity for the second step is O(lm), where the time complexity for each iteration is O(l). Finally, the time complexity for the third step is the same as the first step, because all contour points smoothed in the second step should be analyzed to be classified as corner points. So, the total computational complexity is: O(l) + O(l) + O(lm) = O(lm).
4. Experimental results In this section some experimental results are presented and discussed. The goal of the experimental tests is to analyze the ability of the proposed technique to detect true and false corner points in shapes with and without noise. Although the task of comparing results is not easy, because classifying a point as true or false sometimes depends on the application or the user’s point of view, the performance of the proposed corner point detector is compared with three other existing algorithms presented in literature. Parameter K in the K-curvature calculation was fixed as 1. By the Eq. (6) (or (7)) we have that if q ? 1 then g ? 1 and consequently all points will be smoothed and, if q ? 0 then g ? 0, which means no smoothing will be applied. Parameter q depends on the image features and its goal is to accelerate or to reduce the smoothness in an anisotropic way. In this work we are dealing with shapes, which means there are not many details to be preserved, only the shape contours should be preserved. As we are dealing with binary images, all the shape contours have the same intensity. So, the parameter q was fixed as 1 for all the experiments presented in this work. Parameter Dt is the step size of Eq. (10). For stability of the equation this value should be sufficiently smaller in order to satisfy the Courant Friedrichs Lewy (CFL) condition (Strikwerda, 2004). In this work Dt was fixed as 0.1. If Dt is less than 0.1, the number of iterations should be increased in order to obtain the same level of smoothness. So, the only parameter to be set, in the proposed scheme, is the number of iterations for the smoothing function. It is used to eliminate the influence of noise and to remove small details, thus, it only depends on the level of noise or the amount of details we want to eliminate. By increasing the number of iterations some less relevant corner points will be suppressed, however, what is less relevant to one application may be important to another. Fig. 5 illustrates the shape corner points detected using a different number of iterations for the smoothing function. We can see that the number of corner points decreases when the number of iterations increases before stability is reached. The experimental tests, using Dt = 0.1 and q = 1, indicate that a number of iterations greater than 500 produce good results. All the experiments in this work were done using 1000 iterations. If the number of iterations is increased the result should be almost the same, otherwise the parameter q should be set with a different value in order to stabilize the process. The three parameters Dt, q and m are interconnected: if we set m and Dt the obtained image at time T = mDt will have less of smoothing effect for a small value of q, while a large q will produce a greater smoothing. Otherwise, if we set the parameter q, the smoothed result at time T will be reached with DTt iterations, as the scale space governed by Eq. (4) is pyramidal and recursive, which means that the number of iterations to obtain a certain level of smoothness depends on Dt. For more details concerning scale space see (Aubert and Kornprobst, 2006).
When the process is stabilized, the results do not change even when the number of iterations is increased, as we can see in Fig. 5c and d. Section 4.1 presents a visual evaluation: comparative results using the work given in Liu et al. (2008) and the proposed detector are presented. In Section 4.2 a ground-truth performance is analyzed comparing the performance of the proposed method with the performance of the techniques given by Chetverikov (2003) and with the skeleton-based approach proposed by Torres and Falcão (2007). 4.1. Visual evaluation To evaluate our method with respect to the impact of a better detection in shapes with noise, we compare it with the visual curvature technique. This technique was proposed by Liu et al. (2008) and, the authors show that their method is effective for corner detection, even in shapes with significant noise. For the experimental test, they used a shape database with 40 images, composed of 20 true images and their respective noisy versions. In general, the results obtained using both techniques were almost the same. Fig. 6 illustrates some different results, with different corner points detected, which are marked with a circle. Our method was able to detect some corner points missed by the visual curvature method, as can be seen comparing in Fig. 6 the shapes 3, 4, 5, 6, 9 and 10 with shapes 30 , 40 , 50 , 60 , 90 and 100 , respectively. On the other shapes (10 , 20 , 70 , 80 , 110 and 120 ), the visual curvature technique detected some corner points not detected by our method. 4.2. Ground-truth performance evaluation In this section, the performance of the proposed technique is investigated using a larger database than that used in the previous section. For effective comparison we constructed a set of groundtruth images composed of 120 different shapes, taken from the class ‘‘device” of the MPEG-7 Part B database (Latecki et al., 2000). We marked the location of the corner points manually, resulting in 1853 true corner points. Fig. 7 samples some shapes of our database with their respective true corner points selected manually. In the following, three detectors are analyzed: the proposed technique, the multi-scale skeleton-based approach (Torres and Falcão, 2007) and the IPAN (Chetverikov, 2003) technique. The last two detectors were chosen due to their methodology in detecting corner points: a global and a local technique. The skeleton-based detector is a global technique, because it uses as a referential the internal and external skeletons of the whole shape. This detection method is insensitive to noise but not robust, as the multi-scale skeletons should be thresholded in order to obtain the corners. This threshold defines the level of smoothing of the contour shape and, consequently, some important corner points can be lost. Otherwise, the IPAN is a technique computed locally: for each contour point the size of the opening angle of the triangle inscribed in the curve is calculated. The points which have a specified size are selected, obeying a minimum spacing of neighbor corner points defined by the user. This procedure increases the detection rate, which means that important corner points will be detected but, consequently, many false points can also be detected if the shape has a high level of noise. All the tests were made using the default parameter values assigned by the authors in their papers: the lower distance limit between the neighbors was 7 and the angle threshold was 150, for the IPAN detector and, a threshold value of 0.5 was used in the skeleton-approach as in Torres and Falcão (2007).
1663
G.V. Pedrosa, C.A.Z. Barcelos / Pattern Recognition Letters 31 (2010) 1658–1664
Fig. 6. Corner points detected by (a) the proposed method and (b) the visual curvature method.
As there is no standard procedure to measure accuracy of corner detectors, we adopted the accuracy approach given in Mokhtarian and Mohanna (2006), which is calculated using:
3 Accuracy ¼
Fig. 7. Three sample shapes of the used database with its true corner points manually selected.
The experiment relies on counting the true and false corner points detected for each technique. After this, effectiveness measures – Precision and Recall – are calculated using:
Tþ ; T þ Fþ þ T ; 2 Recall ¼ þ T þ T
1 Precision ¼
þ
where, T+ is the number of true corner points detected, F+ is the number of false points detected and (T+ + T) = 1853. A perfect Precision value is 1.0. It means that every point detected is relevant, but this value has no meaning regarding the detection of all true points. As with Precision, a perfect Recall value is 1.0, which means that all true points were detected, but it says nothing about how many false points are detected. Thus, to compare the performance of a detector based only on the Precision and Recall values is not the ideal form. Another measure should be analyzed.
Precision þ Recall : 2
Accuracy refers to how close to the true results or the accepted results are the results obtained by the detector. The ideal Accuracy value is 1.0, which means that all true corner points and no false corner points were detected. The results obtained are presented in Table 1. The skeleton-approach presented the best Precision value as it detected less false corner points, however it missed many true points, which justified the low Recall value. On the other hand, the IPAN had the best Recall value, once it was able to detect almost all the true corner points, but it failed to detect a large quantity of false points. It detected 6768 false corner points when the number of 1853 true corner points should have been detected. For this reason it had the worst Precision value. Otherwise, the technique proposed equilibrated these results: it performed well detecting the maximum of true corner points with the minimum of false points, as can be seen by the better Accuracy value found.
Table 1 Comparative measurements.
Precision Recall Accuracy
IPAN
Skeleton-approach
Our method
0.21 0.96 0.58
0.95 0.75 0.85
0.89 0.92 0.91
1664
G.V. Pedrosa, C.A.Z. Barcelos / Pattern Recognition Letters 31 (2010) 1658–1664
Fig. 8. Corner points detected by (a) IPAN, (b) skeleton-approach and (c) our method.
Fig. 8 shows an example of a shape with its corner points detected by the IPAN, skeleton-approach and the proposed corner detector method. As can easily be seen, the proposed technique detected all the true corner points, while the skeleton-approach missed some true corner points and, the IPAN detected several irrelevant points which are not necessary to represent the shape. 5. Conclusion We have presented a new method for corner point detection based on K-curvature curve shape contour smoothing using a nonlinear anisotropic diffusion filter. This filter is used to eliminate the influence of noise and to remove small details, thus, it only depends on the level of noise or the amount of details we want to eliminate on the shape contour. The proposed approach can be seen as a multi-scale corner point detector because the amount of information changes when the scale changes. When the number of iterations is increased some less irrelevant corner points will be suppressed. The new method gives competitive results, when compared with other available techniques in literature. It has good performance on images with and without noise and it also has the advantage of computational simplicity. Acknowledgements The authors acknowledge the financial support of CNPq (Proc. 502353/2008-2, 151083/2008-8, 306726/2009-2 and 372481/ 2009-4) and FAPEMIG (Proc. 2222-5.01/07). Furthermore, the authors thank the reviewers and editors for their suggestions which significantly improved the presentation and quality of the paper. References Arica, N., Yarman-Vural, F.T., 2003. Bas: A perceptual shape descriptor based on the beam angle statistics. Pattern Recognition Lett. 24 (9–10), 1627–1639. Asada, H., Brady, M., 1986. The curvature primal sketch. IEEE Trans. Pattern Anal. Machine Intell. 8 (1), 2–14. Attneave, F., 1954. Some informational aspects of visual perception. Psychol. Rev. 61 (3), 183–193.
Aubert, G., Kornprobst, P., 2006. Mathematical Problems in Image Processing: Partial Differential Equations and the Calculus of Variations, second ed. In: Applied Mathematical Sciences, vol. 147 Springer-Verlag. Bandera, A., Urdiales, C., Arrebola, F., Sandoval, F., 1999. 2d object recognition based on curvature functions obtained from local histograms of the contour chain code. Pattern Recognition Lett. 20 (1), 49–55. Beus, H.L., Tiu, S.S.H., 1987. An improved corner detection algorithm based on chain-coded plane curves. Pattern Recognition 20 (3), 291–296. Byun, J., Nagata, T., 1996. Determining the 3-d pose of a flexible object by stereo matching of curvature representations. Pattern Recognition 29, 1297–1307. Chetverikov, D., 2003. A simple and efficient algorithm for detection of high curvature points in planar curves. Computer Analysis of Images and Patterns vol. 2756, 746–753. Fischler, M.A., Bolles, R.C., 1986. Perceptual organization and curve partitioning. IEEE Trans. Pattern Anal. Machine Intell. 8 (1), 100–105. Freeman, H., Davis, L.S., 1977. A corner-finding algorithm for chain-coded curves. IEEE Trans. Comput. 26 (3), 297–303. Han, M.-H., Jang, D., 1990. The use of maximum curvature points for the recognition of partially occluded objects. Pattern Recognition 23 (1–2), 21–33. Langridge, D., 1982. Curve encoding and the detection of discontinuities. Comp. Graph. Image Process. 20 (1), 58–71. Latecki, L.J., LakSmper, R., Eckhardt, U., 2000. Shape descriptors for non-rigid shapes with a single closed contour. In: Proc. IEEE Conf. on Computer Vision and Pattern Recognition, pp. 424–429. Li, X., Parizeau, M., Plamondon, R., 1998. Segmentation and reconstruction of online handwritten scripts. Pattern Recognition 31 (6), 675–684. Lim, K.B., Xin, K., Hong, G.S., 1995. Detection and estimation of circular arc segments. Pattern Recognition Lett. 16 (6), 627–636. Liu, H., Latecki, L.J., Liu, W., 2008. A unified curvature definition for regular, polygonal, and digital planar curves. Internat. J. Comput. Vision 80 (1), 104–124. Medioni, G., Yasumoto, Y., 1995. Corner detection and curve representation using cubic b-splines. Comput. Vision Graph. Image Process. 39 (3), 267–278. Mokhtarian, F., Mohanna, F., 2006. Performance evaluation of corner detectors using consistency and accuracy measures. Computer Vision and Image Understanding 102 (1), 81–94. Mokhtarian, F., Suomela, R., 1998. Robust image corner detection through curvature scale space. IEEE Trans. Pattern Anal. Machine Intell. 20 (12), 1376–1381. Park, J.S., Han, J.H., 1998. Contour matching: A curvature-based approach. Image Vision Comput. 16. Pedrosa, G.V., Santos, C.F., Batista, M.A., Fernandes, H.C., Barcelos, C.A., 2008. An effective salience-based algorithm for shape matching. In: ACIVS’08: Proceedings of the 10th International Conference on Advanced Concepts for Intelligent Vision Systems. Springer-Verlag, Berlin, Heidelberg, pp. 818–827. Perona, P., Malik, J., 1990. Scale-space and edge detection using anisotropic diffusion. IEEE Trans. Pattern Anal. Machine Intell. 12 (7), 629–639. Quddus, A., Gabbouj, M., 2002. Wavelet-based corner detection technique using optimal scale. Pattern Recognition Lett. 23 (1–3), 215–220. Richefeu, J., 2003. Morphological dominant points detection for motion analysis on programmable retina, vol. 2. IEEE Xplore, pp. 627–628. Rosenfeld, A., Johnston, E., 1973. Angle detection on digital curves. IEEE Trans. Comput. 22, 875–878. Rosenfeld, A., Weszka, J.S., 1975. An improved method of angle detection on digital curves. IEEE Trans. Comput. 24 (9), 940–941. Shearer, M., Zou, J.J., 2005. Detection of dominant points based on noise suppression and error minimisation. Proceedings of the Third International Conference on Information Technology and Applications (ICITA’05), vol. 2. IEEE Computer Society, Washington, DC, USA, pp. 772–775. Shen, F., Wang, H., 2002. Corner detection based on modified hough transform. Pattern Recognition Lett. 23 (8), 1039–1049. Strikwerda, J.C., 2004. Finite Difference Schemes and Partial Differential Equations, second ed. SIAM: Society for Industrial and Applied Mathematics, pp. 450. Torres, R.d.S., Falcão, A.X., 2007. Contour salience descriptors for effective image retrieval and analysis. Image Vision Comput. 25 (1), 3–13. Zhang, X., Wang, H., Hong, M., Xu, L., Yang, D., Lovell, B.C., 2009. Robust image corner detection based on scale evolution difference of planar curves. Pattern Recognition Lett. 30 (4), 449–455.