• Aucun résultat trouvé

Méthodes de comparaisons approchées de descripteurs locaux

1.3 Mise en correspondance de descripteurs locaux

1.3.5 Méthodes de comparaisons approchées de descripteurs locaux

Le problème évoqué en introduction de ce chapitre est le temps de calcul du processus de correspon- dance. C’est en effet, dans la plupart des systèmes de détection et de reconnaissance en vision, l’étape qui représente la part la plus importante en charge de calcul. De plus, la complexité de la mise en corres- pondance est intrinsèquement liée à la taille de la base de données. Pour diminuer cette complexité, de nombreuses études ont montré que l’on pouvait réduire la taille du descripteur par des méthodes d’ACP (analyse en composante principale), tout en limitant la détérioration des performances de mise en cor- respondance (voir par exemple [MM07]). Cependant, lorsqu’il s’agit de comparer une requête avec une base de plusieurs millions d’images comme c’est le cas dans [CPS+07], il est tout à fait irréalisable de faire une comparaison exhaustive de chaque descripteur avec l’ensemble des descripteurs de la base de recherche. Nous exposons brièvement dans cette section les outils qui permettent de réaliser de manière approchée de telles comparaisons dans un temps raisonnable.

Dans la littérature, il existe deux approches complémentaires afin de permettre la comparaison d’ima- ges via des descripteurs locaux avec de grandes bases d’images. La première, apparue très tôt pour la fouille de données, consiste à chercher de manière efficace le plus proche voisin d’un point dans un ensemble de données en exploitant sa structure. La seconde approche, plus récente, est spécifique à la comparaison d’images. Elle repose sur une représentation globale des images à partir de statistiques sur les descripteurs locaux.

Algorithme de recherche approchée La problématique est la suivante : étant donné un descripteur,

comment trouver de manière rapide son plus proche voisin parmi un ensemble de descripteurs ? La ré- ponse la plus simple est de partitionner l’ensemble de données en sous-ensembles (à l’aide par exemple d’un algorithme reposant sur les k-moyennes), dont on délimite le domaine spatial et auxquels on attri- bue un descripteur représentatif du sous-ensemble (e.g. les cellules de Voronoï et leurs centroïdes). Cela revient à créer une structure associée à la base de descripteurs, qui permet de limiter le nombre de com- paraisons : lorsque l’on cherche le plus proche voisin d’un descripteur requête, on cherche d’abord à quel domaine il appartient, pour ensuite le comparer avec tous les éléments de ce sous-ensemble1. À partir de ce principe, de nombreuses méthodes ont été mises au point pour représenter de manière efficace une base de données et optimiser la recherche dans une telle structure. On retiendra notamment les repré- sentations hiérarchiques en arbres de données obtenues par les algorithmes de type kd-tree. Cependant, l’inconvénient majeur de ces méthodes est qu’elles souffrent du problème classique de partitionnement : la malédiction de la dimension (curse of dimensionality). En effet, lorsque le descripteur est de grande dimension (typiquement 128 dans le cas des SIFTs [Low04]), le nombre de descripteurs peut être large- ment insuffisant pour donner des statistiques fiables et obtenir une représentation optimale de l’ensemble des éléments de la base [ML09]. Dès lors, on peut arriver à des situations paradoxales où ce type d’algo- rithme de recherche hiérarchique est moins rapide qu’une recherche exhaustive au delà d’une dimension critique du descripteur [MM07]. Ceci est d’autant plus vrai que le nombre d’images comparées est faible. De plus, pour chaque nouvelle paire d’images analysée, il est nécessaire de recalculer la structure des données. Dans [CK08], les auteurs montrent ainsi que le gain en temps de calcul est seulement d’un facteur 3 pour la comparaison de deux images. Ainsi que le résume [ML09] :

The classical kd-tree algorithm (Freidman et al., 1977) is efficient in low dimensions, but in high dimensions the performance rapidly degrades. To obtain a speedup over linear search it becomes necessary to settle for an approximate nearest-neighbor. This improves the search speed at the cost of the algorithm not always returning the exact nearest neighbors.

En pratique, ce sont donc des algorithmes de recherche approchés qui sont mis en oeuvre pour de grandes bases d’images, afin d’obtenir un gain de temps suffisamment important, à titre d’exemple : locality-sensitive hashing(LSH) [DIIM04], ε-approximate nearest neighbor [AMN+98], ou encore mul- tiple randomized kd tree[SAH08]. En plus de la nécessité d’une gestion efficace de la mémoire, il existe

en pratique de nombreux paramètres à régler afin d’optimiser les performances, en particulier afin de contrôler le taux de précision moyen avec lequel le plus proche voisin est effectivement trouvé par l’al- gorithme. En outre, le temps de calcul requis pour la construction de la structure hiérarchique est d’autant plus important que l’on souhaite diminuer le temps de recherche. Le compromis entre temps de calcul de la structure et temps de recherche dépend de l’application considérée : dans certains cas, la construction de l’arbre peut se faire hors ligne (offline), et l’on peut alors obtenir des gains en temps de calcul très conséquents par rapport à une comparaison exhaustive (jusqu’à trois ordres de grandeur) [ML09].

Représentation par sac de mots (Bag of features) Un autre type de stratégie à été suggéré plus ré-

cemment pour la mise en correspondance de descripteurs locaux. Jusqu’à présent, nous avons considéré chaque image comme un ensemble de descripteurs locaux, pour chacun desquels on cherche des appa- riements avec des descripteurs locaux d’une base d’images. Au contraire, l’approche « sac de mots » (l’étymologie venant du domaine de l’analyse textuelle dont elle est issue) consiste à représenter une image par un histogramme d’occurrences de mots [SZ06, CPS+07]. Pour cela, la base de données de descripteurs est tout d’abord partitionnée de manière non supervisée en sous-ensembles pour obtenir des classes sémantiques, qui constituent en quelque sorte des « mots visuels ». La comparaison de deux images peut alors se faire grâce à leurs histogrammes de vocabulaire visuels, c’est-à-dire sans prendre en compte la position spatiale des points d’intérêt, ce qui permet de rejeter à moindre coût les paires d’images différentes. Pour les images jugées similaires, cette approche permet en outre de limiter la comparaison de descripteurs locaux aux éléments appartenant à la même classe, réduisant par consé- quent considérablement le temps de calcul. Afin d’améliorer les performances de cette approche, des travaux récents proposent de prendre en compte la disposition relative spatiale des points d’intérêt, à l’image de [Ved08].

Dans le chapitre suivant, nous allons présenter un nouveau critère de mise en correspondance pour des descripteurs locaux de type SIFT, inspiré des méthodes a contrario.

Chapitre 2

Mise en correspondance a contrario de

descripteurs locaux

Ce chapitre est consacré à la mise en correspondance (ou appariement) de descripteurs locaux dont nous avons étudié le principe et les enjeux dans le chapitre précédent. Un nouveau critère de validation des mises en correspondance, fondé sur la méthodologie a contrario, est introduit. L’intérêt de notre approche est ensuite validée expérimentalement sur une base d’images dans une seconde partie.

Ces travaux ont fait l’objet d’une publication dans [RDG08a,RDG09].

2.1 Critère de mise en correspondance a contrario

Rappelons que notre objectif est de choisir des correspondances entre NQ descripteurs requêtes ai

d’une image A et NC descripteurs candidats bj d’une base B constituée de plusieurs images. Etant

donnée une mesure de dissimilarité D entre descripteurs, on souhaite donc savoir comment seuiller les mesures D(ai, bj) de manière pertinente, afin de valider certaines mises en correspondance. Nous avons

vu au paragraphe 1.3.3qu’il existait plusieurs critères pour seuiller ces mesures de dissimilarité. Plus précisément, les trois principaux critères de la littérature sont :

– le critèreDT, qui consiste à conserver toutes les correspondances (ai, bj) pour lesquelles D(ai, bj)

est sous un seuil global donné (indépendant de ai) ;

– le critèreNN-DT, qui consiste à appliquer le critère précédent tout en se restreignant pour chaque

ai à son plus proche voisin dans la base (une seule correspondance est autorisée par descripteur

requête) ;

– le critère NN-DR, introduit par D. Lowe dans [Low04], qui consiste à seuiller globalement le

rapport entre la distance au plus proche voisin et la distance au deuxième plus proche voisin. En pratique, on voit que ces différents critères se contentent d’un seuillage sur une mesure de qualité utilisant au plus les deux plus proches voisins d’un descripteur dans la base de données. Le seuil de détection est fixé par l’utilisateur pour l’ensemble des correspondances examinées. Un critère idéal de- vrait, au contraire, pouvoir s’adapter à la diversité de la base de données et aux descripteurs requêtes considérés, en définissant des seuils de détection adaptatifs qui autorisent les correspondances multiples. Nous allons voir dans ce chapitre comment la méthodologie dite a contrario permet de fixer de ma- nière adaptative des seuils sur ces correspondances, afin d’assurer le rejet des mises en correspondance accidentelles. Pour plus de détails sur les principes généraux de cette méthodologie, introduite par De- solneux, Moisan et Morel [DMM08], on se réfèrera à l’annexeA. Précisons tout d’abord quels types de descripteurs et de mesure de dissimilarité D sont adaptés à ce cadre de travail.