Top Banner
Pattern Recognition 38 (2005) 1596 – 1614 www.elsevier.com/locate/patcog Corner detection and curve segmentation by multiresolution chain-code linking Fabián Arrebola , Francisco Sandoval Dpto. Tecnología Electrónica, E. T. S. I. Telecomunicación, Universidad de Málaga, Campus de Teatinos, s/n, 29071 Málaga, Spain Received 16 March 2004; received in revised form 2 March 2005; accepted 2 March 2005 Abstract In this paper, we propose a new method to characterise a curve by means of the hierarchical computation of a multiresolution structure. This structure, consisting of successive lower resolution versions of the same object, is processed using the linked pyramid approach. We adapt the multiresolution pixel linking algorithm to the processing of curve contours which are described by their chain-code. We also introduce a selective class selection process which allows application of the algorithm to segmentation and detection of contour features. The resulting framework presents good performance for a wide range of object sizes without the need of any parameter tweaking, and allows detection of shape detail at different scales. 2005 Pattern Recognition Society. Published by Elsevier Ltd. All rights reserved. Keywords: Chain-code; Contour segmentation; Corner detection; Linked pyramid; Curve pyramid 1. Introduction The analysis and characterisation of contours in digital images has attracted and continues to attract great interest in the computer vision community. From this characterisation, a number of features can be obtained—corners, inflection points, etc.—that offer useful information for object iden- tification and modelling tasks, scene analysis, information retrieval from large image databases, motion estimation or stereo vision, etc. A taxonomy of 2D curve characterisation methods could start by classifying them into two large groups: curve fitting [1–8] and curvature-based algorithms [9–18]. Literature of- fers many methods for fitting digital curves, polygonal ap- proximations [1–4] are the simplest ones: they search for the polygon with the minimum number of sides that best fits the curve, for a given error criterion. Hough-based methods can be applied to achieve linear fitting from a planar set of Corresponding author. Tel.: +34 952 1327231; fax: +34 952 131447. E-mail address: [email protected] (F. Arrebola). 0031-3203/$30.00 2005 Pattern Recognition Society. Published by Elsevier Ltd. All rights reserved. doi:10.1016/j.patcog.2005.03.006 points [5]. Nevertheless, curved portions are better approx- imated with higher-order curve-pieces: Pei and Horng [6] perform a generalisation of Perez and Vidal’s method [2] to the case of circular arcs. Sarkar et al. [7] fit a digital curve with line segments and circular arcs using genetic al- gorithms. Rosin and West [8] propose an algorithm for seg- menting connected points into a combination of represen- tations such as lines, circular, elliptical and superelliptical arcs, and polynomials. On the other hand, curvature-based algorithms char- acterise the contour by computing its curvature at each point. The contour is completely characterised by its curva- ture function: maxima and minima correspond to corners, zero-valued intervals correspond to straightline segments, intervals of non-zero constant value correspond to circle arcs, etc. Different methods can be used to estimate the curvature of a contour. Single scale methods are based upon an analysis of the neighbourhood of a point. Two curve segments of K points about the point of study are compared to give an estimation of the curvature [9–12]. For instance, Freeman and Davis’ algorithm [10] starts by calculating the local curvature for each point i, LC(i), as the angle
19

Corner Detection and Curve Egmentation

Apr 12, 2016

Download

Documents

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Corner Detection and Curve Egmentation

Pattern Recognition 38 (2005) 1596–1614www.elsevier.com/locate/patcog

Corner detection and curve segmentation bymultiresolutionchain-code linking

FabiánArrebola∗, Francisco SandovalDpto. Tecnología Electrónica, E. T. S. I. Telecomunicación, Universidad de Málaga, Campus de Teatinos, s/n, 29071 Málaga, Spain

Received 16 March 2004; received in revised form 2 March 2005; accepted 2 March 2005

Abstract

In this paper, we propose a new method to characterise a curve by means of the hierarchical computation of a multiresolutionstructure. This structure, consisting of successive lower resolution versions of the same object, is processed using the linkedpyramid approach. We adapt the multiresolution pixel linking algorithm to the processing of curve contours which aredescribed by their chain-code. We also introduce a selective class selection process which allows application of the algorithmto segmentation and detection of contour features. The resulting framework presents good performance for a wide range ofobject sizes without the need of any parameter tweaking, and allows detection of shape detail at different scales.� 2005 Pattern Recognition Society. Published by Elsevier Ltd. All rights reserved.

Keywords:Chain-code; Contour segmentation; Corner detection; Linked pyramid; Curve pyramid

1. Introduction

The analysis and characterisation of contours in digitalimages has attracted and continues to attract great interest inthe computer vision community. From this characterisation,a number of features can be obtained—corners, inflectionpoints, etc.—that offer useful information for object iden-tification and modelling tasks, scene analysis, informationretrieval from large image databases, motion estimation orstereo vision, etc.A taxonomy of 2D curve characterisation methods could

start by classifying them into two large groups:curve fitting[1–8] andcurvature-basedalgorithms[9–18]. Literature of-fers many methods for fitting digital curves,polygonal ap-proximations[1–4] are the simplest ones: they search forthe polygon with the minimum number of sides that best fitsthe curve, for a given error criterion. Hough-based methodscan be applied to achieve linear fitting from a planar set of

∗ Corresponding author. Tel.: +349521327231;fax: +34952131447.

E-mail address:[email protected](F. Arrebola).

0031-3203/$30.00� 2005 Pattern Recognition Society. Published by Elsevier Ltd. All rights reserved.doi:10.1016/j.patcog.2005.03.006

points[5]. Nevertheless, curved portions are better approx-imated with higher-order curve-pieces: Pei and Horng[6]perform a generalisation of Perez and Vidal’s method[2]to the case of circular arcs. Sarkar et al.[7] fit a digitalcurve with line segments and circular arcs using genetic al-gorithms. Rosin and West[8] propose an algorithm for seg-menting connected points into a combination of represen-tations such as lines, circular, elliptical and superellipticalarcs, and polynomials.On the other hand, curvature-based algorithms char-

acterise the contour by computing its curvature at eachpoint. The contour is completely characterised by its curva-ture function: maxima and minima correspond to corners,zero-valued intervals correspond to straightline segments,intervals of non-zero constant value correspond to circlearcs, etc. Different methods can be used to estimate thecurvature of a contour. Single scale methods are based uponan analysis of the neighbourhood of a point. Two curvesegments ofK points about the point of study are comparedto give an estimation of the curvature[9–12]. For instance,Freeman and Davis’ algorithm[10] starts by calculatingthe local curvature for each pointi, LC(i), as the angle

Page 2: Corner Detection and Curve Egmentation

F. Arrebola, F. Sandoval / Pattern Recognition 38 (2005) 1596–1614 1597

betweenx-axis and the forward direction of the straightlinesegment containingK points beforei. Incremental curvature,IC(i), is then obtained for each point of chain asIC(i)=LC(i − K) − LC(i + K). Finally, they definecornerityas the product of the lengths of uniform chain sections toeither side of a point, times the angle of discontinuity ofthat particular point.The main problem of these methods is that an adequate

value must be chosen forK, the length of the segments, inorder to account both for the noise level and the local struc-ture of the curve. A compromise must be made, as ifK istoo small, noise will be fed to the curvature function, result-ing in spurious feature detections. On the other hand, ifKis too large, near distinguished points can be smoothed out.This is a fundamental problem due to the fact that detailsin contours can be found at different scales. This makes itvery difficult—if not impossible—for a single scale methodto work well in every situation[3]. An alternative approachis to use a method to adaptively select a value forK, de-pending on the characteristics of the curve[13–15]. Simi-larly, Ray and Pandyan[16] use another adaptive technique:they propose to measure the variation in the roughness of acurve using variance of curvature to determine the smooth-ing level. Optionally, a single scale method can be iterativelyapplied while the value of the input parameters is variedover a range[17,18]. Beus and Tiu[17] apply Freeman andDavis’ algorithm[10] iteratively with different values ofK,resulting in more stable detected corners.This brings us to multiscale methods[19–27], which rep-

resent the evolution (or deformation) of the original contourwhen a certain parameter value is varied. One of the mostattractive and widely used techniques is the Gaussian scale-space[19–22]. A set of progressively smoother versions ofthe curve is generated by applying series of Gaussian filterswith different standard deviations. This generates a curvefamily that describes the contour at different levels of de-tail. Literature offers other multiscale methods: Saint-Marcet al. [23] propose anadaptivescale-space approach wherethe smoothing operations preserve the discontinuities in thecurve. Different scales are defined by the size of the dis-continuity that is preserved. Antoine et al.[24] apply a 1-Dcontinuous wavelet transform to build theW-representation.Jang and Chin[25] apply erosion and dilation operators tobuild a morphologicalscale-space. Beau and Singer[26]generate alogarithmic scale-space through application ofhierarchical discrete correlation. They propose the use ofa specialGaussian pyramidwhich allows feature detectionsuited to coarse pattern recognition. Meer et al.[27] in-troduce theChain pyramid, a pyramidal structure used formultiscale representation of chain codeable curves. In orderto build it, a probabilistic allocation algorithm (PAA) is ap-plied, followed by a data compression and smoothing pro-cess. In this structure, each curve part represented in a nodeis linked to curve parts in adjacent nodes, yielding a doublylinked list at each level of the pyramid. Chen and Chen[28]proposed a tree encoding of chain codes through a recur-

sive transformation of the chain code into alinear quadtree.The algorithm uses a look-up table method for generatingthe quadtree nodes and the new chain code elements.In this paper, we propose a novel method for the charac-

terisation of 2D curves by means of the hierarchical com-putation of a special and simple multiresolution structure.This structure is composed of the chain codes of progres-sively smoother, lower resolution versions of the originalcurve. The structure is processed by an algorithm that bor-rows from the concepts of linked pyramid and multiresolu-tion pixel linking (MPL) introduced by Burt et al.[29] forgrey-scale image processing.A linked pyramid is a regular pyramid where the rela-

tionship between parent and son nodes is not fixed, but isallowed to vary while the algorithm converges. The MPLmethod[29] for the image pyramid consists of two phases:(i) Stabilisation of structure links: Each node is linked to themost similar of its candidate parents. The values of parentnodes are then recalculated using only linked sons. Relink-ing and recalculation are iterated until stable links are ob-tained, i.e., links remaining unaltered after two consecutiveiterations. The pyramid has now converged to astable linkstructure, i.e., a tree. In this tree each levelk above the basecan define a segmentation of the image. (ii)Class genera-tion: A level k is chosen and the gray level of every node ispropagated towards the son nodes in levelk−1. The processis repeated in all levels down to the base level. The imagewill be divided into 4(M−k) classes,M being the top levelof the pyramid. This segmentation algorithm simultaneouslyperforms image smoothing and edge enhancement.Linked pyramid approaches have limitations. Firstly, not

all possible subdivisions of the image can be represented,and artefacts can occur in the segmentation of particularshapes such as elongated ones. This is due to rigidity ofthe regular pyramids—regular grid, fixed reduction window,fixed decimation ratio—although the fundamental reason forthis shortcoming is the subsampling introduced in the higherlevels of the pyramid[30]. Bister et al. propose to use irreg-ular tessellations[30]. The second problem is the fact thatclasses represented by a node need not correspond to con-nected regions in the base. The relinking process takes thespatial structure of the image into consideration by allowingonly a fixed set of possible sons for each node. The algo-rithm does not use connectivity: nodes which are adjacentin some higher level of the pyramid need not represent ad-jacent regions in the base level, or viceversa. This can causethe creation of regions which are scattered over the imageand which consist of many connected components.This work will adapt the concepts of linked pyramid and

MPL algorithm with the goal of transforming the initialchain code of a curve into a stepwise constant function thatcharacterises the contour. This function has two fundamentalfeatures: (i) its discontinuity points on thex-axis indicatethe break point locations of the segments into which theoriginal contour will be segmented. These points are cornersseparating straightline segments and high curvature points

Page 3: Corner Detection and Curve Egmentation

1598 F. Arrebola, F. Sandoval / Pattern Recognition 38 (2005) 1596–1614

in curved segments. (ii) The height of the steps defines theorientation assigned to each curve segment. This results ina robust segmentation of the contour.It should be noted that our approach is not equivalent to

the one employed in image pyramids[29], as smoothingand reducing an image multiple times, and then detectinga curve, is not equivalent to detecting a curve, and thensmoothing it and reducing the number of elements in thecurve [26]. However, Burt et al. method has the desirableproperty of making all resolution levels participate in theprocesses of node grouping and classification. In adaptingMPL, this paper makes the additional contribution of solvingthe previously mentioned problems for regular pyramids.This results in a satisfactory performance of the method overa wide range of object sizes, and allows detection of shapedetail at different scales without any parameter tweaking.In chain pyramid[27], Meer et al. apply PAA in order to

the eliminate artefacts of contour processing on pyramidsand later they compress and smooth. In contrast, our methodapplies a corrective pass to our stable link structure followedby a selective propagation process.In Section 2 we present the construction of a hierarchical

data structure—the curve pyramid—from the chain-code ofthe curve. In Section 3 we apply Burt et al.’s linked pyramidapproach[29] to obtain a stable link structure for the curvepyramid. Section 4 describes a basic method to obtain seg-mentation of the curve into different classes or segments.It will be seen that this basic method must be modified fortwo reasons: first, the obtained classes do not always corre-spond to connected segments. Secondly, the number of seg-ments depends strongly on the values of the parameters ofthe method (and this number is always either too small ortoo large). These problems are tackled in Section 5, wherewe introduce a novel class generation mechanism includ-ing selective propagation of classes that solves the problemof contour segmentation. Section 6 presents results of ourmethod and compares its performance with alternative ap-proaches. Finally, Section 7 presents the main conclusions.

2. Generation of the curve pyramid

A curve pyramid and an image pyramid are built in asimilar way. Filtering, followed by subsampling, are appliedto the original signal. Thus, each pyramid level(k) holdsa smoothed and subsampled version of the signal at thelevel below(k−1). Different combinations of subsamplingfactors and filtering kernel types (Gaussian or uniform, withor without overlapping, etc.) result in different pyramids[31].In this work the signal is a curve, described by a chain-

code. For each point, the chain-code describes the directionto be followed in order to find the next point in the curve.For the associated pyramid, a subsampling factor of 2 anda uniform kernel with no overlapping are used. The kernelhas two coefficients with value 0.5. Thus, the number of

elements at each subsequent level is approximately half thenumber of elements of the level below. At levelk + 1, thenumber of elements can be expressed as

Nk+1= �(Nk + 1)/2�, (1)

where�x� is the floor function ofx, i.e., the nearest integerless than or equal tox. The number of levels of resolutionin the pyramid is

M = �log2(N0)� + 1 (2)

where�x� is the ceiling function ofx, i.e., the smaller integergreater than or equal tox. N0 is the number of points in theoriginal curve, which is equal to the number of nodes at thebase of the pyramid. At levelk + 1, the chain-code of nodei, Ck+1

i, is the average between the chain-codes of nodes 2i

and 2i + 1 at levelk:

Ck+1i

= [(Ck2i + Ck2i+1+ Off)/2]mod 8, 0� i <Nk+1,(3)

whereOff takes the following values:

Off={0 if |Ck2i − Ck2i+1|<4,8 if |Ck2i − Ck2i+1|>4.

For open contours andNk even, to calculate the chain-codeof the last node at levelk+1,Ck+1

Nkk+1, Eq. (3) is not applied.

Instead, it is directly assigned the value ofCkNk−1. For closed

contours, each layer in the structure is treated as a circularlist, and Eq. (3) must be modified accordingly:

Ck+1i

= [(Ck2i + Ck(2i+1)modNk +Off)/2]mod 8. (4)

If Nk is odd,Ck+1Nk+1−1 is computed as the average between

CkNk−1 andC

k0. This can be seen inFig. 1a, where levels 0

and 2 in the data structure present an even number of nodes.In the following we shall only consider closed contours.Figs. 1b and c illustrate an example of applying the fil-

tering and subsampling processes to a contour chain code.Fig. 1b shows a contour with 443 pixels andFig. 1c showsthe chain code of the first six resolution levels of the corre-sponding curve pyramid. Section A inTable 1indicates thenumber of nodes at each level and the number of averagescomputed to generate those levels. At each pyramid level,the spatial resolution is decreased, but the angular resolutionis increased. Thus, while the number of nodes is reduced,the number of allowed orientations is doubled. At levelk, anode can take up to 2k × 8 values within the interval[0,8).The total number of nodes in the structure,NT , dependson the number of points in the original curve,N0, and alsoon how close this number is to being a power of 2. WhenN0= 2i , each level holds exactly half the number of nodesat the level belowNk+1=Nk/2:

NT |N0=2i =M−1∑k=0

Nk =0∑

n=M−12n = 2M − 1= 2N0 − 1.

Page 4: Corner Detection and Curve Egmentation

F. Arrebola, F. Sandoval / Pattern Recognition 38 (2005) 1596–1614 1599

(a) (b)

(c)

Fig. 1. Generation of the curve pyramid: (a) example of hierarchical structure; (b) closed contour; and (c) curve pyramid ofFig. 1b chaincode of the first 6 levels.

Page 5: Corner Detection and Curve Egmentation

1600F.Arre

bola,F.Sandova

l/Pattern

Recog

nitio

n38(2005)1596–1614

Table 1Algorithm evolution for the contour ofFig. 1b

A. Generation of the curve pyramid(bottom-up)

Level 0 1 2 3 4 5 6 Total nodes Total comp.k = 0 . . .6 k = 0, . . . ,6

Nodes(Nk) 443 222 111 56 28 14 7Computations (Eq. (4)) — 222 111 56 28 14 7 881 438

B. Generation of a stable link structure(iterative)

Level 0 1 2 3 4 5 6 Total comp. Total comp.k = 0, . . . ,5 k = 0, . . . ,6

Iteration 1 Computations (Eq. (11)) — 225 115 60 31 14 72 Changes — 0 6 8 4 4 1

Computations (Eq. (11)) — — 12 17 7 7 23 Changes — — 1 1 0 1 0

Computations (Eq. (11)) — — 2 0 — 2 —Total computations per level — 225 129 77 38 23 9 492 501

C. Correction of crossed links(bottom-up)

Levels 0–1 1–2 2–3 3–4 4–5 5–6 Total TotalP = 5 P = 6

Detected crossed links 1 3 4 1 3 1 12 13Affected nodes 2 7 13 14 11 7 47 54Computations (Eq. (11)) 2 7 15 16 12 7 52 59

D. Selective propagation(top-down)

Levels 0–1 1–2 2–3 3–4 4–5 Total

Computed variances 0 0 0 28 14 42Permitted propagations 443 218 103 38 8 810Inhibited propagations 0 0 0 7 14 21Nodes without sons 0 4 8 11 6 29

Page 6: Corner Detection and Curve Egmentation

F. Arrebola, F. Sandoval / Pattern Recognition 38 (2005) 1596–1614 1601

The worst case corresponds to whenN0 is a power of twoplus one, thus, the number of nodes at each level isNk+1=�Nk/2� + 1, and therefore,NT >2N0 − 1. We can easilycalculate the number of elements in the worst case. We startwith a pyramid withN0 = 2i nodes at the base. If we addone node to the base, we realise that both the number oflevelsM, and the number of nodes per level are incrementedin a unit. In this worst case,N0 is derived from Eq. (2) asN0 = 2M−2 + 1 and consequently:

NT |N0=2i+1=M−1∑k=0

Nk = 1+0∑

n=M−2(2n + 1)

=M +0∑

n=M−22n =M + 2M−1− 1

= 2N0 +M − 3.

Apart from the chain codeCki, each nodei contains two

additional fields: the length or number of pixels,Lki, asso-

ciated with the node, and the position of its parent,Fki, in

the higher level. When the pyramid is built, the nodes at thebase have the fieldL0

iset to 1. The nodes in the rest of the

levels have this field initialised to zero.It should be noted that our curve pyramid is much simpler

than chain pyramid[27], because it is created by repeatedlyaveraging—and subsampling—a sequence of codes. In thisinitialisation stage the receptive field of parents is 2(1× 2)instead of 4(2 × 2), but in the next stage that number isvariable between 0 and 4—in a receptive field of 1×4. Withregard to contour fragments associated with nodes, we workdirectly with orientations, whereas Meer et al.[27] use linecentroid coordinates.

3. Generation of a stable link structure

In this section, we adapt the MPL algorithm[29] to ob-tain a stable link structure associated with the curve pyra-mid described in Section 2. The algorithm has two stageswhich are iteratively applied until convergence is reached.The first stage (linking) creates links between subsequentlevels (parent and son nodes). The second stage (regenera-tion) re-computes the chain-code of each parent node, takinginto account the son nodes that were linked in the previousstage. This process is performed level by level until conver-gence, i.e., the linking and regeneration stages are repeatedwith levels 0 and 1 until the links do not change, then withlevels 1 and 2, and so forth.1

1 Similarly to the image pyramid, as the algorithm iterates,parent nodes are computed from a more homogeneous subset ofsons. Simultaneously, parents at a given level become more dif-ferent (differences are enhanced). Similarities and differences be-tween nodes are exploited, leading to a quick convergence of thealgorithm to stable subtrees.

Left

Right

Fig. 2. Possible links between nodes of hierarchical structure.

At the linking stage, we apply the “4 to 2” principle.This means that (i) each son node is linked with the mostsimilar among two possible parents, and (ii) each parent canbe linked to 0–4 sons. Consequently, for closed contours, anode i at levelk has two candidate parents at levelk + 1.Their positions,l (left) andr (right) are defined as follows:

l = (�(i + 1)/2� − 1+Nk+1)modNk+1,r = (�(i + 1)/2�)modNk+1. (5)

Fig. 2 gives an example showing son nodes linked withtheir candidate parents. Broken lines represent links withl-parentsand bold lines represent links withr-parents. Itshould be noted that the first node at levelk can always linkto the last node at levelk + 1. However, whenNk is even,the last node at levelk can only be linked with the first nodeat levelk + 1. It can also be seen that any parent node canhave up to a maximum of 4 sons. ForNk odd, the first andlast nodes at levelk+1 can have a maximum of three sons.In order to choose among candidate parents, the differ-

ences between the chain-code of the son node and each ofthe parents,Dleft andDright, are computed as follows:

Dleft =min{|Cki − Ck+1l

|, (8− |Cki − Ck+1l

|)},Dright =min{|Cki − Ck+1r |, (8− |Cki − Ck+1

l|)}. (6)

The fieldFkiof a son node can therefore take the following

l or r according to the rule:

Fki ={l if Dleft <Dright,r if Dleft >Dright.

(7)

If Dleft andDright are equal, as will be shown in Section 4,the son node is linked to the parent node at position�i/2� atlevel k+1. This positionFk

ican be expressed as a function

of l andr:

Fki |Dleft=Dright ={l if i is odd,r if i is even.

(8)

Once all the links between adjacent levels are estab-lished, the regeneration stage computes both the lengthand the chain-code fields of each parent node, taking into

Page 7: Corner Detection and Curve Egmentation

1602 F. Arrebola, F. Sandoval / Pattern Recognition 38 (2005) 1596–1614

Fig. 3. Generation of a stable link structure. Chain code of the first 6 levels before stabilisation (+) and after (bold line).

account the sons linked in the previous stage. Nodei at levelk + 1 has four potential sons at positionsSk+1

i:

Sk+1i

∈ [(2i − 1+Nk)modNk , (2(i + 1))modNk ]. (9)

If Nk is odd, this interval has length 3 for nodesi = 0 andNk+1− 1, as previously mentioned.The length associated with nodei at level k + 1, is the

sum of the lengths of its sons:

Lk+1i

=∑j∈S

Lkj , (10)

whereS is the set of son nodes. IfS = ∅, thenLk+1i

is setto zero.The chain-code of a parent node is a function of the

chain-codes and associated lengths of its sons nodes. Thecontribution of each sons node to the chain-code of its parentis proportional to its length. Therefore, if a son node has zerolength, it has no influence on the chain-code of its parent.

Three cases can be distinguished for the computation of thechain-codeCk+1

i, depending on the number of associated

sons nodes. For zero sons,Ck+1i

remains unchanged. If thenode has only one son, it adopts its chain-code. For twosonsa andb with chain-codesCa andCb, and lengthsLaandLb, respectively, the chain-code of the parent becomes:

Ck+1i

=((Cka +Offa)L

ka + (Ck

b+ Offb)L

kb

Lka + Lkb

)mod 8

, (11)

whereOffa andOffb take the following values:

Offa = 0, Offb = 0 if |Ca − Cb|<4,Offa = 0, Offb = 8 if Ca − Cb >4,Offa = 8, Offb = 0 if Cb − Ca >4.

If the number of sons is 3 or 4, Eq. (11) is applied twoor three times, respectively.Fig. 3 illustrates the link sta-bilisation process on the curve pyramid associated with thecurve ofFig. 1b. Depicted are the values of the chain-code

Page 8: Corner Detection and Curve Egmentation

F. Arrebola, F. Sandoval / Pattern Recognition 38 (2005) 1596–1614 1603

before stabilisation (plus sign) and after (bold line). It canbe seen that both are identical at the base, but becomemore and more different as we progress up the pyramid (seefootnote 1).Linking is needed in order to obtain a stable tree where

each level above the base will define a partition of the con-tour. Testing has shown that convergence of the stabilisationprocess is fast. This makes sense, as at the first iteration allparent nodes are regenerated. Further regeneration is neededonly where links have changed. This happens seldom, and asa result two or three iterations are enough for convergence.This can be seen in section B ofTable 1, which illustatesthe evolution of the stabilisation algorithm by showingthe number of iterations needed to stabilise each level, aswell as the number of required link changes andcomputations2 for each iteration.Another two different implementations of the stabilisation

process have been tested. The first implementation modi-fies the generation of nodes at the base, setting a length of√2 for a node if its chain-code indicates a diagonal orien-

tation, or 1 if not. The length for a parent node is left asnormal (Eq. (10)). The second implementation does modifythe length of each parent node, which is computed as theEuclidean distance between its most distant sons nodes. Thefirst implementation adds a negligible computational loadto the algorithm. The second, however, requires storing atwo-component vector for the node and computing its norm.Analysis of three implementations shows that they are al-most identical. It should also be remembered that what isimportant at this stage is the computation of the link struc-ture. Therefore these two different implementations wererejected in favour of the first one.

4. Class generation using non-selective propagation

As a result of the link stabilisation process, each nodeat level k will have only one parent at levelk + 1. If itslength field is different from zero, it will also have a numberof descendants at levelsk − 1, k − 2, . . . ,0. In the spiritof Burt et al. [29] approach for segmentation of images, asegmentation of the contour can be obtained by choosing asuitable levelP in the structure, then propagating the chain-code of each node at this levelCP

ito all its descendants

until the base is reached, as follows:

CP−1j

= CPi |FP−1j =i , 0�j <NP−1, 0� i <NP ,

· · ·C0j = C1i |F 0j =i , 0�j <N0, 0� i <N1. (12)

2 By computations it is meant the number of times that Eq.(11) is applied to add two nodes. This is a better indicator of thecomputational load than the number of computed nodes, as thecomputation for one node depends on the number of sons linkedto it.

This propagation process results in a stepwise constantchain-code function for the nodes at the base. Disconti-nuity points of the stepwise function define on thex-axisthe bounds of the segments into which the original contourwill be divided. The height of the steps defines the aver-age orientation assigned to each curve segment.Figs. 4a–dillustrate the sensitivity of the segmentation results to thepropagation start levelP. The segmentation is performedon the contour inFig. 1b, with P varying from 3 to 6. Thechain-codes resulting from the stabilisation and propaga-tion stages, the resulting number of segmentsNsegand thecontour with the distinguished points are illustrated.The previous example illustrates the limitations of regu-

lar pyramids, which have been previously reported[30]. Inparticular:(i) The segmentation results depend strongly on the cho-

sen propagation levelP: if P is large (close toM), too fewsegments are generated, and very different orientations canbe fused in the same segment. On the other hand, ifP isclose to the base of the structure, too many segments areobtained, and this results in segments with uniform orien-tation being subdivided. Furthermore, there is no value ofP in the interval which produces a segmentation consistentwith the ground truth segments and corners of the origi-nal contour. This prevents consistent segmentation of thecontour.(ii) The second observation is related to the fact that the

algorithm does not use connectivity[30]. Therefore nodeswhich are adjacent in some higher level of the pyramidneed not represent adjacent segments in the base level, orviceversa. This problem can also be appreciated inFig.4: For P = 6 and 5, the number of resulting segmentsis greater than the number of nodes at the propagationlevel3 (Nseg>NP , ), as shown inFigs. 4a and b. This isdue to the existence of parent nodes whose set of sons donot form a connected segment in levels lower thanP. Thisimplies that the descendants at the base are scattered, re-sulting in oversegmentation of the contour.Fig. 4a, for ex-ample, shows segments s_0, s_2 and s_4 as descendants ofthe same node, as well as segments s_1, s_3 and s_5. Thisproblem also manifests itself in the noisy intervals of thestep function forP =3, 4 and 5. The origin of this problemsis the existence of crossed links in the stabilised structure.4

The first observation suggests the need for a selectivepropagation mechanism in the class generation process andthe elimination of the starting levelP as an input parameterof the method. The propagation process defined by Eq. (12)has to be modified so that a son does not necessarily inheritthe value of its parent. It will be seen thatP can be definedto be the highest level in the pyramid with a number of

3 This only happens when connectivity is lost in some nodes.4 Recall that when a choice must be made between two parents

with identical chain-code, the stabilisation stage links a node withthe nearest parent. This is done to reduce the chance of crossedlinks remaining.

Page 9: Corner Detection and Curve Egmentation

1604 F. Arrebola, F. Sandoval / Pattern Recognition 38 (2005) 1596–1614

(a) (b)

(c) (d)

S1

S0 S2 S4

S3 S5

S3S1

S0

S5

S2 S4

Fig. 4. Class generation using non-selective propagation. Segmentation results with start levelP varying from 3 to 6.

Page 10: Corner Detection and Curve Egmentation

F. Arrebola, F. Sandoval / Pattern Recognition 38 (2005) 1596–1614 1605

nodes equal or greater than 8, i.e.,NP �8 andNP+1<8.From the second observation it is deduced that a correctionof the structure, prior to the class generation, must be madeto eliminate the possibility of crossed links. These needswill be tackled with the introduction of a new segmentationprocess, introduced in Section 5.

5. Contour segmentation using selective propagation

We start by introducing a bottom-up corrective processin order to remove crossed links from the base upwards thepropagation level. The mechanism is simple: crossed linksare first detected, and then eliminated by modifying onelinks to the affected nodes. Crossed links appear when twoneighbour nodes at levelk, i andj (i < j) have neighbourparent nodesr and l (r > l):

(F ki >Fkj )|(i < j). (13)

Crossed links originate only when nodei is odd (j is even),as illustrated inFig. 2. Once the position of pair(i, j) isdetected, one of the two nodes must change its parent, sothat the following condition holds:

(F ki �Fkj )|(i < j). (14)

The less significant node, i.e., that one with smaller lengthfield Lk

i, Lk

jis the node that changes parent. Once this

corrective step is performed, the chain-code and the length ofthe affected parent nodes must be recomputed.Fig. 5showsthe results of the segmentation of the contour inFig. 1b, priorto propagation and class generation, when the correctionstep is introduced. ForP =5 and 6, the number of resultingsegments becomes now equal or less than the number ofnodes at the propagation levelP (Figs. 5a and b). The noisyintervals forP =3 and 4 have disappeared (Figs. 5c and d).The computational load associated with this corrective

step is illustrated in section C ofTable 1. Shown are thenumber of detected crossed links, the number of affectednodes and the number of times that Eq. (11) is applied toregenerate each pair of adjacent levels. ForP = 5, only12 crossings exist, which affect 47 nodes, the 5.3% of thetotal number of nodes from the base toP. For P = 6, thepercentage of affected nodes raises to 6.1%. This is due tothe fact thatn crossings result in more than 2n regenerations,as a crossing at a levelk close to the base affects not onlyits two parents at levelk + 1, but also all its ascendants upto levelP.Once the stabilised structure is corrected the next step in

the segmentation process provides a selective class propa-gation. Each child node in the higher levels of the pyramidadopts or not the chain-code value of its parent accordingto a certain rule. Lower, closer to the base nodes propagatetheir values as in Eq. (12), i.e., sons nodes in the lowestlevels always inherit the value of their parents’ chain-code.We have evaluated alternative approaches to selective

propagation. The simplest one is based on the difference

between the chain-codes of parent and son nodes. Propaga-tion is made only when this difference is less than a certainthreshold. This improves on the results obtained with non-selective propagation. However, this approach introduces anew parameter—the threshold—whose value will stronglydepend on the particular characteristics of the contour. Ourgoal is to be able to detect details at different scales, andwork with objects of different sizes, without any parame-ter tweaking. This approach is therefore discarded, as areother, more sophisticated ones, but still based on the differ-ence of chain-codes. We finally adopted an approach basedon the variance of the parent nodes. When the variance ofa parent node is less than a certain threshold, its sons in-herit its chain-code. Conversely, if the variance is over thethreshold, none of its sons change its value. The varianceof node i at level k + 1 is computed with the followingexpression:

V k+1i

=∑j |Fj=1L

kj(min{|Ck+1

i−Ck

j|, (8−|Ck+1

i−Ck

j|)})2

Lk+1i

.

(15)

This quantifies the dispersion among the sons of nodei, i.e.,the dispersion in the orientation of the segments correspond-ing to each node.Various strategies were attempted for the task of finding

a suitable threshold for the variances of parent nodes. Ini-tially we applied a global threshold to the whole structure.A second implementation applied a local threshold to eachresolution level—more restrictive in higher levels, and lessso in lower levels of the structure. The solution that givesthe best results, and is therefore finally adopted, is to applya local threshold to each node which is inversely propor-tional to the length of the node. The propagation process isthus defined as follows:

Ck−1j

= Cki |(F k−1j =i)& (V ki <1/Lki ), P �k >PS ,

0�j <Nk−1, 0� i <Nk , (16)

Ck−1j

= Cki |(F k−1j =i), PS�k >0, 0�j <Nk−1,0� i <Nk , (17)

wherePS is the resolution level that separates higher lev-els, where selective propagation is used (Eq. (16)), andlower levels, where unconditional propagation is applied(Eq. (17)). The value forP and PS has been empiricallyfound.PS depends only on the propagation levelP, the high-est level in the pyramid with a number of nodes equal orgreater than 8:

PS = �P/2�. (18)

Fig. 6a shows the final state of the resolution levels oncethe whole segmentation process is applied to the contour inFig. 1b. The initial state of each resolution level was illus-trated inFig. 1c, and the state after stabilisation was shown

Page 11: Corner Detection and Curve Egmentation

1606 F. Arrebola, F. Sandoval / Pattern Recognition 38 (2005) 1596–1614

(a) (b)

(c) (d)

Fig. 5. Elimination of crossed links. Segmentation results with non-selective propagation but without crossed links.

Page 12: Corner Detection and Curve Egmentation

F. Arrebola, F. Sandoval / Pattern Recognition 38 (2005) 1596–1614 1607

(a)

(b)

(c)

Fig. 6. Contour segmentations using selective propagation: (a) segmented curve pyramid. Chain code of the first 6 levels, (b) segmentedcontour, and (c) derivative of the step function at the base level (curvature function).

in Fig. 3. The selective propagation process results in a num-ber of segments (number of constant value intervals for thechain-code function) equal to the ground-truth number ofsegments of the original contour at level 0 of the pyramid,and also at levels 1 and 2. The value of the chain-code func-tion at the steps gives the global orientation of each segmentin the curve.Fig. 6b shows the result of the segmentation,where small circles on the contour correspond to disconti-

nuity points of the stepwise constant chain-code function,which coincide with the distinguished points (corners, inthis case) of the object to be segmented.Fig. 6c shows thederivative of the step function at level 0, which can be seenas the curvature function of the contour–local maxima in-dicate the position and curvature value of the concave cor-ners of the object, whereas local minima indicate the posi-tion and value of the convex corners of the object. Finally,

Page 13: Corner Detection and Curve Egmentation

1608 F. Arrebola, F. Sandoval / Pattern Recognition 38 (2005) 1596–1614

section D ofTable 1shows details of the computation in-volved in the selective propagation stage. Only 42 varianceshave to be computed, which represent 4.8% of the total num-ber of nodes in the structure. Twenty-one nodes have parentswhose variance is over the local threshold and therefore donot change its chain-code value.

6. Results

This section evaluates the performance of the proposedmethod through its application to a set of contours of varioussizes and shapes. We also compare the results with thoseobtained by two monoscale methods.Fig. 7 shows results of applying the method to nine dif-

ferent contours. For each contour, the original contour andthe obtained segments are illustrated, together with quan-titative information on the segmentation and associated hi-erarchical structure, including: (i) number of points in thecontour (number of nodes in the base of the pyramid)N0,(ii) propagation levelP (number of resolution levels abovethe base which are used), (iii) number of resulting segmentsC, (iv) integrated square error (ISE), which is the error be-tween the real contour and the polygonal approximationformed by the detected segments, and (v) the figure of merit(FOM) proposed by Sarkar[32] to evaluate the performanceof the segmentation, which is computed as the ratio betweenthe compression factor (CF) and the ISE. CF is defined asCF =N0/C.Due to the fact that ISE changes more rapidly than the

CF for almost all test shapes, Marji and Siy[33] propose amodified version of Sarkar’s FOM:FOMn= (CF)n/ISE.They introduce the parametern to control the contributionof the numerator to the overall result in order to reduce theimbalance between the two terms. Therefore, in order tocompare our method we will use Sarkar’s FOM as well asMarji and Siy modified FOM.The contours inFig. 7are varied in its shape, structure and

size: The contour inFig. 7a is a scaled and rotated version ofthe one inFig. 1b, consisting of straightline segments only.The contours inFigs. 7b, c and e contain both straight andcurved line segments, butFig. 7b and e contains sectionswith high curvature, whereasFig. 7c contains only low cur-vature sections. The contour inFig. 7d has mainly curvedsegments, whereas the one inFig. 7f includes only straightones, much shorter than those inFig. 7a. Finally,Figs. 7gand h contain two contours with very few points if comparedwith the one inFig. 7i which contains over 3000 pixels.An extensive number of tests, performed on a variety of

contours, show that the proposed method presents very goodperformance. In particular, the method:

(i) generates segmentations which are stable to rotationsand scale (Figs. 1b and7a),

(ii) provides the orientation assigned to each curve seg-ment. Besides, the angles associated to corners can be

easily obtained and its amplitude is accurately calcu-lated (seeFig. 6c).

(iii) can detect near corners (Figs. 7f–i), as well as smallvariations in orientation in the contour (Figs. 7c and e).

(iv) works with a wide variety of contour sizes (Figs. 7a–i)without any parameter tweaking. The parametersP,PS and the propagation threshold depend only on theparticular features of the contour.

(v) the break point locations of segments are accurately es-timated, resulting in relatively low ISE values. There-fore, the method reaches high FOM values even incontours that contain both straight and curved line seg-ments (Fig. 7e) as well as in those that present lowcurvature sections (Fig. 7c). As expected, the FOMdecrease in contours with curved segments (Figs. 7band d).

The good behaviour of the method can be illustrated bycomparing its performance with two other methods: Gaus-sian filtering (GFM)[19–21]and circular histograms (CHM)[12], which allow segmentation of a contour by detectingthe minima and maxima of the computed curvature function.We have chosen these methods as previous work[11,12]hascompared them with other techniques[2,34], stating theirgood behaviours in terms of computational load, precisionand stability of the detected corners.Figs. 8and9 show theresults obtained with GFM and CHM, respectively, whentheir parameters are varied. The parameters for GFM arethe variance of the Gaussian filter(W = �2) and the deci-sion thresholdU. The parameters for CHM are the segmentlength for which the circular histogram is computed(K)and the decision thresholdU. For both methods the param-eters have been set so that the 23 segments in the contourof Fig. 1b are correctly detected. The associated evaluationmeasures are the ISE, FOM and C. Note thatP indicateshere the number of pixels in the contour.Fig. 8(1)a–f show results of segmentation withW = 4.0

and U = 0.0004. In Fig. 8(1)a all 23 segments are cor-rectly detected, whereas inFig. 8(1)f, where corners areclose to each other, only 10 segments are detected.Figs.8(1)b–e, where contours present curved segments, show amuch smaller FOM than the proposed method.Figs. 8(2)a–f are obtained withW = 2.5 andU = 0.009. Reductionof the variance of the filter allows GFM to detect shortersegments associated to near corners (Fig. 8(2)f). However,if the decision threshold is incremented two corners arelost (Fig. 8(2)a). The increment inU cannot avoid overseg-mentation for several contours (Figs. 8(2)b and e). This isdue to a low signal to noise ratio of the curvature func-tion obtained with these parameter values. Finally,Figs.8(3)a–f are obtained withW = 6 and U = 0.002. Thisis the maximum value for the variance which still allowsdetection of the 23 segments of the contour inFig. 1b.The lost corner inFig. 8(3)a is still not detected, no mat-ter how much isU allowed to decrease. These parametervalues, for instance, improve the FOM inFig. 8(3)e with

Page 14: Corner Detection and Curve Egmentation

F. Arrebola, F. Sandoval / Pattern Recognition 38 (2005) 1596–1614 1609

Fig. 7. Contour segmentations with proposed algorithm.

Page 15: Corner Detection and Curve Egmentation

1610 F. Arrebola, F. Sandoval / Pattern Recognition 38 (2005) 1596–1614

Fig. 8. Gaussian filtering algorithm. Contour segmentations using different input parameters.

Page 16: Corner Detection and Curve Egmentation

F. Arrebola, F. Sandoval / Pattern Recognition 38 (2005) 1596–1614 1611

Fig. 9. Circular histograms algorithm. Contour segmentations using different input parameters.

Page 17: Corner Detection and Curve Egmentation

1612 F. Arrebola, F. Sandoval / Pattern Recognition 38 (2005) 1596–1614

Table 2Comparative results forFigs. 7a–f

Shape Method Best set Points Dom. pointsCF ISE CF/ISE CF2/ISE CF3/ISE Time (�s)of param FOM FOM2 FOM3

Polygon Proposed — 303 23 13.2 86.6 0.152 2.01 26.56 820GFM 1 303 23 13.2 86.6 0.152 2.01 26.56 870CHM 1 303 23 13.2 42.6 0.310 4.09 53.99 390

Hand Proposed — 840 34 24.7 607.8 0.041 1.00 24.79 1700GFM 2 840 29 29.0 4888 0.006 0.17 4.99 2360CHM 1 840 22 38.2 7023 0.005 0.21 7.94 840

Check-mark Proposed — 429 13 33.0 136.5 0.242 7.98 263.27 1160GFM 3 429 8 53.6 9143 0.006 0.31 16.84 1200CHM 3 429 17 25.2 281.9 0.089 2.25 56.77 490

Pigeon Proposed — 367 17 21.6 307.4 0.070 1.52 32.78 760GFM 1 367 13 28.2 937.2 0.030 0.85 23.93 1040CHM 2 367 15 24.5 649.8 0.038 0.92 22.63 380

Finger Proposed — 579 20 29.0 205.0 0.141 4.10 118.97 1270GFM 2 579 37 15.6 205.2 0.076 1.19 18.50 1650CHM 3 579 17 34.1 2753 0.012 0.42 14.40 610

A Proposed — 197 15 13.1 51.5 0.254 3.33 43.65 440GFM 2 197 14 14.1 101.9 0.138 1.95 27.51 550CHM 1 197 10 19.7 646.6 0.030 0.59 11.64 280

respect toFig. 8(1)e but it is worse inFig. 8(3)d comparedwith Fig. 8(1)d.Fig. 9shows that for CHM no combination of parameters

given is found to give the best results; the highest FOM isobtained for the segmentations withK = 5 for the contoursin Fig. 9a, withK = 7 for those inFigs. 9b and d and withK = 10 in Figs. 9c and e. Thus, for fixed parameter val-ues the quality of the segmentation depends on the partic-ular features of the contour to be segmented. This justifiesthe use of multiscale methods, which allow analysis of thecurve evolution when the parameter values are varied andparticularly justifies the use of the proposed method, which,thanks to a multiresolution approach, works with contourshaving features at different scales.Table 2provides quan-titative results in order to compare the three algorithms. Itcan be observed that, generally, the proposed method giveshigherFOMn values.All computations were performed on a Pentium IV at

2.6GHz. To be able to discriminate computation time amongthe different methods and measure computation times in mi-croseconds, each algorithm has been applied iteratively 1000times to each contour. This way of calculating the compu-tation time is more natural and consistent than to use vastlylong contours. Our method is slightly faster than GFM with

a filtering kernel of length 41. CHM, however, is approxi-mately two times faster than our method. Computation timesof CHM and GFM is more proportional to the length of thecontour than our method.

7. Summary and conclusions

In this paper, a new method has been introduced for thecharacterisation of contours by means of the hierarchicalcomputation of a multiresolution structure. This structure,consisting of successive lower resolution versions of thecontour, is obtained by progressively averaging and subsam-pling of the chain-code of the original curve. This resultsin a bounded total number of nodes, which corresponds ap-proximately to twice the number of nodes in the contour(2N0 +M − 3 in the worst case).Once the pyramid is built, a stable parent–son link struc-

ture is built between nodes of adjacent levels. This appliesthe concepts of linked pyramid and MPL algorithm andrapidly converges to a stable solution.It has been proved that the stabilised structure cannot be

applied directly, through a mere top-down propagation pro-cess, to the problem of robust and consistent curve segmen-

Page 18: Corner Detection and Curve Egmentation

F. Arrebola, F. Sandoval / Pattern Recognition 38 (2005) 1596–1614 1613

tation. This is due to the existence of crossed links withresult in false detections, and to the fact that the segmenta-tion depends strongly both on the particular features of thecontour and on the chosen propagation level. To solve theseproblems we first introduce a corrective step that eliminatescrossed links, then apply a selective propagation mechanismin the higher levels of the structure. Propagation is allowedonly when certain conditions relating the variance and thelength of the parent nodes are met.The combination of these three components—stabilisation

process, correction of crossed links and selectivepropagations—results in the transformation of the chain-code at the base in a stepwise constant function that char-acterises the contour and allows for a consistent and robustsegmentation. The discontinuity points of the chain-codecorrespond to the extremes of the segments, whereas thevalue of the chain-code at the steps gives their orientation.Finally, it should be noted that the proposed method

presents good precision and quality of segmentation. Itworks with a wide range of contour sizes, allowing featuredetection at different scales without having to modify anyparameter values. This good behaviour is due to the fact thatall resolution levels are collectively processed (they all takepart and cooperate in the different stages of the pyramidconstruction), rather than individually through uniresolutionalgorithms. In addition, due to the successively performedsubsampling (which results in a number of processed nodessimilar to number of pixels in the contour) and the reducednumber of link changes at the stabilistation stage (whichresults in rapid convergence), the computational load of themethod is relatively low, being much lower than all multi-scale characterisation methods, and comparable to that ofmonoscale methods.

Acknowledgements

This work has been partially granted by the Spanish Min-isterio de Ciencia y Tecnología, MCYT and FEDER funds,under project TIC2001 - 1758.

References

[1] Y. Sato, Piecewise linear approximation of plane curvesby perimeter optimization, Pattern Recognition 25 (1992)1535–1543.

[2] J.C. Pérez, E. Vidal, Optimum polygonal approximationof digitized curves, Pattern Recognition Lett. 15 (1994)743–750.

[3] J.M. Iñesta, M. Buendia, M.A. Sarti, Reliable polygonalapproximations of imaged real objects through dominant pointdetection, Pattern Recognition 31 (6) (1998) 685–697.

[4] M. Salotti, Optimal polygonal approximation of digitizedcurves using the sum of square deviations criterion, PatternRecognition 35 (2002) 435–443.

[5] N. Kiryati, A.M. Bruckstein, What’s in a set of points?, IEEETrans. Pattern Anal. Mach. Intell. 14 (1992) 496–500.

[6] S.C. Pei, J.H. Horng, Optimum approximation of digital planarcurves using circular arcs, Pattern Recognition 29 (3) (1996)383–388.

[7] B. Sarkar, L.K. Singh, D. Sarkar, Approximation ofdigital curves with line segments and circular arcs usinggenetic algorithms, Pattern Recognition Lett. 24 (15) (2003)2585–2595.

[8] P.L. Rosin, G.A. West, Nonparametric segmentation of curvesinto various representations, IEEE Trans. Pattern Anal. Mach.Intell. 17 (12) (1995) 1140–1153.

[9] A. Rosenfeld, E. Johnston, Angle detection on digital curves,IEEE Trans. Comput. 22 (1973) 875–878.

[10] H. Freeman, L.S. Davis, A corner finding algorithm for chain-coded curves, IEEE Trans. Comput. 26 (1977) 297–303.

[11] F. Arrebola, A. Bandera, P. Camacho, F. Sandoval, Cornerdetection by local histograms of contour chain code, Electron.Lett. 33 (21) (1997) 1769–1771.

[12] F. Arrebola, P. Camacho, A. Bandera, F. Sandoval, Cornerdetection and curve representation by circular histograms ofcontour chain code, Electron. Lett. 35 (13) (1999) 1065–1067.

[13] A. Bandera, C. Urdiales, F. Arrebola, F. Sandoval, Cornerdetection by means of adaptively estimated curvature function,Electron. Lett. 36 (2) (2000) 124–126.

[14] C. Urdiales, C. Trazegnies, A. Bandera, F. Sandoval, Cornerdetection based on adaptively filtered curvature function,Electron. Lett. 39 (5) (2003) 426–428.

[15] Wen-Yen Wu, An adaptive method for detecting dominantpoints, Pattern Recognition 36 (10) (2003) 2231–2237.

[16] B.K. Ray, R. Pandyan, ACORD—an adaptive corner detectorfor planar curves, Pattern Recognition 36 (3) (2003) 703–708.

[17] H.L. Beus, S.S.H. Tiu, An improved corner detectionalgorithm based on chain-coded plane curves, PatternRecognition 20 (3) (1987) 291–296.

[18] N. Ansari, E.J. Delp, On detecting dominant points, PatternRecognition 24 (5) (1991) 441–451.

[19] F. Mokhtarian, A. Mackworth, Scale-based description andrecognition of planar curves and to-dimensional shapes, IEEETrans. Pattern Anal. Mach. Intell. 8 (6) (1986) 679–698.

[20] F. Mokhtarian, A. Mackworth, A theory of multiscalecurvature-based shape representation for planar curves, IEEETrans. Pattern Anal. Mach. Intell. 14 (8) (1992) 789–805.

[21] A. Rattarangsi, R.T. Chin, Scale-based detection of corners ofplanar curves, IEEE Trans. Pattern Anal. Mach. Intell. 14 (4)(1992) 430–449.

[22] B.K. Ray, K.S. Ray, Corner detection using iterative Gaussiansmoothing with constant window size, Pattern Recognition 28(11) (1995) 1765–1781.

[23] P. Saint-Marc, J. Chen, G. Medioni, Adaptive smoothing: ageneral tool for early vision, IEEE Trans. Pattern Anal. Mach.Intell. 14 (4) (1991) 430–449.

[24] J.P. Antoine, D. Barache, R.M. Cesar Jr., L. da Fontoura Costa,Shape characterization with the wavelet transform, SignalProcess. 62 (1997) 265–290.

[25] B.K. Jang, R.T. Chin, Morphological scale space for 2D shapesmoothing, Comput. Vision Image Understand. 70 (2) (1998)121–141.

[26] V. Beau, M. Singer, Reduced resolution and scale space fordominant feature detection in contours, Pattern Recognition34 (2001) 287–297.

Page 19: Corner Detection and Curve Egmentation

1614 F. Arrebola, F. Sandoval / Pattern Recognition 38 (2005) 1596–1614

[27] P. Meer, C.A. Sher, A. Rosenfeld, The chain pyramid:hierarchical contour processing, IEEE Trans. Pattern Anal.Mach. Intell. 12 (4) (1990) 363–376.

[28] Z. Chen, I.P. Chen, A simple recursive method for convertinga chain code into a quadtree with a lookup table, Image VisionComput. 19 (7) (2001) 413–426.

[29] P.J. Burt, T.H. Hong, A. Rosenfeld, Segmentation andestimation of image region properties through cooperativehierarchical computation, IEEE Transactions on Syst. ManCybern. 11 (12) (1981) 802–809.

[30] M. Bister, J. Cornelis, A. Rosenfeld, A critical view of pyramidsegmentation algorithms, Pattern Recognition Lett. 11 (9)(1990) 605–617.

[31] J.M. Jolion, A. Rosenfeld, A Pyramid Framework forEarly Vision, Kulwer Academic Publishers, Dordrecht, 1994,pp. 24–28.

[32] D. Sarkar, A simple algorithm for detection of significantvertices for polygonal aproximation of chain-coded curves,Pattern Recognition Lett. 14 (12) (1993) 959–964.

[33] M. Marji, P. Siy, Polygonal representation of digital planarcurves through dominant point detection-a nonparametricalgorithm, Pattern Recognition 37 (11) (2004) 2113–2130.

[34] T. Pavlidis, S.L. Horowitz, Segmentation of plane curves,IEEE Trans. Comput. 23 (1974) 860–870.

About the Author—FABIÁN ARREBOLA was born in Spain in 1963. He received his title of Telecommunication Engineering from theTechnical University of Madrid, Spain, in 1989 and his Ph.D. degree from the University of Málaga, Spain, in 1998. From 1988 to 1990he was working in the Radar Division of CESELSA, Spain. From 1991 to the present day he has worked in the Department of TecnologíaElectrónica of the University of Málaga as an Assistant Professor and a Lecturer, successively. His research is focused on artificial visionand image processing.

About the Author—FRANCISCO SANDOVAL was born in Spain in 1947. He received his title of Telecommunication Engineering andPh.D. degree from the Technical University of Madrid, Spain, in 1972 and 1980, respectively. From 1972 to 1989 he was engaged inteaching and research in the fields of opto-electronics and integrated circuits in the Universidad Politécnica de Madrid (UPM) as an AssistantProfessor and a Lecturer, successively. In 1990 he joined the University of Málaga as Full Professor in the Department of TecnologíaElectrónica. He is currently involved in autonomous systems and foveal vision.