Question

J'ai des problèmes conceptuels dans la compréhension de l'algorithme de surf et de sift Tout sur le surf. En ce qui concerne ma compréhension, le surf trouve Laplacian des Gaussiens et SIFT opère sur la différence des Gaussiens. Il construit ensuite un vecteur de 64 variables autour pour extraire les fonctionnalités. J'ai appliqué ça CODE.

(Q1) Alors, qu'est-ce qui forme les fonctionnalités?

(Q2) Nous initialisons l'algorithme à l'aide du détecteur de suffeusetector (500). Alors, cela signifie-t-il que la taille de l'espace des fonctionnalités est de 500?

(Q3) La sortie de Surf Good_Matches donne des correspondances entre KeyPoint1 et KeyPoint2 et en réglant le nombre de correspondances, nous pouvons conclure que si l'objet a été trouvé / détecté ou non. Qu'entend-on par points clés? Est-ce que ceux-ci stockent les fonctionnalités?

(Q4) J'ai besoin de faire une application de reconnaissance d'objets. Dans le code, il semble que l'algorithme puisse reconnaître le livre. Ainsi, il peut être appliqué pour la reconnaissance des objets. J'avais l'impression que le surf peut être utilisé pour différencier des objets en fonction de la couleur et de la forme. Mais, surf et SIFT trouvent la détection du bord d'angle, il est donc inutile d'utiliser des images couleur comme échantillons d'entraînement car ils seront convertis en échelle de gris. Il n'y a pas d'option d'utilisation de couleurs ou de HSV dans ces algorithmes, à moins que je calcule séparément les points clés de chaque canal, ce qui est un domaine de recherche différent (Évaluation des descripteurs de couleur pour la reconnaissance des objets et des scènes).

Alors, comment puis-je détecter et reconnaître des objets en fonction de leur couleur, de leur forme? Je pense que je peux utiliser le surf pour différencier des objets en fonction de leur forme. Disons, par exemple, j'ai 2 livres et une bouteille. Je dois seulement reconnaître un seul livre à partir de l'ensemble des objets. Mais, dès qu'il y a d'autres objets de forme similaire dans la scène, Surf donne beaucoup de faux positifs. J'apprécierai les suggestions sur les méthodes à appliquer pour ma demande.

Était-ce utile?

La solution

  1. Le maxima local (réponse du chien qui est plus (plus petit) que les réponses des pixels voisins autour de l'image Point, supérieure et amant dans le quartier pyramid - 3x3x3) forme les coordonnées du centre de caractéristique (cercle). Le rayon du cercle est le niveau de la pyramide.

  2. C'est le seuil de Hesse. Cela signifie que vous ne prenez que des maximas (voir 1) avec des valeurs plus grandes que le seuil. Le seuil plus important entraîne le nombre de fonctionnalités moins, mais la stabilité des fonctionnalités est meilleure et visa versa.

  3. Fonction KeyPoint ==. Dans opencv Le point clé est la structure pour stocker les fonctionnalités.

  4. Non, le surf est bon pour la comparaison des objets texturés mais pas pour la forme et la couleur. Pour la forme que je recommande d'utiliser MSER (mais pas OpenCV un), un détecteur de bord Canny, pas des fonctionnalités locales. Cette présentation pourrait être utile

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top