Jordi Inglada
email: jordi.inglada@cnes.fr

Julien Michel
email: julien.michel@c-s.fr

EC, PO, TPP, NTPP DC, EC, PO, TPP, NTPP DC DC DC Dc

EC, PO, TPPi, NTPPi DC, EC, PO, TPP, TPPi, EQ DC, EC, PO, TPP, NTPP EC, PO, TPP Ntpp Dc

EC, PO, TPPi, NTPPi DC, EC, PO, TPPi, NTPPi no info Po

TPP, TPPi, EQ PO, TPP Ntppi Po

EC, PO, TPPi, NTPPi EC, PO, TPPi Tppi Dc

Ntppi Tppi

Tppi

Ntppi Ntppi

Qualitative Spatial Reasoning for High Resolution Remote Sensing Image Analysis

High resolution remote sensing images allow us to access new kinds of information. Classical techniques for image analysis, such as pixel-based classifications or region-based segmentations, do not allow to fully exploit the richness of this kind of images. Indeed, for many applications, we are interested in complex objects which can only be identified and analysed by studying the relationships between the elementary objects which compose them. In this paper, the use of a spatial reasoning technique called Region Connection Calculus for the analysis of high resolution remote sensing images is presented. A graph based representation of the spatial relationships between the regions of an image is used within a graph-matching procedure in order to implement an object detection algorithm.

I. INTRODUCTION

Because of the diversity of sensors and the increase of their spatial resolution and repetitivity, the automatic analysis of images is a crucial asset in the remote sensing field. It is therefore needed to design and implement new image analysis techniques which are able to perform complex processing in an efficient manner. In this context, much work has been done for the automatic information extraction from remote sensing images aiming to provide a set of features and descriptors which are compact and parsimonious in order to feed them into learning systems. This type of features come often from low-level processing and are not able to capture the richness and complexity of high resolution (HR) images. Indeed, the improvement of the spatial resolution makes that the objects of interest are not any more limited to several pixels, but they are represented by large areas containing sub-objects. This kind of objects can not be efficiently described by textures, edges, etc.

, but this kind of approaches are not generic enough to deal with different types of objects.

It is therefore useful to use techniques which are able to deal with higher levels of abstraction for the representation and the manipulation of the information contained in the images. In this work, we will use spatial reasoning techniques in order to describe complex objects. We have chosen to use the well known Region Connection Calculus, RCC-8 [3] in order to describe the relationships between the regions of an image.

. The mathematical morphology approach has been selected because, in contrast to linear multiscale approaches, it allows to select objects in terms of their size. These has been shown to be interesting in meter and sub-meter resolution images for detecting vehicles, buildings, etc. Our algorithm is able to produce regions superimposing across the scales.

This allows to exploit the full extent of the RCC-8 relationships set. The regions and their relationships are represented by means of an Attributed Relational Graph, ARG, where the nodes represent the regions and the arcs represent the RCC-8 relationships. The ARG can be made more complete by adding region attributes to the nodes, as for instance shape and radiometric features.

Finally, object detection and recognition can be seen as a graph matching problem for which efficient algorithms can be implemented. In these context, a greedy search combined with a graph metric which is able to use all the information contained in the ARG has been implemented.

In this paper, the theoretical basis of the approach and examples of application to real images will be presented. This paper is organized as follows. Section II introduces the principles of Region Connection Calculus. Section III presents the approach used for image segmentation. Section IV presents the graph matching problem. Section V describes the implementation of the procedure. Section VII presents some example of results on real images. Section VIII draws some conclusions.

II. REGION CONNECTION CALCULUS

A. Spatial reasoning

The spatial organisation of the objects in images gives an important information for the recognition and interpretation tasks, especially when the objects are located in complex environments as it is usually the case in remote sensing high resolution images.

Spatial reasoning can be defined as the set of techniques for the manipulation of the description of physical objects by taking into account their mutual interactions expressed in terms of their shapes, sizes, positions, orientations and plausible movements [START_REF] Del Pobil | An attempt towards a general representation paradigm for spatial reasoning[END_REF].

There are several space logics. Different theories use different primitive features: points, lines, polygons, etc. The base spatial relationships used by each theory may also be different: inclusion, occlusion, connection, etc. Mereological -study of the parts 1 and belonging theories -, topological theories -where limit points and connectivity play a main role -and mereotopological theories -connectivity, belonging, external connectivity -have been proposed for the last 20 years.

However, literature shows that image processing applicative works do not use the above-mentioned theories, but rather more pragmatic approaches. This has the consequence of not being able to describe complex scenes, but only testing simple hypothesis on image objects. In a context of data mining, automatic interpretation, learning by example, GIS, etc., more powerful theories are needed.

There is a great variety of representations for storing and reasoning about spatial information. One can distinguish two main approaches: qualitative representation based on object coordinates and qualitative representations based on a high conceptual level vocabulary for the description of spatial relationships.

Qualitative languages can add very powerful functionalities to spatial information systems working with quantitative data.

We will present here two possible approaches to qualitative spatial reasoning about space: 1) Qualitative spatial reasoning systems applied to quantitative representations of space.

2) Qualitative theories of space and their associated reasoning systems.

The motivation for a qualitative representation of space comes from the need to perform computations allowing a computer to represent and reason with spatial concepts without relying on quantitative techniques.

del Pobil et al. [START_REF] Del Pobil | An attempt towards a general representation paradigm for spatial reasoning[END_REF] propose to define the base concepts -shape, size, relative position, etc. -but they do not provide an associated theory nor an algebra (operators).

Bennet et Cohn [START_REF] Bennett | Combining multiple representations in a spatial reasoning system[END_REF] have studied the trade-off between expressive power, the possibility of performing calculus, and the straightforwardness of the qualitative formalisms. The have shown that a set of topological relationships can be described by a first order language and how they can be coded in a zero-order intuitionist logic to provide an efficient algorithm. They also proposed ways of combining qualitative and quantitative information with a coherent architecture:

1) quantitative data structures are used inside a polygonal region data base; 2) a qualitative relationship language is used to make high level queries;

3) an intuitionist propositional logic is used to compute the inferences needed to answer user queries. Wang et al. [START_REF] Wang | A Research for Visual Reasoning[END_REF] propose a visual knowledge network which is actually an algebraic structure on which visual operations (union, zoom, occlusion, etc.). Inference algorithms capable of performing generalisation and specialisation can be used on this type of structure.

It can therefore be concluded that many different approaches have been proposed. Cohn and Hazarika made an exhaustive synthesis work [START_REF] Cohn | Qualitative spatial representation and reasoning: An overview[END_REF].

B. RCC-8

Region Connection Calculus [START_REF] Gotts | A connection based approach to common-sense topological description and reasoning[END_REF], is based on the notion of connection between pairs of regions in space. This connection is described by one among a set of possible relationships. One can therefore derive different RCC systems depending on the number and the nature of the connections accounted for. One of these systems, RCC8 is especially interesting, since it is made of exhaustive and disjoint relationships. These properties simplify the 1, the 8 RCC8 relationships go from disconnection, DC, to equivalence, EQ, through all intermediate possibilities by taking into account tangecy. It is important to note that all these relationships are symmetrical except for TPP and NTPP which are anti-symmetrical. This explains the additional relationships TPPi and NTPPi and their number (8 instead of 6). If one does not take into account tangency, the RCC5 system is obtained.

After defining the RCC8 system, one can wonder how to compose relationships: knowing that region (a) is linked to region (b) by relationship R 1 and that region (b) is linked to region (c) by relationship R 2 , which is the relationship between regions (a) and (c) ? Even is in some cases one can find a unique answer to this question, most of the cases do not allow this. For instance, if the two known relationships are DC, no information can be inferred about the composition [START_REF] Ligozat | Weak composition for qualitative spatial and temporal reasoning[END_REF], [START_REF] Renz | On the complexity of qualitative spatial reasoning: Maximal tractable fragment of the region connection calculus: a complete analysis[END_REF]. This is a limitation of the RCC8 system. However the composition table of RCC8 (table I) will help to speed up computations.

The implementation of a reasoning system based on RCC8 and more generally based on qualitative information has made the object of many research [START_REF] Egenhofer | Deriving the composition of binary topological relations[END_REF], [START_REF] Cohn | Qualitative spatial representation and reasonning : an overview[END_REF], [START_REF] Bittner | Approximate qualitative spatial reasoning[END_REF], [START_REF] Ligozat | What is a Qualitative Calculus? A General Framework[END_REF], [START_REF] David | A spatial logic based on regions and connection[END_REF]. Many approaches have been proposed, some of them using fuzzy logic in order to overcome the weak nature of the composition relationships, some others trying to define an algebra for relationships. These works are usually purely theoretical and do not propose any hint for the practical implementation. Works by Chen [START_REF] Jun Chen | Describing topological relations with voronoi-based 9-intersections model[END_REF] proposing modifications to RCC8 using the Voronoi regions of the objects in order to enrich the DC case, are worth noting.

III. MULTISCALE IMAGE SEGMENTATION

A. State of the art

As mentioned in section II, region connection calculus deals with regions of space and how they connect and overlap each other. Therefore, the first step toward the use of this system is to obtain a suitable set of regions. The requirement for overlapping excludes a single layer segmentation method, where all the regions would be disconnected from each other.

Watershed segmentation allows segmentation at different level of details, but this segmentation is hierarchical, and regions at a higher level of detail are included into regions at a lower level, which is not suitable for region connection calculus.

Laporterie introduced a pyramidal decomposition of images based on mathematical morphology [START_REF] Laporterie | Représentations hiérarchiques d'images avec des pyramides morphologiques. Application l'analyse et la fusion spatiotemporelle de données en observation de la terre[END_REF]. She showed the interest of this method, called morphological pyramid, in the field of image analysis and fusion. Still, the morphological pyramid decomposition produces a multi-resolution decomposition of the scene, which induces two types of loss of precision for the details. First, morphological filters are non-linear, so Shannon sampling conditions not guaranteed and information is lost at each sub-sampling step. Second, we can not recover precisely the extracted details at full resolution.

Benediktsson et al. derived a new morphological segmentation based on the morphological profiles [START_REF] Pesaresi | A new approach for the morphological segmentation of high-resolution satellite imagery[END_REF]. They showed the interest of using a geodesic metric in the morphological operators, which make them adaptive to the structures in the image and reduces shape noise. Such operators are called morphological operators by reconstruction. They used these operators to design two functions representative of the convex and concave structures of the image with respect to the size of the structuring element. They then used these functions to design a single layer, single scale segmentation of these structures, as well as a single layer, multi-scale segmentation based on the profile of these functions for increasing structuring element sizes.

B. Proposed segmentation method

Neither the morphological pyramid nor the morphological profiles can fit our needs. The first is far to lossy, and the second is a single layer method, with no possible overlapping. Still, we can take advantages of the iterative, pyramidal structure of the first one, while using the more robust concave and convex membership functions of the second one. For a given pixel, the convex membership function can be seen as the likelihood for that pixel to be part of a convex (i.e. brighter than the surrounding background) structure of the image whose size is smaller than the size of the structuring element. A similar definition can be applied to the concave (i.e. darker than the surrounding background) membership function. The leveling function ψ N (f ) is a simplification of the image f , where all convex and concave structures with a size smaller than the size of the structuring element have been obliterated. 2Definition 1 (Convex membership function): The convex membership function µ N (f ) is defined as follows:

µ N (f ) = f -γ * N (f ), (1)
where f is the image function, and γ * N denotes the opening by reconstruction operator, with a structuring element of size N .

Definition 2 (Concave membership function):

The concave membership function η N (f ) is defined as follows:

η N (f ) = ϕ * N (f ) -f, ( 2
)
where f is the image function, and ϕ * N denotes the closing by reconstruction operator, with a structuring element of size N .

Definition 3 (Leveling function):

The leveling function ψ N (f ) is defined as follows:

ψ N (f ) =    γ * N : µ N (f ) > η N (f ) ϕ * N : µ N (f ) < η N (f ) f : µ N (f ) = η N (f ) (3)
Using these three functions, we propose the following segmentation scheme. The range of scales S can be chosen in order to select objects of a given size. Even though a decision rule is proposed in [START_REF] Pesaresi | A new approach for the morphological segmentation of high-resolution satellite imagery[END_REF] for the segmentation steps (a) and (b), we choose to use a basic thresholding technique, which seems to extract more information from the images. For a range of n segmentation scales, this segmentation method produces n segmentation layers of convex details and n segmentation layers of concave details. Figure 3 shows the result of applying four levels of the segmentation algorithm to the image of figure 2. We can see the simplification effect of the leveling function, as well as the accuracy of the convex and concave membership function in detecting brighter and darker details. The segmentation images have been post-processed with shape regularization using binary morphology and object size filtering.

Although this segmentation approach gives satisfaction in our application, it is worthy to note that the results are far from being perfect and more research in this direction is needed.

IV. GRAPH MATCHING

Graph matching has been widely used for object recognition and image analysis. One can cite for instance the works of Buhmann [START_REF] Buhmann | Distortion invariant object recognition by matching hierarchically labeled graphs[END_REF] where graph matching on a multi-resolution hierarchy of local Gabor components is used. A similar approach is proposed in [START_REF] Wiskott | Face Recognition by Elastic Bunch Graph Matching[END_REF]. The same author extends this work in [START_REF] Buhmann | Size and distortion invariant object recognition by matching hierarchical graph matching[END_REF] where the hierarchical graph matching allows for size and invariant object recognition. The drawback of this approach is that the model has to be built before whereas we are looking for a representation of objects, groups of objects, etc.

In [START_REF] Li | Object recognition based on graph matching implemented by a Hopfield-style neural network[END_REF] each node in the graph represents a feature (ex. curvature points) and arcs describe the distances between the features. A Hopfield binary network is used to perform sub-graph matching.

The works of Bunke, as for instance [START_REF] Bunke | Graph matching for visual object recognition[END_REF] constitutes a very good introduction to object recognition with graph matching. A novel concept, the mean of a set of graphs is introduced. Also, Sanfeliu and co-workers [START_REF] Sanfeliu | Graph-based representations and techniques for image processing and image analysis[END_REF] give a good overview of graph-based representations and techniques for image processing and analysis.

Cyr and Kimia [START_REF] Cyr | 3D Object Recognition Using Shape Similiarity-Based Aspect Graph[END_REF] measure the similarity between two views by a 2D shape metric of similarity measuring the distance between the projected, segmented shapes of the 3D object. However, the approach is limited to the recognition of the very same object and for very simple shapes.

Shams et al. [START_REF] Shams | Graph Matching vs Mutual Information Maximization for Object Detection[END_REF] propose a comparison of graph matching and mutual information maximization for object detection restricted to the case of mutli-dimensional Gabor wavelet features. They show that graph matching has a computational complexity which is 2 to 3 times lower than mutual information.

The originality of the approach presented here is to work on graphs which describe qualitative spatial relationships, which will allow us to represent classes of objects, rather than multiple points of view of a particular object. A. Theoretical background Graphs are abstract mathematical entities which are useful for modeling and solving complex problems. They are a generalisation of the tree concept which is usually used in computer science for solving decision problems. One should note that, while the complexity and implementation of algorithms operating on trees are well known, their generalisation to graphs brings new complexity issues. Graphs are nevertheless used to solve classical problems as the traveller salesman problem or the representation of complex structures as for instance neural networks. We will use the following definition:

Definition 4 (Graph): A graph G is made of a finite set of nodes V and a set E of binary relationships on V × V called arcs.

To types of graphs can be distinguished: Definition 5 (Oriented graph): An oriented graph G is a graph whose arcs are couples of nodes (ordered relationship).

Definition 6 (Non oriented graph): A non oriented graph G is a graph whose arcs are pairs of nodes (ordered relationship). From these definitions, one can define the node's neighborhood:

Definition 7 (Node's neighborhood): For a non oriented graph, a node's neighborhood is defined as the set of nodes which are linked to it by an arc. For an oriented graph, the node's neighborhood is defined as the set of destination nodes having the given node as source.

B. Graph similarities

Three different approaches to graph comparison can be distinguished [START_REF] Yan | Substructure similarity search in graph databases[END_REF]:

• Measure of physical properties: a set of physical characteristics which may be problem dependent are measured in the graph and are used to compare several graphs. • Occurrence of canonical structures: the comparison is made using a set of canonical structures present in the graphs.

• Structural comparison: the comparison is made using a measure defined on the graph structure. The structural approach is the one which exploits best the graph topology without being problem dependent, but is rather difficult to implement in an efficient manner.

C. Isomorphism, distance and similarity measure

In order to measure a purely structural similarity between two graphs, many measures have been proposed [START_REF] Bunke | A graph distance metric based on the maximal common subgraph[END_REF], [START_REF] Champin | Measuring the similarity of labeled graphs[END_REF]. Most of these measures are based on the research of the largest common sub-graph between the 2 compared graphs. Sorlin and Solnon [START_REF] Sorlin | Reactive Taboo Search for Measuring Graph Similarity[END_REF] defined a generic measure which unifies several approaches. It is based on an evaluation of a function which depends on the 2 compared graphs. This function depends on the common characteristics of the 2 graphs (nodes, arcs and labels associated to both of them) and it may be tuned using 2 functions f and g which determine the nature of the measure. The following definitions are useful for the remainder of the presentation: Definition 8 (Graph match): Let G and G ′ be 2 graphs defined respectively over V and V ′ . A graph match is a sub-sample of m ⊆ V × V ′ containing the set of pairs (v, v ′ ) so that the nodes v and v ′ are matched.

Definition 9 (Common descriptors): We call common descriptors of a graph match m the set descr(G) ⊓ m descr(G ′ ), where the operator ⊓ m stands for the set of all nodes, node's labels, arcs and arc's labels which are common to G and G ′ within a match m.

Definition 10 (Split nodes): We call Split nodes or splits(m) of a match m of 2 graphs G and G ′ the set of nodes G matched to several nodes of G ′ and the nodes G ′ matched to several nodes of G.

These definitions allow us to introduce the following generic similarity measure: Definition 11 (Similarity with respect to a match): The similarity between 2 graphs G and G ′ with respect to a match m is defined by:

sim m (G, G ′ ) = f (descr(G) ⊓ m descr(G ′ )) -g(splits(m)) f (descr(G) ∪ descr(G ′ )) (4)
sim m (G, G ′ ) = max m⊆V ×V ′ f (descr(G) ⊓ m descr(G ′ )) -g(splits(m)) f (descr(G) ∪ descr(G ′ )) (5)
where f and g are 2 application dependent functions. Depending on the choice made for f and g several measures can be obtained (see table II).

V. IMPLEMENTATION

A. Elementary computation 1) Principles:

The first step for assessing the usefulness of RCC8 for image analysis, was to implement a technique for the efficient computation of the relationship between 2 regions of space. The first tool we will use is the 9-intersections matrix, which is a binary 3 × 3 matrix where 0 (empty set) and 1 (non-empty sets) represent the intersections between the exterior, the boundary and the interior of region A with the interior, exterior and boundary of region B.

M =   card( Ȃ, B) card( Ȃ, Ḃ) card( Ȃ, B) card( Ȧ, B) card( Ȧ, Ḃ) card( Ȧ, B) card( Ā, B) card( Ā, Ḃ) card( Ā, B)  
Where card is a function which is equal to 1 if the set is not empty and 0 otherwise, Ȃ is the interior of region A, Ȧ its boundary and Ā its exterior. Among the 2 9 possible matrices, only 8 are physically plausible and they correspond to the 8 RCC8 relationships. Being able to compute the 9-intersections matrix for a pair of regions of space means knowing the RCC8 relationship between them. 2) Optimisation: This method has a main drawback: its complexity. This complexity is dependent on the image size. This is particularly annoying, since remote sensing images are very large, while the regions of interest may be small. Therefore, using masks which have the same size of the image can very much slow the process. In order to reduce the computation time, 3 optimisations have been implemented.

0 @ 0 0 1 0 0 1 1 1 1 1 A 0 @ 0 0 1 0 1 1 1 1 1 1 A 0 @ 1 1 1 1 1 1 1 1 1 1 A 0 @ 1 0 0 1 1 0 1 1 1 1 A DC EC P O T P P 0 @ 1 0 1 0 1 1 0 0 1 1 A 0 @ 1 0 0 1 0 0 1 1 1 1 A 0 @ 1 1 1 0 0 1 0 0 1 1 A 0 @ 1 0 0 0 1 0 0 0 1
The first optimisation concerns the cardinal computation. Since what interests us is the fact whether this cardinal of the intersections is zero or not, we implement a lazy operator, which goes though the image and stops when it finds the first non zero pixel.

The following optimisation concentrates on the computation of the elements of the 9-intersections matrix. We have seen that only 8 among the 2 9 possible matrices are physically plausible. This means that the components of the matrix are redundant. Therefore, a binary decision tree is used where only one component at each step is examined. This tree allows to find the RCC8 relationship by examining at most 4 components of the matrix. The decision tree used is presented in figure 4.

B. Computing from images

This implementation has first been proposed in [START_REF] Inglada | Spatial reasoning and multiscale segmentation for object recognition in HR optical remote sensing images[END_REF]. For each region, we have a binary mask coming from the segmentation step. The exterior of the region is obtained by inverting the mask. The interior of the region is obtained by applying a morphological erosion of size 1 pixel. The boundary is obtained by subtracting the interior to the mask. Once these 3 regions are obtained for each one of the regions of interest, we obtain the intersections by applying a binary addition of those.

Despite of the 2 optimisations presented section V-A.2, the computation of the relationships from images is still very time consuming. Since, as it will be shown later on, the most common relationship between the regions of the image is disconnection, a particular optimisation for this case has been implemented. We exploit the fact that most of the disconnected regions are also far away from each other. That means that their bounding boxes will also be disconnected. The bounding box computation is much faster than the morphological operations, so this way of evaluating the DC relationship, which is the first one in the decision tree, will allow an important acceleration of the evaluation of the relationships.

C. Vector computation

Another way of computing the RCC8 relation from the segmentation is to first vectorize the 2 regions into polygons. Then, we try to decide each of the four conditions in the decision tree. We track down edges configuration characterizing one of the following conditions:

• Interior of A with exterior of B: We need to find one vertex of A which lies strictly out of B, or 2 vertices of A lying strictly inside B, and linked by an edge crossing B an even times. • Interior of B with exterior of A: This is exactly the contrary of the first point.

• Interior of A with Interior of B: We need to find a vertex of A strictly inside B or 2 vertices of A outside B and crossing B an even times. • Edge of A with Edge of B: We need to find 2 tangent edges or a vertex of A on an edge of B, or the opposite. This vectorization step introduces an improvement of precision and complexity. In the end, an average computation time 20 times lower than the image computation algorithm is obtained.

D. Analysis for a set of regions 1) Basics of the computation:

The application of the computation of the relationship between a pair of regions to all the pairs of regions in the image may be very time consuming. In order to reduce the number of computed relationships we will take into account the symmetry properties of the relationships. This allows to reduce by a factor of 2 the number of computed relationships. We also use the fact that the multiscale segmentation gives disconnected regions for a given scale.

2) Optimisation: Using the composition table I further optimisations can be implemented. Indeed, this table allows us to unambiguously infer the relationship in 27 cases out of 64. In 16 other cases, the composition table allows to jump the first level of the binary decision tree of figure 4. In other 7 cases, the composition table allows to decide the third level of the tree.

In order to fully exploit this information, before computing the relationship between a region (a) and a region (c), we will look for an intermediate region (b) for which the relationships which link it to (a) and (c) have already been computed. If such a region exists, 2 cases may appear:

1) The knowledge of the already computed relationships allows to jump the first or the third level of the decision tree: this information is stored an the examination of the intermediate regions found goes on.

2) The knowledge of the already computed relationships allows to unambiguously determine the new relationship: the computation is finished.

If at the end of the examination of the intermediate regions it was impossible to determine the needed relationship, a computation using the optimisations of the previous section is done by using all the information stored during this pre-computation step.

3) Results: First, we segment a Quickbird 60 cm. resolution panchromatic image with the multi-level segmentation technique proposed in section III. the segmentation is performed with 2 different scales, which gives us four layers containing a total of 400 regions. Using the RCC8 computation based on poly-lines presented in V-C, and the group optimisation presented in V-D.2, the overall extraction process took only 50 seconds, including the segmentation step. Compared to the computation based on images presented section V-B, the computation based on poly-lines is 20 times faster in average. The speed gain for a single computation is from 2 times faster to 1500 times faster depending on the regions configuration. This optimisation is significant regarding our previous work [START_REF] Inglada | Spatial reasoning and multiscale segmentation for object recognition in HR optical remote sensing images[END_REF]. The optimisation presented in section V-D.2 implies a gain of about 30%. This optimisation helps to decide about 40% of the relationships, and can solve 11% of the cases without any computation. Table IV shows the statistics of the RCC8 relationships obtained with the Quickbird scene. Of course, these statistics will depend on the segmentation parameters. In particular the number of levels of the analysis will have some effects on the less represented relationships statistics.

VI. GRAPH COMPARISON TECHNIQUES

A. Information representation

Once a method is available for the computation of the RCC8 relationships between the different regions of an image, a data structure is needed for their representation and manipulation. A graph structure is straightforward for our problem, since we have a set of elements -regions -which can be describes by attributes (index of the image, index of the region in the image, region characteristics, etc.) and a set of relationships linking these elements (the RCC8 relationship). We have therefore decided to use a non oriented graph, where the arcs represent a pair of relationships (the direct and the inverse relationships) without representing the DC relationship. This graph structure will allow us to use well known algorithms for graph manipulation and matching. Figures 5 and6 show 2 examples of the RCC-8 graph representation for 2 scenes.

B. Extraction of connected and bi-connected components

As one can see in figures 6, the more complex the scene, the more dense and detailed the RCC8 graph. It is therefore interesting to have a mean of splitting the graph in a set of coherent sub-graphs which correspond to objects in the scene. In order to do that, we will use to different concepts: connected graphs and bi-connected graphs.

Definition 13 (Connected Graph): We call a graph G connected if for any couple of nodes (v, v ′ ) of G, one can find a path from v to v ′ through a set of arcs and intermediate nodes.

Definition 14 (Bi-connected Graph): We call a graph G bi-connected if it is connected and if the removal of a single node makes it become not connected.

We are therefore interested in partitioning a graph in a set of connected graphs of maximum size (i.e. to which one can not add any node without making it loosing its connexion). The same goes for bi-connexion, which is a stronger condition than connection. Indeed, a connected graph can be itself split in a set of bi-connected graphs. The nodes which allow the connection between the bi-connected elements of a graph are called articulation points. Fig. 7 shows the difference between the 2 concepts. Articulation points are shown in red.

Both of this concepts are interesting for our problem. When we are looking for a particular object in an image, obtaining the graph corresponding to this object is difficult, since objects in the neighboring area may be mixed up with it. It is therefore interesting to decompose the obtained graph into connected components in order to isolate the graph of the object of interest. Figure 8 shows an example of application.

In very large scenes, the extraction of connected components may not be enough to isolate the objects of interest. The use of bi-connected components can then be used. Fig. 8 shows an example of use of bi-connected components.

C. Similarity computation algorithm

In section IV-C, a generic similarity measure between graphs has been presented. We have also shown that this similarity measure can be computed by computing the maximum of a similarity measure over the set of the sets of possible matchings between the nodes of 2 graphs. This is a NP-hard problem, that is, one can not check in polynomial time, that a solution is the optimal one. This is due to the size of the solution space, which grows exponentially with the size of the problem. Therefore, any exhaustive search in the solution space has to be discarded. However, using heuristics, algorithms can be proposed to find an acceptable solution to the problem. In our case, we will use the approach proposed by Sorlin [START_REF] Sorlin | Reactive Taboo Search for Measuring Graph Similarity[END_REF]: a first step is performed using a greedy search and the obtained result is improved by a taboo meta-heuristics.

1) Building the search space: In order to implement these 2 algorithms, a representation of the search space under the form of a meta-graph has been built. Each node of this new graph represents the association of a node of graph G with a node of graph G ′ of the same level of segmentation. 2 nodes of the meta-graph are linked with an arc if the region of graph G associated to the first node is linked to the region pf graph G associated to the second node by the same relationship which links the region of graph G ′ associated to the first node to the region of graph G ′ associated to the second node. Also, this relationship has to be different from DC. Finally, labels are given to the nodes and arcs of the meta-graph in order to point which node and which arc is already part of the solution. Using this structure, we can take advantage of the properties of graphs: if one considers a solution of size n, the neighboring solutions of size n + 1 are directly accessible. Indeed, one only needs to take into account the set of meta-nodes linked by an arc to the nodes which already belong to the solution. One can also make sure that a connected graph will be matched with another connected graph. Fig. 9 shows a simple example of search graph: each node of graph 1 is matched to the nodes of graph 2 of same level. These meta-nodes are then linked if the relationships which links the origin and destination nodes of graph 1 and graph 2 are of the same type.

2) Greedy search heuristics: We have seen that the computation of the similarity between 2 graphs is equivalent to maximising eq. 5. Since the denominator of this equation is constant, one can only consider the maximum of the numerator, which we call score function. Furthermore, a potential measure will be used. The potential will account for the output arcs which are not yet matched. It expresses the potential of a match to widen the search in the solution space. The principle of the greedy search is as follows:

level i level i + 1 level i + 2 a b c d EC EC PO PO (a) Graph 1 level i level i + 1 level i + 2 a' b' d' c' EC EC PO PO PO (b) Graph 2 level i level i + 1 level i + 2 a, a' b,a' c,b' c,d' d,c' (c) Search graph
1) Randomly choose a first match among those maximising the potential and add it to the empty solution.

2) While there are matches which can increase the score and the maximum score is not reached: a) Build the list of candidate matches which increase the score the most. b) Among those, build the list of candidate matches maximising the potential. c) Among those, randomly choose a match and add it to the solution. d) Go to step 2a.

This heuristic has 2 particularities. First of all, it is not deterministic, since, in the case of equality between matches, the choice is random. This allows to run the algorithm several times and keep the best solution. Second, it is a gradient descent algorithm, since in each step, the steepest slope of the score function is chosen. This is why this algorithm can converge to a local minimum. Nevertheless, this is a good way to get a first guess of the solution for large, complex problems.

3) Taboo meta-heuristics: The taboo approach can be considered as a meta-heuristics, since it does not define criteria to guide the search, but rather uses existing criteria to get out of local maxima. We will use the same criteria as before (score and potential). The name of the method has its origin on the use of a list called taboo which contains the n last steps of the optimisation. It is therefore an algorithm with memory. The implemented method has the following steps:

1) Find an approximate solution using the greedy search based on the score and potential functions, 2) While the maximum number of iterations is not reached: a) Build the list of possible moves (add or remove a match) from the current solution and compute the score evolution, which may be negative. b) Among those, build the list of the moves which less decrease the score (or which increase it the most). c) Among those, remove the moves which are in the taboo list. d) Randomly choose a move among the candidates. e) Update the solution and its score. f) Add the move to the front of the taboo list and remove the last element pf the list is the size of the list is greater than the maximum size. g) Go to step 2a.

The principle of the taboo search is to move in the solution space and forbid to go back to in order to avoid getting stuck on a local optimum.

VII. CASE STUDIES

A. Initial setup

The problem we want to deal with is the following: given a complex scene extracted from a high resolution remote sensing image, and a sub-graph representing an object of interest, we want to locate the graph of the object in the graph of the whole scene. We can also analyse other occurrences of the graph in the scene and study the objects they represent.

1) Similarity measure and sub-graph isomorphism: The problem of the research of a graph inside another larger graph is called sub-graph isomorphism. The algorithm used for the measure of the similarity can be used for this problem by restricting the score function to the enumeration to the matched attributes of the research graph. Hence, the obtained similarity is equal to 1 if an isomorphic graph has been found.

The first step consists in extracting the connected components of the searched object in order to have a better coherence. It is important to note that the values for the similarity obtained are very much dependent on the quality of the first match obtained. Furthermore, it has been found that the taboo search can not be used since it produces disconnections in the search graph when some nodes are remove. Moreover in our case it does not improve significantly the metric accuracy regarding to its computational cost. Therefore, only the greedy search is applied in this case, but several initialisations are used in order to maximise the chances of finding the correct match: instead of using the match which maximises the potential as a starting point, a greedy search is performed from several matches candidates and the one giving the highest similarity is kept. Also, since there is more incorrect starting matches between regions of high level (small regions) than between low level regions, the latter are used for the starting matches.

The object detection algorithm has the following steps: ) Greedy search starting from each candidate match: if the similarity obtained is higher than a given threshold, the match is kept. 2) Results: The result images presented here are produced as follows: after the obtaining of the matched subgraphs, the smaller rectangle containing all the regions of the sub-graph is computed and drawn with a color representing the value obtained for the similarity.

The first experiment consists in finding an occurrence of an object, a plane in this case (fig. 10), in a complex scene. Fig. 11 shows the result of the detection algorithm. The segmentation is performed using six scales with structuring element radius between 2 and 12 (step of 2). One can observe that the good plane is found with a similarity value of 0.8. In real applications as this one, the similarity value can not be equal to 1, because the geodesic morphology segmentaiton method is sensitive to border effects. Therefore, the regions in the graph may not be identical.

If instead of keeping only the highest similarity values, all values above a threshold are kept, one can try to generalize to a class of objects. This type of application is shown in fig. 11 where we try to detect planes in an airport scene.

With this algorithm, we are able to find the search object with similarity values higher than 0.8. Similar objects are found with lower, but significant similarity values. One issue must be highlighted. First of all, if the search object is large and complex, the detection will be robust (high similarity values), but the generalisation to objects of the same class will be difficult. On the other hand, if the object is small and simple, its detection will be harder and more false alarms will appear, but the generalisation to similar objects will be easier. Therefore, the classical trade-off between detection and false alarm must be taken into account.

The next section presents a way of increasing the robustness of the detection by taking profit of the genericity of the similarity measure used.

B. Using region characterisations 1) Principle:

The improvement proposed in this section is motivated by the following fact: when using the algorithm presented in section VII-A, low-level regions initially matched may have completely different shapes which may lead to high values of similarity in terms of graph isomorphism. To attenuate this effect, we propose to integrate shape descriptors weight into the graph similarity measure. Among the different shape descriptors available in the litterature, the geometric complex moments are particularly useful for scale and rotation invariance.

Definition 15: Complex geometric moments The complex geometric moments are defined as:

c pq = +∞ -∞ +∞ -∞ (x + iy) p (x -iy) q f (x, y)dxdy, (6)
where x and y are the coordinates of the image f (x, y), i is the imaginary unit and p + q is the order of c pq . H. Ming-Kuel obtained a family of 7 invariants with respect to planar transformations called Hu invariants, [START_REF] Hu | Visual Pattern Recognition by moment invariants[END_REF]. Those invariants can be seen as nonlinear combinations of the complex moments. Hu invariants have been very much used in object recognition during the last 30 years, since they are invariant to rotation, scaling and translation.

                  φ 1 = c 11 φ 2 = c 20 c 02 φ 3 = c 30 c 03 φ 4 = c 21 c 12 φ 5 = Re(c 30 c 3 12 ) φ 6 = Re(c 21 c 2 12 ) φ 7 = Im(c 30 c 3 12 ) (7)
The Hu invariants have been modified and improved by several authors. Flusser used these moments in order to produce a new family of descriptors of order higher than 3 [START_REF] Flusser | On the independence of rotation moment invariants[END_REF]. These descriptors are invariant to scale and rotation.

Definition 17 (Flusser moments):

                                   ψ 1 = c 11 = φ 1 ψ 2 = c 21 c 12 = φ 4 ψ 3 = Re(c 20 c 2 12 ) = φ 6 ψ 4 = Im(c 20 c 2
We chose to integrate Flusser moments in our metric because of their proved efficiency in pattern matching problems [START_REF] Inglada | Automatic recognition of man-made objects in high resolution optical remote sensing images by svm classification of geometric image features[END_REF], [START_REF] Tison | Target recognition in SAR images with Support Vector Machine (SVM)[END_REF]. However, the method proposed in the following section VII-B.2 for the integration of the moments in the metric is generic and can be applied to any other descriptor set.

2) Refining the metric: In order to take into account a set of descriptors in the metric, we propose the following f function for the metric presented in section IV:

Definition 18: Structural-local based metric f (descr(G) ⊓ m descr(G ′ )) = α (v,v ′ )∈Vm θ(v, v ′ ) + (1 -α) (e,e ′ )∈Em ρ(e, e ′ ) (9)
f (descr(G) ∪ descr(G ′ )) = α v∈VG∪V ′ G θ(v, v) + (1 -α) e∈EG∪E G ′ ρ(e, e) (10)
Where:

• V m denotes the vertices matching in m,

• E m denotes the edge matching in m,

• V G denotes the set of vertices of graph G,

• E G denotes the set of edges of graph G,

• θ(v, v ′ ) is a V × V ′ → [0, 1] function giving values close to one when v is close to v ′ and decrease to zero when v differs from v ′ , • ρ(v, v ′ ) is a (V × V ) × (V ′ × V ′ ) → [0, 1]
function giving values close to one when e is close to e ′ , and decrease to zero when e differs from e ′ , • α is a value in the range [0, 1] denoting the trade-off between the structural and local parts of the metric. With such a definition, and if splits are not allowed, the similitude metric sim m of a match m becomes :

sim m (G, G ′ ) = f (descr(G) ⊓ m descr(G ′ )) f (descr(G) ∪ descr(G ′ )) (11)
Please note that if we choose α = 0.5, and the θ and ρ to be constant, we come back to the graph isomorphism metric presented in section IV. But if we choose more complex θ and ρ functions, we will be able to penalize matches between vertices representing regions with different shapes (meaning different descriptors values), or different edge descriptors.

3) Results: To integrate the Flusser moments into the metrics as descriptors to discriminate our vertices, we propose the following θ function based on the mean reciprocal square differences metric, passing differences through a bell-shaped function 1 1+x 2 . This metric has been studied by Penney and Holden [35][36]. It produces very sharp peak. The optimal value is n, where n is the size of the descriptors vector, and poor matches result in small values. Where λ is a capture radius.

We chose to use the logarithm of the four first Flusser moments as our descriptor set for a vertex, and a capture radius λ 2 = 10 -3 which has been chosen empirically. Our θ function is as follows:

′ i |)) 2 λ 2 , ( 13
)
where Φ i (resp. Φ ′ i ) are the Flusser moments of the region associated to vertex v (resp. v ′ ). In our experiment we chose to keep a simple constant ρ function. But one may derive a different function, for example based on the number of transitions in the RCC8 transition graph 1 to pass from relation of edge e to relation of edge e ′ . Figure 12 shows the same detection problem on the same scene with the same parameters, performed with the standard graph metric, and with the Flusser moments based one. We can see that the false alarms of the standard metric do not appear with the Flusser moments based one.

Finally, fig. 13 shows another example where the spatial relationship between an object and its shadow is used for the detection. The segmentation is performed using 3 scales with structuring element radius between 2 and 17 (step of 5).

VIII. CONCLUSION

In this paper we have presented the use spatial reasoning techniques in order to describe complex objects. We have chosen to use the well known Region Connection Calculus, RCC-8 in order to build a graph-based description of the relationships between the regions of an image. This approach enables the implementation of object recognition algorithms using graph matching techniques.

The graph comparison metric used here is generic, so it can deal with graph structural information as well as region description features. The use of region shape descriptors shows the interest of introducing this kind of information in the graph matching approach in order to produce more robust detections. This kind of approach allows to easily combine the low-level information yield by the regions obtained after the segmentation and the high level information contained in the structure of the RCC graph. The input to the algorithm is the result of a multi-scale segmentation based on morphological profiles. Experiments show that the performances of the object detection are strongly dependent on the quality of the segmentation.

The algorithm presented here has a computation complexity which is compatible with real applications. However, in order to generalise the use of this kind of technique, the combination of the spatial rasoning scene description should be coupled with supervised learning algorithms in order to make the system able to recognize different classes of objects.

Fig. 1 .

 1 Fig. 1. Transitions between RCC8 relationships

Fig. 2 .

 2 Fig. 2. Quickbird image at 60 centimeters resolution

Fig. 3 .

 3 Fig. 3. Application of the multi-scale geodesic segmentation algorithm to image 2

Fig. 5 .Fig. 6 .Fig. 7 .Fig. 8 .

 5678 Fig. 5. 3 levels graph of the airport scene

Fig. 9 .

 9 Fig. 9. Example of how to build a search space

Fig. 10 .

 10 Fig. 10. Image of a plane used for the search algorithm

(a) 6 3 Fig. 11 .

 6311 Fig. 11. Detection of a plane in a complex scene

12 ) ψ 5 = 12 ) = φ 7 ψ 7 = c 22 ψ 8 =

 125128 Re(c 30 c 3 12 ) = φ 5 ψ 6 = Im(c 30 c 3 Re(c 31 c 2 12 ) ψ 9 = Im(c 31 c 12 2) ψ 10 = Re(c 40 c 4 12 ) ψ 11 = Im(c 40 c 2 12 )

3 Fig. 12 .

 312 Fig. 12. Difference between the standard and the Flusser moments based metric

Definition 20 : 4 i=1 1 1+

 2041 Flusser moment-based θ function θ(v, v ′ ) = 1 4 (log(|Φi|)-log(|Φ

  Fig. 13. Detection of a building and its shadow

  Larges graph being isomorphic to partial sub-graphs of G and G ′

	Name		Function f		Function g	Description
	Graph isomorphism	cardinal		cardinal	All elements of graph G are found on graph G ′ and vice-versa
	Partial	sub-graph	cardinal		cardinal	All the elements of graph G are found on graph G ′
	isomorphism		restricted	to
			G
	Largest common partial sub-	cardinal		g(S) = +∞ if
	graph				S = ∅
	Editing distance		cost of the ele-	g(S) = +∞ if	Minimum cost of transforming G into G ′
			mentary editing	S = ∅
			operations

TABLE II SEVERAL

 II SIMILARITY MEASURES OBTAINED FROM THE GENERIC MEASUREwhere f and g are 2 application dependent functions. Definition 12 (Similarity between 2 graphs): The similarity between 2 graphs G and G ′ is defined by:

Meros, Greek for part

For more details on morphological operators, geodesic distance and leveling, please refer to the original paper[START_REF] Pesaresi | A new approach for the morphological segmentation of high-resolution satellite imagery[END_REF].