Pattern Recognition Letters 27 (2006) 529–535 www.elsevier.com/locate/patrec
Modified Arc tree based hierarchical representation of digital curve Pankaj Ganguly
*
Department of Information Technology, ABV-Indian Institute of Information Technology and Management, Gwalior 474 003, India Received 13 April 2005; received in revised form 18 July 2005 Available online 2 November 2005 Communicated by G. Borgefors
Abstract We modify the general Arc tree for better hierarchical representation of digital curve. The proposed method finds tree vertices at only dominant points. Experimental results illustrate superiority of our modified Arc tree over simple Arc tree, Strip tree and Equal error tree. Ó 2005 Elsevier B.V. All rights reserved. Keywords: Digital curve; Hierarchical representation; Arc tree; Split points; ISE
1. Introduction Shape helps to reveal the identity of an object and so it becomes useful visual information in the field of image processing and computer vision. The outer boundary or contour normally determines an objectÕs shape. Widely used forms for any boundary curve representation are chain codes—the Freeman chain code (Freeman, 1961), differential chain code (Bribiesca, 1992) and vertex chain code (Bribiesca, 1999). The Freeman chain code is most famous. However, the chain code with Huffman coding (Liu and Zalik, 2005) requires 1.97 bits/code and it outperforms all other chain codes in storage point of view. For effective processing and storage (targeted to process efficiently) of boundary curve, hierarchical data structure is more suitable than the chain code. In particular, to perform set, search or recognition operations efficiently, hierarchical data structure is more useful. For any geometrical operation, we start initially at the coarse representation (near to root) and then move to the finer level. Many hierarchical structures for curve representation have been proposed in the literature. These include Bezier tree (Bezier, 1974), Strip tree (Ballard, 1981), Arc tree (Gunther and *
Tel.: +91 98 2340 5435; fax: +91 712 222 6901. E-mail address:
[email protected]
0167-8655/$ - see front matter Ó 2005 Elsevier B.V. All rights reserved. doi:10.1016/j.patrec.2005.09.016
Wong, 1990), MBO tree (Ho and Kim, 2001a,b). Many different hierarchical structures are also available for different applications. For example, Quad tree and Oct tree (Hunter and Steiglitz, 1979; Gargantini, 1982; Samet, 1984) for compact image space representation. Brief surveys can be found in (Samet, 1984; Samet and Webber, 1988; Gunther and Dominguez, 1993; Ho and Kim, 2001b). While a Strip tree recursively divides a curve segment into two parts at the point that has maximum error from the approximated straight line segment for the curve segment, an Arc tree splits a curve into 2k segments of equal lengths at k-th hierarchical level. Sarkar et al. (2003) have used the Strip tree and the Arc tree schemes for hierarchical representation of digital curve. To achieve better performance, they have introduced a new data structure called ÔEqual error treeÕ. The idea behind this scheme is to select that particular point (on the curve) as the next point of subdivision for which the difference in errors for two sub-segments is either zero or minimum. The Equal error tree outperforms the Arc tree and compares well with the Strip tree. In their paper, Held et al. (1994) have proposed an algorithm to determine a hierarchically arranged set of dominant points for the hierarchical representation of digital boundary. Some other related works can be found in (Koplowitz and DeLeone, 1996; Xu, 1997).
530
P. Ganguly / Pattern Recognition Letters 27 (2006) 529–535
In this paper, we modify the general Arc tree approach for better hierarchical representation of digital curve. In our scheme, few constraints are made to stop the selection of any non-terminal collinear point as split point. For segment representation, straight line segments are used as primitives. The remainder of this paper is organized as follows: Section 2 discusses the general Arc tree based scheme. Modification and related computational complexity are also explained in Section 2. Experimental results are shown in Section 3 and are followed by Section 4 which concludes the paper.
2.1. Arc tree An Arc tree representation divides a curve with length l into 2k segments of equal length l/2k at k-th hierarchical level. Each segment is being represented by a unique straight line segment. When the curve is discrete or digital, all segments may not be having equal lengths. Every time the mid-length point of any digital segment is calculated. This mid-length point may not fall on any point of digital segment; then there are two candidates and the candidate which is nearer to that midpoint is selected as split point. Tie is broken arbitrarily. An example of Arc tree formation is depicted in Figs. 1 and 2.
2. Arc tree and its modification 2.2. Modification Suppose a set of M + 1 points, D = {v1, v2, v3, . . . , vM, vM+1} is used for hierarchical representation. Since the first and the last point are same for any closed curve, cardinality M + 1 indicates M digital segments. Thus, the Integral Square Error (ISE) for the representation is given by EðN ; M þ 1Þ ¼
M X
E1 ðvk ; vkþ1 Þ
ð1Þ
k¼1
where N is the number of points on the digital curve and E1(vk, vk+1) is the ISE of the k-th digital curve segment, dcs(vk, vk+1). If the point sequence of dcs(vk, vk+1) is {pk,i, pk,i+1, pk,i+2, . . . ,pk,j2, pk,j1, pk,j} where pk,i and pk,j are vk and vk+1, respectively and d [ p, line(vk, vk+1)] is the minimum distance from the point p to line(vk, vk+1), then E1(vk, vk+1) is given by pk;j
E1 ðvk ; vkþ1 Þ ¼
X
d 2 ½p; lineðvk ; vkþ1 Þ
Connecting two endpoints of a straight digital curve segment with a line segment, the approximation ISE becomes zero. Thus, subdividing a straight digital segment, no extra information is achieved; rather it increases the number of nodes in the tree representation and hence lowers data compression. To achieve high data compression, nonterminal collinear points are never selected as split points. Any dcs(vk, vk+1) can have one or two midpoints. Two midpoints exist only when the curve segment consists of even number of points and the non-zero lengths len(vk, Pi) and len(Pi+1, vk+1) are equal. For splitting at any level of hierarchy the following propositions are to be used. Propositions 3 and 4 are for selecting split point when there is (are) one and two midpoint(s), respectively. Proposition 1. For a closed digital curve, the starting point should not be a non-terminal collinear point.
ð2Þ
p¼pk;i
This error E(N, M + 1) is incurred for the set D. The set D at any level is dependent on the D of previous level. This dependency differentiates the hierarchical representation from the polygonal approximation. Again, the length of dcs(vk, vk+1) is given by lenðvk ; vkþ1 Þ ¼
j1 X fðxk;t xk;tþ1 Þ2 þ ðy k;t y k;tþ1 Þ2 g1=2
ð3Þ
t¼i
Collinear points are those points that lie on a straight line. Any two points are always collinear because there is a straight line which passes through both. Thus we often determine if three or more points are collinear. Points that do not lie on the same straight line are called non-collinear. If pi {i = 1,2, . . . ,j} points are collinear, two endpoints p1 and pj are terminal collinear and rest pi {i = 2, . . . ,j 1} are non-terminal collinear points. In this section, we at first discuss the Arc tree formation technique for a digital curve (segment). Then, how the Arc tree is modified is explained. At the end, computational complexity for the modified tree formation is mentioned.
Fig. 1. Arc tree formation with digital curve segment having chain code 111111177577. (a) Shows split point (except two endpoints) in larger dots for the first level of the tree, (b) shows two more split points for the second level.
Fig. 2. Arc tree at different levels for the digital curve segment shown in Fig. 1, (a) shows the first level and (b) shows the second level.
P. Ganguly / Pattern Recognition Letters 27 (2006) 529–535
Proposition 2. A digital curve segment consisting collinear points should not be divided further (Sarkar et al., 2003). Proposition 3 (i) If the midpoint (Pi) is a non-collinear or a terminal collinear point, it is selected as a split point. (ii) If Pi is a non-terminal collinear point, endpoints (Pim and Pi+j) of the collinear segment (to which the midpoint belongs) become candidates for splitting. (a) If one candidate is an endpoint of dcs(vk, vk+1) i.e. vk = Pim or vk+1 = Pi+j, then the another point is automatically selected as split point. (b) If vk 5 Pim and vk+1 5 Pi+j, then E1(vk, Pim) + E1(Pim, vk+1) and E1(vk, Pi+j) + E1(Pi+j, vk+1) are computed. If the former error is smaller than the latter, Pim is chosen; If the former is more, Pi+j is selected as split point; In case of equality, one point among Pim and Pi+j is randomly selected. Proposition 4 (i) If two midpoints (Pi and Pi+1) are non-collinear or one is non-collinear and another is a terminal collinear, then E1(vk, Pi) + E1(Pi, vk+1) and E1(vk, Pi+1) + E1(Pi+1, vk+1) are computed and which incurs the smaller error is chosen as a split point. Tie is broken randomly. (ii) If one midpoint is terminal collinear and another is non-terminal collinear, the terminal collinear is given preference and selected as a split point. (iii) If Pi and Pi+1 are non-terminal collinear points, endpoints (Pim and Pi+1+j) of the collinear segment (to which two midpoints belong) become candidates for splitting. (a) If vk = Pim (or vk+1 = Pi+1+j), Pi+1+j (or Pim) is automatically chosen as split point. (b) If vk 5 Pim and vk+1 5 Pi+1+j, then E1(vk, Pim) + E1(Pim, vk+1) and E1(vk, Pi+1+j) + E1(Pi+1+j, vk+1) are computed and which incurs smaller error is chosen. Tie is broken randomly. Propositions 2–4 ensure that subdivision can not take place at any non-terminal collinear point. First proposition ensures that the starting point can not be non-terminal collinear. These, however, are responsible for making the resultant binary tree imbalanced. For the digital curve segment dcs(P1, P7) with chain code 232100 and for the dcs(P1, P5) with chain code 2344, midpoints P4 and P3 are non-collinear and terminal collinear respectively and they are selected as split point of respective segments. Example of the Proposition 3(iia) is the dcs(P1, P5) with chain code 4222. Here, the midpoint P3 is a non-terminal collinear point and it belongs to the collinear sub-segment dcs(P2, P5). Now, P2 and P3 become candidates for split point, but P5 is an endpoint. Thus, P2 is automatically chosen as the split point. Two different cases that support the Proposition 3(iib) are the dcs(P1, P7)
531
with chain code 233345 and the dcs(P1, P5) with chain code 4224. In the former case, the midpoint P4 is a non-terminal collinear point and hence P2 and P5 become candidates. E1(P1, P2) + E1(P2, P7) = 0 + 6.03 = 6.03 and E1(P1, P5) + E1(P5, P7) = 0.56 + 0.20 = 0.76. Since the first sum is more, P5 becomes the next point of subdivision. For the remaining case, P3 is the midpoint; P2 and P4 are candidates; Errors for P2 and P4 are equal and hence any point among P2 and P4 is selected randomly. All these cases are depicted in Figs. 3 and 4 contains illustrations of Proposition 4. Let SA(i) and SMA(i) be the number of straight line segments used at i-th hierarchical level for the Arc tree and the modified Arc tree, respectively. The recurrence relation for the modified case is SMA(i) = 2SMA(i1) di where i1 die{0, 1, 2, . . . ,2P 1} and SMA(1) = 2. Solving we get l S MA ðlÞ ¼ 2 li¼2 2li d i ; d i ef0; 1; 2; . . . ; 2i1 1g. The same for the Arc tree is SA(l) = 2l for 1 6 l 6 lmax 1 and SA(l) = 2l sl, sle{0, 1, 2, . . . , 2l1 1} for l = lmax. The number of dominant (or split) points selected at hierarchical level ÔlÕ for the modified Arc tree is DMA(l) = SMA(l) + 1 since we initially need 3 (i.e. 2 + 1) points to get SMA(1) = 2. Similarly DA(l) = SA(l) + 1 for the general Arc tree. For any level of hierarchical representation higher value of compression ratio is deserved. At the l-th level, compression ratios for the Arc tree and the modified Arc tree are CRA(l)(= N/DA(l)) and CRMA(l)( = N/DMA(l)), respectively. N is the number of points on the digital curve. CRMA(l) is
Fig. 3. Illustration of Proposition 3: Midpoints, candidates for split points and selected split points are shown in larger filled boxes, filled circles, and surrounding circles. (a) Chain code 232100 where the non-collinear midpoint is chosen as split point (Proposition (i)). (b) Chain code 2344 where the terminal collinear midpoint is chosen as split point (Proposition (i)). (c) Chain code 4222 is an example for Proposition (iia). (d1)–(d3) Illustrate Proposition (iib) where ISEs at two candidates are different. (e1)– (e3) Illustrate Proposition (iib) where ISEs at two candidates are equal.
532
P. Ganguly / Pattern Recognition Letters 27 (2006) 529–535
Fig. 4. Illustration of Proposition 4: Midpoints, candidates for split points and selected split points are shown in larger filled boxes, filled circles, and surrounding circles. (a) Chain code 2231100 where two midpoints are noncollinear and ISEs are different (Proposition (i)). (b) Chain code 0012100 where two midpoints are non-collinear and ISEs are equal (Proposition (i)). (c) Chain code 20200 where one midpoint is non-collinear and another is terminal collinear and ISEs are different (Proposition (i)). (d) Chain code 42222 is an example for Proposition (iiia). (e) Chain code 23345 is an example for Proposition (ii). (f) Illustrates Proposition (iiib) where ISE at two candidates are different. (g) Illustrates Proposition (iiib) where ISE at two candidates are equal.
Fig. 6. Fifth level hierarchical representations of Figure of eight curve width: (a) Arc tree, (b) Strip tree, (c) Equal error tree, (d) Modified Arc tree based schemes.
Pl1 greater than CRA(l) when ð i¼2 2li d i 6¼ 0Þ and/or (dl > sl where l = lmax). For any other case, CRMA(l) becomes equal to CRA(l). Hence, the modified Arc tree, in general, is better than the Arc tree in terms of compression ratio. The compression ratio is inversely proportional to the number of split points. So, in all four cases of fifth hierarchical level representations, shown in Figs. 5–8, simply counting the number of split points, it can be said that
Fig. 7. Fifth level hierarchical representations of Leaf curve width: (a) Arc tree, (b) Strip tree, (c) Equal error tree, (d) Modified Arc tree based schemes.
the modified Arc tree yields more compression ratio than that incurred by the Arc tree. 2.3. Time complexity Fig. 5. Fifth level hierarchical representations of Chromosome shaped curve width: (a) Arc tree, (b) Strip tree, (c) Equal error tree, (d) Modified Arc tree based schemes.
Since the Arc tree is height balanced, the best and the worst case complexities are O(n log n) where the total
P. Ganguly / Pattern Recognition Letters 27 (2006) 529–535
533
measure has also some limitation constraints. Here, beside ISE and ME, we have used two more useful evaluation criteria in our experiment and they are (1) the level number
Table 1 Comparison of schemes on the basis of lISE=0 and NISE=0 Curve name
Tree
lISE=0
Chromosome
Arc Strip Equal error Modified Arc
6 7 7 6
61 38 43 38
Figure of eight
Arc Strip Equal error Modified Arc
6 7 7 6
46 31 39 31
Semicircle
Arc Strip Equal error Modified Arc
7 8 8 7
103 53 66 53
Leaf
Arc Strip Equal error Modified Arc
7 10 9 8
120 58 71 58
Fig. 8. Fifth level hierarchical representations of Semicircle curve width: (a) Arc tree, (b) Strip tree, (c) Equal error tree, (d) Modified Arc tree based schemes.
number of points on the digital curve is represented by ÔnÕ. Strip tree takes O(n log n) and O(n2) complexities in the best and worst case, respectively. For Equal error tree construction, to determine the error difference at any point, all other points need to be considered and hence the similar computational complexities become O(n2 log n) and O(n3). In our approach, the best case happens when we get single candidate for splitting every time. At this case, the tree is balanced with log n levels and no ISE comparison is needed. Thus, the best case computational complexity of the modified Arc tree is O(n log n). In the worst case, we need to compare ISEs only once to determine each split point, but the tree becomes imbalanced. So, the worst case complexity is O(n2). Thus, the modified Arc tree is better than the Equal error tree and equally well with Strip tree.
Table 2 Performance comparisons with various techniques for chromosome and figure of eight curves Level
Tree
ME
ISE
ME
ISE
1
Arc Strip Equal error Modified Arc
Chromosome
3 3 3 3
7.767 7.767 7.767 7.767
934.920 934.920 934.920 934.920
3 3 3 3
6.868 6.000 6.000 6.868
576.755 412.000 412.000 576.755
2
Arc Strip Equal error Modified Arc
5 5 5 5
5.657 5.657 3.944 5.657
261.905 261.905 185.244 261.905
5 5 5 5
5.200 5.200 4.000 5.200
312.234 360.406 223.357 312.234
3
Arc Strip Equal error Modified Arc
9 9 9 9
2.302 2.302 2.214 2.307
50.073 50.951 55.309 54.515
9 9 9 9
1.480 2.121 4.439 1.457
25.010 33.246 119.311 21.248
4
Arc Strip Equal error Modified Arc
17 16 17 16
1.581 1.414 0.894 2.000
19.325 10.158 8.529 21.522
17 16 17 16
1.342 0.728 0.707 1.000
8.108 4.249 3.657 6.769
5
Arc Strip Equal error Modified Arc
33 27 29 28
1.000 0.555 0.555 0.632
4.900 1.731 2.750 2.487
33 23 27 27
0.447 0.447 0.555 0.447
1.600 1.034 1.600 0.799
6
Arc Strip Equal error Modified Arc
61 34 14 38
0.000 0.800 0.554 0.000
0.000 0.447 0.584 0.000
46 28 35 31
0.000 0.600 0.447 0.000
0.000 0.447 0.800 0.000
7
Strip Equal error
38 43
0.000 0.000
0.000 0.000
31 39
0.000 0.000
0.000 0.000
N
3. Experimental results In order to assess the performance of our modified technique we have applied our algorithm to four digital curves used in (Teh and Chin, 1989), namely chromosome shaped curve (Fig. 5), figure of eight curve (Fig. 6) and leaf shaped curve (Fig. 7) and semicircle curve (Fig. 8). In related works, different schemes have been compared on the basis of ISE and maximum error (ME). However, both measures neglect the information compression aspect. Held et al. (1994) have introduced a relative error that takes the compression aspect into account. But, their proposed
NISE=0
Figure of eight N
534
P. Ganguly / Pattern Recognition Letters 27 (2006) 529–535
(lISE=0) of the tree at ISE = 0 and (2) the number of nodes (NISE=0) in the tree at ISE = 0. It is desirable to have lISE=0 as small as possible. Again, smaller the NISE=0, better the representation is. NISE=0 reveals the compression aspect. On the basis of lISE=0 and NISE=0, our representation method is compared with three other techniques in Table 1. From this table it is clear that in all four cases, Arc tree needs more NISE=0 compared to others. This leads to poor data compression and hence a serious disadvantage of Arc tree scheme. Our modified scheme always ensures to take up the least possible NISE=0. Even though Strip tree takes least possible NISE=0 in these four cases, there is no guarantee of this behaviour in general. Again, in all cases, except leaf curve, Arc tree and modified Arc tree have least lISE=0 values. For leaf curve, Arc tree has the minimum lISE=0 value and Strip tree fails drastically. In all four cases, modified Arc tree outperforms Equal error tree and Strip tree.
Table 3 Performance comparisons with various techniques for semicircle and leaf curves Level
Tree
Semicircle
Leaf
N
ME
ISE
N
ME
ISE
1
Arc Strip Equal error Modified Arc
3 3 3 3
19.616 21.191 18.225 19.616
13328.984 14151.257 13117.401 13328.984
3 3 3 3
11.424 10.947 12.971 11.424
4968.672 4723.018 6142.506 4940.078
2
Arc Strip Equal error Modified Arc
5 5 5 5
7.118 7.953 6.290 8.001
1332.594 1249.754 1034.223 1431.440
5 5 5 5
13.974 5.038 7.155 13.038
3076.480 505.315 916.004 2646.068
3
Arc Strip Equal error Modified Arc
9 9 9 9
4.882 4.715 4.122 4.882
433.580 222.228 285.974 432.357
9 9 9 9
5.800 5.876 4.472 6.082
701.923 643.433 375.904 620.598
4
Arc Strip Equal error Modified Arc
17 17 17 16
1.644 3.536 2.942 1.669
48.654 137.303 60.236 52.077
17 16 17 17
3.606 4.664 3.157 3.535
167.607 197.479 183.938 164.233
5
Arc Strip Equal error Modified Arc
33 29 30 30
1.414 1.404 1.000 1.000
11.814 14.612 7.289 6.240
33 26 32 30
2.121 5.814 3.130 2.121
51.330 272.638 59.920 29.680
6
Arc Strip Equal error Modified Arc
65 43 50 46
0.707 0.632 1.000 0.447
3.100 2.139 3.507 1.400
65 37 52 46
1.000 2.000 0.632 1.341
11.700 18.736 5.092 7.723
7
Arc Strip Equal error Modified Arc
103 52 64 53
0.000 0.447 0.447 0.000
0.000 0.200 0.400 0.000
120 46 66 57
0.000 0.894 0.447 0.447
0.000 3.711 0.753 0.400
8
Strip 53 Equal error 66 Modified Arc –
0.000 0.000 –
0.000 0.000 –
54 70 58
0.485 0.447 0.000
0.753 0.200 0.000
9
Strip Equal error
57 71
0.447 0.000
0.200 0.000
10
Strip
58
0.000
0.000
It is desirable to have fairly good representation of a curve at every level of hierarchy. For a good representation low ISE and low ME are deserved. But, practically all schemes fail to achieve satisfactory results at every level. Different ISE and ME values for different test curves obtained by four different schemes are tabulated in Table 2 and in Table 3. Up to fifth hierarchical level the results of Equal error tree are quoted in (Sarkar et al., 2003) and the rest are calculated based on their 5th hierarchical level results. For visual appreciation, different representations of four curves obtained by four techniques at the 5th hierarchical level are depicted here (Fig. 5–8). First few levels of any hierarchical representation fail to preserve the overall shape perception of the original curve because the numbers of points used for representation are inadequate. So, we compare three existing techniques with our modified Arc tree scheme from the third level onwards and experimental results prove our modified Arc tree at least comparable with Strip tree and Equal error tree. On the basis of all four criteria, we can conclude that the modified tree scheme is superior over other three methods. The Equal error tree always compares ISE to determine the split point. Our modified Arc tree needs ISE comparison only when any one among Propositions 3(iib), 4(i) and 4(iiib) is true. Thus, the number of such comparison is significantly smaller in the modified Arc tree case. In particular, for the leaf shaped curve at the first level of hierarchy, the Equal error tree method needs 118 comparisons while our modified Arc tree scheme compares only once. The latter method does only 11 ISE comparisons to build the tree representation until ISE becomes zero. For all other test curves also, the modified Arc tree method saves much computational time through the reduction of number of ISE comparisons compared to the Equal error tree method. 4. Conclusions To overcome the data compression related shortcoming of general Arc tree for representing digital curves, we have proposed a modified Arc tree scheme in this paper. This scheme tries to adopt the midpoint selection advantage of Arc tree. When any linear segment exists inside the curve, the modified Arc tree scheme ensures smaller NISE=0 as compared to Arc tree scheme. This may increase lISE=0. At the same lISE=0 value, modified Arc tree may reduce NISE=0 also. However, larger lISE=0 for modified scheme always means smaller NISE=0. Equal error tree, Strip tree and modified Arc tree incur comparable ISE and ME values. Experimental results demonstrate that the modified Arc tree technique outperforms these other two schemes on the basis of lISE=0. Equal error tree takes high complexity values, best case O(n2 log n) and worst case O(n3) which may limit its usefulness for large scale curves. But, other methods including the modified Arc tree have less computational complexities and hence applicable for large size curves.
P. Ganguly / Pattern Recognition Letters 27 (2006) 529–535
Acknowledgements We wish to thank both reviewers whose valuable comments make this paper richer in content. The help of Prof. M. Lindenbaum is also thankfully acknowledged. References Ballard, D.H., 1981. Strip Trees: A hierarchical representation for curve. Commun. ACM 24 (5), 310–321. Bezier, P.E., 1974. Mathematical and practical possibilities of UNISURF. In: Computer Aided Geometric Design. Academic Press, New York, pp. 127–152. Bribiesca, E., 1992. A geometric structure for two-dimensional shapes and three-dimensional surfaces. Pattern Recognit. 25, 483–496. Bribiesca, E., 1999. A new chain code. Pattern Recognit. 32, 235– 251. Freeman, H., 1961. On the encoding of arbitrary geometric configurations. IEEE Trans. Electron. Comput. EC-10, 260–268. Gargantini, I., 1982. Linear Oct trees for fast processing of three-dimensional objects. Comput. Graphics Image Process., 365– 374. Gunther, O., Dominguez, S., 1993. Hierarchical schemes for curve representation. IEEE Comput. Graph. Appl. 13 (3), 55–63. Gunther, O., Wong, E., 1990. The Arc Tree: An approximation scheme to represent arbitrary curved shapes. Comput. Vision Graphics Image Process. 51, 313–337.
535
Held, A., Abe, K., Arcelli, C., 1994. Towards a hierarchical contour description via dominant point detection. IEEE Trans. Syst. Man Cybernet. 24 (6), 942–949. Ho, P., Kim, M., 2001a. A hierarchical scheme for representing curves without self-intersections. In: Proc. of IEEE Int. Conf. on Computer Vision and Pattern Recognit., CVPR 2001, vol. 2, pp. 498–503. Ho, P., Kim, M., 2001b. HiRAMBO: A new hierarchical representation scheme for planar curves. In: Proc. of IEEE Int. Symp. on Industrial Electronics, ISIE 2001, vol. 3, pp. 1557–1562. Hunter, G., Steiglitz, K., 1979. Operations on images using quad trees. IEEE Pattern Anal. Machine Intell. 1 (2), 145–153. Koplowitz, J., DeLeone, J., 1996. Hierarchical representation of chainencoded binary image contours. Comput. Vision Image Understanding 63, 344–352. Liu, Y.K., Zalik, B., 2005. An efficient chain code with Huffman coding. Pattern Recognit. 38, 553–557. Samet, H., 1984. The quad tree and related data structures. ACM Comput. Surveys, 187–260. Samet, H., Webber, R.E., 1988. Hierarchical data structures and algorithms for computer graphics. IEEE Comput. Graphics Comput. Appl., 48–68. Sarkar, B., Roy, S., Sarkar, D., 2003. Hierarchical representation of digitized curves through dominant point detection. Pattern Recognition Lett. 24, 2869–2882. Teh, C.-H., Chin, R.T., 1989. On the detection of dominant points on digital curves. IEEE Pattern Anal. Machine Intell. 11 (8), 859–872. Xu, J., 1997. Hierarchical representation of 2-D shapes using convex polygons: A morphological approach. Pattern Recognition Lett. 18, 1009–1017.