A concavity characterization method for digital objects

A concavity characterization method for digital objects

Signal Processing 9 (1985) 151-161 North-Holland A CONCAVITY CHARACTERIZATION 151 METHOD FOR DIGITAL OBJECTS J. BAJON, M. CATTOEN and S.D. KIM G...

625KB Sizes 1 Downloads 134 Views

Signal Processing 9 (1985) 151-161 North-Holland

A CONCAVITY

CHARACTERIZATION

151

METHOD

FOR DIGITAL OBJECTS

J. BAJON, M. CATTOEN and S.D. KIM Groupe de Television et de Traitement du Signal Image, ENSEI£IHT, 2 rue Camichel, 31071 Toulouse Cedex, France

Received 7 March 1984 Revised 24 October 1984 and 20 February 1985

Abstract. A method for describing and measuring the concavities of digital objects is developed. The method makes use of an encoded description of a binary image. We present the coding method and an isolation algorithm which, in the case of several objects in the image, makes it possible to process each one separately. We introduce the concept of "equivalent object" which enables to decompose the concavities for faster measurements. Some experimental results obtained on the GTTS1 vision system are provided. Zusammenfassung. Es wurde eine Methode zur Beschreibung und Messung der H6hlungen digitaler Objekte entwickelt. Die Methode beniitzt eine verschfisselte Beschreibung eines binarischen Brides. Es wird die Verschlfisselungsmethode und ein Trennungsalgorithmus werden vorgestellt; dieses Algorithmus erm/Sglicht die Bilder getrennt zu verarbeiten, wenn Sic mehrere Objekte enthalten. Wir fiihren das Konzept des "~iquivalenten Objektes" ein, das die Zerlegung der H6hlungen gestattet, um deren Messung zu beschleunigen. Es wurden einige experimentelle Ergebnisse zur Verffigung gestellt, die auf dem GTTSIvision-System erhalten wurden. R~sum~. Nous pr6sentons une m6thode permettant d'extraire et de mesurer les caract6ristiques des concavit6s d'objets digitaux contenus dans les images binaires (trouset baies). Cette m6thode travaille sur une description cod6e de l'image. Nous rappelons bri~vement le principe du codage et I'algorithme d'isolation qui permet d'extraire chaque composante connexe. Apr~s avoir d6termin6 l'enveloppe convexe (EC) de l'objet, nous introduisons la notion d'objet 6quivalent qui nous permet de d6composer les concavit6s en parties mesurables s6par6ment par des algorithmes rapides. Enfin nous fournissons quelques r6sultats exp6rimentaux obtenus sur le module de vision d6velopp6 au G'FTSI. Keywords. Digital object, convexity, concavity, holes, bays, computer vision.

I. Introduction

In order to describe a digital object, its geometric properties are frequently used, such as area, perimeter, center of gravity, circumscribed rectangle, etc. Many algorithms have been developed to measure these properties [1-7]. In an earlier paper [7], a coding method was proposed and some associated algorithms were developed to calculate these geometric properties. The convexity of a digital object is also a very important feature in pattern recognition. A certain number of definitions and algorithms have been proposed [9-21] in order to discriminate between

convex and concave digital objects and to characterize the concavity structure of a digital object. In this paper we present a method for calculating the area, perimeter, center of gravity, and circumscribed rectangle of the concavities of a digital object. This method involves the use of the abovementioned coding method. Consider a convex polygon, whose vertices belong to a digital object and which includes all the points of the object. This polygon is defined as the "circumscribed convex polygon (CCP)". The set of all the digital points included in the CCP is called the "convex hull (CH)" of the object. The difference between the object and its convex

0165-1684/85/$3.30 © 1985, Elsevier Science Publishers B.V. (North-Holland)

J. Bajon et al. / Concavity for digital objects

152

hull is called the "convex hull deficiency (CHD)". The C H D may be composed of several connected subsets. Those which are completely surrounded by the object are called "holes" and the rest are called "bays". To facilitate the computation of the characteristics of the holes and bays, we decompose the convex hull deficiency, using the "equivalent object (EO)" into, the difference between the object and its equivalent object, which called the "eqivalent object deficiency ( E O D ) " and the difference between the equivalent object and the convex hull, which is called the "convex hull deficiency of the equivalent object ( C H D E O ) " . In Section 2, our coding method and associated algorithms for feature extraction are briefly discussed. In Section 3, we present an algorithm for calculating the CCP and CH of a digital object. In Sections 4, 5, and 6, our concavity decomposition method and the detection of the nature of EOD and C H D E O runs are detailed. In Section 7, an algorithm for measuring the C H D geometric characteristics from those of the EOD and C H D E O is developed. In Section 8, some experimental results obtained on the GTTSI vision system are provided.

2. Coding and feature extraction This step is devoted to the computation of geometrical features of objects in an image. It uses a coding method where the nature of the digital runs are identified by scanning the image. Then an algorithm named "Isolation" is applied to the encoded description to identify each connected component. Each object can be measured separately to determine its geometrical properties.

2.1. Coding Let Z be the set of all the digital points included in the objects of a given image. This set can be also represented by a set of runs such that: N

Z = (..) (A(n), B(n); C(n)), n=l

N: the number of runs,

where A(n), B(n) are the abscissa of the extremities of the n-th run and C(n) its ordinate. We use the connectivity of runs located on consecutive lines to encode the image. The connectivity can be defined with the 4-connectivity (v = 0) or the 8-connectivity (v = 1). According to the neighborhood relation between runs, 5 classes of runs (Fig. 1) are defined. START: a run on the (K + 1)-th line having no neighbor run on the K-th line. END: a run on the K-th line having no neighbor run on the ( K + 1)-th line. SPLIT: a run on the ( K + 1)-th line having a neighbor run on the K-th line which has a neighbor run on the ( K + 1)-th line located to the left of the first. JOIN: a run on the K-th line having a neighbor run on the ( K + 1)-th line which has a neighbor run on the K-th line located to the left of the first. C O N T I N U A T I O N : a run which is neither START nor SPLIT. The identification of these runs can be achieved sequentially, by analyzing the image by a television scan. The particular points corresponding to the nature of runs are defined as follows: If (I1,12;J) is a START of Z, ( I 2 + l , J ) denoted by D.

Fig. 1. Definitions of START, END, SPLIT, J O I N and C O N T I N U A T I O N . Signal Processing

(1)

is

J. Bajon et al. / Concavity for digital objects

If (11, I2;J) is an E N D of Z, ( 1 2 + l , J + l ) is denoted by F. If (11, 12; J) is a SPLIT of Z, (I,, J) is denoted by S. If (I,, 12; J) is a JOIN of Z, (I,, J + 1) is denoted by R. If (I1, 12 ; J) is a run of Z which is not a START, (I2+1, J) is denoted by X. If (I,, I2; J) is a run of Z, (11, J) is denoted by E. The end of each line is denoted by L.

The idea consists in attributing to each particular point (D, X, S, F, R) the label of the object containing its corresponding run. For this purpose an array ETQ ( Z ) = ( N ( K ) : K = I , 2 . . . . . K) is computed from the array COD(Z)=(C(i): i = 1, 2 , . . . , I) and stores the labels. - Since a D implies'the occurrence of a START which can be a part of a new object, a new unused label is allocated. Conversely an F implies the detection of an END and we use the label of the END. When an S occurs revealing the existence of a SPLIT, we use the label of the previous run of its corresponding SPLIT. - Operation on an R may be more complicated because the corresponding JOIN and its previous run may have either a same label or different ones. The former case is not problematic. But if the labels are different, we choose one label and modify the contents of the array ETQ in such a way that the chosen label is retained. If an X is met, the label of the neighbor of its corresponding run is used. When the isolation process is completed, the number of objects is known and all the particular points of one object have an identical label. After the isolation step it can be supposed that there is only one object in the given image. -

The algorithm to detect these configurations such as D, F, S, R, X and L, has been presented in (7). The encoding method consists in the construction of two arrays, COD and ABS; the first (COD) storing the codes such as D, F, S, R,, X and L, and the second (ABS) storing the abscissas of D, E and X. Fig. 2 shows a digital object and the two corresponding arrays.

-

2.2. Isolation When an image is composed of more than one object, each object may be processed separately. This step, called isolation or "component labeling" is intended to separate each object from one another in a given image. With this in view, several methods were developed and described in [8]. Our approach is very similar to the concept of "Tracking".

0 ' '

5 i

i

,

lO

I

r

I

i,,

-

i5

i

i

i

I

i

20 ;

I

I

.

23

. . . . . . . 0

i

10

"-5

I

o

I

,

J

)

I

. . . . .

'

i0

'

'

'

15

*

153

,

,

.

1

20

I

'

[5

[ 8L DXL XXL XXL

28 23 5 13 3 13 3 14

XSXXL XXXL XXXL RRXL XL XSXL XXL XXL XXL FXL

2 6 7 ~ 4 4 7 7 7 15

9 9 9 25 25 11 11 11 11 20

28 24 19 26 2(1 2 5 11 12 la

17 17 17

12 12 15 15

24 21 21 21

Rg 20

25 25

FL

25

Fig. 2. A digital o b j e c t a n d its e n c o d e d r e p r e s e n t a t i o n . Vol 9, No. 3, October 1985

J. Bajon et al. / Concavity for digital objects

154

2.3. Geometric properties of a digital object In this paragraph we briefly present the formulas for the measurement of area, perimeter, center of gravity, and circumscribed rectangle of a digital object from its encoded representation. Let Z denote a digital object represented by expression (1). The area of Z is a function of the length of each run: N

SUR(Z)= E (B(n)-A(n)+I).

Let PA(Z) be the polygonal approximation of Z. Then the perimeter of the digital object Z is defined by that of its polygonal approximation as follows: PER(Z) = PER(PA(Z)). All these features can be computed recursively when scanning the codes of the object.

3. Circumscribed convex polygon and convexity of a digital object

n--I

The center of gravity is computed from: XCG(Z)=

2 (B(n)-A(n)+l) n=l

Definition 3.1. (Circumscribed convex polygon). A convex polygon whose vertices belong to a digital object is the "circumscribed convex polygon (CCP)" of the object if and only if it includes all the digital points of that object. Definition 3.2. (Convex hull). The "convex hull (CH)" of a digital object is defined as the set of all the digital points included by the circumscribed convex polygon of the object.

where X C G ( Z ) , Y C G ( Z ) are the coordinates of the center of gravity. The circumscribed rectangle of Z is the minimum rectangle constructed by two horizontal and two vertical edges which includes all the points of Z. The coordinates of the four vertices are computed from: X M I N ( Z ) = min(A(n), n - - 1 , 2 , . . . , N), X M A X ( Z ) = max(B(n), n = 1, 2 . . . . , N), Y M I N ( Z ) = C(1), Y M A X ( Z ) = C(N). In order to minimize the effect of rotation in evaluating the perimeter of digital objects, a polygonal approximation method was proposed in an earlier paper [7]. In this representation the contour of the object is composed of the segments joining the extremities of connected runs (see Fig. 2). Signal Processing

Definition 3.3. (Convexity of a digital object). A digital object is said to be digitally convex if and only if its convex hull is equal to the object. It is necessary to calculate the convex hull of a digital object in order to determine its convexity and to characterize its concavities in the case of concave objects. Some algorithms have been developed for the calculation of this convex hull [17, 18]. In this section we develop an algorithm based on our coding method. This algorithm is composed of two phases: the determination of the "circumscribed convex polygon" and the calculation of the "convex hull".

3.1. Determination of the circumscribed convex polygon To simplify the determination of CCP we use the notion of "equivalent object" or x - y convex object.

J. Bajon et al. / Concavity for digital objects

The equivalent object (EO) is obtained by replacing the multiple runs on each line by one that joins the extremities of the first and last RUN (see Fig. 4). An object Z represented by (1) can also be represented by:

The algorithm for the detection of the left vertices is shown in Fig. 3. The points not marked are the left vertices.

i=jmin,

Z = U

j=i*1,

(A(i,j), B(i,j);j)

j=Jmin

\

155

k=i+-~

t'

i=1

where

E~(K] ,K)

N=

(E~(j),j)

Mark

./max

~

M(j):

the number of runs of Z.

[=Jmin

i = Jrin

?

M ( j ) : the number of runs of Z in the j-th line, J m i n = C(1), J m a x = C(N), (A(n), B(n); C(n)) is the n-th run of Z, its equivalent object is given by ./max

EO(Z)=

U

[il,

\

(A(1,j), B ( M ( j ) , j ) ; j ) .

......

is

/-

j~Jmin

The algorithm uses the following properties. The circumscribed convex polygon of a digital object is equal to that of its equivalent object. If EO(Z) is represented by: Jmax

EO(Z)=

LJ

(Eg(j),Ed(j);j),

(2)

Fig. 3. Determinationof "left vertices" of CCP(Z).

3.2. Calculation of convex hull CH(Z) can be represented by the following equation

j=Jmin Jmax

the points (Eg(Jmin), Jmin), (Ed(Jmin), Jmin), (Eg(Jmax), Jmax), and (Ed(Jmax, Jmax) are vertices of the CCP(Z). Consider a function of three points (I1, J,) (12, -I2) and (I, J) of EO(Z) DET((/, J); (I,, J~), (12, J2))

I-I, - J-J,

12-1 J2-J

where J, < J < J2 - If DET is always negative for a given (/, J), (/, J) is a vertex of the CCP(Z) and called "left vertex" of the CCP(Z); - I f DET is always positive for a given (/, J), (/, J) is a vertex of the CCP(Z) and called "right vertex" of the CCP(Z).

CH(Z)=

U

(Hg(j),Hd(j);j).

(3)

j=Jmin

The extremities of CH runs can be determined using the following properties: 1) All the vertices of CCP(Z) are extremities of CH runs. 2) The other extremities of CH runs are obtained by a linear interpolation between two consecutive vertices according to the following formulas. - - I f (Eg(J1), Jl) and (Eg(J2),./2) are two consecutiv~ left vertices, / Eg(J2) Ug(J) = Eg(J0 + l \

Eg(Jl)

J2-J 1

\ (J - J~)| ]

where (x) = n for n - 1
J. Bajon et aL / Concavity for digital objects

156

- I f (Ed(Jl), 3",) and (Ed(J2),./2) are two consecutive right vertices, / Ed(J2) - Ed(J,) j,)) Hd(J) = Ed(J') + k ~ (J/

Definition 4.2. (First part of bay). A connected component of EOD(Z) is called a "first part of bay (FPB)" of the object Z if and only if it is surrounded by the contour of the object Z and the equivalent object EO(Z).

where ( x ) = n for n ~ x < n + l , J l < J < J 2 .

Definition 4.3. (Second part of bay). A connected component of C H D E O ( Z ) is called a "second part of bay (SPB)" of the object Z.

4. Decomposition of convex hull deficiency Definition 4.1. (Convex hull deficiency). The "convex hull deficiency (CHD)" of a digital object is defined as the set which includes all the digital points belonging to the convex hull of the object, but not to the object itself. Let Z, C H ( Z ) , and C H D ( Z ) denote a digital object, its convex hull, and convex hull deficiency. Then C H D ( Z ) = CH(Z) - Z. C H D ( Z ) is characterized by means of geometric properties such as area, perimeter, center of gravity, and circumscribed rectangle. To compute these properties we decompose the convex hull deficiency into two parts:

EOD(Z) may be composed of holes and FPB's, and C H D E O ( Z ) is composed of SPB(s). Fig. 4 shows an example of the concavity decomposition.

5. Equivalent object deficiency The nature of EOD runs can be deduced from the sequence of codes describing the object. The array shown in Fig. 5 indicates the sequences of codes identifying the particular EOD runs. The underlined runs ( - ) are located after the run corresponding to the code. Those runs which are underlined by (=) are located before the run corresponding to the code.

CHD(Z) = CH(Z)-Z = (CH(Z)

- EO(Z))

+ (EO(Z)

- z).

6. Convex hull deficiency of equivalent object Now C H ( Z ) - EO(Z) is called the "convex hull deficiency of equivalent object (CHDEO)" of Z and denoted CHDEO(Z). And E O ( Z ) - Z is called the "equivalent object deficiency (EOD)" of Z and denoted EOD(Z). This decomposition of C H D ( Z ) enables to simplify the calculation of the geometric properties for two reasons. Firstly EOD(Z) may be easily calculated while calculating the characteristics of the object encoded by our coding method presented in Section 2, Secondly C H D E O ( Z ) may also be easily calculated after the calculation of Z convex hull, because all the connected components of C H D E O ( Z ) have one run per line. Signal Processing

EO(Z) and C H ( Z ) are represented by (2) and (3). Note that EO(Z) c CH(Z), Hg(j)<~ Eg(j), and Hd(j) i> Ed(j) where Jmin ~ Ed(j), (Ed(j) + 1, H d ( j ) ; j ) is a right CHDEO run. Since all the connected components of CHDEO have one run per line, the CHDEO runs can be neither SPLIT nor JOIN. Let v be the connectedness used for the object Z (cf. Section 2). To identify the nature of CHDEO's runs the indicated conditions in Fig. 6 are tested.

J. Bajon et al./ Concavity for digital objects •

157

OBJEUT

"t o

c'Trs\,,Ex

HULL

x

o x

)

CONVEX HULL

OFFIC!FNEY

o

E@UIVALENT OgJ~CT DEFICIENCY

x

CONVEX HULL

OEFICIFNCY

OF E @ U I V A L E N T 9 B S E C T

Fig. 4. Decomposition of "convex hull deficiency".

7. Characteristics of convex hull deficiency

In Sections 5 and 6, we discussed how to detect the nature of runs in the E O D and C H D E O of a digital object. The characteristics of the holes, FPB's and SPB's of the object can be determined by means of the algorithms described in Section 2. The detailed algorithm is not explained here. In this section we discuss the method for calculating the geometric properties of the bays of the object from those of FPB(s) and SPB(s).

7.1. Connectedness between EOD and CHDEO As we have seen in Section 4, the bays can be composed of some FPB and SPB. Hence it is necessary to know the connectedness between FPB and SPB in order to obtain the characteristics of the bays. The notion of "critical point" of FPB is introduced for testing the connectedness between FPB and SPB. A FPB of Z has some neighbor points in the exterior of E O ( Z ) . This set is called the "frontier" of the FPB, and can be described by FXMAX, F X M I N , and FY, where F X M A X is the m a x i m u m abscissa, F X M I N the minimum abscissa, and FY the ordinate. These points have the same ordinate

and are connected. If this set has a run of E O ( Z ) on the left on the same line, the FPB is called "right FPB". If it has a run of E O ( Z ) on the right on the same line, the FPB is called "left FPB". If the ordinate of these points is inferior to that of all the points of the FPB, the FPB is called " u p p e r FPB". If not, it is called "lower FPB". A SPB has one run of E O ( Z ) in the same line. If it has one run of E O ( Z ) on the right, the SPB is called "left SPB". If not, the SPB is called "right SPB". Definition 7.1. (Critical point of FPB). (CPXX, CPYY) is the "critical point" of the FPB if

C P X X = F X M A X for left FPB F X M I N for right FPB, CPYY = FY, The critical point has several properties: 1. If and only if the critical point of a FPB belongs to a SPB, FPB w SPB is connected. 2. If a neighbor point of a FPB belongs to a SPB, the critical point of the FPB belongs to the SPB. Vol. 9, No. 3, October 1985

J. Bajon et al. / Concavityfor digital objects

158

N a t u r e o# EOO - runs

7.2. Area, circumscribed rectangle and center of gravity of a bay

Sequences

Consider a composite bay containing one SPB and one (or several) FPB(s). Then,

oXS O [O)

o-~

L

START

S U R ( B A Y ) = SUR(SPB) +Y~ SUR(FPBi). o

L (D] _O

X X F O

SPLIT

CONTINUATION

R O

: [O] X I (0) R (F]X [3 IF] R : D[D) F [F]

(D] IF] [O] O IF) F

--

[0] [O] [F) (F]

o

L

[0] 0 F

o

L

[F) F D

o

The circumscribed rectangle is computed as follows: X M A X ( B A Y ) -- m a x ( X M A X ( S P B ) , max X M A X ( F P B i ) ) , F D

min X M I N ( F P B i ) ) ,

X R X R O (O] F F (F] O

X

XMIN(BAY) = min(XMIN(SPB),

X M A X ( B A Y ) -- m a x ( Y M A X ( S P B ) , max Y M A X ( F P B i ) ) , YMIN(BAY) = min(YMIN(SPB), in Y M I N ( F P B i ) ) .

X X F D

JOIN

: : F : : :

[0) [F] [D) [3 [F] F

[D] X [D] R (F] X (F]R O[D) F F IF] D

The center of gravity is given by: XGC(BAY) = (XCG(SPB)SUR(SPB) +Y~ X G C ( F P B i ) S U R ( F P B i ) ) / S U R ( B A Y ) , YCG(BAY) = (YCG(SPB)SUR(SPB)

o

R

o

F

o

L {F] _F I RF

+~ YCG(FPBi)SUR(FPBi))/SUR(BAY). END

X ]

F (F] L

~

×

Fig. 5. Identification of EOD runs. The FPB has the following properties: 1) A FPB cannot be connected to more than one SPB. 2) A bay cannot have more than one SPB. 3) A right FPB cannot be connected to a left SPB. 4) A left FPB cannot be connected to a right SPB. 5) If a FPB is neither right nor left FPB, it cannot be connected to a SPB. The condition for the connexity between FPB and SPB is: Hg(CPYY) ~< CPXX<~ Hd(CPY-Y). Signal Processing

7.3. Perimeter of a composite bay The perimeter of a composite bay is not easy to measure because the polygonal approximation o f this kind o f bay is difficult to compute from the coded description of the digital object. Nevertheless the perimeter can be obtained approximately using a correction value from those of SPB and FPB. For simplicity we take the case o f a bay c o m p o s e d of one SPB and only one FPB. The perimeter is computed by: PER(BAY) = PER(SPB) + PER(FPB) - DELTA where DELTA = 2(FXMAX(FPB) - F X M I N ( F P B ) ) - 2.

159

J. Bajon et aL / Concavity for digital objects iiii

[ TYPE LEFT ( . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . [ ( [ [

START



[j

or



(j

or

E8

(j}

1) -

= Eg

I]

(j

v (

} } } }

RIGHT ~. . . . . . . . . . . . . . . . . . . . . . . . . . r

HR

1} (j}

Hd

(j

-

1)

:

E8

or

bhl

[j

-

1}

-

v
[j

(j]

or

H, ~. ( j }

<

(j

I)

) ]

(

}

(

-

v

< H£

(j

-

I]

-

v

Ed

-

I}

}

[

)

[

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

( ( [ END ( [ { [ ( ( { [ CONTINUf, TION [ [ [

]

) Hg

(j

+ I)

:



[j

+ l}

or



[j

+ I}

-

v


[j}

or

Eg

(j]

-v

~_.



(j

-

I)

HJ

(j

+ I)

= Ed

or

HJ

(j

'- 1]

-

or

s',

{j}

- v

(j

v
<

Ed

+ I]

}

(j)

]

]

{2

+ 1]

) } )

. . . . . . . . . . . . . . . . . . . . . . . .

Eg

(j

and

E8

(j)

and

E8

[j

-

)

n~ cs

>/

H8

(j

>/

Hg

(j)

q~ -

1}

+ '1

Ed

[j

and

Hd

[j}

and

Hd

(-

-

13

( >/

Hd Ed

[j

Ed

(j)

(j

)

I)+

) }

1} v}

} }

+ v

-

1)

>/

+ v

)

} i

|

Fig. 6. Identificationof CHDEO runs. 8. Experimental results The above mentioned algorithms are programmed in assembly language on a microcomputer (developed around the MC6809 MOTOROLA) interfaced to a digital image processing unit developed at GTTSI. Concerning the accuracy of geometrical features extraction in digital images it is well known that the perimeter is the most sensitive to the quantization effect. Using polygonal approximation leads to good results as related in [7]. For example the accuracy is twice better than Duda's one [1]. The total execution time includes: 1) Coding. This phase, effectuated by hardware, takes a frame period (20 mS). 2) Isolation. This phase effectuated by software also measures the object areas and classifies them in decreasing order. The processing time is approximately constant (400mS) (cycle time= 1 ~s). 3) Features extraction. This phase, effectuated by software, measures object and concavity geometrical features. Because CCP, CH, EOD, CHDEO are determined during code analysis, sep-

arate processing time for each feature cannot be known. Thus indicated time is global. This was found to be approximately proportional to the number of runs of the object. Fig. 7 presents the results obtained for the object shown in Fig. 8 which shows: The synthesis of the object reconstructed from its encoded representation (Fig. 8(a)); the convex hull (Fig. 8(b)); the vertices of CCP, the centers of gravity of respectively the object, convex hulls, holes and bays (Fig. 8(c)); and the extracted bays and holes (Fig. 8(d)).

9. Conclusion The method presented in this paper leads to a very accurate description of digital objects contained in binary images by means of concavity features extraction. This method is applied to the image which is encoded by a real time hardware processor. The technique of concavity decomposition makes it possible to use a fast recurrent algorithm for measuring the geometric features of holes and bays. The implementation of this technique on an image processor leads to decreased processing Vol. 9, No. 3, O c t o b e r 1985

J. Bajon et al. / Concavity for digital objects

160 EXTRA EXECUTION T I M E

NAME

OF

OBJECT

:

0002.214608

:

1

time, one which is compatible with the level required in robotics. In order to improve speed, several solutions may be investigated by, for example, increasing CPU clock (2 MHz instead of 1 MHz); making use of arithmetic coprocessor; choosing a more powerful microprocessor, etc.

CYCLES

AREA - 28897.5 [28221), P E R I M E T E R = 1002.687 CENTER OF GRAVITY : XCG = 118.292, YCG = 119.332 CIRCUM. RECTANGLE : X M I N = 8, X M A X - 251, Y M I N - 19, YMAX NO. OF C O N F I G U R A T I O N S : START - I SPLIT = 3 JOIN = 2 END CONTINUATION ENO-OF-LINE HOLE

= = =

- 228

References

2 287 229 2

BAY - 3 CONVEX HULL : AREA = 3 4 8 1 5 , PERIMETER ~ 7 0 3 . 5 8 2 CENTER OF G R A V I T Y : X C G = 1 2 0 . 4 6 4 , HOLES ANO BAYS : H -- HOLE, NO. 001

H/B H

002 003 004 005

H B B B

AREA 979

B --

YCG

= 122.158

BAY

PERIMET 123,718

XCG 72.656

YCG 83,821

XMIN 50

XMAX 83

YMIN 88

YMAX 99

735 1 1 1 . 1 4 0 749 198.734 1230 1 9 6 . 3 7 5 1614 2 3 1 . 8 3 5

174.75 181.660 47,414 188.862

124.132 64.976 1~5.117 187.175

153 145 15 127

187 223 68 220

102 33 138 179

146 88 204 222

Fig. 7. An example of feature extraction.

(a)

reconstituted object f r o m the e n c o d e d representation



(b)

convex

hull

a e



*

.

[c]

O

.

centers

of g r a v i t y

p -

[d]

extracted

holes

and

Fig. 8. Result visualization for the example (Fig. 7). Signal Processing

bays

[1] W.K. Pratt, Digital Image Processing, John Wiley & Sons, New York, 1978, Ch. 18, pp. 514-550. [2] R.O. Duda and P.E. Hart, Pattern Classification and Scene Analysis, John Wiley & Sons, New York, 1973, Ch. 9, pp. 327-377. [3] A. Rosenfeld and A.C. Kak, Digital Picture Processing, Academic Press, New York, 1976, Ch. 9, pp. 333-401. [4] F. Veillon, "One pass computation of morphological and geometrical properties of objects in digital pictures", Signal Processing, Vol. 1, No. 3, July 1979, pp. 175-189. [5] Z. Kulpa, "More about areas and perimeters ofquantized objects", Comput. Vision Graphics and Image Proc., Vol. 22, No. 2, May 1983, pp. 268-276. [6] D. Rosen, "On the areas and boundaries of quantized objects", Comput. Graph. Image Proc., Vol. 13, No. 1, May 1980, pp. 94-98. [7] J. Bajon, M. CartoOn and S.D. Kim, "Syst~me et m6thode d'extraction de caract6ristiques d'images binaires pour des applications en robotique", Proc. 4#me Congrbs Recon. des Formes et Intell. Artific., Paris, Jan. 25-27, 1984, pp. 367-382. [8] A. Rosenfeld, Picture Processing by Computer, Academic Press, New York, London, 1969, pp. 136-138. [9] L. Hodes, "Discrete approximation of continuous convex blobs", SIAM J. Appl. Math., Vol. 19, Sep. 1970, pp. 477-485• [10] J. Sklansky, R.L. Chazin, and B.J. Hansen, "Minimumperimeter polygons of digitized silhouettes", IEEE Trans. Comput., Vol. C-21, No. 3, Mar. 1972, pp. 260-268. [11] J. Sklansky, "Measuring concavity on a rectangular mosaic", IEEE Trans. Comput. Vol. C-21, No. 12, Dec. 1972, pp. 1355-1364. [12] J. Sklansky, L.P. Cordelia and S. Levialdi, "Parallel detection of concavities in cellular blobs", IEEE Trans. Comput., Vol. C-25, No. 2, Feb. 1976, pp. 187-195. [ 13] C.E. Kim, "On the cellular convexity of complexes", IEEE Trans. Pattern Anal Machine Intell., Vol. PAMI-3, No. 6, Nov. 1981, pp. 617-625. [14] R. Klette and E.V. Krishnamurthy, "Algorithms for testing convexity of digital polygons", Comput. Graph. Image Proc., Vol. 16, No. 2, Jun. 1981, pp. 177-184. [15] C.E. Kim and J. Sklanksy, "Digital and cellular convexity", Pattern Recognition, Vol. 15, No. 5, 1982, pp. 359-367•

J. Bajon et al. / Concavity Jbr digital objects [16] J.M. Chassery, "Discrete convexity: Definition, parametrization and compatibility with continuous convexity", Comput. Vision Graphics and Image Proc., Vol. 21, No. 3, Mar. 1983, pp. 326-344. [17] S.K. Ghosh, "A linear time algorithm for obtaining the convex hull of a simple polygon", Pattern Recognition, Vol. 16, No. 6, 1983, pp. 587-592. [ 18] M. Orlowski, "On the conditions for success of Sklansky's convex hull algorithm", Pattern Recognition, Vol. 16, No. 6, 1983, pp. 579-586.

161

[19] S.D. Kim, "Etude et d(~veloppement de techniques de codage et de caract6risation d'images vid6o", Docteur lng~nieur Thesis, No. 295, Inst. Nation. Polytechn. Toulouse, Dec. 1983. [20] C. Arcelli and G. Sanniti di Baja, "Polygonal covering and concavity tree of binary digital pictures", Proc. MECO'78, Athens, pp. 292-297, 1978. [21] B.G. Batchelor, "Using concavity trees for shape description", Computers and Digital Techniques, Vol. 2, No. 4, t 1979, pp. 157-168.

Vol. 9, No 3, October 1985