Indexation et Recherche d`Images par Contenu dans les Grands

publicité
‫امجلهورية اجلزائرية ادلميقراطية الشعبية‬
‫وزارة التعلمي العايل و البحث العلمي‬
‫جامعة وهران للعلوم و التكنولوجيا محمد بوضياف‬
Présenté par :
BENKRAMA Soumia
Intitulé
Indexation et Recherche d’Images par Contenu dans les Grands
Corpus d’Images
Faculté
: Mathématique et d’informatique
Département
: Informatique
Domaine
: MI
Filière
: Informatique
Intitulé de la Formation
: Ingénierie des Systèmes d’Information
SOUTENUE LE : 09/ 02 / 2017
Devant le Jury Composé de :
Membres de Jury
Grade
Qualité
Domiciliation
Mme BELBACHIR Hafida
PROFESSEUR
USTO-MB
Mme ZAOUI Lynda
DOCTEUR
Président
Encadrant
Mme BABA HAMED Latifa
PROFESSEUR
Mr BENYETTOU Abdekader
PROFESSEUR
Mme NAIT BAHLOUL Safia
PROFESSEUR
USTO-MB
Université d’Oran
Examinateurs
Année Universitaire : 2016-2017
USTO-MB
Université d’Oran
Thèse réalisée au
Département d’informatique
Faculté des Mathématiques et Informatique
Université des Sciences et de la Technologie d’Oran
- Mohamed Boudiaf (U.S.T.O-MB)
BP 1505 El M’Naouar Bir el Djir 31000
Oran, 31000, Algérie
http://www.univ-usto.dz/mathinfo/presentation.php
Présentée par
Sous la direction de :
Étude de cas réalisée dans
BENKRAMA Soumia
ZAOUI Lynda
[email protected]
[email protected]
Laboratoire L.S.S.D (Laboratoire Signaux Systèmes Donneès)
Faculté des Mathématiques et Informatique
U.S.T.O_M.B- Algérie
Travaux scientifiques
Activités scientifiques:
1. Participation de session orale de l’article « Adaptation de VA-File dans
les systèmes d’indexation et de recherche d’images par contenu à grande
echelle ». 2ème Edition de la Conférence Internationale sur l’Extraction et
la Gestion des Connaissances - Maghreb EGC-M2011. Tanger, MAROC.
2. Participation de session orale de l’article « Indexation et recherche par
contenu dans de très grandes bases d’image » Ecole Thématique sur
l’Informatique et les Technologies de l’Information ITI 2011. Oran, ALGERIE.
3. Participation au workshop Innovation et Nouvelles Tendances dans les
Systèmes d’information INTIS’2011. Tanger, MAROC.
4. Participation de session orale de l’article « Adaptation des techniques
d’indexation pour la recherche d’images par contenu » Conférence Internationale sur le Traitement de l’Information Multimédia CITIM’2012.
Mascara, ALGERIE.
Publications
1. Benkrama, S ; Zaoui, L ; Charrier, C : « Accurate Image Search using
Local Descriptors into a Compact Image Representation ». In International Journal of Computer Science Issues IJCSI. Vol 10, Issue 1, N°2,
pp. 220-225, 2013.
2. Benkrama, S ; Zaoui, L ; Charrier, C : « Clustering and dimensionality
reduction forimage retrieval in high-dimensional spaces». In Journal of
Theoretical and Applied Computer Science JTACS. Vol 8, N°3, pp.37-50,
2014.
3. Benkrama, S ; Zaoui, L : « Similarity Search in a large Scale». In International Journal of Imaging and Robotics. Vol 16, N° 3. 2016
3
Remerciements
A l’issue de la rédaction de cette recherche, je suis convaincue que la thèse est loin
d’être un travail solitaire. En effet, je n’aurais jamais pu réaliser ce travail doctoral
sans le soutien d’un grand nombre de personnes dont la générosité, la bonne humeur
et l’intérêt manifestés à l’égard de ma recherche m’ont permis de progresser dans
cette phase délicate de « l’apprenti chercheur». Au terme de ce travail, c’est avec
émotion que je tiens à remercier tous ceux qui, de près ou de loin, ont contribué à
la réalisation de ce projet.
En premier lieu, je remercie très chaleureusement ma directrice de thèse, madame
Zaoui Lynda, qui, malgré ses nombreuses occupations, a accepté de prendre la direction de cette thèse en cours de route, transformant ainsi les difficultés rencontrées en
une expérience enrichissante. Je lui suis également reconnaissante de m’avoir assuré
un encadrement rigoureux tout au long de ces années.
Je tiens à remercier les membres du jury de l’intérêt qu’ils ont porté à mes travaux.
Je remercie Mme. Belbachir Hafida, d’avoir accepté d’être président de ce travail.
Je remercie également Mme. Baba ahmed Latifa, Mme. Nait Bahloul Nacéra et Mr
Benyettou d’avoir accepté d’être examinateurs.
Je remercie les membres du laboratoire signaux, systèmes de données pour la
dynamique au sein du groupe que ce soit sur le plan scientifique ou sur le plan
humain.
Je ne sais comment exprimer ma gratitude à ces deux personnes Sarah et Asmaa
pour leurs aide et leurs soutien mais aussi pour leurs encouragements répétés au
cours de la rédaction de ce manuscrit.
J’adresse toute mon affection à ma famille et en particulier à mes parents, mes
sœurs et mon frère, Meriem, awatif, chaimaa et abdelkader. Je ne serai pas la où j’en
suis sans eux. De même, que tous les membres de ma belle famille Baiche trouvent
ici toute ma reconnaissance pour le soutien que chacun d’eux a pu apporter pour
faire aboutir ce rêve.
Enfin, le dernier et pas des moindres, je voudrais remercier tout particulièrement
mon cher époux Amine pour son amour, son soutien quotidien indéfectible et son
enthousiasme et sa patience à mon égard. Merci d’être ce que tu es. De plus, mes
remerciements seraient incomplets, si je ne fais pas mention de mon adorable petite
ma fille Alaa, qui a pu supporter mon éloignement et a pu continuer d’être sage en
dépit de mon absence. Je t’adresse mes chaleureux remerciements.
5
Résumé
Avec l’expansion de l’informatique et du multimédia, une problématique
nouvelle est apparue : gérer les quantités énormes et croissantes de données
(plus particulièrement les bases images).
Cette thèse s’inscrit dans la problématique de l’indexation et la recherche
d’images par le contenu dans des bases d’images volumineuses. Les systèmes
traditionnels de recherche d’images par le contenu se composent généralement
de trois étapes : l’indexation, la structuration et la recherche. Dans le cadre de
cette thèse, nous nous intéressons plus particulièrement à l’étape de structuration qui vise à organiser, dans une structure de données, les signatures visuelles
des images extraites dans la phase d’indexation afin de faciliter, d’accélérer et
d’améliorer les résultats de la recherche ultérieure. A la place des méthodes traditionnelles de structuration, nous étudions les méthodes de regroupement des
données (clustering ) qui ont pour but d’organiser les signatures en groupes
d’objets homogènes ( clusters), en se basant sur la similarité entre eux. Les
groupes sont ensuite indexés pour accélérer le traitement des requêtes. Notre
méthode permet l’obtention simple, rapide et efficace de ces groupes.
Nous menons des expérimentations où sont utilisés des descripteurs locaux.
Nous appliquons sur ces derniers une méthode de quantification « sacs de
mots », le but étant l’obtention d’un ensemble de signatures pour faciliter le
traitement rapide des requêtes.
Nous mettons l’accent sur l’optimisation conjointe de trois contraintes : stockage, coût de calcul et performances de reconnaissance. Les expériences sont
menées sur les ensembles de données de Corel, Caltech-256 et Pascal 2007
(VOC). L’évaluation des résultats de ces expérimentions est basée sur les mesures de rappel/ précision appliquées sur de grandes bases d’images et montre
que notre méthode améliore de manière significative la performance des systèmes.
Mots clés : Systèmes de recherche d’images par le contenu, représentation
d’images, indexation dans des espaces à grande dimension, sacs de mots,
Clustering.
6
Abstract
With the expansion of IT and multimedia, a new problem has emerged :
managing huge and growing amounts of data, especially the image databases.
This thesis deals with the problem of Content-Based Image Retrieval (CBIR)
on large image databases. Traditional CBIR systems generally rely on three
phases : feature extraction, feature space structuring and retrieval. In this
thesis, we are particularly interested in the structuring phase, which aims at
organizing the visual feature description of all images into an efficient data
structure in order to facilitate, accelerate and improve further retrieval. The
visual feature descriptor of each image is extracted from the feature extraction
phase. Instead of traditional structuring methods, clustering methods which
aim at organizing image descriptors into groups of similar objects (clusters).
We conduct experiments were used local descriptors. We apply these on
a method for quantifying "bags of words" with the aim to obtain a set of
signatures to facilitate rapid processing of applications.
We put an emphasis on the joint optimization of three constraints : storage,
computational cost, and recognition performance. Experiments on the datasets
of the Corel, Caltech-256 and Pascal Visual Object Classes challenges (VOC)
of 2007 show that our method significantly improves over the performance.
Experimental retrieval results based on the precision/recall measures applied
on a large image database show interesting results.
Keywords : Content based image retrieval, Image representation, High- Dimensional Indexing, image retrieval, Bag of visual words, Clustering.
7
Table des matières
Table des matières
9
Table des figures
13
Liste des tableaux
15
Introduction Générale
17
Partie 1 : État de l’Art
21
1 Concepts fondamentaux
1.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.2 Traitement d’images numériques . . . . . . . . . . . . . . . . .
1.2.1 Les types d’images . . . . . . . . . . . . . . . . . . . . .
1.2.1.1 L’image en pixels . . . . . . . . . . . . . . . .
1.2.1.2 L’image vectorielle . . . . . . . . . . . . . . . .
1.2.2 Avantages et inconvénients des deux types d’images . . .
1.3 Extraction et description des caractéristiques d’images . . . . .
1.4 Descripteurs d’images . . . . . . . . . . . . . . . . . . . . . . . .
1.5 Synthèse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.5.1 Caractéristiques globales . . . . . . . . . . . . . . . . . .
1.5.1.1 Limites de l’approche globale . . . . . . . . . .
1.5.2 Caractéristiques locales . . . . . . . . . . . . . . . . . . .
1.5.2.1 Techniques existantes pour l’indexation d’images
par les caractéristiques locales . . . . . . . . . .
1.5.2.2 Comparaison des techniques . . . . . . . . . . .
1.5.2.3 Limites de l’approche locale . . . . . . . . . . .
1.5.3 Représentation globale ou locale ? . . . . . . . . . . . .
1.6 Architecture générale d’un système d’indexation et de recherche
d’images . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.7 Mesures de similarité entre les descripteurs . . . . . . . . . . .
1.7.1 Distances de Minkowski . . . . . . . . . . . . . . . . . .
1.7.2 Distance quadratique . . . . . . . . . . . . . . . . . . . .
23
24
25
25
25
25
26
27
28
32
32
32
33
34
36
36
38
38
42
42
43
9
TABLE DES MATIÈRES
1.7.3
1.7.4
1.7.5
1.7.6
1.7.7
1.8
Distance Mahalanobis . . . . . . . . . . . . . .
Distance d’Earth Mover (EMD) . . . . . . . . .
Distance Cosinus . . . . . . . . . . . . . . . . .
Intersection d’histogramme . . . . . . . . . . .
Distances entre distributions . . . . . . . . . . .
1.7.7.1 Distance du X2 . . . . . . . . . . . .
1.7.7.2 Divergence de Kullback Leibler . . . .
1.7.7.3 Divergence Jeffrey . . . . . . . . . . .
1.7.7.4 Distance de Kolmogorov-Smirnov . .
1.7.7.5 Distance de Cramer-Von Mises . . . .
1.7.7.6 Synthèse sur les mesures de similarité .
Conclusion . . . . . . . . . . . . . . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
44
44
45
45
45
46
46
46
46
46
47
47
2 Indexation multidimensionnelle
49
2.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
2.2 Etat de l’art des techniques d’indexation . . . . . . . . . . . . . 50
2.2.1 Approches optimistes . . . . . . . . . . . . . . . . . . . 52
2.2.1.1 Techniques de partitionnement des données . . 52
2.2.1.2 Techniques de partitionnement de l’espace de
description . . . . . . . . . . . . . . . . . . . . 56
2.2.1.3 Indexation dans les espaces métriques . . . . . 58
2.2.2 Approches pessimistes . . . . . . . . . . . . . . . . . . . 59
2.2.2.1 VA-File, Vector Approximation File, 1997 [BW97] 60
2.2.2.2 IQ-tree, Independant Quantization Tree, 2000 . 61
2.2.3 Synthèse . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
2.3 Malédiction de la dimension . . . . . . . . . . . . . . . . . . . . 63
2.4 Solutions proposées pour les espaces de grande dimension . . . . 64
2.4.1 Architecture parallèle . . . . . . . . . . . . . . . . . . . 64
2.4.2 Hachage . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
2.4.3 Réduction de la dimension . . . . . . . . . . . . . . . . 65
2.4.4 Approches basées sur la représentation par mots visuels 66
2.5 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
3 Classification et réduction de la dimension.
3.1 Introduction . . . . . . . . . . . . . . . . . . . . . . .
3.2 État de l’art de la réduction de dimension . . . . . .
3.2.1 Les méthodes linéaires . . . . . . . . . . . . .
3.2.1.1 L’analyse en composantes principales
3.2.2 Les méthodes non linaires . . . . . . . . . . .
3.2.2.1 Méthodologie de Kernel-PCA . . . .
3.2.3 Synthèse et discussions . . . . . . . . . . . .
3.3 État de l’art des méthodes de clustering . . . . . . .
3.3.1 Application à l’indexation . . . . . . . . . . .
3.3.1.1 L’efficacité . . . . . . . . . . . . . .
. . . .
. . . .
. . . .
(ACP)
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. .
. .
. .
.
. .
. .
. .
. .
. .
. .
69
70
70
72
73
74
75
76
76
77
77
10
TABLE DES MATIÈRES
3.3.1.2
3.3.1.3
3.4
Compacité et équilibre des clusters . . . . . . .
Comportement dans les espaces de grande dimension . . . . . . . . . . . . . . . . . . . . .
3.3.1.4 Identification du bruit . . . . . . . . . . . . . .
3.3.2 Classification des techniques . . . . . . . . . . . . . . . .
3.3.2.1 Approches basées sur le partitionnement des
données . . . . . . . . . . . . . . . . . . . . . .
3.3.2.2 Approches hiérarchiques . . . . . . . . . . . . .
3.3.2.3 Approches basées sur l’estimation de la densité
3.3.2.4 Approches basées sur le partitionnement de l’espace . . . . . . . . . . . . . . . . . . . . . . . .
3.3.3 Evaluation de la qualité d’un clustering . . . . . . . . . .
3.3.3.1 L’inertie inter-clusters . . . . . . . . . . . . . .
3.3.3.2 L’inertie intra-clusters . . . . . . . . . . . . . .
3.3.3.3 L’inertie totale . . . . . . . . . . . . . . . . . .
3.3.4 Synthèse et discussions . . . . . . . . . . . . . . . . . . .
Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
77
78
78
78
78
79
81
87
88
88
88
89
89
90
Partie 2 : Développement et Validation
91
4 Approche proposée
4.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.2 Architecture générale . . . . . . . . . . . . . . . . . . . . . . .
4.3 Phase hors ligne . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.3.1 Extraction et description des points d’intérêt . . . . . . .
4.3.1.1 Algorithme d’extraction du descripteur SIFT .
4.3.1.2 Algorithme d’extraction du descripteur SURF .
4.3.1.3 Algorithme d’extraction du descripteur QZM .
4.3.2 Représentation par sac de mots visuels . . . . . . . . . .
4.3.2.1 Vocabulaire visuel . . . . . . . . . . . . . . . .
4.3.2.2 Quantification et K-Means . . . . . . . . . . . .
4.3.3 Partitionnement et regroupement des signatures d’images
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.4 Phase en ligne . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.5 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
93
94
94
95
95
95
98
101
104
106
107
5 Résultats expérimentaux
5.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.2 Contexte des expérimentations . . . . . . . . . . . . . . . . .
5.2.1 Bases d’images . . . . . . . . . . . . . . . . . . . . .
5.2.1.1 Corel . . . . . . . . . . . . . . . . . . . . .
5.2.1.2 PASCAL Visual Object Classes (Pascal voc)
5.2.1.3 Caltech -256 . . . . . . . . . . . . . . . . .
.
.
.
.
.
.
108
113
117
119
. 120
. 120
. 120
. 120
. 121
. 121
11
TABLE DES MATIÈRES
5.3
5.4
5.5
Mesures d’évaluations . . . . . . . . . . . . . . . . . . . . . .
5.3.1 Rappel et précision (en anglais : Recall and Precision)
5.3.1.1 Le rappel . . . . . . . . . . . . . . . . . . . .
5.3.1.2 La précision . . . . . . . . . . . . . . . . . . .
5.3.1.3 La courbe de rappel et précision . . . . . . .
5.3.2 Moyenne des Précision Moyennes (MAP) . . . . . . . .
Résultats et discussions . . . . . . . . . . . . . . . . . . . . . .
5.4.1 Comparaisons des descripteurs . . . . . . . . . . . . . .
5.4.2 Comparaisons des méthodes de partitionnement . . . .
5.4.2.1 Méthode I . . . . . . . . . . . . . . . . . . .
5.4.2.2 Méthode II . . . . . . . . . . . . . . . . . . .
Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Partie 3 : Conclusion
.
.
.
.
.
.
.
.
.
.
.
.
122
122
122
123
124
124
125
125
129
129
133
135
137
Travail accompli . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139
Perspectives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141
Bibliographie
143
12
Table des figures
1.1
1.2
1.3
1.4
1.5
1.6
1.7
1.8
2.1
2.2
2.3
2.4
2.5
2.6
2.7
2.8
2.9
3.1
3.2
4.1
4.2
4.3
Exemple d’image en pixels . . . . . . . . . . . . . . . . . . . .
Exemple d’image vectorielle . . . . . . . . . . . . . . . . . . .
l’image (a) représente un descripteur global, et l’image (b) représente un descripteur local . . . . . . . . . . . . . . . . . . .
Exemple de deux images : détection de points d’intérêt (description basée sur l’information locale) avec un changement
d’échelle (rotations différentes et en lumière différentes) . . . .
Les points d’intérêt de l’image à l’aide du descripteur SIFT . .
Illustration du fossé sémantique . . . . . . . . . . . . . . . . .
Différents types de points d’intérêts : coins, jonction en T . . .
Diagramme pour un système de recherche d’images par le contenu
typique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Taxonomie simple de quelques techniques d’indexation multidimensionnelle . . . . . . . . . . . . . . . . . . . . . . . . . .
Structure du R-Tree . . . . . . . . . . . . . . . . . . . . . . .
Structure du SS-Tree . . . . . . . . . . . . . . . . . . . . . .
Structure du Kd-Tree . . . . . . . . . . . . . . . . . . . . . .
Exemple d’un LSD-Tree associé au partitionnement d’un carré
dans un espace de dimension 2 [Ber04] . . . . . . . . . . . . .
Principe de construction de l’arbre-VP [Yia93] . . . . . . . .
Structure géométrique du M-Tree . . . . . . . . . . . . . . .
Structure du VA-File . . . . . . . . . . . . . . . . . . . . . .
Structure d’index IQ-Tree [Dao09] . . . . . . . . . . . . . . .
26
26
28
29
31
33
34
41
.
.
.
.
53
54
55
56
.
.
.
.
.
57
58
59
60
61
Exemple d’une distribution de données en dimension 3 et une
partition associée [Ber04] . . . . . . . . . . . . . . . . . . . . . 77
La fonction d’influence gaussienne, un jeu de vecteurs et la
fonction de densité globale [LE04]. . . . . . . . . . . . . . . . . 86
Achitecture de l’approche proposée. . . . . . . . . . . . . . . . 95
Etapes de construction d’un descripteur SIFT associé à un
point d’intérêt. . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
Les gradients associés aux points d’intérêt détectés (orientation, amplitude). . . . . . . . . . . . . . . . . . . . . . . . . . . 97
13
TABLE DES FIGURES
4.4
4.5
4.6
4.7
4.8
4.9
4.10
4.11
4.12
4.13
4.14
5.1
5.2
5.3
5.4
5.5
5.6
5.7
5.8
5.9
5.10
5.11
5.12
A gauche, les gradients calculés à chaque pixel au voisinage du
point d’intérêt. A droite, les sous-histogrammes construits au
niveau de chaque bloc. . . . . . . . . . . . . . . . . . . . . . .
Vecteur SIFT présenté en 2 dimensions : horizontalement, nous
trouvons les 8 directions d’un sous-histogramme, verticalement,
nous trouvons les 16 blocs au voisinage d’un point d’intérêt. . .
Correspondances entre les dérivées partielles secondes des filtres
Gaussiens discrétisés (en haut) et les boîtes de filtres d’approximation (en bas) pour le calcul de l’opérateur LoG . . . . . . .
Etape de Suppression non-maximale . . . . . . . . . . . . . . .
Représentation par sac de mots visuels. Photo ©AFP. . . . . .
Représentation des mots visuels basés sur une quantification
des points d’intérêt . . . . . . . . . . . . . . . . . . . . . . . .
Partitionnement de la base des signatures. . . . . . . . . . . . .
Partitionnement avec la méthode I . . . . . . . . . . . . . . . .
Exemple d’éclatement. . . . . . . . . . . . . . . . . . . . . . .
Exemple de recherche d’une image requête. . . . . . . . . . . .
Architecture générale de la méthode II . . . . . . . . . . . . . .
Catégories de la base Corel-1000 . . . . . . . . . . . . . . . .
Catégories de la base Pascal VOC . . . . . . . . . . . . . . .
Catégories de la base Pascal VOC . . . . . . . . . . . . . . .
Exemple de calcul rappel et précision. . . . . . . . . . . . . .
Exemple de calcul MAP. . . . . . . . . . . . . . . . . . . . .
Courbes de rappel-précision en utilisant SIFT, SURF et QZM
sur la base Corel. . . . . . . . . . . . . . . . . . . . . . . . .
Courbes de rappel-précision en utilisant SIFT, SURF et QZM
sur la base Corel. . . . . . . . . . . . . . . . . . . . . . . . .
performance pour la base Corel. . . . . . . . . . . . . . . . .
Un exemple d’une recherche effectué. . . . . . . . . . . . . . .
Courbes des différentes valeurs de MAP et la taille du cluster
pour la base Corel. . . . . . . . . . . . . . . . . . . . . . . . .
Un exemple d’une recherche effectué. . . . . . . . . . . . . . .
Courbes de rappel précision de la base corel . . . . . . . . . .
.
.
.
.
.
98
99
100
101
106
108
109
111
113
116
117
121
121
122
123
125
. 127
. 128
. 128
. 129
. 133
. 134
. 134
14
Liste des tableaux
1.1
comparaison entre différent type de représentations d’images . 38
2.1
2.2
2.3
Comparaison des approches multidimensionnelles . . . . . . . . 62
Comparaison des approches métriques . . . . . . . . . . . . . . 62
Récapitulatif des avantages et inconvénients des méthodes d’indexation basées sur l’approche approximation . . . . . . . . . . 63
4.1
4.2
Liste des moments de Zernike quaternioniques. . . . . . . . . . 104
Représentation d’une image sous forme d’histogramme. . . . . 105
5.1
5.2
5.3
5.4
Extraction des descripteurs avec la base Corel . . . . . . . . . 126
Les valeurs de MAP sur les bases d’images VOC et Caltech-256 130
Impact du paramètre ε avec les bases VOC et Caltech-256 . . . 131
Comparaison des performances pour l’ensemble de données
Caltech-256. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132
Classification Taux et temps de calcul pour Pascal voc et Caltech256 ensemble de données. . . . . . . . . . . . . . . . . . . . . . 132
Performances pour l’ensemble de données Corel. . . . . . . . . 133
5.5
5.6
15
Introduction Générale
Cadre Général
Aujourd’hui, la majeure partie de la population du monde utilise ce qu’on
appelle l’information numérique. Elle est devenue le cœur de tous les secteurs
d’activités tels que l’imagerie satellitaire, la santé, l’architecture, la communication/publicité/design, l’art et l’éducation, l’industrie pour la surveillance
industrielle, ... etc. Ces différents domaines d’application engendrent des problèmes d’acquisition, de stockage, d’indexation, d’interrogation, de visualisation, ... etc. De nombreux travaux de recherche deviennent alors d’actualité afin
de répondre aux besoins sans cesse croissants pour la création, la mise à jour, le
stockage, la transmission ou encore la consultation de ces données. Parmi l’ensemble de ces problématiques, figure l’accès aux bases d’images, la navigation
et l’interaction avec ces bases. De ce fait, la recherche par le contenu dans les
bases multimédia (Content based image retrieval CBIR ou RIC en Français)
est désormais un domaine de recherche très actif. La recherche par contenu
visuel dans les grandes collections d’images, reste une opération clé pour de
nombreuses applications, telles que la reconnaissance d’objets, l’imagerie médicale, la sécurité, ... etc. Donnant naissance à des problématiques nouvelles
qui émergent de l’intersection de deux domaines de recherche en informatique :
l’analyse d’images et les bases de données. Ces problèmes sont essentiellement
liés à l’acquisition, l’indexation, l’interrogation, la comparaison, la classification, et la visualisation.
Le but des systèmes d’indexation est de permettre à un utilisateur de trouver, dans des bases d’images, toutes celles qui sont semblables à une image qui
l’intéresse. Un programme d’indexation se conçoit comme un système qui prend
en entrée une image de référence et qui retourne un ensemble d’images similaires à celle ci. Ceci permet de les trier de la plus similaire à la moins similaire.
Les systèmes de recherche d’images par le contenu cherchent à représenter le
contenu des images de manière automatique, à l’aide de descripteurs visuels représentant les données multimédia. Les techniques d’indexation d’images permettent l’organisation et la structuration de l’ensemble des descripteurs afin
d’effectuer des recherches par similarité visuelle rapides et efficaces. L’idée clé
dans la recherche d’images est la notion de ressemblance d’où l’utilisation de
notion de proximité, de similarité, et de distance entre objets. Généralement,
17
Introduction Générale
la requête est exprimée sous la forme d’un ou de plusieurs vecteurs qui peuvent
être de grande dimension.
Pour cela, les systèmes utilisent des méthodes d’analyse d’images pour décrire automatiquement le contenu visuel des images. Il s’agit d’extraire à partir
des images des vecteurs numériques de grande dimension appelés descripteurs
et de leurs associer une mesure de similarité. Le stockage de ces descripteurs intéresse bien les professionnels que le grand public. Il en résulte une production
aussi permanente et considérable d’images dans des domaines pluridisciplinaire
cités précédemment.
Contexte et objectif de la thèse
La première contribution de ce travail est l’analyse des difficultés liées aux
espaces de grande dimension et leur impact sur les performances des techniques de recherche. Cette analyse permet notamment d’expliquer les causes
de la dégradation de performances des techniques traditionnelles d’indexation multidimensionnelle lorsque la dimension augmente, connue sous le nom
du problème de la malédiction de la dimension. Cette problématique étudie
également les différentes méthodes d’extraction des caractéristiques tout en
montrant la richesse des points d’intérêts en termes de contenu de l’information locale. Ces méthodes sont généralement présentées comme des approches
récentes qui traitent le problème du passage à l’échelle des techniques d’indexation et de recherche d’images par contenu, en essayent de trouver des
zones dans les images qui contiennent des informations visuelles robustes aux
variations visuelles. Cette étude montre que leur utilisation n’est pas triviale
et qu’elle est sujette de discussion.
La seconde contribution repose sur l’étude des approches basées sur les sacsde-mots. Certains travaux récents qui utilisent le modèle sac-de-mots pour la
représentation des images ont montré des résultats prometteurs. Nous effectuons une comparaison approfondie des méthodes existantes pour la détection
et la description des caractéristiques locales. Les descripteurs utilisés sont évalués avec une représentation par sac-de-mots et montrent une amélioration par
rapport à l’état de l’art pour la classification d’images.
La troisième et principale contribution est la conception de méthodes efficaces de recherche de plus proches voisins. Ces méthodes permettent d’accélérer considérablement le temps de recherche. Toutefois, les méthodes proposées
ont pour but d’améliorer de manière très importante ses performances et son
aptitude à passer à l’échelle, en accélérant tant le traitement des requêtes et
cela en partitionnant l’espace de données en groupes.
18
Plan et contenu de la thèse
Ce document décrit tour à tour différents aspects des travaux concernant
la recherche de plus proches voisins et son application à la recherche d’images
par contenu. Il est organisé comme suit :
Le premier chapitre formalise les notions fondamentales d’images en présentant les différents types de descripteurs. Le second chapitre est un état
de l’art des méthodes permettant d’indexer et d’organiser les bases d’images.
Nous y présentons tout d’abord les représentations utilisées pour la recherche
d’images par contenu, en évoquant les problèmes rencontrés qui font objet de
notre thématique. Le troisième chapitre présente les différentes solutions
proposées par les chercheurs qui ont permis de résoudre le problème de la
malédiction de la dimension, les méthodes présentées sont classées en deux
axes. Une première étude est basée sur la classification à l’aide de méthodes
de clustering citant : K-means, EM... tandis que la deuxième se concentre
sur des techniques de réduction de la dimension telle que les ACP, AFC. . .
les deux études se focalisent sur la recherche d’images par contenu. Le quatrième chapitre présente la méthode d’indexation globale que nous avons
développée. Nous présentons un panel des différentes méthodes d’extraction et
de description d’images que nous avons utilisées. Notre approche s’appuie également sur le modèle sacs de mots présentés dans le chapitre précédent. Dans le
cinquième chapitre, nous présentons en premier lieu les bases d’images sur
lesquelles notre approche a été testée ainsi que les critères et mesures d’évaluation calculées sur ces bases en rapportant les résultats obtenus. Enfin, une
conclusion générale pour énoncer une synthèse des travaux menés dans le
cadre de cette thèse ainsi que les perspectives liées à ce travail.
19
Partie 1 : État de l’Art
Chapitre 1
Concepts fondamentaux
Ce chapitre présente un panel des différentes méthodes d’extraction et de
description d’images présentes dans la littérature. Des conclusions sur chacune
des méthodes sont établies, ces dernières vont nous permettre par la suite de
dégager une démarche à suivre pour répondre à la problématique posée afin
de caractériser le mieux une image tout en prenant en compte non seulement
le contenu visuel, mais également le sens de l’image.
23
Chapitre 1 Concepts fondamentaux
1.1 Introduction
L’image constitue l’un des moyens de communication les plus importants
utilisés par l’homme. De ce fait, le traitement d’images est l’ensemble des méthodes et techniques opérant dans le but d’améliorer l’aspect visuel de l’image
et d’en extraire des informations jugées pertinentes.
Ces dernières décennies, le domaine de la recherche par le contenu multimédia a connu un réel engouement en raison des nouvelles techniques de
communication entraînant de nouveaux modes d’exploration et de transmission du savoir mis à disposition de tous, ce qui a donné lieu à de nombreux
travaux [Neg14, Fou02, Fau03].
Actuellement la gestion de gros volume de données, constitue un problème
majeur particulièrement dans les bases de données images, et ce dans de nombreux domaines. Par exemple dans le domaine de la photographie des œuvres
d’art [Neg14]. Il existe déjà des solutions basées sur des mots clefs, mais pas
sur le contenu visuel, ce qui nécessite une recherche par contenu pour permettre aux utilisateurs de faire des recherches qui ne peuvent être exprimées
sous forme de mots clefs, comme une ambiance visuelle, ou toute impression
qui ne saurait trouver mots.
Dans la recherche d’images on peut citer aussi les méthodes de détection
de copies basées sur un schéma de reconnaissance d’images par le contenu
[BAG04, THBL08]. L’idée est de fournir aux propriétaires d’images des outils
pour tester si une image provient de leur stock, et ce sur des bases visuelles
seulement. Le but d’un tel système est alors d’être capable d’établir des liens
de ressemblances entre des images issues du Web et celles d’une collection possédée par un propriétaire et, au cas où une telle ressemblance existe, de trouver
quelle est l’image de la collection qui a été copiée. Dans un tel contexte, les systèmes de reconnaissance d’images par le contenu sont soumis principalement
à trois contraintes : robustesse du schéma de description, efficacité de
la recherche et rapidité de la recherche.
Ce thème de recherche est souvent appelé "recherche d’images par le contenu"
(Content based image retrieval CBIR ou RIC en Francais). Les CBIR permettent de retrouver au sein d’une base d’images les images les plus similaires visuellement à une image requête donnée comme exemple. Pour cela,
ils utilisent des méthodes d’analyse d’images pour décrire automatiquement le
contenu visuel des images. Il s’agit d’extraire à partir des images des vecteurs
numériques de grande dimension appelés descripteurs et de leur associer une
mesure de similarité.
Ce chapitre comprend un état de l’art concernant le principe général d’un
système de recherche d’images par contenu. Pour rechercher une image, le
24
1.2 Traitement d’images numériques
principe est de donner une représentation automatique d’image et cela afin de
concevoir un système de recherche d’images par contenu.
Il existe plusieurs techniques d’extraction d’images par contenu, ces descripteurs sont classés en deux types (descripteurs globaux et descripteurs locaux).
Pour introduire cela un passage est obligatoire vers les différentes façons de
caractérisation des images sous forme numérique.
1.2 Traitement d’images numériques
On désigne par traitement d’images numériques l’ensemble des techniques
permettant de modifier une image numérique dans le but d’améliorer leur
qualité et d’en extraire des informations. Le traitement d’images numériques
est une discipline qui s’est développée rapidement grâce aux développements
importants qu’ont connus les domaines du multimédia.
Le traitement d’image s’appuie notamment sur les mathématiques liées à
l’information, ces traitements permettent de stocker plus facilement les images
et d’améliorer leur qualité.
1.2.1 Les types d’images
On distingue deux types d’images numériques : l’image en pixels et l’image
vectorielle.
1.2.1.1 L’image en pixels
L’image en pixels (Bitmap) se présente sous forme d’une grille dotée de deux
axes, X et Y, constituée d’une multitude de points : appelés les pixels. Derrière
chaque pixel se trouve un échantillon de couleur.
La définition (ou la précision) d’une image matricielle dépend ainsi du nombre
de pixels qui la composent. Plus ils sont nombreux, plus l’image sera nette :
c’est la résolution (Figure 1.1).
1.2.1.2 L’image vectorielle
L’image vectorielle est issue de formules géométriques, c’est-à-dire un ensemble de points reliés par des segments de droite, polygones, arcs de cercle, et
des courbes formant un tracé. C’est le processeur qui se chargera de "traduire"
ces formes en informations interprétables par la carte graphique.
L’intérêt avec ce type d’images c’est la possibilité d’agrandir une image
vectorielle sans perdre la qualité initiale. On se sert de ce type d’images pour
représenter des formes simples (Figure 1.2).
25
Chapitre 1 Concepts fondamentaux
Figure 1.1 – Exemple d’image en pixels
Figure 1.2 – Exemple d’image vectorielle
1.2.2 Avantages et inconvénients des deux types d’images
Les images en pixels sont adaptées au monde de la photographie. Elles permettent bien entendu de représenter tout autre type d’image comme des dessins, des schémas, des cartes, ...etc. Cependant ce type d’images souffrent du
« phénomène de pixellisation » qui veut que moins la photo est de qualité,
plus on voit apparaitre les petits carrés de pixels, mais en contre partie, plus
l’image est de qualité, plus le fichier est volumineux.
L’avantage principal de cette représentation réside dans l’indépendance des
26
1.3 Extraction et description des caractéristiques d’images
parties de l’image. La dégradation d’une partie de l’image n’entraîne pas la
dégradation totale de l’image.
Mais les modifications spatiales, simples dans leur principe, impliquent un
temps de calcul important et présentent certains problèmes : perte d’information par réduction de taille, effets d’escalier, ...
A l’inverse, les images vectorielles s’avèrent plutôt légères. Elles ont aussi
la propriété de pouvoir être agrandies sans limite et sans pixellisation, chaque
ligne et chaque forme étant recalculée dynamiquement.
Par contre, elles sont plutôt destinées à la création de rendus relativement
simples comme des schémas, des diagrammes, ...etc. Contrairement aux images
en pixels, les modifications spatiales de l’image sont relativement souples car
elles consistent en opérations géométriques qui ne conduisent pas à la perte
d’information.
L’inconvénient de ce type d’images, est qu’elles ne permettent de représenter
que des formes simples. Elles ne sont pas donc utilisables pour la photographie
notamment pour obtenir des photos réalistes.
1.3 Extraction et description des caractéristiques
d’images
La description du contenu des images est une étape essentielle dans un système de recherche d’image par le contenu, car la performance des CBIR dépend
en grande partie du choix des descripteurs employés et des techniques associées
à leurs extractions. Un descripteur est défini comme la connaissance utilisée
pour caractériser l’information contenue dans les images [Ngu09]. Cette étape
permet de fournir une représentation du contenu de l’image appelé aussi signature de l’image.
De nombreux descripteurs sont utilisés dans les systèmes de recherche pour
décrire les images. On peut distinguer deux types de descripteurs : des descripteurs globaux, et des descripteurs locaux. Les descripteurs globaux sont
obtenus à partir de l’image entière. Par contre, les descripteurs locaux caractérisent un ensemble de régions locales significatives de l’image qui sont riches en
information (figure 1.3). Les travaux récents sur les systèmes d’indexation et
de recherche d’images par contenu se concentrent le plus souvent sur l’extraction des descripteurs locaux qui sont plus efficaces pour la recherche d’images
par contenu. Les points d’intérêt sont des régions de l’image riches en termes
de contenu de l’information locale et stables sous des transformations affines
et des variations d’illumination. Les points d’intérêts sont aussi plus stables
que les régions ou les contours de l’image et leur extraction est plus simple
[Pha09].
27
Chapitre 1 Concepts fondamentaux
(a)
(b)
Figure 1.3 – l’image (a) représente un descripteur global, et l’image (b) représente un descripteur local
1.4 Descripteurs d’images
Pour décrire l’image (a) de la figure 1.3, des descripteurs de bas-niveau sont
utilisés, appelés aussi vecteurs caractéristiques, tels que la couleur, la texture
et la forme. . .
Forme : les techniques de modélisation peuvent être classifiées en deux
catégories. L’approche contour décrit une région au moyen des pixels
situé sur son contour. L’approche région considère une région par rapport
aux caractéristiques des pixels que cette région contient.
Couleur : la couleur est en général définie au moyen de triplets numériques
permettant de coder l’intensité de ces composantes. On distingue les
espaces de couleurs définis selon des propriétés comme RGB (Red, Green,
Blue), et ceux basés sur la perception humaine des couleurs comme HSV
(Hue, Saturation, Value). Pour modéliser la distribution des couleurs, on
utilise généralement un histogramme indiquant l’intensité d’une couleur
en abscisse, et le nombre de pixels en ordonnée.
Texture : une texture peut être caractérisée par les attributs de contraste,
de régularité et de périodicité du motif. Dans le cadre de la recherche
par le contenu, elle permet de distinguer des zones de couleurs similaires,
mais de sémantique différente.
Pour l’image (b) l’extraction et la description des régions d’intérêt est une
technique de plus en plus utilisée avec succès dans plusieurs domaines de la
vision par ordinateur, cette technique consiste à mettre en évidence des zones
de cette image jugées « intéressantes » pour l’analyse, c’est-à-dire présentant
28
1.4 Descripteurs d’images
des propriétés locales remarquables. Les algorithmes de détection de points
d’intérêt se focalisent en général sur des points particuliers des contours, sélectionnés selon un critère précis. Ainsi, les coins (corners) sont les points de
l’image où le contour.
Dans [BJ99], les auteurs indiquent que la majorité de la littérature suppose
qu’une région/point d’intérêt est équivalente à un coin dans l’image, ou, plus
généralement, une région caractérisée par une valeur intéressante du gradient
de luminosité dans plusieurs directions.
En général, une région d’intérêt possède les caractéristiques suivantes :
– Elle a une définition mathématique formelle,
- Elle a une position précise dans l’image,
– Elle est riche en informations visuelles locales,
– Elle est stable face à des variations locales et globales de l’image, i.e., elle
conserve les mêmes informations visuelles en cas de variation [AMC10].
Pour utiliser donc les points d’intérêt, il faut caractériser la région autour de
ces points. La caractérisation d’un point d’intérêt est calculée, sur la région
autour de ce point à une échelle choisie. La région invariante est définie comme
une région stable dans une image. Ça veut dire que si on transforme cette image
avec quelques conditions comme l’échelle, la rotation, la lumière, cette région
est aussi détectée (Figure 1.4).
Figure 1.4 – Exemple de deux images : détection de points d’intérêt (description basée sur l’information locale) avec un changement d’échelle
(rotations différentes et en lumière différentes)
Les régions d’intérêts sont localisées via un détecteur, il s’agit d’un algorithme ou un logiciel qui a le rôle de décrire une région par une description.
29
Chapitre 1 Concepts fondamentaux
Dans [GBTD09], les auteurs ont catalogué différentes techniques de détection
et de description de régions d’intérêt par leur robustesse aux rotations et aux
changements d’échelle.
Afin d’être le plus invariant possible aux changements d’échelle, les points
d’intérêt sont extrait par le biais d’une analyse multi-échelle globale de l’image,
nous citons le détecteur Harris-Laplace, le Fast-Hessien et la différence de
gaussienne [Low04]. La partie description s’appuie sur une exploration locale
du point d’intérêt afin de représenter les caractéristiques du voisinage.
Dans des études comparatives [BJ99] et [MS05a], il est démontré que l’utilisation d’histogrammes de gradients orientés (HOG) permet d’obtenir de bons
résultats. Parmi les nombreuses méthodes utilisant des HOG, nous retiendrons
le SIFT (Scale Invariant FeatureTransform) [Low04], car détecteur et descripteur à la fois, il se compose d’une différence de gaussienne (DoG), couplée à
des R-HOG.
Le détecteur s’appuie sur une approximation du laplacien de gaussienne
[Lin98], afin d’effectuer une analyse multi-échelle de l’image, il génère par la
suite un vecteur de 128 éléments. La création du vecteur se base sur les facteurs
de direction de la région.
Dans cette image, « key point descriptor » est les facteurs de direction de
la région normalisée à gauche. « Key point descriptor » est ensuite normalisé
par un vecteur.
30
1.4 Descripteurs d’images
Exemple de descripteur SIFT
Image original
Figure 1.5 – Les points d’intérêt de l’image à l’aide du descripteur SIFT
D’autres descripteurs ont été proposés dans la littérature :
Shape context [BMP02], le principe de cet algorithme est d’extraire d’une
image les point en décrivant les contours, et d’obtenir pour chacun de ces
points le contexte de forme en déterminant la distribution relative des points
les plus proches au moyen d’un histogramme de distribution de coordonnées
log-polaires.
PCA-SIFT [KS04], est un vecteur de gradients d’image dans les directions
x et y calculé à l’intérieur de la région de support. La région du gradient est
échantillonnée en 39 × 39 positions, générant un vecteur de dimension 3042.
Cette dimension est réduite à 20 par la méthode d’analyse en composantes
principales.
Gradient Location and Orientation Histogram (GLOH) [MS05a], est une extension du descripteur SIFT dont la robustesse et le caractère distinctif ont
été améliorés.
31
Chapitre 1 Concepts fondamentaux
Une étude comparative sur l’évaluation de la performance des descripteurs
est présentée dans [MS05b].
1.5 Synthèse
Nous détaillons dans ce qui suit, une synthèse sur l’extraction et la description d’images par les caractéristiques globales, et les caractéristiques locales.
1.5.1 Caractéristiques globales
Le scénario de recherche d’images par le contenu le plus élémentaire, et
le premier historiquement, est celui de recherche globale par l’exemple. Une
manière efficace de faire intervenir l’utilisateur dans le processus de la recherche
par le contenu est de lui demander un exemple se rapprochant de ce qu’il
recherche, ceci en choisissant une image exemple, ou en fournissant une image
ou en dessinant une image requête. La recherche donne comme résultat les
images qui ressemblent à l’image requête.
1.5.1.1 Limites de l’approche globale
Dans le cadre de la recherche globale, de nombreux descripteurs d’images et
mesures de similarité ont été proposées, afin de caractériser les informations
de couleur, texture et forme.
Des caractéristiques de couleur (telles que les histogrammes) et de texture
(telles que les histogrammes de contours) sont relativement triviales à extraire
et donnent pour la plupart de bons résultats dans le cadre de recherche par
similarité entre images. Cependant, ces caractéristiques sont des informations
globales et ne permettent pas toujours de prendre en compte leur distribution
spatiale dans l’image. Cependant, la recherche se base sur une mesure de similarité calculée entre les images cibles et la requête. En conséquence, les images
résultats retournées par le système sont proches de l’exemple, autrement dit,
similaires à la requête au sens de la mesure adoptée.
La figure 1.6 présente les résultats d’une requête portant sur les «portraits
d’enfants». La base de données utilisée contient environ 6000 images variées.
Les résultats correspondent aux 12 images les plus proches de l’image proposée
en exemple. Les caractéristiques extraites des images sont relatives à la couleur
et à la texture. On constate que la sémantique des images résultats est très
différente de la sémantique de l’exemple. Le système retourne une seule image
dont la sémantique est proche de celle recherchée (image numéro 9) [Fou02].
Ceci signifie que les caractéristiques globales ne traduisent pas la notion de
sémantique contenue dans l’image. Par conséquent, un tel système ne permet
de satisfaire que des requêtes de bas niveaux ou encore de retrouver les images
présentant certaines caractéristiques primaires précises.
32
1.5 Synthèse
Figure 1.6 – Illustration du fossé sémantique
La limitation de ces méthodes de recherche et de navigation exploitant la
description visuelle globale des images, est l’hypothèse implicite que l’intégralité du contenu de l’image est pertinente pour le besoin de l’utilisateur. L’image
est considérée comme une entité visuelle atomique, alors que l’humain perçoit
généralement une image comme une entité composite d’objets. L’intérêt de
l’utilisateur peut porter sur une ou plusieurs composantes d’images ou bien il
peut souhaiter ignorer le fond d’une image qu’il ne jugera pas pertinent pour sa
requête. Il est, donc, important de permettre à l’utilisateur de désigner explicitement les composantes pertinentes dans les images et d’effectuer la recherche
à partir de celles-ci afin de réduire le fossé sémantique de l’approche globale
[Fau03].
1.5.2 Caractéristiques locales
Lorsque l’on parle de requête partielle, nous nous intéressons à la recherche
de zones particulières de l’image. Il s’agit de se détacher d’une description globale pour aller vers une description au niveau local. Le but est de se rapprocher
de la sémantique. Afin d’extraire des caractéristiques locales, il est indispensable de détecter les zones d’intérêt de l’image, se sont les points saillants de
l’image, puis de calculer en chacune de ces zones un vecteur caractéristique.
La détection de composantes d’images dans de grandes bases est un problème
difficile, particulièrement lorsqu’elle doit être automatique. Dans la littérature,
pour la recherche par le contenu, différentes méthodes existent pour définir
et extraire des composantes d’images. Les points d’intérêts, dans une image,
33
Chapitre 1 Concepts fondamentaux
correspondent à des doubles discontinuités de la fonction d’intensités. Cellesci peuvent être provoquées, comme pour les contours, par des discontinuités
de la fonction de réflectance ou des discontinuités de profondeur. Ce sont par
exemple : les coins, les jonctions en T (Figure 1.7).
Figure 1.7 – Différents types de points d’intérêts : coins, jonction en T
1.5.2.1 Techniques existantes pour l’indexation d’images par les
caractéristiques locales
a) Détourage manuel
Le détourage manuel des zones d’intérêt des images de la base (voir [Smi97])
présente l’avantage de définir les régions selon les attentes de l’utilisateur.
Cependant l’inconvénient majeur est la pénible intervention de l’utilisateur
qui n’est pas fiable pour extraire les régions dans des grandes bases d’images.
b) Blocs d’image
A l’opposé en termes de coût calculatoire et de précision, la subdivision systématique d’images en blocs [MBNW99, MBM99] est simple et non-supervisée,
mais très approximative : des descripteurs visuels sont calculés sur les cellules
d’un quadrillage constant de l’image. La subdivision est tributaire de l’échelle
spatiale de la grille qui ne s’adapte pas au contenu de l’image. Dans des zones
uniformes, les cellules seront inutilement trop nombreuses et seront non significatives sur des zones à forte variation photométrique locale. Les méthodes de
recherche basées sur cette technique permettent de comparer une combinaison
de plusieurs carrés dans l’image requête avec plusieurs carrés dans les images
de la base. La combinatoire induite par cette méthode est coûteuse et non
précise.
c) Rétroprojection d’histogramme
Proposée par Swain et Ballard [SB91], la rétroprojection d’histogramme ne
nécessite pas de prédéfinir de zones d’images a priori, comme pour les points
d’intérêt. Elle est originale mais peu utilisée, elle procède de la façon suivante :
34
1.5 Synthèse
à partir de l’histogramme d’une zone requête, éventuellement définie dynamiquement pour chaque pixel (sa couleur quantifiée est notée c), on définit une
intensité égale à la valeur de la cellule c de l’histogramme quotient entre l’histogramme de la requête et l’histogramme global de l’image candidate. L’image
des intensités crées est moyennée et les lieux de fortes intensités correspondent
à la position la plus probable de l’histogramme requête. Cette méthode est coûteuse, puisqu’elle suppose un parcours de chaque image pour chaque couleur
d’histogramme au moment de la requête. Smith s’en est inspiré dans VisualSeek [SC96, Smi97] pour extraire des régions au moment de l’indexation.
d) Points d’intérêt
Les points d’intérêt [ZDFL95] ont été employés pour des problèmes de mise
en correspondance précise de lieux entre deux images correspondant à des
vues différentes d’une même scène. Les propriétés de stabilité et de répétitivité de leur détection ont motivé leur application à la recherche d’images par
le contenu. Ils ont été initialement appliqués à la recherche globale d’images
en niveaux de gris [SM97]. Les points d’intérêt couleur [MGD98] ont ensuite
été utilisés pour une approche de recherche par parties d’images [GB01]. La
caractérisation de composantes d’images par points est efficace pour retrouver
avec précision des détails fins, mais leur mise en œuvre reste aujourd’hui coûteuse au niveau de la mesure de similarité. De plus, ils ne se prêtent pas à la
caractérisation de zones lisses ou uniformes.
De nombreuses méthodes ont été proposées pour détecter des points d’intérêts. Elles peuvent être classées suivant trois catégories :
1. Approches contours : l’idée est de détecter les contours dans une image
dans un premier temps.
Les points d’intérêts sont ensuite extraits le long des contours en considérants les points de courbures maximales ainsi que les intersections de
contours.
2. Approches intensité : l’idée est cette fois-ci de regarder directement
la fonction d’intensité dans les images pour en extraire directement les
points de discontinuités.
3. Approches à base de modèles : les points d’intérêts sont identifiés
dans l’image par mise en correspondance de la fonction d’intensité avec
un modèle théorique de cette fonction des points d’intérêts considérés.
Les approches de la deuxième catégorie sont celles utilisées généralement. Les
raisons sont : indépendance vis à vis de la détection de contours (stabilité),
indépendance vis à vis du type de points d’intérêts (méthodes plus générales).
e) Régions d’intérêt
La dernière famille de systèmes de requêtes partielles d’images repose sur la
segmentation non supervisée des images de la base. Chaque image est parti-
35
Chapitre 1 Concepts fondamentaux
tionnée en un ensemble de zones photométriquement homogènes, les régions,
qui sont indexées individuellement par des descripteurs visuels statistiques.
Dans une image requête, l’utilisateur peut sélectionner la région qui l’intéresse et retrouver les images comportant une région similaire. Cette approche a
été utilisée, entre autres, dans les systèmes Blobworld [BCGM98], VisualSeek
[SC97], Netra [M+ 67].
Dans [RPGB99] Ravishankar et al. ont présenté une méthode pour l’extraction des régions de couleurs dites dominantes de l’image. L’algorithme utilisé
est une simple extraction de composantes connexes et le seul attribut utilisé
pour la segmentation est la couleur. L’image est donc composée d’un ensemble
de régions caractérisées par leur couleur, leur taille et leur position relative. Les
signatures de toute la base sont ensuite stockées dans une table de hachage.
D’autres chercheurs ont aussi proposé le même type de système pour la
recherche centrée autour de la région, utilisant les attributs classiques de couleur, texture et forme auxquels ils ajoutent des caractéristiques de taille et de
localisation spatiale absolue.
1.5.2.2 Comparaison des techniques
Dans les approches manuelles, par blocs et par régions, les composantes
d’images sont explicitement définies dans la phase d’indexation (c’est-à-dire
“off-line”). Par contre, la notion de composantes d’image dans le cas des points
d’intérêt et de la rétroprojection de primitives ne prend de sens qu’au moment
de la recherche (c’est-à-dire “on-line”). La définition dynamique des composantes au moment de la recherche offre une souplesse intéressante, mais entraîne un coût calculatoire de recherche très élevé. De plus, les caractéristiques
géométriques (position, taille, forme) sont difficilement intégrables dans ces
représentations.
La représentation partielle par régions d’intérêt correspond à un bon compromis car elle est adaptative au contenu visuel de l’image (contrairement aux
blocs), totalement automatique (contrairement au détourage manuel) et rapide
pour la recherche (contrairement aux points d’intérêts et à la rétroprojection
de primitives). Elle présente l’avantage de réduire considérablement la complexité du système, donc de convenir à la recherche dans de grandes bases. De
plus, elle se prête naturellement à une modélisation haute niveau des images
dans laquelle une image est considérée comme un ensemble structuré d’objets
possédant des caractéristiques individuelles et relatives.
1.5.2.3 Limites de l’approche locale
Dans la littérature, l’approche la plus développée en recherche d’images par
régions, correspond au paradigme de recherche par région exemple. L’utilisateur sélectionne une région exemple dans une image et le système retrouve les
images, comportant une région visuellement similaire.
36
1.5 Synthèse
Ce paradigme comporte les deux problèmes suivants :
— Le premier est non-trivial, il s’agit de la détection automatique des régions dans une base d’images qui doivent être significatives pour l’utilisateur. Les régions obtenues sont souvent peu satisfaisantes ou trop petites
et donc trop homogènes pour constituer des clés de requête pertinentes.
— Le second problème est celui de la description et de la similarité visuelle
des régions qui doivent prendre en compte la spécificité visuelle des régions.
Une technique différente impliquant la mise en correspondance de régions pour
la recherche d’images est proposée par Wang, Li et Wiederhold dans le système
SIMPLIcity [WLW01] et plus tard par Sridhar, Nascimento et Li [SNL02].
La similarité entre deux images est mesurée comme combinaison des similarités entre toutes les régions constituantes de chaque image. Bien qu’utilisant
les régions, cette approche correspond au paradigme de recherche par imageexemple. En effet, le système retourne les images dont l’apparence visuelle
globale est similaire à l’image exemple. L’utilisateur n’a pas la possibilité de
désigner explicitement des régions requête. Malgré que cette approche permet
de donner des résultats plus proche de la sémantique de la requête cela est
insuffisant [Fau03].
D’où l’intérêt d’introduire d’autre média tel que le texte pour avoir plus de
sémantique.
37
Chapitre 1 Concepts fondamentaux
1.5.3 Représentation globale ou locale ?
Ci-dessous un tableau récapitule les principaux avantages et les inconvénients des différentes représentations présentées précédemment :
Représentation
Locale
Globale
Avantages
Inconvénients
- certaines invariances sont
faciles à obtenir
- extraction pour un coût
de calcul plus faible
- comparaison plus simple :
comparaison des entités
avec un vecteur unique
- pas adaptés pour
retrouver communes
des parties entre
deux images
- pas robustes en cas
de changement de
résolution des images
ou d’extraction de
sous-images,
- plus de résistance à la
plupart des transformations
- robuste : statistiques
dépendantes de plusieurs
descripteurs
- description plus précise
d’une image dans
son ensemble
- points ou région
significatives extraites
moins significatives
donc moins
pertinentes
Table 1.1 – comparaison entre différent type de représentations d’images
1.6 Architecture générale d’un système
d’indexation et de recherche d’images
Classiquement, un système de recherche d’images par contenu visuel comporte une phase hors ligne d’indexation de la base d’images et une phase en
ligne de recherche, que nous décrivons dans les deux sections suivantes. La figue
1.8, représente l’architecture générale d’un système d’indexation et recherche
d’images par le contenu, ce système s’exécute avec les deux étapes : l’étape
d’indexation et l’étape de recherche.
— L’étape d’indexation a pour but l’organisation et la préparation de la
base de données. Cette phase est dite hors-ligne, car elle s’effectue avant
toute recherche. Elle englobe les traitements suivant :
— L’extraction de descripteurs caractéristiques des images,
38
1.6 Architecture générale d’un système d’indexation et de recherche d’images
— La construction des index à partir des descripteurs. Le but est de
mettre en place des techniques permettant d’accéder le plus rapidement possible à n’importe quel descripteur lors de la recherche.
— L’étape de recherche prend un vecteur requête en entrée et utilise un
algorithme qui profite pleinement de l’étape d’indexation, confinant ainsi
la recherche de données similaires.
En d’autres termes ; pendant la consultation de la base, l’utilisateur sélectionne une image par le biais d’une interface graphique. Les index ou
signatures de la requête sont confrontés aux index des images de références, ainsi le système sélectionne et présente à l’utilisateur les images
les plus similaires à la requête.
Le contenu visuel des images de la base qui est extrait et décrit est appelé signatures d’image. Les signatures des images de la base constituent une base de
signatures. Pour rechercher des images, l’utilisateur fournit une image exemple
(appelée requête). Différentes méthodes de formulation de requêtes existes, le
traitement de celles-ci dans le système dépend de la manière dont on lui présente l’information. Un modèle de recherche spécifie le mode de représentation
de la requête. Nous listons ci-dessous les types de méthodes d’interrogation
d’images qui peuvent être classifiés en six catégories [AY99] :
• Requête sur une seule caractéristique : la sélection des images est
basée sur une seule caractéristique, les pourcentages de différentes valeurs
prises sont déterminés par l’utilisateur. Un exemple de ce type de requête
est de trouver les images contenant 10% de rouge, 30% de vert et 60%
de bleu.
• Requête simultanée sur plusieurs caractéristiques : la requête
utilisateur est une combinaison de plusieurs caractéristiques (couleur,
texture, forme). Un exemple de ce type de requête est de trouver les
images contenant 10 % de rouge et 30% de vert et 60% de bleu de la
texture d’arbre.
• Requête sur la localisation des caractéristiques : l’utilisateur précise les différentes valeurs prises par les caractéristiques et l’emplacement
de ces caractéristiques dans l’image. Un exemple de ce type de requêtes
est de trouver les images dont 25% de la couleur rouge est situé à gauche
de l’image.
• Recherche d’image par croquis (query by sketch) : l’utilisateur
dessine sa requête à l’aide d’une interface graphique pour chercher les
images qui lui ressemblent dans la base. On distingue deux types de
dessin :
- Le croquis [DM00] : l’utilisateur décrit ce qu’il désire en représentant
précisément les contours des objets, généralement en une seule et
unique couleur, seul l’aspect forme porte l’information.
39
Chapitre 1 Concepts fondamentaux
- Le dessin grossier [DSMM99] : un dessin coloré est proposé par
l’utilisateur. Il contient une représentation colorée de chaque objet,
mais ou (le « mais ou » rend la phrase lourde) les contours sont
généralement vagues. L’information couleur (les couleurs mêmes mais
aussi l’agencement de celles-ci) est donc primordiale, au contraire de
la forme qui n’est pas très représentative.
• Recherche d’images par objets : l’utilisateur décrit les caractéristiques d’un objet d’une image plutôt que l’image entière, le but est de
rechercher un objet précis dans une série d’images. Un exemple de ce
type de requête est de trouver les images contenant une personne. On
peut aussi combiner plusieurs objets et spécifier les relations spatiales
entres les différents objets. Un exemple de ce type d’interrogation est de
trouver les images ou une personne est assise à côté d’un arbre.
• Recherche par l’exemple : Dans ce cas, le système a besoin de comparer un exemple de même type (image) avec la base pour produire les
images similaires. Cette méthode est simple naturelle et ne nécessite pas
de connaissance approfondies pour manipuler le système. Elle est donc
bien adaptée à un utilisateur non spécialiste.
Après la formulation, le système représente la requête par sa signature. Les
mesures de similarités/dissimilarités entre la signature de la requête et celle de
toutes les images de la base sont calculées et comparées. Le résultat est le plus
souvent présenté sous forme d’une liste des images de similarité descendante.
Comme toutes les images de la base doivent être examinées pour retrouver
des images similaires à la requête, le coût devient prohibitif lorsque la taille
de la base augmente. Pour remédier à ce problème, la plupart des systèmes
RIC utilisent un schéma d’indexation qui fournit une méthode de recherche
très efficace. L’idée principale est de ne pas parcourir toutes la base mais
d’examiner une seule petite partie de la base [Neg14].
40
Figure 1.8 – Diagramme pour un système de recherche d’images par le contenu typique
1.6 Architecture générale d’un système d’indexation et de recherche d’images
41
Chapitre 1 Concepts fondamentaux
1.7 Mesures de similarité entre les descripteurs
Dans la recherche des contenus visuellement similaires, les images sont représentées par leurs caractéristiques (globale ou locale) sous forme de vecteur
multidimensionnel. La mesure de similarité entre deux images se ramène à une
métrique définie sur un espace vectoriel. L’idée clé dans la recherche d’images
est la recherche approximative d’où l’utilisation de notion de proximité, et de
distance entre objets. Généralement, la requête est exprimée sous la forme d’un
ou de plusieurs vecteurs de grande dimension, on cherche alors les plus proches
voisins de la requête, et cela durant la phase en ligne, où le système calcule la
correspondance entre le descripteur de l’image-requête et chaque descripteur
des images de la base.
Généralement une mesure de similarité vérifie les propriétés suivantes [HMK10] :
- La perception : une faible distance dans l’espace caractéristique indique
deux images semblables.
- Le calcul : la mesure de distance se calcule rapidement pour une faible
latence.
- La stabilité : le calcul de distance ne doit pas être affecté par une modification de la taille de la base.
- La robustesse : la mesure devra être robuste aux changements des
conditions d’acquisition d’image.
De ce fait le calcul, établi par une mesure de similarité a pour résultat une
liste ordonnée des images de la base. La première image de cette liste est celle
qui est considérée par le système comme la plus pertinente, c’est-à-dire celle
qui répond le mieux à la requête image.
La complexité de calcul d’une distance doit être raisonnable parce que dans
un système CBIR, cette tache s’exécute en temps réel. D’autres paramètres
entrent en jeu tel la dimension de l’espace caractéristique, la taille de la base,
...etc.
De nombreuses définitions de distances existent, chacune donnant évidement
des résultats différents.
Considérons deux vecteurs caractéristiques X = (x1, x2, . . . , xn) et Y =
(y1, y2, . . . , yn), la similarité entre eux peut être calculée par les différentes
distances décrites en détails dans ce qui suit.
1.7.1 Distances de Minkowski
La distance de Minkowski est une famille de distances vectorielles. Cette
distance d’ordre r (ou Dr ) est définie par :
42
1.7 Mesures de similarité entre les descripteurs
n
X
Dr (X, Y ) =
!1/r
r
| xi − yi |
(1.7.1)
i=1
Où r ≥ 1 est le facteur de Minkowski, et n la dimension de l’espace caractéristique.
Plus le paramètre r augmente plus la distance Dr aura tendance à favoriser
les grandes différences entre coordonnées. La distance Euclidienne et la distance de Manhatan sont des cas particulier de cette distance. Pour r = 1 on
obtient la distance de Manhatan ou city block :
D1 (X, Y ) =
n
X
!
| xi − yi |
(1.7.2)
i=1
Cette norme est plus appropriée pour mesurer la similarité entre les données
multi-variées.
Pour r = 2, on obtient la distance Euclidienne :
D2 (X, Y ) =
v
u n
uX
t

| xi − yi |2 
(1.7.3)
i=1
La distance euclidienne est couramment utilisée dans des espaces à deux ou 3
dimensions, elle donne notamment de bons résultats si l’ensemble des données
présentes des classes compactes et isolées [Sai07].
Pour r = ∞, on obtient la distance Chebyshev ou la distance maximum :
D∞ (X, Y ) = r→∞
lim
v
u n
uX
r
t
| xi − yi |r = supi (| xi − yi |)
(1.7.4)
i=1
Cette distance est adaptée aux données de grandes dimensions.
1.7.2 Distance quadratique
La distance quadratique favorise les éléments les plus ressemblants. Sa forme
générale est donné par :
Distqua (X, Y ) =
=
h
i1 (X − Y )t A (X − Y )

n X
n
X

(X (i) − Y
2
(1.7.5)
1
2
(i)) (X (j) − Y
(j)) aij 
i=1 j=1
43
Chapitre 1 Concepts fondamentaux
Où A = [aij ] est une matrice de similarité, et aij est la distance entre deux
éléments des vecteurs X, Y . aij est donnée par :
aij = 1 −
dij
dmax
et
dij =| xi − yi |
Où dij est la distance dans l’espace couleurs considéré et dmax le maximum
global de cette distance. Les propriétés de cette distance la rendraient proche
de la perception humaine de la couleur, ce qui en fait une métrique attractive
pour l’application CBIR.
1.7.3 Distance Mahalanobis
La distance de Mahalanobis est un cas particulier de la forme quadratique,
elle prend en considération la corrélation entre les données. Elle est définie
comme suit :
DistM ah (X, Y ) = (X − Y )
Où
P
−1
X
!
(X − Y )
r
(1.7.6)
est la matrice covariance entre l’ensemble des descripteurs d’images.
1.7.4 Distance d’Earth Mover (EMD)
La distance EMD définit une mesure de travail minimale pour changer une
signature en une autre. Le calcul de la distance EMD se ramène à la solution
d’un problème de transport résolu par optimisation linéaire. Elle est alors
définie comme :
Pnx Pnx
DistEM D (X, Y ) =
i=1
gij dij
j=1 gij
j=1
Pnx Pnx
i=1
(1.7.7)
Où dij indique la distance entre les deux indices i et j, et le gij flot optimal
P x Pnx
entre les deux distributions telles que le coût total ni=1
j=1 gij dij est minimal
sous les contraintes suivantes :
gij ≥ 0, ∀i, j
nx
X
gij ≤ yi , ∀j
i=1
44
1.7 Mesures de similarité entre les descripteurs
nx
X
gij ≤ xi , ∀i
j=1
nx X
nx
X
gij = min (xi , yi )
i=1 j=1
Cette méthode de comparaison est très coûteuse car elle requiert la résolution
d’un problème d’optimisation linéaire soluble de façon itérative.
1.7.5 Distance Cosinus
La distance cosinus (SCO) mesure la similarité entre X et Y en calculant le
cosinus de l’angle entre eux, ce qui détermine si deux vecteurs pointent dans
la même direction. Elle est définie ainsi :
n
X.Y
i=1 xi × yi
q
= qP
scos (X, Y ) = cosθ =
Pn
2
2
n
|X|.|Y |
(x
)
×
i
i=1
i=1 (yi )
P
(1.7.8)
1.7.6 Intersection d’histogramme
L’intersection d’histogramme permet d’évaluer le recouvrement de deux histogramme normalisés H 1 et H 2 . La distance s’exprime ainsi :
Pn
D H 1, H 2 = 1 −
i=1
min Hj1 , Hj2
Pn
j=1
Hj2
(1.7.9)
1.7.7 Distances entre distributions
La similarité se mesure entre distributions de probabilités, elle consiste à
déterminer si deux distributions peuvent être issues de la même distribution
de probabilités.
Notons que les mesures suivantes (test du X 2 , divergence de Kullback-Leibler
et Jensen Différence Divergence) doivent être qualifiées de “mesures de similarités plutôt que de distance car elles n’en vérifient pas toutes les conditions.
45
Chapitre 1 Concepts fondamentaux
1.7.7.1 Distance du X2
e test statistique du X 2 teste l’hypothèse que les échantillons observés xi
sont tirés de la population représentée par les yj . On en déduit la distance
suivante entre les distributions :
Pn
i=1
D (X, Y ) =
(xi − zˆi )2
zˆi
(1.7.10)
où zˆi = (xi − yi ) /2
1.7.7.2 Divergence de Kullback Leibler
La divergence de Kullback Leibler est issue de la théorie de l’information, la
divergence de Kullback Leibler se base sur l’entropie relative de la distribution
X par rapport à Y , sa forme générale est exprimé ainsi :
DistKul (X, Y ) =
n
X
i=1
xi log
xi
yi
(1.7.11)
1.7.7.3 Divergence Jeffrey
La divergence Jeffrey est la forme symétrique de la divergence de KullbackLeibler, elle est définie comme suit :
DistDJ (X, Y ) =
n X
i=1
où mi =
yi
xi
+ yi log
xi log
mi
mi
(1.7.12)
(xi +yi )
2
1.7.7.4 Distance de Kolmogorov-Smirnov
La distance de Kolmogorov-Smirnov est appliquée aux distributions cumulées xci , est défini par :
DistKS (X c , Y c ) = maxi (| xci − yic |)
(1.7.13)
1.7.7.5 Distance de Cramer-Von Mises
Cette distance s’applique également sur des distributions cumulées, elle définie par :
DistCV M (X c , Y c ) =
X
(| xci − yic |)2
(1.7.14)
i
46
1.8 Conclusion
1.7.7.6 Synthèse sur les mesures de similarité
Le choix des descripteurs pour un système de recherche d’images par contenu
est important, ce choix influe sur les résultats attendus. Cependant, d’une part
il n’y a pas d’attributs universels, et d’autre part le choix des descripteurs
dépend fortement de la base d’image à utiliser et des connaissances à priori
qu’on peut avoir sur la base.
1.8 Conclusion
Nous avons présenté dans ce chapitre une étude structurée représentant le
modèle général des systèmes de recherche d’images par contenu (CBIR), constitué de deux phases principales : la phase hors ligne (l’extraction des caractéristiques), et la phase en ligne (recherche). La phase d’indexation sera présentée
en détails dans le chapitre suivant.
Dans ce présent chapitre nous avons exploré en premier lieu les différentes
techniques d’extraction, notamment les avantages et inconvénients de chacune.
En second lieu, nous avons présenté les différentes distances employées pour
mesurer la similarité entre les images. Notre contribution dans ce chapitre est
une analyse sur le problème majeur de la mise en place des techniques capable
de décrire le contenu visuel des images et de prendre compte les besoins des
utilisateurs par rapport à l’interprétation des images, ainsi que le choix d’une
mesure de similarité.
Pour une mesure de similarité efficace, les descripteurs doivent être eux
mêmes invariants aux dégradations d’image, assez discriminants pour distinguer entre les différentes réalisations, et stables pour ne pas être perturbés par
le bruit, car si les caractéristiques extraites sont soigneusement choisis, il est
estimé que les caractéristiques présentées fourni des informations pertinentes
et cela à partir des données d’entrée.
47
Chapitre 2
Indexation multidimensionnelle
Les caractéristiques visuelles des images, dans la base de données, sont extraites sous la forme d’un vecteur de caractéristiques. Avec le développement
des images, les méthodes d’indexation sont nécessaires pour organiser les vecteurs de caractéristiques dans une structure d’index qui prend en charge une
récupération rapide et efficace dans la base, l’objectif est de minimiser le parcours pour la recherche.
Dans ce chapitre, nous présentons séquentiellement deux principaux types
d’approches d’indexation traditionnelles : approches optimistes et approches
pessimiste. Ces approches entrainent une dégradation de performances due à
la dimensionnalité (taille des vecteurs descripteurs) et cela en raison du taux
de chevauchements qui croit en fonction de la dimension, phénomène connu
sous le nom de la malédiction de la dimension.
49
Chapitre 2 Indexation multidimensionnelle
2.1 Introduction
Durant ces dernières années, de nouvelles thématiques se sont affirmées dans
le domaine de la recherche d’images par contenu, permettant l’ouverture de
plusieurs voies de développements.
Les systèmes de recherche d’images par le contenu cherche à représenter le
contenu d’une manière automatique. A l’aide de descripteurs visuels, les données sont représentées par un ou plusieurs vecteurs numériques afin d’effectuer
des recherches par similarité visuelle à partir de ces descripteurs en se basant
sur des méthodes d’indexation rapides et efficaces. La mesure de similarité est
souvent basée sur le calcul d’une distance dans l’espace des caractéristiques, on
cherche alors les plus proches voisins de la requête. Les bases volumineuse (jusqu’à des milliards de vecteurs) et la grande dimension des vecteurs (autour de
100) rendent les méthodes classiques d’indexation impraticables, c’est-à-dire
lorsque la base d’images est de taille importante, et qu’elle ne tient plus en
mémoire centrale, la recherche de PPVs (plus proche voisin) devient extrêmement coûteuse. Elle nécessite alors l’utilisation de techniques d’indexation
multidimensionnelle afin de réduire le temps de réponse.
Ce chapitre est organisé comme suit. Dans un premier temps, nous mettons
l’accent sur le processus d’indexation logique des systèmes de recherche par
le contenu, en vue de bonnes performances lors d’interrogations. Par ailleurs,
les systèmes visuels actuels nécessitent une indexation physique adéquate. Cependant, les techniques traditionnelles ne permettent pas d’appréhender toute
la dimension des images, donnant ainsi naissance au phénomène de la malédiction de la dimension. Dans un second temps, nous présentons des solutions
proposées pour remédier à ce problème.
2.2 Etat de l’art des techniques d’indexation
Les techniques d’indexation d’image ont pour but d’organiser, de préparer et
de structurer un ensemble de descripteurs, cette étape est une partie de la phase
hors-ligne. Les techniques de recherche par le contenu quant à elles, consistent
à développer et à appliquer des outils qui permettent de sélectionner les images
les plus pertinentes par leurs contenus. Le principe est qu’à partir d’une image
requête que l’utilisateur soumet, le système renvoie un ensemble d’images qui
représente le même objet ou la même scène, ces images vont être sélectionnées
à partir d’une bases d’images dont la taille sera très variable, d’une centaine
d’images à un millions voire une extension d’un milliard d’images.
On peut classer les techniques d’indexation dans les espaces multidimensionnels en deux grandes approches :
50
2.2 Etat de l’art des techniques d’indexation
1. Approches optimistes :
L’idée maîtresse des méthodes de structuration des espaces de données
réside dans le regroupement des données en paquets. Chaque paquet regroupe un ensemble de données proches dans une zone de l’espace. Les
paquets proches peuvent être assemblés pour constituer un plus gros paquet, et ainsi de suite, donnant naissance à une structure hiérarchique
arborescente dans laquelle chaque nœud est associé à un paquet de données. Le principe de la recherche des plus proches voisins d’un vecteur
requête consiste alors à mesurer la distance entre ce vecteur et un paquet de la hiérarchie. Si ce dernier est jugé suffisamment proche, il faut
continuer la recherche dans les paquets de niveau inférieur, sinon cette
partie de l’espace peut être d’emblée éliminée de la recherche. Une telle
structuration permet de minimiser le nombre de vecteurs de l’espace à
considérer pendant la recherche.
Selon la structure d’index considérée, il existe de nombreuses stratégies pour regrouper les données en paquets. Ces derniers sont la plupart
du temps répartis dans des volumes de forme géométrique élémentaire,
comme des hypercubes, des hypersphères ou parfois leur intersection.
S’assurer alors de la proximité du vecteur requête de telles formes n’est
pas couteux en temps de calcul. Les structures d’index multidimensionnels traditionnelles en bases de données, se répartissent en deux catégories qui diffèrent de la façon dont les paquets de données sont construits :
les techniques basées sur le partitionnement des données et celles basées
sur le partitionnement de l’espace. Pour la plupart, ces structures favorisent une gestion efficace des données en mémoire secondaire et visent
donc à réduire les entrées/sorties. Nous passons en revue ces deux catégories ci-dessous, avant de présenter d’autres types d’approches.
2. Approches pessimistes :
Les approches pessimistes procédant par filtrage des données consistent
à accélérer le parcours séquentiel de l’espace en utilisant une version
quantifiée des vecteurs pendant la recherche des plus proches voisins.
Ces approches peuvent être qualifiées de pessimistes : quitte à parcourir
tout l’espace, autant le faire le plus vite possible. La technique la plus
connue est celle du VA-File, pour Vector Approximation File [WSB98].
Ici l’espace est régulièrement subdivisé en cellules et chaque vecteur est
approché par la cellule qui l’englobe.
Seules ces approximations sont chargées en mémoire principale et elles
sont toutes passées en revue durant la recherche. La quantification utilisée permet de mettre en place une distance peu coûteuse entre le vecteur
requête et les vecteurs quantifiés sous forme de cellules. Lors de la recherche, le parcours des vecteurs non candidats est ainsi plus rapide qu’un
parcours séquentiel classique des vecteurs réels. Cette technique de filtrage des données permet de réduire considérablement les entrées/sorties
51
Chapitre 2 Indexation multidimensionnelle
ainsi que le temps CPU relatif au calcul des distances qui ne sont plus
réalisées que sur une très faible partie de l’espace.
Les techniques d’indexation multidimensionnelle présentées dans la Figure
2.1 sont décrites plus en détails dans ce qui suit :
2.2.1 Approches optimistes
Cette approche regroupe trois grandes familles :
2.2.1.1 Techniques de partitionnement des données
Les techniques de partitionnement de données se basent sur un regroupement de vecteurs caractéristiques, en tenant compte de leurs proximités dans
l’espace. Ainsi chaque groupe de vecteurs est englobé dans une forme géométriques simple à manipuler telle que les hyper-rectangles, hyper-sphères, ...etc.
Un hyper rectangle est appelé rectangle englobant minimal (REM) et correspond au plus petit hyper rectangle pouvant englober l’ensemble des données
du niveau inférieur et mémorise les caractéristiques de l’hyper rectangle englobant tous les objets (REMs ou vecteurs) stockés dans le sous arbre pointé.
Le principe est d’organiser le tout sous forme d’un arbre où les formes englobantes seront stockées dans les nœuds internes, alors que les vecteurs seront stockés dans les feuilles. Nous détaillons ci-dessous les techniques les plus
connus.
2.2.1.1.1 Famille R-tree, R+-tree, R*-tree Rectangle-tree, Guttman, 1984
Le R-tree [Gut84] dérivée de la structure classique arbre B, c’est une structure arborescente qui regroupe les vecteurs en rectangles. Chaque rectangle
est le rectangle minimal englobant les vecteurs, il est associé à un nœud de
l’arbre. Les feuilles de l’arbre contiennent les vecteurs. Lorsque la contenance
d’un rectangle dépasse un seuil fixé, un algorithme de partitionnement divise
ce rectangle en sous-rectangle. Une structure d’arbre est ainsi formée.
Lors de l’insertion d’un nouveau vecteur, trois cas sont possibles :
— Le vecteur appartient à un seul rectangle feuille, on l’ajoute à ce rectangle.
— Le vecteur appartient à plusieurs rectangles feuilles, on l’ajoute dans le
vecteur dont le volume est le plus petit.
— Le vecteur n’appartient à aucun rectangle feuille, on agrandit alors le
rectangle feuille le plus proche ; cette opération tend à accroître le chevauchement.
52
Figure 2.1 – Taxonomie simple de quelques techniques d’indexation multidimensionnelle
2.2 Etat de l’art des techniques d’indexation
53
Chapitre 2 Indexation multidimensionnelle
Le partitionnement d’un rectangle en sous-rectangles va directement influer
sur la performance de la recherche. Pour pouvoir éliminer le plus de rectangles
candidats possibles, il faut limiter leur chevauchement. De plus, il faut minimiser le volume des rectangles : plus un rectangle aura un grand volume, plus les
vecteurs présents à l’intérieur peuvent être très éloignés et donc peu similaires
(Figure 2.2).
Figure 2.2 – Structure du R-Tree
Le R+-tree proposé dans [SRF87] permet de résoudre le problème du chevauchement entre REMs d’un R-tree. Pour cela deux solutions ont été proposées pour qu’un R-tree devient efficace : il faut, d’une part, minimiser le
volume de l’espace couvert par les REMs afin d’éviter de gérer les régions
vides, et d’autres part, minimiser le taux de chevauchement entre entrées d’un
même nœud. Un taux de chevauchement important rend les règles de filtrage
incapables d’élaguer les branches de l’arbre ne pouvant convenir.
Le R*-Tree [BKSS90] est une adaptation de la technique R-tree aux espaces multidimensionnels. Beckmann et al. remarquent que la réinsertion des
données stockées dans un R-Tree (suppression des données déjà insérées puis
nouvelles insertion) permet d’améliorer les performances de R-Tree, en limitant la sensibilité des R-Tree à l’ordre d’insertion des vecteurs. Pour cela ils
proposent dans le R*-Tree de supprimer puis de réinsérer dans le même niveau
de l’arbre un sous ensemble des entrées d’une page saturée avant de la fractionner. Cette réinsertion permet dans la plupart des cas d’éviter le fractionnement. Elle permet aussi de réorganiser l’arbre continuellement et diminuer
les effets d’indéterminisme dus aux changements dans l’ordre d’insertion des
données. L’insertion d’un nouveau vecteur dans l’arbre R*-Tree se base sur
deux critères : minimiser les volumes des lors d’une insertion dans un nœud et
minimiser le taux de chevauchement lors de l’insertion dans une feuille.
Le R-tree et ses variantes ont été évalués pour l’indexation d’espaces multidimensionnels. Malgré toutes les précautions prises, elles ont montré une
dégradation des performances dans les grandes dimensions.
54
2.2 Etat de l’art des techniques d’indexation
En effet, le volume du recouvrement entre hyper-rectangles augmente avec
la dimension, ce qui a pour conséquence de faire tendre la recherche vers un
parcours complet de l’arbre.
2.2.1.1.2 SS-tree, Similarity Search Tree, 1996
SS-Tree [WJ96] est une structure d’index qui englobe les données dans des
hyper sphères, Plus adapté que R-tree pour la recherche par similarité, Le
centre de la sphère est le centre de gravité des vecteurs englobés (voir figure
2.3). Chaque nœud est caractérisé par une capacité définie par l’utilisateur.
Lors de l’insertion d’un point l’assignation se fait à l’hyper sphère dont le
centre est le plus proche. Lorsqu’un nœud est saturé, un partitionnement de ce
nœud est réalisé selon la dimension suivant laquelle la dispersion des données
est la plus grande. Ainsi, une hyper sphère est représentée par un centre (point
multidimensionnel) et un rayon (valeur réelle), alors que pour représenter un
hyper rectangle deux points multidimensionnels sont nécessaires. La stratégie
est de minimiser le diamètre. L’utilisation d’hyper sphère permet de réduire la
taille de l’arbre.
Figure 2.3 – Structure du SS-Tree
2.2.1.1.3 SR-Tree, Sphere Rectengle-Tree
Les auteurs dans [KS97] proposent une extension du R*-Tree et du SS-Tree,
qui utilise à la fois des formes géométriques sphériques et rectangulaires pour
définir les régions. Une région est définie par l’intersection d’un rectangle et
d’une sphère. SR-Tree combine les avantages des deux formes géométriques,
par contre la forme résultante des régions est complexe. L’intersection donne
un petit volume pour un petit diamètre, donc moins de recouvrement entre les
nœuds.
En grandes dimensions, le volume et le chevauchement entre les cellules
de différentes formes de régions et différentes méthodes de partitionnement
devient très important. Il devient, ainsi, très difficile d’éliminer des cellules
55
Chapitre 2 Indexation multidimensionnelle
à l’aide de règles géométriques simples. Pour éviter un chevauchement des
cellules, nous pouvons utiliser une méthode de partitionnement de l’espace.
2.2.1.2 Techniques de partitionnement de l’espace de description
Les approches par partitionnement de l’espace de description consistent à
découper à priori l’espace en régions, sans tenir compte de la distribution des
données contrairement aux approches de partitionnement des données.
Les structures d’index qui en découlent sont en général simples à mettre
en place et à gérer. Les régions générées ont l’avantage de ne présenter aucun
recouvrement. L’inconvénient est que l’espace entier est représenté dans ce type
de structures, certaines parties vides seront donc inutilement visitées pendant
la recherche [GB05].
2.2.1.2.1 K-D-Tree, 1979 [Ben79]
Le K-D-Tree est un arbre binaire multidimensionnel le principe est que pour
chaque niveau de l’arbre à partitionner l’espace est divisé en deux sous-espaces
successivement selon chaque dimension. La division se fait selon la distribution des données sur cette dimension, en choisissant un hyperplan séparateur
passant par la médiane des points. On applique récursivement cette division
sur chaque partie ainsi créée en changeant de dimension, jusqu’à obtenir un
nombre de points par cellule satisfaisant.
Un partitionnement de l’espace ne crée que des cellules disjointes. L’inconvénient principal est qu’il tend à créer des régions avec de très grands volumes.
On perd alors en cohérence spatiale : des points dans une même cellule peuvent
être très éloignés (Figure 2.4).
Figure 2.4 – Structure du Kd-Tree
56
2.2 Etat de l’art des techniques d’indexation
2.2.1.2.2 LSD-tree, Local Split Decision tree, 2001
Le LSD-tree [BBK01] est une structure d’index simple similaire au k-d-tree
mais organisée en deux niveaux : le premier niveau est entièrement stocké
en mémoire principale et caractérise le partitionnement réalisé (à la façon du
kd-tree). Le deuxième niveau représente les feuilles qui contiennent les pages
de données. Lorsque la base de données est trop volumineuse, les nœuds sont
répartis sur deux niveaux dont l’un est stocké sur le disque. L’exemple de la
Figure 2.5 montre un exemple de LSD-Tree.
Figure 2.5 – Exemple d’un LSD-Tree associé au partitionnement d’un carré
dans un espace de dimension 2 [Ber04]
La structure non équilibré de LSD-Tree ne permet d’avoir ni une estimation
du temps de réponse ni une estimation de la taille du LSD-Tree, sa complexité
n’est donc pas calculable. D’un autre côté, la représentation d’une région en
utilisant uniquement la dimension et la position de partitionnement de la région
mère ne permet pas d’avoir une localisation précise des vecteurs au sein de la
région. Cela réduit les performances des algorithmes de recherche et entraîne
une gestion inutile de grandes zones d’espace vide. De plus, la détérioration
des performances dues à cet inconvénient s’amplifie lorsque la dimension des
données croît [Dao09].
Pour remédier à ce problème, le LSD-Tree a été ensuite amélioré et étendu
aux espaces de grandes dimensions par l’introduction du LSDh -Tree [Hen98],
il s’agit de minimiser le nombre de sous-espaces vides, en utilisant la notion de
régions exactes codée.
LSDh -Tree englobe les vecteurs appartenant aux régions gérées par le LSDTree dans les hyper rectangles puis les code à l’aide de chaînes binaires de
petites tailles. Les régions codées sont ainsi des hyper rectangles englobants
mais non minimaux.
57
Chapitre 2 Indexation multidimensionnelle
2.2.1.3 Indexation dans les espaces métriques
Certaines données peuvent ne pas être traduites sous forme de vecteurs
ou être géométriquement difficiles à interpréter. Cependant, si on peut leur
associer une mesure de similarité exprimable sous forme de distance, alors il
est possible d’appliquer des structures d’index dédiées aux espaces métriques.
D’autres parts toutes les techniques présentées jusqu’à présent ont pour objectif de réduire la quantité des données lues pendant la recherche sans se
soucier explicitement du coût CPU nécessaire aux opérations de calcul de distance. Cependant plusieurs structures de ce type existent dans la littérature :
elles définissent pour la plupart des points de l’espace spécifiques appelés pivots à partir desquels la propriété d’inégalité triangulaire entre distances est
judicieusement exploitée, de façon à réduire le temps CPU lié au nombre de
distances à calculer au moment de la recherche. Leur pertinence dépend du rapport entre le coût d’un calcul de distance et d’une comparaison de distances.
La toute première structure appliquant ce principe est le VP-Tree. Mais on lui
préférera une extension plus récente : le M-tree qui s’attache à minimiser le
nombre de calculs de distances, tout en ayant une structure similaire à celle du
R-tree, lui permettant de gérer les accès au disque de la façon des méthodes
traditionnelles [GB05].
2.2.1.3.1 VP-Tree, vantage point, 1993
VP-tree [Yia93] est un arbre binaire où le partitionnement se fait en utilisant
une boule (Figure 2.6). On choisit un point p aléatoirement et on le considère
comme le pivot (dit Vantage point), centre d’un "cercle" tel que 50% des points
appartiennent à ce "cercle" (dit hypersphère médiane). Puis on continue de
manière arborescente. On calcule la médiane des distances dm de l’ensemble
des points au pivot et on le considère comme le rayon de la boule. Le pivot p
et la médiane dm sont utilisés pour définir une boule B(p, dm ) qui va partager
l’espace en deux sous-espaces disjoints [Kou13].
Figure 2.6 – Principe de construction de l’arbre-VP [Yia93]
58
2.2 Etat de l’art des techniques d’indexation
2.2.1.3.2 M-tree, Metric tree, 1997 [CPZ97]
L’arbre M-tree organise l’espace de vecteurs caractéristiques en un ensemble
de régions (ou clusters) imbriquées. Chacune correspond à un nœud de l’arbre
et regroupe un ensemble de formes similaires (ou très rapprochées). Il est composé de nœuds internes et de nœuds feuilles. Chaque nœud comporte un ensemble de M entrées au maximum (la capacité du nœud).
M-Tree se base sur des distances recalculées ainsi que l’inégalité triangulaire,
cette technique évite certains calculs de distances inutiles lors de la recherche
en éliminant des sous arbres non pertinents à la requête. Dans un M-Tree,
chaque nœud de l’arbre est composé d’un objet de la base appelé objet de
redirection et un rayon appelé rayon de couverture. M-Tree est construit par
insertions successives des objets (vecteurs de la base). Le critère du choix
du chemin d’insertion vise à minimiser les rayons de couverture des objets
de redirection. Le partitionnement des nœuds saturés permet de sélectionner
deux objets du nœud puis de répartir les objets restant en minimisant le volume
de deux régions obtenues ainsi que leurs taux de chevauchement. Un schéma
représentatif de la structure du M-Tree est donné par la figure 2.7. La sélection
de deux objets de redirection peut être effectué d’une manière exhaustive,
aléatoire ou en considérant uniquement un échantillon d’objets en se basant
sur les rayons de couverture. M-Tree souffre du problème du chevauchement
qui permet d’élargir le nombre de chemins à parcourir lors d’une recherche,
le chevauchement augmente également le nombre de calculs de distance pour
répondre à une requête de l’utilisateur ce qui diminue fortement la performance
de la méthode.
Figure 2.7 – Structure géométrique du M-Tree
2.2.2 Approches pessimistes
Elles regroupent la famille de filtrage des données :
59
Chapitre 2 Indexation multidimensionnelle
2.2.2.1 VA-File, Vector Approximation File, 1997 [BW97]
Cette technique repose sur la quantification, permettant de mettre en place
une distance peu coûteuse entre le vecteur requête et les vecteurs quantifiés sous
forme de cellules. Lors de la recherche, le parcours des vecteurs non candidats
est ainsi plus rapide qu’un parcours séquentiel classique des vecteurs réels.
Pour cela Blott et al. [BW97] ont proposé la gestion de deux ensembles
de données, dont le premier est un fichier qui contient tous les vecteurs de
la base, et le second un fichier de petite taille, contenant des approximations
géométriques de ces vecteurs. Lors d’une interrogation, un premier parcours
séquentiel du ficher d’approximation permet de sélectionner les vecteurs qui
ont le plus de chances d’appartenir à l’ensemble des résultats. La recherche
séquentielle s’effectue sur le « petit » fichier d’approximations. La Figure 2.8
illustre un exemple de codage de vecteurs dans un espace de dimension 2.
2bj tranches par dimension j
2b hyper-rectangles
P
b = dj=1 bj
Figure 2.8 – Structure du VA-File
Filtrage : Lors de la recherche du plus proche voisin, le fichier d’approximation est parcouru entièrement. Les bornes maximale et minimale sur
la distance par rapport au vecteur requête peuvent être facilement déterminées en se basant sur les cellules rectangulaires représentées par
l’approximation.
60
2.2 Etat de l’art des techniques d’indexation
Après l’étape de filtrage, un ensemble de points candidats reste. Ces candidats
sont alors visités selon un ordre croissant de leur borne minimale par rapport
au point requête q, et la distance exacte à q est calculée. Cependant, on ne
parcourt pas tous les candidats. Plutôt, si une borne minimale rencontrée est
supérieure à la plus proche distance jusqu’à cette étape, la recherche s’arrête.
2.2.2.2 IQ-tree, Independant Quantization Tree, 2000
IQ-Tree [BBJ+ 00] représente une hiérarchie généralisée du VA-File. L’espace
de donnée est subdivisé en rectangles englobant minimaux (REMs) tel que les
REMs des noeuds feuilles sont approximés de la même manière que le VA-File.
Le nombre de bits utilisés pour la quantification dépend des REMs et donc les
régions ayant un grand nombre de vecteurs, sont approximées par un nombre
de bits assez élevé. Tandis que les régions peu denses, sont approximées par
un nombre de bit assez petit (Figure 2.9). C’est une méthode d’accès très
performante puisqu’elle utilise des approximations relatives de la position des
vecteurs dans l’espace de données. Elle présente une meilleure sélectivité que
le VA-File, avec une structure d’index assez complexe.
Figure 2.9 – Structure d’index IQ-Tree [Dao09]
2.2.3 Synthèse
Les techniques conventionnelles d’indexation multidimensionnelles sont efficaces dans les espaces de petites dimensions. Plusieurs travaux ont montré que
ces techniques effectuent des recherches de plus proche voisins d’une manière
efficace dans les espaces de dimension <10 [WSB98]. Leurs performances se
dégradent très rapidement et rendent les méthodes d’indexation classiques impraticables, d’où le phénomène de la malédiction de la dimension causée par
de multiples facteurs : d’une part, la représentation des données sous forme
de vecteurs descripteurs de grande dimension, que les SGBD n’arrive pas à les
utiliser toutes à la fois, d’autre part, les plus proches voisins d’une requête ont
tendance à être aussi éloignés que ses plus lointains voisins.
61
Chapitre 2 Indexation multidimensionnelle
Les tableaux ci-dessus représentent un récapitulatif des méthodes d’indexations citées précédemment.
Méthode
R-Tree
R*-Tree
SS-Tree
KD-Tree
LSD-Tree
Avantages
-Structure dynamique
- Forme englobante permettant
d’affiner les règles de filtrage
- Découpage hiérarchique
équilibré
- Variante plus efficace que
l’arbre-R
- Réduction du taux de
chevauchement
- Forme englobante avec un
arbre compacte (petite taille
des entrées d’index)
- Découpage hiérarchique
équilibré
- Implémentation simple
- Bonne utilisation de l’espace
alloué.
Inconvénients
- Taux de chevauchement fort
- Dégradation au passage à
l’échelle
- Complexité de l’algorithme et
de l’éclatement de nœuds
- Dégradation au passage à
l’échelle
- Chevauchement important
- Dégradation au passage à
l’échelle
- Coûteux et arbitraires
- Dégradation au passage à
l’échelle
- Recherche non précise
des données
- Dégradation au passage à
l’échelle
Table 2.1 – Comparaison des approches multidimensionnelles
Méthode
VP-Tree
M-Tree
Avantages
-Implémentation simple
- Structure dynamique
- Réduction des calculs de
distances
Inconvénients
Dégradation au passage à
l’échelle
- Non adapté aux données
fortement groupées
- Problème des chevauchements
- Dégradation au passage à
l’échelle
Table 2.2 – Comparaison des approches métriques
62
2.3 Malédiction de la dimension
Méthode
VA-File
IQ-Tree
Avantages
- Filtrage des données par
approximation en mémoire
centrale
- Adapté aux grandes
dimensions, bonne
sélectivité des régions.
Inconvénients
- Non adapté aux données
non uniforme
- Dégradation au passage à
l’échelle
- Structure d’index complexe
- Dégradation au passage à
l’échelle
Table 2.3 – Récapitulatif des avantages et inconvénients des méthodes d’indexation basées sur l’approche approximation
La mise en œuvre de ces outils d’indexation et de recherche dans un contexte
de très grande collection d’images fait appel à des techniques développées dans
deux domaines différents : l’analyse d’images et les bases de données.
2.3 Malédiction de la dimension
Dans les années 90, la recherche d’image par le contenu a été proposée afin
de remédier aux problèmes qu’on connu les premiers systèmes [GJ97]. Cette
thématique a donné lieu à de nombreux systèmes de recherche d’images par
le contenu commercialisés ou non (dans [Gud97], plus de 40 systèmes sont
comparés).
Ces systèmes de recherche présentent un certain nombre de faiblesses car
en présence de collections d’images volumineuses, les systèmes basés sur les
techniques d’indexation classiques ont vite montré leurs limites. D’une part
l’indexation des images est une tâche fastidieuse, et d’autres parts les résultats
des interrogations dépendent non seulement du vocabulaire employé lors de
l’indexation (source d’éventuelles imprécisions) mais aussi de la subjectivité
humaine (pour une même image, diverses personnes la perçoivent différemment).
En 1998 weber et al. ont étudié le comportement de données uniformément
et indépendamment distribuées dans des espaces de grandes dimensions.
Plusieurs propriétés ont été mises en avant [Pau08] :
– un partitionnement de l’espace crée un nombre de cellules exponentiel
selon la dimension,
– les cellules résultantes d’un partitionnement de l’espace ont un nombre de
cellules voisines exponentiel selon la dimension,
– pour conserver une densité de points lorsque l’on augmente la dimension,
il faut augmenter exponentiellement le nombre de points.
63
Chapitre 2 Indexation multidimensionnelle
Ainsi, les espaces de grandes dimensions sont généralement très creux. Les
méthodes de recherche utilisant les cellules sont comparées à la recherche séquentielle.
Pour toute méthode de partitionnement, il existe une dimension n au-delà
de laquelle une simple recherche séquentielle offre de meilleures performances.
La complexité de toute méthode de partitionnement tend à être linéaire au
nombre de données (toutes les cellules sont visitées et elles contiennent toute
une seule donnée, au mieux).
L’objectif est donc de rester efficace (pertinence des résultats) tout en étant
efficient (rapidité d’exécution, temps de calcul sous linéaire, voire logarithmique par rapport à la taille de la base).
2.4 Solutions proposées pour les espaces de
grande dimension
Le problème de la malédiction de la dimension réduit la qualité des résultats.
Il se manifeste lorsqu’il s’agit de retrouver les plus proches voisins « exacts » du
descripteur requête. Plusieurs travaux suggèrent de faire un compromis entre
la précision de la recherche et le temps de réponse. L’idée de base est donc, de
confiner la recherche, c’est-à-dire de réduire le plus vite possible l’ensemble des
données que l’on va être forcé de passer en revue. Il faut donc accepter de n’obtenir qu’un résultat approximatif. Les algorithmes se distinguent alors par leur
manière de gérer cette approximation. La question du passage à l’échelle des
techniques d’indexation n’a pas de réponse unique mais nécessite une solution
adaptée aux espaces de description de l’image considérés. De ce fait plusieurs
solutions ont été proposées récemment. Nous classifions ces solutions en quatre
grandes familles :
2.4.1 Architecture parallèle
Les architectures parallèles, celles composées de nœuds indépendants, chacun possédant ses propres processeurs, disques et mémoire vive, sont adaptées au passage à l’échelle en termes de la taille de la base ou de nombres
d’utilisateurs. Le but est de partitionner les données en groupes. Les groupes
sont ensuite indexé pour accélérer le traitement des requêtes. Dans [WBS00]
l’approche proposée est basée sur VA-FILE parallèle sur un environnement
distribué.
VA-File repose sur la gestion de deux ensembles de données : un fichier qui
contient tous les vecteurs de la base et un autre, de “petite” taille, contenant
64
2.4 Solutions proposées pour les espaces de grande dimension
des approximations géométriques de ces vecteurs. Lors d’une interrogation, un
premier parcours séquentiel du ficher d’approximation permet de sélectionner
les vecteurs qui ont le plus de chances d’appartenir à l’ensemble des résultats.
La recherche séquentielle s’effectue sur le “petit” fichier d’approximations.
Le but dans [WBS00] est de paralléliser la recherche telle que chaque machine
parcourt une partition de données caractéristiques et le coordinateur de la
machine calcule le résultat de la requête globale. L’inconvénient est que le
temps de réponse dépendra du temps d’exécution et le temps de la latence.
2.4.2 Hachage
D’après [GCP12], le hachage comporte deux étapes essentielles ; une première étape est réalisée hors ligne pour structurer les données dont le but est
de partitionner les points de la base en Buckets (Hachage de la base) : une
emprunte (clé) est calculée pour chaque points en utilisant une fonction de hachage. Le but est de regrouper tous les points qui ont la même emprunte dans
le même Bucket. Cette étape est suivie d’une étape de recherche qui consiste
à rechercher, calculer la clé de la requête afin d’accéder au BUCKET adéquat.
Une bonne clé de hachage répartit uniformément les données sur les différents
pages (sinon, accumulation des données au même endroit).
Yue et al en 2013 [YZHS13] ont proposé une méthode de classification approximative nommée Localite Clustering Sensitive (LSC) pour les données de
grande dimension dans les grandes situations d’échelle. LSC utilise des pivots
pour estimer les similitudes entre les données et génère des clusters basés sur
le schéma de hachage Sensitive Localité. En 2015 Loganathan et al. [LB15]
ont proposé un hachage spectrale multidimensionnelle qui utilise sparsification
du graphe laplacien. L’objectif est d’atteindre le hachage spectral multidimensionnel de stockage efficace.
L’avantage de ce type de travaux est que les points possédant le même
Bucket ont une forte similarité donc recherche simple et rapide. L’inconvénient
est que ces méthodes peuvent comporter un problème majeur connue dans les
méthodes de hachage qui est le problème de la collision tel que deux points
différent peuvent avoir la même clé mais pas le même sens, donc le choix des
fonctions de hachage est très important.
2.4.3 Réduction de la dimension
Les auteurs dans [SAN10] présentent les possibilités de la réduction de la dimensionnalité et le regroupement des descripteurs afin de réduire les problèmes
de performances des méthodes d’indexation causés par les hautes dimensionnalités qu’on utilise pour la description des images.
65
Chapitre 2 Indexation multidimensionnelle
La réduction de la dimension consiste à réduire la dimension des vecteurs
descripteurs et cela à l’aide des méthodes d’analyse de données. Les équipes de
recherches proposent des nouvelles structures d’index multidimensionnel, et se
focalisent particulièrement sur la réduction de la dimension par des méthodes
d’analyse de données (ACP).
Le principe général de l’ACP réside dans l’estimation d’un nouvel espace
dont les axes sont orthogonaux et assurent une dispersion maximale de chaque
composante. La réduction de la dimension s’effectue en éliminant les axes porteurs de peu d’information, autrement dit ceux pour lesquels la variance des
données est faible.
D’après [Ber04] la dimension peut être facilement réduite en utilisant ces
méthodes d’analyse de données. Or cette réduction entraine une baisse significative de la qualité des résultats.
Dans [PMG08] les auteurs proposent un algorithme incrémental et parallèle
d’analyse factorielle des correspondances pour la recherche d’images à grandes
échelle en utilisant le processeur de la carte graphique GPU, avec une dimension supérieur à 20. L’approche permet de réduire le nombre de dimension,
en diminuant le nombre d’images à parcourir. Le principal inconvénient est la
perte d’information significative.
2.4.4 Approches basées sur la représentation par mots
visuels
En raison de leurs efficacités et de la qualité des résultats qu’elles permettent
d’obtenir, les approches fondées sur les sacs de mots visuels ont pour but de
représenter l’ensemble de descripteurs d’images en caractéristiques de bas niveau discrétisées. Durant ces dernières années ce modèle est devenu très populaire. Les auteurs dans [SZ03] sont les premiers à avoir donné cette synthèse du contenu visuel dans la recherche de vidéo. De nombreux travaux se
sont inspirées de ce modèle et cela dans de nombreux domaine du multimédia
[FFP05, NJT06, JNY07, Lar08, JDS10b, JDS10a].
La représentation des images par sac de mots (SDM) consiste à quantifier les
descripteurs locaux calculés sur des régions d’intérêt, qui sont préalablement
extraites au moyen d’un détecteur invariant aux transformations affines. Les
indices de quantification de ces descripteurs sont appelés mots visuels, par
analogie avec la recherche de documents textuels.
L’image est représentée par l’histogramme des fréquences d’apparition des
mots visuels. Cette représentation permet le calcul efficace de similarités entre
images.
Les étapes à suivre pour la construction des sacs de mots sont les suivantes :
- L’identification ou l’extraction de l’information dans l’image.
66
2.4 Solutions proposées pour les espaces de grande dimension
- Quantification avec mise en correspondance des caractéristiques locales
avec les mots visuels qui consiste à associer à chaque descripteur extrait
de l’image le mot visuel plus proche par le dictionnaire visuel.
- Création d’histogramme de fréquence servant à évaluer une représentation
globale de l’image.
Donc à l’aide de la méthode sac de mot, on est arrivé à réduire la taille des
vecteurs descripteurs des images, en donnant une représentation compacte de
ces images.
Il existe d’autres approches très performantes dans [Neg14] qui permettent
de répondre à des problèmes comme la recherche de copie d’images ou de
classe d’objets, par exemple les systèmes de vote [MTS+ 05] ou les fonctions
noyaux sur sacs [GCPF07]. Cependant, ces techniques ont un coût calculatoire
prohibitif, ce qui limite leur usage aux petites bases de données.
Dans le but de réduire les calculs, des chercheurs ont proposé des modèles
approximant ces techniques, comme les approximations par tenseurs [PG11]
ou les tables de hachage [DIIM04]. Grâce à ces nouvelles méthodes, au prix
d’une perte raisonnable de pertinence, il est devenu possible de traiter les très
grandes bases (de l’ordre du million d’images). Malheureusement, le coût en
stockage est énorme, et généralement l’index à une taille comparable à celle des
fichiers images, et dans certain cas peut être des dizaines de fois plus grand !
Enfin, il existe des méthodes plus récentes qui produisent des représentations
des images très petites (de quelques octets), ce qui permet d’avoir une faible
complexité de calculs, mais ont un usage limité à la recherche d’instances
[JDS11].
Dans le contexte du clustering et de la classification de nombreux travaux
sont élaborés. Récemment en 2015 Chen et al [CYT15] ont proposé un système de classification appelé arbre discriminative hiérarchique K-means (DHKTree), qui combine les avantages des deux méthodes d’apprentissage basées
sur NN (Nearest Neighbor). D-HKTree permet d’étendre la capacité des classificateurs à base de NN pour gérer la classification d’images à grande échelle
avec un faible coût de calcul.
En 2016, Khalid et al. [KYBM16] ont proposé un descripteur basé sur 2D méthode d’histogramme avec des moments statistiques et en intégrant la
texture en utilisant des filtres de Gabor (GF). Le système proposé a été mis
en œuvre dans un environnement distribué pour la recherche d’image. Ce type
de modèle a permis de réduire le temps de recherche et de fournir une réponse
rapide. Mais malheureusement l’inconvénient de ce type d’approches reste le
coût élevé de la phase hors ligne.
67
Chapitre 2 Indexation multidimensionnelle
Les systèmes de recherche par le contenu d’images dans les grandes bases
peuvent être évalués selon trois critères : pertinence des résultats, rapidité
d’exécution et coût de stockage. Comme nous pouvons le constater, dès lors
que l’on souhaite améliorer l’un des trois critères, on perd automatiquement
sur les deux autres. La démarche usuelle jusqu’à présent est de se concentrer
très fortement sur un des critères, tout en ignorant les deux autres. Ainsi, il
n’existe pas aujourd’hui de système de recherche multimédia qui permet d’avoir
le meilleur compromis entre les trois critères.
2.5 Conclusion
La réduction de la dimensionnalité est un processus qui transforme l’espace
de donnés en un autre moins complexe. Mais pour que cette transformation soit
utile il faut prendre en considération autant que possible les caractéristiques
de l’espace initial, de façon à les préserver dans celui d’arrivée. Pour cette
raison, une faiblesse de la réduction des dimensions est la perte de précision
potentielle dans la description des données. Même si le processus pour obtenir
les clusters est coûteux, il peut être réalisé en mode hors-ligne, c’est-à-dire,
avant la mise en œuvre du système, dans une phase préliminaire. Or, cette
réduction entraîne une baisse significative de la qualité des résultats.
L’utilisation d’une méthode de clustering est intéressante mais il existe
quelques problèmes à résoudre, parmi ceux-ci, déterminer le nombre optimal
de clusters ou partitions et par conséquent leur taille. Le regroupement peut
se voir affecté du même problème que les méthodes d’indexation, car le but
est de regrouper un ensemble de points similaires les uns avec les autres, sous
forme de clusters, et ainsi faire une récupération plus rapide.
Dans le chapitre qui suit, nous explorons les différents travaux qui contournent
la réduction de la dimension, ainsi que la classification.
68
Chapitre 3
Classification et réduction de la
dimension.
L’objectif de la recherche d’images dans les espaces de grandes dimensions
est d’apporter des solutions efficaces et efficientes dans un contexte guidé par
des méthodes de classification et de réduction de la dimension. Un état de l’art
doit permettre d’analyser ce type de méthodes.
Dans ce chapitre, nous abordons les solutions apportées par ces deux domaines pour remédier au problème de la malédiction de la dimension.
69
Chapitre 3 Classification et réduction de la dimension.
3.1 Introduction
Dans le précédent chapitre, nous nous sommes intéressés aux techniques
d’indexation classiques, qui restent adaptées à des systèmes de recherche dont
les dimensions des vecteurs caractéristiques sont petites. Nous avons montré
quels sont leurs avantages et leurs difficultés.
Cependant dans les applications réelles les données sont généralement représentées par un grand nombre de caractéristiques qui rend l’utilisation des index
multidimensionnelles inapplicable. Ceci nous a conduit à exposer le problème
de la malédiction de la dimension. Ce dernier fait référence aux problèmes dont
souffrent la majorité des méthodes d’indexation multidimensionnelles dans des
espaces de grandes dimensions. Ainsi, il entraîne l’inutilité des index multidimensionnels par le manque de pertinence des résultats retournés.
Pour contourner les problématiques liées aux grandes dimensions, nous décrivons dans ce qui suit quelques principales techniques de classification qui
peuvent être employées pour l’indexation et la recherche d’images à grandes
échelle. Par la suite, certaines techniques qui permettent de réduire le nombre
de dimension afin d’éviter le problème de la malédiction sont présentées.
Dans la littérature nous rencontrons plusieurs stratégies de réduction de la
dimension. Dans le domaine de la recherche d’images par contenu, les attributs
retenus pour un ensemble de données doivent correspondre aux propriétés les
plus pertinentes de l’image. La réduction de la dimension est une méthode
permettant de découvrir l’organisation spatiale des données. Elle est appliquée
aux données ayant une relation entre les composantes des vecteurs descripteurs.
La classification (regroupement des données) a pour but de regrouper les
images en clusters ou en classes de sorte que les données d’un cluster soient les
plus similaires possibles. La réduction de la dimension et la classification représentent des solutions clés pour l’indexation et la recherche dans des espaces
de grandes dimensions.
3.2 État de l’art de la réduction de dimension
Dans [Bou06] les auteurs ont proposé une des solutions qui peut être mise
en œuvre pour limiter les effets du « fléau de la dimension » est de réduire la
dimension des données avant de les traiter. C’est en effet la solution la plus
naturelle puisqu’elle prend le problème à la source : la dimension est trop
grande, alors réduisons-la !
De fait, il est théoriquement possible de réduire la dimension de l’espace
à d dimensions sans toutefois entraîner de perte d’information. L’enjeu est
70
3.2 État de l’art de la réduction de dimension
donc d’identifier les dimensions (ou les combinaisons de dimensions) qui sont
porteuses d’informations redondantes.
Les méthodes de réduction de la dimension ont pour but de transformer
les données dans l’espace correspondant à leur dimension intrinsèque. Dans
la littérature, nous distinguons deux grandes familles : les méthodes dites linéaires et les méthodes non linéaires. Lorsqu’elles sont linéaires, ces méthodes
consistent à estimer une transformation linéaire entre l’espace original et un
nouvel espace dans lequel chaque axe représente la quantité d’information portée par la composante associée. L’approche la plus connue et la plus utilisée
est l’Analyse en Composantes Principales (ACP ou PCA en anglais) [Smi02],
pour laquelle il existe plusieurs variantes [Ger81].
Les méthodes non linéaires quant à elles permettent de préserver les propriétés globales des données, en trouvant un nouvel espace de représentation, soit
en utilisant des projections non linéaires, soit en recherchant un nouvel espace
de représentation où les distances inter-vecteurs sont sauvegardées. Les techniques les plus connues sont : le Multi-Dimensionnal Scaling (MDS), l’Analyse
en Composantes Curvilin (ACC) [DH97] et la technique kernel PCA [SSM98]
qui repose sur une reformulation de l’ACP dans un espace de grande dimension à l’aide d’une fonction noyau. Contrairement aux techniques linéaires, ces
techniques permettent de mettre en évidence des classes qui ont des formes
non-linéaires. Un exemple classique est une classe dont les points prennent la
forme d’un fer à cheval. Pour ce type de classe, il n’est pas possible de réduire
efficacement le nombre de dimensions par des techniques linéaires, car toutes
les projections sur une droite perdent une grande partie de l’information. Dans
la suite de ce chapitre nous détaillerons plus.
Nous considérons un ensemble de données composé de N images. Chaque
image est représentée par un vecteur dans l’espace de d dimensions. Chaque
vecteur est la réalisation de d variables (X1, X2, . . . , Xd). L’ensemble des données est représenté sous la forme d’une matrice X : d × N contenant en lignes
les dimensions et en colonnes les images :
X = {xj,i , 1≤j≤d, 1≤i≤N }
(3.2.1)
Mathématiquement, la réduction du nombre de dimension peut être formulée
de la manière suivante :
−
Étant donné un vecteur de colonne d-dimensionnel →
x i = (x1 , x2 , ..., xd,i )T
−
le but est de trouver une autre représentation de dimension réduite →
yi =
T
(y1 , y2 , ..., yr,i ) avec r ≤ m, qui exprime la même information que les don−
nées originales. Les composantes de →
y i sont appelées composantes cachées,
variables latentes ou dimension intrinsèques.
71
Chapitre 3 Classification et réduction de la dimension.
Dans le cas des systèmes d’indexation et de recherche d’images, on peut se
référer aux experts du domaine pour déterminer les descripteurs les plus utiles
[Pet02]. Ainsi, les attributs retenus pour un ensemble de données doivent correspondre aux propriétés les plus pertinentes de l’image [Pet93]. Autre stratégie
de réduction de dimensions consiste à choisir un ensemble de descripteurs qui
minimise la variance intra-classe et maximise la variance inter-classes [CA04].
Par exemple dans le système ASSERT [SBK+ 99] spécialisé dans la recherche
d’images TDM ( tomodensitométrie) de poumons, ils utilisent l’algorithme
SFS « Selection Forward Search » pour réduire le vecteur de 255 attributs à
usage général à un vecteur de 12 attributs auxquels on ajoute les attributs
spécifiques aux catégories perceptuelles définis par les concepteurs du système
à l’aide d’une intervention des spécialistes du domaine.
Les techniques de réduction de la dimension ont été présentées dans plusieurs
travaux [WMS00, Rav06]. Ces travaux suggèrent de réduire la dimension de
l’espace de données avec une méthode de la réduction de la dimension avant
d’indexer les données avec une méthode d’indexation multidimensionnelle.
3.2.1 Les méthodes linéaires
Les méthodes linéaires sont très utilisées en réduction de dimension, leurs
principale intérêt est d’obtenir d’un nouveau système de coordonnées, en translatant les données originales dans un espace de dimension plus réduit tel que la
nouvelle représentation des données soit une combinaison linéaire des données
originales.
Mathématiquement on peut définir cela ainsi :
yki = wk1 .w1i + wk2 .w2i + ... + wkd .wdi
(3.2.2)
∀k ∈ {1, 2, . . . , r}; ∀i ∈ {1, 2, . . . , N }
ou en notation matricielle : Y = ΩX
avec X = {xj,i , 1≤j≤d, 1≤i≤N }, Y = {yk,i , 1≤k≤r, 1≤i≤N },
et Ω = {wk,j , 1≤k≤r, 1≤j≤d} la matrice de transformation linéaire.
La matrice inverse est :
xj,i = aj,1 .y1,i + aj,2 .y2,i + ... + aj,r .yr,i
(3.2.3)
∀j ∈ {1, 2, . . . , d} ; ∀i ∈ {1, 2, . . . , N }ou en notation matricielle : X = AY
avec A = {ajk , 1≤j≤d, 1≤k≤r} la matrice de transformation inverse.
Toutes les techniques d’analyse linéaire sont basées sur le même principe,
elles se distinguent par la manière dont sont déterminées les matrices de transformation Ω et A.
Dans ce qui suit nous avons choisi de décrire l’approche ACP pour l’intérêt qu’elle présente dans les systèmes de recherche d’images par le contenu
72
3.2 État de l’art de la réduction de dimension
[FSN+ 95, Fer05, CA04]. Son utilisation permet de réduire le temps de réponse
des systèmes.
3.2.1.1 L’analyse en composantes principales (ACP)
L’ACP est une technique linéaire non supervisée. Le principe général réside dans l’estimation d’un sous-ensemble de variables non corrélées qui représentent la plupart d’informations de l’ensemble original des variables. Les axes
de ce nouvel ensemble sont orthogonaux et assurent une dispersion maximale
de chaque composante [CA04]. La réduction de la dimension s’effectue donc en
éliminant les axes porteurs de peu d’information, pour lesquels la variance des
données est faible, car plus la variance des données selon un axe est grande,
plus l’information portée par celui-ci est importante, ce qui est équivalent à
maximiser l’erreur quadratique moyenne de reconstruction.
Comme nous l’avions expliqué précédemment la réduction de la dimension
entraîne une perte d’information. Cependant, on cherche à trouver le sousespace qui permet de perdre le moins d’information. Dans ce contexte un travail
a été mené par Saporta dans [Sap06] montrant que la recherche des axes du
sous espace peut se faire de manière séquentielle.
En premier lieu on commence par rechercher l’axe qui décrit le mieux les
données, puis le deuxième qui de plus doit être orthogonal au premier, et
−
−
ainsi de suite. Soit →
x un point de l’espace multidimensionnel initial, et →
yi le
point de l’espace initial qui est son projeté orthogonal dans le sous-espace
réduit. L’information perdue par la projection peut être mesurée par la distance
−
−
−
−
euclidienne k→
yi − →
xi k entre le point →
xi et le point →
yi (représentés dans l’espace
initial). Cela revient à trouver le sous-espace tel que la moyenne des carrés des
distances (dispersion) entre les points et leur projection soit minimale :
HACP =
n
X
2
−
−
k→
yi − →
xi k
(3.2.4)
i=1
Pour chercher le point de l’espace tel que la projection des points de l’espace sur cet unique point permet une perte d’information minimale. Soit
µ = (µ1 , µ2 , ..., µd ) le vecteur moyen. On peut réécrire le critère HACP sous
la forme suivante :
HACP =
n
X
i=1
n
n
i=1
i=1
X →
X →
2
2
2
−
−
−
−
−
−
k(→
yi − →
µ ) − (→
xi − →
µ )k =
k−
yi − →
µk +
k−
xi − →
µk
(3.2.5)
→
−
→
−
Le critère est minimal HACP quand yi = µ , c’est à dire quand tous les
points sont projetés sur le centre de gravité. Le centre du sous-espace qui
−
minimise HACP est le centre de gravité →
µ.
73
Chapitre 3 Classification et réduction de la dimension.
Pour minimiser le critère HACP , on cherche la droite passant par le centre de
−
−
−
−
gravité→
µ et de vecteur unitaire →
u , qui minimise les distancesk→
yi − →
xi k entre
→
−
→
−
→
−
les projetés yi de xi sur cette droite et les points xi . On peut réécrire les
projetés sous la forme :
→
−
−
−
−
−
yi = →
µ + (→
yi − →
µ ) = µ + γi →
µ
(3.2.6)
−
−
−
−
où γi = k→
yi − →
xi kest la distance entre le point →
yi et le centre de gravité →
µ.
Minimiser HACP revient à trouver la droite qui minimise les coefficients γi .
Pour trouver les principales composantes, on peut réaliser les opérations
suivantes :
1. organiser les données en vecteurs colonnes pour obtenir une matrice X :
d × N,
−
2. calculer le vecteur moyen de chaque →
u = (u , u , ..., u )T dimension,
1
2
d
3. soustraire le vecteur moyen à toutes les colonnes de X afin d’obtenir des
données centrées, la matrice obtenue est appelée M ,
4. calculer la matrice de covariance S : d × d de M (S = M.M T ),
5. calculer et trier par ordre décroissant des valeurs propres λj , les vecteurs
propres uj de S, ils forment les colonnes de la matrice U : d × d,
6. garder les r premières colonnes de U pour former la matrice Ue : d × r.
La variance dépend de l’ordre de grandeur des descripteurs. Lorsque les descripteurs sont de types différents, les données X doivent être centrées réduites.
La matrice de covariance devient alors une matrice de corrélation.
3.2.2 Les méthodes non linaires
Les méthodes non linéaires sont aussi utilisées pour la réduction de dimension en prenant en compte l’amélioration réelle apportée par rapport aux méthodes linéaires, en vue de l’indexation et de la recherche d’images par contenu.
Récemment, de nombreuses méthodes de réduction de dimension non linéaire
ont été proposées. Une première catégorie de méthodes permettent d’étendre
l’ACP linéaire classique au cas non-linéaire afin d’effectuer les approximations
locale. Parmi ces méthodes, Kernel-PCA (KPCA) formalisé par B. Schölkopf
en 1998 [SSM98], ils utilisent les fonctions noyaux des SVM pour transformer
les données originales avant d’appliquer une ACP classique sur les données
transformées.
Les méthodes dites de « courbes principales » ou de « surfaces principales »
[Del01, GI05, HS89] recherchent, non plus un hyper-plan comme en ACP, mais
une hyper-surface paramétrée et lisse qui approche au mieux les données.
74
3.2 État de l’art de la réduction de dimension
La seconde catégorie de méthodes de réduction de dimension non-linéaire
est basée sur l’idée que les données sont disposées sur une variété non-linéaire
de dimension intrinsèque d dans l’espace de dimension p. Ces méthodes ont
généralement comme principal objectif de permettre la visualisation des données de grande dimension. Pour cela, elles cherchent à « déplier » la variété
sur laquelle vivent les données.
3.2.2.1 Méthodologie de Kernel-PCA
Schématiquement, l’analyse en composantes principales (PCA) est un changement de repère qui vise à privilégier les axes de variance maximale par
rapport à un ensemble de données. Les axes où la variance des données est
réduite peuvent être éliminés pour atteindre une réduction de la dimensionnalité avec une perte minimale d’information. La transformation est linéaire
(matrice de passage orthogonale). Or, pour les vecteurs caractéristiques d’une
image, il est souhaitable de pouvoir atteindre des relations non-linéaires ; la
méthode Kernel PCA représente une extension de PCA.
Kernel PCA réalise une analyse en composantes principales dans l’espace
K appelé «espace de caractéristiques» généré à l’aide d’une fonction noyau
k(xi , xj ) tel que xi , xj ∈ <d , k(xi , xj ) = Φ(xi ), Φ(xj ) [SS02]. La transformation
non-linéaire Φ(x), implicite dans la fonction noyau permet au Kernel PCA de
trouver un sous-espace qui, plus qu’une réduction de dimensionnalité, est le
résultat d’un processus d’extraction d’information.
Si X est la matrice de l’ensemble des transformées des données d’apprentissage, dans l’espace des caractéristiques, centrées, la matrice C de covariance
de ces transformées vérifie :N C = X X́ Si K est la matrice « kernel», par
définition,K = X X́.
Il vient que si Xµ est vecteur propre de N C associé à la valeur propre : λ, X
est un vecteur propre de K associé à la même valeur propre :
u = λ−1/2
N
X
νi Φ (xi )
(3.2.7)
i=1
Xµ
ν= √
λ
(3.2.8)
En associant de cette manière à tout vecteur propre uj de N C, le vecteur
vj et la valeur propre : λj , la projection d’un nouveau vecteur Φ(x) sur la
direction uj est donnée par :
P (x)µj = µj Φ(x) =
n
´
X
αi Φ(xi ), Φ(x) =
αij k(xi , x)
n
X
j
i=1
(3.2.9)
i=1
75
Chapitre 3 Classification et réduction de la dimension.
−1/2
où αj = λj vj, j = 1 . . . d´
Une réduction d’information s’obtient en conservant les valeurs et vecteurs
propres les plus élevés.
3.2.3 Synthèse et discussions
Nous avons étudié dans cette partie du chapitre un état de l’art sur la réduction de la dimension. L’objectif de ces méthodes est de réduire la dimension
brute afin d’approcher le plus possible la dimension intrinsèque. Nous avons
présenté les deux différentes méthodes de réduction de la dimension : méthodes
linéaires et les méthodes non linéaires.
Les méthodes linéaires sont limitées car les dépendances entre attributs sont
rarement linéaires. Elles sont aussi très sensibles au bruit et à la distribution
des données [Ber04]. Les méthodes non linéaires permettent de tenir compte
des dépendances non linéaires entre composantes et elles sont en général moins
sensibles au bruit des données que les approches linéaires. En revanche, leur
inconvénient majeur est que la dimension de l’espace réduit doit être fixée a
priori. La plupart d’entre elles sont itératives et consistent à minimiser une
fonction de coût relative aux distances entre vecteurs [GB05].
Dans une étude comparative approfondie entre les deux méthodes linéaires
et non linéaires Maaten et al [vdMvdH09] montrent que les méthodes non
linéaires ne surpassent pas les méthodes linéaires sur des données réelles, c’està-dire non simulées. En outre elles sont moins coûteuses en temps de calcul.
A l’heure actuelle, il n’existe malheureusement pas de solution idéale pour
réduire efficacement les espaces de données de grande dimension [GB05]. En
effet, il est rare que dans la pratique les données aient des composantes en
dépendance linéaire et soient exemptes de bruit, limitant ainsi les approches
linéaires. Quant aux approches non linéaires, elles semblent difficilement exploitables puisqu’elles nécessitent généralement la connaissance de la dimension intrinsèque des données.
3.3 État de l’art des méthodes de clustering
Dans cette partie nous présentons les méthodes de clustering les plus couramment utilisées. Ces méthodes visent à trouver les structures intrinsèques des
données en les organisant en classes homogènes et distincts (les clusters). La
partition d’un ensemble de vecteur se fait en utilisant uniquement la proximité des vecteurs dans l’espace. Les vecteurs dans un même cluster doivent
être similaires entre eux et différents des vecteurs des autres clusters. Certains
vecteurs isolés (outliers) qui ne peuvent être associés à aucun cluster sont considérés comme du bruit. Ils sont isolés et traités séparément. Cependant, il est
76
3.3 État de l’art des méthodes de clustering
à noter que tous les algorithmes de clustering ne sont pas capables d’identifier
et d’isoler ces vecteurs.
La figure 3.1 montre un exemple d’une distribution de données de dimension 3 que l’on peut partitionner en quatre clusters auxquels se rajoutent un
ensemble de vecteurs isolés [Ber04].
Figure 3.1 – Exemple d’une distribution de données en dimension 3 et une
partition associée [Ber04]
3.3.1 Application à l’indexation
Le clustering produit habituellement un nombre peu élevé de clusters. Il
est possible de s’en servir pour la formation de paquets dans le domaine de
l’indexation et de la recherche par contenu car le principe reste le même. Cependant, l’objectif étant différent, car en entrées les données à traiter sont de
grande dimension et en nombre très important. En sortie, un nombre relativement élevé de petits clusters et éventuellement un ensemble de vecteurs isolés
sont attendus. D’après le travail de Berrani [Ber04], les propriétés requises ou
du moins souhaitables pour qu’un algorithme de clustering puisse être utilisé
dans ce contexte sont résumés dans ce qui suit :
3.3.1.1 L’efficacité
C’est une des conditions les plus importantes. En effet, les bases d’images
sont de grande taille. Même si cette phase de regroupement est exécutée hors
ligne, il est très difficile, par exemple, d’envisager l’utilisation d’un algorithme
de complexité quadratique en nombre de vecteurs à partitionner.
3.3.1.2 Compacité et équilibre des clusters
Il est important d’avoir des clusters très compacts qui se chevauchent le
moins possible afin d’accroître l’efficacité des règles de filtrage et de confiner
ainsi la recherche à un sous ensemble de paquets le plus petit possible. Il est
également souhaitable d’avoir des clusters équilibrés en nombres de vecteurs,
c’est-à-dire qui contiennent presque le même nombre de vecteurs.
77
Chapitre 3 Classification et réduction de la dimension.
3.3.1.3 Comportement dans les espaces de grande dimension
Les données manipulées dans le domaine de l’indexation sont des vecteurs de
grande dimension. Par conséquent, il est important que l’algorithme de clustering prenne en compte ce facteur. En effet, à l’instar de toutes les méthodes
destinées à manipuler des données de grande dimension, les algorithmes de
clustering sont également affectés par la « malédiction de la dimension ».
3.3.1.4 Identification du bruit
L’algorithme de clustering doit pouvoir identifier les vecteurs isolés. Autrement, ces vecteurs seront associés à des clusters. Dans le cadre des applications
de recherche par contenu, ceci entraînera généralement un fort taux de chevauchement entre les cellules associées aux clusters surtout en grande dimension,
et rendra ainsi les règles de filtrage complètement inefficaces.
Dans ce qui suit nous présentons des méthodes de clustering, nous nous
sommes limités aux méthodes les plus cités qui permettent de gérer des données
numériques définis dans des espaces métriques.
3.3.2 Classification des techniques
Les algorithmes de clustering présentés ici sont classés en quatre catégories :
1. Approches basées sur le partitionnement des données ;
2. Approches hiérarchiques ;
3. Approches basées sur l’estimation de la densité ;
4. Approches basées sur le partitionnement de l’espace ;
3.3.2.1 Approches basées sur le partitionnement des données
Les méthodes basées sur le partitionnement des données permettent de partitionner l’ensemble des vecteurs sur k clusters. Le nombre de clusters k est
fixé a priori par l’utilisateur. Ces méthodes procèdent généralement par choix
d’une partition initiale qui est ensuite améliorée grâce à un algorithme itératif.
Un représentant est choisi pour chaque cluster. Il s’agit généralement du centre
de gravité ou du médoïde.
L’objectif de ces méthodes est de minimiser l’inertie inter-clusters définie
par :
I=
nj
k X
X
sim(xij , cj )
(3.3.1)
j=1 i=1
où k est le nombre de clusters, cj le représentant du cluster j (centroïde,
médoïde ou tout simplement un vecteur du même espace que les vecteurs de
78
3.3 État de l’art des méthodes de clustering
données), nj le nombre de vecteurs appartenant au cluster j, xij les vecteurs
du cluster j et sim la mesure de similarité associée aux vecteurs.
Parmi les algorithmes basés sur le partitionnement des données, on retrouve
l’algorithme K-means qui est le plus connu et le plus utilisé dans la communauté de classification des données.
3.3.2.1.1 K-means
K-means est un algorithme itératif. Au début, les vecteurs sont partitionnés
dans k clusters : Un vecteur appartient à un cluster si le vecteur de référence
de cette classe est le plus proche de lui. La mise à jour des vecteurs de référence
et l’affectation des vecteurs aux clusters sont réalisées pendant les itérations
successives.
Dans K-means, les vecteurs sont classés en k clusters satisfaisant les conditions suivantes :
1. Chaque cluster contient au moins un vecteur.
2. Chaque vecteur appartient à un et un seul cluster.
3. Chaque cluster ayant n vecteurs est défini par son centre de gravité.
Les inconvénients majeurs du k-means sont le coût de construction des classes
qui reste cher, donc des heuristiques sont utilisées pour l’optimisation d’itérations sous la forme de mécanisme de réallocation qui réaffectent les points
entre les clusters. Par conséquent le k-means est très sensible aux choix de la
partition initiale et la partition finale n’est qu’une solution parmi d’autres.
Le K-means est donc un algorithme non déterministe puisque deux partitions
initiales différentes donneront deux partitions finales différentes. Par ailleurs,
il ne permet pas d’identifier les vecteurs isolés et nécessite m.k.N opération de
calculs de distances (m est le nombre d’itérations et N le nombre de vecteurs
de la base).
Les méthodes basées sur le partitionnement des données raffinent graduellement les clusters et donc peuvent donner les clusters de meilleure qualité. En
fait, les algorithmes ont besoin d’exécuter plusieurs fois avec différents états
initiaux afin d’obtenir un meilleur résultat.
Les méthodes basées sur le partitionnement des données sont très nombreuses, comme PAM et CLARANS [EKX95] qui sont toutes destinés à partitionner des vecteurs définis dans des espaces non métriques.
3.3.2.2 Approches hiérarchiques
Les méthodes hiérarchiques se basent sur la construction d’un arbre binaire
appelé dendrogramme dont chaque niveau représente une partition possible
des données et où les partitions associées aux niveaux inférieurs sont plus
79
Chapitre 3 Classification et réduction de la dimension.
« fines » que celles associées aux niveaux supérieurs. Le niveau bas de l’arbre
correspond à la partition la plus « fine » possible où chaque vecteur forme un
cluster, le niveau le plus haut correspond à la partition constituée d’un seul
cluster englobant l’ensemble des vecteurs de la base.
A chaque étape, les nouveaux groupes créés le sont soit par la réunion,
soit par la scission des classes de l’étape précédente. Dans les classifications
hiérarchiques par réunion de groupes, on commence par créer autant de groupes
qu’il y a de vecteurs, puis on regroupe les groupes par proximité décroissante :
on regroupe d’abord les groupes très proches, puis celles qui sont un peu plus
distantes, ...etc., pour arriver, si on va au bout du processus, à un seul groupe.
On parle de « classification ascendante hiérarchique » : CAH.
Inversement, dans les méthodes hiérarchiques par division de groupes,
on commence avec tous les vecteurs dans un seul grand groupe, ensuite on divise successivement ce groupe en sous-groupes à éloignement décroissant. La
plupart des méthodes travaillent par réunion.
Ces méthodes sont récursives, ce qui signifie que les décisions prises à un
niveau ne sont pas modifiées au cours de l’exécution de l’algorithme.
3.3.2.2.1. Classification Ascendente Hierarchique (CAH)
Les algorithmes de classifications ascendantes [LW67] procèdent par des regroupements successifs de groupe de vecteurs. Elles partent d’une partition initiale où chaque vecteur représente un groupe. À chaque itération, deux groupes
les plus proches sont fusionnées.
Chaque regroupement donne lieu à la création d’un nœud dans l’arbre dont la
hauteur correspond à l’écart entre les deux groupes qui ont servi à sa création.
Ainsi, à chaque itération, le nombre de groupes de vecteurs diminue de 1.
Par conséquent, si le nombre de vecteurs de la base est de N, le nombre total
d’itération est de N-1. Comme à chaque itération, l’algorithme permettant de
déterminer les deux groupes les plus proches est de complexité quadratique, la
complexité globale de l’approche ascendante est O(N 3 ) [Ber04].
Parmi les avantages de la classification ascendante la conception simple avec
des propriétés théoriques bien connues. L’inconvénient majeur de ces méthodes
est le fait d’avoir un regroupement définitif, ainsi il est impossible de faire des
modifications ultérieures.
3.3.2.2.2. Classification Descendante Hiérarchique (CDH)
À l’inverse de la classification ascendante, l’approche descendante [Hub73]
part d’un groupe unique contenant l’ensemble des vecteurs de la base et ap-
80
3.3 État de l’art des méthodes de clustering
plique récursivement un algorithme de scission de groupe de vecteurs en deux.
Pour effectuer cette scission, toutes les distances deux à deux entre les vecteurs
d’un groupe sont calculées et triées par ordre décroissant. Les deux vecteurs
les plus éloignés sont placés chacun dans un nouveau groupe et la liste des
couples de vecteurs triés en fonction de leurs distances est ensuite parcourue.
Pour chaque couple de vecteurs, trois possibilités sont considérer :
1. si les deux vecteurs sont déjà placés dans les deux nouveaux groupes
alors passer au couple suivant ;
2. si et seulement si l’un des vecteurs est déjà placé dans un des deux
nouveaux groupes en cours de création alors le second vecteur est placé
dans l’autre nouveau groupe ;
3. si aucun des deux vecteurs n’est déjà placé alors placer chacun des deux
vecteurs dans un nouveau groupe.
Tout comme la classification ascendante, la complexité de l’approche est O(N 3 ).
Les approches descendantes sont beaucoup moins attractives que les approches
ascendantes.
Une des propriétés intéressantes de ces deux algorithmes hiérarchiques (ascendant et descendant) est la stabilité de leurs résultats. En effet, ce sont les
deux seuls algorithmes de clustering qui n’ont aucun paramètre interne qui en
requièrent pas le choix d’une configuration au préalable (un partitionnement
initial), et dont le nombre de classes n’est pas fixé à l’avance. Ils ont également
l’avantage d’être indépendant de l’ordre d’insertion des vecteurs.
Malheureusement, le temps de calcul est long. Leur complexité exorbitante
(O(N 3 )) les rend difficilement utilisables dans des applications réelles qui
traitent de très gros ensembles de données.
3.3.2.3 Approches basées sur l’estimation de la densité
C’est des méthodes hiérarchiques dans lesquelles les clusters sont considérés comme des régions en haute densité qui sont séparées par des régions en
faible densité. Ces méthodes partitionnent un ensemble de vecteurs en utilisant leur densité locale. Celle-ci est estimée à l’aide de méthodes statistiques
d’estimation de la densité. Chaque groupe de vecteurs localement dense est
considéré comme un cluster. Les données uniformément distribuées sont considérées comme des données isolées (outliers).
Ces méthodes sont capables de chercher des clusters de forme arbitraire.
Elles ne travaillent que dans un espace métrique, donc elles sont utilisées dans
la classification de données spatiales. Pour réduire le coût de calcul lors de
la classification, les données sont indexées, par exemple R*-tree (cf. chapitre
indexation multidimensionnelle).
81
Chapitre 3 Classification et réduction de la dimension.
Il y a deux approches dans ce type de classification : les approches paramétriques et les approches non paramétriques. Les premiers supposent que les
données sont distribuées suivant un modèle connu. L’objectif de ces approches
est donc d’estimer les paramètres du modèle. Les approches non paramétriques
n’émettent aucune hypothèse sur la distribution des données et permettent
d’estimer une fonction de densité qui peut avoir une forme quelconque.
Dans cette section, nous présentons les algorithmes de clustering paramétrique qui permettent d’estimer les paramètres d’un mélange de distributions
normales. Il s’agit de l’algorithme EM. Nous présentons également deux algorithmes de l’approche non paramétrique l’un est basé sur la connectivité
de densité DBSCAN [EKS+ 96], et l’autre est basé sur la fonction de densité
DENCLUE [HK98].
3.3.2.3.1 Approches paramétriques
Le but de ces approches est d’estimer les paramètres d’un modèle statistique de la distribution des vecteurs. Le modèle supposé connu a priori est un
mélange de distribution de probabilité de forme paramétrique. Le modèle de
mélange fini de lois de probabilité consiste à supposer que les données proviennent d’une source contenant plusieurs sous-ensembles. Plus formellement,
cela revient à supposer que les vecteurs de données x1 , . . . , xN de dimension d
sont issus d’un vecteur aléatoire de densité :
f (x; θ) =
p
X
πk ϕk (x; αk )
(3.3.2)
k=1
où ϕk les forment une famille de distribution dans <d et θ = (Π, α) sont
les paramètres du modèle. Π = (π1 , ..., πp ) est la proportion du mélange et
α = (α1 , ..., αp ) les paramètres de la densité des clusters.
Une méthode est utilisée pour estimer les paramètres d’un tel modèle est celle
du maximum de vraisemblance. Sous l’hypothèse d’indépendance des vecteurs
de données (xi ), cette méthode vise à estimer les paramètres qui maximisent
la fonction de vraisemblance :
Vθ =
N
Y
f (xi ; θ) =
i=1
p
N X
Y
πk ϕk (xi ; αk )
(3.3.3)
i=1 k=1
En pratique, c’est le logarithme népérien du maximum de vraisemblance qui
est maximisé. Il s’agit de log-vraisemblance qui est donné par :
Lθ =
N
X
k=1
ln(
p
X
πk ϕk (xi ; αk ))
(3.3.4)
k=1
En d’autres termes, cette méthode permet d’estimer les paramètres du modèle qui maximise la probabilité d’appartenance des vecteurs de données (xi)
au modèle.
82
3.3 État de l’art des méthodes de clustering
En pratique, le seul cas traité analytiquement est le cas gaussien, c’est-à-dire
le cas où la distribution de probabilité de chaque cluster est supposé normale.
Cette procédure se fait le plus souvent itérativement via l’algorithme EM
(Expectation Maximization) permettant d’estimer les paramètres optimaux du
mélange gaussien (les moyennes et matrices de covariances des clusters) par
une procédure itérative pour un nombre fixé de clusters p.
Si on pose :
πj ϕj (xi | αj )
k=1 πk ϕk (xi | αk )
hj (xi ) = Pp
N
1 X
hj (xi )
πj =
N k=1
(3.3.5)
(3.3.6)
PN
hj (xi )xi
i=1 hj (xi )
µj = Pi=1
N
PN
σj =
i=1
hj (xi ) (x − µj ) (x − µj )T
PN
i=1 hj (xi )
(3.3.7)
(3.3.8)
où hj (xi ) est la probabilité d’appartenance du vecteur xi au cluster j en
considérant les paramètres du modèle, c’est à dire les πj et les αj ;
πj est la probabilité du cluster j ;
µj et σj sont les paramètres de la distribution du cluster j, respectivement
la moyenne et la matrice de covariance. Selon les notations introduites précédemment αj = (µj , σj ) ;
L’algorithme EM comporte les étapes suivantes :
1. L’initialisation des paramètres du modèle (θ).
2. Pour chaque vecteur xi de la base, la calcul de hj (xi ). Cette entité est
la probabilité d’appartenance du vecteur xi au cluster j. Cette étape est
appelée Expectation, où l’on calcule l’espérance (E) de la vraisemblance
en tenant compte des dernières variables observées.
3. Mise à jour des paramètres du modèle θ = (pi , ..., πp , µ1 , ..., µp , σ1 , ..., σp ).
cette étape est appelée Maximisation (M), où l’on estime le maximum de
vraisemblance des paramètres en maximisant la vraisemblance trouvée à
l’étape E.
4. Répéter les étapes (2) et (3) jusqu’à la stabilisation des paramètres, c’està-dire jusqu’à ce que les variations des paramètres d’une étape à une autre
deviennent négligeables.
Une fois les paramètres des lois normales du mélange estimés, chaque composante du mélange génère un cluster. La probabilité d’appartenance d’un
vecteur xi à un cluster Cj est donnée par :
πj ϕj (xi | αj )
k=1 πk ϕk (xi | αk )
P (xi | Cj ) = Pp
(3.3.9)
83
Chapitre 3 Classification et réduction de la dimension.
Il suffit alors d’affecter chaque vecteur xi au cluster qui maximise P (xi | Cj ),
pour j = 1, . . . , p.
L’algorithme EM est un algorithme très simple à mettre en œuvre puisqu’il
est stable numériquement et la vraisemblance croit à chaque itération (sauf à
un point fixe de l’algorithme). De plus le coût par itération est généralement
bas. Ainsi, un plus grand nombre d’itérations que les autres méthodes peuvent
donc être exécutées par l’algorithme EM pour un coût donné.
L’algorithme EM permet aussi d’identifier les vecteurs isolés (par exemple,
les vecteurs dont la probabilité d’appartenance aux clusters est inférieure à un
seuil fixé).
Les inconvénients majeurs de l’algorithme EM concernent le choix du modèle
et la complexité de la procédure d’estimation car EM n’a pas de procédure
incluse qui pourrait produire la matrice de variance-covariance des paramètres
estimées. Si le modèle choisi ne correspond pas à la distribution réelle des
vecteurs, les clusters obtenus peuvent être très mauvais.
En pratique, dans certains problèmes, l’étape E peut être analytiquement
impossible à trouver, il est donc difficile voire impossible d’avoir des informations a priori sur la distribution des données en grande dimension.
Concernant sa complexité, c’est un algorithme très coûteux en temps de
calcul car la moyenne et la matrice de covariance de chaque cluster sont recalculées à chaque itération.
3.3.2.3.2. Approches non paramétriques
3.3.2.3.2.1 DBSCAN
Density Based Spatial Clustering of Applications with Noise est un algorithme très populaire dans ce type d’algorithme de classification [A+ 02,
AGGR98].
Pour chaque vecteur, il cherche le voisinage qui contient un nombre minimum
de vecteurs. Une classe est formée par tous les vecteurs qui sont transitivement
connectés par leurs voisinages. Un voisinage de rayon Eps contenant au moins
MinPts vecteurs d’un vecteur est appelé le voisinage Eps-MinPts de ce vecteur
[LE04].
On utilise la notion connecté-densité pour former des classes :
- Un vecteur est dit directement accessible-densité Eps-MinPts d’un autre
vecteur s’il se trouve dans le voisinage Eps-MinPts de ce vecteur.
- Un vecteur est dit accessible-densité Eps-MinPts d’un autre vecteur s’il
y a une chaîne de vecteurs entre eux dont tous les 2 vecteurs successifs
sont directement accessible densité Eps-MinPts.
84
3.3 État de l’art des méthodes de clustering
- Un vecteur est dit connecté-densité Eps-MinPts d’un autre vecteur s’il y
a un vecteur dont tous les deux vecteurs sont accessibles-densité.
Une classe avec Eps et MinPts prédéfinis est définie comme un ensemble non
vide de vecteurs qui satisfait deux conditions, l’une est la condition de connectivité, i.e. tous les vecteurs de la classe doivent être connectés-densité, l’autre
est la condition de maximum, i.e. tous les vecteurs qui se trouvent dans le voisinage Eps-MinPts d’un vecteur de la classe doivent appartenir à cette classe. Le
bruit est défini comme un ensemble de vecteurs qui n’appartiennent à aucune
classe.
Il y a deux vecteurs différents qui sont pris en compte dans la classification :
Le vecteur de noyau et non noyau. Un vecteur de noyau est celui qui a un voisinage Eps-MinPts. Un vecteur non noyau est celui qui n’a pas un tel voisinage.
Un vecteur non noyau peut être un vecteur de frontière ou un bruit.
L’algorithme commence en prenant en compte un vecteur arbitraire et cherche
tous les vectrices accessibles densités. S’il est vecteur de noyau, alors cette
phase forme une classe. S’il est un vecteur de frontière et qu’il n’y a aucun
vecteur qui est accessible densité depuis lui, alors c’est un bruit, l’algorithme
passe à un autre vecteur.
Normalement, la complexité de la recherche du voisinage est O(N 2 ). Pour
accélérer cette recherche, on peut utiliser certaines méthodes d’accès spatial
comme l’arbre R* ou l’arbre M pour obtenir une complexité de O(N logN ).
DBSCAN peut chercher les classes de forme arbitraire. Il est insensible à
l’ordre d’entrée des vecteurs. Il est incrémental car un nouvel vecteur qui arrive
peut affecter certains voisinages [LE04].
A côté, l’algorithme a des inconvénients : il est difficile à préciser le rayon
Eps et le seuil de la cardinalité d’un voisinage, de plus la performance peut
être diminuée pour les données de haute dimension.
3.3.2.3.2.2 DENCLUE
DENCLUE (DENsity CLUstEring) est une approche de classification basée
sur la densité mais travaille d’une manière plus formelle que DBSCAN en
modélisant la densité globale d’un ensemble de vecteurs comme somme des
fonctions d’influence de densité associées à chaque vecteur. La fonction de
densité globale aura des maxima locaux de densité. Ces maxima peuvent être
choisis pour définir des classes d’une manière simple.
Typiquement la fonction d’influence est symétrique (i.e. elle est la même
dans toutes les directions) et sa valeur (contribution) diminue si la distance
85
Chapitre 3 Classification et réduction de la dimension.
du vecteur au centre augmente. Une fonction d’influence très connue est la
fonction gaussienne :
K(x) = e
−dist tan ce(x,y)2
2σ 2
(3.3.10)
Figure 3.2 – La fonction d’influence gaussienne, un jeu de vecteurs et la fonction de densité globale [LE04].
DENCLUE a deux étapes, une étape de prétraitement et une étape de classification. Dans l’étape de prétraitement, une grille pour les données est créée en
divisant l’hyper rectangle englobant minimal en hyper rectangles d dimensionnels avec la longueur d’arête égale à 2σ. Les cellules de grille qui contiennent
des vecteurs sont alors déterminées (seulement les cellules occupées de grille
doivent être construites). Les cellules de grille sont numérotées selon une origine particulière (sur une arête de l’hyper rectangle englobant) et les clefs sont
stockées dans un arbre de recherche pour fournir un accès efficace au traitement
ultérieur. Pour chaque cellule de grille, le nombre de vecteurs, la somme des
vecteurs dans la cellule, et des connexions aux cellules voisines sont également
stockés.
Pour l’étape de classification, DENCLUE ne considère que les cellules fortement denses et les cellules qui leur sont reliées. Pour chaque vecteur x, la
fonction locale de densité est calculée en considérant seulement les vecteurs
qui se trouvent aux cellules de grille qui sont proches de x.
DENCLUE peut être paramétré de sorte qu’il se comporte comme DBSCAN.
Mais, il est beaucoup plus efficace que DBSCAN. DENCLUE peut également
se comporter comme K-means par le choix d’une valeur σ convenable et en
omettant l’étape qui fusionne les classes de centre défini dans les classes de
forme arbitraire.
Le principe de cette méthode est très simple. Cependant, sa mise en œuvre
est extrêmement coûteuse en ce qui concerne notamment le calcul de la fonction
de densité et de ses maximum locaux. En outre, en répétant la classification
pour différentes valeurs de σ , on peut obtenir une classification hiérarchique.
La complexité de l’algorithme est O(nlogn).
86
3.3 État de l’art des méthodes de clustering
3.3.2.4 Approches basées sur le partitionnement de l’espace
Le principe de ces approches est de partitionner l’espace de données en cellules plus ou moins régulières où les vecteurs de chaque cellule forment un
cluster. Donc ce type d’algorithme est conçu pour des données spatiales. Une
cellule peut être un cube, une région, un hyper rectangle. En fait, elle est
un produit cartésien de sous intervalles d’attributs de données. Avec une telle
représentation des données, au lieu de faire la classification dans l’espace de
données, on la fait dans l’espace spatial en utilisant des informations statistiques des vecteurs dans la cellule.
Les approches de ce type sont hiérarchiques ou de partitionnement. Dans
cette section, nous présentons l’algorithme les plus connu qui est CLIQUE.
3.3.2.4.1 CLIQUE
Au lieu de construire les classes dans l’espace original comme les autres
algorithmes, CLIQUE (CLustering In QUEst) le fait dans des sous-espaces
en dimension la plus haute si possible [A+ 02, SCZ00]. L’idée est basée sur
le fait que si une collection de vecteurs S est une classe dans un espace de
d dimensions, alors S est aussi une partie d’une classe dans n’importe quelle
projection en d − 1 dimensions de cet espace.
L’algorithme travaille en niveaux. Tout d’abord, il détermine toutes les unités denses en 1 dimension en balayant une fois les données. Après avoir déterminé les unités denses en (d − 1) dimensions, il détermine les unités denses
candidates en d dimensions en utilisant une procédure qui génère les unités
candidates.
La procédure de génération utilise l’ensemble de toutes les unités denses
en d − 1 dimensions Dd−1 . Elle joint Dd−1 avec elle-même sous une condition
où les unités qui sont jointes partagent les premières d − 2 dimensions pour
obtenir un ensemble de candidates Ck . On supprimera les unités denses de Ck
qui ont une projection en d dimensions qui ne sont pas incluses dans Cd−1 .
L’algorithme se termine lorsqu’il n’y a plus de candidatures générées.
CLIQUE est une solution pour la classification de données en haute dimension. Il est insensible à l’ordre des données. Cependant, sa complexité est
exponentielle. Supposons que d est le nombre le plus haut de dimensions du
sous-espace auquel l’algorithme se termine, m est la cardinalité du jeu de données, l’algorithme doit accéder au jeu de données d fois. La complexité est
O(ck + mk ) où c est une constante.
L’algorithme CLIQUE se montre particulièrement puissant et efficace du fait
que [HPK11] :
- Il repose sur une idée simple et intuitive.
87
Chapitre 3 Classification et réduction de la dimension.
- La recherche des sous-espaces susceptibles de contenir des régions denses
se fait automatiquement.
- L’ordre des données n’altère pas les résultats obtenus par l’algorithme. Le
schéma de classification reste le même pour les mêmes données quelque
que soit l’ordre.
- Une complexité linéaire suivant la taille des données à classifier.
La simplicité de cet algorithme fait sa force mais aussi sa faiblesse. L’algorithme
CLIQUE peut produire des schémas de classification dégradés.
3.3.3 Evaluation de la qualité d’un clustering
Les algorithmes de clustering visent deux principaux objectifs :
- maximiser la similarité intra-clusters
- minimiser la similarité inter-clusters
L’inertie mesure l’écart entre les individus d’un cluster. Il existe trois mesures
d’inertie pour une population :
Soit une partition en k cluster de poids Pi , avec n points et une distance
euclidienne d2 (i1 , i2 ),
g1 , g2 . . . .gk centres de gravité,
I1 , I2 . . . .Ik inerties associées.
g =centre de gravité des n individus
3.3.3.1 L’inertie inter-clusters
L’inertie inter-clusters Ir est définie comme étant la moyenne (pondérée par
la somme des poids de chaque cluster) des carrés des distances des barycentres
de chaque classe au barycentre global. Elle peut s’écrire :
Ir =
X
Pi d2 (gi , g)
(3.3.11)
Plus Ir est grande, et plus les clusters sont séparées les uns des autres, ce
qui indique un bon clustering.
3.3.3.2 L’inertie intra-clusters
L’inertie intra-clusters Ia est définie par la somme des inerties totales de
chaque cluster :
Ia =
X
Pi Ii
(3.3.12)
88
3.3 État de l’art des méthodes de clustering
3.3.3.3 L’inertie totale
L’inertie totale It représente une mesure indépendante de toute division de
la population en clusters.
It = Ir + Ia
(3.3.13)
3.3.4 Synthèse et discussions
Nous avons étudié dans cette partie de ce chapitre un panorama des méthodes de classification non supervisée. Ces dernières sont classées en quatre
types : les méthodes basées sur le partitionnement des données, les méthodes
hiérarchiques, les méthodes basées sur l’estimation de la densité, et les méthodes basées sur le partitionnement de l’espace. Parmi cette grande variété
de techniques, nous avons montré les forces et faiblesses de chacune.
L’inconvénient majeur est le problème de la validation des clusters obtenus.
En effet, ces clusters doivent normalement représenter des structures propres
aux données. Notons également que les résultats obtenus par certains algorithmes sont dépendants de l’initialisation. Citons également un autre inconvénient qui est celui du choix du nombre de clusters. Lorsqu’on veut regrouper
en clusters homogènes un ensemble de données, le problème est de savoir combien de clusters sont nécessaires pour bien représenter cet ensemble de données.
Pour les classifications hiérarchiques, c’est l’utilisateur qui doit décider ou
couper la hiérarchie. Pour les partitions comme les k -means, c’est l’utilisateur
qui pourra indiquer le nombre de clusters à l’initialisation. Cependant, lorsqu’on dispose d’un grand nombre de données, l’utilisateur aura de plus en plus
de mal à déterminer le nombre de clusters, et où il faut arrêter le regroupement.
Il existe également des critères statistiques, des heuristiques ou des formules
qui permettent de déterminer ce nombre, sans toutefois pouvoir garantir que
le résultat est optimal.
Pour déterminer le nombre de clusters, on peut aussi poser des contraintes :
comme le nombre maximum d’individus dans un cluster. Effectuer plusieurs clusterings avec un nombre de clusters différents, puis choisir la partition qui
minimise le critère d’inertie. Il existe de nombreuses méthodes mais aucune
n’est optimale. Le choix de la méthode ce fait en fonction du problème et de
ses a priori, des données (continues, incomplètes, manquantes, volumineuses,
denses), de la tâche à réaliser et du temps de calcul dont on dispose.
En gros pour résumer une méthode de clustering idéale doit résister au
bruit tel que les points isolés (outliers) qui reste un sujet de recherche en soi,
89
Chapitre 3 Classification et réduction de la dimension.
et doit être applicable dans des espaces de grandes dimensions (gros volumes
de données).
3.4 Conclusion
Dans ce chapitre, nous avons présenté dans un premier temps le problème
de la malédiction de la dimension. Plusieurs solutions ont été proposées pour
remédier à ce problème. Nous les avons classé en deux grandes familles de
méthodes : les méthodes basées sur la réduction de la dimension et celles
basées sur le clustering.
Les méthodes basées sur la réduction de la dimension ont pour objectif de
réduire la dimension des données tout en préservant le maximum d’information.
Ces méthodes sont utiles dans le domaine de l’indexation multidimensionnelle.
Nous avons montré que ces méthodes réduisent la dimension de l’espace de
données Mais leur application reste liée à des contraintes comme la linéarité
des données, le paramétrage, etc.
Le passage en revue des principales méthodes basées sur le clustering montre
clairement la diversité de leurs propriétés. De ce fait nous avons remarqué
que les travaux présentés dans la littérature contournent le phénomène de
la malédiction de la dimension par un recours aux méthodes basées sur le
clustering (regroupement). Ces méthodes sont les plus couramment utilisées
et donnent de bons résultats dans des espaces de grande dimension [LCGM+ 99,
GJA10, Lai13].
Sur la base cette étude, nous avons décidé de nous placer dans ce contexte.
Nous avons cherché parmi les méthodes de clustering existantes celles qui
peuvent être adaptées à nos besoins, soit : la pertinence des résultats, la rapidité
d’exécution et le coût de stockage. Comme nous pouvons le constater, dès lors
que l’on souhaite améliorer l’un des trois critères, on perd automatiquement
sur les deux autres.
La démarche usuelle jusqu’à présent est de se concentrer très fortement
sur un des critères, tout en ignorant les deux autres. Ainsi, il n’existe pas
aujourd’hui de système de recherche multimédia qui permet d’avoir le meilleur
compromis entre les trois critères.
90
Partie 2 : Développement et
Validation
Chapitre 4
Approche proposée
Dans ce chapitre, nous introduisons notre proposition. Nous présentons un
panel des différentes méthodes d’extraction et de description d’images que
nous avons utilisées. Notre approche s’appuie également sur le modèle sacs de
mots présenté précédemment dans le chapitre 3. Ce modèle nous permettra
de représenter l’ensemble des descripteurs d’images en caractéristiques de bas
niveau discrétisées.
Notre objectif est d’apporter des réponses au problème du passage à l’échelle
dans le but d’améliorer les performances des méthodes d’indexation classiques,
c’est la raison pour laquelle nous utilisons le clustering car un espace partitionné en clusters est très efficace au passage à l’échelle permettant ainsi la
réduction du parcours du nombre de dimension. L’approche se concentre également sur une recherche plus proche voisin.
93
Chapitre 4 Approche proposée
4.1 Introduction
L’étude menée dans les trois chapitres de la première partie a montré l’insuffisance des techniques existantes pour l’indexation et la recherche par contenu
dans les grands corpus d’images. Les performances des techniques d’indexation
traditionnelles se dégradent exponentiellement lorsque la dimension augmente.
Dans cette partie, nous présentons l’approche proposée afin de remédier au
problème de la malédiction de la dimension, en s’intéressant plus particulièrement à l’étape de structuration qui vise à organiser, dans une structure de
données, les signatures visuelles des images extraites dans la phase d’indexation afin de faciliter, d’accélérer et d’améliorer les résultats de la recherche
ultérieure.
Pour cela, en premier lieu on se base sur un modèle de sac de mots, qui va
permettre de regrouper des points d’intérêt de l’image et de former des points
qui sont, spatialement, plus grands que les points d’intérêt, et qui possèdent
les mêmes propriétés invariantes. Ces regroupements sont capables de décrire
et de différencier les classes d’objets. Ces points sont appelées les "mots visuels". L’utilisation de ce modèle permettra la construction d’une signature et
la réduction de la taille des descripteurs de grande dimension dans le but de
les rendre plus compacte. C’est la raison pour laquelle nous l’avons utilisé.
En deuxième lieu, nous proposons d’appliquer le clustering à la place des
méthodes traditionnelles de structuration, une méthode de regroupement des
données qui à pour but d’organiser les mots visuels des images en groupes
homogènes (clusters), sans aucune contrainte sur la taille des clusters, en se
basant sur la similarité entre eux.
Notre contribution est détaillée tout au long du chapitre suivant, en donnant
un aperçu sur l’idée générale de notre approche. Dans un premier temps, nous
présentons nos motivations à utiliser les caractérisations visuelles des images
basées sur les points d’intérêt et le modèle de sac de mots visuels. Nous mettons
aussi l’accent sur le processus de clustering.
4.2 Architecture générale
Dans les chapitres précédents, nous avons détaillé les principales étapes de
conception d’un système de recherche par contenu. Il nous reste donc de présenter l’architecture générale de notre système en détaillant le déroulement des
différentes étapes d’indexation et de recherche d’images. Tout comme chaque
système de recherche d’images par contenu, notre système se compose de deux
phases : une hors ligne de structuration des données et une phase en ligne
d’interrogation de la base.
La figure 4.1 présente les différentes étapes par lesquelles nous sommes passés
pour la réalisation de notre système. Nous exposons en détail les différentes
étapes de la phase hors ligne dans ce qui suit :
94
4.3 Phase hors ligne
Figure 4.1 – Achitecture de l’approche proposée.
4.3 Phase hors ligne
La phase hors ligne de notre système englobe les prétraitements suivant :
1. Codage et description de chaque image (extraction et description des
points d’intérêt) ;
2. Représentation compacte des images à l’aide du modèle de sacs de mots
visuels ;
3. Partitionnement et regroupement des signatures d’images en clusters.
4.3.1 Extraction et description des points d’intérêt
Initialement, les signatures visuelles d’une image étaient calculées dans leur
ensemble. Cette approche décrit l’aspect global du contenu de l’image, mais
ne permet pas la description des petits détails et les objets de l’image. Ce qui
nous incite à une extraction locale des images.
La caractérisation locale connaît beaucoup de succès dans le domaine de la
recherche d’images. Il existe de nombreuses méthodes d’extraction des points
d’intérêts. Nous décrivons dans ce qui suit trois types de descripteurs SIFT,
SURF et QZM.
4.3.1.1 Algorithme d’extraction du descripteur SIFT
Pour l’extraction des points d’intérêt, nous utilisons dans notre système la
méthode de caractérisation la plus populaire pour les images nommé SIFT. Le
recours à ce descripteur se justifie par les résultats intéressants obtenus dans
95
Chapitre 4 Approche proposée
des travaux de reconnaissances d’objets et de mise en correspondance de points
d’intérêts [MS05c].
En un point particulier de l’image, ce descripteur se présente sous forme
d’un histogramme grossier des orientations des gradients contenus dans son
voisinage. Ce descripteur se présente sous forme d’un vecteur de dimension
128. Il est obtenu en calculant les modules et orientations des gradients au
voisinage d’un point caractéristique. En sélectionnant 16 régions autour du
point d’intérêt de taille chacune 4x4 pixels, nous calculons les 16 histogrammes
d’orientations des gradients. Chaque histogramme est de taille 8 bins qui représentent les 8 orientations principales entre 0 et 360 degrés. La figure 4.2
présente les différentes étapes de construction d’un descripteur SIFT associé à
un point d’intérêt.
Figure 4.2 – Etapes de construction d’un descripteur SIFT associé à un point
d’intérêt.
Pour un point d’intérêt, obtenu par un détecteur de points d’intérêt sur une
image I, l’algorithme d’extraction du descripteur SIFT correspondant est le
suivant :
1. Calcul de l’amplitude et de l’orientation principale du gradient du point
d’intérêt : l’échelle caractéristique de ce point d’intérêt est tout d’abord
déterminée. L’image I est alors convoluée avec un noyau gaussien de variance. A cette échelle, nous obtenons l’image L (lissée). En se basant sur
la technique de calcul de gradient, l’amplitude de ce dernier est donnée
par :
q
m(x,y)= (L(x + 1, y) − L(x − 1, y))2 + (L(x, y + 1) − L(x, y − 1))2 (4.3.1)
Il s’agit d’utiliser le masque [1, 0, 1] pour obtenir le gradient en x et [1,
0, 1]t pour obtenir le gradient en y. L’orientation du gradient est donnée
alors par l’expression suivante :
96
4.3 Phase hors ligne
(4.3.2)
θ(x, y) = tan−1 L(x,y+1)−L(x,y−1)
L(x+1,y)−L(x−1,y)
Un histogramme d’orientations H est alors construit en englobant les
différents gradients des points au voisinage de ce point d’intérêt. L’histogramme est de 36 bins couvrant 360 degrés. Chaque orientation d’un
point contribue à l’histogramme des orientations H par le module du
gradient associé et son poids relatif à sa distance le séparant du point
d’intérêt. En pratique, on utilise pour cela une gaussienne de variance
égale 1.5 fois la valeur de l’échelle du point caractéristique.
Les pics de cet histogramme correspondent aux orientations principales
du point d’intérêt. En pratique, nous ne gardons que le pic principal ainsi
que les pics de valeurs supérieures à 80% du pic principal. Généralement,
on ne garde au maximum que 4 orientations possibles pour un point
d’intérêt. Cela implique que quatre SIFTs au maximum seront associés
à ce point d’intérêt.
Figure 4.3 – Les gradients associés aux points d’intérêt détectés (orientation,
amplitude).
2. Calcul des sous-histogrammes au voisinage du point d’intérêt : nous sélectionnons 16 régions autour du point d’intérêt. Chaque région est de
taille 4x4 pixels. Pour chaque bloc, nous calculons les gradients associés
aux pixels de ce bloc. A partir des orientations de ces gradients, nous
calculons les orientations relatives par rapport à celle du point d’intérêt. A chaque bloc, on construit un histogramme de 8 directions (qui
correspondent aux orientations {0, 45, 90, 135, 180, 225, 270, 315}).
Chaque gradient contribue au sous-histogramme par l’amplitude du gradient pondéré par un poids relatif à une fenêtre gaussienne de variance
égale à la moitié de la taille de la fenêtre associée au descripteur.
97
Chapitre 4 Approche proposée
Figure 4.4 – A gauche, les gradients calculés à chaque pixel au voisinage du
point d’intérêt. A droite, les sous-histogrammes construits au
niveau de chaque bloc.
3. Calcul de l’histogramme des orientations global (le SIFT) : les soushistogrammes sont concaténés pour former le SIFT. L’histogramme obtenu est ensuite normalisé pour éviter l’effet de luminosité sur son invariance.
D’autres méthodes ont été développées pour faire évoluer SIFT. On s’intéresse dans ce qui suit à un autre type de descripteur SURF (Speeded
Up Robust Features) [BTVG06].
4.3.1.2 Algorithme d’extraction du descripteur SURF
Le descripteur SURF (Speeded Up Robust Features) présenté pour la première fois par Herber Bay en 2006.
SURF est un algorithme de détection de points caractéristiques d’une image
et un descripteur associé. Il est également plus performant en terme de rapidité
que le détecteur SIFT ; les résultats fournis étant comparables au regard de
la qualité des points caractéristiques détectés. Son avantage réside également
dans son invariance aux rotations et aux changements d’échelles. Tel SIFT,
SURF permet la détection à la fois de points d’intérêt et de leurs descripteurs
associés.
Le détecteur SURF opère en deux étapes :
— Détection des extrema du déterminant de la matrice Hessienne :
Le détecteur SURF est basé sur le déterminant de la matrice Hessienne
H(x, y) de la fonction intensité (, ) :
98
4.3 Phase hors ligne
Figure 4.5 – Vecteur SIFT présenté en 2 dimensions : horizontalement, nous
trouvons les 8 directions d’un sous-histogramme, verticalement,
nous trouvons les 16 blocs au voisinage d’un point d’intérêt.
"
H (x, y) =
Ixx (x, y) Ixy (x, y)
Ixy (x, y) Ixy (x, y)
#
(4.3.3)
La valeur du déterminant de la matrice Hessienne permet non seulement
de détecter les extrema locaux de la fonction intensité par une simple
recherche de signe positif du déterminant, mais aussi de classifier les
minima (zones brillantes) et maxima (zones sombres) locaux de cette
fonction en analysant les signes des deux valeurs propres de cette matrice
aux extrema détectés.
Comme souvent en vision par ordinateur, les dérivées des images sont
calculées par la convolution de l’image avec un noyau spécifique. Pour
calculer les dérivées partielles secondes de l’image, le détecteur SURF
utilise la seconde dérivée d’un noyau Gaussien, l’image filtrée s’exprime
alors par :
Lxx (x, y; σ) = I(x, y) ∗ Gxx (x, y; σ)
(4.3.4)
Ce choix permet d’une part une analyse spatiale multi-échelle, ce qui
procure une invariance du détecteur au changement d’échelle, et d’autre
part une invariance à la rotation en exploitant la propriété essentielle
d’isotropie de la fonction Gaussienne pour le produit de convolution. La
version multi-échelle de la matrice Hessienne est alors :
"
H (x, y, σ) =
Ixx (x, y, σ) Ixy (x, y, σ)
Ixy (x, y, σ) Ixy (x, y, σ)
#
(4.3.5)
Pour le calcul de la matrice Hessienne, H. Bay [BTVG06] propose d’approximer l’opérateur LoG en utilisant une représentation par boîtes de
99
Chapitre 4 Approche proposée
filtres des dérivées partielles secondes des filtres Gaussiens discrétisés
utilisés notés : Dxx, Dyy, Dxy respectivement dans es directions x, y,
xy (Figure 4.6). Ceci permet un réel gain d’espace de stockage et donc
de temps de calcul, puisque pour un filtre de taille 9 × 9 on a besoin
d’un tableau de taille 81 alors que seulement 8 poids sont associés aux
différentes régions des boîtes de filtres d’approximations dans les trois
directions différentielles (Figure 4.6).
Figure 4.6 – Correspondances entre les dérivées partielles secondes des filtres
Gaussiens discrétisés (en haut) et les boîtes de filtres d’approximation (en bas) pour le calcul de l’opérateur LoG
— Localisation des points d’intérêt
La construction de la pyramide échelle-espace et l’évaluation du déterminant de la matrice Hessienne DoH en tout point (x, y ; σ) (, ; ) permet
de sélectionner un ensemble de points d’intérêt candidats.
Trois étapes permettent d’écarter les points instables (sensibles au bruit
ou mal détectés) et localiser les points d’intérêt les plus stables de manière plus précise et robuste à la rotation dans l’image à travers toutes
les échelles : - D’abord, les valeurs du déterminant DoH au voisinage des
extrema = (, ; ) subissent un seuillage supérieur. Cependant, l’augmentation (resp. diminution) du seuil provoque une diminution (resp. augmentation) du nombre de points détectés, d’où la nécessité d’un choix
judicieux du seuil selon notre application.
— Ensuite, une étape de suppression non-maximale (Figure 4.7) est effectuée. Chaque pixel dont la réponse est supérieure au seuil est comparé à
ses 8 voisins dans l’échelle où il a été détecté ainsi qu’à ses 9 + 9 = 18
voisins aux échelles qui lui sont immédiatement inférieures et supérieures.
Au final, si le pixel est plus grand que les 28 voisins qu’ils l’entourent
alors il sera sélectionné comme un maxima local.
— Enfin, la précision de détection est améliorée par une interpolation poly-
100
4.3 Phase hors ligne
Figure 4.7 – Etape de Suppression non-maximale
nomiale quadratique 3D des extrema locaux du DoH dans l’espace image
et échelle selon la méthode proposée dans [Low99].
Pour ce qui est de la description, SURF construit des vecteurs de taille 64
qui décrivent la distribution des pixels dans les régions d’intérêts orientées de tailles proportionnelles aux échelles des points détectés, ce qui
permet une robustesse à l’échelle. Pour accélérer les calculs, le descripteur SURF utilise la représentation de l’intégrale des images associée aux
filtres d’ondelettes de Haar connus pour leur simplicité dans le calcul de
gradients. Le descripteur SURF effectue la recherche de l’orientation la
plus fréquente des pixels appartenant à chaque zone d’intérêt choisie de
forme circulaire dont le rayon est égal à 6 fois l’échelle associée au point
central détecté. Le Gradient de l’image peut être définit en tout point
par les deux paramètres magnitude et orientation donnés par :
—


q
m(x, y) = Ix2 (x, y) + I
n
o
 θ(x, y) = tan−1 Iy (x,y)
Ix (x,y)
(4.3.6)
Cependant, pour le calcul de l’orientation, le descripteur SURF remplace l’évaluation des dérivées de l’image par différences successives des intensités en utilisant la décomposition en ondelettes de Haar de taille 4 sur les séries de pixels
échantillonnés à une cadence dans chaque direction et des régions d’intérêt.
4.3.1.3 Algorithme d’extraction du descripteur QZM
Les moments de Zernike constituent un descripteur robuste à fort pouvoir
descriptif, introduits pour la première fois en vision par ordinateur en 1934 par
Teague [Tea80]. Ils sont fréquemment utilisés dans de nombreuses applications,
notamment l’indexation des images dans les bases de données et la compression
d’images.
101
Chapitre 4 Approche proposée
Leur supériorité sur les autres moments est due d’une part, à la propriété
d’orthogonalité des fonctions de base des moments de Zernike qui assure l’unicité et l’indépendance des descripteurs et d’autre part, à leurs propriétés d’invariance en translation, en rotation et en échelle. Cependant, la majorité des
travaux utilisent la formulation conventionnelle des moments de Zernike en
transformant l’image couleur en niveaux de gris (perte d’information) ou bien
en calculant ces derniers pour chaque composante de l’image (perte de la notion de dépendance entre les 03 composantes couleurs). Afin de pallier cette
carence, nous nous sommes intéressés à l’utilisation du formalisme des quaternions associés aux images couleurs.
Dans ce formalisme le vecteur couleur associé à un pixel est représenté par
un quaternion pur et sera donc utilisé pour construire un nouveau ensemble de
moments nommés : moments de Zernike quaternioniques en anglais Quaternion
Zernike moment (QZM) en substitution aux moments de Zernike conventionnels.
En effet, les quaternions offrent une opportunité de coder l’information couleur des images en utilisant des représentations algébriques facilement manipulables avec des opérations telle que la somme ou le produit et par conséquent,
permettent d’alléger de façon considérable l’écriture des opérations faisant appel à la géométrie vectorielle. De plus, les quaternions ont été associés avec
succès avec des opérateurs relevant du traitement de signal et le traitement
d’images.
Dans ce contexte, notre objectif est d’appliquer une version améliorée des
moments de Zernike conventionnels par l’utilisation de la théorie des quaternions pour générer un ensemble de descripteurs prenant en compte à la fois
la forme et la couleur des objets existant dans une image. Cet algorithme est
utilisé pour la classification d’images.
Nous donnons dans ce qui suit une brève présentation de la théorie des
quaternions.
— Les quaternions
Cette méthode à été introduit par Sir W.R. Hamilton en 1843, les quaternions sont des nombres hypercomplexes présentant une extension des
nombres complexes aux espaces à quatre dimensions. Un quaternion q H
s’écrit, dans sa forme Cartésienne, comme :
q = a + bi + cj + dk
(4.3.7)
avec a, b, c, d ∈ R, et i, j, k ∈ C qui vérifient :


i2 = j 2 = k 2 = ijk = −1
 ij = −ji = k, jk = −kj = i, ki = −ik = j
(4.3.8)
Le conjugué et le module (norme) du quaternion q sont données par :
102
4.3 Phase hors ligne
q ∗ =√a − bi − cj − dk
|q| = a2 + b2 + c2 + d2
(4.3.9)
Un quaternion est dit pur si sa partie réelle est nulle.
— Moments de Zernike Quaternioniques
Les moments de Zernike conventionnels sont construits en utilisant un
ensemble de polynômes complexes, aussi appelés polynômes de Zernike
[RHP+ 06]. Ils forment un ensemble orthogonal complet défini sur le
disque unité avec x2 + y2 ≤ 1.
Dans le cas d’une image en niveaux de gris g(x, y), x, y étant les positions
d’un pixel donné, les moments de Zernike, notés Znm sont définis avec
un ordre n et une répétition m sur D = |(n, m)| 0 ≤ n ≤∝, |m| ≤
n, |n − m| = pair :
N X
M
n+1 X
∗
g(x, y)Vnm
(x, y)
(4.3.10)
Znm =
π x=1 y=1
∗
où Vnm
(x, y) dénote le conjugué complexe de Vnm (x, y), lui-même défini en
coordonnées polaires (ρ, θ) comme :
Vnm (x, y) = Vnm (ρ, θ) = Rnm (p) ejmθ
(4.3.11)
où ρ est la longueur du vecteur d’origine (x, y) pixel, θ est l’angle entre le
vecteur ρ et l’axe X dans le sens.
Rnm (p) désigne le polynôme radial orthogonal de ρ défini comme suit :
n−|m|
2
Rnm (p) =
(−1)s (n − s)!ρn−2s
X
s=0
s!
n+|m|
2
−s !
n−|m|
2
−s !
(4.3.12)
Soit f (x, y) une image représentée dans l’espace couleur RVB, on peut donc
représenter chaque pixel par un quaternion pur [LBS03], comme suit :
f (x, y) = fr (x, y)i + fv ( x, y)j + fb (x, y)k
(4.3.13)
où fr (x, y)i + fv ( x, y)j et fb (x, y)k représentent respectivement les composantes Rouge, Vert et Bleu de l’image couleur [CSZ+ 10].
En substituant g(x, y) par f (x, y) et en utilisant l’équation précédente :
Q
Znm
=α
N X
M
X
f (x, y) Rnm (ρ)e−µmθ
(4.3.14)
x=1 y=1
√
n+1
Avec α = π(N +1)(M
et µ = (i + j + k) / 3
+1)
Dans le cadre de cette étude, nous utilisons les moments de Zernike quaternioniques d’ordre n = 10. On obtient donc un vecteur caractéristique formé de
34 composantes listées dans le tableau suivant :
Les méthodes de caractérisation que nous avons utilisé dans notre système
nous permettent de représenter l’image de divers objets lui constituant. Nous
103
Chapitre 4 Approche proposée
Table 4.1 – Liste des moments de Zernike quaternioniques.
constations que les solutions SIFT, SURF et QZM répondent parfaitement aux
attentes de la communauté scientifique en matière de robustesse et de densité
de points détectés.
Des conclusions et des résultats sur chacune de ces méthodes sont établis
dans le prochain chapitre, nous permettant par la suite de dégager une démarche à suivre pour répondre à la problématique posée afin de caractériser le
mieux une image tout en prenant en compte non seulement le contenu visuel,
mais également le sens de l’image.
Après l’étape d’extraction des points d’intérêt, on passe à l’étape de construction des sacs de mots. Cette étape permettra l’obtention d’une signature qui
résume l’information pertinente et caractéristique de l’image sous forme d’une
distribution multidimensionnelle.
4.3.2 Représentation par sac de mots visuels
Avec les signatures globales, l’obtention d’une représentation de l’image est
directe. Cependant, même quand des signatures locales sont utilisées, il est
parfois nécessaire d’avoir une représentation globale pour les images qui englobe toutes les informations visuelles locales. La représentation par sac de
mots visuels est une des plus populaires pour les images.
Pour obtenir des représentations globales d’images à partir de caractéris-
104
4.3 Phase hors ligne
tiques visuelles locales. L’idée principale est de représenter les documents par
des collections non-ordonnées de mots et d’en obtenir une signature globale à
l’aide d’un histogramme comptant les occurrences de ces mots. Par analogie,
on parle alors de sacs de mots visuels pour les images (voir figure 4.8).
Table 4.2 – Représentation d’une image sous forme d’histogramme.
Dans notre étude, pour la construction du vocabulaire visuel nous utiliserons
le même principe du texte dans les images.
Soit C une collection contenant m documents. Chacun de ces documents
Dk est composé d’un certain nombre sk de patches. P désigne l’espace de tous
les patches. Un vocabulaire V est un ensemble de n mots. Ces mots sont des
patches particuliers.
C = Dk , k[1, m]
Dk = Pjk ∈ P, j ∈ [1, sk ]
V = Wi ∈ P, i ∈ [1, n]
Afin de pouvoir obtenir des représentations homogènes des différents documents, il est parfois nécessaire de les quantifier pour travailler dans un espace
commun.
De manière générale, on va associer à chaque patch le mot du vocabulaire
qui le représente le plus fidèlement.
On peut pour cela définir un opérateur de quantification Q.
Q:P →V
n
d = wk ∈ V
Dk → D
k
j
o
Dans la modélisation par espace vectoriel, à chaque document quantifié est
associé un vecteur. La taille de ce vecteur correspond au nombre de mots
105
Chapitre 4 Approche proposée
du vocabulaire V . Ainsi, chaque coordonnée du vecteur mesure une grandeur
relative au mot correspondant.
4.3.2.1 Vocabulaire visuel
Contrairement au texte, où par nature les patches sont déjà sous forme
discrète, avec les images nous utilisons des signatures locales continues. Chaque
image est représentée par un sac de signatures locales, comme il est illustré
dans la figure 2.9. Dans notre cas, ce sont des histogrammes de dimension d :
Dk = Pjk ∈ P, j ∈ [1, sk ]
(4.3.15)
Afin de pouvoir quantifier ces signatures, il primordial de créer un vocabulaire visuel au préalable. C’est une étape importante puisque ce vocabulaire
doit permettre de représenter au mieux l’ensemble des images de la base. Il
existe de nombreuses approches pour obtenir un tel vocabulaire. Elles sont
généralement basées sur des algorithmes de partitionnement. Une base de signatures est divisée en n partitions. Chacune de ces partitions est représentée
par un prototype (généralement son centre) qui est inclus au vocabulaire. La
base à partir de laquelle le vocabulaire est créé fait également partie des choix
à faire. Il peut s’agir de la même base que celle qui servira à effectuer l’apprentissage, ou au contraire on peut souhaiter que le vocabulaire soit constitué
à partir d’images qui ne seront plus utilisées par la suite. Nous choisissons
d’utiliser la base d’apprentissage T rn pour créer nos vocabulaires. Une fois
le partitionnement terminé, on dispose de notre vocabulaire visuel V . Chaque
image peut alors être quantifiée à l’aide de ce vocabulaire en assignant à chaque
signature locale le mot visuel dont elle est le plus proche.
d ∈ arg min d w k , P k , j ∈ [1, s ]
D
k
k
j
j
(4.3.16)
wjk ∈V
Figure 4.8 – Représentation par sac de mots visuels. Photo ©AFP.
106
4.3 Phase hors ligne
4.3.2.2 Quantification et K-Means
La construction du vocabulaire visuel (ou dictionnaire visuel) passe par le
regroupement de l’ensemble des caractéristiques extraites de la base d’images.
Il s’agit d’une opération de quantification vectorielle.
Cette étape est l’une des étapes sensibles dans notre système. En effet,
chaque objet de la base d’apprentissage ou de la base de test sera exprimé
dans la suite au moyen des mots visuels de ce dictionnaire. Il en découle que
générer un dictionnaire le plus représentatif possible des objets permet de représenter le mieux possible ces objets.
Notre objectif de la quantification vectorielle consiste à représenter chaque
caractéristique par le centroïde du groupe (ou cluster) qui le contient. Le
nombre de clusters retenus est en fait la taille du dictionnaire. Les clusters
sont les mots visuels du dictionnaire (figure 4.10).
En se reportant sur la littérature des approches de clustering, les approches
itératives de partitionnement sont les plus adaptées à nos besoins. Dans notre
étude, on utilise la méthode de regroupement K-means. Il reste sans doute
l’algorithme le plus utilisé et le plus approprié aux grandes bases des algorithmes de regroupement, car il est de faible complexité et de consommation
en mémoire.
A partir de k centroïdes (initialisés aléatoirement), cet algorithme partitionne itérativement l’espace en affectant chaque point de l’espace à son plus
proche centroïde, puis re-calcule le barycentre de chaque groupe pour déterminer à nouveau les centroïdes. Une condition d’arrêt doit également être définie.
Il peut s’agir d’un critère de stabilité des partitions entre deux itérations successives ou, plus simplement, d’un nombre maximum d’itérations.
Plus formellement, nous définissons par X = x1, x2, . . . , xn l’ensemble des
données de taille n. Chaque élément xi est de dimension d ≥ 1. Nous définissons
aussi par C = c1, c2, ..., ckl’ensemble des centres des clusters de taille k. Ces
centres sont ajustés itérativement, au cours de l’algorithme de clustering, pour
aboutir aux centres optimaux des clusters de la base X.
Nous définissons aussi la fonction d’appartenance m : (cj , xi ) → m(cj /xi ) =
la fréquence avec laquelle l’élément xi appartient au cluster de centre cj .
Avec :
k
X
m (cj /xi ) = 1; ∀i ∈ [1..n]
(4.3.17)
j=1
m(cj /xi ) ≥ 0; ∀i et j
L’algorithme général de K-means se présente comme suit :
1. Initialiser les k centres sur les données.
2. Pour chaque élément xi , on calcule la fonction m(cj /xi ) à chaque cj et
on retient le cj vérifiant le minimum de cette fonction.
3. On recalcule les nouveaux centres cj des k clusters.
107
Chapitre 4 Approche proposée
4. Les opérations 2 et 3 sont répétées jusqu’à la convergence de l’algorithme,
i.e. les centres ne changent plus ou changent inférieurement à un seuil d’arrêt
fixé.
C:/home/asmaa/Mes cours/2016-2017/PFE Soumia/V3/Latex/Logos/Chap 4
Figure 4.9 – Représentation des mots visuels basés sur une quantification des
points d’intérêt
Nous présenterons dans le prochain chapitre les résultats obtenus de la quantification en utilisant les trois descripteurs cités précédemment.
4.3.3 Partitionnement et regroupement des signatures
d’images
Dans cette étape nous proposons de regrouper en clusters homogènes l’ensemble des signatures d’images en fonction de leurs similarités. Cette similarité
est exprimée sous forme de distance qui est associée à chaque signature, puis
une recherche des k plus proches voisins est effectuée. Ainsi la recherche peut
être orientée vers un ensemble réduit de la base avec de fortes probabilités de
contenir les points recherchés.
Le regroupement consiste à organiser les signatures d’images afin que les
procédures de recherche répondent le plus rapidement possible. Cette organisation se traduit généralement par une structuration des signatures en de
"petits" ensembles et par l’implémentation des stratégies de recherche capable
de retourner un résultat en n’examinant qu’un "petit" nombre d’ensembles de
signatures (voir figure 4.11). Rappelons que les signatures sont représentées
sous de vecteurs de d dimensions.
Par la suite la classification des données nous amène à devoir concevoir un
algorithme de classification sous quelques contraintes :
— Bien entendu, il faut que les données soient regroupées en fonction de
leurs similitudes.
— L’algorithme de classification doit être incrémental pour permettre l’ajout
en continu de nouvelles images dans la base.
Bien qu’il existe plusieurs propositions suivant cette approche, il y a encore
quelques problèmes à résoudre, parmi ceux-ci, déterminer le nombre optimal
de clusters ou partitions et par conséquent leur taille.
108
4.3 Phase hors ligne
Figure 4.10 – Partitionnement de la base des signatures.
Nous proposons deux méthodes différentes pour la mise en œuvre du clustering, dont la première méthode est basée sur une classification à un noyau
prés (-prés). Dans cette méthode toutes les signatures proches entre elles sont
regroupées dans la boule de rayon centrée, sans aucune contrainte sur la taille
des clusters. Notons aussi que le nombre de clusters n’est pas fixé au préalable,
il est calculé automatiquement en fonction de la distance.
Contrairement à la première méthode, la deuxième méthode de clustering
que nous avons proposée est basée sur une architecture avec un nombre optimal
de nœuds et cela en fonction de la taille de la base de données et les signatures
d’images à traiter. Nous détaillons dans ce qui suit les deux méthodes de
classification.
Méthode I :
A ce stade nous disposons d’une masse considérable de signatures (données)
stockées dans la base. Notre objectif est de répartir / classifier nos données
selon leurs similarités. Le nombre de clusters n’est pas connu à l’avance et il
n’est pas négligeable devant le nombre d’éléments.
Le partitionnement de la base de données ce fait en fonction du paramètre
ε. Ce paramètre représente un seuil qui est donné par le concepteur.
Nous utilisons la distance Euclidienne pour mesurer la similarité entre les
signatures. Cette distance est définie comme suit :
Dist(v, u) =
X q
2
(vi − ui )
(4.3.18)
i=1
Où u et v représentent des signatures d’images (sacs de mots des images).
Pour construire les clusters, on commence par donner une valeur au seuil(ε),
telles que toutes les signatures proches entre elles sont regroupées dans la boule
109
Chapitre 4 Approche proposée
de rayon ε qui forme un cluster. Une signature peut être assignée à un seul et
unique cluster.
Plus formellement, il s’agit de regrouper l’ensemble des vecteurs qui se
trouvent à une distance <. Cet ensemble est défini par : R(u, ε) = v, u ∈ BD/distance(u, v) < ε
où BD est la base de vecteurs, u et v sont des vecteur de la base.
Les clusters sont formés dynamiquement, et donc il n’existe aucune contrainte
sur le nombre optimal de clusters.
Algorithme 4.1 Algorithme 1 : Méthode I
Entrée X, ε
Sortie Y
Y ←
Début
Répéter
Pour chaque signature xi X
xi ← xi
yk = xi
marqué xi
Pour chaque signature xj non marqué
Si dist(xi, xj) <= ε
Alors
Début
yk union xj
marqué xj
Fin
Fin Si
Y = Y ∪ yk
Jusqu’à ce que toutes les signatures soient marquées
Fin
Après que les clusters sont formés, chacun possédera son propre représentant
(R) qui est lui même un vecteur. Ce vecteur est représenté par le centre de
gravité du cluster (Cl). La figure 4.12 illustre ce procédé.
Chaque cluster contient un ensemble de signatures. Cette méthode de partitionnement optimise les performances pour les régions denses.
Cette méthode nous a permis de réduire la taille de l’espace en utilisant le
clustering. Sa simplicité et sa performance a été une forte motivation pour étudier son comportement dans un contexte indexation d’images à grande échelle.
Nous donnerons plus de détails sur les résultats obtenus dans le chapitre suivant.
Méthode II :
Dans cette méthode, nous décrivons une autre approche de clustering. Nous
présentons d’abord l’algorithme de base, puis les paramètres affectant son com-
110
4.3 Phase hors ligne
Figure 4.11 – Partitionnement avec la méthode I
portement.
La seconde méthode de regroupement comporte un certain nombre de contraintes :
— Le nombre de clusters est connu à l’avance et il n’est pas négligeable
devant le nombre d’éléments.
— Les clusters sont de même taille.
— L’algorithme autorise les réorganisations incrémentales des clusters afin
de s’adapter à l’apparition de nouveaux clusters suffisamment importants
et à leur éclatement ultérieurs en « sous-clusters » si leur croissance se
poursuit, éventuellement à leurs regroupements ou redécoupages.
La méthode que nous proposons comporte comme entrée une collection de
signatures, où ns représente le nombre de signatures S = s1 , s2 , s3 , ..., sns ou le
nombre d’images.
Le nombre de cluster est défini comme suit :
cl =
ns
taille de clusters désiré/taille moyenne des signatures
(4.3.19)
Les clusters cl sont désignés arbitrairement, de façon aléatoire. Les signatures
ri sont appelés « clusters leaders » ou représentants de clusters r1 , r2 , . . . , rcl .
La première étape consiste à initialiser le nombre de clusters. Avant cela nous
proposons de déterminer le nombre de cluster en fonction de la taille désirée
du cluster et la taille moyenne des signatures d’images. Le rapport taille de
clusters et la taille moyenne des signatures est un facteur essentiel pour la
performance d’un bon clustering. Car dés que la taille désiré du cluster est
grande le nombre de cluster est petit se qui permet dans un premier temps
d’avoir un nombre minime d’index qui peut s’adapter entièrement dans la
mémoire. Dans un second temps, plus le nombre de cluster est petit, peu de
clusters peuvent potentiellement être lus, se qui permet d’avoir un coût E/S
réduit.
Chaque cluster va comporter les propriétés suivantes :
111
Chapitre 4 Approche proposée
1. Taille Globale du cluster (TG) : Cette taille est mesurée en Ko
(Kilo Octet)„ elle représente la taille totale que peut posséder un cluster.
C’est le concepteur qui la fixe au préalable.
2. Taille Espace Libre (TEL) : représente l’espace disponible qui reste
inoccupé. Cette taille est définie comme suit :
Taille Espace Libre = Taille Globale du cluster- Taille Espace
Occupé
Après avoir choisi les représentants des clusters leaders et cela à partir de la
collection C, on compare toutes les signatures restantes avec tous les clusters
leaders, afin d’assigner chaque signature à son leader le plus proche et donc un
sous-ensemble de C est créé pour chaque leaders.
Ce sous-ensemble est décrit par [ri , si1 , si2 , . . . , siv ], où v est le nombre de
signatures dans le cluster ri, ce dernier demeure le représentant le plus proche
de ces signatures. Chaque signature sera assignée à un seul et unique cluster
leader.
Pour placer les signatures, on utilise la fonction « index_min_dist ».
Cette fonction permet de trouver l’indice du cluster leader le plus proche.
Une fois ce cluster est trouvé, il faut vérifier que la taille de la signature
à insérer est inférieure à l’espace libre de ce cluster. On définit la fonction
« index_min_dist» comme suit :
Algorithme 4.2 Fonction index_min_dist (Tab_dist)
Début
taille_max=max
Pour i=1 à cl faire
Si taille_max>Tab_dist[i]
Alors
Début
A=i
Taille_max=tab_dist[i]
Fin
Fin Si
Fin
Dans le cas contraire où la taille de la signature est supérieure à l’espace libre
alors faire éclater le cluster. Pour cela, nous utilisons une fonction d’éclatement.
Cette fonction permet d’éclater le cluster en deux sous groupes. Un exemple
d’éclatement est donné dans la figure 4.13.
Pour faire éclater un cluster en deux sous groupe (fils de cluster), l’idée est
de diviser l’ensemble des signatures en deux, de telle sorte à attribuer à chaque
sous groupes N2bs signatures, où N bs représente le nombre total de signatures
dans le cluster à éclater.
112
4.4 Phase en ligne
Un leader est désigné pour chaque fils de cluster afin de pouvoir assurer le
suivi d’un nombre fixe de signatures qui lui sont attribuées.
Le leader fils est utilisé pour guider afin de réduire le parcours du nombre
de signatures. Nous le représentant par le centre de gravité cluster.
Figure 4.12 – Exemple d’éclatement.
La méthode II est une bonne base pour la construction de systèmes à grande
échelle. Non seulement l’algorithme est rapide, mais il semble produire des
clusters de qualité acceptable à grande échelle.
Avec cette méthode on arrive à réduire la taille de l’espace de navigation,
et ainsi l’espace de recherche. Le chapitre suivant comprendra les résultats
obtenus de cette méthode.
4.4 Phase en ligne
Comme nous l’avons expliqué dans les chapitres précédents, le but des systèmes de recherche d’image par contenu est de permettre à un utilisateur de
trouver, dans des bases d’images, toutes celles qui sont semblables à une image
qui l’intéresse.
La recherche par similarité n’est pas de mesurer sur les images directement
mais plutôt sur la base des vecteurs caractéristiques (signatures d’images).
Étant donnée une requête, un système de recherche d’images doit être capable,
sur la base des index dont il dispose, de retrouver les images les plus similaires
à une image requête en terme d’une distance donnée. Le problème de recherche
d’images se ramène donc à un problème de recherche des k plus proches voisins
dans un espace de vecteurs multidimensionnels. Une distance est donc associée
à chaque signature et une recherche des k plus proches voisins est effectuée.
Les méthodes de clustering que nous avons présenté précédemment sont
employées pour organiser et structurer spécifiquement les signatures, en partitionnant la base en groupes de données selon leur ressemblance. Ainsi la
recherche peut être orientée vers un ensemble réduit de la base avec de fortes
probabilités de contenir les images recherchées. Ces méthodes permettent éventuellement d’accroître la vitesse des recherches et minimiser les coûts liés aux
113
Chapitre 4 Approche proposée
Algorithme 4.3 Méthode II
Tab_dis= table [1...max] of real
Tab_dis= table [1...max] of real
Sortie A clustering C1, C2, . . . , Ct of C
Début
Calculer (cl)
echantilon= random (C, cl)
Pour de i=1 à longueur (echantillon) faire
Début
Insertion (echantillon [i], cluster [i]) longueur (cluster [i]) = longueur (cluster [i]) - longueur (echantillon [i])
Fin
Pour de i=1 à (ns-cl) faire
Début
Sélectionner une signature (BDD, s)
Pour de k=1 à cl faire
Tab_dist[k] =dist (s, cluster[k])
A= index_min_dist (Tab_dist)
Si longueur (s)> longueur (cluster [A])
Alors éclater (cluster [A], s)
Sinon
Début
Insertion (s, cluster [A]) longueur (cluster [A])
= longueur (cluster [A])- longueur (s)
Fin
Fin
Fin
114
4.4 Phase en ligne
entrées sorties. Les méthodes que nous proposons montrent qu’il est possible
de classer de manière efficiente les images, et de naviguer rapidement dans une
vaste quantité d’images.
La recherche d’une requête porte sur les traitements suivants :
1. Codage et description de l’image requête (extraction et description des
points d’intérêt) ;
2. Représentation compacte de l’image requête à l’aide du modèle de sacs
de mots visuels ;
3. Filtrage : trouver les clusters père les plus proches qui ont la chance de
contenir les descripteurs de la requête ;
4. Accès : parcourir tous les clusters fils plus proches ;
5. Calcul du degré de similarité : le but étant d’assigner un score à chaque
image résultante trouvé, afin de les classer de la plus pertinentes à la
moins pertinentes.
La figure 4.15 résume les différentes étapes citées.
Pour rechercher une image, nous avons proposé deux différentes méthodes de
clustering, et cela pour plusieurs raisons : d’une part pour optimiser le temps
de calcul, et d’autres part pour une recherche répartie, c.-à-d. que pour chaque
parcours et résultat trouvé, on calcul un degré de similarité afin d’assigner un
score à chaque image résultante trouvée, dans le but de trier les images et de
les renvoyées à l’utilisateur.
Le traitement d’une image requête dans la première méthode se déroule
comme suit :
- Avant de retrouver les vecteurs les plus similaires à un vecteur requête au
sens d’une mesure de similarité donnée. La recherche par similarité est
exécutée par une recherche des k plus proches voisins (k-ppv).
- Chaque cluster assure le suivi d’un nombre fixe de signatures qui lui sont
attribuées.
La première étape à élaborer est de commencer par le calcul de la distance entre
le vecteur de requête, et les vecteurs des centres de gravité de chaque cluster, la
distance que nous utilisons est la distance Euclidienne. Après avoir sélectionné
les k centres de gravités les plus proches, où ces derniers sont des représentants
de cluster. Les clusters les plus proches peuvent très probablement contenir le
résultat de la requête.
Par ailleurs, à l’aide de cette méthode les distances entre le vecteur requête
et ses k plus proches centres de gravités voisins, permet d’éliminer les clusters
les plus éloignés et de remédier ainsi l’inconvénient majeur de cette technique
de recherche. Par conséquent, nous considérons dans la suite de ce travail
uniquement la recherche des k plus proches voisins.
La figure 4.16 illustre la structure hiérarchique de notre sous système.
Lors d’une interrogation (soumission de la requête), un premier parcours
séquentiel d’un fichier est établi. Ce dernier contient les vecteurs représentants
115
Chapitre 4 Approche proposée
Figure 4.13 – Exemple de recherche d’une image requête.
116
4.5 Conclusion
Figure 4.14 – Architecture générale de la méthode II
les centres de gravités de chaque cluster père. Ce premier parcours permet
de sélectionner les clusters contenant les vecteurs qui ont le plus de chances
d’appartenir à l’ensemble des résultats, cette étape est appelée « étape de
filtrage ». Après cette étape, un ensemble de clusters candidats reste. Ces
candidats sont alors visités en calculant le vecteur requête avec les vecteurs
signatures appartenant au cluster, selon un ordre croissant par rapport au
vecteur requête. Cette étape est dite « étape d’accès ». Cependant, on ne
parcourt pas tous les clusters. Le but est que chaque cluster candidat proche
parcourt ses signatures afin de renvoyer à l’utilisateur les images de la plus
pertinentes.
4.5 Conclusion
Dans ce chapitre, nous avons exposé la technique de mise en place d’un
système d’indexation et de recherche dans les grandes collections d’images.
En utilisant dans un premier lieu une classification d’objets par la méthode
de sacs de mots en présentant différents descripteurs.
En second lieu nous décrivons les méthodes de clustering permettant la
réduction de la taille de l’espace de recherche, et ainsi de limiter le nombre
d’image à parcourir, ce qui ramène à un traitement rapide de la requête.
Nous présentons dans le chapitre suivant les résultats du système développé
en précisant ses côtés positifs ainsi que ses défauts.
117
Chapitre 5
Résultats expérimentaux
L’évaluation du système proposé dans cette thèse et clairement expliqué dans
le chapitre précédent, est décrite dans ce dernier chapitre, et cela en termes de
données et de méthodes de clustering.
Nous présentons en premier lieu les bases d’images sur lesquelles notre approche a été testée ainsi que les critères et mesures d’évaluation calculées sur
ces bases.
En deuxième lieu nous commentons les performances de du système proposé,
en rapportant les résultats obtenus ainsi qu’une analyse de leur signification.
119
Chapitre 5 Résultats expérimentaux
5.1 Introduction
Ce chapitre décrit les évaluations concernent à la fois l’efficacité, la fiabilité
et la qualité de recherche assurant la pertinence des résultats.
Nous présentons en premier lieu les bases d’images sur lesquelles notre système a été testé ainsi que les critères et mesures d’évaluation calculées sur ces
bases. En deuxième lieu nous commentons les performances de notre système,
en évaluant la capacité de satisfaire les requêtes lancées par l’utilisateur, ainsi
que la rapidité d’exécution des différents modules ; essentiellement pendant la
phase de recherche.
5.2 Contexte des expérimentations
Nous avons implémenté l’algorithme de clustering ainsi que l’algorithme de
recherche en C++, sous le système d’exploitation Windows XP 7 .
Nous utilisons Matlab pour l’extraction et la description des caractéristiques.
Pour conduire nos expérimentations, nous avons utilisé plusieurs bases de données disponibles publiquement.
5.2.1 Bases d’images
Nous évaluons les performances de notre système avec des bases d’images
connues par la communauté qui travaille dans ces technologies.
Nous présentons brièvement les spécificités de ces bases par ordre de complexité et de difficulté.
5.2.1.1 Corel
La base Corel est une base d’environ 60 000 images. Un sous ensemble de
cette base, bien connu et utilisé par la communauté, est Corel-1000. Cette base
d’images a été mise en place par le groupe du professeur Wang de l’université
Pennsylvanie State [Cor]. Elle contient 1000 images naturelles en couleur réparties sur 10 classes : Afrique, Plage, Bâtiments, Autobus, Dinosaures, Fleurs,
Eléphants, Chevaux, Alimentation et Montagnes. Chaque image est de taille
384x256 (Figure 5.1).
120
5.2 Contexte des expérimentations
Figure 5.1 – Catégories de la base Corel-1000
5.2.1.2 PASCAL Visual Object Classes (Pascal voc)
Cet ensemble contient 10,000 images de Pascal voc [Voc], qui a été largement
utilisé comme un banc d’essai basé sur le contenu des systèmes de recherche
d’image par les communautés de traitement d’image. Cette base de données de
10.000 d’image contenant 20 catégories définies sur cet ensemble de données
(Figure 5.2).
Figure 5.2 – Catégories de la base Pascal VOC
5.2.1.3 Caltech -256
Nous avons utilisé une autre base de données Caltech -256 [Cal] contenant
30,607 images, composée de 256 catégories (cerveau, chameau, diamant, bague
121
Chapitre 5 Résultats expérimentaux
etc.) et dont le nombre minimal d’images par catégories est ramené à 80 images
(Figure 5.3).
Figure 5.3 – Catégories de la base Pascal VOC
5.3 Mesures d’évaluations
Avant l’exécution d’un système de recherche d’images, une évaluation qui
permet de mesurer la performance de ce système est nécessaire. Les mesures
les plus courantes pour évaluer un système sont le temps de réponse et l’espace
utilisé. Plus le temps de réponse est court, plus l’espace utilisé est petit, et plus
le système est considéré bon.
Cependant avec des systèmes dédiés à la recherche d’images, en plus de ces
deux critères, on s’intéresse à d’autres mesures. Dans le système de recherche
d’images, l’utilisateur s’intéresse aux réponses pertinentes du système. Donc
les systèmes de recherche d’images exigent l’évaluation de la précision de la réponse. Ce type d’évaluation est considéré comme l’évaluation des performances
de recherche.
Dans cette section, nous allons décrire les deux mesures les plus courantes :
le rappel et la précision. Ces mesures sont reliées entre elles. Donc on décrit
souvent cette relation par une courbe de rappel et précision. Ensuite nous
présentons d’autres mesures que l’on utilise aussi pour évaluer des systèmes de
recherche d’images.
5.3.1 Rappel et précision (en anglais : Recall and Precision)
5.3.1.1 Le rappel
Le rappel est le rapport entre le nombre d’images pertinentes dans l’ensemble
des images trouvées et le nombre d’images pertinentes dans la base d’images.
122
5.3 Mesures d’évaluations
Rappel =
|Ra|
R
(5.3.1)
5.3.1.2 La précision
La précision est le rapport entre le nombre d’images pertinentes dans l’ensemble des images trouvées et le nombre d’images trouvées.
P rècision =
|Ra|
A
(5.3.2)
Où :
I : une image requête
R : l’ensemble d’images pertinentes dans la base d’images utilisée pour évaluer.
|R| : le nombre d’images pertinentes dans la base d’images.
A : l’ensemble des réponses.
|A| : le nombre d’images dans l’ensemble des réponses.
|Ra| : le nombre d’images pertinentes dans l’ensemble des réponses.
L’exemple présenté dans la figure 5.4 illustre le calcul de rappel et précision.
Calcul de Rappel et précision
Figure 5.4 – Exemple de calcul rappel et précision.
Rappel = 2/6 = 0.33
Précision = 2/3 = 0.67
123
Chapitre 5 Résultats expérimentaux
5.3.1.3 La courbe de rappel et précision
Le rappel et la précision sont des mesures importantes, mais si on voit seulement une paire de valeurs de rappel et précision, cette paire de valeurs ne peut
pas indiquer la performance du système. C’est pourquoi on donne souvent une
distribution de rappel et précision sous forme d’une courbe.
5.3.2 Moyenne des Précision Moyennes (MAP)
Pour évaluer un système ou une méthode, on calcule la moyenne des Précisions Moyennes MAP (Mean Average Precision) pour toutes les catégories de
la base de données.
La moyenne est obtenue en considérant un ensemble de requêtes. La moyenne
des Précisions Moyennes permet de comparer des systèmes sur les précisions à
différents niveaux de coupe de la réponse du système.
Plus précisément, la précision moyenne (average precision) pour une requête
est la moyenne des précisions obtenues chaque fois qu’une image pertinente est
retrouvée. La moyenne de la précision moyenne (MAP) pour un système est
la moyenne des précisions moyennes obtenues sur un ensemble de requêtes.
Le calcul de la précision moyenne (pour une requête Q donnée) se fait en
déterminant à chaque image pertinente retrouvée la précision correspondante.
Lorsqu’une image non pertinente est retrouvée, sa précision est égale à 0.
La précision moyenne établit donc la moyenne de toutes ces mesures afin de
déterminer la performance du système pour une requête Q.
PQ
M AP =
q=1
moy P (q)
Q
(5.3.3)
La figure 5.5 illustre un exemple de calcul MAP.
124
5.4 Résultats et discussions
Figure 5.5 – Exemple de calcul MAP.
Précision moyenne requête 1 = (1.0+0.67+0.5+0.44+0.5)/5 = 0.62
Précision moyenne requête 2 = (0.5+0.4+0.43)/3 = 0.44
Moyenne de la précision moyenne (MAP) = (0.62+0.44) = 0.53
5.4 Résultats et discussions
5.4.1 Comparaisons des descripteurs
Dans cette section, nous évaluons d’abord les trois descripteurs (SIFT, SURF
et QZM) présentés précédemment. De manière générale, il n’existe pas de
critères permettant de choisir les descripteurs. Ce choix dépend principalement
de l’application. Dans le cas de la recherche par similarité, l’objectif est de
trouver le descripteur qui permet l’obtention de résultats intéressants.
Nous présentons quelques résultats obtenus, en donnant des courbes de précisions – rappel pour chaque descripteur. Afin de pouvoir valider le descripteur
qui donne les meilleurs résultats, ce dernier sera utilisé dans les étapes suivantes de notre système. Le but de cette expérience est d’étudier l’impact des
descripteurs sur les performances de la technique de recherche.
Pour effectuer la comparaison entre les descripteurs, nous avons utilisé la
base d’image Corel. Cette base est composée de 730 667 vecteurs de dimensions
128 (descripteur SIFT). Ces vecteurs sont des descripteurs locaux de 1000
images. Cette base occupe 1.30 Go. En moyenne 1900 descripteurs sont calculés
par image.
125
Chapitre 5 Résultats expérimentaux
En utilisant le descripteur SURF, la base est composée de 318 635 vecteurs
de dimensions 64. Ces vecteurs sont des descripteurs locaux de 1000 images.
La base occupe 260 Mo. En moyenne 580 descripteurs sont calculés par image.
Pour ce qui est du descripteur QZM, la base est composée de 410 000 vecteurs
de dimensions 34. Ces vecteurs sont des descripteurs locaux de 1000 images.
La base occupe 180 Mo et en moyenne 430 descripteurs sont calculés par image
(table 5.1)
Descripteur
Dimension
SIFT
SURF
QZM
128
64
34
Nombre de
vecteur
dans la base
730 667
318 635
410 000
Taille de
la base
1.30 Go
260 Mo
180 Mo
Nombre moyen
de descripteurs
par image
1900
580
430
Table 5.1 – Extraction des descripteurs avec la base Corel
La première problématique qui s’est imposée durant la réalisation de notre
système est le choix des descripteurs discriminants d’image afin de s’assurer
l’obtention des meilleurs résultats et pour une évaluation significative. Dans
un premier lieu nous soulevons ce problème en comparant les trois descripteurs
en utilisant des dictionnaires visuels de toute la base d’images, afin de passer
à l’étape de construction des signatures des images de la base.
Cette étape consiste à classer automatiquement, à l’aide de l’algorithme des
k-means, les vecteurs visuels associés à chaque image figurant dans la collection.
Les centres des classes sont retenus comme mots du vocabulaire visuel. Cette
étape permet de passer d’un descripteur de grande dimension à un niveau de
représentation plus général sous forme de vocabulaire visuel comportant autant
de mots que le nombre de classes.
La méthode k-means permettra la construction de trois vocabulaires visuels
suivant le type de descripteurs utilisé et associera à partir de ce descripteur
extrait de l’image le mot visuel le plus proche du dictionnaire visuel, puis à
calculer l’histogramme des mots visuels ainsi obtenus.
Nous utilisons cette représentation en associant toujours un mot à un descripteur, puis en normalisant l’histogramme de façon à obtenir 1. C’est cette
distribution qui est finalement utilisée comme la signature visuelle de l’image.
Dans notre système de recherche d’images, l’utilisateur est intéressé par les
réponses système concerné. L’évaluation de performance exige l’évaluation de
la précision de la réponse.
Avec l’utilisation des deux mesures les plus courantes : rappel et la précision
nous évaluons notre système.
126
5.4 Résultats et discussions
Nous décrivons la relation rappel et précision par la courbe de rappel et la
précision.
Les figures 5.6 et 5.7 présentent les courbes de rappel-précision en utilisant
les différents types de descripteurs. Le nombre K (correspondant à la taille du
vocabulaire visuel) est choisi empiriquement.
Figure 5.6 – Courbes de rappel-précision en utilisant SIFT, SURF et QZM
sur la base Corel.
127
Chapitre 5 Résultats expérimentaux
Figure 5.7 – Courbes de rappel-précision en utilisant SIFT, SURF et QZM
sur la base Corel.
Figure 5.8 – performance pour la base Corel.
L’évaluation des performances des trois descripteurs SIFT, SURF et QZM
est par rapport à leur temps de calculs, l’invariance aux changements d’échelle,
la rotation, la netteté et les changements de luminosité.
SIFT se révèle être lent et moins performant lorsque les conditions lumineuses changent. En revanche, ses atouts résident dans son invariance aux
rotations, aux changements d’échelle et aux transformations affines.
SURF s’avère être moins lent que SIFT mais instable aux rotations et aux
changements de luminosité.
128
5.4 Résultats et discussions
QZM s’avère plus rapide que SIFT et SURF. Il se révèle stable aux rotations,
translation et aux changements d’échelles. Le fait qu’il génère beaucoup plus
de caractéristiques par objet/portion d’images le rend plus robuste.
Nous constatons à partir des résultats obtenus que le descripteur QZM a
montré une meilleure robustesse. C’est pour cette raison que nous retenons le
descripteur QZM pour l’étape de clustering. Cette étape permettra la construction de groupes de signatures homogènes (similaires).
5.4.2 Comparaisons des méthodes de partitionnement
Après avoir fait le choix sur l’utilisation de descripteur QZM. L’étape suivante consiste à partitionner l’espace des signatures de la base en clusters.
Ce procédé permet d’accélérer la recherche sans trop diminuer la qualité des
résultats. Dans ce qui suit nous présentons les résultats obtenus sur les trois
bases d’images.
5.4.2.1 Méthode I
Dans cette étape nous partitionnons l’espace des signatures de la base en
clusters.
Dans la Figure 5 .9 nous présentons un exemple de recherche d’image requête. L’utilisateur veut trouver des images qui contiennent un paysage, l’image
de droite montre les 35 premiers résultats.
Figure 5.9 – Un exemple d’une recherche effectué.
129
Chapitre 5 Résultats expérimentaux
La table 5.2 montre les différentes valeurs MAP sur les bases d’images VOC
et Caltech-256. Nous constatons que lorsque la taille du vocabulaire est assez
élevée, MAP l’est également.
Avec |R|=100 la précision maximale est de 100%, le rappel maximal est de
10%.
Bases d’images
Taille de
la base
Taille du
vocabulaire visuel
VOC
10.000
Caltech-256
30.607
66.46
VOC
10.000
60.23
Caltech-256
30.607
70.17
VOC
10.000
65.42
MAP(%)
57.97
1000
5000
20000
Caltech-256
30.607
75.39
Table 5.2 – Les valeurs de MAP sur les bases d’images VOC et Caltech-256
Les résultats présentés dans la table 5.3 montrent que le regroupement permet en effet d’améliorer le MAP en fonction du seuil et de la taille du vocabulaire.
Dans ce qui suit nous présentons plus de détails sur les expérimentations des
deux bases d’images : VOC et Caltech-256 avec différentes mesures d’évaluation : la précision des méthodes aux 20, 50 et 100 premières images retournées
(les colonnes P@20, P@50, P@100) et la précision moyenne (MAP).
Par ailleurs, pour étudier l’impact du paramètre ε à la performance de la
méthode I, nous avons varié ce paramètre avec les valeurs 100
, 300
, 500
, 700
.
K
K
K
K
130
5.4 Résultats et discussions
Bases / Taille du
vocabulaire visuel
Seuil
P@20
P@50
P@100
MAP
VOC
ε=100/K
ε=300/K
0.208
0.216
0.417
0.505
0.298
0.354
0.645
0.685
K=200
ε=500/K
ε=700/K
0.247
0.255
0.501
0.535
0.486
0.510
0.694
0.714
VOC
ε=100/K
ε=300/K
0.178
0.216
0.278
0.316
0.108
0.148
0.705
0.745
K=500
ε=500/K
ε=700/K
0.247
0.255
0.337
0.375
0.188
0.135
0.778
0.744
Catlech-256
ε=100/K
ε=300/K
0.058
0.046
0.108
0.116
0.248
0.268
0.485
0.491
K=300
ε=500/K
ε=700/K
0.077
0.095
0.147
0.135
0.288
0.295
0.478
0.544
Catlech-256
ε=100/K
ε=300/K
0.248
0.251
0.788
0.754
0.478
0.551
0.687
0.626
K=500
ε=500/K
ε=700/K
0.286
0.355
0.657
0.510
0.486
0.355
0.597
0.465
Table 5.3 – Impact du paramètre ε avec les bases VOC et Caltech-256
A partir de ces résultats nous constatons que pour la base VOC avec K=500
MAP maximale est de 77.8%. Pour la base Caltech-256 avec K=500 MAP
maximale est de 68.7%. Nous remarquons que dés que la base augmente de
volume MAP se détériore et cela aussi en fonction de la valeur de ε.
Nous avons également comparé notre méthode avec les méthodes de clustering de WEKA, nous avons utilisé quatre méthodes différentes : Cobweb,
DBScan, EM et HierarchCluster.
131
Chapitre 5 Résultats expérimentaux
Notre choix s’est porté sur le weka pour les raisons suivantes : open source,
gratuit, extensible et exécute l’expérience individuellement. La table 5.4 présente différentes expériences réalisées avec différentes valeurs de la taille du
vocabulaire visuel.
Algorithme
Cob web
DBScan
EM
HierarchCluster
Méthode proposée
Taille du vocabulaire
mAP (%)
5000
20000
5000
20000
5000
20000
5000
20000
5000
20000
48.65
45.66
50.45
52.83
55.69
57.78
62.15
64.84
70.17
75.39
Table 5.4 – Comparaison des performances pour l’ensemble de données
Caltech-256.
A partir des résultats de la table 5.4, nous pouvons voir que les résultats
sont prometteurs. Nous constatons que la méthode proposée a donnée de bons
résultats par rapport aux algorithmes de clustering de WEKA. MAP maximale
est de 75.39%.
Le tableau 5.5 montre le taux de classification et de temps de calcul du
système pour le Pascal VOC et Caltech-256 ensemble de données.
Bases de données
Pascal voc
Caltech-256
Taux de classification
95-98%
70-93%
Temps de calcul
5-6 sec
8-10 sec
Table 5.5 – Classification Taux et temps de calcul pour Pascal voc et Caltech256 ensemble de données.
Nous avons pu atteindre un bon résultat avec la représentation par les mots
visuels.
La qualité de la recherche dépend de plusieurs facteurs comme la description
des images, la taille du sac de mot visuel et le nombre de clusters à vérifier
lors de la recherche. Donc, pour trouver quels sont les paramètres pour que la
recherche d’images soit plus efficace, on a besoin de tester différents paramètres,
d’analyser les résultats obtenus et de raisonner. En conclusion, les résultats
obtenus sont prometteurs et intéressants.
132
5.4 Résultats et discussions
5.4.2.2 Méthode II
Après avoir obtenue la représentation compacte des descripteurs QZM. L’étape
suivante consiste à partitionner l’espace des signatures de la base en clusters.
La table 5.6 montre les différentes valeurs de MAP sur la base d’images corel
et cela en fonction de la taille du cluster et aussi du nombre de clusters obtenu.
Nous constatons que lorsque le nombre de cluster est élevé MAP l’est aussi.
Taille cluster (Ko)
10
20
30
40
50
60
70
80
90
100
Nombre de cluster
100
50
33
25
20
16
14
12
11
10
MAP (%)
79
75
71
60
66
68
61
58
55
85
Table 5.6 – Performances pour l’ensemble de données Corel.
Dans la figure 5.10 nous présentons les résultats obtenus en termes de
courbes montrons que lorsque la taille du cluster est élevé MAP se détériore.
Figure 5.10 – Courbes des différentes valeurs de MAP et la taille du cluster
pour la base Corel.
La figure 5.11 donne un résultat de recherche avec la base corel. L’utilisateur
veut trouver des images qui contiennent un (des) cheval (chevaux).
133
Chapitre 5 Résultats expérimentaux
On constate que la méthode II ne fournit pas de bons résultats. Parmi les 28
images résultats, il y a 4 images non-pertinentes qui contiennent des animaux
(des éléphants, dinosaures), paysages et bus.
Figure 5.11 – Un exemple d’une recherche effectué.
La Figure 5.11 présente la courbe de Rappel/Précision des résultats obtenus.
Figure 5.12 – Courbes de rappel précision de la base corel
134
5.5 Conclusion
5.5 Conclusion
Nous avons présenté dans ce chapitre les résultats obtenus des différents
descripteurs visuels. Ce résultat à permis de faire un choix sur le descripteur
qui a donné les meilleurs résultats.
Après, nous avons présenté les grandes parties de notre application et les
différents résultats obtenus pendant l’évaluation de notre application de recherche d’image par le contenu, notamment sur la représentation par sacs de
mots et sur le clustering.
Les résultats obtenus sont basés essentiellement sur la réduction de la taille
de l’espace de recherche à l’aide du clustering et la dimension des descripteurs,
ce qui nous a permis de répondre à travers, un formalisme unique, aux différents
verrous que nous nous sommes fixés de lever.
135
Partie 3 : Conclusion
Conclusion générale et
perspectives
Cette thèse s’est articulée autour de l’indexation et la recherche dans les
grandes bases d’images, il s’agissait de décrire les images par un ensemble des
descripteurs et de les stocker autour d’une structure d’indexation performante
en utilisant une distance ou une mesure de similarité.
Travail accompli
Avec l’expansion de l’informatique et du multimédia, une problématique
nouvelle est apparue : gérer les quantités énormes et croissante de donnée
(plus particulièrement les bases images). Le passage à l’échelle de techniques
d’indexation et de la recherche d’images pose de nombreux problèmes. En
effet leurs performances se dégradent rapidement lorsque la taille des bases
augmente.
Le défi principal motivant ce travail réside dans le fait de développer une
méthode rapide et efficace pour la recherche d’images par contenu et cela à
grande échelle.
Le travail effectué dans cette thèse porte sur la conception et l’implémentation d’un système de recherche d’images employé dans un espace partitionné
en groupes (clusters), où chaque image est dans un premier temps décrite par
un ou plusieurs vecteurs de descripteurs. De cette manière, nous construisons
des groupes de descripteurs qui seront par la suite indexés indépendamment
en parallèle. Cette approche, nous permet d’accélérer le traitement rapide des
requêtes.
Notre travail est constitué de deux phases principales :
La première phase est la phase hors ligne (étape d’indexation), on calcule
les signatures d’images et on les stocke dans une base de données. Lors de la
phase d’indexation, le calcul de signature consiste en l’extraction de caractéristiques visuelles des images. Cependant, plusieurs méthodes de description
et mesures de similarité ont été proposées dans la littérature dont certaines
139
d’entre elles sont présentées dans le premier chapitre. La méthode d’extraction
et description visuelles qui a retenu l’essentiel de notre attention est la description locale des images. Nous avons employé ce type de descripteur comme
première étape car il est nécessaire dans le processus de la mise en correspondance et de la reconnaissance.
Le premier descripteur utilisé est présenté dans le chapitre 4, il s’agit du
descripteur SIFT (Scale Invariant Feature Transform). Le recours à ce descripteur se justifie par les résultats intéressants obtenus dans des travaux de
reconnaissances d’objets et de mise en correspondance de points d’intérêt, car
il permet de trouver des descriptions qui sont invariantes avec l’effet du point
de vue, de l’échelle, de la rotation et de la condition d’éclairage.
Le deuxième descripteur utilisé est SURF (Speeded Up Robust Features). Il
représente une solution plus performante en terme de rapidité que le détecteur
SIFT. Les résultats fournis étant comparables au regard de la qualité des points
caractéristiques détectés.
Le troisième descripteur utilisé est QZM (Quaternion Zernike moment). Il
s’agit d’un vecteur de descripteurs calculé en utilisant les moments de Zernike
quaternioniques pour modéliser à la fois l’information de forme et l’information
de couleur.
En comparant les résultats obtenus de ces trois descripteurs, nous avons
constaté que le descripteur QZM à donner de bons résultats en utilisant une
représentation compacte d’images (représentation par les sacs de mots visuels).
Le descripteur QZM montre la performance en termes de taux de reconnaissance et d’invariance par rapport aux différentes transformations géométriques.
Après avoir décrit les images à l’aide d’ensembles de descripteurs, nous les
avons représenté de façon plus fines et plus compacte avec des dimensions plus
réduite par les sacs de mots visuels. Ensuite nous avons employé l’approche
clustering afin de limiter le nombre d’images à vérifier. Nous avons proposé
deux méthodes de partitionnement, dont la première le nombre de clusters
n’est pas connu à l’avance contrairement à la seconde méthode. Les méthodes
de clustering présenté donnent de bons résultats.
La seconde phase, dite de recherche se déroule en ligne. L’utilisateur soumet une image comme requête. Le système calcule la signature selon le même
mode que lors de la première phase d’indexation et aussi une représentation
compacte de la requête en utilisant la méthode sac de mots. Ainsi, une première étape servant de filtre est utilisée de sorte à ce que le système sélectionne
les groupes les plus pertinents, qui ont le plus de chances de contenir les images
similaires à la requête, ainsi pouvant effectuer une recherche séquentielle juste
140
Perspectives
sur les groupes sélectionnés et non sur toute la base.
Perspectives
Bien que nous ayons accompli un certain nombre de contributions mentionnées dans la section précédente, d’autres améliorations sont encore possibles.
Comme suite de ce travail, on envisage de développer nos perspectives suivant
trois axes : la description d’images, la représentation par les sacs de mots et le
clustering.
1. Concernant la description, il y a à notre avis plusieurs aspects à approfondir :
— Étudier le comportement des descripteurs utilisés avec des bases portant sur des images de plus grande diversité, en terme de taille, de
résolution et autres pour voir l’influence sur le temps de calcul de ces
descripteurs.
— L’utilisation d’une combinaison des descripteurs locaux à d’autres
pour apporter le plus possible de sémantique à la signature.
2. Concernant la représentation par les sacs de mots, plusieurs pistes pourront améliorer cette l’approche :
— Construire un dictionnaire visuel avec une approche de clustering plus
robuste que le K-means.
— Enrichir ce dictionnaire visuel par des règles spatiales pour caractériser plus finement les objets et améliorer ainsi les résultats de recherche
d’images par le contenu.
3. Concernant le clustering, il y a aussi à notre avis plusieurs aspects à
approfondir :
— Utiliser d’autres améliorations telles que le parallélisme.
— Proposer un environnement distribué est aussi envisageable, notamment des architectures celles composées de nœuds indépendants.
Les systèmes de recherche d’images par contenu permettent aux utilisateurs
d’accéder à l’information visuelle de manière rapide et efficace, ce qui requiert
une expertise à la fois en analyse d’images et en bases de données.
Néanmoins, la taille de la base d’images peut-être encore très large et la
puissance de calcul d’un seul processeur devient incapable de fournir les temps
de réponse corrects.
De plus, la capacité d’accès aux données stockées sur disque devient aussi
un goulot d’étranglement et ainsi un point de réduction des performances.
Dans un tel contexte l’utilisation d’un environnement distribué avec une
141
architecture parallèle nous paraît une solution naturelle qui reste comme perspectives, notamment des architectures celles composées de nœuds indépendants, chacun possédant ses propres processeurs, disques et mémoire vive, les
mieux adaptées au passage à l’échelle en termes de taille de base ou de nombres
d’utilisateurs.
142
Bibliographie
[A+ 02]
Periklis Andritsos et al. Data clustering techniques. Rapport technique, University of Toronto. Department of Computer Science,
2002.
[AGGR98]
Rakesh Agrawal, Johannes Gehrke, Dimitrios Gunopulos, and
Prabhakar Raghavan. Automatic subspace clustering of high dimensional data for data mining applications, volume 27. ACM,
1998.
[AMC10]
Rami Albatal, Philippe Mulhem, and Yves Chiaramella. Phrases
visuelles pour l’annotation automatique d’images. CORIA, 10 :3–
18, 2010.
[AY99]
Y Alp Aslandogan and Clement T. Yu. Techniques and systems
for image and video retrieval. IEEE transactions on Knowledge
and Data Engineering, 11(1) :56–63, 1999.
[BAG04]
Sid-Ahmed Berrani, Laurent Amsaleg, and Patrick Gros. Recherche d’images par le contenu pour la détection des copies.
14e Congrès Francophone AFRIF-AFIA de Reconnaissance des
Formes et Intelligence Artificielle (RFIA 2004), 2004.
[BBJ+ 00]
Stefan Berchtold, Christian Bohm, Hosagrahar V Jagadish, H-P
Kriegel, and Jörg Sander. Independent quantization : An index
compression technique for high-dimensional data spaces. In Data
Engineering, 2000. Proceedings. 16th International Conference
on, pages 577–588. IEEE, 2000.
[BBK01]
Christian Böhm, Stefan Berchtold, and Daniel A Keim. Searching
in high-dimensional spaces : Index structures for improving the
performance of multimedia databases. ACM Computing Surveys
(CSUR), 33(3) :322–373, 2001.
[BCGM98]
Serge Belongie, Chad Carson, Hayit Greenspan, and Jitendra
Malik. Color-and texture-based image segmentation using em
and its application to content-based image retrieval. In Computer
Vision, 1998. Sixth International Conference on, pages 675–682.
IEEE, 1998.
143
BIBLIOGRAPHIE
[Ben79]
Jon Louis Bently. Multidimensional binary search in database appliacations. IEEE Transactions on Software Engineering,
4(5) :333–340, 1979.
[Ber04]
Sid-Ahmed Berrani. Recherche approximative de plus proches
voisins avec contrôle probabiliste de la précision ; application à la
recherche d’images par le contenu. PhD thesis, Université Rennes
1, 2004.
[BJ99]
Stéphane Bres and Jean-Michel Jolion. Detection of interest
points for image indexation. In International Conference on Advances in Visual Information Systems, pages 427–435. Springer,
1999.
[BKSS90]
Norbert Beckmann, Hans-Peter Kriegel, Ralf Schneider, and
Bernhard Seeger. The r*-tree : an efficient and robust access
method for points and rectangles. In ACM SIGMOD Record,
volume 19, pages 322–331. Acm, 1990.
[BMP02]
Serge Belongie, Jitendra Malik, and Jan Puzicha. Shape matching and object recognition using shape contexts. IEEE transactions on pattern analysis and machine intelligence, 24(4) :509–
522, 2002.
[Bou06]
Charles Bouveyron. Modélisation et classification des données de
grande dimension : application à l’analyse d’images. PhD thesis,
Grenoble 1, 2006.
[BTVG06]
Herbert Bay, Tinne Tuytelaars, and Luc Van Gool. Surf : Speeded
up robust features. In European conference on computer vision,
pages 404–417. Springer, 2006.
[BW97]
Stephen Blott and Roger Weber. A simple vector-approximation
file for similarity search in high-dimensional vector spaces. ESPRIT Technical Report TR19, ca, 1997.
[CA04]
M Emre Celebi and Y Alp Aslandogan. Content-based image
retrieval incorporating models of human perception. In Information Technology : Coding and Computing, 2004. Proceedings.
ITCC 2004. International Conference on, volume 2, pages 241–
245. IEEE, 2004.
[Cal]
Site officiel de la base caltech256. http://www.vision.caltech.
edu/Image_Datasets/Caltech256. Accessed : 2012-10-13.
[Cor]
Site officiel de la base corel-1000.
[CPZ97]
Paolo Ciaccia, Marco Patella, and Pavel Zezula. M-tree : An efficient access method for similarity search in metric spaces. In Proceedings of the... International Conference on Very Large Data
Bases, volume 23, page 426. Morgan Kaufmann Pub, 1997.
144
BIBLIOGRAPHIE
[CSZ+ 10]
[CYT15]
[Dao09]
[Del01]
[DH97]
[DIIM04]
[DM00]
[DSMM99]
[EKS+ 96]
[EKX95]
[Fau03]
[Fer05]
Beijing Chen, Huazhong Shu, Hui Zhang, Gang Chen, and Limin
Luo. Color image analysis by quaternion zernike moments. In
Pattern Recognition (ICPR), 2010 20th International Conference
on, pages 625–628. IEEE, 2010.
Shizhi Chen, Xiaodong Yang, and Yingli Tian. Discriminative hierarchical k-means tree for large-scale image classification. IEEE transactions on neural networks and learning systems, 26(9) :2200–2205, 2015.
Imane Daoudi. Recherche par similarité dans les grandes bases
de données multimédia Application à la recherche par le contenu
dans les bases d’images. PhD thesis, INSA de Lyon, 2009.
Pedro Delicado. Another look at principal curves and surfaces.
Journal of Multivariate Analysis, 77(1) :84–116, 2001.
Pierre Demartines and Jeanny Hérault. Curvilinear component
analysis : A self-organizing neural network for nonlinear mapping
of data sets. IEEE Transactions on neural networks, 8(1) :148–
154, 1997.
Mayur Datar, Nicole Immorlica, Piotr Indyk, and Vahab S Mirrokni. Locality-sensitive hashing scheme based on p-stable distributions. In Proceedings of the twentieth annual symposium on
Computational geometry, pages 253–262. ACM, 2004.
Mohamed Daoudi and Stanislaw Matusiak. Visual image retrieval by multiscale description of user sketches. Journal of Visual
Languages & Computing, 11(3) :287–301, 2000.
Eugenio Di Sciascio, G Mingolla, and Marina Mongiello.
Content-based image retrieval over the web using query by sketch
and relevance feedback. In International Conference on Advances
in Visual Information Systems, pages 123–130. Springer, 1999.
Martin Ester, Hans-Peter Kriegel, Jörg Sander, Xiaowei Xu, et al.
A density-based algorithm for discovering clusters in large spatial
databases with noise. In Kdd, volume 96, pages 226–231, 1996.
Martin Ester, Hans-Peter Kriegel, and Xiaowei Xu. Knowledge
discovery in large spatial databases : Focusing techniques for efficient class identification. In International Symposium on Spatial
Databases, pages 67–82. Springer, 1995.
Julien Fauqueur. Contributions pour la Recherche d’Images par
Composantes Visuelles. PhD thesis, Université de VersaillesSaint Quentin en Yvelines, 2003.
Marin Ferecatu. Image retrieval with active relevance feedback
using both visual and keyword-based descriptors. Unpublished
doctoral dissertation, University OF Versailles, Amsterdam, Holland, 2005.
145
BIBLIOGRAPHIE
[FFP05]
Li Fei-Fei and Pietro Perona. A bayesian hierarchical model for
learning natural scene categories. In 2005 IEEE Computer Society Conference on Computer Vision and Pattern Recognition
(CVPR’05), volume 2, pages 524–531. IEEE, 2005.
[Fou02]
Jérôme Fournier. Indexation d’images par le contenu et recherche interactive dans les bases généralistes. PhD thesis, CergyPontoise, 2002.
[FSN+ 95]
Myron Flickner, Harpreet Sawhney, Wayne Niblack, Jonathan
Ashley, Qian Huang, Byron Dom, Monika Gorkani, Jim Hafner,
Denis Lee, Dragutin Petkovic, et al. Query by image and video
content : The qbic system. Computer, 28(9) :23–32, 1995.
[GB01]
V Gouet and N Boujemaa. Object-based queries using color
points of interest. In Content-Based Access of Image and Video Libraries, 2001.(CBAIVL 2001). IEEE Workshop on, pages
30–36. IEEE, 2001.
[GB05]
Valérie Gouet-Brunet. Recherche par contenu visuel dans les
grandes collections d’images. Recherche par contenu visuel dans
les grandes collections d’images, 2005.
[GBTD09]
Manuel Grand-Brochier, Christophe Tilmant, and Michel
Dhome. Descripteur local d’image invariant aux transformations
affines. In ORASIS’09-Congrès des jeunes chercheurs en vision
par ordinateur, 2009.
[GCP12]
David Gorisse, Matthieu Cord, and Frederic Precioso. Localitysensitive hashing for chi2 distance. IEEE transactions on pattern
analysis and machine intelligence, 34(2) :402–409, 2012.
[GCPF07]
Philippe H Gosselin, Matthieu Cord, and Sylvie Philipp-Foliguet.
Kernels on bags of fuzzy regions for fast object retrieval. In 2007
IEEE International Conference on Image Processing, volume 1,
pages I–177. IEEE, 2007.
[Ger81]
Jan J Gerbrands. On the relationships between svd, klt and pca.
Pattern recognition, 14(1) :375–381, 1981.
[GI05]
Stéphane Girard and Serge Iovleff. Auto-associative models and
generalized principal component analysis. Journal of Multivariate Analysis, 93(1) :21–39, 2005.
[GJ97]
Amarnath Gupta and Ramesh Jain. Visual information retrieval.
Communications of the ACM, 40(5) :70–79, 1997.
[GJA10]
Gylfi Þór Gudmundsson, Björn Þór Jónsson, and Laurent Amsaleg. A large-scale performance study of cluster-based highdimensional indexing. In Proceedings of the international workshop on Very-large-scale multimedia corpus, mining and retrieval,
pages 31–36. ACM, 2010.
146
BIBLIOGRAPHIE
[Gud97]
[Gut84]
[Hen98]
[HK98]
[HMK10]
[HPK11]
[HS89]
[Hub73]
[JDS10a]
[JDS10b]
[JDS11]
[JNY07]
[Kou13]
[KS97]
[KS04]
VN Gudivada. Distributed semantic multimedia information retrieval. Tutorial report, ICAST, 97, 1997.
Antonin Guttman. R-trees : a dynamic index structure for spatial
searching, volume 14. ACM, 1984.
Andreas Henrich. The lsd h-tree : An access structure for feature
vectors. In Data Engineering, 1998. Proceedings., 14th International Conference on, pages 362–369. IEEE, 1998.
Alexander Hinneburg and Daniel A Keim. An efficient approach
to clustering in large multimedia databases with noise. In KDD,
volume 98, pages 58–65, 1998.
Kamel Houari and Kholladi Mohamed-Khireddine. Recherche
d’images par le contenu. PhD thesis, Thèse de doctorat, Université Mentouri Constantine, 2010.
Jiawei Han, Jian Pei, and Micheline Kamber. Data mining :
concepts and techniques. Elsevier, 2011.
Trevor Hastie and Werner Stuetzle. Principal curves. Journal of
the American Statistical Association, 84(406) :502–516, 1989.
Lawrence Hubert. Monotone invariant clustering procedures.
Psychometrika, 38(1) :47–62, 1973.
Hervé Jégou, Matthijs Douze, and Cordelia Schmid. Improving
bag-of-features for large scale image search. International Journal
of Computer Vision, 87(3) :316–336, 2010.
Hervé Jégou, Matthijs Douze, and Cordelia Schmid. Représentation compacte des sacs de mots pour l’indexation d’images.
In RFIA 2010-Reconnaissance des Formes et Intelligence Artificielle, 2010.
Herve Jegou, Matthijs Douze, and Cordelia Schmid. Product
quantization for nearest neighbor search. IEEE transactions on
pattern analysis and machine intelligence, 33(1) :117–128, 2011.
Yu-Gang Jiang, Chong-Wah Ngo, and Jun Yang. Towards optimal bag-of-features for object categorization and semantic video
retrieval. In Proceedings of the 6th ACM international conference
on Image and video retrieval, pages 494–501. ACM, 2007.
Zineddine Kouahla. Indexation dans les espaces métriques Index
arborescent et parallélisation. PhD thesis, université de Nantes,
2013.
Norio Katayama and Shin’ichi Satoh. The sr-tree : An index
structure for high-dimensional nearest neighbor queries. In ACM
SIGMOD Record, volume 26, pages 369–380. ACM, 1997.
Yan Ke and Rahul Sukthankar. Pca-sift : A more distinctive
representation for local image descriptors. In Computer Vision
147
BIBLIOGRAPHIE
and Pattern Recognition, 2004. CVPR 2004. Proceedings of the
2004 IEEE Computer Society Conference on, volume 2, pages
II–506. IEEE, 2004.
[KYBM16]
EL ASNAOUI Khalid, CHAWKI Youness, AKSASSE Brahim,
and OUANAN Mohammed. Efficient use of texture and color
features in content based image retrieval (cbir). International
Journal of Applied Mathematics and Statistics™, 54(2) :54–65,
2016.
[Lai13]
Hien Phuong Lai. Vers un système interactif de structuration des
index pour une recherche par le contenu dans des grandes bases
d’images. PhD thesis, La Rochelle, 2013.
[Lar08]
Diane Larlus. Création et utilisation de vocabulaires visuels pour
la catégorisation d’images et la segmentation de classes d’objets.
PhD thesis, Institut National Polytechnique de Grenoble-INPG,
2008.
[LB15]
A Loganathan and D Bharathi. Sparsification of graph laplacian for image indexing using multidimensional spectral hashing.
International Journal of Imaging and Robotics™, 15(3) :43–56,
2015.
[LBS03]
Nicolas Le Bihan and Stephen J Sangwine. Quaternion principal
component analysis of color images. In Image Processing, 2003.
ICIP 2003. Proceedings. 2003 International Conference on, volume 1, pages I–809. IEEE, 2003.
[LCGM+ 99] Chen Li, Edward Chang, Hector Garcia-Molina, J Wang, and
Gio Wiederhold. Clindex : Clustering for similarity queries in
high-dimensional spaces. 1999.
[LE04]
Anh Tuan LE. Reduction de base de donnees par la classification
automatique. PhD thesis, 2004.
[Lin98]
Tony Lindeberg. Feature detection with automatic scale selection. International journal of computer vision, 30(2) :79–116,
1998.
[Low99]
David G Lowe. Object recognition from local scale-invariant features. In Computer vision, 1999. The proceedings of the seventh
IEEE international conference on, volume 2, pages 1150–1157.
Ieee, 1999.
[Low04]
David G Lowe. Distinctive image features from scale-invariant
keypoints. International journal of computer vision, 60(2) :91–
110, 2004.
[LW67]
Godfrey N Lance and William Thomas Williams. A general
theory of classificatory sorting strategies ii. clustering systems.
The computer journal, 10(3) :271–277, 1967.
148
BIBLIOGRAPHIE
[M+ 67]
James MacQueen et al. Some methods for classification and
analysis of multivariate observations. In Proceedings of the fifth
Berkeley symposium on mathematical statistics and probability,
volume 1, pages 281–297. Oakland, CA, USA., 1967.
[MBM99]
Baback Moghaddam, Henning Biermann, and Dimitris Margaritis.
Defining image content with multiple regions-ofinterest. In Content-Based Access of Image and Video Libraries,
1999.(CBAIVL’99) Proceedings. IEEE Workshop on, pages 89–
93. IEEE, 1999.
[MBNW99] Jamal Malki, Nozha Boujemaa, Chahab Nastar, and Alexandre
Winter. Region queries without segmentation for image retrieval
by content. In International Conference on Advances in Visual
Information Systems, pages 115–122. Springer, 1999.
[MGD98]
Philippe Montesinos, Valérie Gouet, and Rachid Deriche. Differential invariants for color images. In Pattern Recognition, 1998.
Proceedings. Fourteenth International Conference on, volume 1,
pages 838–840. IEEE, 1998.
[MS05a]
Krystian Mikolajczyk and Cordelia Schmid. A performance evaluation of local descriptors. IEEE transactions on pattern analysis and machine intelligence, 27(10) :1615–1630, 2005.
[MS05b]
Krystian Mikolajczyk and Cordelia Schmid. A performance evaluation of local descriptors. IEEE transactions on pattern analysis and machine intelligence, 27(10) :1615–1630, 2005.
[MS05c]
Krystian Mikolajczyk and Cordelia Schmid. A performance evaluation of local descriptors. IEEE transactions on pattern analysis and machine intelligence, 27(10) :1615–1630, 2005.
[MTS+ 05]
Krystian Mikolajczyk, Tinne Tuytelaars, Cordelia Schmid, Andrew Zisserman, Jiri Matas, Frederik Schaffalitzky, Timor Kadir,
and Luc Van Gool. A comparison of affine region detectors. International journal of computer vision, 65(1-2) :43–72, 2005.
[Neg14]
Romain Negrel. Représentations optimales pour la recherche dans
les bases d’images patrimoniales. PhD thesis, Cergy-Pontoise,
2014.
[Ngu09]
Thi Oanh Nguyen. Localisation de symboles dans les documents
graphiques. PhD thesis, Université Nancy II, 2009.
[NJT06]
Eric Nowak, Frédéric Jurie, and Bill Triggs. Sampling strategies
for bag-of-features image classification. In European conference
on computer vision, pages 490–503. Springer, 2006.
[Pau08]
Loïc Paulevé. Euclidean lattices for high dimensional indexing
and searching. 2008.
149
BIBLIOGRAPHIE
[Pet93]
Euripides GM Petrakis. Image representation, indexing and retrieval based on spatial relationships and properties of objects.
PhD thesisUniversity of Crete, Department of Computer Science
(March 1993), 1993.
[Pet02]
Euripides GM Petrakis. Fast retrieval by spatial structure in
image databases. Journal of Visual Languages & Computing,
13(5) :545–569, 2002.
[PG11]
David Picard and Philippe-Henri Gosselin. Improving image similarity with vectors of locally aggregated tensors. In 2011 18th
IEEE International Conference on Image Processing, pages 669–
672. IEEE, 2011.
[Pha09]
Khang-Nguyen Pham. Analyse factorielle des correspondances
pour l’indexation et la recherche d’information dans une grande
base de données d’images. PhD thesis, Université Rennes 1, 2009.
[PMG08]
Nguyen-Khang Pham, Annie Morin, and Patrick Gros. Caviz :
Exploration interactive des résultats de l’analyse fac-torielle des
correspondances pour des images. Visualisation et Extraction de
Connaissances, page 65, 2008.
[Rav06]
Bharat Ravisekar. A comparative analysis of dimensionality reduction techniques. Georgia : College of Computing Georgia Institute of Technology, 2006.
[RHP+ 06]
Mohamed Rizon, Yazid Haniza, Saad Puteh, Ali Yeon, Md Shakaff, Saad Abdul Rahman, Mamat Mohd Rozailan, Yaacob Sazali, Desa Hazri, and M Karthigayan. Object detection using
geometric invariant moment. 2006.
[RPGB99]
KC Ravishankar, BG Prasad, SK Gupta, and Kanad K Biswas.
Dominant color region based indexing for cbir. In Image Analysis
and Processing, 1999. Proceedings. International Conference on,
pages 887–892. IEEE, 1999.
[Sai07]
BEDOUHENE Saida. Recherche d’image par le contenu. PhD
thesis, Université Mouloud Maameri de Tizi Ouzou, 2007.
[SAN10]
Jorge Roberto MANJARREZ SANCHEZ. Efficient ContentBased Retrieval in Parallel Databases of Images. PhD thesis,
Citeseer, 2010.
[Sap06]
Gilbert Saporta. Probabilités, analyse des données et statistique.
Editions Technip, 2006.
[SB91]
Michael J Swain and Dana H Ballard. Color indexing. International journal of computer vision, 7(1) :11–32, 1991.
[SBK+ 99]
Chi-Ren Shyu, Carla E Brodley, Avinash C Kak, Akio Kosaka,
Alex M Aisen, and Lynn S Broderick. Assert : a physicianin-the-loop content-based retrieval system for hrct image data-
150
BIBLIOGRAPHIE
bases. Computer Vision and Image Understanding, 75(1) :111–
132, 1999.
[SC96]
John R Smith and Shih-Fu Chang. Tools and techniques for color
image retrieval. In Electronic Imaging : Science & Technology,
pages 426–437. International Society for Optics and Photonics,
1996.
[SC97]
John R Smith and Shih-Fu Chang. Visualseek : a fully automated content-based image query system. In Proceedings of the
fourth ACM international conference on Multimedia, pages 87–
98. ACM, 1997.
[SCZ00]
Gholamhosein Sheikholeslami, Surojit Chatterjee, and Aidong
Zhang. Wavecluster : a wavelet-based clustering approach for
spatial data in very large databases. The VLDB Journal, 8(34) :289–304, 2000.
[SM97]
Cordelia Schmid and Roger Mohr. Local grayvalue invariants
for image retrieval. IEEE Transactions on Pattern Analysis and
Machine Intelligence, 19(5) :530–534, 1997.
[Smi97]
John R Smith. Integrated spatial and feature image systems :
Retrieval, analysis and compression. PhD thesis, Columbia University, 1997.
[Smi02]
Lindsay I Smith. A tutorial on principal components analysis.
Cornell University, USA, 51 :52, 2002.
[SNL02]
Veena Sridhar, Mario A Nascimento, and Xiaobo Li. Regionbased image retrieval using multiple-features. In International
Conference on Advances in Visual Information Systems, pages
61–75. Springer, 2002.
[SRF87]
Timos Sellis, Nick Roussopoulos, and Christos Faloutsos. The
r+-tree : A dynamic index for multi-dimensional objects. 1987.
[SS02]
Bernhard Schölkopf and Alexander J Smola. Learning with kernels, 2002.
[SSM98]
Bernhard Schölkopf, Alexander Smola, and Klaus-Robert Müller.
Nonlinear component analysis as a kernel eigenvalue problem.
Neural computation, 10(5) :1299–1319, 1998.
[SZ03]
Josef Sivic and Andrew Zisserman. Video google : A text retrieval approach to object matching in videos. In Computer Vision, 2003. Proceedings. Ninth IEEE International Conference
on, pages 1470–1477. IEEE, 2003.
[Tea80]
Michael Reed Teague. Image analysis via the general theory of
moments. JOSA, 70(8) :920–930, 1980.
151
BIBLIOGRAPHIE
[THBL08]
Bart Thomee, Mark J Huiskes, Erwin Bakker, and Michael S
Lew. Large scale image copy detection evaluation. In Proceedings of the 1st ACM international conference on Multimedia
information retrieval, pages 59–66. ACM, 2008.
[vdMvdH09] Postma EO van der MLJP and J van den HH. Dimensionality
reduction : A comparative review. Technical report, Tilburg,
Netherlands : Tilburg Centre for Creative Computing, Tilburg
University, Technical Report : 2009-005, 2009.
[Voc]
Site officiel de la base voc. http://host.robots.ox.ac.uk:
8080/pascal/VOC/voc2007/. Accessed : 2012-10-02.
[WBS00]
Roger Weber, Klemens Böhm, and Hans-J Schek. Interactivetime similarity search for large image collections using parallel
va-files. In International Conference on Theory and Practice of
Digital Libraries, pages 83–92. Springer, 2000.
[WJ96]
David A White and Ramesh Jain. Similarity indexing with the
ss-tree. In Data Engineering, 1996. Proceedings of the Twelfth
International Conference on, pages 516–523. IEEE, 1996.
[WLW01]
James Ze Wang, Jia Li, and Gio Wiederhold. Simplicity :
Semantics-sensitive integrated matching for picture libraries.
IEEE Transactions on pattern analysis and machine intelligence,
23(9) :947–963, 2001.
[WMS00]
Peng Wu, BS Manjunath, and HD Shin. Dimensionality reduction for image retrieval. In Image Processing, 2000. Proceedings. 2000 International Conference on, volume 3, pages 726–
729. IEEE, 2000.
[WSB98]
Roger Weber, Hans-Jörg Schek, and Stephen Blott. A quantitative analysis and performance study for similarity-search methods in high-dimensional spaces. In VLDB, volume 98, pages
194–205, 1998.
[Yia93]
Peter N Yianilos. Data structures and algorithms for nearest
neighbor search in general metric spaces. In SODA, volume 93,
pages 311–21, 1993.
[YZHS13]
Jinpeng Yue, Wei Zhang, Hong Hu, and Zhongzhi Shi. Efficient
locality sensitive clustering in multimedia retrieval. In Computational Science and Engineering (CSE), 2013 IEEE 16th International Conference on, pages 403–408. IEEE, 2013.
[ZDFL95]
Zhengyou Zhang, Rachid Deriche, Olivier Faugeras, and QuangTuan Luong. A robust technique for matching two uncalibrated
images through the recovery of the unknown epipolar geometry.
Artificial intelligence, 78(1) :87–119, 1995.
152
Téléchargement