A dynamic method for dominant point detection

Graphical Models 64 (2003) 304–315
www.elsevier.com/locate/gmod
A dynamic method for dominant point detection
Wen-Yen Wu*
Department of Industrial Engineering and Management, I-Shou University, Kaohsiung 84008, Taiwan
Received 16 April 2001; received in revised form 31 July 2002; accepted 20 November 2002
Abstract
Detecting dominant points is an important step for shape representation. Most of dominant point detection methods attend to preset or find the region of support of each point.
In this paper, we demonstrate an improved method for determining the region of support
in the dominant point detection. Instead of setting the regions of support for points independently, the region of support dynamically depending on the previous region of support. The
experimental results show that the proposed method is effective in detecting dominant points.
Ó 2003 Elsevier Science (USA). All rights reserved.
Keywords: Curvature; Region of support; Polygonal approximation; Dominant points
1. Introduction
Attneave [2] pointed out that information on a curve is concentrated at the dominant points. Dominant points are those points that have curvature extreme on the
curve and they can suitably describe the curve for both visual perception and recognition. Over the years, many approaches have been proposed to detect the dominant
points on digital curves.
In general, the two major categories of approaches are corner detection [3,4,7,8,
11,13] and polygonal approximation [1,5,6,9,10,12,14,15]. The purpose of corner detection is to detect some potential points that can sufficiently represent the shape of
the object. Corner detection approaches can detect potential significant points, but
they cannot represent smooth curve appropriately. For polygonal approximation approaches, sequential, iterative, and optimal algorithms are commonly used. Most of
*
Fax: +886-7-6578536.
E-mail address: [email protected].
1524-0703/03/$ - see front matter Ó 2003 Elsevier Science (USA). All rights reserved.
doi:10.1016/S1077-3169(02)00008-4
W.-Y. Wu / Graphical Models 64 (2003) 304–315
305
the sequential techniques are simple and fast, but they have the drawbacks of missing
important features. The family of iterative approaches splits and merges curves iteratively until they meet the preset allowances. The iterative approaches suffer the sensitivity to the selection of the starting points for partitioning curves. For optimal
approaches, they tend to find the optimal polygonal approximation based on specified criteria and error bound constraints. They have the disadvantages of large computation cost and memory requirement.
In this paper, an improved method is proposed to determine the region of support
in finding dominant points. We modify the method proposed by Teh and Chin [11]
by setting the next region of support depending on the present region of support. The
new choosing strategy can solve the problem of detecting too many dummy dominant points. In Section 2, we will illustrate the proposed method for determining
the region of support. Section 3 will present the experimental results of the new strategy. Some concluding remarks are then given in Section 4.
2. Dominant point detection
Dominant points are commonly considered as points with local maximum curvature. In the Euclidean plane, curvature can be easily defined as the rate of change of
slope as a function of arc length. Unfortunately, the above definitions do not hold
for a digital curve, since there exist no exact mathematical definition for the digital
curve. Therefore, the existing corner detection algorithms involve in defining an estimation method for curvatures. Most of the algorithms use the information of the knearest neighbors and overcome the fundamental problem of discrete property by
defining a region of support to compute curvature measure. The dominant points
can then be detected by the following two common stages: (1) estimate the curvature
for each point on the digital curve and (2) locate the points with local maximum curvatures as the dominant points.
Teh and Chin [11] claimed that a precise determination of region of support was
more important than the chosen curvature estimation. In order to solve the region of
support setting problem, they presented a nonparametric method. Based on the local
properties, the region of support of each point can be determined independently. The
chord length and perpendicular distance of the point to the chord were used to determine the region of support. The region of support is symmetric with respect to
each point. Once the region of support has been determined, various curvature measures, such as k-cosine, k-curvature, and 1-curvature measures, can be used to detect
dominant points.
However, Cornic pointed that the Teh–Chin algorithm is known to be not very robust in presence of noise [3]. In addition, the experimental results show that their
method detects too many dummy dominant points in most cases. It is due to that their
method tends to find small region of support for each point. It has been seen that a
small region of support will detect more dominant points than that of a large region
of support. In addition, it is seen from the observations that the supporting regions of
the points on a curve are dependent each other. That is, the determination of region of
306
W.-Y. Wu / Graphical Models 64 (2003) 304–315
support for each point can be done dynamically by using the information of the previous found regions of support. The initial value of region of support is dynamically
set in each stage of determination of region of support. Based on the above observations, we propose a dynamic approach to determine the region of support.
2.1. Break point detection
A digital closed curve C can be defined as the set consisting of n consecutive points
C ¼ fpi ji ¼ 1; 2; . . . ; ng;
ð1Þ
where pi is the ith point with coordinate (xi ; yi ), and points pi1 and piþ1 are the
immediate backward and forward neighbors of point pi (modulo n), respectively.
The FreemanÕs chain code [4] of C consists of the n vectors. The vector is defined
as the difference between two consecutive points, namely wi ¼ pi piþ1 . Usually, the
concept of 8-connectness is used for tracing a curve. Therefore, each of the vectors
is assigned to an integer varying from 0 to 7 (see Fig. 1). The chain codes of C are
defined as c1 c2 cn . An example of chain codes for a curve is shown in Fig. 2.
Since the points on straight line cannot be considered as the dominant points, they
can be excluded by tracking the chain codes [14]. The survived points are candidates
of dominant points and denoted as the break points. It will reduce the computation
time both in determination of support region and curvature estimation, if only the
break points are considered as the possible dominant points. Fig. 2 shows an example of linear points as well as break points on a curve. The following rule is used to
identify those linear points.
Rule 1. If ci1 ¼ ci , then the point pi is a linear point.
2.2. Determination of region of support
Suppose that lik and dik are the length of the chord pik piþk and the perpendicular
distance from point pi to the pik piþk , respectively. The ratio of the deviation and the
chord length is defined as
Fig. 1. FreemanÕs chain codes.
W.-Y. Wu / Graphical Models 64 (2003) 304–315
rik ¼
307
dik
:
lik
ð2Þ
In Teh–ChinÕs algorithm [11], if one of the following two conditions is satisfied, the
length of supporting region for point pi is denoted as k.
Condition A.
ð3Þ
li;k P li;kþ1 :
Condition B.
ð4Þ
ri;k P ri;kþ1 :
Fig. 2. Break point detection on the curve with chain codes: 0007776555444333100222. (s) break point;
(d) linear point.
Table 1
Results of the proposed method and of the Teh–Chin method
Image
Leaf
ðn ¼ 921Þ
Leaf
ðn ¼ 674Þ
Leaf
ðn ¼ 917Þ
Screw
ðn ¼ 877Þ
Screw
ðn ¼ 654Þ
Screw
ðn ¼ 884Þ
Fig.
Fig.
Fig.
Fig.
Fig.
Fig.
Fig.
Fig.
Fig.
Fig.
Fig.
Fig.
2(a)
2(d)
2(b)
2(e)
2(c)
2(f)
3(a)
3(d)
3(b)
3(e)
3(c)
3(f)
Method
nd
CR
MSE
MAE
PT
Teh–Chin
Dynamic
Teh–Chin
Dynamic
Teh–Chin
Dynamic
Teh–Chin
Dynamic
Teh–Chin
Dynamic
Teh–Chin
Dynamic
37
15
28
15
59
15
60
56
57
55
71
56
24.89
61.40
24.07
44.93
15.54
61.13
14.61
15.66
11.47
11.89
12.45
15.78
49.16
282.69
36.98
165.20
18.26
288.28
13.54
13.73
8.95
7.73
13.46
16.31
9.58
35.43
5.59
22.40
2.75
36.59
1.87
1.43
1.62
0.90
2.37
1.80
3.87
1.72
2.16
1.12
3.52
1.60
3.57
1.13
2.50
1.02
3.40
1.42
308
W.-Y. Wu / Graphical Models 64 (2003) 304–315
In this paper, the determinant of support region is designed to depend on the previous region of support. In fact, the starting value of k will be set to the previous region of support of the break points. Suppose that there are m break points on the
curve. The length of supporting region for break point qi is denoted as ki , and is determined by the following algorithm.
Algorithm (Determination of length of supporting region).
Step 1. Start with the first break point q1 . Let i ¼ 1 and k ¼ 0.
(a) Increase k by 1.
(b) If Condition A or Condition B is satisfied, then k1 ¼ k is the length of supporting
region for q1 . Otherwise, go to (a).
Step 2. Determine the length of supporting region for qi by the following rule, for
i ¼ 2; 3; . . . ; m.
Fig. 3. The detected dominant points of leaf curves under different scales and orientations: (a)–(c) Teh–
Chin method and (d)–(f) proposed methods.
W.-Y. Wu / Graphical Models 64 (2003) 304–315
309
(a) Set k ¼ ki1 . Let j ¼ 0 and s ¼ 1.
(b) If Condition A or Condition B is satisfied, then ki ¼ k is the length of supporting
region for qi . Go to (a) for next i.
(c) If s ¼ 1, then increase j by 1 and change s to 1. Otherwise, change s to )1
k ¼ ki1 þ s j:
Go to (b).
ð5Þ
The determination of support region for the first break point is similar to that of
Teh–Chin method. The length of supporting region of the first break point is found
in Step 1. The strategy for adjusting k value in Eq. (5), is to vary the k value to differ
from its previous length of supporting region 1; 2; . . ., and so on until it meets the
Condition A or Condition B. Suppose that the ith break point qi is the bi th point on
the curve. The region of support of qi is determined as the set
Si ¼ fpj jpj is a break point for j ¼ bi ki ; . . . ; bi þ ki g:
ð6Þ
2.3. Dynamic dominant point detection algorithm
In this paper, the k-cosine value is used as the curvature measure [8]
Fig. 4. The detected dominant points of screw curves under different scales and orientations: (a)–(c) Teh–
Chin method and (d)–(f) proposed methods.
310
W.-Y. Wu / Graphical Models 64 (2003) 304–315
*
a ik
*
b ik
cosik ¼ * ;
* a ik b ik *
ð7Þ
*
where a ik ¼ ðxiþk xi ; yiþk yi Þ, b ik ¼ ðxik xi ; yik yi Þ, is the inner product
operator, and j j is the norm of the vector.
Once the curvatures of all of the break points have been calculated, the next step is
to locate the points that have local maximum curvature. In addition, the points that
the curvatures are less than a threshold are removed from the set of candidates for
dominant points. Overall, the dynamic dominant point detection can be summarized
as follows:
Fig. 5. Results of the determination of support for the leaf curve ðn ¼ 921Þ: (a) Teh–Chin method and
(b) the proposed method.
W.-Y. Wu / Graphical Models 64 (2003) 304–315
311
Algorithm (Dynamic dominant point detection).
Step 1. Extract break points from FreemanÕs chain codes.
Step 2. Determine region of support for each break point ðki ; i ¼ 1; 2; . . . ; mÞ by the
proposed dynamic method.
Step 3. Compute the estimated curvatures for all of the break points (cosi;ki ,
i ¼ 1; 2; . . . ; m).
Step 4. Suppress those break points whose curvature less than a preset threshold .
Step 5. Locate the points that have local maximum curvature among their region of
support as the dominant points. If two successive dominant points detected,
remove the point with smaller region of support.
Fig. 6. Results of the curvature estimation for the leaf curve ðn ¼ 921Þ: (a) Teh–Chin method and (b) the
proposed method.
312
W.-Y. Wu / Graphical Models 64 (2003) 304–315
3. Experimental results and discussions
Five performance evaluation criteria were used in the experiment; they are the number of the dominant points ðnd Þ, compression ratio (CR), mean area error (MAE),
mean square error (MSE), and processing time (PT). They are defined as follows:
n
ð8Þ
CR ¼ ;
nd
MAE ¼
MSE ¼
nd
1 X
ai ;
nd i¼1
n
1X
e2 ;
n i¼1 i
ð9Þ
ð10Þ
where ei is the distance from pi to the approximated segment, and ai is the area
enclosed by the original curve and the approximated segment.
Fig. 7. Results of polygonal approximation (clockwise): (a) chromosome, (b) infinity, (c) leaf, and (d)
semicircle.
W.-Y. Wu / Graphical Models 64 (2003) 304–315
313
In the experiment, the curvature threshold is set to )0.5. Table 1 lists the result
of the Teh–Chin method and of the proposed method. For the leaf curves, the Teh–
Chin method detects 37, 28, and 59 dominant points, respectively. However, the
proposed method detects 15 dominant points for all of the three cases. That is,
the proposed method is very insensitive to the problem of scale and orientation.
The same result can also be seen for the screw curves. In addition, the proposed
method have larger compression ratio than that of the Teh–Chin method. It is
due to Teh–Chin method tends to find a small region of support, and therefore detects many dummy dominant points. Because of the proposed method detects only
the most significant dominant points, the mean square error and mean area error for
the proposed method are larger than that of the Teh–Chin method for the leaf
curves. However, although the numbers of dominant points of the Teh–Chin method is larger than that of the proposed method, the Teh–Chin method has both the
Fig. 8. Results of polygonal approximation (counter-clockwise): (a) chromosome, (b) infinity, (c) leaf, and
(d) semicircle.
314
W.-Y. Wu / Graphical Models 64 (2003) 304–315
larger mean square error and mean area error for the screw curves. Furthermore, the
proposed method is faster than the Teh–Chin method for all cases, which can be
found by comparing the processing times. The detected dominant points of leaf
curves and screw curves by Teh–Chin method as well as the proposed method are
shown in Figs. 3 and 4.
Fig. 5 shows the lengths of supporting regions for the leaf curve in Fig. 3(a). From
the plot of supporting lengths, it is seen that the variations of the k-values for the
proposed method is larger than that of the Teh–Chin method. That is, the proposed
method can dynamically find a proper region of support of each point, especially for
the multi-scaled curves. The estimated curvatures are shown in Fig. 6. Again, it is
seen that the variations of the estimated curvatures by the proposed method are larger than that of the Teh–Chin method. It is due to the accurate determination of supporting region for each point.
Since the dynamic method for determining supporting region may depend on the
tracing direction of a curve, another experiment has been conducted on the curves of
chromosome, infinity, leaf, and semicircle. Figs. 7 and 8 show the results of tracing
curves clockwise and counter-clockwise, respectively. Although the detected dominant points are different in the two figures, both of the detected dominant points
are sufficient to represent the corresponding curves.
4. Conclusions
In this paper, we propose a modified approach to determine the region of support.
Instead of setting the supporting regions for each point independently, the next supporting region dynamically depending on the present region of support. The modified strategy will find the region of support faster than the traditional method. In
addition, only the break points are considered as the candidates of dominant points.
It will reduce the computation time on both the determination of supporting region
and curvature estimation. Further, The experimental results show that the proposed
method is insensitive to noise and it is robust on scale and orientation changing.
Acknowledgments
This paper is partially supported by National Science Council, ROC under Grant
No. NSC 89-2213-E-214-012.
References
[1] N. Ansari, E.J. Delp, On detection dominant points, Pattern Recognition 24 (1991) 441–450.
[2] F. Attneave, Some information aspects of visual perception, Psychol. Rev. 61 (1954) 183–193.
[3] P. Cornic, Another look at the dominant point detection of digital curves, Pattern Recognition Lett.
18 (1997) 13–25.
[4] A. Held, K. Abe, C. Arcelli, Towards a hierarchical contour description via dominant point detection,
IEEE Trans. System Man Cybernet. 2 (1994) 942–949.
W.-Y. Wu / Graphical Models 64 (2003) 304–315
315
[5] M.S. Kankanhalli, An adaptive dominant point detection algorithm for digital curves, Pattern
Recognition Lett. 14 (1993) 385–390.
[6] U. Ramer, An iterative procedure for the polygonal approximation of plane curves, Comput.
Graphics Image Process. 1 (1972) 244–256.
[7] B.K. Ray, K.S. Ray, An algorithm for detection of dominant points and polygonal approximation of
digitized curves, Pattern Recognition Lett. 13 (1992) 849–856.
[8] A. Rosenfeld, E. Johnston, Angle detection on digital curves, IEEE Trans. Comput. 22 (1973) 875–
878.
[9] J. Sklansky, V. Gonzalez, Fast polygonal approximation of digitized curves, Pattern Recognition 12
(1980) 327–331.
[10] Y.N. Sun, S.C. Huang, Genetic algorithms for error-bounded polygonal approximation, Internat. J.
Pattern Recognition Artificial Intelligence 14 (2000) 297–314.
[11] C.H. Teh, R.T. Chin, On the detection of dominant points on digital curves, IEEE Trans. Pattern
Anal. Machine Intelligence 11 (1989) 859–872.
[12] K. Wall, P.E. Danielsson, Comput. Vision, Graphics, Image Process. 28 (1984) 220–227.
[13] M.J. Wang, W.Y. Wu, L.K. Huang, D.M. Wang, Corner detection using bending value, Pattern
Recognition Lett. 16 (1995) 575–583.
[14] W.Y. Wu, M.J. Wang, Detecting the dominant points by the curvature-based polygonal approximation, CVGIP: Graphical Models Image Process. 55 (1993) 79–88.
[15] P.Y. Yin, A tabu search approach to polygonal approximation of digital curves, Internat. J. Pattern
Recognition Artificial Intelligence 14 (2000) 243–255.
Further Reading
[1] H. Freeman, On the encoding of arbitrary geometric configurations, IRE Trans. Electron. Comput. 10
(1961) 260–268.