30.11.2012 Views

On the Detection of Dominant Points on Digital Curves - PRIMA

On the Detection of Dominant Points on Digital Curves - PRIMA

On the Detection of Dominant Points on Digital Curves - PRIMA

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

IEEE TRANSACTIONS ON PATTERN ANALYSIS AND MACHINE INTELLIGENCE. VOL. II. NO. 8. AUGUST 1989 859<br />

<str<strong>on</strong>g>On</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> <str<strong>on</strong>g>Detecti<strong>on</strong></str<strong>on</strong>g> <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>Dominant</str<strong>on</strong>g> <str<strong>on</strong>g>Points</str<strong>on</strong>g><br />

<strong>on</strong> <strong>Digital</strong> <strong>Curves</strong><br />

CHO-HUAK TEH, MEMBER, IEEE, AND ROLAND T. CHIN, MEMBER, IEEE<br />

Abstract-A parallel algorithm for detecting dominant points <strong>on</strong> a<br />

digital closed curve is presented. The procedure requires no input pa-<br />

rameter and remains reliable even when features <str<strong>on</strong>g>of</str<strong>on</strong>g> multiple sizes are<br />

present <strong>on</strong> <str<strong>on</strong>g>the</str<strong>on</strong>g> digital curve. The procedure first determines <str<strong>on</strong>g>the</str<strong>on</strong>g> regi<strong>on</strong><br />

<str<strong>on</strong>g>of</str<strong>on</strong>g> support for each point based <strong>on</strong> its local properties, <str<strong>on</strong>g>the</str<strong>on</strong>g>n computes<br />

measures <str<strong>on</strong>g>of</str<strong>on</strong>g> relative significance (e.g., curvature) <str<strong>on</strong>g>of</str<strong>on</strong>g> each point, and<br />

finally detects dominant points by a process <str<strong>on</strong>g>of</str<strong>on</strong>g> n<strong>on</strong>maxima suppres-<br />

si<strong>on</strong>. This procedure leads to an important observati<strong>on</strong> that <str<strong>on</strong>g>the</str<strong>on</strong>g> per-<br />

formance <str<strong>on</strong>g>of</str<strong>on</strong>g> dominant points detecti<strong>on</strong> depends not <strong>on</strong>ly <strong>on</strong> <str<strong>on</strong>g>the</str<strong>on</strong>g> accu-<br />

racy <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> measure <str<strong>on</strong>g>of</str<strong>on</strong>g> significance, hut mainly precise determinati<strong>on</strong><br />

<str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> regi<strong>on</strong> <str<strong>on</strong>g>of</str<strong>on</strong>g> support. This solves <str<strong>on</strong>g>the</str<strong>on</strong>g> fundamental problem <str<strong>on</strong>g>of</str<strong>on</strong>g> scale<br />

factor selecti<strong>on</strong> encountered in various dominant point detecti<strong>on</strong> al-<br />

gorithms. The inherent nature <str<strong>on</strong>g>of</str<strong>on</strong>g> scale-space filtering in <str<strong>on</strong>g>the</str<strong>on</strong>g> procedure<br />

is addressed and <str<strong>on</strong>g>the</str<strong>on</strong>g> performance <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> procedure is compared to those<br />

<str<strong>on</strong>g>of</str<strong>on</strong>g> several o<str<strong>on</strong>g>the</str<strong>on</strong>g>r dominant point detecti<strong>on</strong> algorithms, using a number<br />

<str<strong>on</strong>g>of</str<strong>on</strong>g> examples.<br />

Index Terms-Angle, chain code, corner, curvature, digital curve,<br />

dominant point, image processing, parallel algorithm, pattern classi-<br />

ficati<strong>on</strong>, polyg<strong>on</strong>al approximati<strong>on</strong>, scale-space filtering, shape analy-<br />

sis, tangential deflecti<strong>on</strong>, vertex.<br />

I. INTRODUCTION<br />

INCE Attneave’s famous observati<strong>on</strong> that informati<strong>on</strong><br />

S <strong>on</strong> <str<strong>on</strong>g>the</str<strong>on</strong>g> shape <str<strong>on</strong>g>of</str<strong>on</strong>g> a curve is c<strong>on</strong>centrated at dominant<br />

points having high curvature [ 11, a number <str<strong>on</strong>g>of</str<strong>on</strong>g> algorithms<br />

have been suggested for finding <str<strong>on</strong>g>the</str<strong>on</strong>g> extrema <strong>on</strong> a digital<br />

curve. In general, <str<strong>on</strong>g>the</str<strong>on</strong>g>re are two approaches to <str<strong>on</strong>g>the</str<strong>on</strong>g> problem.<br />

<str<strong>on</strong>g>On</str<strong>on</strong>g>e is to detect <str<strong>on</strong>g>the</str<strong>on</strong>g> dominant points directly through<br />

angle or comer detecti<strong>on</strong> schemes [2]-[8]. The o<str<strong>on</strong>g>the</str<strong>on</strong>g>r approach<br />

is to obtain a piecewise linear polyg<strong>on</strong>al approximati<strong>on</strong><br />

<str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> digital curve subject to certain c<strong>on</strong>straints<br />

<strong>on</strong> <str<strong>on</strong>g>the</str<strong>on</strong>g> goodness <str<strong>on</strong>g>of</str<strong>on</strong>g> fit [9], [lo];’ dominant points <str<strong>on</strong>g>the</str<strong>on</strong>g>n<br />

corresp<strong>on</strong>d approximately to <str<strong>on</strong>g>the</str<strong>on</strong>g> actual or extrapolated intersecti<strong>on</strong>s<br />

<str<strong>on</strong>g>of</str<strong>on</strong>g> adjacent line segments <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> polyg<strong>on</strong>. It is<br />

pointed out in [15] that piecewise linear polyg<strong>on</strong>al approximati<strong>on</strong><br />

with variable breakpoints will tend to locate<br />

vertices as actual dominant points. In this paper, we shall<br />

restrict our discussi<strong>on</strong> to <str<strong>on</strong>g>the</str<strong>on</strong>g> former approach. The latter<br />

approach, which is essentially that <str<strong>on</strong>g>of</str<strong>on</strong>g> performing side de-<br />

Manuscript received July 6, 1987; revised February 8, 1988. Recom-<br />

mended for acceptance by 0. Faugeras. This work was supported in part<br />

by <str<strong>on</strong>g>the</str<strong>on</strong>g> Nati<strong>on</strong>al Science Foundati<strong>on</strong> under Grant ECS-8352356 and in part<br />

by General Motors Foundati<strong>on</strong>, Inc., Dearborn, Ml.<br />

C.-H. Teh was with <str<strong>on</strong>g>the</str<strong>on</strong>g> Department <str<strong>on</strong>g>of</str<strong>on</strong>g> Electrical and Computer Engi-<br />

neering, University <str<strong>on</strong>g>of</str<strong>on</strong>g> Wisc<strong>on</strong>sin, Madis<strong>on</strong>, WI 53706. He is now with <str<strong>on</strong>g>the</str<strong>on</strong>g><br />

Department <str<strong>on</strong>g>of</str<strong>on</strong>g> Electrical Engineering, Nati<strong>on</strong>al University <str<strong>on</strong>g>of</str<strong>on</strong>g> Singapore,<br />

Singapore 05 I I, Republic <str<strong>on</strong>g>of</str<strong>on</strong>g> Singapore.<br />

R. T. Chin is with <str<strong>on</strong>g>the</str<strong>on</strong>g> Department <str<strong>on</strong>g>of</str<strong>on</strong>g> Electrical and Computer Engi-<br />

neering, University <str<strong>on</strong>g>of</str<strong>on</strong>g> Wisc<strong>on</strong>sin, Madis<strong>on</strong>, WI 53706.<br />

IEEE Log Number 8928042.<br />

‘Most <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> polyg<strong>on</strong>al approximati<strong>on</strong> algorithms have been surveyed<br />

in 191 and compared in [lo]. O<str<strong>on</strong>g>the</str<strong>on</strong>g>rs are in [ 1 I]-1141.<br />

0162-8828/89/0800-0859$01.00 0 1989 IEEE<br />

tecti<strong>on</strong>, can be c<strong>on</strong>sidered as a dual noti<strong>on</strong> to <str<strong>on</strong>g>the</str<strong>on</strong>g> former<br />

approach.<br />

It is observed that any <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> above algorithms, except<br />

[5], from ei<str<strong>on</strong>g>the</str<strong>on</strong>g>r <str<strong>on</strong>g>the</str<strong>on</strong>g> former or latter approach, requires<br />

<strong>on</strong>e or more input parameters. These parameters usually<br />

represent <str<strong>on</strong>g>the</str<strong>on</strong>g> regi<strong>on</strong> <str<strong>on</strong>g>of</str<strong>on</strong>g> support for <str<strong>on</strong>g>the</str<strong>on</strong>g> measurement <str<strong>on</strong>g>of</str<strong>on</strong>g><br />

local properties (e. g . , curvature) at each point <strong>on</strong> <str<strong>on</strong>g>the</str<strong>on</strong>g><br />

curve. They are selected based <strong>on</strong> <str<strong>on</strong>g>the</str<strong>on</strong>g> level <str<strong>on</strong>g>of</str<strong>on</strong>g> detail rep-<br />

resented by <str<strong>on</strong>g>the</str<strong>on</strong>g> digital curve. In general, it is difficult to<br />

find a set <str<strong>on</strong>g>of</str<strong>on</strong>g> parameters suitable for a curve that c<strong>on</strong>sists<br />

<str<strong>on</strong>g>of</str<strong>on</strong>g> multiple size features. Too large a regi<strong>on</strong> <str<strong>on</strong>g>of</str<strong>on</strong>g> support<br />

will smooth out <str<strong>on</strong>g>the</str<strong>on</strong>g> fine features <str<strong>on</strong>g>of</str<strong>on</strong>g> a curve, whereas a<br />

small regi<strong>on</strong> <str<strong>on</strong>g>of</str<strong>on</strong>g> support will generate a large number <str<strong>on</strong>g>of</str<strong>on</strong>g><br />

redundant dominant points. This is a fundamental prob-<br />

lem <str<strong>on</strong>g>of</str<strong>on</strong>g> scale because <str<strong>on</strong>g>the</str<strong>on</strong>g> features describing <str<strong>on</strong>g>the</str<strong>on</strong>g> shape <str<strong>on</strong>g>of</str<strong>on</strong>g><br />

a curve vary enormously in size and extent, and <str<strong>on</strong>g>the</str<strong>on</strong>g>re is<br />

seldom a well-defined basis for choosing an appropriate<br />

scale (or smoothing) parameter corresp<strong>on</strong>d to a particular<br />

feature size [ 161.<br />

In this paper, we present a dominant point detecti<strong>on</strong><br />

algorithm which requires no input parameter. Our algo-<br />

rithm is motivated by <str<strong>on</strong>g>the</str<strong>on</strong>g> Rosenfeld-Johnst<strong>on</strong> angle de-<br />

tecti<strong>on</strong> procedure [2], in which both an incorrect regi<strong>on</strong><br />

<str<strong>on</strong>g>of</str<strong>on</strong>g> support and incorrect curvature measures may be as-<br />

signed to a point if <str<strong>on</strong>g>the</str<strong>on</strong>g> input smoothing parameter is not<br />

chosen correctly, and hence dominant points may be sup-<br />

pressed [17]. To overcome this problem, we propose that<br />

<str<strong>on</strong>g>the</str<strong>on</strong>g> regi<strong>on</strong> <str<strong>on</strong>g>of</str<strong>on</strong>g> support, and hence <str<strong>on</strong>g>the</str<strong>on</strong>g> corresp<strong>on</strong>ding scale<br />

or smoothing parameters, <str<strong>on</strong>g>of</str<strong>on</strong>g> each boundary point should<br />

be determined independently, based <strong>on</strong> its local proper-<br />

ties. We fur<str<strong>on</strong>g>the</str<strong>on</strong>g>r show that <strong>on</strong>ce <str<strong>on</strong>g>the</str<strong>on</strong>g> regi<strong>on</strong> <str<strong>on</strong>g>of</str<strong>on</strong>g> support <str<strong>on</strong>g>of</str<strong>on</strong>g><br />

each point is determined, various measures <str<strong>on</strong>g>of</str<strong>on</strong>g> signifi-<br />

cance (e.g., curvature measures) <str<strong>on</strong>g>of</str<strong>on</strong>g> each point can be<br />

computed accurately for <str<strong>on</strong>g>the</str<strong>on</strong>g> detecti<strong>on</strong> <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> dominant<br />

points. This leads to an important observati<strong>on</strong>: <str<strong>on</strong>g>the</str<strong>on</strong>g> detec-<br />

ti<strong>on</strong> <str<strong>on</strong>g>of</str<strong>on</strong>g> dominant points relies not <strong>on</strong>ly <strong>on</strong> <str<strong>on</strong>g>the</str<strong>on</strong>g> accuracy <str<strong>on</strong>g>of</str<strong>on</strong>g><br />

measures <str<strong>on</strong>g>of</str<strong>on</strong>g> significance, but primarily <strong>on</strong> <str<strong>on</strong>g>the</str<strong>on</strong>g> precise de-<br />

terminati<strong>on</strong> <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> regi<strong>on</strong> <str<strong>on</strong>g>of</str<strong>on</strong>g> support. This finding is c<strong>on</strong>-<br />

trary to <str<strong>on</strong>g>the</str<strong>on</strong>g> noti<strong>on</strong> <str<strong>on</strong>g>of</str<strong>on</strong>g> traditi<strong>on</strong>al dominant point detecti<strong>on</strong><br />

algorithms, in which accurate determinati<strong>on</strong> <str<strong>on</strong>g>of</str<strong>on</strong>g> discrete<br />

curvature measures is believed to be <str<strong>on</strong>g>the</str<strong>on</strong>g> major factor in<br />

detecting reliable dominant points.<br />

In Secti<strong>on</strong> II, we briefly review various dominant point<br />

detecti<strong>on</strong> algorithms. These include 1) <str<strong>on</strong>g>the</str<strong>on</strong>g> angle detecti<strong>on</strong><br />

procedure by Rosenfeld and Johnst<strong>on</strong> [2], 2) <str<strong>on</strong>g>the</str<strong>on</strong>g> improved<br />

angle detecti<strong>on</strong> procedure by Rosenfeld and Weszka [3],<br />

3) <str<strong>on</strong>g>the</str<strong>on</strong>g> comer finding algorithm by Freeman and Davis [4],


860 1EEE TRANSACTlONS ON PATTERN ANALYSIS AND MACHlNE INTELLIGENCE. VOL. II. NO. 8. AUGUST 1989<br />

4) <str<strong>on</strong>g>the</str<strong>on</strong>g> dominant point detecti<strong>on</strong> procedure by Sankar and<br />

Sharma [5], and 5) <str<strong>on</strong>g>the</str<strong>on</strong>g> vertex detecti<strong>on</strong> algorithm by An-<br />

ders<strong>on</strong> and Bezdek [6]. In Secti<strong>on</strong> III, various measures<br />

<str<strong>on</strong>g>of</str<strong>on</strong>g> significance are defined and discussed; an algorithm to<br />

determine <str<strong>on</strong>g>the</str<strong>on</strong>g> local regi<strong>on</strong> <str<strong>on</strong>g>of</str<strong>on</strong>g> support, providing a basis<br />

for choosing <str<strong>on</strong>g>the</str<strong>on</strong>g> smoothing parameter is described; and<br />

<str<strong>on</strong>g>the</str<strong>on</strong>g> dominant point detecti<strong>on</strong> algorithm is presented. In<br />

Secti<strong>on</strong> IV, we compare our algorithm to <str<strong>on</strong>g>the</str<strong>on</strong>g> five algo-<br />

rithms menti<strong>on</strong>ed above. We compare <str<strong>on</strong>g>the</str<strong>on</strong>g> performance <str<strong>on</strong>g>of</str<strong>on</strong>g><br />

<str<strong>on</strong>g>the</str<strong>on</strong>g>se algorithms using four digital closed curves with re-<br />

spect to 1) <str<strong>on</strong>g>the</str<strong>on</strong>g> number <str<strong>on</strong>g>of</str<strong>on</strong>g> detected dominant points, 2) <str<strong>on</strong>g>the</str<strong>on</strong>g><br />

error introduced in approximating <str<strong>on</strong>g>the</str<strong>on</strong>g> closed curve by <str<strong>on</strong>g>the</str<strong>on</strong>g><br />

polyg<strong>on</strong> generated by joining <str<strong>on</strong>g>the</str<strong>on</strong>g> dominant points, and 3)<br />

<str<strong>on</strong>g>the</str<strong>on</strong>g> computati<strong>on</strong>al load. In Secti<strong>on</strong> V, <str<strong>on</strong>g>the</str<strong>on</strong>g> inherent nature<br />

<str<strong>on</strong>g>of</str<strong>on</strong>g> scale-space filtering <str<strong>on</strong>g>of</str<strong>on</strong>g> our algorithm is addressed, and<br />

a discussi<strong>on</strong> and c<strong>on</strong>clusi<strong>on</strong>s are presented.<br />

II. DOMINANT POINT DETECTION ALGORITHMS<br />

Let <str<strong>on</strong>g>the</str<strong>on</strong>g> sequence <str<strong>on</strong>g>of</str<strong>on</strong>g> II integer-coordinate points describe<br />

a closed curve C,<br />

c= (p, = (x;,y;),i = 1, *** ,?z} (2.1)<br />

where p, + , is a neighbor <str<strong>on</strong>g>of</str<strong>on</strong>g> pi (modulo n). The Freeman<br />

chain code <str<strong>on</strong>g>of</str<strong>on</strong>g> C c<strong>on</strong>sists <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> n vectors<br />

t, = P,-IPi (2.2)<br />

each <str<strong>on</strong>g>of</str<strong>on</strong>g> which can be represented by an integer<br />

f= 0, *** ) 7 (2.3)<br />

as shown in Fig. 1 where 1/47rfis <str<strong>on</strong>g>the</str<strong>on</strong>g> angle between <str<strong>on</strong>g>the</str<strong>on</strong>g><br />

X-axis and <str<strong>on</strong>g>the</str<strong>on</strong>g> vector. The chain <str<strong>on</strong>g>of</str<strong>on</strong>g> C is defined as { F‘;, i<br />

= 1, --a, n} and pi = Z;+,,. All integers are modulo<br />

n.<br />

Since dominant points <strong>on</strong> a curve corresp<strong>on</strong>d to points<br />

<str<strong>on</strong>g>of</str<strong>on</strong>g> high curvature, <str<strong>on</strong>g>the</str<strong>on</strong>g> various existing dominant point de-<br />

tecti<strong>on</strong> algorithms first compute an estimate <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> cur-<br />

vature at each point <strong>on</strong> <str<strong>on</strong>g>the</str<strong>on</strong>g> curve. Next, a two-stage pro-<br />

cedure is applied to choose dominant points. In <str<strong>on</strong>g>the</str<strong>on</strong>g> first<br />

stage, some input threshold is applied to <str<strong>on</strong>g>the</str<strong>on</strong>g> curvature es-<br />

timates to eliminate those points whose curvature is ab-<br />

solutely too low to be c<strong>on</strong>sidered as dominant points. In<br />

<str<strong>on</strong>g>the</str<strong>on</strong>g> sec<strong>on</strong>d stage, a process <str<strong>on</strong>g>of</str<strong>on</strong>g> n<strong>on</strong>maxima suppressi<strong>on</strong> is<br />

applied to <str<strong>on</strong>g>the</str<strong>on</strong>g> remaining points to eliminate any points<br />

whose curvature estimates are not local maxima in a suf-<br />

ficiently large segment <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> curve. In this secti<strong>on</strong>, we<br />

briefly discuss five dominant point detecti<strong>on</strong> algorithms<br />

[2]-[6]. Table I gives a brief summary <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g>se algorithms<br />

and our proposed algorithm. All <str<strong>on</strong>g>the</str<strong>on</strong>g> algorithms except [6]<br />

are parallel in nature, in <str<strong>on</strong>g>the</str<strong>on</strong>g> sense that <str<strong>on</strong>g>the</str<strong>on</strong>g> results at each<br />

point do not depend <strong>on</strong> <str<strong>on</strong>g>the</str<strong>on</strong>g> results obtained at o<str<strong>on</strong>g>the</str<strong>on</strong>g>r points.<br />

A. Rosenfeld-Johnst<strong>on</strong> Angle <str<strong>on</strong>g>Detecti<strong>on</strong></str<strong>on</strong>g> Procedure<br />

(1973 VI)<br />

This parallel procedure is analogous to <str<strong>on</strong>g>the</str<strong>on</strong>g> Rosenfeld-<br />

Thurst<strong>on</strong> edge detecti<strong>on</strong> algorithm [18], which detects<br />

significant maxima in average gray-level gradients by<br />

using a variable degree <str<strong>on</strong>g>of</str<strong>on</strong>g> smoothing.<br />

3 2 1<br />

4<br />

x<br />

5 6 7<br />

Fig. 1. Freeman code.<br />

TABLE1<br />

COMPARISONS: OF VARIOUS DOMINANT POINT DETECTION ALGORITHMS<br />

Rosenfeld-Johnst<strong>on</strong> Procedure<br />

1) Define <str<strong>on</strong>g>the</str<strong>on</strong>g> k vectors at p, as<br />

and <str<strong>on</strong>g>the</str<strong>on</strong>g> k cosine at pi as<br />

zik = (xi - Xi+k7 Yi - Yr+k)<br />

~;k = (~; - X,-k, yi - yj-k)<br />

co&k =<br />

I ;ik 1 / ;ik 1 ’<br />

0<br />

(2.4a)<br />

(2.4b)<br />

(2.5)<br />

Here cosik is <str<strong>on</strong>g>the</str<strong>on</strong>g> cosine <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> angle between <str<strong>on</strong>g>the</str<strong>on</strong>g> k vectors<br />

a’jk and &k, SO that - I % cos,k 5 1, and cos;k = + 1 for<br />

<str<strong>on</strong>g>the</str<strong>on</strong>g> sharpest angle (O”), and - 1 for a straight line ( 180”).<br />

2) Select a smoothing factor m (ei<str<strong>on</strong>g>the</str<strong>on</strong>g>r n/ 10 or n/ 15<br />

[2]) based <strong>on</strong> <str<strong>on</strong>g>the</str<strong>on</strong>g> level <str<strong>on</strong>g>of</str<strong>on</strong>g> detail <str<strong>on</strong>g>of</str<strong>on</strong>g> C. At each point pi,<br />

COmpUte { cOs;k, k = 1, . * * , m }.<br />

3) Assign regi<strong>on</strong> <str<strong>on</strong>g>of</str<strong>on</strong>g> support hi and curvature value<br />

COS;,~, to point pi for <str<strong>on</strong>g>the</str<strong>on</strong>g> largest h such that<br />

co%?l < COSj,,,( - , < . . * < cos;.h, 2 cos;,/,, - , . (2.6)<br />

4) Retain those points pi where COS;,~, 2 cosj,h, for all j<br />

such that<br />

as <str<strong>on</strong>g>the</str<strong>on</strong>g> curvature maxima.<br />

Ii -jl 4 h;/2, (2.7)<br />

B. Rosenfeld- Weszka Improved Angle <str<strong>on</strong>g>Detecti<strong>on</strong></str<strong>on</strong>g><br />

Procedure (1975 [3])<br />

The procedure described earlier is analogous to <str<strong>on</strong>g>the</str<strong>on</strong>g> edge<br />

detecti<strong>on</strong> algorithm developed in [ 181. However, this al-<br />

gorithm can lead to incorrect results when edges occur too<br />

close to <strong>on</strong>e ano<str<strong>on</strong>g>the</str<strong>on</strong>g>r [ 191. A modified algorithm, devel-<br />

oped in [20], has overcome this difficulty. This improved<br />

detecti<strong>on</strong> procedure is an analog <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> modified edge de-


TEH AND CHIN: DOMINANT POINTS ON DIGITAL CURVES 861<br />

tecti<strong>on</strong> algorithm in [20]. Specifically, after step 2) <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g><br />

Rosenfeld-Johnst<strong>on</strong> procedure, <str<strong>on</strong>g>the</str<strong>on</strong>g> k cosines (k > 1) at<br />

each point are smoo<str<strong>on</strong>g>the</str<strong>on</strong>g>d as follows:<br />

for k = even (2.8a)<br />

fork = odd. (2.8b)<br />

The { COSik } are <str<strong>on</strong>g>the</str<strong>on</strong>g>n treated just like <str<strong>on</strong>g>the</str<strong>on</strong>g> ( cosik } after<br />

step 2).<br />

C. Freeman-Davis Corner Finding Algorithm (1977<br />

141)<br />

This algorithm starts with scanning <str<strong>on</strong>g>the</str<strong>on</strong>g> chain { c’;, i =<br />

1, 0.. ) n } with a moving straight line segment which<br />

c<strong>on</strong>nects <str<strong>on</strong>g>the</str<strong>on</strong>g> end points <str<strong>on</strong>g>of</str<strong>on</strong>g> a sequence <str<strong>on</strong>g>of</str<strong>on</strong>g> s links. As <str<strong>on</strong>g>the</str<strong>on</strong>g><br />

line segment moves from <strong>on</strong>e chain node to <str<strong>on</strong>g>the</str<strong>on</strong>g> next, <str<strong>on</strong>g>the</str<strong>on</strong>g><br />

angular differences between successive segment positi<strong>on</strong>s<br />

are used as a smoo<str<strong>on</strong>g>the</str<strong>on</strong>g>d measure <str<strong>on</strong>g>of</str<strong>on</strong>g> local curvature al<strong>on</strong>g<br />

<str<strong>on</strong>g>the</str<strong>on</strong>g> chain.<br />

Freeman-Davis Algorithm<br />

1) Define L, as <str<strong>on</strong>g>the</str<strong>on</strong>g> straight line segment spanning s<br />

chain links and terminating <strong>on</strong> <str<strong>on</strong>g>the</str<strong>on</strong>g> node to which link I?;<br />

is directed: Li, = { z,,, j = i - s + 1, * * . , i }. The x<br />

and y comp<strong>on</strong>ents <str<strong>on</strong>g>of</str<strong>on</strong>g> Li, are given by<br />

Xi, = C cj.r (2.9a)<br />

/=;-.\+I<br />

r,., = c c,\ (2.9b)<br />

j=i-s+l<br />

where <str<strong>on</strong>g>the</str<strong>on</strong>g> Cj.v and cJV are <str<strong>on</strong>g>the</str<strong>on</strong>g> x and y comp<strong>on</strong>ents, respectively,<br />

<str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> chain link ~j, and cj-~, Cj~ E { - 1, 0, 1 }. The<br />

angle Li,y makes with <str<strong>on</strong>g>the</str<strong>on</strong>g> X-axis is given by<br />

19;.~ = tan-’ 2, if (Xj,7I L (Yi,7( (2.10a)<br />

,A<br />

x.<br />

= cot-’ 2,<br />

K.5<br />

if IX;,/ < IY’,l. (2.10b)<br />

2) Define <str<strong>on</strong>g>the</str<strong>on</strong>g> incremental curvature 6,, as twice <str<strong>on</strong>g>the</str<strong>on</strong>g><br />

mean over two adjacent angular differences<br />

6i.5 = e,+ 1,s - ei- 1,s. (2.11)<br />

The incremental curvature is a smoo<str<strong>on</strong>g>the</str<strong>on</strong>g>d measure <str<strong>on</strong>g>of</str<strong>on</strong>g> curvature;<br />

<str<strong>on</strong>g>the</str<strong>on</strong>g> greater <str<strong>on</strong>g>the</str<strong>on</strong>g> s, <str<strong>on</strong>g>the</str<strong>on</strong>g> heavier <str<strong>on</strong>g>the</str<strong>on</strong>g> smoothing. For<br />

a well-quantized curve, s will range normally from a minimum<br />

<str<strong>on</strong>g>of</str<strong>on</strong>g> 5 to a maximum <str<strong>on</strong>g>of</str<strong>on</strong>g> 13.<br />

3) A comer is characterized by three incremental curvature<br />

regi<strong>on</strong>s-two for which 6i, fluctuates within relatively<br />

narrow limits due to quantizati<strong>on</strong> noise, separated<br />

by a third regi<strong>on</strong> c<strong>on</strong>sisting <str<strong>on</strong>g>of</str<strong>on</strong>g> precisely s + 1 nodes in<br />

which C 6i,~ equals a significant value. Specifically, define<br />

<str<strong>on</strong>g>the</str<strong>on</strong>g> comerity at node i by2<br />

where<br />

and<br />

with<br />

i+s<br />

Ki = ~ X C Sj.7 X Jti2<br />

j=i<br />

ti, = max { t:6i-c,,s E (-A, A),<br />

for all 1 I U 5 t 1<br />

ti, = max { t:6i+s+r,.s E (-A, A><br />

for all 1 I v 5 t]<br />

m=l or 2.<br />

(2.12a)<br />

(2.12b)<br />

(2.12c)<br />

(2.12d)<br />

(2.12e)<br />

4) Retain <strong>on</strong>ly those points p; where ( Ki ( L ( Kj 1 for<br />

allj such that<br />

as <str<strong>on</strong>g>the</str<strong>on</strong>g> comer points.<br />

(i -jl I s, (2.13)<br />

D. Sankar-Sharma <str<strong>on</strong>g>Dominant</str<strong>on</strong>g>-Point <str<strong>on</strong>g>Detecti<strong>on</strong></str<strong>on</strong>g><br />

Procedure (1978 [5])<br />

In this procedure, <str<strong>on</strong>g>the</str<strong>on</strong>g> dominant points are computed it-<br />

eratively as <str<strong>on</strong>g>the</str<strong>on</strong>g> points <str<strong>on</strong>g>of</str<strong>on</strong>g> maximum global curvature,<br />

based <strong>on</strong> <str<strong>on</strong>g>the</str<strong>on</strong>g> local curvature <str<strong>on</strong>g>of</str<strong>on</strong>g> each point with respect to<br />

its immediate neighbors. First it is observed that each<br />

point <str<strong>on</strong>g>of</str<strong>on</strong>g> a closed curve having exactly two neighbors can<br />

be classified into three classes based <strong>on</strong> <str<strong>on</strong>g>the</str<strong>on</strong>g> local curva-<br />

ture, as shown in Table II. For those points having more<br />

than two neighbors, let (i, j ) be <str<strong>on</strong>g>the</str<strong>on</strong>g> point with k imme-<br />

diate neighbors where k 2 3. Find all possible pairs <str<strong>on</strong>g>of</str<strong>on</strong>g><br />

2-neighbor c<strong>on</strong>figurati<strong>on</strong>s <str<strong>on</strong>g>of</str<strong>on</strong>g> (i, j ), viz., a total <str<strong>on</strong>g>of</str<strong>on</strong>g> (“2)<br />

combinati<strong>on</strong>s. Assign to each such pair <str<strong>on</strong>g>the</str<strong>on</strong>g> corresp<strong>on</strong>ding<br />

local curvature, using Table II. From this collecti<strong>on</strong>, omit<br />

those pairs with zero curvature. Am<strong>on</strong>g <str<strong>on</strong>g>the</str<strong>on</strong>g> rest, if all <str<strong>on</strong>g>the</str<strong>on</strong>g><br />

pairs have been assigned positive (negative) curvature,<br />

<str<strong>on</strong>g>the</str<strong>on</strong>g>n <str<strong>on</strong>g>the</str<strong>on</strong>g> point (i, j ) is assigned <str<strong>on</strong>g>the</str<strong>on</strong>g> weight + 1 ( - 1); <strong>on</strong><br />

<str<strong>on</strong>g>the</str<strong>on</strong>g> o<str<strong>on</strong>g>the</str<strong>on</strong>g>r hand, if some pairs have positive curvature while<br />

<str<strong>on</strong>g>the</str<strong>on</strong>g> rest have negative curvature, <str<strong>on</strong>g>the</str<strong>on</strong>g>n <str<strong>on</strong>g>the</str<strong>on</strong>g> point (i, j ) is<br />

assigned <str<strong>on</strong>g>the</str<strong>on</strong>g> weight 0.<br />

Sankar-Sharma Procedure<br />

Let P( i, j ) refer to <str<strong>on</strong>g>the</str<strong>on</strong>g> curvature value at <str<strong>on</strong>g>the</str<strong>on</strong>g> (i, j )th<br />

point <strong>on</strong> <str<strong>on</strong>g>the</str<strong>on</strong>g> picture plane.<br />

NDOMINATE + n, <str<strong>on</strong>g>the</str<strong>on</strong>g> total number <str<strong>on</strong>g>of</str<strong>on</strong>g> points<br />

DOLD + 0, <str<strong>on</strong>g>the</str<strong>on</strong>g> empty set.<br />

1) Assign <str<strong>on</strong>g>the</str<strong>on</strong>g> numerical weight to each point (i, j ) as<br />

P( i, j ) + 0, or + 1 or - 1 using Table II or an algebraic<br />

combinati<strong>on</strong> <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g>m.<br />

‘The square roots in (2.12a) can be replaced by logarithms (41.


862 IEEE TRANSACTIONS ON PATTERN ANALYSIS AND MACHINE INTELLIGENCE. VOL. II. NO x. AUGUST 1989<br />

TABLE11<br />

LOCAL CURVATURE ASSIGNMENT<br />

2) For each point assign a new weight as<br />

Pnew(igj) +<br />

itl j+l<br />

I<br />

,=J!, ,=c, Pold(S, t).<br />

(2.14)<br />

3) Detect <str<strong>on</strong>g>the</str<strong>on</strong>g> dominant points as <str<strong>on</strong>g>the</str<strong>on</strong>g> set D defined as<br />

D = [(i, j) such that IP(i, j)I z IP(s, t)i<br />

fors=i- ltoi+ l,t=j- ltoj+ 11.<br />

(2.15)<br />

If NDOMZNATE > 1 D 1, <str<strong>on</strong>g>the</str<strong>on</strong>g> number <str<strong>on</strong>g>of</str<strong>on</strong>g> currently de-<br />

tected dominant points,<br />

Set NDOMINATE + 1 D 1; DOLD +- D<br />

redo step 2)<br />

else stop<br />

DOLD is <str<strong>on</strong>g>the</str<strong>on</strong>g> required set <str<strong>on</strong>g>of</str<strong>on</strong>g> dominant points.<br />

E. Anders<strong>on</strong>-Bezdek Vertex <str<strong>on</strong>g>Detecti<strong>on</strong></str<strong>on</strong>g> Algorithm (1984<br />

tw<br />

All <str<strong>on</strong>g>the</str<strong>on</strong>g> methods discussed so far utilize various schemes<br />

for approximating discrete curvature. In [6], tangential<br />

deflecti<strong>on</strong> and curvature <str<strong>on</strong>g>of</str<strong>on</strong>g> discrete curves are defined<br />

based <strong>on</strong> <str<strong>on</strong>g>the</str<strong>on</strong>g> geometrical and statistical properties asso-<br />

ciated with <str<strong>on</strong>g>the</str<strong>on</strong>g> eigenvalue-eigenvector structure <str<strong>on</strong>g>of</str<strong>on</strong>g> sam-<br />

ple covariance matrices. Specifically, it has been proven<br />

in [6] that <str<strong>on</strong>g>the</str<strong>on</strong>g> n<strong>on</strong>zero entry <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> commutator <str<strong>on</strong>g>of</str<strong>on</strong>g> a pair<br />

<str<strong>on</strong>g>of</str<strong>on</strong>g> scatter matrices c<strong>on</strong>structed from discrete arcs is re-<br />

lated to <str<strong>on</strong>g>the</str<strong>on</strong>g> angle between <str<strong>on</strong>g>the</str<strong>on</strong>g>ir eigenspaces, and <str<strong>on</strong>g>the</str<strong>on</strong>g> entry<br />

(in certain limiting cases) is also proporti<strong>on</strong>al to <str<strong>on</strong>g>the</str<strong>on</strong>g> ana-<br />

lytical curvature <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> plane curve from which <str<strong>on</strong>g>the</str<strong>on</strong>g> dis-<br />

crete data are drawn. The sequential algorithm <str<strong>on</strong>g>the</str<strong>on</strong>g>n iden-<br />

tifies <str<strong>on</strong>g>the</str<strong>on</strong>g> locati<strong>on</strong> <str<strong>on</strong>g>of</str<strong>on</strong>g> vertices <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> discrete curves based<br />

<strong>on</strong> excessive cumulative tangential deflecti<strong>on</strong> between<br />

successive vertices, an approach which differs markedly<br />

from all <str<strong>on</strong>g>the</str<strong>on</strong>g> previous approaches <str<strong>on</strong>g>of</str<strong>on</strong>g> searching for points<br />

<str<strong>on</strong>g>of</str<strong>on</strong>g> relative curvature extrema.<br />

Anders<strong>on</strong>-Bezdek Algorithm<br />

Inputs: Four input parameters are required.<br />

1) A tangential deflecti<strong>on</strong> angle threshold Ae,, typi-<br />

cally in <str<strong>on</strong>g>the</str<strong>on</strong>g> range, 5” < At), < 25”.<br />

2) A smoothing factor m, typically in <str<strong>on</strong>g>the</str<strong>on</strong>g> range, 5 I<br />

m I 15.<br />

3) A baseline acceptability parameter ehl, typically in<br />

<str<strong>on</strong>g>the</str<strong>on</strong>g> range, 0.7 < ebi < 0.9.<br />

4) A minimum number <str<strong>on</strong>g>of</str<strong>on</strong>g> data points d between suc-<br />

cessive baseline vertices.<br />

Outputs: The number <str<strong>on</strong>g>of</str<strong>on</strong>g> vertices c, <str<strong>on</strong>g>the</str<strong>on</strong>g>ir index labels<br />

ui, i = 1, * * * , c, and a designati<strong>on</strong> <str<strong>on</strong>g>of</str<strong>on</strong>g> each vertex as a<br />

baseline threshold or tangential deflecti<strong>on</strong> threshold ver-<br />

tex.<br />

Start-Up: Call <str<strong>on</strong>g>the</str<strong>on</strong>g> first data point a temporary vertex,<br />

set va = 1, i = 0, and c = 0.<br />

Steps:<br />

la) From <str<strong>on</strong>g>the</str<strong>on</strong>g> ith vertex with label vi set 1 = Zii.<br />

lb) If 1 > n, stop. O<str<strong>on</strong>g>the</str<strong>on</strong>g>rwise, define <str<strong>on</strong>g>the</str<strong>on</strong>g> provisi<strong>on</strong>al<br />

baseline arc X( I), from which subsequent tangential de-<br />

flecti<strong>on</strong>s will be computed as<br />

X(1) = {(Xl, Yj)(j = 1, 1 + 1, ’ . . , 1 + m - l},<br />

and compute its associated trace-normalized scatter ma-<br />

trix A [see Appendix A].<br />

lc) If Dx = J 1 - 4 det A satisfies D, < ebi, <str<strong>on</strong>g>the</str<strong>on</strong>g>n in<br />

accordance with (A.4) <str<strong>on</strong>g>of</str<strong>on</strong>g> Appendix A, <str<strong>on</strong>g>the</str<strong>on</strong>g> arc X( 1) is not<br />

sufficiently linear in shape, and <str<strong>on</strong>g>the</str<strong>on</strong>g> provisi<strong>on</strong>al baseline<br />

X(1) is unacceptable; set 1 = 1 + 1 and return to Step<br />

lb). If Dx I cbt, designate X( 1) as <str<strong>on</strong>g>the</str<strong>on</strong>g> accepted baseline<br />

arc xbl.<br />

Id) If <str<strong>on</strong>g>the</str<strong>on</strong>g> current value <str<strong>on</strong>g>of</str<strong>on</strong>g> 1 exceeds vi by more than<br />

<str<strong>on</strong>g>the</str<strong>on</strong>g> minimum number d, label <str<strong>on</strong>g>the</str<strong>on</strong>g> point 1 as <str<strong>on</strong>g>the</str<strong>on</strong>g> (i + 1 )st<br />

vertex, designate this vertex as a baseline threshold ver-<br />

tex, put c = c + 1 and i = i + 1.<br />

2) Starting with <str<strong>on</strong>g>the</str<strong>on</strong>g> point k = ui + 1, define <str<strong>on</strong>g>the</str<strong>on</strong>g> sub-<br />

sequent arc Y( k) as<br />

Y(k)={(x,,yj)~j=k,k+l,***,k+m-l},<br />

and compute its associated trace-normalized scatter ma-<br />

trix B [see Appendix A].<br />

3) Compute <str<strong>on</strong>g>the</str<strong>on</strong>g> tangential deflecti<strong>on</strong> Ae (Xbl, Y(k))<br />

using (A.8) and (A.9) <str<strong>on</strong>g>of</str<strong>on</strong>g> Appendix A.<br />

4a) If cos (2A8) > cos (2Ae,), set k = k + 1. If k ><br />

n + 1, stop. If k I n + 1, return to Step 2).<br />

4b) If cos (2A0) < cos (2Ae,), <str<strong>on</strong>g>the</str<strong>on</strong>g>n a vertex should<br />

be placed in <str<strong>on</strong>g>the</str<strong>on</strong>g> vicinity <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> kth point. To this end,<br />

compute <str<strong>on</strong>g>the</str<strong>on</strong>g> tangential deflecti<strong>on</strong>s, Tj = cos (A8 ( Y( j -<br />

m), Y(j))), again by (A.8) and (A.9) forj = k, k + 1,<br />

. . . k + m - 1. Locate <str<strong>on</strong>g>the</str<strong>on</strong>g> (i + 1)st vertex vi+1 atj<br />

where j is <str<strong>on</strong>g>the</str<strong>on</strong>g> first point j = k, . . . , k + m - 1 where<br />

<str<strong>on</strong>g>the</str<strong>on</strong>g> difference rj+ 1 - Tj changes sign. If this difference<br />

never changes sign, set vi+ i = k + [m/2]. Designate<br />

this vertex as a tangential dejecti<strong>on</strong> vertex, set c = c +<br />

1, i = i + 1 and return to Step 1).<br />

III. TEH-CHIN DOMINANT POINT DETECTION<br />

ALGORITHM<br />

A. Discrete Curvature Measurement<br />

There are two major problems with dominant point de-<br />

tecti<strong>on</strong> <strong>on</strong> digital curves. <str<strong>on</strong>g>On</str<strong>on</strong>g>e is <str<strong>on</strong>g>the</str<strong>on</strong>g> precise definiti<strong>on</strong> <str<strong>on</strong>g>of</str<strong>on</strong>g><br />

discrete curvature, <str<strong>on</strong>g>the</str<strong>on</strong>g> o<str<strong>on</strong>g>the</str<strong>on</strong>g>r is <str<strong>on</strong>g>the</str<strong>on</strong>g> determinati<strong>on</strong> <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g><br />

regi<strong>on</strong> <str<strong>on</strong>g>of</str<strong>on</strong>g> support for <str<strong>on</strong>g>the</str<strong>on</strong>g> computati<strong>on</strong> <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> curvature. In<br />

<str<strong>on</strong>g>the</str<strong>on</strong>g> real Euclidean plane, curvature is defined as <str<strong>on</strong>g>the</str<strong>on</strong>g> rate<br />

<str<strong>on</strong>g>of</str<strong>on</strong>g> change <str<strong>on</strong>g>of</str<strong>on</strong>g> slope as a functi<strong>on</strong> <str<strong>on</strong>g>of</str<strong>on</strong>g> arc length. For <str<strong>on</strong>g>the</str<strong>on</strong>g><br />

curve y = f(x), this can be expressed in terms <str<strong>on</strong>g>of</str<strong>on</strong>g> deriv-


TEH AND CHIN: DOMINANT POINTS ON DIGlTAL CURVES 863<br />

atives as<br />

d ‘Y<br />

(3.1)<br />

For a digital curve, if <str<strong>on</strong>g>the</str<strong>on</strong>g> discrete curvature is defined by<br />

simply replacing <str<strong>on</strong>g>the</str<strong>on</strong>g> derivatives in (3.1) by first differ-<br />

ences, <str<strong>on</strong>g>the</str<strong>on</strong>g>re is a problem that small changes in slope are<br />

impossible, since successive slope angles <strong>on</strong> <str<strong>on</strong>g>the</str<strong>on</strong>g> digital<br />

curve can differ <strong>on</strong>ly by a multiple <str<strong>on</strong>g>of</str<strong>on</strong>g> 45’. This difficulty<br />

is overcome in various dominant point detecti<strong>on</strong> algo-<br />

rithms discussed in Secti<strong>on</strong> II by using k > 1 differences,<br />

ra<str<strong>on</strong>g>the</str<strong>on</strong>g>r than by simply using <str<strong>on</strong>g>the</str<strong>on</strong>g> first differences (k = 1).<br />

In o<str<strong>on</strong>g>the</str<strong>on</strong>g>r words, a smoo<str<strong>on</strong>g>the</str<strong>on</strong>g>d versi<strong>on</strong> <str<strong>on</strong>g>of</str<strong>on</strong>g> discrete curvature<br />

is measured, and k can be viewed as a smoothing param-<br />

eter. Ano<str<strong>on</strong>g>the</str<strong>on</strong>g>r way to overcome this problem is to use<br />

higher order chain codes [21] where <str<strong>on</strong>g>the</str<strong>on</strong>g> directi<strong>on</strong>s are<br />

quantized in more than eight steps.<br />

A number <str<strong>on</strong>g>of</str<strong>on</strong>g> o<str<strong>on</strong>g>the</str<strong>on</strong>g>r authors have also c<strong>on</strong>centrated <strong>on</strong><br />

techniques involving direct measurements <str<strong>on</strong>g>of</str<strong>on</strong>g> discrete cur-<br />

vature or functi<strong>on</strong>s <str<strong>on</strong>g>of</str<strong>on</strong>g> discrete curvature [6], [22]-[24].<br />

These measurements are used in various dominant point<br />

detecti<strong>on</strong> algorithms to detect dominant points in <str<strong>on</strong>g>the</str<strong>on</strong>g> final<br />

steps <str<strong>on</strong>g>of</str<strong>on</strong>g> n<strong>on</strong>maxima suppressi<strong>on</strong>. We shall call <str<strong>on</strong>g>the</str<strong>on</strong>g>se<br />

functi<strong>on</strong>s measures <str<strong>on</strong>g>of</str<strong>on</strong>g> significance [25], S( . ). Hence, <str<strong>on</strong>g>the</str<strong>on</strong>g><br />

k cosine measures [(2.5) and (2.8)] in Rosenfeld-John-<br />

st<strong>on</strong> and Rosenfeld-Weszka, <str<strong>on</strong>g>the</str<strong>on</strong>g> comerity measure<br />

[(2.12)] in Freeman-Davis, <str<strong>on</strong>g>the</str<strong>on</strong>g> weighted curvature mea-<br />

sure [(2.14)] in Sankar-Sharma, and <str<strong>on</strong>g>the</str<strong>on</strong>g> tangential de-<br />

flecti<strong>on</strong> measure [(A.8) and (A.9)] in Anders<strong>on</strong>-Bezdek<br />

algorithms are all different types <str<strong>on</strong>g>of</str<strong>on</strong>g> measures <str<strong>on</strong>g>of</str<strong>on</strong>g> signifi-<br />

cance.<br />

Since an approximate smoo<str<strong>on</strong>g>the</str<strong>on</strong>g>d versi<strong>on</strong> <str<strong>on</strong>g>of</str<strong>on</strong>g> discrete cur-<br />

vature is measured in various algorithms, an appropriate<br />

smoothing factor (for example, m in <str<strong>on</strong>g>the</str<strong>on</strong>g> case <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> Ro-<br />

senfeld-Johnst<strong>on</strong> procedure) has to be selected based <strong>on</strong><br />

<str<strong>on</strong>g>the</str<strong>on</strong>g> level <str<strong>on</strong>g>of</str<strong>on</strong>g> detail represented in <str<strong>on</strong>g>the</str<strong>on</strong>g> digital curve in order<br />

to measure <str<strong>on</strong>g>the</str<strong>on</strong>g> discrete curvature to a certain degree <str<strong>on</strong>g>of</str<strong>on</strong>g><br />

accuracy. This smoothing factor is in fact a functi<strong>on</strong> <str<strong>on</strong>g>of</str<strong>on</strong>g><br />

<str<strong>on</strong>g>the</str<strong>on</strong>g> regi<strong>on</strong> <str<strong>on</strong>g>of</str<strong>on</strong>g> support which is used to compute <str<strong>on</strong>g>the</str<strong>on</strong>g> mea-<br />

sure <str<strong>on</strong>g>of</str<strong>on</strong>g> significance. In general, <str<strong>on</strong>g>the</str<strong>on</strong>g> higher <str<strong>on</strong>g>the</str<strong>on</strong>g> level <str<strong>on</strong>g>of</str<strong>on</strong>g><br />

detail, <str<strong>on</strong>g>the</str<strong>on</strong>g> smaller <str<strong>on</strong>g>the</str<strong>on</strong>g> smoothing factor to be selected. A<br />

major difficulty arises when a digital curve has features at<br />

various levels <str<strong>on</strong>g>of</str<strong>on</strong>g> detail. Here, if too large a smoothing<br />

factor is selected, some dominant points <str<strong>on</strong>g>of</str<strong>on</strong>g> fine features<br />

will be missed. <str<strong>on</strong>g>On</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> o<str<strong>on</strong>g>the</str<strong>on</strong>g>r hand, if too small a smooth-<br />

ing factor is selected, extra n<strong>on</strong>dominant points <str<strong>on</strong>g>of</str<strong>on</strong>g> coarse<br />

features may be detected, which c<strong>on</strong>stitutes redundancy.<br />

Both cases result in inaccuracy <str<strong>on</strong>g>of</str<strong>on</strong>g> dominant point detec-<br />

ti<strong>on</strong>. It has been remarked in [2] that <str<strong>on</strong>g>the</str<strong>on</strong>g> user <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g>se<br />

procedures has to select a smoothing factor appropriate to<br />

<str<strong>on</strong>g>the</str<strong>on</strong>g> class <str<strong>on</strong>g>of</str<strong>on</strong>g> curves to be processed. However, <str<strong>on</strong>g>the</str<strong>on</strong>g> diffi-<br />

culty still remains, because curves usually c<strong>on</strong>sist <str<strong>on</strong>g>of</str<strong>on</strong>g> fea-<br />

tures <str<strong>on</strong>g>of</str<strong>on</strong>g> multiple sizes and this can <strong>on</strong>ly be overcome by<br />

using different smoothing factors for regi<strong>on</strong>s having dif-<br />

ferent levels <str<strong>on</strong>g>of</str<strong>on</strong>g> detail.<br />

In <str<strong>on</strong>g>the</str<strong>on</strong>g> next secti<strong>on</strong>, we show that <str<strong>on</strong>g>the</str<strong>on</strong>g> reliability and ac-<br />

curacy <str<strong>on</strong>g>of</str<strong>on</strong>g> dominant point detecti<strong>on</strong> depend not <strong>on</strong>ly <strong>on</strong> <str<strong>on</strong>g>the</str<strong>on</strong>g><br />

accurate determinati<strong>on</strong> <str<strong>on</strong>g>of</str<strong>on</strong>g> discrete curvature, but primar-<br />

ily <strong>on</strong> <str<strong>on</strong>g>the</str<strong>on</strong>g> accurate determinati<strong>on</strong> <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> smoothing factor<br />

<str<strong>on</strong>g>of</str<strong>on</strong>g> each point based <strong>on</strong> <str<strong>on</strong>g>the</str<strong>on</strong>g> local properties <str<strong>on</strong>g>of</str<strong>on</strong>g> that regi<strong>on</strong>.<br />

Our proposed algorithm requires no input smoothing pa-<br />

rameter. The smoothing factor (or <str<strong>on</strong>g>the</str<strong>on</strong>g> regi<strong>on</strong> <str<strong>on</strong>g>of</str<strong>on</strong>g> support)<br />

<str<strong>on</strong>g>of</str<strong>on</strong>g> each point pi <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> curve, which varies from point to<br />

point, is determined based <strong>on</strong> <str<strong>on</strong>g>the</str<strong>on</strong>g> local properties <str<strong>on</strong>g>of</str<strong>on</strong>g> pi.<br />

The determinati<strong>on</strong> <str<strong>on</strong>g>of</str<strong>on</strong>g> regi<strong>on</strong>s <str<strong>on</strong>g>of</str<strong>on</strong>g> support has also been re-<br />

ferred to as <str<strong>on</strong>g>the</str<strong>on</strong>g> determinati<strong>on</strong> <str<strong>on</strong>g>of</str<strong>on</strong>g> domain D ( * ) [25]. We<br />

should point out that although <str<strong>on</strong>g>the</str<strong>on</strong>g> Sankar-Sharma proce-<br />

dure also requires no input smoothing parameters, it does<br />

not involve any determinati<strong>on</strong> <str<strong>on</strong>g>of</str<strong>on</strong>g> regi<strong>on</strong>s <str<strong>on</strong>g>of</str<strong>on</strong>g> support and<br />

<str<strong>on</strong>g>the</str<strong>on</strong>g> results are no better than those <str<strong>on</strong>g>of</str<strong>on</strong>g> any <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> o<str<strong>on</strong>g>the</str<strong>on</strong>g>r<br />

methods tested (see Secti<strong>on</strong> IV).<br />

In order to show and emphasize <str<strong>on</strong>g>the</str<strong>on</strong>g> implicati<strong>on</strong> <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g><br />

determinati<strong>on</strong> <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> regi<strong>on</strong> <str<strong>on</strong>g>of</str<strong>on</strong>g> support, we use <str<strong>on</strong>g>the</str<strong>on</strong>g> follow-<br />

ing three different measures <str<strong>on</strong>g>of</str<strong>on</strong>g> significance, which cor-<br />

resp<strong>on</strong>d to different degrees <str<strong>on</strong>g>of</str<strong>on</strong>g> accuracy <str<strong>on</strong>g>of</str<strong>on</strong>g> discrete cur-<br />

vature measures.<br />

a) k cosine measure in Rosenfeld-Johnst<strong>on</strong> procedure:<br />

cosik, (2.5).<br />

b) k curvature measure: <str<strong>on</strong>g>the</str<strong>on</strong>g> difference in mean angular<br />

directi<strong>on</strong> <str<strong>on</strong>g>of</str<strong>on</strong>g> k vectors [(2.2)] <strong>on</strong> <str<strong>on</strong>g>the</str<strong>on</strong>g> leading and trailing<br />

curve segment <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> point p, where <str<strong>on</strong>g>the</str<strong>on</strong>g> curvature is mea-<br />

sured [24], i.e.,<br />

where&-j is an integer defined in (2.3) and Fig. 1.<br />

c) 1 curvature measure: (k = 1 <str<strong>on</strong>g>of</str<strong>on</strong>g> b) above )<br />

CUR,, =~+I -~. (3.3)<br />

B. Determinati<strong>on</strong> <str<strong>on</strong>g>of</str<strong>on</strong>g> Regi<strong>on</strong> <str<strong>on</strong>g>of</str<strong>on</strong>g> Support<br />

The determinati<strong>on</strong> <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> regi<strong>on</strong> <str<strong>on</strong>g>of</str<strong>on</strong>g> support <str<strong>on</strong>g>of</str<strong>on</strong>g> a point<br />

p,, D( pi ), c<strong>on</strong>stitutes <str<strong>on</strong>g>the</str<strong>on</strong>g> major problem in various dom-<br />

inant point detecti<strong>on</strong> algorithms. D ( pi ) in <str<strong>on</strong>g>the</str<strong>on</strong>g> Rosenfeld-<br />

Johnst<strong>on</strong> procedure is determined in Step 3) by (2.6) and<br />

1 I D ( pi ) = hi I m. For <str<strong>on</strong>g>the</str<strong>on</strong>g> case <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> Freeman-Davis<br />

algorithm, D( pi ) = s. Both m and s are input smoothing<br />

parameters. Davis [17] has pointed out that incorrectly<br />

chosen regi<strong>on</strong>s <str<strong>on</strong>g>of</str<strong>on</strong>g> support may cause <str<strong>on</strong>g>the</str<strong>on</strong>g> measures <str<strong>on</strong>g>of</str<strong>on</strong>g> sig-<br />

nificance to be computed over inappropriate neighbor-<br />

hoods which may subsequently cause dominant points to<br />

be discarded. The Rosenfeld-Weszka procedure deals<br />

with this problem by presmoothing <str<strong>on</strong>g>the</str<strong>on</strong>g> k cosines by av-<br />

eraging [see (2. S)]. However, it does not provide much<br />

better results.<br />

The problem <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> determinati<strong>on</strong> <str<strong>on</strong>g>of</str<strong>on</strong>g> regi<strong>on</strong>s <str<strong>on</strong>g>of</str<strong>on</strong>g> support<br />

has also been addressed by a number <str<strong>on</strong>g>of</str<strong>on</strong>g> o<str<strong>on</strong>g>the</str<strong>on</strong>g>r authors.<br />

Langridge [26] pointed out that each boundary point <str<strong>on</strong>g>of</str<strong>on</strong>g> a<br />

closed curve should have its own view <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> curve. A<br />

dominant point should have a view which c<strong>on</strong>stitutes a<br />

meaningful regi<strong>on</strong> <str<strong>on</strong>g>of</str<strong>on</strong>g> support <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> curve and should<br />

block <str<strong>on</strong>g>the</str<strong>on</strong>g> view from neighboring n<strong>on</strong>dominant points. The<br />

author suggested that if we are trying to find whe<str<strong>on</strong>g>the</str<strong>on</strong>g>r a


point dominates a secti<strong>on</strong> <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> boundary, a possible c<strong>on</strong>-<br />

straint is that <str<strong>on</strong>g>the</str<strong>on</strong>g> point must be at a maximum height rel-<br />

ative to <str<strong>on</strong>g>the</str<strong>on</strong>g> chord that joins <str<strong>on</strong>g>the</str<strong>on</strong>g> ends <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> boundary frag-<br />

ment. However, while he noted that a criteri<strong>on</strong> limiting<br />

how far around <str<strong>on</strong>g>the</str<strong>on</strong>g> curve this procedure should go is nec-<br />

essary, he did not suggest what criteri<strong>on</strong> should be used.<br />

Rosenberg 1251 noted that certain points <str<strong>on</strong>g>of</str<strong>on</strong>g> a c<strong>on</strong>vex blob<br />

perceptually dominate o<str<strong>on</strong>g>the</str<strong>on</strong>g>r points <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> blob. He fur<str<strong>on</strong>g>the</str<strong>on</strong>g>r<br />

presented methods for <str<strong>on</strong>g>the</str<strong>on</strong>g> determinati<strong>on</strong> <str<strong>on</strong>g>of</str<strong>on</strong>g> regi<strong>on</strong>s <str<strong>on</strong>g>of</str<strong>on</strong>g><br />

support with specific reference to c<strong>on</strong>vex blobs, and sug-<br />

gested that n<strong>on</strong>c<strong>on</strong>vex blobs can be analyzed by decom-<br />

posing <str<strong>on</strong>g>the</str<strong>on</strong>g>m into c<strong>on</strong>vex blobs. However, this approach<br />

seems unreas<strong>on</strong>able and has been criticized by Davis [ 171.<br />

We now present a simple iterative algorithm to deter-<br />

mine <str<strong>on</strong>g>the</str<strong>on</strong>g> regi<strong>on</strong> <str<strong>on</strong>g>of</str<strong>on</strong>g> support <str<strong>on</strong>g>of</str<strong>on</strong>g> a point pi <str<strong>on</strong>g>of</str<strong>on</strong>g> a closed curve.<br />

Determinati<strong>on</strong> <str<strong>on</strong>g>of</str<strong>on</strong>g> Regi<strong>on</strong> <str<strong>on</strong>g>of</str<strong>on</strong>g> Support<br />

1) Define <str<strong>on</strong>g>the</str<strong>on</strong>g> length <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> chord joining <str<strong>on</strong>g>the</str<strong>on</strong>g> points pi -k<br />

andp,+kas<br />

-- -- .'-'--.-.'- -*' -'----.I ANALYSIS AND MACHINE INTELLIGENCE, VOL. II. NO. 8. ALlGUST I')89<br />

lik = Ipi-&Pi+& 1. (3.4)<br />

Let dik be <str<strong>on</strong>g>the</str<strong>on</strong>g> perpendicular distance <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> point pi to <str<strong>on</strong>g>the</str<strong>on</strong>g><br />

chord P, - kp, + 1.<br />

or<br />

2) Start with k = 1. Compute l;& and du until”<br />

(a> lik 2 Ii.& + I (3.5a)<br />

(b) 2 1 de for dik > 0 (3.5b)<br />

drk ‘&.&+I<br />

-


TEH AND CHIN: DOMINANT POINTS ON DIGITAL CURVES 865<br />

Teh-Chin Algorithm<br />

(a)<br />

(0 (8)<br />

1) Determine <str<strong>on</strong>g>the</str<strong>on</strong>g> regi<strong>on</strong> <str<strong>on</strong>g>of</str<strong>on</strong>g> support <str<strong>on</strong>g>of</str<strong>on</strong>g> each point by <str<strong>on</strong>g>the</str<strong>on</strong>g><br />

algorithm described in Secti<strong>on</strong> III-B,<br />

D(p,)= {Pf-X,7 *" rPi-I,Pi3Pr+I, '** ~Pi+k,)..<br />

2) Select a measure <str<strong>on</strong>g>of</str<strong>on</strong>g> significance (e.g., from <strong>on</strong>e <str<strong>on</strong>g>of</str<strong>on</strong>g><br />

<str<strong>on</strong>g>the</str<strong>on</strong>g> three defined at <str<strong>on</strong>g>the</str<strong>on</strong>g> end <str<strong>on</strong>g>of</str<strong>on</strong>g> Secti<strong>on</strong> III-A) and calculate<br />

its absolute value for each point, ( S( pi > ( .<br />

3a) 1st pass: Perform n<strong>on</strong>maxima suppressi<strong>on</strong> as fol-<br />

lows; retain <strong>on</strong>ly those points pi where<br />

for all j such that<br />

(b)<br />

Cd) (e)<br />

Fig. 3. A chromosome-shaped curve. (a) Rosenfeld-Johnst<strong>on</strong> algorithm.<br />

(b) Rosenfeld-Weszka algorithm. (c) Freeman-Davis algorithm. (d)<br />

Sankar-Sharma algorithm. (e) Anders<strong>on</strong>-Bezdek algorithm. (f) Teh-<br />

Chin algorithm (k cosine). (g) Teh-Chin algorithm (k curvature). (h)<br />

Teh-Chin algorithm ( I curvature).<br />

Is(Pi)l 1 Is( (3.7a)<br />

Ii -jl I k,/2. (3.7b)<br />

3b) 2nd pass: Fur<str<strong>on</strong>g>the</str<strong>on</strong>g>r suppress those points having<br />

zero 1 curvature ( CUR;, = 0).<br />

(h)<br />

3c) 3rd pass: For those points survived after 2nd pass,<br />

if ([k; <str<strong>on</strong>g>of</str<strong>on</strong>g> O(p;)] = 1) and (pi+, or<br />

pi+, still survived) <str<strong>on</strong>g>the</str<strong>on</strong>g>n<br />

fur<str<strong>on</strong>g>the</str<strong>on</strong>g>r suppress pi if ( 1 S( pi ) ( I<br />

IS(pi-,>I> or (IS(pi)I 5<br />

NP;+,>l>.<br />

if 1 curvature is selected as a measure <str<strong>on</strong>g>of</str<strong>on</strong>g><br />

significance,<br />

<str<strong>on</strong>g>the</str<strong>on</strong>g>n go to Step 3d) and do a 4th pass<br />

else those points survived are <str<strong>on</strong>g>the</str<strong>on</strong>g><br />

dominant points.<br />

3d) 4th pass: For those groups <str<strong>on</strong>g>of</str<strong>on</strong>g> more than 2 points<br />

that still survived, suppress all <str<strong>on</strong>g>the</str<strong>on</strong>g> points except <str<strong>on</strong>g>the</str<strong>on</strong>g> two<br />

end points <str<strong>on</strong>g>of</str<strong>on</strong>g> each <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> groups.<br />

For those groups <str<strong>on</strong>g>of</str<strong>on</strong>g> exactly 2 points that still survived,<br />

if(lf(pi)l > IS(pi+,)l)<str<strong>on</strong>g>the</str<strong>on</strong>g>n<br />

suppress Pi + I


866 IEEE TRANSACTIONS ON PATTERN ANALYSIS AND MACHINE INTELLIGENCE. VOL. II. NO. 8. AUGUST 1989<br />

Remarks:<br />

-\<br />

9 !<br />

(a)<br />

Cc) Cd)<br />

’<br />

9<br />

\<br />

w<br />

Fig. 4. A leaf-shaped curve. (a) Rosenfeld-Johnst<strong>on</strong> algorithm. (b) Ro-<br />

senfeld-Weszka algorithm. (c) Freeman-Davis algorithm. (d) Sankar-<br />

Sharma algorithm. (e) Anders<strong>on</strong>-Bezdek algorithm. (f) Teh-Chin al-<br />

gorithm (k cosine). (g) Teh-Chin algorithm (k curvature). (h) Teh-Chin<br />

algorithm ( 1 curvature).<br />

elseif(lS(p,)I < IS(~+,)l)<str<strong>on</strong>g>the</str<strong>on</strong>g>n<br />

suppress pi<br />

else if (k; > ki + I ) <str<strong>on</strong>g>the</str<strong>on</strong>g>n<br />

suppress pi + I<br />

else suppress p,.<br />

l The 2nd pass in Step 3b) is equivalent to a sort <str<strong>on</strong>g>of</str<strong>on</strong>g><br />

“fine tuning” adjustment in <str<strong>on</strong>g>the</str<strong>on</strong>g> positi<strong>on</strong>s <str<strong>on</strong>g>of</str<strong>on</strong>g> some domi-<br />

nant points. It can be skipped if not desired; a few dom-<br />

inant points may appear <strong>on</strong>e point away from where <str<strong>on</strong>g>the</str<strong>on</strong>g>y<br />

should be.<br />

l For <str<strong>on</strong>g>the</str<strong>on</strong>g> case when 1 curvature is selected as a mea-<br />

sure <str<strong>on</strong>g>of</str<strong>on</strong>g> significance, <str<strong>on</strong>g>the</str<strong>on</strong>g> 4th pass in Step 3d) can be sim-<br />

plified by simply suppressing pi + , for groups <str<strong>on</strong>g>of</str<strong>on</strong>g> exactly 2<br />

points that still survived.<br />

I<br />

-I r<br />

9<br />

\<br />

,:<br />

(b)<br />

(e)<br />

I<br />

(h)<br />

r<br />

Steps l), 2), and 3a) in <str<strong>on</strong>g>the</str<strong>on</strong>g> algorithm can be processed<br />

in parallel, and Steps 3b), 3c), and 3d) are processed se-<br />

quentially, starting from <str<strong>on</strong>g>the</str<strong>on</strong>g> first c<strong>on</strong>tour point. The num-<br />

ber <str<strong>on</strong>g>of</str<strong>on</strong>g> points survived after <str<strong>on</strong>g>the</str<strong>on</strong>g> process <str<strong>on</strong>g>of</str<strong>on</strong>g> n<strong>on</strong>maxima<br />

suppressi<strong>on</strong> in Step 3a) is usually <strong>on</strong>ly a small fracti<strong>on</strong> <str<strong>on</strong>g>of</str<strong>on</strong>g><br />

<str<strong>on</strong>g>the</str<strong>on</strong>g> total input c<strong>on</strong>tour points. Thus, <str<strong>on</strong>g>the</str<strong>on</strong>g> sequential pro-<br />

cessing in Step 3) [i.e., Steps 3b)-3d)] is relatively in-<br />

expensive. This can be seen from <str<strong>on</strong>g>the</str<strong>on</strong>g> result in Secti<strong>on</strong> IV<br />

that <str<strong>on</strong>g>the</str<strong>on</strong>g> CPU processing time <str<strong>on</strong>g>of</str<strong>on</strong>g> our algorithm imple-<br />

mented sequentially is comparable to, and in some cases<br />

even much shorter than, those <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> rest <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> algo-<br />

rithms. The sec<strong>on</strong>d pass in Step 3b) is essentially used to<br />

eliminate points having zero curvature. The third pass in<br />

Step 3c) is needed to take care <str<strong>on</strong>g>of</str<strong>on</strong>g> points having regi<strong>on</strong>s<br />

<str<strong>on</strong>g>of</str<strong>on</strong>g> support <str<strong>on</strong>g>of</str<strong>on</strong>g> 1.


TEH AND CHIN: DOMINANT POINTS ON DIGITAL CURVES 867<br />

IV. EXPERIMENTAL RESULTS<br />

Cc) (d)<br />

<str<strong>on</strong>g>Dominant</str<strong>on</strong>g> points <strong>on</strong> a digital curve can be used as a<br />

compact and effective representati<strong>on</strong> <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> curve for shape<br />

analysis and pattern classificati<strong>on</strong> [9], [ 151. The polyg<strong>on</strong><br />

drawn by joining <str<strong>on</strong>g>the</str<strong>on</strong>g> adjacent dominant points is used to<br />

approximate <str<strong>on</strong>g>the</str<strong>on</strong>g> shape <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> object. A quantitative mea-<br />

sure <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> quality <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> detected dominant points is used<br />

in this paper, defined as <str<strong>on</strong>g>the</str<strong>on</strong>g> pointwise error between <str<strong>on</strong>g>the</str<strong>on</strong>g><br />

digital curve and <str<strong>on</strong>g>the</str<strong>on</strong>g> approximating polyg<strong>on</strong>. The error<br />

between a point p, <str<strong>on</strong>g>of</str<strong>on</strong>g> a digital closed curve C, as defined<br />

in (2. l), and <str<strong>on</strong>g>the</str<strong>on</strong>g> approximating polyg<strong>on</strong> is defined as <str<strong>on</strong>g>the</str<strong>on</strong>g><br />

perpendicular distance <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> point to <str<strong>on</strong>g>the</str<strong>on</strong>g> approximating<br />

line segment. We denote this error by ei. Two error norms<br />

between C and its approximating polyg<strong>on</strong> can be defined<br />

(a) (b)<br />

(0 (g) 00<br />

Fig. 5. A figure-8 curve. (a) Rosenfeld-Johnst<strong>on</strong> algorithm. (b) Rosen-<br />

feld-Weszka algorithm. (c) Freeman-Davis algorithm. (d) Sankar-<br />

Sharma algorithm. (e) Anders<strong>on</strong>-Bezdek algorithm. (f) Teh-Chin al-<br />

gorithm (k cosine). (g) Teh-Chin algorithm (k curvature). (h) Teh-Chin<br />

algorithm ( 1 curvature ).<br />

(e)<br />

(a) Integral square error,<br />

E2= ief<br />

i=l<br />

(b) Maximum error,<br />

E, = max ei.<br />

Isis-n<br />

(4.1)<br />

(4.2)<br />

In this secti<strong>on</strong>, we compare our algorithm with <str<strong>on</strong>g>the</str<strong>on</strong>g> five<br />

algorithms discussed in Secti<strong>on</strong> II. Four closed curves<br />

were chosen to compare <str<strong>on</strong>g>the</str<strong>on</strong>g> algorithms with respect to 1)<br />

<str<strong>on</strong>g>the</str<strong>on</strong>g> number <str<strong>on</strong>g>of</str<strong>on</strong>g> detected dominant points, 2) <str<strong>on</strong>g>the</str<strong>on</strong>g> approxi-<br />

mati<strong>on</strong> errors E, and E,, and 3) <str<strong>on</strong>g>the</str<strong>on</strong>g> total CPU processing<br />

time. Fig. 3 is a chromosome-shaped curve with 60 ver-<br />

tices, Fig. 4 is a leaf-shaped curve with 120 vertices, Fig.<br />

5 is a figure-8 curve with 4.5 vertices, and Fig. 6 shows a


868 IEEE TRANSACTIONS ON PATTERN ANALYSIS AND MACHINE INTELLIGENCE. VOL. II. NO. 8. AUGUST 19x9<br />

(9<br />

(a)<br />

Cd)<br />

(b)<br />

(e)<br />

(h)<br />

(j) (k)<br />

(1)<br />

Fig. 6. A curve with four semicircles. (a) Rosenfeld-Johnst<strong>on</strong> algorithm, (b) Rosenfeld-Johnst<strong>on</strong> algorithm, (c) Rosenfel&<br />

Weszka algorithm. (d) Rosenfeld-Weszka algorithm. (e) Freeman-Davis algorithm. (f) Freeman-Davis algorithm. (g) San-<br />

kar-Sharma algorithm. (h) Anders<strong>on</strong>-Bezdek algorithm. (i) Anders<strong>on</strong>-Bezdek algorithm. (j) Teh-Chin algorithm (k cosine ).<br />

(k) Teh-Chin algorithm (k curvature). (I) Teh-Chin algorithm ( I curvature).


TEH AND CHIN. DOMINANT POINTS ON DIGITAL CURVES 869<br />

curve c<strong>on</strong>sisting <str<strong>on</strong>g>of</str<strong>on</strong>g> three semi-circles having different radii,<br />

and has 102 vertices. The first three figures are taken<br />

from [2] and <str<strong>on</strong>g>the</str<strong>on</strong>g> last figure represents a typical example<br />

<str<strong>on</strong>g>of</str<strong>on</strong>g> a curve which has features <str<strong>on</strong>g>of</str<strong>on</strong>g> multiple sizes. The chain<br />

code <str<strong>on</strong>g>of</str<strong>on</strong>g> each curve, which c<strong>on</strong>stituted <str<strong>on</strong>g>the</str<strong>on</strong>g> input to all <str<strong>on</strong>g>the</str<strong>on</strong>g><br />

algorithms, was coded in a clockwise directi<strong>on</strong> starting<br />

from <str<strong>on</strong>g>the</str<strong>on</strong>g> point marked with q <strong>on</strong> each curve, using <str<strong>on</strong>g>the</str<strong>on</strong>g><br />

Freeman code defined in Fig. 1. The chain codes <str<strong>on</strong>g>of</str<strong>on</strong>g> all<br />

<str<strong>on</strong>g>the</str<strong>on</strong>g> curves can be found in Appendix B. All algorithms<br />

were implemented in Pascal and executed <strong>on</strong> a VAX 750<br />

computer. All algorithms have <str<strong>on</strong>g>the</str<strong>on</strong>g> same input and output<br />

format,5 and process data in <str<strong>on</strong>g>the</str<strong>on</strong>g> clockwise directi<strong>on</strong>.<br />

The results obtained by applying <str<strong>on</strong>g>the</str<strong>on</strong>g> six algorithms to<br />

Fig. 3 are shown in Figs. 3(a)-3(f), which are also summarized<br />

in Table III. The processing <str<strong>on</strong>g>of</str<strong>on</strong>g> Figs. 3-5 requires<br />

<strong>on</strong>e set <str<strong>on</strong>g>of</str<strong>on</strong>g> input parameter each; <str<strong>on</strong>g>the</str<strong>on</strong>g>se are li.sted in <str<strong>on</strong>g>the</str<strong>on</strong>g>ir<br />

corresp<strong>on</strong>ding tables. The processing <str<strong>on</strong>g>of</str<strong>on</strong>g> Fig. 6 uses two<br />

sets <str<strong>on</strong>g>of</str<strong>on</strong>g> input parameters to dem<strong>on</strong>strate <str<strong>on</strong>g>the</str<strong>on</strong>g> problem <str<strong>on</strong>g>of</str<strong>on</strong>g><br />

varying feature size. Tables III-VI show <str<strong>on</strong>g>the</str<strong>on</strong>g> results corresp<strong>on</strong>ding<br />

to Figs. 3-6. Several observati<strong>on</strong>s are drawn<br />

from <str<strong>on</strong>g>the</str<strong>on</strong>g> results.<br />

1) CPU Processing Time: The Sankar-Sharma algorithm<br />

is <str<strong>on</strong>g>the</str<strong>on</strong>g> most expensive <strong>on</strong>e because <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> iterative<br />

nature <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> algorithm. The Rosenfeld-Weszka algorithm<br />

is relatively expensive because it takes an additi<strong>on</strong>al<br />

step <str<strong>on</strong>g>of</str<strong>on</strong>g> k cosine smoothing. There is little difference in<br />

computati<strong>on</strong>al loading am<strong>on</strong>g <str<strong>on</strong>g>the</str<strong>on</strong>g> rest <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> four algorithms.<br />

It should be noted that <str<strong>on</strong>g>the</str<strong>on</strong>g> processing time <str<strong>on</strong>g>of</str<strong>on</strong>g> those<br />

algorithms requiring input parameters depends <strong>on</strong> <str<strong>on</strong>g>the</str<strong>on</strong>g> values<br />

<str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> parameters. In <str<strong>on</strong>g>the</str<strong>on</strong>g> Teh-Chin algorithm, three<br />

different measures <str<strong>on</strong>g>of</str<strong>on</strong>g> significance are used; <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g>se, <str<strong>on</strong>g>the</str<strong>on</strong>g><br />

1 curvature measure is <str<strong>on</strong>g>the</str<strong>on</strong>g> least expensive.<br />

2) Approximati<strong>on</strong> Errors: Our algorithm c<strong>on</strong>sistently<br />

outperforms <str<strong>on</strong>g>the</str<strong>on</strong>g> rest <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> algorithms in terms <str<strong>on</strong>g>of</str<strong>on</strong>g> both<br />

approximati<strong>on</strong> error measures. The approximati<strong>on</strong> errors<br />

obviously depend <strong>on</strong> <str<strong>on</strong>g>the</str<strong>on</strong>g> number <str<strong>on</strong>g>of</str<strong>on</strong>g> detected dominant<br />

points, nd. The data compressi<strong>on</strong> ratios <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> total number<br />

<str<strong>on</strong>g>of</str<strong>on</strong>g> input c<strong>on</strong>tour points to <str<strong>on</strong>g>the</str<strong>on</strong>g> number <str<strong>on</strong>g>of</str<strong>on</strong>g> detected dominant<br />

points, n/n& are tabulated in <str<strong>on</strong>g>the</str<strong>on</strong>g> tables.<br />

3) Number <str<strong>on</strong>g>of</str<strong>on</strong>g> Detected <str<strong>on</strong>g>Dominant</str<strong>on</strong>g> <str<strong>on</strong>g>Points</str<strong>on</strong>g>: Of <str<strong>on</strong>g>the</str<strong>on</strong>g> two<br />

algorithms which require no input parameters, our algorithm<br />

c<strong>on</strong>sistently detects more dominant points than <str<strong>on</strong>g>the</str<strong>on</strong>g><br />

Sankar-Sharma algorithm does. This is because <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> iterative<br />

approach <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> Sankar-Sharma algorithm, in<br />

which <str<strong>on</strong>g>the</str<strong>on</strong>g> iterati<strong>on</strong> process terminates when <str<strong>on</strong>g>the</str<strong>on</strong>g> number<br />

<str<strong>on</strong>g>of</str<strong>on</strong>g> detected dominant points c<strong>on</strong>verges to a minimum. This<br />

final set <str<strong>on</strong>g>of</str<strong>on</strong>g> minimal number <str<strong>on</strong>g>of</str<strong>on</strong>g> detected dominant points,<br />

however, does not necessary corresp<strong>on</strong>d to an accurate<br />

representati<strong>on</strong> <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> curve, as can be seen in Figs. 4(d)<br />

and 6(g). In fact, this is also <str<strong>on</strong>g>the</str<strong>on</strong>g> cause <str<strong>on</strong>g>of</str<strong>on</strong>g> its large computati<strong>on</strong>al<br />

load and large approximati<strong>on</strong> errors. Obviously,<br />

<str<strong>on</strong>g>the</str<strong>on</strong>g> terminati<strong>on</strong> criteri<strong>on</strong> is ad hoc and some o<str<strong>on</strong>g>the</str<strong>on</strong>g>r<br />

criteria, perhaps <str<strong>on</strong>g>the</str<strong>on</strong>g> approximati<strong>on</strong> errors, could be used.<br />

The number <str<strong>on</strong>g>of</str<strong>on</strong>g> dominant points detected by <str<strong>on</strong>g>the</str<strong>on</strong>g> rest <str<strong>on</strong>g>of</str<strong>on</strong>g><br />

<str<strong>on</strong>g>the</str<strong>on</strong>g> four algorithms depends <strong>on</strong> <str<strong>on</strong>g>the</str<strong>on</strong>g> input parameters. In<br />

‘For <str<strong>on</strong>g>the</str<strong>on</strong>g> case <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> Sankar-Sharma procedure, an additi<strong>on</strong>al set <str<strong>on</strong>g>of</str<strong>on</strong>g> input<br />

data has to be provided to differential <str<strong>on</strong>g>the</str<strong>on</strong>g> interior and exterior <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> closed<br />

curve.<br />

TABLE I11<br />

RESULTS OF THE CHROMOSOME-SHAPED CURVE IN FIG. 3<br />

TABLE IV<br />

RESULTS OF THE LEAF-SHAPED CURVE IN FIG. 4<br />

TABLE V<br />

RESULTS OF THE FIGURE-~ CURVE IN FIG. 5<br />

TABLE VI<br />

RESULTS OF THE CURVE IN FIG. 6<br />

general, <str<strong>on</strong>g>the</str<strong>on</strong>g> larger <str<strong>on</strong>g>the</str<strong>on</strong>g> regi<strong>on</strong> <str<strong>on</strong>g>of</str<strong>on</strong>g> support introduced by <str<strong>on</strong>g>the</str<strong>on</strong>g><br />

input parameters, <str<strong>on</strong>g>the</str<strong>on</strong>g> lower <str<strong>on</strong>g>the</str<strong>on</strong>g> number <str<strong>on</strong>g>of</str<strong>on</strong>g> dominant points<br />

detected. Table VI shows <str<strong>on</strong>g>the</str<strong>on</strong>g> results <str<strong>on</strong>g>of</str<strong>on</strong>g> Fig. 6, which de-<br />

picts a curve c<strong>on</strong>sisting <str<strong>on</strong>g>of</str<strong>on</strong>g> three regi<strong>on</strong>s having features<br />

<str<strong>on</strong>g>of</str<strong>on</strong>g> multiple sizes. The upper semicircle represents a coarse<br />

feature and requires a large regi<strong>on</strong> <str<strong>on</strong>g>of</str<strong>on</strong>g> support to avoid


870 IEEE TRANSACTIONS ON PATTERN ANALYSIS AND MACHINE INTELLIGENCE. VOL II. NO. 8. AUGUST 1989<br />

detecting redundant n<strong>on</strong>dominant points. The two semi-<br />

circles <strong>on</strong> <str<strong>on</strong>g>the</str<strong>on</strong>g> left and right represent finer features and<br />

hence require a smaller regi<strong>on</strong> <str<strong>on</strong>g>of</str<strong>on</strong>g> support to detect accu-<br />

rate dominant points. Fig. 6(a) shows that for <str<strong>on</strong>g>the</str<strong>on</strong>g> case <str<strong>on</strong>g>of</str<strong>on</strong>g><br />

<str<strong>on</strong>g>the</str<strong>on</strong>g> Rosenfeld-Johnst<strong>on</strong> algorithm, a large regi<strong>on</strong> <str<strong>on</strong>g>of</str<strong>on</strong>g> sup-<br />

port performs reas<strong>on</strong>ably well <strong>on</strong> <str<strong>on</strong>g>the</str<strong>on</strong>g> upper semicircle,<br />

but not <strong>on</strong> <str<strong>on</strong>g>the</str<strong>on</strong>g> o<str<strong>on</strong>g>the</str<strong>on</strong>g>r three smaller semicircles, where it<br />

misses dominant points. <str<strong>on</strong>g>On</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> o<str<strong>on</strong>g>the</str<strong>on</strong>g>r hand, Fig. 6(b)<br />

shows that by using a smaller regi<strong>on</strong> <str<strong>on</strong>g>of</str<strong>on</strong>g> support, <str<strong>on</strong>g>the</str<strong>on</strong>g> dom-<br />

inant points <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> smaller semicircles are detected accu-<br />

rately, but a large number <str<strong>on</strong>g>of</str<strong>on</strong>g> redundant n<strong>on</strong>dominant<br />

points are detected <strong>on</strong> <str<strong>on</strong>g>the</str<strong>on</strong>g> big semicircle. This same phe-<br />

nomen<strong>on</strong> can also be observed in Figs. 6(c)-6(i).<br />

The above problem is overcome by our algorithm by<br />

varying <str<strong>on</strong>g>the</str<strong>on</strong>g> regi<strong>on</strong> <str<strong>on</strong>g>of</str<strong>on</strong>g> support automatically based <strong>on</strong> <str<strong>on</strong>g>the</str<strong>on</strong>g><br />

level <str<strong>on</strong>g>of</str<strong>on</strong>g> detail in <str<strong>on</strong>g>the</str<strong>on</strong>g> local regi<strong>on</strong>. Figs. 6(j)-6(l) show <str<strong>on</strong>g>the</str<strong>on</strong>g><br />

results; no dominant points are missed nor are redundant<br />

n<strong>on</strong>dominant points detected.<br />

4) The Importance <str<strong>on</strong>g>of</str<strong>on</strong>g> Regi<strong>on</strong> <str<strong>on</strong>g>of</str<strong>on</strong>g> Support: The results<br />

obtained by our algorithm using three different measures<br />

<str<strong>on</strong>g>of</str<strong>on</strong>g> significance (which corresp<strong>on</strong>d to different degrees <str<strong>on</strong>g>of</str<strong>on</strong>g><br />

accuracy <str<strong>on</strong>g>of</str<strong>on</strong>g> discrete curvature estimates) are very much<br />

<str<strong>on</strong>g>the</str<strong>on</strong>g> same. This shows that dominant point detecti<strong>on</strong> relies<br />

heavily <strong>on</strong> <str<strong>on</strong>g>the</str<strong>on</strong>g> accurate determinati<strong>on</strong> <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> local regi<strong>on</strong><br />

<str<strong>on</strong>g>of</str<strong>on</strong>g> support, but not <strong>on</strong> <str<strong>on</strong>g>the</str<strong>on</strong>g> accuracy <str<strong>on</strong>g>of</str<strong>on</strong>g> discrete curvature<br />

estimati<strong>on</strong>s.<br />

V. DISCUSSIONS AND CONCLUSION<br />

In two-dimensi<strong>on</strong>al shape representati<strong>on</strong>, points with<br />

high curvature (i.e., dominant points) are an important<br />

attribute <str<strong>on</strong>g>of</str<strong>on</strong>g> shape. The locati<strong>on</strong>s <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> detected dominant<br />

points must be accurate and <str<strong>on</strong>g>the</str<strong>on</strong>g> number <str<strong>on</strong>g>of</str<strong>on</strong>g> points must<br />

provide a good representati<strong>on</strong> <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> shape without redun-<br />

dancy. Moreover, if dominant points are to be used in<br />

automatic pattern classificati<strong>on</strong> schemes, <str<strong>on</strong>g>the</str<strong>on</strong>g>y must be<br />

generated automatically without relying <strong>on</strong> <str<strong>on</strong>g>the</str<strong>on</strong>g> knowledge<br />

<str<strong>on</strong>g>of</str<strong>on</strong>g> any special properties <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> input pattern. In additi<strong>on</strong><br />

to all <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> above discussed issues, ano<str<strong>on</strong>g>the</str<strong>on</strong>g>r important <strong>on</strong>e<br />

is <str<strong>on</strong>g>the</str<strong>on</strong>g> problem <str<strong>on</strong>g>of</str<strong>on</strong>g> adaptability. The problem is not so much<br />

with <str<strong>on</strong>g>the</str<strong>on</strong>g> appropriate selecti<strong>on</strong> <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> input parameters, but<br />

with how well <str<strong>on</strong>g>the</str<strong>on</strong>g> algorithm adapts to changes in <str<strong>on</strong>g>the</str<strong>on</strong>g> input<br />

pattern, such as scale change, translati<strong>on</strong>, and rotati<strong>on</strong>.<br />

Our dominant point detecti<strong>on</strong> algorithm does not have<br />

<str<strong>on</strong>g>the</str<strong>on</strong>g> shortcoming <str<strong>on</strong>g>of</str<strong>on</strong>g> requiring a set <str<strong>on</strong>g>of</str<strong>on</strong>g> fixed input parame-<br />

ters. Its ability to vary <str<strong>on</strong>g>the</str<strong>on</strong>g> regi<strong>on</strong> <str<strong>on</strong>g>of</str<strong>on</strong>g> support for <str<strong>on</strong>g>the</str<strong>on</strong>g> com-<br />

putati<strong>on</strong> <str<strong>on</strong>g>of</str<strong>on</strong>g> local curvature enables <str<strong>on</strong>g>the</str<strong>on</strong>g> algorithm to per-<br />

form reliably even when <str<strong>on</strong>g>the</str<strong>on</strong>g> object is scaled or c<strong>on</strong>sists<br />

<str<strong>on</strong>g>of</str<strong>on</strong>g> multiple size features. This can be seen from <str<strong>on</strong>g>the</str<strong>on</strong>g> results<br />

in Fig. 6(j)-6(l).<br />

The problem <str<strong>on</strong>g>of</str<strong>on</strong>g> scale has been a comm<strong>on</strong> source <str<strong>on</strong>g>of</str<strong>on</strong>g> dif-<br />

ficulty in a number <str<strong>on</strong>g>of</str<strong>on</strong>g> signal descripti<strong>on</strong> applicati<strong>on</strong>s. In<br />

general, <str<strong>on</strong>g>the</str<strong>on</strong>g> descripti<strong>on</strong> obtained depends heavily <strong>on</strong> <str<strong>on</strong>g>the</str<strong>on</strong>g><br />

scale <str<strong>on</strong>g>of</str<strong>on</strong>g> measurement. At too fine a scale, <strong>on</strong>e is swamped<br />

with extraneous detail. At too coarse a scale, important<br />

features may be missed, while those that survive will be<br />

distorted by <str<strong>on</strong>g>the</str<strong>on</strong>g> effects <str<strong>on</strong>g>of</str<strong>on</strong>g> excessing smoothing. In gen-<br />

eral, <str<strong>on</strong>g>the</str<strong>on</strong>g>re is seldom a sound basis for choosing <str<strong>on</strong>g>the</str<strong>on</strong>g> scale<br />

<str<strong>on</strong>g>of</str<strong>on</strong>g> measurement a priori. <str<strong>on</strong>g>On</str<strong>on</strong>g>e way to overcome <str<strong>on</strong>g>the</str<strong>on</strong>g> prob-<br />

to organize or simplify <str<strong>on</strong>g>the</str<strong>on</strong>g> descripti<strong>on</strong> in a compact way.<br />

The scale-space filtering approach introduced by Witkin<br />

[16] deals effectively with this problem, and manages <str<strong>on</strong>g>the</str<strong>on</strong>g><br />

ambiguity <str<strong>on</strong>g>of</str<strong>on</strong>g> descripti<strong>on</strong>s <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> signal at multiple scales.<br />

In our algorithm, each regi<strong>on</strong> <str<strong>on</strong>g>of</str<strong>on</strong>g> a curve with an appro-<br />

priate length is represented by a dominant point based <strong>on</strong><br />

<str<strong>on</strong>g>the</str<strong>on</strong>g> local c<strong>on</strong>text <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> regi<strong>on</strong>. This can be viewed as<br />

smoothing <str<strong>on</strong>g>the</str<strong>on</strong>g> curve by varying length windows. Hence,<br />

our algorithm is very much similar to <str<strong>on</strong>g>the</str<strong>on</strong>g> approach in Wit-<br />

kin’s scale-space filtering.<br />

It should be noted that our algorithm involves <str<strong>on</strong>g>the</str<strong>on</strong>g> com-<br />

putati<strong>on</strong> <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> perpendicular distance & <str<strong>on</strong>g>of</str<strong>on</strong>g> a point pi to<br />

a chord form by joining <str<strong>on</strong>g>the</str<strong>on</strong>g> two points pi -k and pi + k,<br />

which is computati<strong>on</strong>ally heavy. Instead, <str<strong>on</strong>g>the</str<strong>on</strong>g> perimeter<br />

length <str<strong>on</strong>g>of</str<strong>on</strong>g> pi -k and p, + k, which can be computed easily,<br />

can be used to replace djl..<br />

APPENDIX A<br />

Let X and Y be a pair <str<strong>on</strong>g>of</str<strong>on</strong>g> data sets drawn from a closed<br />

curve C, { x = (x,, yi ), i = 1, * . . , n }, <str<strong>on</strong>g>the</str<strong>on</strong>g>n <str<strong>on</strong>g>the</str<strong>on</strong>g> defi-<br />

niti<strong>on</strong> <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g>ir associated properties are given in Table VII.<br />

The matrix A in (A. lc) is given explicitly by<br />

A=<br />

1<br />

C (Xj - X )’ + C ( yi - y )*<br />

i I<br />

X<br />

I<br />

7 (Xi - q*<br />

f;(x,-x)(Yipj) F(Y;-J)*<br />

1<br />

where (X, y ) is <str<strong>on</strong>g>the</str<strong>on</strong>g> mean <str<strong>on</strong>g>of</str<strong>on</strong>g> X. Define<br />

<str<strong>on</strong>g>the</str<strong>on</strong>g>n we have (see [6] for detail)<br />

(A.2)<br />

Dx = Jl - 4 det A, (A.3a)<br />

Dy= Jl -4detB, (A.3b)<br />

(a) X is linear if and <strong>on</strong>ly if D, = 1, (A.4a)<br />

(a) X is a circle if and <strong>on</strong>ly if D, = 0, (A.4b)<br />

(a) X is elliptical if and <strong>on</strong>ly if 0 < Dx < 1. (A.4c)<br />

Define A0 (X, Y) as <str<strong>on</strong>g>the</str<strong>on</strong>g> principal angle between <str<strong>on</strong>g>the</str<strong>on</strong>g> data<br />

sets X and Y, <str<strong>on</strong>g>the</str<strong>on</strong>g>n<br />

The commutator<br />

Ae(X, Y) = Br - BP (A.5)<br />

[A, B] = AB - BA (A.6)<br />

is a skew-symmetric matrix and hence, has <str<strong>on</strong>g>the</str<strong>on</strong>g> explicit<br />

form<br />

[A, B] =<br />

6(X, Y)<br />

’<br />

6(X, Y) 0<br />

.<br />

(A.71


TEH AND CHIN: DOMINANT POINTS ON DIGITAL CURVES<br />

A =<br />

TABLE VII cOS;k<br />

ASSOCIATED PROPERTIES OF Two DATA SETS X AND Y<br />

=<br />

SX<br />

oaccs x<br />

SI<br />

uivx s,<br />

Principal Angles :<br />

0, or (A.ld)<br />

The principal angle A0 (X, Y) is related to <str<strong>on</strong>g>the</str<strong>on</strong>g> commuta-<br />

tor [A, B] by<br />

and is also given by<br />

6(X, Y) = $DxDysin [2AO(X, Y)]<br />

cos [2A\B(X, Y)] = (a22 -<br />

64.8)<br />

4 h - h11 + %2h2<br />

DxD,<br />

(A.9)<br />

Equati<strong>on</strong>s (A.8) and (A.9) enable <strong>on</strong>e to determine Ae to<br />

within an additive factor <str<strong>on</strong>g>of</str<strong>on</strong>g> L-n.<br />

APPENDIX B<br />

Chain Cede <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> Chmosme-Shaped Curve in Fig. 3<br />

55454 32011 01111 12112 12&m 65655<br />

60010 10765 55455 55555 5931 12122<br />

-1<br />

Chain Code <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> Leaf-Shaped Curve in Fig. 4<br />

Chain Code <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> figure8 Cum m Fig. 5<br />

76776 77037 10121 22234 44555 55654<br />

55453 42211 21121<br />

I<br />

-1<br />

Cham Code <str<strong>on</strong>g>of</str<strong>on</strong>g> tie Curve UI Ftg. 6<br />

56454 43436 66656 55454 44434 33232<br />

APPENDIX C<br />

c a digital closed curve.<br />

n total number <str<strong>on</strong>g>of</str<strong>on</strong>g> points <strong>on</strong> C.<br />

Pi<br />

a point <strong>on</strong> C.<br />

xi9 Yi<br />

x and y coordinates <str<strong>on</strong>g>of</str<strong>on</strong>g> pi+<br />

2; Freeman chain vector pi _ Ipi.<br />

f<br />

g-directi<strong>on</strong> Freeman code as<br />

defined in Fig. 1.<br />

{ Zi, i = 1, * * * , n } chain <str<strong>on</strong>g>of</str<strong>on</strong>g> C.<br />

m, s smoothing parameters.<br />

zik, Gik<br />

k vectors at pi used in RosenfeldJohnst<strong>on</strong><br />

and Rosenfeld-Weszka<br />

procedures.<br />

hi<br />

co&k<br />

Lis<br />

cix, ciy<br />

eis<br />

6;s<br />

Ki<br />

&I? ti2<br />

A<br />

(i,.i)<br />

P(i,.i><br />

D<br />

Afl,<br />

%I<br />

d<br />

ui<br />

1, c<br />

X(l), Y(1)<br />

A, B<br />

871<br />

k cosine at pi used in Rosenfeld-Johnst<strong>on</strong><br />

and Rosenfeld-Weszka<br />

procedures.<br />

regi<strong>on</strong> <str<strong>on</strong>g>of</str<strong>on</strong>g> support <str<strong>on</strong>g>of</str<strong>on</strong>g> pi used in<br />

Rosenfeld-Johnst<strong>on</strong> and Rosenfeld-Weszka<br />

procedures.<br />

smoo<str<strong>on</strong>g>the</str<strong>on</strong>g>d versi<strong>on</strong> <str<strong>on</strong>g>of</str<strong>on</strong>g> COSip used<br />

in Rosenfeld-Weszka procedure.<br />

straight line segment spanning<br />

s chain links used in Freeman-Davis<br />

algorithm.<br />

x and y comp<strong>on</strong>ents <str<strong>on</strong>g>of</str<strong>on</strong>g> Li, used<br />

in Freeman-Davis algorithm.<br />

x and y comp<strong>on</strong>ents <str<strong>on</strong>g>of</str<strong>on</strong>g> 2; used<br />

in Freeman-Davis algorithm.<br />

<str<strong>on</strong>g>the</str<strong>on</strong>g> angle Li, makes with <str<strong>on</strong>g>the</str<strong>on</strong>g> X-<br />

axis used in Freeman-Davis<br />

algorithm.<br />

incremental curvature used in<br />

Freeman-Davis algorithm.<br />

come&y measure <str<strong>on</strong>g>of</str<strong>on</strong>g> pi used in<br />

Freeman-Davis algorithm.<br />

length <str<strong>on</strong>g>of</str<strong>on</strong>g> regi<strong>on</strong>s <str<strong>on</strong>g>of</str<strong>on</strong>g> relatively<br />

c<strong>on</strong>stant I&, used in Freeman-Davis<br />

algorithm.<br />

threshold for quantizati<strong>on</strong> noise<br />

used in Freeman-Davis algorithm.<br />

representati<strong>on</strong> <str<strong>on</strong>g>of</str<strong>on</strong>g> pi used in<br />

Sankar-Sharma procedure.<br />

curvature value <str<strong>on</strong>g>of</str<strong>on</strong>g> (i, j ) used in<br />

Sankar-Sharma procedure.<br />

set <str<strong>on</strong>g>of</str<strong>on</strong>g> detected dominant points<br />

in Sankar-Sharma procedure.<br />

tangential deflecti<strong>on</strong> angle<br />

threshold used in Anders<strong>on</strong>-<br />

Bezdek algorithm.<br />

baseline acceptability parameter<br />

used in Anders<strong>on</strong>-Bezdek<br />

algorithm.<br />

minimum number <str<strong>on</strong>g>of</str<strong>on</strong>g> data points<br />

between successive baseline<br />

vertices in Anders<strong>on</strong>-Bezdek<br />

algorithm.<br />

label <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> point (vertex) pi<br />

used in Anders<strong>on</strong>-Bezdek algorithm.<br />

integer counter used in Anders<strong>on</strong>-Bezdek<br />

algorithm.<br />

sets Of points { (Xj, Yj ) ( j = 1,<br />

I + 1, -0. ,Z + m - l}<br />

used in Anders<strong>on</strong>-Bezdek algorithm.<br />

trace-normalized scatter matrix<br />

<str<strong>on</strong>g>of</str<strong>on</strong>g> X(1) and Y(1) used in


872 IEEE TRANSACTIONS ON PATTERN ANALYSIS AND MACHINE INTELLIGENCE. VOL. II. NO 8. AUGUST I989<br />

detA, det B<br />

s(Pi)<br />

D(Pi)<br />

CURik<br />

CURi,<br />

PibkPi+k<br />

lik<br />

dik<br />

ei<br />

E2<br />

E,<br />

nd<br />

t<br />

Anders<strong>on</strong>-Bezdek<br />

rithm.<br />

algodeterminants<br />

<str<strong>on</strong>g>of</str<strong>on</strong>g> A and B used in<br />

Anders<strong>on</strong>-Bezdek<br />

rithm.<br />

algoaccepted<br />

baseline arc used in<br />

Anders<strong>on</strong>-Bezdek<br />

rithm.<br />

algotangential<br />

deflecti<strong>on</strong> used in<br />

Anders<strong>on</strong>-Bezdek<br />

rithm.<br />

algomeasure<br />

<str<strong>on</strong>g>of</str<strong>on</strong>g> significance <str<strong>on</strong>g>of</str<strong>on</strong>g> pi.<br />

regi<strong>on</strong> <str<strong>on</strong>g>of</str<strong>on</strong>g> support <str<strong>on</strong>g>of</str<strong>on</strong>g> pi.<br />

k curvature measure used in<br />

Teh-Chin algorithm.<br />

1 curvature measure used in<br />

Teh-Chin algorithm.<br />

<str<strong>on</strong>g>the</str<strong>on</strong>g> chord joining<br />

pi-k andpi+,.<br />

<str<strong>on</strong>g>the</str<strong>on</strong>g> points<br />

length <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> chord ~;-~p;+~.<br />

perpendicular distance <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g><br />

point pi to <str<strong>on</strong>g>the</str<strong>on</strong>g> chord<br />

Pi-kPi+k.<br />

perpendicular distance <str<strong>on</strong>g>of</str<strong>on</strong>g> pi to<br />

a line segment.<br />

integral square error.<br />

maximum error.<br />

total number <str<strong>on</strong>g>of</str<strong>on</strong>g> detected domi-<br />

nant points.<br />

CPU processing time in sec-<br />

ends.<br />

REFERENCES<br />

[I] F. Attneave, “Some informati<strong>on</strong>al aspects <str<strong>on</strong>g>of</str<strong>on</strong>g> visual percepti<strong>on</strong>,”<br />

Psycho/. Rev., vol. 61, no. 3, pp. 1833193, 1954.<br />

[2] A. Rosenfeld and E. Johnst<strong>on</strong>, “Angle detecti<strong>on</strong> <strong>on</strong> digital curves,”<br />

IEEE Trans. Cornput., vol. C-22, pp. 875-878, Sept. 1973.<br />

[3] A. Rosenfeld and-J. S. Weszka, “An improved method <str<strong>on</strong>g>of</str<strong>on</strong>g> angle detecti<strong>on</strong><br />

<strong>on</strong> digital curves,” IEEE Trans. Corntut.,<br />

941, Sept. 11975.<br />

vol. C-24, DD. . . 940-<br />

[4] H. Freeman and L. S. Davis. “A corner-finding algorithm for chaincoded<br />

curves,” IEEE Trans. Cornput., vol. C-26, pp. 297-303,<br />

1977.<br />

Mar.<br />

P. V. Sankar and C. V. Sharma, “A parallel procedure for <str<strong>on</strong>g>the</str<strong>on</strong>g> detecti<strong>on</strong><br />

<str<strong>on</strong>g>of</str<strong>on</strong>g> dominant points <strong>on</strong> a digital curve.” Comput. Graphics Image<br />

Processing, vol. 7, pp. 403-412. 1978.<br />

[61 1. M. Anders<strong>on</strong> and J. C. Bezdek, “Curvature and tangential deflecti<strong>on</strong><br />

<str<strong>on</strong>g>of</str<strong>on</strong>g> discrete arcs: A <str<strong>on</strong>g>the</str<strong>on</strong>g>ory based <strong>on</strong> <str<strong>on</strong>g>the</str<strong>on</strong>g> commutator <str<strong>on</strong>g>of</str<strong>on</strong>g> scatter<br />

matrix pairs and its applicati<strong>on</strong> to vertex detecti<strong>on</strong> in planar shape<br />

data,” IEEE Trans. Pattern Anal. Machine Intell.. vol. PAMI-6, pp.<br />

27-40, Jan. 1984.<br />

171 R. L. T. Cederberg, “An iterative algorithm for angle detecti<strong>on</strong> <strong>on</strong><br />

digital curves,” in Proc. 4th Int. Joint C<strong>on</strong>f. Pattern Recogniti<strong>on</strong>,<br />

Kyoto, Japan, Nov. 7-10, 1978, pp. 576-578.<br />

WI B. Kruse and C. V. K. Rao, “A matched filtering technique for corner<br />

detecti<strong>on</strong>.” in Proc. 4th Int. Joint C<strong>on</strong>f. Pattern Recogniti<strong>on</strong>. Kyoto,<br />

Japan, Nov. 7-10, 1978, pp. 642-644.<br />

[91 T. Pavlidis, “Algorithms for shape analysis and waveforms,” IEEE<br />

Trans. Pattern Anal.<br />

July 1980.<br />

Machine Intell., vol. PAMI-2, pp. 301-312,<br />

fro1 J. G. Dunham, “Optimum uniform piecewise linear approximati<strong>on</strong><br />

<str<strong>on</strong>g>of</str<strong>on</strong>g> planar curves,” IEEE Trans. Pattern Anal. Machine Intell., vol.<br />

PAMI-8, pp. 67-75, Jan. 1986.<br />

1111 L.-D. Wu, “A piecewise linear approximati<strong>on</strong> based <strong>on</strong> a statistical<br />

model.” IEEE Trans. Pattern Anal. Machine Intell., vol. PAMI-6,<br />

pp. 41-45, Jan. 1984.<br />

K. Wall and P.-E. Danielss<strong>on</strong>, “A fast sequential method for polyg-<br />

(121<br />

<strong>on</strong>al approximati<strong>on</strong> <str<strong>on</strong>g>of</str<strong>on</strong>g> digitized curves,” Comput. Visi<strong>on</strong>, Graphics,<br />

Image Processing, vol. 28. pp. 220-227, 1984.<br />

[I31 J. C. Bezdek and I. M. Anders<strong>on</strong>, “An applicati<strong>on</strong> <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> r-varieties<br />

clustering algorithms to polyg<strong>on</strong>al curve fitting,” IEEE Truru. Syst.,<br />

Man, Cybern., vol. SMC-15, pp. 637-641, Sept. 1985.<br />

1141 H. Imai. “Computati<strong>on</strong>al-geometric methods for polyg<strong>on</strong>al approximati<strong>on</strong>s<br />

<str<strong>on</strong>g>of</str<strong>on</strong>g> a curve,” Comput. Visi<strong>on</strong>, Graphics, Image Processing,<br />

vol. 36, pp. 31-34, 1986.<br />

1151 T. Pavlidis. Structural Pattern Recogniti<strong>on</strong>. New York: Springer-<br />

Verlag, 1977.<br />

1161 A. P. Witkin, “Scale-space filtering.” in Proc. 8th Int. Joint C<strong>on</strong>&<br />

Arti’cial Intel/. , Kalsruhe, West Germany, 1983. pp. 1019-1021.<br />

[I71 L. S. Davis, “Understanding shape: Angles and sides,” IEEE Trans.<br />

Comput.. vol. C-26. pp. 236-242, Mar. 1977.<br />

II81 A. Rosenfeld and M. Thurst<strong>on</strong>, “Edge and cmve detecti<strong>on</strong> for digital<br />

scene analysis,” IEEE Trans. Comput., vol. C-20, pp. 562-569,<br />

1971.<br />

May<br />

L191 A. Rosenfeld. M. Thurst<strong>on</strong>, and Y. H. Lee, “Edge and curve detecti<strong>on</strong>:<br />

Fur<str<strong>on</strong>g>the</str<strong>on</strong>g>r experiments,” IEEE Trans. Comput.. vol. C-21, pp.<br />

677-715, July 1972.<br />

WV L. S. Davis and A. Rosenfeld, “<str<strong>on</strong>g>Detecti<strong>on</strong></str<strong>on</strong>g> <str<strong>on</strong>g>of</str<strong>on</strong>g> step edges in noisy <strong>on</strong>edimensi<strong>on</strong>al<br />

data,” IEEE Trans. Cornput., vol. C-24, pp. 1006-1010.<br />

Oct. 1975.<br />

(211 J. A. Saghri and H. Freeman, “Analysis <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> precisi<strong>on</strong> <str<strong>on</strong>g>of</str<strong>on</strong>g> generalized<br />

chain codes for <str<strong>on</strong>g>the</str<strong>on</strong>g> representati<strong>on</strong> <str<strong>on</strong>g>of</str<strong>on</strong>g> planar curves,” IEEE<br />

Trans. Pattern<br />

Sept. 1981.<br />

Anal. Machine Intell.. vol. PAMI-3, pp. 533-539,<br />

1221 J. R. Bennett and J. S. MacD<strong>on</strong>ald, “<str<strong>on</strong>g>On</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> measurement <str<strong>on</strong>g>of</str<strong>on</strong>g> curvature<br />

in a quantized envir<strong>on</strong>ment,” IEEE Trans. Cornput., vol. C-24,<br />

pp. 803-820, Aug. 1975.<br />

1231 M. J. Eccles, P. C. McQueens, and D. Rosen, “Analysis <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> digitized<br />

boundaries <str<strong>on</strong>g>of</str<strong>on</strong>g> planar objects,” Puttern Recogniti<strong>on</strong>, vol. 9, pp.<br />

31-41, 1977.<br />

1241 F. C. A. Groan and P. W. Verbeek. “Freeman-code probabilities <str<strong>on</strong>g>of</str<strong>on</strong>g><br />

object boundary quantized c<strong>on</strong>tours,” Comput. Visi<strong>on</strong>, Graphics, Image<br />

Processing, vol. 7, pp. 391-402, 1978.<br />

~251 B. Rosenberg, “The analysis <str<strong>on</strong>g>of</str<strong>on</strong>g> c<strong>on</strong>vex blobs.” Comput. Graphics<br />

image Processing. vol. I, pp. 183-192, 1972.<br />

WI D. Langridge. “<str<strong>on</strong>g>On</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> computati<strong>on</strong> <str<strong>on</strong>g>of</str<strong>on</strong>g> shape,” in Fr<strong>on</strong>tiers <str<strong>on</strong>g>of</str<strong>on</strong>g> Patfern<br />

Recogniti<strong>on</strong>,<br />

pp. 347-365.<br />

S. Watanabe, Ed. New York: Academic, 1972.<br />

~271 A. Rosenfeld and A. C. Kak, <strong>Digital</strong> Picture Processing. New York:<br />

Academic. 1982, 2nd ed., p. 261.<br />

Cho-Huak Teh (S’78-M’88) received <str<strong>on</strong>g>the</str<strong>on</strong>g> B.Eng.<br />

degree with h<strong>on</strong>ors in 1980 and <str<strong>on</strong>g>the</str<strong>on</strong>g> M.Eng. de-<br />

gree in 1982. both in electrical engineering from<br />

<str<strong>on</strong>g>the</str<strong>on</strong>g> Nati<strong>on</strong>al University <str<strong>on</strong>g>of</str<strong>on</strong>g> Singapore, and <str<strong>on</strong>g>the</str<strong>on</strong>g><br />

Ph.D. degree in electrical and computer engineer-<br />

ing in 1988 from <str<strong>on</strong>g>the</str<strong>on</strong>g> University <str<strong>on</strong>g>of</str<strong>on</strong>g> Wisc<strong>on</strong>sin,<br />

Madis<strong>on</strong>. From 1980 to 1982 he was a Senior<br />

Tutor at <str<strong>on</strong>g>the</str<strong>on</strong>g> Nati<strong>on</strong>al University <str<strong>on</strong>g>of</str<strong>on</strong>g> Singapore.<br />

He has been <strong>on</strong> <str<strong>on</strong>g>the</str<strong>on</strong>g> faculty <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> Department<br />

<str<strong>on</strong>g>of</str<strong>on</strong>g> Electrical Engineering at <str<strong>on</strong>g>the</str<strong>on</strong>g> Nati<strong>on</strong>al Univer-<br />

sity <str<strong>on</strong>g>of</str<strong>on</strong>g> Singapore since March 1988. His research<br />

interests include image processing, signal processing, pattern recogniti<strong>on</strong>,<br />

computer visi<strong>on</strong>, and related applicati<strong>on</strong>s.<br />

Dr. Teh is a member <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> Pattern Recogniti<strong>on</strong> Society and <str<strong>on</strong>g>the</str<strong>on</strong>g> British<br />

Pattern Recogniti<strong>on</strong> Associati<strong>on</strong>.<br />

Roland T. Chin (S’75-M’79) received <str<strong>on</strong>g>the</str<strong>on</strong>g> B.S.<br />

degree with h<strong>on</strong>ors in 1975 and <str<strong>on</strong>g>the</str<strong>on</strong>g> Ph.D. degree<br />

in 1979. all in electrical engineering from <str<strong>on</strong>g>the</str<strong>on</strong>g> Uni-<br />

versity <str<strong>on</strong>g>of</str<strong>on</strong>g> Missouri, Columbia.<br />

From 1979 to 1981, he was with Business and<br />

Technological Systems, Inc., MD, where he en-<br />

gaged in research in remote sensing data analysis<br />

and classificati<strong>on</strong> for NASA Goddard Space Flight<br />

Center, Greenbelt, MD. Since 1981, he has been<br />

<strong>on</strong> <str<strong>on</strong>g>the</str<strong>on</strong>g> faculty <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> Department <str<strong>on</strong>g>of</str<strong>on</strong>g> Electrical and<br />

Computer Engineering at <str<strong>on</strong>g>the</str<strong>on</strong>g> University <str<strong>on</strong>g>of</str<strong>on</strong>g> Wis-<br />

c<strong>on</strong>sin, Madis<strong>on</strong>. where he is currently Pr<str<strong>on</strong>g>of</str<strong>on</strong>g>essor and Associate Chair. His<br />

current research interests include image restorati<strong>on</strong>, texture analysis, shape<br />

descripti<strong>on</strong>s. pattern recogniti<strong>on</strong>, visual inspecti<strong>on</strong>. object recogniti<strong>on</strong>, and<br />

related applicati<strong>on</strong>s.<br />

Dr. Chin is a member <str<strong>on</strong>g>of</str<strong>on</strong>g> Eta Kappa Nu and Tau Beta Pi, and he is <str<strong>on</strong>g>the</str<strong>on</strong>g><br />

recipient <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> First Presidential Young Investigator Award in 1984.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!