Tải bản đầy đủ (.pdf) (52 trang)

Indexation et recherche d’image par le contenu et par la localisation géographique

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.52 MB, 52 trang )

INSTITUT DE LA FRANCOPHONIE POUR L’INFORMATIQUE
LABORATOIRE INFORMATIQUE, IMAGE ET INTERACTION
UNIVERSITE DE LA ROCHELLE

MEMOIRE DE FIN D’ETUDE
Master d’informatique
Option Intelligence artificielle & multimédia

Sujet : Indexation et recherche d’image par le
contenu et par la localisation géographique

Encadrement : Jean-Marc OGIER
Alain BOUCHER
NGUYEN Nhu Van
Réalisé par : LAI Hien Phuong
Promotion 13, IFI

Hanoï, Septembre 2009


TABLE DES MATIERES
REMERCIEMENTS....................................................................................................................................................3
RESUME.......................................................................................................................................................................4
ABSTRACT ..................................................................................................................................................................5
LISTE DES FIGURES.................................................................................................................................................6
LISTE DES TABLEAUX ............................................................................................................................................7
CHAPITRE 1 – INTRODUCTION ............................................................................................................................8
1.1. PROBLEMATIQUE .................................................................................................................................................8
1.2. MOTIVATION .......................................................................................................................................................9
1.3. OBJECTIFS .........................................................................................................................................................10
1.4. CONTRIBUTION ..................................................................................................................................................10


1.5. ENVIRONNEMENT DE STAGE ..............................................................................................................................11
CHAPITRE 2 – ETAT DE L’ART ...........................................................................................................................12
2.1. INDEXATION MULTIDIMENSIONNELLE................................................................................................................12
2.1.1 Partitionnement des données .....................................................................................................................12
2.1.2 Partitionnement de l’espace.......................................................................................................................17
2.2. TRAVAUX SIMILAIRES ........................................................................................................................................19
2.2.1 SnapToTell [11][12][13][14]....................................................................................................................19
2.2.2 MobiLog [15]............................................................................................................................................22
CHAPITRE 3 – SR-TREE.........................................................................................................................................24
3.1. PRESENTATION DU SR-TREE ..............................................................................................................................24
3.2. INSERTION DANS LE SR-TREE ............................................................................................................................26
3.3. SUPPRESSION DANS LE SR-TREE ........................................................................................................................29
3.4. RECHERCHE DANS LE SR-TREE ..........................................................................................................................29
CHAPITRE 4 – SYSTEME DE RECHERCHE D’INFORMATIONS BASE SUR UNE DOUBLE
INFORMATION DE CONTENU DES IMAGES ET DE LOCALISATION GEOGRAPHIQUE ....................31
4.1. HYPOTHESES .....................................................................................................................................................31
4.2. APPROCHE PROPOSEE ........................................................................................................................................32
4.2.1 Structuration des données .........................................................................................................................32
4.2.2 Manipulation dans les SR-tree ..................................................................................................................36
4.3. IMPLEMENTATION DU SYSTEME .........................................................................................................................40
4.3.1 Préparation des données...........................................................................................................................40
4.3.2 Environnement de programmation ...........................................................................................................41
4.3.3 Système construit ......................................................................................................................................41
CHAPITRE 5 – ANALYSE DES RESULTATS......................................................................................................43
5.1. SCENARIO 1 : ATTRIBUTION DES NIVEAUX D’URGENCE......................................................................................43
5.2. SCENARIO 2 : DETERMINATION DES MONUMENTS PROCHES DU SINISTRE ...........................................................45
5.3. SCENARIO 3 : DETERMINATION DES SINISTRES PROCHES D’UN MONUMENT .......................................................46
5.4. SCENARIO 4 : DETERMINATION DES SINISTRES PROCHES D’UN SINISTRE ............................................................47
5.5. SCENARIO 5 : DETERMINATION DES SINISTRES SIMILAIRES A UN AUTRE SINISTRE..............................................48
CHAPITRE 6 – CONCLUSIONS ET PERSPECTIVES........................................................................................49

REFERENCES ...........................................................................................................................................................51

2


REMERCIEMENTS
Je tiens à remercier tout particulièrement M. Jean-Marc OGIER, mon superviseur
de stage au laboratoire L3I de l’université de La Rochelle, et M. Alain BOUCHER, mon
co-superviseur de stage à l’IFI. Ils ont su orienter mon travail dans les bonnes directions
tout en me laissant une large autonomie. Je les remercie également pour leur gros travail
pour corriger ce rapport de stage.
Mes remerciements s’adressent également à M. NGUYEN Nhu Van qui m’a aidé
dans la configuration l’environnement de programmation. Mon travail bénéficie aussi son
travail de thèse de la recherche d’image par le contenu.
Je remercie aussi M. CHU Thanh Quang, un thésard du laboratoire MSI. Ce travail
est en grande partie dû à ses conseils sur les Systèmes d’Information Géographique (SIG).
Je tiens à remercier également tous les membres du laboratoire L3I qui m’ont
accueilli et ont créé un environnement idéal dans lequel j’ai travaillé pendant six mois de
stage.
Je voudrais aussi adresser mes remerciements à tous les professeurs de l’IFI qui
m’ont donné des connaissances et des expériences efficaces pendant ma scolarité à l’IFI.
Merci également à tous ceux que j’oublie mais qui d’une manière ou d’autre
manière m’ont permis de bien terminer mon stage.

3


RESUME
Ce mémoire présente l’intérêt de combiner les informations du contenu visuel des
images/vidéos et de localisation géographique dans la construction d’un système d’aide à

la décision dans une situation de post-catastrophe naturelle. Grâce à la performance pour
des requêtes de plus proches voisins dans l’espace des données multidimensionnelles et
pour la structuration des données géographiques, la structure SR-tree [2] est choisie pour
structurer des images en même temps dans l’espace de localisation géographique et dans
l’espace du contenu visuel. L’approche proposée utilise aussi la structure SR-tree pour
structurer des monuments différents dans la ville qui sont enregistrés dans les données des
Système d’Information Géographique (SIG) sous forme des polygones. Le système
construit a bien répondu l’objectif de retrouver des situations d’urgence dans la ville et de
leur attribuer un niveau d’urgence en fonction non seulement la proximité géographique
d’événements similaires mais aussi en fonction des monuments différents qui sont au tour
du sinistre. Il fournit au l’utilisateur une vue globale sur la concentration des situations
d’urgence dans la ville ainsi que leur niveau d’urgence. En répondant des scénarios de test
différentes pour le projet de recherche IDEA (Images of natural Disasters from robot
Exploration in urban Area) [1], ce système apporte une grande perspective de devenir un
outil efficace pour aider l’opérateur humain à donner rapidement des bonnes décisions de
secours dans des situations de post-catastrophe naturelle.

4


ABSTRACT
This memoir presents the advantage of combining visual content information of
images/videos and geographical location information in the construction of a decision
support system in a situation of post-natural disaster. With the performance for nearest
neighbor queries in the area of multidimensional data and for spatial data structuring, the
SR-tree structure [2] is chosen for structuring the images simultaneously in location space
and visual content space. The proposed approach also uses the SR-tree structure to
organize various monuments in the city that are registered in the data of Geographic
Information System (GIS) in the form of polygons. The proposed system responds well to
the objective of finding emergencies in the city and of giving them an urgency level

depending not only on the geographical proximity of similar events but also on the
monuments which are around the position of emergency situation. It provides an
overview on the concentration of emergencies in the city and their urgency level. In
responding to different test scenarios for the IDEA (Images of natural Disasters from
robot Exploration in Urban Area) research project [1], this system has a great perspective
to become an effective tool that helps the human operator providing rapidly the rescue
decisions in emergency situations of post-natural disaster.

5


LISTE DES FIGURES
Figure 1 - B-tree ............................................................................................................................ 13
Figure 2 - R-tree ............................................................................................................................ 14
Figure 3 - SS-tree........................................................................................................................... 16
Figure 4 - SR-tree .......................................................................................................................... 17
Figure 5 - Kd-tree .......................................................................................................................... 18
Figure 6 - LSD-tree........................................................................................................................ 19
Figure 7 - Architecture client/serveur du système SnapToTell ..................................................... 20
Figure 8 - Localisation hiérarchique des scènes de Singapour...................................................... 21
Figure 9 - Screen shots de la composition de blog sur un téléphone portable .............................. 22
Figure 10 - Exemple de blog du système TraveLog...................................................................... 23
Figure 11 - Structure SR-tree......................................................................................................... 25
Figure 12 - Détermination des régions par l'intersection des rectangles et des sphères................ 25
Figure 13 - Structuration des données par des SR-tree ................................................................. 35
Figure 14 - Interface du système ................................................................................................... 41
Figure 15 - Symboles des sinistres ................................................................................................ 42
Figure 16 - Symboles des monuments........................................................................................... 42
Figure 17 - Groupes des situations d’urgence dans la ville........................................................... 44
Figure 18 - Groupes des feux dans la ville .................................................................................... 44

Figure 19 - Résultat des sinistres d'un groupe ............................................................................... 45
Figure 20 - Résultat des monuments proches d'un feu .................................................................. 46
Figure 21 - Résultat des sinistres proches d'un bâtiment............................................................... 47
Figure 22 - Résultat des sinistres proches d'un sinistre ................................................................. 47
Figure 23 - Résultat des sinistres les plus similaires avec un sinistre quelconque........................ 48

6


LISTE DES TABLEAUX
Table 1 - Niveaux d'urgence correspondant à chaque type de monument .................................... 38
Table 2 - Base d'images des sinistres ............................................................................................ 40

7


Chapitre 1 – Introduction
1.1. Problématique
Aujourd’hui, les catastrophes naturelles apparaissent avec une fréquence de plus en
plus élevée à cause du changement du climat global. Plusieurs projets de recherche sont
réalisés afin de développer les outils d’aide à la décision dans des situations de postcatastrophe naturelle en zone urbaine et de fournir des informations précises en temps réel
au centre de gestion et aux équipes de secours. Les images collectées partout dans une
ville décrivant les sinistres différents sont une source d’information sur laquelle on peut
se baser pour donner des décisions de secours efficaces. A partir de quelques images,
l’opérateur humain peut facilement donner des décisions efficaces et exactes. Mais avec
un très grand nombre d’images (c’est le cas des situations urgences), il nous faut avoir un
système qui traite automatiquement ces images pour aider l’opérateur humain à donner
rapidement des décisions de secours.
Alors, le contexte de ce sujet de stage est le projet IDEA (Images of natural
Disasters from robot Exploration in urban Area) [1] financé par le programme STC-Asie

(MAE/CNRS/INRIA) et avec comme partenaire le LORIA-QGAR (Nancy, France),
l’université de La Rochelle (France), l’IFI (Hanoi, Vietnam), le VAST-IOIT (Hanoi,
Vietnam) et l’université de Kuala Lumpur (Malaisie). Afin de résoudre le problème
abordé ci-dessus, dans ce projet, on utilise les techniques de vision par ordinateur, de
reconnaissance des formes et de recherche d’informations multimédias sur les images
collectées pour aider à donner des décisions de secours. Ce stage bénéficie aussi le travail
de thèse de NGUYEN Nhu Van, en co-direction entre l’université de La Rochelle, l’IFI et
le LORIA-QGAR.
L’entrée d’un système de traitement automatique des images d’aide à la décision
dans une situation de post-catastrophe naturelle doit être les images décrivant les sinistres
contenant en même temps les informations de localisation géographique qui nous permet
de déterminer la localisation de chaque sinistre. Supposons qu’il y a un réseau de caméras
implantées partout dans une ville (caméras de surveillance routière, caméras installées sur
des édifices, caméras mobiles des robots, des avions, etc) ; ces caméras sont toujours
actives après une catastrophe naturelle, elles prennent automatiquement des photos et les
envoient vers une centrale collectant des informations nécessaires aux secours. On peut
aussi collecter les images, les vidéos provenant des téléphones portables des gens sur
place. L’information géographique de ces images peut être de type GPS ou autre (adresses
civiques par exemple). Il y a aussi les images qui n’auront pas cette localisation ou qui
8


pourront avoir une marge d’erreur sur la localisation précise. Mais en effet, il n’y a pas
encore une base d’images pour le projet IDEA, donc, une des tâches pour ce stage est de
construire au fur et à mesure une base d’images des types de sinistres différents pour
tester et trouver une façon pour simuler les informations de localisation géographique des
images. Pour les types de l’information géographique différents, il nous faut les traiter de
façons différentes. Par exemple, pour les images ayant une adresse civique, il nous faut
tout d’abord transformer cette adresse en information de type GPS (latitude et longitude)
pour savoir ou se trouve le sinistre sur le plan de la ville ; pour les images qui n’ont pas

les informations géographiques, on peut essayer de trouver s’il y a dans le contenu de
l’image les informations indiquant la position de l’image (le nom de la rue, un monument
célèbre, etc). Pour pouvoir traiter tous les cas différents, c’est un grand travail. Donc, dans
le cadre de ce stage, on suppose que toutes les images ont les informations de localisation
géographique de type GPS (latitude et longitude).
Ce stage a pour but de développer un modèle de recherche d’informations basé sur
une double information de contenu et de localisation géographique des images, de
retrouver les situations d’urgence dans une ville (feu, blessés, bâtiments endommagés,…)
et d’attribuer un niveau d’urgence pour chaque situation en fonction de la proximité
géographique d’événements similaires. En fait, on a deux espaces différents, l’un pour la
représentation du contenu de l’image et l’autre pour la localisation géographique. En
effet, il y a pas mal de travaux concernant la recherche d’images par le contenu, dont le
travail de thèse de NGUYEN Nhu Van. Alors, dans ce stage, on peut bénéficier de la
façon de décrire le contenu de l’image de son travail. Le problème ici est comment on
peut organiser les informations du contenu de l’image et les informations de localisation
géographique dans deux espaces pour pouvoir trouver les situations d’urgences et pour
leur attribuer un niveau d’urgence. A l’égard de l’attribution d’un niveau d’urgence ici, on
ne compte pas la nature de chaque sinistre représenté dans les images (par exemple, un
grand feu ou un petit feu) car c’est aussi un grand problème. On compte ici la proximité
géographique d’événements similaires, la proximité des sinistres avec des types de
monuments différents (hôpital, maison, grand bâtiment, etc.). L’aspect interactif du
système (retour de pertinence) n’est pas traité dans le cadre de ce stage, l’utilisateur
pourra seulement réaliser quelques actions simples avec le système comme demander à
trouver les sinistres qui sont similaires avec un sinistre dans une image quelconque,
trouver les sinistres qui sont proches d’un hôpital, etc.

1.2. Motivation
On peut constater que le climat global change de jour en jour, cela provoque
l’augmentation des catastrophes naturelles complexes dans tout le monde, elles causent
9



beaucoup de dégâts sérieux pour l’humain. Des coordinations efficaces des équipes de
secours peuvent diminuer considérablement les dégâts surtout les morts. C’est pour cette
raison qu’il est nécessaire d’avoir un bon système d’aide à la décision dans une situation
de post-catastrophe naturelle.
D’ailleurs, il y a actuellement plusieurs travaux sur la recherche d’images par le
contenu mais pas beaucoup de travaux sur la recherche d’image se basant en même temps
sur les informations du contenu de l’image et sur les informations de localisation
géographique. Les travaux existants sont appliqués surtout dans les applications de
tourisme, le cas de l’aide à la décision pour les secours comme dans le projet IDEA reste
une application nouvelle.

1.3. Objectifs






Les objectifs de ce travail de stage sont :
Construire une base d’images de sinistres différents
Simuler les informations géographiques pour ces images.
Déterminer une façon pour organiser les informations des images dans deux
espaces de contenu visuel et de l’information géographique pour pouvoir
manipuler ensemble ces deux espaces afin de trouver les situations d’urgences et
d’attribuer un niveau d’urgence pour chaque image.
Proposer une façon pour déterminer un niveau d’urgence pour chaque sinistre en se
basant sur la proximité des situations similaires et sur l’importance des monuments
autour de chaque sinistre.


Pour vérifier et valider le modèle, il faut donner des scénarios différents pour
IDEA qui identifient et décrivent des situations où on peut montrer un intérêt de
rechercher des images en combinant localisation et contenu image et faire des tests basés
sur ces scénarios.

1.4. Contribution
En combinant les images de feux provenant du TPE de l’étudiant BUI The Quang
de la promotion 14 de l’IFI avec les images trouvées sur l’internet sous licence « Créative
Commons », j’ai déjà construit une base d’images de cinq types de sinistres différents
(feux, bâtiments endommagés, routes endommagées, blessés et inondations) pour IDEA,
chaque type contient de 300 à 350 images. J’ai aussi simulé les informations de
localisation géographique pour ces images en attribuant pour chaque image des
coordonnées de latitude et de longitude, les coordonnées pouvant être attribuées soit au
hasard, soit selon les groupes de proximité.
10


Dans le cadre de ce stage, on a implémenté avec succès la structuration par
partitionnement des données SR-Tree [2] pour organiser les descriptions du contenu
visuel des images et les descripteurs externes d’informations géographiques des images
pour faciliter et accélérer la recherche des images similaires dans l’espace du contenu et le
calcul de la proximité entre des situations dans l’espace de localisation géographique en
évitant des comparaisons exhaustives avec tous les éléments de la base. D’ailleurs, dans la
phase d’attribution d’un niveau d’urgence pour chaque image de sinistre, on considère
non seulement la proximité des situations similaires mais aussi les descriptions
symboliques des monuments à proximité des sinistres (hôpital, maison, bâtiment, école)
qui sont utilisées souvent dans les systèmes d’informations géographiques (SIG).

1.5. Environnement de stage

Ce stage est réalisé au Laboratoire Informatique, Image et Interaction (L3I) de
l’Université de La Rochelle, France dans le contexte du projet de recherche IDEA
(Images of natural Disasters from robot Exploration in urban Area) [1] financé par le
programme STC-Asie (MAE/CNRS/INRIA). L’IFI et l’université de La Rochelle sont
deux partenaires du projet. Avec l’objectif de développer un système d’aide à la décision
utilisant le traitement d’images et la vision par ordinateur dans des situations de postcatastrophe naturelle, ce projet se concentre à quatre thèmes principaux : localisation dans
une ville à partir des indices des images ; détermination de l’état de dommage des
bâtiments et des infrastructures ; détection de l’état des victimes humaines et aide à la
décision basée sur les images. Le travail de ce stage appartient surtout au dernier thème.

11


Chapitre 2 – Etat de l’art
Comme nous avons vu dans le chapitre 1, le but de ce stage est de développer un
modèle de recherche d’informations basé sur une double information de contenu visuel de
l’image et de localisation géographique pour retrouver des situations d’urgence dans une
ville (feux, blessés, bâtiments endommagés, etc.) et puis d’attribuer un niveau d’urgence
en fonction de la proximité géographique d’événements similaires. Alors, chaque image a
deux descripteurs différents, l’un représentant le contenu visuel de l’image (descripteur
interne) et l’autre représentant l’information de localisation géographique. A l’égard de la
représentation du contenu visuel de l’image, on bénéficie du travail de thèse de NGUYEN
Nhu Van qui représente le contenu visuel de chaque image par un vecteur de
caractéristiques. Et à l’égard de la localisation géographique, chaque image est
représentée par les coordonnées de latitude et de longitude. Il est question maintenant de
manipuler ces deux espaces pour soit retrouver des événements similaires visuellement,
soit trouver des événements qui sont proches géographiquement pour réaliser les objectifs
de ce stage. Pour que le système soit exploitable, le temps de réponse doit être acceptable.
Donc, il est nécessaire d’organiser des données dans les deux espaces pour pouvoir
réduire le temps de réponse en réduisant le nombre de calculs de distance à effectuer.

Dans ce stage, on s’intéresse sur les techniques d’indexation multidimensionnelle qui vont
être présentées dans la première partie de ce chapitre. Dans la deuxième partie, on va voir
comment on combine les informations du contenu de l’image et de localisation
géographique dans quelques applications actuelles.

2.1. Indexation multidimensionnelle
Les techniques principales d’indexations multidimensionnelles visent à regrouper
les descripteurs de base et à les englober dans des cellules faciles à manipuler (hiérarchie)
[3]. Cela nous permet d’éviter de considérer tous les descripteurs dans la base lors d’une
recherche en considérant seulement les groupes ou les paquets les plus pertinents et enfin,
on travaille seulement avec les descripteurs dans les paquets sélectionnés.
Il y a deux grandes catégories de techniques de création de cellules :
partitionnement des données et partitionnement de l’espace.
2.1.1 Partitionnement des données
Les techniques de partitionnement de données créent des cellules en se basant sur
la distribution des descripteurs et leur proximité relative dans l’espace. Dans cette
catégorie, on trouve des techniques comme B-tree, la famille R-tree[5][6][7], SS-tree[8],
SR-tree[2], X-tree [4], etc.
12


a. B-tree : Balanced-tree (Bayer et McCreight, 1972) [3]
C’est un arbre balancé qui nous permet de structurer des données selon l’une des
dimensions. Un nœud qui n’est pas la racine d’un arbre B-tree d’ordre m contient entre
m/2 et m nœuds fils. Toutes les feuilles sont au même niveau et contiennent l’information.
Un nœud quelconque qui a k nœuds fils a k-1 éléments en ordre croissant qui sont les
valeurs de séparation divisant les valeurs de l’axe choisi des nœuds fils.

Figure 1 - B-tree


Pour la recherche, on part de la racine. Cette structure nous permet de vérifier s’il
existe ou non un élément dans la base, mais elle ne convient pas pour trouver les éléments
qui sont proches d’une entrée quelconque parce que chaque nœud interne contient
seulement les valeurs de séparation selon un seul axe.
b. La famille R-tree : Rectangle-tree [3][5][6][7]
Dans la famille R-tree, on trouve trois structures R-tree [5], R+-tree[6] et R*tree[7]. L’idée de base de cette approche est l’indexation des objets spatiaux par des
rectangles englobants minimums. Dans le contexte de l’indexation multidimensionnelle,
on utilise des rectangles englobants multidimensionnels (hyper-rectangle). Le principe de
cette famille est l’hiérarchie d’hyper-rectangles englobants et non-disjoints correspondant
à la distribution des données par un arbre équilibré, les données étant au niveau des
feuilles [3].

13


Figure 2 - R-tree








Un arbre R-tree a les propriétés suivantes [5] :
Au niveau des feuilles, le rectangle englobant est le rectangle minimum recouvrant
les vecteurs de données appartenant à ce nœud. Chaque nœud feuille contient au
maximum M et au minimum m≤M/2 éléments de données.
Tous les nœuds, sauf la racine, qui ne sont pas des feuilles ont entre m et M nœuds
fils ; le rectangle englobant de ces nœuds est le rectangle minimum qui englobe les

rectangles englobants des nœuds fils.
Le nœud racine a au moins deux fils sauf quand il est une feuille. Le rectangle
englobant du nœud racine recouvre tous les vecteurs de données de la base.
Toutes les feuilles sont au même niveau.

Un rectangle englobant est déterminé par deux points S(s1,s2,…,sn) et T(t1,t2,…,tn) ;
pour chaque élément X(x1,x2,…,xn) appartenant à ce rectangle, on a :
s i ≤ x i ≤ ti
avec ∀i ∈ [1,n]
Pour rechercher toutes les données appartenant à un rectangle Q quelconque, on
réalise la recherche à partir du nœud racine, en descendant aux nœuds fils qui ont le
rectangle englobant intersectant le rectangle et ainsi de suite jusqu’à ce qu’on rencontre
les nœuds feuilles. Au niveau des nœuds feuilles, on retourne toutes les données
appartenant au rectangle Q.
La création d’un arbre R-tree est réalisée en ajoutant au fur et à mesure des
vecteurs dans l’arbre. L’algorithme exact pour l’insertion d’un nouvel élément (vecteur)
dans l’arbre est dans [5] ; l’idée principale est de partir du nœud racine, puis de descendre
14


pour trouver la feuille où ajouter le nouvel élément. A chaque nœud, on choisit le nœud
fils avec le rectangle englobant le plus petit. Lorsqu’on trouve une feuille pour ajouter
l’élément, s’il est plein, on doit le diviser en deux feuilles différentes en minimisant la
surface totale des deux nouveaux rectangles englobants (division exhaustive, coût
quadratique ou linéaire [5]). Le rectangle englobant de chaque nœud est créé et mis à jour
au cours de l’insertion des éléments dans l’arbre pour qu’il soit le rectangle le plus petit
possible qui recouvre tous les éléments dans le sous-arbre de ce noeud.
La structure R-tree est dédiée à la recherche par intervalles, elle convient pour
l’indexation des données spatiales. Lors de la recherche, on peut gagner du temps car on
ne doit pas considérer tous les éléments dans la base, on considère seulement les nœuds

fils ayant le rectangle englobant qui intersecte l’intervalle entré. Mais la possibilité
d’intersection entre les rectangles augmente quand le nombre de dimensions est grand.
Dans ce cas, le parcours séquentiel peut être plus efficace.
Les structures R+-tree [6] et R*-tree [7] sont données pour optimiser la recherche
en minimisant le chevauchement des rectangles englobants. La structure R+-tree évite le
recouvrement entres les rectangles en divisant chaque rectangle qui recouvre un autre
rectangle en plus petits rectangles jusqu’à ce qu’il n’y a plus de recouvrement. Cela peut
faire augmenter la hauteur de l’arbre mais on peut gagner du temps en réduisant le
nombre de sous-arbres à visiter. La structure R*-tree minimise le recouvrement entre les
rectangles et minimise aussi le volume des rectangles en appliquant, quand on veut
ajouter un nouveau fils à un nœud plein, le mécanisme de réinsérer quelques nœuds fils
du nœud plein avant de le diviser en deux avec l’espoir de trouver des meilleurs positions
pour les nœuds à réinsérer. R*-tree est la structure ayant le plus de succès dans la famille
R-tree [7][2]. Les expérimentations [7] montrent qu’un SR-tree peut être utilisé
efficacement pour l’organisation des données multidimensionnelles et des données
spatiales.
c. SS-tree : Similarity Search Tree (1996) [3][8]
Le SS-tree [8] est une structure d’indexation de similarité qui regroupe les vecteurs
de caractéristiques suivant la similarité entre eux. La mesure de similarité utilisée ici est la
distance euclidienne dans le cas où les poids de toutes les dimensions dans le vecteur de
caractéristiques sont pareils.
La structure de SS-tree ressemble à celle du R-tree mais on remplace dans chaque
nœud le rectangle englobant par une sphère englobante représentée par un centre et un
rayon. Les données sont toujours au niveau des feuilles. Le centre de la sphère englobante
15


d’un nœud est le centre de gravité de tous les éléments dans le sous-arbre de ce nœud. Au
niveau des feuilles, la sphère englobante recouvre les éléments appartenant à cette feuille,
le rayon de la sphère englobante est égal à la distance entre le centre et le point le plus

loin. Et au niveau d’un nœud interne, la sphère englobante recouvre les sphères
englobantes de tous les nœuds fils de ce nœud, le rayon de la sphère est toujours supérieur
ou égal à la distance entre le centre et le point le plus loin parmi les points dans le sousarbre de ce nœud.

Figure 3 - SS-tree

On utilise aussi le mécanisme de réinsertion d’une partie d’un nœud plein comme
dans le cas du R*-tree afin de minimiser le recouvrement entre les sphères englobantes et
le volume des sphères. Les expérimentations [8] montre que le SS-tree est meilleur que le
R*-tree pour les applications de recherche de similarité avec des données de haute
dimensionalité.
d. SR-tree : Sphere/Rectangle Tree (1997) [3][2]
L’idée du SR-tree (Sphere/Rectangle Tree) est de combiner les deux structures R*tree et SS-tree en identifiant la région de chaque nœud par l’intersection du rectangle
englobant et de la sphère englobante. Pour chaque nœud dans l’arbre SR-tree, on
détermine :
• Un rectangle englobant recouvre tous les éléments (vecteurs) dans le sous-arbre de
ce nœud. Ce rectangle est déterminé comme dans le cas du R-tree.
• Une sphère englobante recouvre tous les éléments dans le sous-arbre de ce nœud.
Cette sphère est déterminée comme dans le cas du SS-tree.
Un élément (vecteur) pourra être inclus dans le sous-arbre d’un nœud quelconque
s’il appartient à la région déterminée par l’intersection du rectangle englobant et de la
sphère englobante de ce nœud.

16


Figure 4 - SR-tree

En combinant le rectangle englobant et la sphère englobante (ou plus précisément
l’hypercube et l’hypersphère dans le contexte de données de grande dimension), on garde

l’avantage du comportement en grande dimension du SS-tree et on peut diminuer le
recouvrement entre les nœuds par rapport aux cas du R*-tree et du SS-tree en créant des
régions de petits volumes et de petits diamètres [2]. Cela accroît la performance des
requêtes des plus proches voisins pour les données de haute dimensionalité [2]. Cela
implique aussi que cette structure est utile pour les applications d’indexation de similarité
des images/vidéos.
e. X-tree (1996) [4]
Le X-tree est une variance de la structure R*-tree. Elle améliore la performance du
R*-tree en utilisant l’algorithme de partitionnement minimisant le recouvrement et le
mécanisme des super-noeuds qui ont plus de nœuds que les nœuds normaux [4][2]. Les
super-noeuds sont utilisés si le recouvrement généré quand on ajoute un nouveau fils dans
un nœud plein est plus petit que celui lorsqu’on divise ce nœud en deux nouveaux nœuds.
Les expérimentations [4][2] montrent que la performance du X-tree pour les requêtes par
point (point query) est beaucoup meilleure que celle du R*-tree.
2.1.2 Partitionnement de l’espace
A l’égard des techniques de partitionnement de l’espace, on divise directement
l’espace multidimensionnel en cellules plus ou moins complexes et régulières. Quelques
techniques de ce type sont KD-tree [3], KDB-tree [9], LSD-tree [10], etc.

17


a. KD-tree (Bentley, 1979) [3]
Le KD-tree (k-dimensional tree) organise les données dans un espace à k
dimensions. On structure les données sous la forme d’un arbre binaire. A chaque niveau,
on partitionne l’espace en deux sous-espaces successivement selon chaque dimension.

Figure 5 - Kd-tree

Un arbre KD-tree a des propriétés suivantes :

• La racine est la boîte englobante de tout l’espace
• Un nœud correspond à un plan séparateur et deux pointeurs pointant vers deux
sous-espaces construits par le plan.
• Une feuille correspond à la liste des objets de la base appartenant à l’espace de ce
nœud.
On peut couper l’espace en deux au milieu par le plan médian, couper à la position
de l’objet médian ou au hasard. Cette structure permet la recherche par intervalles ou par
plus proches voisins. Elle permet d’accélérer le traitement des données
multidimensionnelles. L’avantage de cette structure pour la recherche dépend de la
concentration des données dans l’espace.
b. KDB-tree [9]
Le KDB-tree [9] est une structure d’indexation pour les vecteurs
multidimensionnels. Elle combine les propriétés du KD-tree et du B-tree en organisant les
données sous forme d’un arbre balancé qui partitionne à chaque niveau l’espace de
recherche en deux sous-espaces successivement selon chaque dimension. La disjonction
entre les nœuds de même niveau dans l’arbre KDB-tree implique un seul chemin dans la
recherche par point (point query). Mais dans le KDB-tree, lorsqu’on divise une région
d’un nœud intermédiaire selon un axe, on doit aussi diviser les régions des sous-nœuds
18


selon cet axe, cela pouvant créer des nœuds vides ou presque vides. Cela implique une
diminution de la performance du KDB-tree dans le cas des requêtes par intervalles ou les
requêtes par plus proches voisins.
c. LSD-tree : Local Split Decision tree [10]
Le LSD-tree (Local Split Decision tree) [10] est une structure de données qui
supporte efficacement l’accès vers les objets géométriques. Comme d’autres structures, le
LSD-tree partitionne l’espace de données récursivement en deux sous-espaces séparés à
une position arbitraire. La position pour diviser est choisit pour atteindre l’optimal local,
c'est-à-dire le choix de la position pour la division dépend seulement du bloc de l’espace

qu’on divise, et non pas des bornes des autres blocs. C’est pour cette raison que l’on
appelle cette structure Local Split Decision tree.
La structure du LSD-tree ressemble à celle du KD-tree. Chaque nœud de l’arbre
enregistre la dimension et la position pour la division.

Figure 6 - LSD-tree

2.2. Travaux similaires
2.2.1 SnapToTell [11][12][13][14]
SnapToTell est un système qui fournit de l’information multimédia aux touristes en
se basant sur les images prises par des téléphones portables et sur l’information de
localisation. Imaginez que vous être en train de voyager et que vous voyez un beau site
19


(un lac, un monument, un sculpture, etc.) et que vous voulez avoir les informations
concernant ce site. Vous pouvez prendre une photo de ce site utilisant votre téléphone
portable et l’envoyer à un fournisseur de service de SnapToTell. Le fournisseur de service
va vous envoyer ensuite les informations décrivant ce site sous la forme un message
multimédia (MMS) et/ou un message texte.
L’idée de ce système est d’utiliser l’information de localisation géographique du
téléphone portable de l’utilisateur pour déterminer le contexte de l’utilisateur. Mais la
position seule de l’utilisateur ne nous permet pas de déterminer son intention car le
monument qui l’intéresse peut être éloigné de plusieurs centaines de mètres. Alors, après
avoir eu l’information du contexte de l’utilisateur, le système va rechercher dans la base
de données les images les plus proches visuellement de l’image requête pour trouver le
site qui intéresse l’utilisateur. Notez qu’on fait la recherche seulement parmi les images
autour du positionnement de l’utilisateur. La base de données de ce système collecte les
images de tous les sites célèbres d’un pays (ici, Singapour), chaque site correspondant à
plusieurs images prises à plusieurs distances différentes, de plusieurs points de vue

différents.

Figure 7 - Architecture client/serveur du système SnapToTell

L’architecture client/serveur est utilisée pour le système SnapToTell. Le client est
un téléphone portable intégrant un appareil photo et supportant les MMS. La requête
envoyée vers le serveur par le client peut être l’image de la scène ou le vecteur de
description du contenu visuel de l’image (par exemple, un histogramme de couleurs). Le
serveur SnapToTell reçoit l’image avec l’information de localisation géographique du
téléphone mobile de l’utilisateur grâce à l’opérateur du réseau mobile. A partir du
20


positionnement de l’utilisateur, le serveur recherche dans la base de données l’image la
plus proche visuellement parmi les images autour de la localisation de l’appareil mobile.
A l’égard de la base de données, on construit une base d’images de scènes
différentes de Singapour. Chaque image contient l’information GPS de la scène,
l’information de localisation géographique ici étant localisée hiérarchiquement à trois
niveaux : Singapour est divisé en plusieurs zones, chaque zone contenant plusieurs lieux
et chaque lieu correspondant à quelques scènes. Chaque scène est caractérisée par des
photos prises à plusieurs distances, plusieurs points de vue et plusieurs conditions de
luminosité, elle correspond aussi à une description textuelle et/ou une description audio
qui sont les informations à retourner pour l’utilisateur lors de chaque requête.

Figure 8 - Localisation hiérarchique des scènes de Singapour

Ainsi, chaque fois qu’on reçoit une requête, on utilise tout d’abord l’information de
localisation géographique pour diminuer le nombre d’images à rechercher, puis on
recherche l’image la plus proche visuellement pour déterminer la scène. Notez que l’on
utilise un seuil pour déterminer s’il y a une scène correspondant à l’image requête ou non.

Le vecteur de caractéristiques visuelles de l’image ici est l’histogramme des couleurs.

21


2.2.2 MobiLog [15]
MobiLog (Mobile Blogging automation) [15] est une plateforme qui est proposée
pour automatiser partiellement la saisie de données des blogs écrits à partir d’un
téléphone mobile et le système TraveLog [15] est une application de cette plateforme.
Notez que ce système utilise les résultats du système Snap2Tell abordé dans la partie
précédente.
L’idée de ce système est qu’un utilisateur prend des images d’une scène
intéressante en voyageant et il veut écrire un blog en utilisant son téléphone mobile pour
partager son voyage. Le système va l’aider à ajouter automatiquement les informations
concernant le contexte (l’heure, la location, le climat), les informations personnelles
d’utilisateur (le nom, la date de naissance) et les informations du contenu des images
(description de la scène).

Figure 9 - Screen shots de la composition de blog sur un téléphone portable

22


On peut trouver les informations du contexte en se basant sur le temps de la
création des images, sur la position du téléphone mobile (GPS) et sur l’information du
climat obtenue à partir des serveurs correspondants. Les informations personnelles de
l’utilisateur sont obtenues à partir de son profil. Pour avoir la description de la scène, le
serveur TraveLog envoie les images ajoutées dans le blog par l’utilisateur vers le serveur
Snap2Tell [2.2.1]. A partir des mots-clés dans la description reçue du serveur Snap2Tell,
le système peut chercher les sites web concernés en utilisant les moteurs de recherche

Web et les lister dans le blog. Un autre but de ce système est d’améliorer la qualité des
images dans le blog en utilisant la technique d’égalisation d’histogramme ou en
remplaçant les images de mauvaise résolution par des images de bonne résolution d’une
même scène (différents points de vue, différentes conditions de lumière) trouvées par le
service de Snap2Tell. La figure suivante donne un exemple de blog proposé par le
système TraveLog :

Figure 10 - Exemple de blog du système TraveLog

23


Chapitre 3 – SR-tree
Comme nous avons expliqué dans le chapitre précédent, la structure de données
SR-tree [2] accroît la performance des requêtes par plus proches voisins pour les données
de haute dimensionalité qui est le cas des données du contenu visuel des images dans
notre projet. D’une part, elle est utile pour les applications d’indexation de similarité des
images/vidéos ; d’autre part, son mécanisme de regroupement des données qui sont
proches par des rectangles englobants et des sphères englobantes correspond bien à la
structuration des données géographiques. C’est pour cette raison que nous proposons la
structuration SR-tree [2] pour structurer en même temps les données géographiques des
images et les données du contenu visuel des images en vue de faciliter et accélérer la
recherche des images similaires dans l’espace du contenu et le calcul de la proximité entre
des événements dans l’espace de localisation géographique. Dans ce chapitre, je vais
présenter la structure SR-tree plus en détails ainsi que les opérations sur le SR-tree
comme la création d’un SR-tree, la recherche des k plus proches voisins utilisant cette
structure, etc.

3.1. Présentation du SR-tree
La structure SR-tree est basée en même temps sur la structure de la famille R-tree

[5][6][7] et celle de SS-tree [8]. Elle regroupe des avantages de la famille R-tree et de SStree en déterminant une région d’un nœud par l’intersection du rectangle englobant
minimal et de la sphère englobante minimale des données dans le sous-arbre de ce nœud.
Pourquoi combiner les hypercubes et les hypersphères ? Dans la stratégie de création du
R-tree, on essaie de minimiser le volume des hyper-rectangles. Mais dans certain cas, un
hypercube peut avoir une plus grande diagonale que celle d’un hypercube ayant un plus
petit volume. Les rectangles de grande diagonale peuvent provoquer plus de
recouvrement entre des nœuds. En créant le SS-tree, on essaie de minimiser le diamètre
des hypersphères tandis que les hypersphères occupent un grand volume pour un petit
diamètre dans le cas de grande dimensionalité. L’intersection du rectangle englobant et de
la sphère englobante permet d’obtenir une région plus petite que celles du R-tree et du
SS-tree. D’ailleurs, dans la stratégie pour minimiser le diamètre, l’intersection donne des
régions de petits volumes pour un petit diamètre, et donc, permet de réduire la
superposition des régions.
Un arbre SR-tree a les propriétés suivantes :
• Les données sont au niveau des feuilles. C'est-à-dire que le rectangle englobant et
la sphère englobante d’un nœud feuille sont respectivement le rectangle minimal et
24


la sphère minimale recouvrant les vecteurs de données appartenant à ce nœud.
Chaque nœud feuille contient au maximum ML et au minimum mL≤ML/2 éléments
de données.
• Tous les nœuds qui ne sont pas les feuilles sauf la racine ont entre mN et MN nœuds
fils ; le rectangle englobant et la sphère englobante de ces nœuds recouvrent
respectivement les rectangles englobants et les sphères englobantes des nœuds fils.
• Le nœud racine a au moins deux fils sauf quand il est une feuille. Le rectangle
englobant et la sphère englobante du nœud racine recouvre tous les vecteurs de
données de la base.
• Toutes les feuilles sont au même niveau.


Figure 11 - Structure SR-tree

Figure 12 - Détermination des régions par l'intersection des rectangles et des sphères

La structure d’un nœud du SR-tree est comme suit :
struct SRElement {
SRElement child_array_ptr ;
25


×