|
Publicité ' | ||||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() Inscription : février 2008 Messages : 19 ![]() |
Bonjour à tous,
Je suis une débutante en analyse d'images. Je viens de commencer mon projet de recherche. Comme première étape, je dois comprendre le déroulement du descripteur SIFT. J'ai lu une partie de l'article de David Lowe. Cependant, je trouve une difficulté à décortiquer son contenu (sauf la première partie de la différence de Gaussiennes). Dois je me documenter avant sur quelques points généraux de l'analyse d'images? En fait, j'ai cherché une autre source documentaire sur le net mais je n'ai pas trouvé, Merci de m'aider SVP, Bon travail à tous, |
|
|
00
|
|
|
#2 |
|
Membre habitué
![]() Étudiant Inscription : octobre 2011 Messages : 84 ![]() |
Salut,
Tu trouveras tout ce dont tu as besoin ici http://www.developpez.net/forums/d52...gorithme-sift/ |
|
|
00
|
|
|
#3 | |
|
Invité de passage
![]() Inscription : février 2008 Messages : 19 ![]() |
Citation:
Merci beaucoup, Bonne journée, |
|
|
|
00
|
|
|
#4 |
|
Invité de passage
![]() Inscription : février 2008 Messages : 19 ![]() |
Bonjour,
J'ai bien vu la discussion du lien http://www.developpez.net/forums/d52...gorithme-sift/. Ce lien m'a beaucoup aidé et m'a éclairci plusieurs points flous surtout dans la première partie de l'article de David Lowe "Detection of scale-space extrema". Je vous remercie :-). Cependant, il reste quelques parties que je n'ai comprises:
Merci d'avance, |
|
|
00
|
|
|
#5 | ||||||
![]() ![]() Xavier PhilippeauArchitecte système Inscription : décembre 2006 Messages : 9 815 ![]() |
Citation:
Citation:
Citation:
L'interpolation de taylor permet d'avoir une approximation plus précise de cet endroit exact à partir des niveaux et pixels dont on dispose. Citation:
Citation:
Citation:
Si les 2 valeurs propres sont grandes, le blob est fortement attiré dans 2 directions différentes => c'est donc un coin. Si une seule valeur propre est grande, le blob est fortement attiré dans une seule direction => c'est donc une arête.
__________________
ALGORITHME (n.m.): Méthode complexe de résolution d'un problème simple. |
||||||
|
10
|
|
|
#6 | |
|
Invité de passage
![]() Inscription : février 2008 Messages : 19 ![]() |
Citation:
|
|
|
|
00
|
|
|
#7 |
|
Invité de passage
![]() Inscription : février 2008 Messages : 19 ![]() |
Bonjour à tous,
En fait, je suis maintenant à l'étape "assignation d'orientation" et "descripteur du point clé". Comme je suis très débutante dans ce domaine, je n'ai pas compris grande chose, malgré que j'ai bien feuillé la discussion du lien "http://www.developpez.net/forums/d52...gorithme-sift/". J'ai vu d'autres liens qui définissent plusieurs notions en imagerie tel que l'histogramme des orientations, notion de gradient, etc. Mais, cette partie reste encore floue. j'ai quelques questions à vous poser: j'ai compris que l'étape d'assignation d'orientation est nécessaire pour l'invariance en rotation. Elle se fait pour chaque pixel du voisinage du point clé correspondant. On calcule le gradient en fait pour chaque pixel (i,j) au voisinage du point clé. Or, d'après l'étape précédente, les points clés restants sont de coordonnées réelles Pc(x,y). Comment est défini le voisinage de Point clé cad pour quels coordonnées des points le gradiant est calculé? Pourquoi on divise l'histogramme en 36 intervalles? Est ce que l'histogramme se calcule pour toute la zone couvrant le voisinage? J'ai pas compris globalement tout le processus, pourquoi Lowe a choisi le gradient/ histogramme pour garantir l'invariance par rotation? Pourquoi il a divisé après la zone entourant le point clé en 4 zones dont chacune est subdivisé en 16 parties? Pourquoi il a divisé chaque histogramme de la plus petite zone en 8 intervalles? Pourquoi chaque fois qu'on calcule un histogramme, il est doublement pondéré? Je sais que mes questions sont assez simples. Mais, votre aide sera très bénéfique pour moi. En fait, je ne vois pas l'aspect pratique de toutes les opérations du descripteur SIFT depuis la convolution de l'image initiale jusqu'à la dernière étape. Merci de m'aider SVP, |
|
|
00
|
|
|
#8 | ||||||
![]() ![]() Xavier PhilippeauArchitecte système Inscription : décembre 2006 Messages : 9 815 ![]() |
Citation:
Vi,j.x = P.x-8+16*i Vi,j.y = P.y-8+16*j En théorie, il faut dont calculer la calculer la valeur des points Vi,j par interpolations. Et ensuite on calcule le gradient. En pratique, on calcule d'abord le gradient sur toute l'images... donc sur des coordonnées entières. Et on interpole la valeur du gradient. Citation:
Citation:
D'où le fait qu'on calcule un histogramme pour trouver l'orientation qui apparait la plus souvent. Citation:
Citation:
Je ne vois pas de quoi tu parles. Citation:
![]() Pour chaque pixel de l'image, on peut calculer le vecteur gradient (image de gauche). Le gradient nous renseigne sur le contour local. Les keypoint dans SIFT sont des "coins", c'est a dire des endroits ou le contour change brutalement d'orientation. Ce sont des point particulièrement intéressants car ils sont très spécifiques, il n'y en a pas trop, et ils sont assez invariants aux transformations (zoom, rotation, perspective, ...). Un bon moyen de décrire ce qui se passe autour d'un keypoint, c'est de décrire les contours autour du keypoint. Donc de regarder les vecteurs gradient dans le voisinage : est-ce qu'ils vont tous dans la même direction, ou dans 2 directions principales, ou dans tous les sens, ... Pour cela on construit un histogramme qui représente la répartition des vecteurs gradient dans les 8 directions cardinales (image de droite). Lowe a choisi de faire 16 histogrammes, chacun représentant un voisinage de 4x4 pixels. En mettant bout a bout toutes ces informations, on obtient une "signature" composée de 16 histogrammes * 8 directions cardinales = 128 valeurs.
__________________
ALGORITHME (n.m.): Méthode complexe de résolution d'un problème simple. |
||||||
|
10
|
|
|
#9 | |||||
|
Invité de passage
![]() Inscription : février 2008 Messages : 19 ![]() |
Je vous remercie beaucoup pour votre réponse,
Citation:
Citation:
Citation:
2ème intervalle: 10..20 ... dernier intervalle: 350..360 L'axe d'ordonnées présente la fréquence d'apparition des points ayant une orientation du gradient appartenant à chaque intervalle de l'axe d'abscisses. On sélectionne après l'orientation dominante et on l'attribue au point clé. Comme c'est cité sur Wikipédia: "À l'issue de cette étape, un point-clé est donc défini par quatre paramètres (x,y,σ,θ)" ==> θ: orientation dominante de l'histogramme?? Citation:
Citation:
cad le descripteur décrit la direction de chaque pixel appartenant au voisinage du point clé en calculant le gradient de chacun et en définissant l'histogramme pour chaque zone de 4*4 pixels?? |
|||||
|
|
00
|
|
|
#10 | ||||
![]() ![]() Xavier PhilippeauArchitecte système Inscription : décembre 2006 Messages : 9 815 ![]() |
Citation:
Citation:
A noter qu'il peut y avoir plusieurs directions dominantes dans un histogramme. On crée alors un keypoint pour chaque direction dominante trouvée. Citation:
- la "force" du gradient (plus l'amplitude est grande, plus il contribue) - la distance au keypoint (plus il est proche du keypoint, plus il contribue) C'est pour cela que la contribution est un produit amplitude*gaussienne. Citation:
Attention a prendre en compte l'orientation du keypoint. La zone 16*16 n'est pas alignée sur les bords de l'image.
__________________
ALGORITHME (n.m.): Méthode complexe de résolution d'un problème simple. |
||||
|
10
|
|
|
#11 |
|
Invité de passage
![]() Inscription : février 2008 Messages : 19 ![]() |
D'accord,
c'est très clair, Merci beaucoup pour votre aide, |
|
|
00
|
|
|
#12 |
|
Invité de passage
![]() Inscription : février 2008 Messages : 19 ![]() |
Bonjour à tous,
Je reviens encore à cette discussion. En fait, j'ai lu la deuxième partie de l'article de LOWE "utilisation du descripteur pour la recherche des objets dans des images". J'ai quelques questions à poser. Si quelqu'un peut m'aider, je serais très reconnaissante.
Merci d'avance, Cordialement, |
|
|
00
|
|
|
#13 | |||||
![]() ![]() Xavier PhilippeauArchitecte système Inscription : décembre 2006 Messages : 9 815 ![]() |
Citation:
On évite ainsi les faux positifs, car s'il y a une "vraie" correspondance alors le descripteur de reference est nettement plus proche que les autres descripteurs. Citation:
![]() Citation:
[*]Dans l'article de LOWE, j'ai pas compris le paragraphe suivant: Citation:
pour chaque orientation, une marge de 2 bins pour l'echelle. pour chaque echelle, une marge de 2 bins pour la position Y Pour chaque position Y, une marge de 2 bins pour la position X Soit un total de 2*2*2*2 = 16 votes. Citation:
Chaque correspondance peut s'écrire sous forme d'une équation (u,v) = T(x,y). On cherche alors les paramètres de T qui satisfont toutes les équations à la fois. La méthode des moindres carrés permet d'écrire l'ensemble de toutes ces équations sous forme d'un seul système matriciel Ax=b, et ainsi de trouver d'un coup les meilleurs paramètres pour toutes les équations.
__________________
ALGORITHME (n.m.): Méthode complexe de résolution d'un problème simple. |
|||||
|
10
|
|
|
#14 |
|
Invité de passage
![]() Inscription : février 2008 Messages : 19 ![]() |
Bonjour Monsieur,
Merci beaucoup pour vos réponses, Cordialement, |
|
|
00
|
|
|
#15 |
|
Invité de passage
![]() Inscription : février 2008 Messages : 19 ![]() |
Bonjour à tous,
Je voulais maintenant passer au test du descripteur SIFT sur des images quelconques. J'ai utilisé le logiciel de David LOWE qui se trouve sous le lien http://www.cs.ubc.ca/~lowe/keypoints/. Les tests que j'ai effectués me montrent directement le résultat final c'est à dire le nombre des points clés ainsi que leur répartition et leur affichage sur la figure en question. Cependant, ils ne me donnent pas les résultats intermédiaires cad les résultats de chaque phase de la méthode SIFT. En outre, l'implémentation de LOWE nous donne les points clés et non pas le repérage d'un objet complet. Par exemple, si on veut repérer l’existence d'un objet dans une figure, il vous donne les points clés homologues aux points de l'objet et non pas l'homologue de l'objet entier. Y a t-il une implémentation de la méthode SIFT qui répond à mes questions? Comment arrive-on à repérer l'objet en entier? Merci de me répondre SVP, Cordialement, |
|
|
00
|
|
|
#16 | |
![]() ![]() Xavier PhilippeauArchitecte système Inscription : décembre 2006 Messages : 9 815 ![]() |
Citation:
En revanche le principe est expliqué dans le document de Lowe, ainsi que sur Wikipedia et autres sources du web. Le principe est en 3 phases: 1. Recherche d'objets "candidats" pouvant se trouver quelque part dans l'image, par la transformée de Hough généralisée. 2. Vérification de la position de l'objet candidat dans l'image, par modélisation de la transformation via les moindres carrés 3. Évaluation de la probabilité de présence de l'objet à la position donnée, par inférence bayésienne.
__________________
ALGORITHME (n.m.): Méthode complexe de résolution d'un problème simple. |
|
|
00
|
|
|
#17 | |
|
Invité de passage
![]() Inscription : février 2008 Messages : 19 ![]() |
Citation:
Merci pour votre réponse, cad dois-je programmer ces trois phases pour détecter tout l'objet ou quoi? |
|
|
|
00
|
|
|
#18 |
![]() ![]() Xavier PhilippeauArchitecte système Inscription : décembre 2006 Messages : 9 815 ![]() |
Oui, il faut programmer les 3 phases pour détecter un objet entier.
__________________
ALGORITHME (n.m.): Méthode complexe de résolution d'un problème simple. |
|
00
|
|
|
#19 |
|
Nouveau Membre du Club
![]() Étudiant Inscription : mars 2010 Messages : 68 ![]() |
J'ai un doute sur un point de l'article de Lowe pour trouver l'orientation maximale.
Pour un PI d'échelle sigma et un octave donné sur la même image donc flouter à sigma. Lowe nous dit qu'il faut convoluer cette image par un filtre gaussient de 1.5*sigma. Il nous parle de l'image source net qu'on doit flouter ou de l'image auquel appartient le PI ( donc la flouter 2x) . |
|
|
00
|
|
|
#20 | |||
![]() ![]() Xavier PhilippeauArchitecte système Inscription : décembre 2006 Messages : 9 815 ![]() |
Citation:
Citation:
Citation:
__________________
ALGORITHME (n.m.): Méthode complexe de résolution d'un problème simple. |
|||
|
00
|
Copyright © 2000-2013 - www.developpez.com