A New Split and Merge Algorithm with Topological

3 downloads 0 Views 258KB Size Report
Three main region-based methods can be distinguished: 1. The top-down ... The usual data structure to implement the merge algorithm is an array of .... The part (a) represents the initial image made up with four regions. The part ..... 2 d' edition d'images discr etes. ... Th ese de doctorat, Universit e Montpellier II, 24 novem-.
A New Split and Merge Algorithm with Topological Maps Luc Brun and Jean-Philippe Domenger Laboratoire Bordelais de Recherche en Informatique - URA 1304 Universite Bordeaux I 351, cours de la Liberation F-33405 Talence, France

fLuc.Brun

|Jean-Philippe.Domenger

[email protected]

Abstract. Usually, segmentation algorithms implementing the split and

merge operations are restricted to a split stage followed by a merge stage. In this paper, we present a new split and merge algorithm combining alternatively split and merge operations at each recursive step. This algorithm is based on a data structure encoding topological maps in a discrete plane. The topogical maps of an image are de ned by embeding the image and its boundaries in Khalimsky space. This data structure allows us to design ecient segmentation algorithm which are almost impossible to implement with usual data structure.

Keywords Segmentation, topological map, Khalimsky topology.

1 Introduction Two main stages can be distinguished in image analysis, the segmentation of the image and the recognition of objects which compose the image. Some segmentation algorithms are based on the subdivision of the image into connected set of pixels called regions. The partition of the image evolves according to an homogeneity criterion computed on each region. The two main operations modifying a partition of the image are the split of a region and the merge of two regions. A region which has a homogeneity value greater than a threshold is subdivided into sub-regions. Two adjacent regions can be merged to produce a new region that has an homogeneity value lower than a threshold. The segmentation methods which partition an image using split and merge operations on regions are called region-based methods. Three main region-based methods can be distinguished: 1. The top-down approach [28, 26, 9] begins with an under-partition of the image and increases the number of regions using the split algorithm. 2. The bottom-up approach [5, 15] begins with an over-partition of the image and decreases the number of regions using the merge algorithm. 3. The mixed approach [6, 10, 29] introduced by Pavlidis and Horowitz [19, 20] modi es the partition combining the split and merge algorithms.

The region-based methods require di erent information about regions: the set of pixels contained in a region, the adjacency-region set of a given region, the boundary elements shared by two regions. If we study the data structures used by the top-down and bottom-up methods, each data structure is very ecient to perform a speci c treatment but not t for the other ones. The top-down methods use hierarchical representations of the image as pyramids [6, 29] or quadtrees [13, 30]. These approaches are based on a recursive decomposition of a square image domain into square sub-domains. The split of a region can be eciently performed by a re nement of the subdivision while the computation of the adjacency-regions on a tree structure involves complex and costly processing. Moreover, the merge of two adjacency regions may break the tree structure. The usual data structure to implement the merge algorithm is an array of labels [27] combined with a region adjacency graph (RAG) [10, 5]. An array of labels associates to each pixel a label such that all the pixels of a given region have a same label. The vertices of the adjacency graph represents the regions of the image and there exists one edge between two regions if they are adjacent. The merge of two regions consists in contracting the edges which link them and suppressing the induced multiple edges. In a bottom-up approach, to avoid an overhead in the memory cost, the RAG is used only when the regions are signi cant. The update of a RAG induced by the split of a region into subregions involves many computations. The split region must be suppressed of the RAG and all the new sub-regions must be traversed in order to insert their corresponding node and their adjacency edges. Due to the incompatibility between the structures used by the split and merge algorithm, the mixed approach is mainly reduced to a split stage followed by a merge stage. An important drawback of this approach is that incoherent regions created during the split may remain in the partitioning because their existence is only reconsidered after a sequence of split operations. In this paper, we present a split and merge algorithm where the split and the merge operations may be iterated to any step of the algorithm. The data structure used by this algorithm allows us to combine the split and merge operations without overhead. The region considered here are 4-connected set of pixels having any size or form. A such partition is represented by a data structure based upon a set of topological maps. The representation by topological maps requires that the boundaries of regions which are de ned in a discrete plane validate the same properties that boundaries of Euclidean regions. We present in section 2, the de nition and the representation of the boundaries of the regions. The section 3 presents the data structure encoding the boundary of the partitioning. The section 4 presents a split and merge algorithm using our data structure.

2 De nition of discrete maps associated with an image The data structure used by our algorithm of split and merge is a mixed model combining a discrete description of the geometry of region boundaries with a Euclidean description of the topology of the image. The boundary geometry must be consistent from a topological point of view. Let X be a simply connected subset of the Euclidean plane. We partition the sets X into simply connected set x1 ; : : :; xn. In the Euclidean plane, the drawing of these curves forms a planar connected graph called topological map or planar map [31, 11]. The faces of the topological map are associated with the elements xi, the edges are associated with simply open Jordan arcs included in the intersection of the boundaries of two elements and the vertices are intersection points of edges. Hence, the boundary of an element xi is a simply closed Jordan curve decomposed in a alternated sequence of vertices and edges. The faces de ning the elements xi are called nite faces. The complementary of X in the Euclidean plane is not a simply connected region, the face which de nes this set is called the in nite face of the topological map. In order to encode the topology of an image by a topological map, the discrete region boundaries must validate the same properties as the Euclidean boundaries. These two properties are as follows. 1. The boundary of a region is made of discrete closed Jordan curves. 2. The boundary intersection of two 4-adjacent regions is a set of Jordan arcs, each arc containing at least two points. In related work, the boundaries and the image are de ned in the same space. The drawback of this approach is that two adjacent regions do not share the same boundary elements and some simply closed discrete curves do not satisfy Jordan theorem. Another approach consists in the development of " nite topology", the solution generally adopted is to extend the concept of pixel to allow a consistent de nition of open and closed sets. Principally, there exists two main approaches, the rst approach initiated in 1984 by Kovalvsky [24, 25] and completed by Ahronovitz, Aubert and Fiorio [1, 14] is based on the topology of cellular complexes. The other approach studied near 1977 by Khalimsky [22, 21, 23] is based on partially ordered sets. Some logical gaps established by Francon [16] or Hermann [18] exist between these di erent approaches. The two required properties are validated by embedding both boundaries and images planes into the Khalimsky plane. This plane is the set of points having integer or half-integer coordinates. The points which both coordinates are integers are open points. The points which both coordinates are half-integers are closed points. The other ones are mixed points. Considering the pixel of the image as open point, the embedding of an image in the Khalimsky plane consists in mapping each region on the interior of the closure of the region. Hence, the boundary of an embedded region is a set of closed curves, such that each curve separates the plane into exactly two connected components [22, 21]. Then, the rst property allowing the representation by topological maps is validated. Furthermore, each connected component of boundary of an embedded region is a sequence of alternatively closed and mixed points such that mixed points are

connected to exactly two closed points with no turn. If we consider one mixed boundary point with its both closed points, these three points are connected with two distinct open points of two di erent regions. Then, the boundaries of two regions of the image which are 4-connected have at least in common a Jordan arc with a length at least equal to three. Hence, the second property is also validated.

(a) Initial Image

(b) Embedding in the Khalimsky plane

e2 v1

e3

v2 e5

(c) Discrete maps in the boundary plane

e4 e1

e7 v5

v3 e6

v4

(d) Topological maps of the initial image

Fig. 1. The part (a) represents the initial image made up with four regions. The part (b) is the embedding of the initial image in the Khalimsky plane. The mixed points of the boundary are represented with and the closed points by black circle. The part (c) showed the image and the boundary points. The big circles are the nodes and the black circle are boundary points. The part (d) describes the topological maps of the image, there exists two connected components in the graph because one of the regions has one hole. Mixed points which belong to the boundary of a given region are only connected with two closed points of the same region boundary. Thus, boundary of a region can be encoded only by a sequence of closed points. Therefore, two closed points are connected if they are linked by a mixed point in the Khalimsky plane. The closed points of the Khalimsky plane are called boundary point and the plane of closed points is called the boundary plane: this plane is generated from 6 Z2 by a translation of a vector (? 12 ; ? 21 ). If the image is subdivided into simply 4-connected regions the set of boundaries forms a discrete map which is the drawing of a topological map in the boundary plane. The drawing of a vertex called a node, is a boundary points such that at least three of its open connected point belong to di erent regions. The drawing of an edge called a

segment, is 4-connected path of boundary point shared by two di erent regions. The geometry of a discrete map can be eciently encoded by an array B, where the size of B is (H + 1)  (W + 1) if the size of the segmented image is H  W . This array encode for each boundary point the set of points connected with it. Remark that if we except the border of the image, the boundary of a region is equal to the boundary of the complement of the region. Therefore, the boundary of a not simply connected region is made of a disconnected sets of closed Jordan curves. One of these curves de nes a nite face, the other curves represent the in nite faces of connected components of topological maps. Hence, the topology of an image can be represented by a set of discrete maps augmented with an inclusion relation linking each in nite face with the nite face which contains them. The di erent steps performing the creation of the topological maps are summarized in gure 1.

3 Data structure encoding discrete maps Topological map can be eciently encoded using combinatorial map(see. [17, 2, 4, 12]) . A combinatorial map is a tuple (D ; ; ) such that D is a set of elements called darts, and  are two permutations de ned on D, the permutation is a free- xed point involution. Each dart represents an half-edge of the topological map and the orbits of encode the edges of the topological map, the orbits of  encode the vertices, the orbits of permutation ' =   encode the faces. Remark that if the darts are encoded by positive and negative integers the permutation can be implicitly encoded in the data structure by (d) = ?d. Let d a dart and  a permutation, the orbit of  generated from d is denoted by  (d). In order to identify the faces, each face is identi ed by a label. A labeling function  de ned on the set of darts associates a label to each dart, all the darts belonging to a same face have the same label. Conversely the function ?1 associates the label of a face with a canonical dart. Let f be a nite face and ff11 ; : : :; fn1 g be the set of in nite faces included in f . The face f is called the parent of fi1 and ff11 ; : : :; fn1 g is the set of child faces of f . The inclusion relation between discrete maps are encoded by two functions de ned on the set of face labels, the function P arent(f 1 ) returns the parent face of the in nite face f 1 and Children(f ) return the list of child faces included in f . The data structure representing the image showed in gure 1 is displayed in gure 2. The two connected components of the graph are respectively associated with the combinatorial maps (1; 1) and (2 ; 2). The in nite face of the combinatorial map (2 ; 2) is the orbit '2 (?7) = (?7) and we have (7) = f21 , its parent face is the face labeled by f1 . The merge algorithm requires the adjacency-region set of a given region, we denote by V (f ) the adjacency-region set of a region labeled by f . The adjacencyregion set is computed on the data structure, by the adjacency relation between faces expressed though

f11 f1 -2

3

-3

4

7

5

1

f2

f21 f4

-7

-4

f3 -5

2 6

-6

1 = (1 -1)(2 -2)(3 -3)(4 -4)(5 -5)(6 -6) 1 = ( -2 1 3)( -3 5 4)( -5 6 -4)( -1 2 -6) 2 = (7 -7) 2 = (7 -7)

-1

Fig. 2. This gure represents the two combinatorial maps on the image displayed in gure 1. For instance, the edge e1 is the orbit 1 (1) and the vertex v2 is the orbit 1 ( -3)

De nition1. Let f and f 0 be two nite faces, they are adjacent if they verify

one of the following properties: 1. 9d 2 ' (?1 (f )) such that ?d 2 ' (?1 (f 0 )) 2. 9d 2 ' (?1 (f )) and 9!f 1 2 Children(f 0 ) such that ?d 2 ' (?1 (f 1 )) 3. 9d 2 ' (?1 (f 0 )) and 9!f 1 2 Children(f ) such that ?d 2 ' (?1 (f 1 )) Remark that if we consider the dual combinatorial map de ned by ('; ), the vertices of these maps are the orbits of ' which are associated with the regions of the partition. Hence, the RAG can be generated from these maps by suppressing all the multiple edges between two nodes and creating an edge if the faces veri es the properties 2 or 3 of de nition 1. Therefore, this model represents a more powerful data structure than a RAG, because it encodes the adjacency of regions and identi es the segments inducing the adjacency. The drawing of a dart d is an oriented segment Sd of the boundary plane. The points of Sd may be computed using the array B (see. [3]). The nite face of a simply connected region labeled by l is de ned by the darts of ' ((l)). The boundary of this region is the concatenation of the oriented segments associated with the darts of ' ((l)). Bl = Sd  S'(d) : : :S'n (d) In the case where the region is not simply connected, the other curves of the boundary are associated in the same way with the cycle of in nite faces (' ((li1 )) with li1 2 Children(l)). The traverse of the domain Rf of the region associated with the face labeled by f can be reconstructed using the algorithms de ned in [3], the complexity of this algorithm is proportional to the size of the domain. Using this data structure, the merging of two adjacency regions consists in suppressing all the common edges of their associated face. The splitting of a face is performed by the insertion of a set of edges. The incremental modi cations of the data structure by insertion and suppression of segments has been developed in [8]. The average complexity of these algorithms depend both of the average length of a segment and the average number of child faces. In the following of this paper, we will focus on the study of the new split and merge algorithm.

4 The split and merge algorithm We saw in section 2 how to structure a segmented image into edges and faces. Moreover, the updates of this data structure, i.e. the insertion or the removal of edges can be performed eciently. Nevertheless this model may be useful for segmentation algorithm only if it can provide eciently information about faces and segments. This information have to allow segmentation algorithms to decide which segments have to be removed or where segments need to be added. Thus, the model should provide eciently information which allows to decide if a face is too or not enough homogeneous. We measure the homogeneity of a face f with the squared error de ned by: EQ(Cf ) =

X g(x)kx ? (f )k2

x2Cf

(1)

where Cf denotes the feature space associated to region Rf , g(x) the number of pixels with color x in region Rf and (f ) is the mean of the set Cf . In the following we will denote EQ(f ) for EQ(Cf ). The squared error of a face computes the sum of squared distance of each color to the mean color of a face. Thus a low squared error corresponds to an homogeneous face while a high squared error corresponds to an non-homogeneous face. The squared error can be computed from moments of order zeros, one and two of a face. These moments are de ned by the following de nition:

De nition2.

P P

M0 (f ) : number of pixels contained in regionRf M1 (f ) = (v1 ;:::;vn )2Cf (v1 ; : : :; vn) M2 (f ) = (v1 ;:::;vn )2Cf (v12 ; : : :; vn2 )

(2)

Where n denotes the dimension of the feature space (usually one or three) and (v1 ; : : :; vn) denotes coordinates in the feature space. Using the moments M0 ,M1 and M2 , the squared error may be computed by the following equations: M1 (f ) (f ) = M 0 (f ) M vari (f ) = M20((ff))i ? 2i (f ) EQ(f ) = M0 (f ) ni=1 vari (f )

P

(3)

where vari (f ) denotes the variance of the feature space Cf along the axis i. In the same way, M2(f )i denotes the ith coordinate of the two-order moment of f . If we split a face f into two faces f1 and f2 , or if we merge f1 and f2 to create the face f the relation between the moments of f1 and f2 and the moments of f is de ned by : 8 i 2 f0; 1; 2g Mi (f ) = Mi (f1 ) + Mi (f2 ) (4) This relation will be useful to determine eciently the squared error of a face resulting from merge operations.

The squared error provides an ecient tool to measure the homogeneity of a face. We have used this homogeneity criteria to design a new split algorithm. This algorithm described in [7] split the cluster Cf corresponding to the face f into a set of clusters C1; : : :; Cp. Each cluster Ci will produce a set of faces fi1 ; : : :; fiq such that all pixels of faces fi1 ; : : :; fiq have feature coordinates which belong to cluster Ci . The homogeneity of faces produced by the split algorithm are controlled by the following requirements on clusters Ci :

Xp EQ(C ) < EQ(C )

(5)

8i; j 2 f1; : : :; pgEQ(Ci [ Cj ) > EQ(C )

(6)

i=1

i

The condition (5) ensures that all faces are homogeneous enough with respect to the initial face. The condition (6) ensures that the split algorithm will not produce two adjacent faces with too close features. The symbols and denote two thresholds which may be parameterized by users. Once the set Cf is split into a set of clusters C1 ; : : :; Cp we have an implicit partition of the face. As a matter of fact, two adjacent pixels belong to di erent faces if and only if their features do not belong to a same cluster. A functionality of our implementation inserts edges in the data structure according to this implicit partition. Thus segmentation algorithms only have to provide a function which decides if two pixels belong to a same face or not. Parameters used by segmentation algorithms to decide if a face has to be split further or not may also be used to decide if two given faces has to be merged. We have designed a merge algorithm using the squared error as homogeneity criteria. This algorithm scan a list of face L and merges the adjacent faces until all merges will produce a face with a squared error greater than a given threshold. The neighborhood V (f ) of a face f is computed by use of de nition 1. The algorithm is displayed on Figure 3. Note that the algorithm may merge two faces with one of them which do not belong to L. The face resulting from the merge will be added to L. Remark that such general merge operations cannot be implemented with a quadtree data-structure. The label of the face f created by the merge of two faces f1 and f2 is equal to the label of f1 or to the label of f2 . Thanks to this property described in [8] we can update eciently the set L of faces processed by the merge algorithm. In our implementation we have attached to each face its moments of order zero, one and two (see de nition 2). We choose to compute by need the attributes of a face f and to mark them as invalid when f is split. Due to the linearity of moments de ned by equation (4), updates of moments do not require to traverse merged faces.These attributes can thus be eciently updated along merge operations. Moreover, using equations 3 the squared error or the mean of a face can be deduced immediately from moments. In order to allow users to design other ecient merge-score, we also attach and compute by need the length and the mean gradient of each segment. Such parameters allow the design of merge-score based on the common boundaries of two faces.

merge(list of faces L)

f

do

f

(f; f 0 ) = ArgMin(f1 2L;f2 2V (f1 ) EQ(f 1 [ f2 ) if(EQ(f [ f 0 ) > )

return = merge two faces( remove and 0 from L 0 insert in L

f [ f0

g g

f f f [f

f;f 0 )

while(ever)

Fig. 3. Our merge algorithm Using split algorithm described above and merge algorithm described in Figure 3 we can design a split and merge algorithm. Instead of performing a sequence of split followed by a sequence of merge our algorithm alternates split and merge operations until all faces have a squared error falling between two thresholds. Horowitz [20] [19], uses a quadtree data structure. This structure involves partitioning the domain to be segmented into squares. Our model allows us to partition the initial domain into faces with a free geometry. This property induce a better behavior of our split algorithm which will split further more homogeneous faces. Moreover, the free geometry of our faces allows us to avoid computation burden to break the initial partition into squares (see [26] for further details). The merge algorithm used by our split and merge algorithm is slightly restricted. As a matter of fact, the merge algorithm merge only faces created by the split and merge algorithm. This restriction allows us to modify only faces which form a partition of the domain to be segmented. Thus we avoid modi cations of faces created by previous segmentation algorithms, these faces being supposed correct. The split and merge algorithm is displayed in Figure 4. This ability of our model to alternate split and merge process allow segmentation algorithms to produce meaningful faces at each step. As a matter of fact, a clustering algorithm working on a face with a high squared error may be unable to detect small objects and may produce wrong faces. The merge algorithm which immediately follows the splitting step will correct this faces. Such correction of the splitting process may be impossible with a segmentation algorithm performing a sequence of splits followed by a sequence of merges. For example the face formed by two half circles on Figure 5, has been created by the rst split algorithm. Let us suppose that this face is not meaningful. If we split further

split merge(face

f

list of faces L',L =  face max = ini do

f

f

g

f

f max

) split( faces created by the split algorithm merge(L') update and add 0 to max = f 2L ( )

L0

g

fini )

f

while(

L ArgMax

EQ(fmax) EQ(fini )

L L EQ f

> )

Fig. 4. Our split and merge algorithm the initial domain, this face may be considered as enough homogeneous, and will not be split further. Thus, the expected contour splitting this face will not be created and the merge algorithm following the split sequence will be unable to nd the correct partition. On the contrary, if we perform a merge operation after the rst splitting step, the wrong face will be removed and the split process following this merge step will be able to nd the expected contours. This unwanted behavior of segmentation algorithms performing a sequence of splits followed by a sequence of merges is illustrated by a real world image in Figure 7.

5 Conclusion The split and merge method has rst been introduced by Horowitz and Pavlidis [20, 19]. This method was implemented with a quadtree data structure which involves many limitations to the method. We have presented a set of algorithms built on a new data structure. This data structure allows us to overcome all limitations imposed by quadtrees. The algorithms based on our model have a greater degree of freedom, and are thus more powerful. The split and merge algorithm presented in section 4 is an illustration of the new abilities of segmentation algorithms based on the structure presented in section 2. Our segmentation algorithms are ecient enough to allow interactive segmentation. This new ability allow users to guide the segmentation process and thus to obtain the desired partition. Finally, the exibility of our data structure allows searchers to implement quickly new segmentation algorithm based for example on other criteria than the squared error.

(a) split

split

merge

split

merge

split

(b)

: Expected contours

Fig. 5. Line (a) a sequence of splits followed by a sequence of merges. Line (b) Our split and merge algorithm.

References 1. E. Ahronovitz, J.P Aubert, and Fiorio C. The star-topology: a topology for image analysis. In 5th DGCI Proceedings, pages 107{116, 1995. 2. P. Baudelaire and M. Gangnet. Planar maps: an interaction paradigm for graphic design. In Proc. of CHI'89, pages 313{318. Addison-Wesley, 1989. 3. J.P. Braquelaire and J.P. Domenger. An e ective representation of segmented images. To be published, 1996. 4. J.P. Braquelaire and G. Pascal. 2 21 scene update by insertion of contour. Computer and Graphics, 15(1):41{48, 1991. 5. R. Brice and C.L. Fennema. Scene analysis using regions. Arti cial intelligence, 1:205{226, 1970. 6. J.D. Browning. Segmentation of pictures into regions with tile-by-tile method. Pattern Recognition, 15(1):1{10, 1982. 7. L. Brun. Split, merge and grouping : a new approach for color image quantization. Submitted to Computer Vision Journal, may 1996. 8. Luc Brun and J.P. Domenger. Incremental modi cations on segmented image de ned by discrete maps. To be published, 1996. 9. M. Celenk. A color technique for image segmentation. Computer Vision, Graphics, and Image Processing, 52:145{170, 1990. 10. F. Cheevasuvut, H. Maitre, and D. Vidal-Madjar. A robust method for picture segmentation based on a split and merge procedure. CVGIP, 34:268{281, 1986. 11. R. Cori. Un code pour les graphes planaires et ses applications. PhD thesis, Universite Paris VII, 1975.

12. J.P. Domenger. Conception et implementation du noyau graphique d'un environnement 2D 21 d'edition d'images discretes. PhD thesis, Labri Universite Bordeaux I, 351 cours de la liberation 33405 Talence, avril 1992. 13. R.C. Dyer, A Rosenfeld, and S Hanan. Region representation: Bondary codes from quadtrees. ACM: Graphics and Image Processing, 23(3):171{179, March 1980. 14. C. Fiorio. Approche interpixel en analyse d'images : une topologie et des algorithmes de segmentation. These de doctorat, Universite Montpellier II, 24 novembre 1995. 15. C. Fiorio and J. Gustedt. Two linear time union- nd strategies for image processing. Technical Report 375/1994, Technische Universitat Berlin, 1994. 16. J. Francon. Topologie de khalimsky et kovalevsky et algorithmes graphiques. In First Colloquium on Discrete Geometry in Computer Imagery, Strasbourg, September 1991. 17. M. Gangnet, J.C. Herve, T. Pudet, and J.M. VanThong. Incremental computation of planar maps. In Proc. of SIGGRAPH'89, 1989. 18. T.G. Herman. On topology as applied to image analysis. Computer Vision, Graphics, and Image Processing, 52:409{415, 1990. 19. S.L. Horowitz and T. Pavlidis. Picture segmentation by a directed split-and-merge procedure. Technical report, Departement of Electrical Engineering, Princeton University , N. J. 08540, 1975. 20. S.L. Horowitz and T. Pavlidis. Picture segmentation by a tree traversal algorithm. Journal of The Association for Computing Machinery, 23(2):368{388, April 1976. 21. E. Khalimsky, R. Kopperman, and P.R. Meyer. Boundaries in digital planes. Journal of applied Math. and Stocastic Analysis, 3:27{55, 1990. 22. E. Khalimsky, R. Kopperman, and P.R. Meyer. Computer graphics and connected topologies on nite ordered sets. Topology and its Applications, 36:1{17, 1990. 23. T.Y. Kong, R. Kopperman, and P.R. Meyer. A topological approach to digital topology. Amer. Math. Monthly, 98(10):901{917, 1991. 24. V.A. Kovalevsky. Discrete topology and contour de nition. Pattern recognition letters 2, 2(5):281{288, 1984. 25. V.A. Kovalevsky. Finite topology as applied to image analysis. Computer Vision, Graphics, and Image Processing, 46:141{161, 1989. 26. C.-H. Lee. Recursive region splitting at hierarchical scope views. Computer Vision, Graphics, and Image Processing, 33:237{258, 1986. 27. C. J. Nicol. A systolic approach for real time connected component labeling. Computeer vision and Image understanding, 61(1):17{31, January 1995. 28. R. Ohlander, K. Price, and D.R. Reddy. Picture segmentation using a recursive region splitting method. Computer Graphics, and Image Processing, 8:313{333, 1978. 29. M. Pietikainen, A. Rosenfeld, and I. Walter. Split and link algorithms for image segmentation. Pattern Recognition, 15(4):287{298, 1982. 30. H. Samet. Region representation: Quadtrees from bondary codes. ACM : Graphics and Image Processing, 23(3):163{170, March 1980. 31. W.T. Tutte. A census of planar maps. Canad.J.Math., 15:249{271, 1963.

This article was processed using the LaTEX macro package with LLNCS style

Fig. 6. (a) : The original image. (b) Partition produced by our split and merge algorithm. (d) and (e) further re nements of this initial partition.

Fig. 7. A restriction of the merge algorithm to the faces generated by the preceding split algorithm has involved the remaining of the two faces on the left harm of the girl. A sequence of split followed by a sequence of merge leads to the same errors.