Ce sont des keypoints dans le traitement de l'image?
Lors de l'utilisation d'OpenCV par exemple, les algorithmes comme TAMISER ou de SURF sont souvent utilisés pour détecter des keypoints. Ma question est ce que sont en réalité ces keypoints?
Je comprends qu'ils sont en quelque sorte des "points d'intérêt" dans une image. Je sais aussi qu'ils sont invariant d'échelle et de forme circulaire.
Aussi, j'ai découvert qu'ils ont de l'orientation, mais je ne pouvais pas comprendre ce que c'est réellement. Est-ce un angle entre le rayon et quelque chose? Pouvez-vous nous donner quelques explications? Je pense que j'ai besoin de ce que j'ai besoin d'abord est quelque chose de plus simple et après qu'il sera plus facile de comprendre les papiers.
- Je pense qu'il serait utile pour les futurs lecteurs, si vous avez ajouté quelques références qui vous explique les principaux résultats.
- Points clés doivent simplement être des points (x,y) de l'omi. Ce que décrit un point et, essentiellement, de la région autour il doit être appelé un descripteur. Certains keypoints mélanger ces termes et qu'ils deviennent des points avec une description jointe du vecteur, tout comme @rayryeng expliqué.
- C'est un bon point que de nombreuses personnes confondent. Je vais l'ajouter à mon post. Merci!
- Désolé, j'ai oublié. Considérez que c'est fait 🙂
- Pas de problème! Merci beaucoup!
- En fait je vous remercie!
Vous devez vous connecter pour publier un commentaire.
Ceux sont de très bonnes questions. Nous allons aborder chaque point un par un:
Keypoints sont la même chose que de points d'intérêt. Ils sont localisations spatiales, ou des points dans l'image pour définir ce qui est intéressant ou ce se démarquer dans l'image. L'intérêt de détection de point est en fait un sous-ensemble de blob de détection, qui vise à trouver des régions intéressantes ou spatiale des zones dans une image. La raison pour laquelle keypoints sont spécial, c'est parce que peu importe comment les modifications de l'image... si l'image pivote, se rétrécit/expansion, il est traduit (l'ensemble de ces serait une transformation affine en passant...) ou est soumis à des déformations (c'est à dire une transformation projective ou homographie), vous devez être en mesure de trouver la même keypoints dans cette image modifiée lors de la comparaison avec l'image d'origine. Voici un exemple à partir d'un post que j'ai écrit il y a longtemps:
Source: module "objet n'a pas d'attribut "drawMatches' opencv python
L'image de droite est une version tournée de l'image de gauche. Je ne l'ai affiché le top 10 des matchs entre les deux images. Si vous jetez un oeil au top 10 des matches, ce sont des points que nous avons probablement se concentrent sur qui allait nous permettre de nous souvenir de ce que l'image était d'environ. On aurait envie de se concentrer sur le visage de l'opérateur ainsi que l'appareil photo, le trépied, et certains des textures intéressantes sur les bâtiments en arrière-plan. Vous voyez que ces mêmes points ont été trouvés entre les deux images et elles ont été appariés.
Par conséquent, ce que vous devriez tenir à l'écart de ce est que ce sont des points dans l'image sont intéressants et qu'ils doivent être trouvés n'importe comment l'image est déformée.
Vous sont corrects. Invariant d'échelle signifie que peu importe comment vous l'échelle de l'image, vous devriez toujours être en mesure de trouver ces points.
Maintenant nous allons nous aventurer dans le descripteur partie. Ce qui fait de keypoints différents entre les cadres de est la façon dont vous décrire ces keypoints. Ce sont ce qu'on appelle les descripteurs. Chaque point-clé que vous le détecter est associé à un descripteur qui l'accompagne. Certains cadres de seulement un point crucial de détection, tandis que d'autres cadres sont tout simplement un cadre de description et ils ne sont pas en mesure de détecter les points. Il ya aussi certains qui ne les deux - ils détecter et décrire les keypoints. SIFT et SURF sont des exemples de cadres à la fois de détecter et de décrire les keypoints.
Descripteurs sont essentiellement préoccupés par l' échelle et la orientation de tazoult. Les keypoints nous avons cloué que concept vers le bas, mais nous avons besoin de la descripteur partie, si notre but est d'essayer et de correspondance entre les keypoints dans les différentes images. Maintenant, ce que vous entendez par "circulaire"... qui est en corrélation avec l'échelle que le point a été détectée à la. Prenez l'exemple de cette image qui est prise à partir de la VLFeat boîte à outils tutoriel:
Vous voyez que tous les points qui sont de couleur jaune, sont des points d'intérêt, mais certains de ces points ont un autre rayon du cercle. Ils traitent d' échelle. Comment l'intérêt des points de travail dans un sens général est que l'on décompose l'image en de multiples échelles. Nous vérifier les points d'intérêt à chaque échelle, et nous de combiner l'ensemble de ces points d'intérêt sont associés pour créer la sortie finale. Plus le "cercle", le plus l'échelle a été que le point a été détectée à la. Aussi, il y a une ligne qui rayonne à partir du centre du cercle vers le bord. C'est le orientation de la tazoult, dont nous parlerons ensuite.
Fondamentalement, si vous voulez détecter des keypoints indépendamment de l'échelle et de l'orientation, quand ils parlent de orientation de keypoints, ce qu'ils veulent dire, c'est qu'ils recherche un voisinage de pixels qui entoure le point-clé et de comprendre comment cela voisinage de pixels est orientée, ou quelle direction ce patch est orienté dans. Cela dépend de ce descripteur cadre, vous regardez, mais le général jist est de détecter le plus dominant l'orientation du gradient angles dans le patch. C'est important pour correspondant de sorte que vous pouvez faire correspondre les keypoints ensemble. Jetez un oeil à la première figure que j'ai avec les deux cameramen - une rotation tandis que l'autre ne l'est pas. Si vous jetez un oeil à certains de ces points, comment pouvons-nous comprendre comment un point correspond à un autre? Nous pouvons identifier facilement que le haut de l'opérateur comme un intérêt du point correspond à la version tournée, parce que nous prenons un coup d'oeil à points qui surround le point-clé et voir ce que l'orientation de l'ensemble de ces points sont dans... et à partir de là, c'est la façon dont l'orientation est calculée.
Habituellement, lorsque nous voulons détecter les keypoints, nous venons de prendre un regard sur les lieux. Toutefois, si vous voulez match keypoints entre les images, alors vous avez certainement besoin de l'échelle et de l'orientation pour faciliter cela.
Espérons que cette aide!
Je ne suis pas aussi familier avec les VAGUES, mais je peux vous dire à propos de SIFT, SURF, est basé sur. J'ai fourni quelques notes sur les VAGUES à la fin, mais je ne connais pas tous les détails.
TAMISER vise à trouver hautement distinctifs à des endroits (ou keypoints) dans une image. Les emplacements ne sont pas seulement en 2D endroits sur l'image, mais aussi la position de l'image dans le à l'échelle de l'espace, ce qui signifie qu'ils ont trois coordonnées: x, y, et échelle. Le processus pour trouver TAMISER keypoints est:
L'étape 2 nous donne invariance d'échelle, l'étape 3 nous donne de l'invariance par rotation, et à l'étape 4 nous donne une "empreinte digitale" de toutes sortes qui peuvent être utilisés pour identifier le point-clé. Ensemble, ils peuvent être utilisés pour faire correspondre les occurrences de la même fonction à n'importe quelle orientation et de l'échelle de plusieurs images.
SURF vise à atteindre les mêmes buts que les EIPD, mais utilise quelques astuces judicieuses afin d'augmenter la vitesse.
Blob de détection il utilise le déterminant de la Hesse méthode. L'orientation dominante est trouvé par l'examen de l'horizontale et à la verticale des réponses à harr ondelettes. La fonctionnalité de descripteur de fichier est similaire à TAMISER, en regardant les orientations de pixels en 16 quartiers, mais les résultats dans un 64-dimensions vecteur.
SURF fonctionnalités peuvent être calculés jusqu'à 3 fois plus rapide que l'EIPD de fonctionnalités, mais sont tout aussi robuste dans la plupart des situations.
Pour référence:
Une bonne TAMISER tutoriel
Une introduction au SURF
tl;dr
différences entre les VAGUES et les TAMISER.