Je viens d'étudier SURF et je vais pour sa mise en œuvre, mais je ne comprenais toujours pas pourquoi nous utilisons des descripteurs.
Je comprends ce que sont les points clés et leur objectif, mais lorsque nous extrayons les points clés, pourquoi devons-nous utiliser des descripteurs? Quelle est leur importance et leur rôle dans la reconnaissance?
Réponses:
Une chose importante à comprendre est qu'après avoir extrait les points clés, vous obtenez uniquement des informations sur leur position , et parfois leur zone de couverture (généralement approximée par un cercle ou une ellipse) dans l'image. Bien que les informations sur la position des points clés puissent parfois être utiles, elles ne disent pas grand-chose sur les points clés eux-mêmes.
En fonction de l'algorithme utilisé pour extraire le point clé (SIFT, coins Harris, MSER), vous connaîtrez certaines caractéristiques générales des points clés extraits (par exemple, ils sont centrés autour des taches, des bords, des coins proéminents ...) mais vous ne saurez pas en quoi différents ou similaire un point clé est à l'autre.
Voici deux exemples simples où seules la position et la zone des points clés ne nous seront pas utiles:
Si vous avez une image A (d'un ours sur fond blanc), et une autre image B, copie exacte de A mais traduite pour quelques pixels: les points clés extraits seront les mêmes (sur la même partie de cet ours). Ces deux images doivent être reconnues comme identiques ou similaires.
Mais, si la seule information dont nous disposons est leur position, et que cela a changé à cause de la traduction, vous ne pouvez pas comparer les images.
Si vous avez une image A (disons, d'un canard cette fois), et une autre image B, exactement le même canard qu'en A sauf deux fois la taille: les points clés extraits seront les mêmes (mêmes parties du canard). Ce sont aussi les mêmes images (similaires).
Mais toutes leurs tailles (zones) seront différentes: tous les points clés de l'image B seront deux fois plus grands que ceux de l'image A.
Alors, voici venir descripteurs : ils sont la façon de comparer les points clés. Ils résument, au format vectoriel (de longueur constante), certaines caractéristiques des points-clés. Par exemple, cela pourrait être leur intensité dans le sens de leur orientation la plus prononcée. Il s'agit d'attribuer une description numérique à la zone de l'image à laquelle le point clé se réfère.
Certaines choses importantes pour les descripteurs sont:
ils doivent être indépendants de la position du point clé
Si le même point clé est extrait à différentes positions (par exemple à cause de la traduction), le descripteur doit être le même.
ils doivent être robustes contre les transformations d'images
Quelques exemples sont des changements de contraste (par exemple image du même endroit pendant une journée ensoleillée et nuageuse) et des changements de perspective (image d'un bâtiment de centre-droit et centre-gauche, nous aimerions toujours le reconnaître comme un même bâtiment) .
Bien sûr, aucun descripteur n'est complètement robuste contre toutes les transformations (ni contre un seul s'il est fort, par exemple un grand changement de perspective).
Différents descripteurs sont conçus pour être robustes contre différentes transformations, ce qui est parfois opposé à la vitesse nécessaire pour les calculer.
ils doivent être indépendants de l'échelle
Les descripteurs doivent tenir compte de l'échelle. Si la partie «proéminente» d'un point clé est une ligne verticale de 10 pixels (à l'intérieur d'une zone circulaire avec un rayon de 8 pixels), et la partie proéminente d'une autre une ligne verticale de 5 pixels (à l'intérieur d'une zone circulaire avec un rayon de 4 pixels) - ces points clés doivent se voir attribuer des descripteurs similaires.
Maintenant que vous avez calculé les descripteurs pour tous les points clés, vous avez un moyen de comparer ces points clés . Pour un exemple simple de correspondance d'images (lorsque vous savez que les images sont du même objet et que vous souhaitez identifier les parties dans différentes images qui représentent la même partie de la scène, ou souhaitez identifier le changement de perspective entre deux images) , vous compareriez chaque descripteur de point-clé d'une image à chaque descripteur de point-clé de l'autre image. Comme les descripteurs sont des vecteurs de nombres, vous pouvez les comparer avec quelque chose d'aussi simple que la distance euclidienne . Il existe bien sûr des distances plus complexes qui peuvent être utilisées comme mesure de similitude. Mais à la fin, vous diriez queles points clés dont les descripteurs ont la plus petite distance entre eux sont des correspondances , par exemple les mêmes "lieux" ou "parties d'objets" dans différentes images.
Pour une utilisation plus complexe des points-clés / descripteurs, vous devriez jeter un coup d'œil à cette question - en particulier «l'approche locale de bas niveau» dans ma réponse et l' approche «sac de mots» dans la réponse @Maurits . De plus, les liens fournis dans ces réponses sont utiles.
la source
Pensons au descripteur idéal pour comprendre l'idée. Un descripteur idéal est une fonction de l'espace pixel à un autre espace, de sorte que les mêmes objets ont le même résultat , tandis que les objets différents ont un résultat différent.
Par exemple, si vous prenez deux images avec le même objet mais avec un niveau d'exposition différent, vous obtiendrez une version multipliée de l'image. Un descripteur qui prendra les pixels et les normalisera par leur niveau moyen et l'écart-type aurait le même résultat, disant que ces deux objets sont les mêmes. C'est bien, car cela nous permet une correspondance correcte
Ainsi, votre descripteur est nécessaire pour faire correspondre correctement les mêmes objets.
la source