AccueilđŸ‡«đŸ‡·Chercher

Scale-invariant feature transform

La scale-invariant feature transform (SIFT), que l'on peut traduire par « transformation de caractéristiques visuelles invariante à l'échelle », est un algorithme utilisé dans le domaine de la vision par ordinateur pour détecter et identifier les éléments similaires entre différentes images numériques (éléments de paysages, objets, personnes, etc.). Il a été développé en 1999 par le chercheur David Lowe.

Exemple de mise en correspondance de deux images par la mĂ©thode SIFT : des lignes vertes relient entre eux les descripteurs communs Ă  un tableau et une photo de ce mĂȘme tableau, de moindre qualitĂ©, ayant subi des transformations.
Exemple de rĂ©sultat de la comparaison de deux images par la mĂ©thode SIFT (Fantasia ou Jeu de la poudre, devant la porte d’entrĂ©e de la ville de MĂ©quinez, par EugĂšne Delacroix, 1832).

L'Ă©tape fondamentale de la mĂ©thode proposĂ©e par Lowe consiste Ă  calculer ce que l'on appelle les « descripteurs SIFT » des images Ă  Ă©tudier. Il s'agit d'informations numĂ©riques dĂ©rivĂ©es de l'analyse locale d'une image et qui caractĂ©risent le contenu visuel de cette image de la façon la plus indĂ©pendante possible de l'Ă©chelle (« zoom » et rĂ©solution du capteur), du cadrage, de l'angle d'observation et de l'exposition (luminositĂ©). Ainsi, deux photographies d'un mĂȘme objet auront toutes les chances d'avoir des descripteurs SIFT similaires, et ceci d'autant plus si les instants de prise de vue et les angles de vue sont proches. D'un autre cĂŽtĂ©, deux photographies de sujets trĂšs diffĂ©rents produiront selon toute vraisemblance des descripteurs SIFT trĂšs diffĂ©rents eux aussi (pouvoir discriminant). Cette robustesse, vĂ©rifiĂ©e dans la pratique, est une exigence fondamentale de la plupart des applications et explique en grande partie la popularitĂ© de la mĂ©thode SIFT.

Les applications de la méthode sont nombreuses et ne cessent de s'étendre ; elles couvrent au début du XXIe siÚcle des domaines tels que la détection d'objet, la cartographie et la navigation, l'assemblage de photos, la modélisation 3D, la recherche d'image par le contenu, le tracking video ou le match moving.

Cet algorithme est protĂ©gĂ© aux États-Unis par un brevet dĂ©tenu par l’universitĂ© de la Colombie-Britannique.

Origines de la méthode

Exemple de caractéristiques SIFT sur une image. Sur cette image, des flÚches représentent ces caractéristiques : leurs queues sont positionnées aux centre des points-clés correspondants, leurs normes sont proportionnelles aux facteurs d'échelle des caractéristiques et les directions correspondent aux directions principales associées.
Exemple de caractéristiques SIFT. Chaque point-clé est représenté par une flÚche dont la direction correspond à la direction principale associée et la norme au facteur d'échelle (illustration : Fantasia, par EugÚne Delacroix).

C'est en 1999 que le chercheur canadien David G. Lowe, professeur Ă  l’universitĂ© de la Colombie-Britannique, prĂ©sente lors de la confĂ©rence ICCV[1] une nouvelle mĂ©thode d'extraction de caractĂ©ristiques et de dĂ©tection d'objets dans des images en niveaux de gris. Le nom de Scale-invariant feature transform (SIFT) a Ă©tĂ© choisi car la mĂ©thode transforme les donnĂ©es d'une image en coordonnĂ©es invariantes Ă  l'Ă©chelle et rapportĂ©es Ă  des caractĂ©ristiques locales. Des amĂ©liorations et une description prĂ©cise de la mĂ©thode sont proposĂ©es par Lowe en 2004 dans la revue International Journal of Computer Vision[2]. L’universitĂ© de la Colombie-Britannique a demandĂ© et obtenu la protection par brevet de cet algorithme aux États-Unis[3] - [4].

L'idĂ©e d'utiliser des points d'intĂ©rĂȘt locaux remonte aux travaux de Hans Moravec en 1981 sur la recherche de correspondance entre images stĂ©rĂ©oscopiques[5] - [6] et aux amĂ©liorations apportĂ©es en 1988 par Harris et Stephens[5] - [7]. À la suite de quoi, diffĂ©rents types de caractĂ©ristiques sont proposĂ©s[1], tels que des segments de lignes[8], des groupements d'arĂȘtes[9] - [10] ou de zones[11]. En 1992, l'intĂ©rĂȘt de ce type de dĂ©tecteur est confirmĂ© par les travaux de Harris[12] et le descripteur de coins qu'il propose, amĂ©liorant la plupart des dĂ©fauts du dĂ©tecteur de Moravec, va connaĂźtre un important succĂšs. Il faut cependant attendre 1997 et le travail prĂ©curseur de Cordelia Schmid et Roger Mohr pour Ă©tablir l'importance, dans le domaine de la vision, des caractĂ©ristiques locales invariantes appliquĂ©es au problĂšme gĂ©nĂ©ral de dĂ©tection et de recherche de correspondance[5] - [13]. Si le descripteur qu'ils dĂ©veloppent (et qui s'appuie sur le dĂ©tecteur de coins de Harris) apporte l'invariance Ă  la rotation, il reste cependant sensible aux changements d'Ă©chelle, d'angle d'observation et d'exposition[14]. Lowe comblera grandement ces dĂ©fauts avec son descripteur SIFT[15].

Généralités

La méthode proposée par Lowe comprend deux parties[15] (chacune ayant fait l'objet de recherches plus ou moins indépendantes par la suite) :

De ces deux aspects, le premier est sans doute celui qui a le plus assuré la popularité de la méthode[16], à tel point que le sigle SIFT fait plus souvent référence aux « descripteurs SIFT » qu'à la méthodologie globale. Il s'agit tout d'abord de détecter sur l'image des zones circulaires « intéressantes », centrées autour d'un point-clé et de rayon déterminé appelé facteur d'échelle. Celles-ci sont caractérisées par leur unité visuelle et correspondent en général à des éléments distincts sur l'image. Sur chacune d'elles, on détermine une orientation intrinsÚque qui sert de base à la construction d'un histogramme des orientations locales des contours, habilement pondéré, seuillé et normalisé pour plus de stabilité. C'est cet histogramme qui sous la forme d'un vecteur à 128 dimensions (ou valeurs) constitue le descripteur SIFT du point-clé, et l'ensemble des descripteurs d'une image établissent ainsi une véritable signature numérique du contenu de celle-ci.

Ces descripteurs prĂ©sentent l'avantage d'ĂȘtre invariants Ă  l'orientation et Ă  la rĂ©solution de l'image, et peu sensibles Ă  son exposition, Ă  sa nettetĂ© ainsi qu'au point de vue 3D. Ils possĂšdent ainsi des propriĂ©tĂ©s similaires Ă  celles des neurones du cortex visuel primaire qui permettent la dĂ©tection d'objet en intĂ©grant les composantes de base comme les formes, la couleur ainsi que le mouvement [17]. Par exemple, ils dĂ©criront de façon trĂšs semblable les dĂ©tails d'une image originale et ceux d'une image retouchĂ©e par l'application d'une rotation, d'un recadrage ou d'un lissage, par une correction de l'exposition, par occultation partielle ou encore par l'insertion dans une image plus grande.

Une fois le calcul des descripteurs effectué, l'algorithme de mise en correspondance recherche les zones de l'image qui contiennent des éléments visuellement similaires à ceux d'une bibliothÚque d'images de référence, c'est-à-dire des descripteurs numériquement proches. Ceci ne peut fonctionner que parce que les descripteurs SIFT sont à la fois robustes (aux principales transformations affines et aux changements d'exposition ou de perspective) et discriminants (deux objets différents ont une grande probabilité d'avoir des descripteurs différents).

Détection des points-clés et calcul du descripteur SIFT

La premiĂšre Ă©tape de l'algorithme est la dĂ©tection des points d'intĂ©rĂȘt, dits points-clĂ©s. Un point-clĂ© est dĂ©fini d'une part par ses coordonnĂ©es sur l'image ( et ) et d'autre part par son facteur d'Ă©chelle caractĂ©ristique (). En toute rigueur, il s'agit d'une zone d'intĂ©rĂȘt circulaire, le rayon de la zone Ă©tant proportionnel au facteur d'Ă©chelle. Il s'ensuit une Ă©tape de reconvergence et de filtrage qui permet d'amĂ©liorer la prĂ©cision sur la localisation des points-clĂ©s et d'en Ă©liminer un certain nombre jugĂ©s non pertinents. Chaque point-clĂ© restant est ensuite associĂ© Ă  une orientation intrinsĂšque, c'est-Ă -dire ne dĂ©pendant que du contenu local de l'image autour du point clĂ©, au facteur d'Ă©chelle considĂ©rĂ©. Elle permet d'assurer l'invariance de la mĂ©thode Ă  la rotation et est utilisĂ©e comme rĂ©fĂ©rence dans le calcul du descripteur, qui constitue la derniĂšre Ă©tape de ce processus[18].

DĂ©tection d’extrema dans l’espace des Ă©chelles

La détection s'effectue dans un espace discret que l'on appelle espace des échelles (scale space) qui comporte trois dimensions : les coordonnées cartésiennes et et le facteur d'échelle . On appelle gradient de facteur d'échelle (noté ) le résultat de la convolution d'une image par un filtre gaussien de paramÚtre , soit[19] :

Illustration représentant la construction d'une pyramide de gradients
Pyramide de gradients : 3 octaves de 6 gradients.

Cette convolution a pour effet de lisser l'image originale de telle sorte que les détails trop petits, c'est-à-dire de rayon inférieur à [note 1], sont estompés. Par conséquent, la détection des objets de dimension approximativement égale à se fait en étudiant l'image appelée différences de gaussiennes (en anglais difference of gaussians, DoG) définie comme suit :

,

oĂč est un paramĂštre fixe de l'algorithme qui dĂ©pend de la finesse de la discrĂ©tisation de l'espace des Ă©chelles voulue[19].

Dans cette image ne persistent plus que les objets observables dans des facteurs d'Ă©chelle qui varient entre et . De ce fait, un point-clĂ© candidat est dĂ©fini comme un point oĂč un extremum du DoG est atteint par rapport Ă  ses voisins immĂ©diats, c'est-Ă -dire sur l'ensemble contenant 26 autres points dĂ©fini par :

L'utilisation d'une pyramide est prĂ©conisĂ©e pour optimiser le temps de calcul des images floutĂ©es Ă  un grand nombre d'Ă©chelles diffĂ©rentes. La base de la pyramide est en gĂ©nĂ©ral l'image originale et un niveau donnĂ© – on parle d'octave par analogie avec la musique – est obtenu Ă  partir du prĂ©cĂ©dent en divisant la rĂ©solution de l'image par 2, ce qui revient Ă  doubler le facteur d'Ă©chelle. Au sein d'une mĂȘme octave, le nombre de convoluĂ©es Ă  calculer est constant. Le facteur fixe dans les formules ci-dessus est calculĂ© pour qu'au final, l'espace discrĂ©tisĂ© des facteurs d'Ă©chelles considĂ©rĂ©s corresponde Ă  une progression gĂ©omĂ©trique , avec Ă  chaque changement d'octave une valeur qui devient Ă©gale Ă  une quantitĂ© de la forme . Ce dĂ©tail – la progression gĂ©omĂ©trique des facteurs d'Ă©chelle – est important pour que les valeurs des DoG Ă  diffĂ©rentes Ă©chelles soient comparables entre elles et il Ă©vite, observe Lowe, d'avoir Ă  utiliser un facteur de normalisation dans leur calcul[20].

Schéma illustrant la construction d'une pyramide de différences de gaussiens (DoG) à partir de la pyramide de gradients. 3 octaves de 5 gradients sont représentées, et sous chaque octave, sont représentées les différences de gaussiennes issues de chaque paire d'images successives.
Construction de la pyramide de différences de gaussiens (DoG) à partir de la pyramide de gradients.

L'Ă©tape de dĂ©tection des points-clĂ©s candidats dĂ©crite ci-dessus est une variante de l'une des mĂ©thodes de blob detection (dĂ©tection de zones) dĂ©veloppĂ©e par Lindeberg, qui utilise le laplacien normalisĂ© par le facteur d'Ă©chelle[21] au lieu des DoG. Ces derniers peuvent ĂȘtre considĂ©rĂ©s comme une approximation des laplaciens et prĂ©sentent l'avantage d'autoriser l'utilisation d'une technique pyramidale[22].

Exemple de détection d'extremums dans l'espace des échelles. Ici, sont représentés trois portions de DoGs successifs, ainsi que la position d'un extrémum dans l'espace des échelles.
Exemple de détection d'extremums dans l'espace des échelles.

Localisation précise de points clés

Cette illustration reprĂ©sente trois fois la mĂȘme image Ă  des Ă©tapes diffĂ©rentes de la dĂ©tection des extremums. Sur la premiĂšre image sont reprĂ©sentĂ©s tous les points bruts tels que dĂ©terminĂ©s par l'algorithme. Sur la deuxiĂšme image, les point de faible contraste ont Ă©tĂ© Ă©liminĂ©s. Sur la derniĂšre image, les points situĂ©s sur les arĂȘtes ont Ă©tĂ© Ă©liminĂ©s.
AprĂšs la dĂ©tection des extremums dans l'espace des Ă©chelles (leurs positions sont indiquĂ©es sur l'image du haut), l'algorithme Ă©limine les points de faible contraste (les points restants apparaissent sur l'image du milieu), puis les points situĂ©s sur les arĂȘtes. Les points restants sont indiquĂ©s sur l'image du bas.

L'Ă©tape de dĂ©tection d’extremums[20] produit en gĂ©nĂ©ral un grand nombre de points-clĂ©s candidats, dont certains sont instables ; de plus, leur localisation, en particulier aux Ă©chelles les plus grandes (autrement dit dans les octaves supĂ©rieures de la pyramide oĂč la rĂ©solution est plus faible) reste approximative. De ce fait, des traitements supplĂ©mentaires sont appliquĂ©s, pour un objectif double : d'une part, reconverger la position des points pour amĂ©liorer la prĂ©cision sur , et ; d'autre part, Ă©liminer les points de faible contraste ou situĂ©s sur des arĂȘtes de contour Ă  faible courbure et donc susceptibles de « glisser » facilement.

Amélioration de la précision par interpolation des coordonnées

Visant Ă  augmenter de façon significative la stabilitĂ© et la qualitĂ© de la mise en correspondance ultĂ©rieure[23], cette Ă©tape, qui est une amĂ©lioration de l'algorithme original, s'effectue dans l'espace des Ă©chelles Ă  trois dimensions, oĂč , qui n'est connu que pour des valeurs discrĂštes de , et , doit ĂȘtre interpolĂ©.

Cette interpolation s'obtient par un développement de Taylor à l'ordre 2 de la fonction différence de gaussiennes , en prenant comme origine les coordonnées du point-clé candidat[23]. Ce développement s'écrit comme suit :

oĂč et ses dĂ©rivĂ©es sont Ă©valuĂ©es au point-clĂ© candidat et oĂč est un delta par rapport Ă  ce point. Les dĂ©rivĂ©es sont estimĂ©es par diffĂ©rences finies Ă  partir des points voisins connus de façon exacte. La position prĂ©cise de l'extremum est dĂ©terminĂ©e en rĂ©solvant l'Ă©quation annulant la dĂ©rivĂ©e de cette fonction par rapport Ă  ; on trouve ainsi[23] :

Un delta supérieur à dans l'une des trois dimensions signifie que le point considéré est plus proche d'un des voisins dans l'espace des échelles discret. Dans ce cas, le point-clé candidat est mis à jour et l'interpolation est réalisée à partir des nouvelles coordonnées. Sinon, le delta est ajouté au point candidat initial qui gagne ainsi en précision[24].

Un algorithme de reconvergence similaire a été proposé dans l'implémentation temps-réel basée sur les pyramides hybrides de Lindeberg et Bretzner[25].

Élimination des points-clĂ©s de faible contraste

La valeur de aux coordonnĂ©es prĂ©cises du point-clĂ© peut ĂȘtre calculĂ©e Ă  partir du dĂ©veloppement de Taylor de cette fonction, et constitue donc un extremum local. Un seuillage absolu sur cette valeur permet d'Ă©liminer les points instables, Ă  faible contraste[23] - [note 2].

Élimination des points situĂ©s sur les arĂȘtes

Les points situĂ©s sur les arĂȘtes (ou contours) doivent ĂȘtre Ă©liminĂ©s car la fonction DoG y prend des valeurs Ă©levĂ©es, ce qui peut donner naissance Ă  des extremums locaux instables, trĂšs sensibles au bruit : si l'image devait subir un changement numĂ©rique mĂȘme imperceptible, de tels points-clĂ©s peuvent se retrouver dĂ©placĂ©s ailleurs sur la mĂȘme arĂȘte, ou mĂȘme simplement disparaĂźtre[26].

Un point candidat à éliminer, si l'on considÚre les deux directions principales à sa position, est caractérisé par le fait que sa courbure principale le long du contour sur lequel il est positionné est trÚs élevée par rapport à sa courbure dans la direction orthogonale[26]. La courbure principale est représentée par les valeurs propres de la matrice hessienne :

Les dĂ©rivĂ©es doivent ĂȘtre Ă©valuĂ©es aux coordonnĂ©es du point d'intĂ©rĂȘt dans l'espace des Ă©chelles. Les valeurs propres de sont proportionnelles aux courbures principales de , dont seul le rapport est intĂ©ressant. La trace de reprĂ©sente la somme de ces valeurs, le dĂ©terminant son produit. Par consĂ©quent, en adoptant un seuil sur le ratio des courbures ( dans la mĂ©thode originale de Lowe[2]), un point-clĂ© candidat va ĂȘtre retenu, selon le critĂšre adoptĂ© par Lowe, si[26] :

La vĂ©rification de ce critĂšre est rapide, ne nĂ©cessitant qu'une dizaine d'opĂ©rations flottantes seulement. Lorsque ce critĂšre n'est pas vĂ©rifiĂ©, le point est considĂ©rĂ© comme localisĂ© le long d'une arĂȘte et il est par consĂ©quent rejetĂ©.

Cette Ă©tape est inspirĂ©e de la technique de dĂ©tection de points d'intĂ©rĂȘt par l'opĂ©rateur de Harris ; pour le seuillage, une matrice hessienne est utilisĂ©e au lieu de la matrice des moments d'ordre 2 (tenseur)[26].

Assignation d’orientation

L'Ă©tape d'assignation d’orientation consiste Ă  attribuer Ă  chaque point-clĂ© une ou plusieurs orientations dĂ©terminĂ©es localement sur l'image Ă  partir de la direction des gradients dans un voisinage autour du point. Dans la mesure oĂč les descripteurs sont calculĂ©s relativement Ă  ces orientations, cette Ă©tape est essentielle pour garantir l'invariance de ceux-ci Ă  la rotation : les mĂȘmes descripteurs doivent pouvoir ĂȘtre obtenus Ă  partir d'une mĂȘme image, quelle qu'en soit l'orientation[14].

Pour un point-clĂ© donnĂ© , le calcul s'effectue sur , Ă  savoir le gradient de la pyramide dont le paramĂštre est le plus proche du facteur d'Ă©chelle du point. De cette façon, le calcul est Ă©galement invariant Ă  l'Ă©chelle. À chaque position dans un voisinage du point-clĂ©, on estime le gradient par diffĂ©rences finies symĂ©triques, puis son amplitude (c.-Ă -d. sa norme) , et son orientation [14] :

.
Illustration de la construction de l'histogramme des orientations Ă  partir de la direction des gradients dans un voisinage autour du point.
Construction de l'histogramme des orientations.

Un histogramme des orientations sur le voisinage est rĂ©alisĂ© avec 36 intervalles, couvrant chacun 10 degrĂ©s d'angle. Chaque voisin est doublement pondĂ©rĂ© dans le calcul de l'histogramme : d'une part, par son amplitude ; d'autre part, par une fenĂȘtre circulaire gaussienne de paramĂštre Ă©gal Ă  1,5 fois le facteur d'Ă©chelle du point-clĂ©. Les pics dans cet histogramme correspondent aux orientations dominantes. Toutes les orientations permettant d'atteindre au moins 80 % de la valeur maximale sont prises en considĂ©ration, ce qui provoque si nĂ©cessaire la crĂ©ation de points-clĂ©s supplĂ©mentaires ne diffĂ©rant que par leur orientation principale[14].

À l'issue de cette Ă©tape, un point-clĂ© est donc dĂ©fini par quatre paramĂštres . Il est Ă  noter qu'il est parfaitement possible qu'il y ait sur une mĂȘme image plusieurs points-clĂ©s qui ne diffĂ©rent que par un seul de ces quatre paramĂštres (le facteur d'Ă©chelle ou l'orientation, par exemple).

Descripteur de point-clé

Une fois les points-clĂ©s, associĂ©s Ă  des facteurs d'Ă©chelles et Ă  des orientations, dĂ©tectĂ©s et leur invariance aux changements d'Ă©chelles et aux rotations assurĂ©e, arrive l'Ă©tape de calcul des vecteurs descripteurs, traduisant numĂ©riquement chacun de ces points-clĂ©s. À cette occasion, des traitements supplĂ©mentaires vont permettre d'assurer un surcroĂźt de pouvoir discriminant en rendant les descripteurs invariants Ă  d'autres transformations telles que la luminositĂ©, le changement de point de vue 3D, etc. Cette Ă©tape est rĂ©alisĂ©e sur l'image lissĂ©e avec le paramĂštre de facteur d'Ă©chelle le plus proche de celui du point-clĂ© considĂ©rĂ©[27].

Illustration de la construction d'un descripteur SIFT Ă  partir d'une rĂ©gion de 16 × 16 pixels.
Construction d'un descripteur SIFT.

Autour de ce point, on commence par modifier le systĂšme de coordonnĂ©es local pour garantir l'invariance Ă  la rotation, en utilisant une rotation d'angle Ă©gale Ă  l'orientation du point-clĂ©, mais de sens opposĂ©. On considĂšre ensuite, toujours autour du point-clĂ©, une rĂ©gion de 16 × 16 pixels, subdivisĂ©e en 4 × 4 zones de 4 × 4 pixels chacune. Sur chaque zone est calculĂ© un histogramme des orientations comportant 8 intervalles. En chaque point de la zone, l'orientation et l'amplitude du gradient sont calculĂ©s comme prĂ©cĂ©demment. L'orientation dĂ©termine l'intervalle Ă  incrĂ©menter dans l'histogramme, ce qui se fait avec une double pondĂ©ration – par l'amplitude et par une fenĂȘtre gaussienne centrĂ©e sur le point clĂ©, de paramĂštre Ă©gal Ă  1,5 fois le facteur d'Ă©chelle du point-clĂ©[28].

Ensuite, les 16 histogrammes à 8 intervalles chacun sont concaténés et normalisés. Dans le but de diminuer la sensibilité du descripteur aux changements de luminosité, les valeurs sont plafonnées à 0,2 et l'histogramme est de nouveau normalisé, pour finalement fournir le descripteur SIFT du point-clé, de dimension 128[29].

Cette dimension peut paraßtre bien élevée, mais la plupart des descripteurs de dimension inférieure proposés dans la littérature présentent de moins bonnes performances dans les tùches de mise en correspondance[29] pour un gain en coût de calculs bien modéré, en particulier quand la technique Best-Bin-First (BBF) est utilisée pour trouver le plus proche voisin. Par ailleurs, des descripteurs de plus grande dimension permettraient probablement d'améliorer les résultats, mais les gains escomptés seraient dans les faits assez limités, alors qu'à l'inverse augmenterait sensiblement le risque de sensibilité à la distorsion ou à l'occultation. Il a également été démontré que la précision de recherche de correspondance de points dépasse 50 % dans les cas de changement de point de vue supérieur à 50 degrés, ce qui permet d'affirmer que les descripteurs SIFT sont invariants aux transformations affines modérées. Le pouvoir discriminant des descripteurs SIFT a pour sa part été évalué sur différentes tailles de bases de données de points-clés ; il en ressort que la précision de mise en correspondance est trÚs marginalement affectée par l'augmentation de la taille de la base de données, ce qui constitue une bonne confirmation du pouvoir discriminant des descripteurs SIFT[30].

Utilisation pour la recherche d'objets dans des images

La problématique de base pour laquelle la méthode SIFT a été conçue est la suivante : peut-on trouver dans une image donnée (dite image question ou image suspecte), des objets déjà présents dans une collection d'images de référence préétablie ?

Dans la mĂ©thode originale de David Lowe[1] - [2], les points-clĂ©s et les descripteurs SIFT sont tout d'abord extraits des images de rĂ©fĂ©rence et stockĂ©s dans une sorte de base de donnĂ©es. Un objet est identifiĂ© dans l'image question en effectuant une comparaison de ses descripteurs Ă  ceux des images de rĂ©fĂ©rence disponibles en base de donnĂ©es, fondĂ©e simplement sur la distance euclidienne. Parmi toutes les correspondances ainsi Ă©tablies, des sous-ensembles (clusters) sont identifiĂ©s, au sein desquels la mise en correspondance est cohĂ©rente du point de vue des positions des points, des facteurs d'Ă©chelle et des orientations. Les clusters contenant au moins trois correspondances ponctuelles sont conservĂ©s. Dans chacun d'eux, on modĂ©lise la transformation permettant de passer de l'image question Ă  l'image de rĂ©fĂ©rence, et on Ă©limine les correspondances aberrantes par simple vĂ©rification de ce modĂšle. Enfin, Lowe applique un modĂšle probabiliste pour confirmer que la dĂ©tection d'une correspondance d'objets entre l'image question et l'une des images de rĂ©fĂ©rence n'est pas due au hasard, basĂ© sur l'idĂ©e que si de nombreux points n'ont pas pu ĂȘtre mis en correspondance c'est que l'on a peut-ĂȘtre affaire Ă  un faux positif[31].

À chacune de ces Ă©tapes, Lowe[2] propose une approche efficace prĂ©sentĂ©e succinctement dans le tableau ci-dessous et dont les principes sont dĂ©taillĂ©s dans les paragraphes suivants.

Résumé des techniques utilisées dans les différentes étapes de SIFT
Étape Techniques utilisĂ©es Avantages
Extraction des points-clĂ©s (des images de rĂ©fĂ©rence et de l'image question) Pyramide de gradients, diffĂ©rence de gaussiens, assignation d’orientation PrĂ©cision, stabilitĂ©, invariance aux modifications d’échelle et Ă  la rotation
Calcul des descripteurs (des images de rĂ©fĂ©rence et de l'image question) Échantillonnage et lissage des plans locaux d’orientation de l’image StabilitĂ© relative aux transformations affines et Ă  la luminositĂ©
Indexation des descripteurs des images de référence Arbre kd Efficacité
Recherche des correspondances avec les descripteurs de l'image question Plus proche voisin approximatif (Best Bin First) Rapidité
Identification de clusters Transformée de Hough et table de hachage ModÚle de transformation fiable
VĂ©rification du modĂšle Moindres carrĂ©s linĂ©aires Élimination des fausses correspondances
Validation de l'hypothÚse Inférence bayésienne Fiabilité

Indexation des descripteurs et recherche de correspondances

L’indexation est l’opĂ©ration de stockage des descripteurs SIFT des images de rĂ©fĂ©rence, d'une maniĂšre qui facilite l’identification des descripteurs correspondants de l'image question. Lowe utilise un arbre kd pour indexer les descripteurs puis une mĂ©thode de recherche dans cet arbre modifiĂ©e par rapport Ă  l'approche classique, appelĂ©e Best bin first[32]. Cette derniĂšre est capable de trouver les plus proches voisins d'un descripteur question avec une bonne probabilitĂ© de façon trĂšs Ă©conome en temps de calcul. Cet algorithme se fonde sur deux astuces. Tout d'abord, le nombre de boĂźtes (feuilles de l'arbre kd) Ă  explorer pour trouver le plus proche voisin d'un descripteur question donnĂ© est limitĂ© Ă  une valeur maximale fixĂ©e, par exemple Ă  200. Ensuite, les nƓuds de l'arbre kd sont explorĂ©s dans l'ordre de leur distance au descripteur question, grĂące Ă  l'utilisation d'une file de prioritĂ© basĂ©e sur un tas binaire. Par distance d'un nƓud Ă  un descripteur, on entend distance euclidienne de la boĂźte englobante des feuilles sous-jacentes Ă  ce descripteur. Dans la plupart des cas, ce procĂ©dĂ© fournit la meilleure correspondance, et, dans les cas restants, un descripteur trĂšs proche de celle-ci[33].

De façon à déconsidérer les descripteurs faiblement discriminants (parce qu'ils sont trop souvent présents dans la base de référence, comme par exemple ceux qui sont extraits de motifs d'arriÚre-plan souvent répétés dans les images), Lowe recherche à la fois le plus proche voisin et le second plus proche voisin de chaque descripteur question. Lorsque le rapport des distances est supérieur à 0,8, la correspondance est éliminée, car considérée comme ambiguës (« bruit »). Par ce critÚre, Lowe parvient à éliminer 90 % des fausses correspondances en perdant moins de 5 % de correspondances correctes[34].

Identification de clusters par la transformée de Hough

On appelle pose d'un objet le point de vue sous lequel il est photographié, c'est-à-dire sa position dans l'espace par rapport à un repÚre absolu. En général, la base des images de référence contient différentes poses d'objets identiques. Chaque correspondance individuelle entre points-clés obtenue à l'étape précédente constitue une hypothÚse quant à la pose de l'objet sur l'image question par rapport à l'image de référence concernée. Il s'agit donc maintenant de grouper les hypothÚses cohérentes entre elles de façon à mettre en correspondance les objets des images et non plus seulement des points isolés. La transformée de Hough est utilisée pour cela. Elle identifie des groupes de correspondances, que l'on appelle clusters, par un systÚme de vote[34].

Alors qu'un objet rigide possĂšde en gĂ©nĂ©ral six degrĂ©s de libertĂ© dans l'espace (trois rotations, trois translations), une correspondance de points-clĂ©s entre deux images ne permet de relier que quatre paramĂštres (deux paramĂštres de position, l'angle et l'Ă©chelle) et constitue donc une approximation parmi toutes les poses possibles. Le sous-espace des poses ainsi paramĂ©trĂ© est segmentĂ© en boĂźtes de façon assez grossiĂšre : Lowe utilise des intervalles de 30 degrĂ©s pour l’orientation, un facteur de 2 pour l’échelle et 0,25 fois la dimension maximale de l’image de rĂ©fĂ©rence concernĂ©e (compte tenu du rapport d'Ă©chelles) pour la position[2]. Chaque correspondance vote pour la boĂźte associĂ©e. Les correspondances concernant les facteurs d'Ă©chelles les plus Ă©levĂ©s, considĂ©rĂ©es comme plus pertinentes, se voient attribuer un poids double de celles concernant les facteurs les plus bas. En outre, pour Ă©viter les effets de bord lors de l’assignation des boĂźtes, chaque correspondance vote pour les 2 plus proches intervalles dans chaque dimension, c'est-Ă -dire qu'elle vote 16 fois[34].

Lors de l'implĂ©mentation, Lowe recommande l'utilisation d'une table de hachage pour Ă©viter de reprĂ©senter toutes les boĂźtes possibles en mĂ©moire dont seulement un petit nombre risque d'ĂȘtre non vide[34].

Lorsque plusieurs correspondances votent pour une mĂȘme boĂźte, c'est-Ă -dire pour la mĂȘme pose d’un objet, la probabilitĂ© que la correspondance soit correcte est largement supĂ©rieure Ă  ce que pourrait donner une correspondance isolĂ©e. Ainsi, les boĂźtes contenant au moins trois entrĂ©es sont considĂ©rĂ©es comme des clusters fiables, et retenus pour la suite de l'analyse[34].

Vérification du modÚle par la méthode des moindres carrés

Les clusters obtenus sont soumis Ă  une procĂ©dure de vĂ©rification par l’application de la mĂ©thode des moindres carrĂ©s aux paramĂštres de la transformation affine reliant le modĂšle (image de rĂ©fĂ©rence) Ă  l’image question[35]. La transformation affine d’un point modĂšle en un point image peut s’écrire ainsi :

,

oĂč est la translation du modĂšle, et oĂč les paramĂštres , , et modĂ©lisent la transformation vectorielle (qui peut ĂȘtre une rotation Ă  l'origine, une similitude, une distorsion, etc.) Pour obtenir les paramĂštres de la transformation, l’équation ci-dessus est rĂ©Ă©crite de maniĂšre Ă  regrouper les inconnues dans un vecteur-colonne :

Cette Ă©quation reprĂ©sente une seule correspondance. Pour obtenir les autres correspondances, il suffit de rajouter pour chacune d’elles deux lignes Ă  la matrice et deux coefficients au second membre. Trois correspondances au minimum sont requises pour espĂ©rer une solution. Le systĂšme linĂ©aire complet s’écrit alors :

oĂč est une matrice connue (vĂ©rifiant gĂ©nĂ©ralement ), un vecteur inconnu de paramĂštres de dimension et enfin un vecteur connu de mesures de dimension .

Ce systĂšme n'a en gĂ©nĂ©ral pas de solution exacte puisqu'il est sur-dimensionnĂ© ; mais ce qui nous intĂ©resse est qu'il est possible d'en trouver une pseudo-solution au sens des moindres carrĂ©s, c'est-Ă -dire un vecteur qui minimise l'erreur , et qui est aussi solution de l’« Ă©quation normale » :

La solution du systĂšme d’équations linĂ©aires, qui s'exprime grĂące Ă  la matrice , dite pseudo-inverse de Moore-Penrose de , est donnĂ©e par :

Elle minimise la somme des carrés des distances entre les positions des points-clés calculées à partir de la transformée des positions du modÚle, et les positions correspondantes sur l'image cible[35].

Les donnĂ©es aberrantes peuvent ensuite ĂȘtre Ă©cartĂ©es en vĂ©rifiant la concordance de chaque correspondance avec la solution des moindres carrĂ©s. Sont Ă©liminĂ©es les correspondances qui se situent au-delĂ  de la moitiĂ© de l’intervalle d’erreur utilisĂ© pour la discrĂ©tisation de l'espace des poses dans la transformĂ©e de Hough. Une nouvelle solution par la mĂ©thode des moindres carrĂ©s est calculĂ©e Ă  partir des points restants, et le processus est itĂ©rĂ© plusieurs fois. Il est Ă©galement possible grĂące Ă  la transformation estimĂ©e par la mĂ©thode des moindres carrĂ©s de rĂ©cupĂ©rer des correspondances qui avaient Ă©tĂ© manquĂ©es prĂ©cĂ©demment. À la fin du processus, s’il reste moins de 3 points aprĂšs suppression des points aberrants, alors la correspondance est dite infructueuse et rejetĂ©e[36].

Validation finale par inférence bayésienne

La dĂ©cision finale d’admission ou de rejet d’une mise en correspondance d'objets (hypothĂšse) se fait sur la base d’un modĂšle probabiliste[37]. Cette mĂ©thode dĂ©termine en premier lieu le nombre attendu de fausses correspondances, connaissant la taille estimĂ©e du modĂšle, le nombre de points-clĂ©s dans la rĂ©gion et la prĂ©cision de la correspondance. Une analyse par infĂ©rence bayĂ©sienne donne ensuite la probabilitĂ© que l’objet trouvĂ© sur l'image de rĂ©fĂ©rence soit effectivement prĂ©sent dans l'image question Ă  partir du nombre de vraies correspondances trouvĂ©es. Une hypothĂšse est acceptĂ©e si cette probabilitĂ© est supĂ©rieure Ă  0,98. À l'exception d'images prĂ©sentant de grands Ă©carts de luminositĂ© ou des objets ayant subi des transformations sĂ©vĂšres ou non rigides, la dĂ©tection d’objet au moyen de la mĂ©thode SIFT parvient ainsi Ă  d'excellents rĂ©sultats[36].

Comparaison des descripteurs SIFT aux autres descripteurs locaux

Plusieurs Ă©tudes d’évaluation des performances de diffĂ©rents descripteurs locaux (notamment le descripteur SIFT) ont Ă©tĂ© menĂ©es, dont les principales conclusions sont[38] :

  • les caractĂ©ristiques SIFT et apparentĂ©es (en particulier GLOH) donnent les meilleurs taux de rappel pour des transformations affines de moins de 50 degrĂ©s ; au-delĂ  de cette limite, les rĂ©sultats deviennent incertains ;
  • le caractĂšre discriminant des descripteurs est mesurĂ© en sommant leurs valeurs propres, obtenues par analyse en composantes principales appliquĂ©e Ă  ces descripteurs normalisĂ©s par leur variance ; cela traduit dans les faits la quantitĂ© de variance « capturĂ©e » par les diffĂ©rents descripteurs et, partant, leur pouvoir discriminant ; les caractĂ©ristiques PCA-SIFT, GLOH et SIFT donnent les meilleurs rĂ©sultats ;
  • les descripteurs Ă  base de SIFT dĂ©passent en performance les autres types de descripteurs locaux en prĂ©sence de scĂšnes texturĂ©es ou, dans une moindre mesure, de scĂšnes structurĂ©es ;
  • les descripteurs Ă  base de SIFT dĂ©passent en performance les autres descripteurs dans le cas d'images texturĂ©es ou structurĂ©es ayant subi un changement d'Ă©chelle d'un ratio compris entre 2 et 2,5 ou une rotation comprise entre 30 et 45 degrĂ©s ;
  • les performances de tous les descripteurs, et notamment ceux basĂ© sur l'analyse des contours, tel que shape context, se dĂ©gradent en prĂ©sence d'images ayant subi un floutage substantiel (du fait de l'estompage des contours) ; en tout Ă©tat de cause, les descripteurs GLOH, PCA-SIFT et SIFT sont ceux qui prĂ©sentent les meilleures performances de tous les descripteurs Ă©tudiĂ©s. Il en est de mĂȘme dans les situations de modifications d'illumination.

Il ressort de ces études que les descripteurs à base de SIFT, du fait de leur plus grande robustesse et de leur meilleur pouvoir discriminant, sont particuliÚrement adaptés à la recherche de correspondances.

Des descripteurs plus récents, tel que SURF, n'ont cependant pas été pris en compte dans ces études, quoiqu'une étude ultérieure ait montré que ce dernier avait des performances similaires à celles de SIFT tout en étant sensiblement plus rapide[39].

Une nouvelle variante du descripteur SIFT, basĂ©e sur un histogramme irrĂ©gulier, a rĂ©cemment Ă©tĂ© proposĂ©e[40], apportant une nette amĂ©lioration des performances. Au lieu d'utiliser des grilles de boĂźtes d'histogrammes de 4 × 4, toutes les boĂźtes sont ramenĂ©es au centre de la caractĂ©ristique, d'oĂč une amĂ©lioration significative de la robustesse aux changements d'Ă©chelle.

Enfin, comparée au descripteur SIFT standard, la technique SIFT-Rank s'est révélée avoir de meilleures performances[41]. Un descripteur SIFT-Rank est généré à partir d'un descripteur SIFT standard, en fixant chaque boßte d'histogramme à son rang dans un tableau de boßtes. La distance euclidienne entre les descripteurs SIFT-Rank est invariante aux modifications monotones arbitraires dans les valeurs des boßtes d'histogramme, et elle est liée à la corrélation de Spearman[41].

Applications des descripteurs SIFT

Outre la reconnaissance d'objet, les avantageuses propriétés des descripteurs SIFT (caractÚre discriminant, invariance à la translation, à la rotation et au changement d'échelle et robustesse aux transformations affines en général (distorsions), aux changements de points de vue 3D ainsi qu'aux changements de luminosité) en font un excellent choix pour d'autres applications dont quelques-unes sont énumérées ici.

Localisation de robot en environnement inconnu

Le but de cette application est de fournir une solution robuste et fiable au problÚme de localisation de robots en environnement inconnu[42]. Un systÚme de stéréoscopie trinoculaire est utilisé pour estimer les positions 3D des points-clés déterminés. Un point-clé n'est pris en compte que s'il apparaßt simultanément sur les trois images du systÚme trinoculaire, et à condition que les disparités entre ces images ne soient pas handicapantes, afin de générer le moins possible de données aberrantes[43]. En mouvement, le robot se localise en comparant les caractéristiques vues avec celles de la carte 3D qu'il a en mémoire ; il enrichit au fur et à mesure cette carte de nouvelles caractéristiques et met à contribution un filtre de Kalman pour mettre à jour leurs positions tridimensionnelles[43].

L’assemblage de panoramas

Exemple de détection de zones de recouvrement pour l'assemblage d'un panorama : une série de six images sont assemblées en panorama, une ligne rouge délimitant les zones de recouvrement.
Exemple de détection de zones de recouvrement pour l'assemblage d'un panorama.

La mise en correspondance de points d'intĂ©rĂȘt par la mĂ©thode SIFT peut ĂȘtre utilisĂ©e comme premiĂšre Ă©tape d'un processus d'assemblage de photos entiĂšrement automatisĂ©. Cette application consiste Ă  construire une image panoramique unique Ă  partir de prises de vues successives d'un mĂȘme sujet (souvent un paysage) dĂ©calĂ©es les unes des autres par un dĂ©placement dans l'espace. La technique proposĂ©e par Brown et Lowe en 2003[44] a l'avantage de fonctionner sur une collection d'images, sans qu'aucune connaissance a priori ne soit nĂ©cessaire sur l'endroit prĂ©cis de la prise de vue de chacune de ces images, ni mĂȘme leur ordre ; elle peut aussi exclure de l'assemblage des images qui n'auraient rien Ă  voir avec un panorama donnĂ© et mĂȘme reconstituer en mĂȘme temps plusieurs panoramas indĂ©pendants.

L'idĂ©e de l'application est la suivante[44]. Les descripteurs SIFT sont extraits de chacune des images Ă  Ă©tudier et mis en correspondance les uns avec les autres (recherche des plus proches voisins comme dans la mĂ©thode SIFT gĂ©nĂ©rale). On construit ensuite un graphe dont les sommets sont les diffĂ©rentes images et l'on ajoute des arĂȘtes entre les images qui ont le plus de points-clĂ©s en correspondance. Cela signifie qu'elles ont potentiellement des Ă©lĂ©ments du dĂ©cor en commun. Pour en ĂȘtre sĂ»r, on essaie de dĂ©terminer la transformation gĂ©omĂ©trique permettant de passer de l'une Ă  l'autre, ou homographie, en utilisant un RANSAC entre les points. En cas de succĂšs, la paire d'images est soumise Ă  une vĂ©rification supplĂ©mentaire basĂ©e sur un modĂšle probabiliste et destinĂ©e Ă  s'assurer que les correspondances ne sont pas dues au hasard. Seules sont conservĂ©es dans le graphe les arĂȘtes qui passent le test. Les composantes connexes correspondent alors Ă  autant de panoramas indĂ©pendants, qui sont assemblĂ©s sĂ©parĂ©ment. Pour cela, une technique dite d'« ajustement de faisceaux » (bundle adjustment) est utilisĂ©e pour dĂ©terminer les paramĂštres objectifs de la camĂ©ra lors de la prise de vue de chaque image, par rapport au panorama global. Une fois que cet ajustement est fait, il est thĂ©oriquement possible d'obtenir la valeur de chacun des pixels du panorama global Ă  partir des images de dĂ©part. Pour la construction finale, on applique une pondĂ©ration et un lissage liĂ©s Ă  la nĂ©cessitĂ© d'harmoniser l'exposition des images de dĂ©part, de telle sorte que les grandes Ă©tendues uniformes (cieux, etc.) ne prĂ©sentent pas trop de variations dans leur luminositĂ© tout en s'assurant que les dĂ©tails ne seront pas perdus. Cette technique sophistiquĂ©e s'appelle assemblage multi-bande (multi band blending).

La technique a donné naissance au logiciel Autostitch[45].

Modélisation, reconnaissance et suivi d'objets 3D

Cette problématique consiste à déterminer la position exacte d'une caméra à partir des images qu'elle acquiert, simplement en analysant l'orientation et la position d'un objet précis apparaissant dans son champ de vision. Les applications en sont diverses ; la plus populaire étant sans doute la réalité augmentée, qui consiste à intégrer de nouveaux objets au sein d'une scÚne filmée, par exemple une bouteille sur une table dÚs que ladite table apparaßt dans le champ de la caméra, et cela si possible en temps réel.

Une façon de traiter cette application a été proposée par Gordon et Lowe en 2006[46]. Elle comprend une phase d'apprentissage qui permet d'établir une modélisation 3D de l'objet témoin à partir de l'analyse de différentes prises de vues 2D de celui-ci. Les descripteurs SIFT sont utilisés pour mettre en relation les points-clés entre différentes images et construire un modÚle 3D de l'objet (mise en correspondance dite « 2D-to-3D »). Une fois cette phase effectuée, on extrait de chaque image filmée les descripteurs SIFT et on les met en correspondance avec ceux des images de référence, de maniÚre à obtenir les correspondances « 2D-to-3D » de l'image filmée. La position de la caméra est alors déterminée par une technique de RANSAC améliorée (Levenberg-Marquardt) qui minimise l'erreur de projection.

Descripteurs SIFT 3D pour la reconnaissance de mouvements humains

Des extensions au descripteur SIFT aux donnĂ©es spatio-temporelles de dimension 2+1, dans le contexte de reconnaissance de mouvements humains dans des sĂ©quences vidĂ©o, ont Ă©tĂ© proposĂ©es dans la littĂ©rature scientifique[47] - [48] - [49]. Le calcul d'histogrammes dĂ©pendants de positions locales est Ă©tendu, dans l'algorithme SIFT, de 2 Ă  3 dimensions pour adapter les caractĂ©ristiques SIFT au domaine spatio-temporel. Pour rĂ©aliser une reconnaissance de mouvements humains dans une sĂ©quence vidĂ©o, un Ă©chantillonnage de vidĂ©os d'apprentissage est effectuĂ© soit Ă  des points d'intĂ©rĂȘt spatio-temporel, soit Ă  des positions, instants et Ă©chelles alĂ©atoirement choisis. Les rĂ©gions spatio-temporelles autour de ces points d'intĂ©rĂȘt sont dĂ©crites au moyen du descripteur SIFT 3D. Ces descripteurs sont enfin rangĂ©s en clusters formant un modĂšle de sac de mots spatio-temporel. Les descripteurs SIFT 3D extraits des vidĂ©os de test sont enfin comparĂ©s Ă  ces « mots ».

Les auteurs confirment l'obtention de meilleurs résultats grùce à cette approche à base de descripteur 3D que par les autres approches utilisant de simples descripteurs SIFT 2D ou les magnitudes de gradients[50].

Analyse du cerveau humain au moyen d’images RMN 3D

La morphomĂ©trie basĂ©e sur des descripteurs d'image (FBM, feature based morphometry), est une technique d'analyse et de classification d'images 3D du cerveau humain obtenus par rĂ©sonance magnĂ©tique[51]. GrĂące Ă  la technique SIFT, l'image est vue comme un assemblage gĂ©omĂ©trique de structures indĂ©pendantes (zones d'intĂ©rĂȘt). En utilisant un modĂšle probabiliste assez fin et en se basant sur l'observation de diffĂ©rentes classes de sujets dĂ»ment Ă©tiquetĂ©s, par exemple des sujets sains d'un cĂŽtĂ© et des sujets atteints de la maladie d'Alzheimer de l'autre, la technique FBM parvient Ă  regrouper les structures similaires d'une image Ă  l'autre et Ă  les classifier selon l’étiquetage. Un systĂšme ainsi entraĂźnĂ© devient capable d'Ă©tiqueter automatiquement une image Ă©trangĂšre : sur un ensemble de test constituĂ© d'environ 200 images IRM du cerveau humain, la dĂ©tection des cas sains et des cas atteints de la maladie d'Alzheimer est correcte dans 80 % des cas, prĂ©cisent les auteurs.

Variantes et extensions

RIFT
RIFT[52] est une variante de SIFT adaptĂ©e aux images texturĂ©es sur lesquelles la notion d'orientation principale n'a pas vraiment de sens, tout en Ă©tant invariante aux rotations. Le descripteur est construit en utilisant des patches circulaires normalisĂ©s divisĂ©s en anneaux Ă©galement circulaires et d’égale largeur ; un histogramme d’orientation de gradient est calculĂ© Ă  partir de chacun de ces anneaux. Pour garantir l’invariance Ă  la rotation, l'orientation est mesurĂ©e pour chaque point du centre vers l’extĂ©rieur.
G-RIF
G-RIF[53] (ou Generalized robust invariant feature) est un descripteur de contexte regroupant les orientations des contours, les densités des contours et les informations de teintes dans une forme unifiée, combinant information perceptive et codage spatial. Une nouvelle méthode de classification est utilisée, basée sur un modÚle probabiliste utilisant les votes des descripteurs locaux dans un voisinage.
SURF
PrĂ©sentĂ© comme une solution de hautes performances capable de d’approcher et mĂȘme de dĂ©passer les schĂ©mas prĂ©cĂ©dents du point de vue rĂ©pĂ©titivitĂ©, distinctivitĂ© et robustesse, SURF[54] (ou Speeded Up Robust Features) est un dĂ©tecteur de points d’intĂ©rĂȘts invariant aux changements d’échelle et aux rotations. Afin de rĂ©duire les temps de traitement, il fait usage d'images intĂ©grales pour le calcul de la convolution, et reprend les points forts des meilleurs dĂ©tecteurs et descripteurs l’ayant prĂ©cĂ©dĂ©, en utilisant des mesures Ă  base de matrices hessiennes rapides pour le dĂ©tecteur et un descripteur basĂ© sur les distributions. Il dĂ©crit une distribution de rĂ©ponses d’ondelettes de Haar dans le voisinage du point d’intĂ©rĂȘt. Seulement 64 dimensions sont utilisĂ©es, ce qui permet de rĂ©duire le temps de calcul des caractĂ©ristiques et de recherche des correspondances. L’étape d’indexation est basĂ©e sur le signe du Laplacien, d’oĂč l'accĂ©lĂ©ration de la recherche de correspondances et l’amĂ©lioration de la robustesse du descripteur.
PCA-SIFT et GLOH
PCA-SIFT[55] et GLOH[56] sont des variantes de SIFT. Le descripteur PCA-SIFT est un vecteur de gradients d’image dans les directions et 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[57]. GLOH (pour Gradient location-orientation histogram) est une extension du descripteur SIFT dont la robustesse et le caractĂšre distinctif ont Ă©tĂ© amĂ©liorĂ©s. ComparĂ© Ă  SIFT, le descripteur GLOH est calculĂ© Ă  partir d’une grille de positions log-polaires avec trois boĂźtes en direction radiale (de rayons 6, 11 et 15) et huit en direction angulaire, soit 17 boĂźtes de position. La boĂźte centrale n’est pas divisĂ©e dans les directions angulaires. Les orientations des gradients sont quantifiĂ©es en 16 boĂźtes, d’oĂč 272 histogrammes de boĂźtes. Ici aussi la taille du descripteur est rĂ©duite au moyen de l’analyse en composantes principales. La matrice de variance-covariance de l’ACP est estimĂ©e sur les patches d’image collectĂ©s de diffĂ©rentes images. Les 128 plus importants vecteurs propres sont utilisĂ©s pour la description.
Autres méthodes
Une Ă©quipe formĂ©e autour de Wagner a dĂ©veloppĂ© deux algorithmes de dĂ©tection d’objet spĂ©cialement pensĂ©s pour tenir compte des limitations techniques des photophones[58], mettant en Ɠuvre le dĂ©tecteur de coins FAST pour la dĂ©tection de caractĂ©ristiques. Les deux algorithmes distinguent deux phases : une phase de prĂ©paration hors-ligne, au cours de laquelle les caractĂ©ristiques sont calculĂ©es pour diffĂ©rents niveaux d’échelles, et une phase de traitement en ligne, au cours de laquelle seules les caractĂ©ristiques du niveau d’échelle fixĂ© de la photographie issue du photophone sont calculĂ©es. De plus, des caractĂ©ristiques sont obtenues Ă  partir d’une imagette d’une taille fixe de 15 × 15 pixels, formant un descripteur SIFT rĂ©duit Ă  36 dimensions[59]. Cette approche a Ă©tĂ© ensuite amĂ©liorĂ©e par l’intĂ©gration d’un arbre de vocabulaire Ă©volutif dans le pipeline de dĂ©tection[60]. Il s’ensuit une meilleure reconnaissance des objets sur les photophones. Le principal inconvĂ©nient de cette approche est son important besoin de mĂ©moire vive[61].

Notes et références

Notes

  1. Ici comme dans la littĂ©rature scientifique en gĂ©nĂ©ral, le facteur d'Ă©chelle – paramĂštre du filtre gaussien – est assimilĂ© Ă  une distance en pixels sur l'image, que l'on pourrait appeler rayon associĂ© . En fait, ils sont proportionnels (), avec un facteur qui varie gĂ©nĂ©ralement entre 3 et 4 selon les auteurs. Il est tout simplement liĂ© au nombre de coefficients au-delĂ  duquel les valeurs de la gaussienne deviennent nĂ©gligeables.
  2. Il est à noter que dans la méthodologie originale de Lowe, le point-clé candidat est éliminé si la valeur de est inférieure à 0,03 (en valeur absolue).

Références

  1. (en) David G. Lowe, « Object recognition from local scale-invariant features », dans Proceedings of the International Conference on Computer Vision, vol. 2, (lire en ligne), p. 1150–1157.
  2. (en) David G. Lowe, « Distinctive image features from scale-invariant keypoints », International Journal of Computer Vision, vol. 60, no 2,‎ , p. 91–110 (lire en ligne).
  3. (en) Om K. Gupta et Ray A. Jarvis, « Using a Virtual World to Design a Simulation Platform for Vision and Robotic Systems », dans Proceedings of the 5th International Symposium on Advances in Visual Computing, Springer Verlag, (ISBN 978-3-642-10330-8, lire en ligne), p. 241.
  4. (en) Brevet U.S. 6,711,293, « Method and apparatus for identifying scale invariant features in an image and use of same for locating an object in an image ».
  5. Lowe (2004), p. 93.
  6. (en) Hans P. Moravec, « Rover Visual Obstacle Avoidance », dans Proceedings of the seventh International Joint Conference on Artificial Intelligence, Vancouver, Colombie Britannique, (lire en ligne), p. 785-790.
  7. (en) Chris Harris et Mike Stephens, « A combined corner and edge detector », dans Proceedings of the fourth Alvey Vision Conference, Manchester, (lire en ligne), p. 147–151.
  8. (en) W. E. L. Grimson et Thomas Lozano-PĂ©rez, « Localizing overlapping parts by searching the interpretation tree », IEEE Transactions on Pattern Analysis and Machine Intelligence, vol. PAMI-9, no 4,‎ , p. 469–482.
  9. (en) David G. Lowe, « Three-dimensional object recognition from single two-dimensional images », Artificial Intelligence, vol. 31, no 3,‎ , p. 355–395 (lire en ligne).
  10. (en) Randal C. Nelson et Andrea Selinger, « Large-scale tests of a keyed, appearance-based 3-D object recognition system », Vision Research, vol. 38, no 15,‎ , p. 2469–2488 (lire en ligne).
  11. (en) Ronen Basri et David. W. Jacobs, « Recognition using region correspondences », International Journal of Computer Vision, vol. 25, no 2,‎ , p. 141–162 (lire en ligne).
  12. C. Harris, « Geometry from visual motion », dans A. Blake and A. Yuille, Active Vision, MIT Press, , p. 263-284.
  13. (en) C. Schmid et R. Mohr, « Local grayvalue invariants for image retrieval », IEEE Transactions on Pattern Analysis and Machine Intelligence, vol. 19, no 5,‎ , p. 530-534 (lire en ligne).
  14. Lowe (2004), p. 103.
  15. Lowe (2004), p. 91.
  16. (en) Marco Treiber, An introduction to object recognition : selected algorithms for a wide variety of application, Springer, , 202 p. (ISBN 978-1-84996-234-6, lire en ligne), p. 147.
  17. (en) T. Serre, M. Kouh, C. Cadieu, U. Knoblich, G. Kreiman et T. Poggio, « A Theory of Object Recognition: Computations and Circuits in the Feedforward Path of the Ventral Stream in Primate Visual Cortex », Computer Science and Artificial Intelligence Laboratory Technical Report, no MIT-CSAIL-TR-2005-082,‎ (lire en ligne).
  18. Lowe (2004), p. 92.
  19. Lowe (2004), p. 95.
  20. Lowe (2004), p. 97.
  21. (en) Tony Lindeberg, « Feature detection with automatic scale selection », International Journal of Computer Vision, vol. 30, no 2,‎ , p. 79–116 (lire en ligne).
  22. Lowe (2004), p. 96.
  23. Lowe (2004), p. 100.
  24. Lowe (2004), p. 101.
  25. (en) Tony Lindeberg et Lars Bretzner, « Real-time scale selection in hybrid multi-scale representations », dans Proceedings of the 4th international conference on Scale space methods in computer vision, vol. 2695, Berlin, Springer-Verlag, (ISBN 3-540-40368-X, lire en ligne), p. 148–163.
  26. Lowe (2004), p. 102.
  27. Lowe (2004), p. 104.
  28. Lowe (2004), p. 105.
  29. Lowe (2004), p. 106.
  30. Lowe (2004), p. 107.
  31. Lowe (2004), p. 109.
  32. (en) Jeffrey S. Beis et David G. Lowe, « Shape indexing using approximate nearest-neighbour search in high-dimensional spaces », dans Proceedings of IEEE Computer Society Conference on Computer Vision and Pattern Recognition, San Juan, Porto-Rico, (lire en ligne), p. 1000 - 1006.
  33. Lowe (2004), p. 110.
  34. Lowe (2004), p. 111.
  35. Lowe (2004), p. 112.
  36. Lowe (2004), p. 113.
  37. D.G. Lowe, « Local feature view clustering for 3D object recognition », IEEE Conference on Computer Vision and Pattern Recognition, Kauai, Hawaii, 2001, pp. 682-688.
  38. (en) K. Mikolajczyk et C. Schmid, « A performance evaluation of local descriptors », IEEE Transactions on Pattern Analysis and Machine Intelligence, vol. 27, no 10,‎ , p. 1615–1630 (lire en ligne)
  39. (en) Johannes Bauer, Niko SĂŒnderhauf et Peter Protzel, « Comparing several implementations of two recently published feature detectors », dans Proceedings of the International Conference on Intelligent and Autonomous Systems, Toulouse, (lire en ligne), p. 3.
  40. (en) Yan Cui, Nils Hasler, Thorsten ThormÀhlen et Hans-Peter Seidel, « Scale invariant feature transform with irregular orientation histogram binning », dans Proceedings of the International Conference on Image Analysis and Recognition, Halifax (Canada), Springer, (lire en ligne).
  41. (en) Matthew Toews et William M. Wells III, « SIFT-Rank: ordinal descriptors for invariant feature correspondence », dans IEEE International Conference on Computer Vision and Pattern Recognition, (lire en ligne), p. 172–177.
  42. (en) Stephen Se, David Lowe et Jim Little, « Vision-based mobile robot localization and mapping using scale-invariant features », dans Proceedings of the IEEE International Conference on Robotics and Automation, vol. 2, (lire en ligne), p. 2051.
  43. (en) Stephen Se, David Lowe et Jim Little, « Vision-based mobile robot localization and mapping using scale-invariant features », dans Proceedings of the IEEE International Conference on Robotics and Automation, vol. 2, (lire en ligne), p. 2053.
  44. (en) M. Brown et David G. Lowe, « Recognising panoramas », dans Proceedings of the ninth IEEE International Conference on Computer Vision, vol. 2, (lire en ligne), p. 1218–1225.
  45. (en) Matthew Brown et David Lowe, « Automatic Panoramic Image Stitching using Invariant Features », International Journal of Computer Vision, vol. 74, no 1,‎ , p. 59-73 (lire en ligne).
  46. (en) Iryna Gordon et David G. Lowe, « What and where: 3D object recognition with accurate pose », dans Toward Category-Level Object Recognition, Springer-Verlag, (lire en ligne), p. 67-82.
  47. (en) Ivan Laptev et Tony Lindeberg, « Local descriptors for spatio-temporal recognition », dans ECCV'04 Workshop on Spatial Coherence for Visual Motion Analysis, vol. 3667, Springer, (lire en ligne), p. 91–103.
  48. (en) Ivan Laptev, Barbara Caputo, Christian Schuldt et Tony Lindeberg, « Local velocity-adapted motion events for spatio-temporal recognition », Computer Vision and Image Understanding, vol. 108,‎ , p. 207–229 (lire en ligne).
  49. (en) Paul Scovanner, Saad Ali et Mubarak Shah, « A 3-dimensional SIFT descriptor and its application to action recognition », dans Proceedings of the 15th International Conference on Multimedia, (ISBN 978-1-59593-702-5, lire en ligne), p. 357–360.
  50. (en) Juan Carlos Niebles, Hongcheng Wang et Li Fei-Fei1, « Unsupervised learning of human action categories using spatial-temporal words », dans Proceedings of the British Machine Vision Conference, Edinburgh, (lire en ligne).
  51. (en) Matthew Toews, William M. Wells III, D. Louis Collins et Tal Arbel, « Feature-based morphometry: discovering group-related anatomical patterns », NeuroImage, vol. 49, no 3,‎ , p. 2318-2327 (lire en ligne).
  52. (en) Svetlana Lazebnik, Cordelia Schmid et Jean Ponce, « Semi-local affine parts for object recognition », dans Proceedings of the British Machine Vision Conference, (lire en ligne), p. 959-968.
  53. (en) Sungho Kim, Kuk-Jin Yoon et In So Kweon, « Object recognition using a generalized robust invariant feature and Gestalt’s law of proximity and similarity », dans Conference on Computer Vision and Pattern Recognition Workshop, New York, (ISBN 0-7695-2646-2, lire en ligne), p. 726-741.
  54. (en) Herbert Bay, Tinne Tuytelaars et Luc Van Gool, « SURF: Speeded Up Robust Features », dans Proceedings of the European Conference on Computer Vision (lire en ligne), p. 404-417.
  55. (en) Yan Ke et R. Sukthankar, « PCA-SIFT: A More Distinctive Representation for Local Image Descriptors », dans Proceedings of the 2004 IEEE Computer Society Conference on Computer Vision and Pattern Recognition, vol. 2, (lire en ligne), p. 506-513.
  56. (en) Krystian Mikolajczyk et Cordelia Schmid, « A performance evaluation of local descriptors », IEEE Transactions on Pattern Analysis and Machine Intelligence, vol. 27, no 10,‎ , p. 1615-1630 (lire en ligne).
  57. (en) Yan Ke et R. Sukthankar, « PCA-SIFT: A More Distinctive Representation for Local Image Descriptors », dans Proceedings of the 2004 IEEE Computer Society Conference on Computer Vision and Pattern Recognition, vol. 2, (lire en ligne), p. 508.
  58. (en) Daniel Wagner, Gerhard Reitmayr, Alessandro Mulloni, Tom Drummond et Dieter Schmalstieg, « Pose tracking from natural features on mobile phones », dans 7th IEEE/ACM International Symposium on Mixed and Augmented Reality, (lire en ligne), p. 125-134.
  59. Wagner et al. (2008), p. 128.
  60. (en) Niels Henze, Torben Schinke et Susanne Boll, « What is That? Object Recognition from Natural Features on a Mobile Phone », dans Proceedings of the Workshop on Mobile Interaction with the Real World, (lire en ligne).
  61. Wagner et al. (2008), p. 133-134.

Annexes

Articles connexes

Publications

  • (en) YuanBin Wang, Zhang Bin et Yu Ge, « The Invariant Relations of 3D to 2D Projection of Point Sets », Journal of Pattern Recognition Research, vol. 3, no 1,‎ , p. 14-23 (lire en ligne)
  • (en) David G. Lowe, « Distinctive Image Features from Scale-Invariant Keypoints », International Journal of Computer Vision, vol. 60, no 2,‎ , p. 91-110 (lire en ligne)
  • (en) Krystian Mikolajczyk et Cordelia Schmid, « A performance evaluation of local descriptors », IEEE Transactions on Pattern Analysis and Machine Intelligence, vol. 27, no 10,‎ , p. 1615-1630 (lire en ligne)
  • (en) Svetlana Lazebnik, Cordelia Schmid et Jean Ponce, « Semi-Local Affine Parts for Object Recognition », Proceedings of the British Machine Vision Conference, vol. 2,‎ , p. 959-968 (lire en ligne)

Implémentations de SIFT

Cet article est issu de wikipedia. Text licence: CC BY-SA 4.0, Des conditions supplĂ©mentaires peuvent s’appliquer aux fichiers multimĂ©dias.