IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Traitement d'images Discussion :

Comprendre les étapes de l'algorithme SIFT


Sujet :

Traitement d'images

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    57
    Détails du profil
    Informations personnelles :
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Mars 2009
    Messages : 57
    Points : 58
    Points
    58
    Par défaut Comprendre les étapes de l'algorithme SIFT
    Bonjour à tous,

    J'ai réussi à implementer l'algorithme SIFT sans trop de mal en lisant le document qui détaille l'algorithme et en étant aidé sur certains points.

    La question que j'aimerai poser est relative à l'intérêt des opérations effectuées dans cet algotithme. Ayant un projet de type recherche à faire, l'implémentation est moins importante que la justification des étapes constituant SIFT.

    SI quelqu'un peut reponde de façon précise et convinquante aux questions ou à toute partie des questions suivantes, je l'en remercie d'avance:

    1. Quel est l'interret d'utiliser les images de difference de gaussienne (DoG), et donc l'application de gaussienne successives à l'image originale à chaque octave? pourquoi ne pas travailler sur l'image originale (ou sa version en niveau de gris), pour la detection des points candidats et le calcul des orientations et des vecteurs descripteurs?

    2. La detection des extremum permet de localiser des points d'interret précis. il y a 3 types de rejets après cette localisation:
    - Que veut dire "un point localisable" au sens des formules utilisés (avec matrice hessienne, etc...)
    - Quel est l'interret du rejet des points à faible contraste? je pense que c'est le fait de ne garder que les points les plus robuste face aux changement de luminosité, mais je peux être en train de dire n'importe quoi. merci de confirmer ou de corriger cette réponse.
    - Quel est l'interret du rejet des points de contour (avec un seuil pour la courbure)? je sais que si ces points ne sont pas éliminé, les points détécté sont très nombreux sur les contours. Est ce que la diminution du nombre de points candidat est la seule motivation de ce rejet? ou y a t il une raison plus valable?

    Pour les deux étapes suivante: calcul des orientations principales et du vecteur descripteur a chaque point clé, je pense avoir les explications.

    Merci pour toutes vos futures reponses.

  2. #2
    Rédacteur
    Avatar de pseudocode
    Homme Profil pro
    Architecte système
    Inscrit en
    Décembre 2006
    Messages
    10 062
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Architecte système
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2006
    Messages : 10 062
    Points : 16 084
    Points
    16 084
    Par défaut
    Citation Envoyé par looclooc Voir le message
    Bonjour à tous,

    J'ai réussi à implementer l'algorithme SIFT sans trop de mal en lisant le document qui détaille l'algorithme et en étant aidé sur certains points.
    Félicitations. C'est déjà un sacré boulot de décortiquer les "subtilités" cachées dans le document de Lowe.

    1. Quel est l'interret d'utiliser les images de difference de gaussienne (DoG), et donc l'application de gaussienne successives à l'image originale à chaque octave? pourquoi ne pas travailler sur l'image originale (ou sa version en niveau de gris), pour la detection des points candidats et le calcul des orientations et des vecteurs descripteurs?
    Ah. Il y a plusieurs questions dans une seule mais la réponse est la même : utiliser des approximations pour gagner du temps.

    - La DoG : En fait, c'est le laplacien qu'on à besoin de calculer et il se trouve que la "DoG" est une estimation (pas trop mauvaise sous certaines conditions) du Laplacien. De plus, comme on a déjà la pyramide d'image, c'est très rapide a calculer.

    - La pyramide d'image : Au lieu de convoluer l'image de départ avec une gaussienne qui peut avoir une forte variance, on convolue itérativement l'image avec une gaussienne qui a une relativement petite variance. La réduction de taille à chaque octave permet également de réduire la variance de la gaussienne (moyennant une perte de qualité de l'image)

    2. La detection des extremum permet de localiser des points d'interret précis. il y a 3 types de rejets après cette localisation:
    - Que veut dire "un point localisable" au sens des formules utilisés (avec matrice hessienne, etc...)
    Ca veut dire que l'extremum du laplacien se trouve dans le proche voisinage du point considéré = [x+/-0.5 , y+/-0.5 , s+/-0.5]

    - Quel est l'interret du rejet des points à faible contraste? je pense que c'est le fait de ne garder que les points les plus robuste face aux changement de luminosité, mais je peux être en train de dire n'importe quoi. merci de confirmer ou de corriger cette réponse.
    Oui c'est cela.

    - Quel est l'interret du rejet des points de contour (avec un seuil pour la courbure)? je sais que si ces points ne sont pas éliminé, les points détécté sont très nombreux sur les contours. Est ce que la diminution du nombre de points candidat est la seule motivation de ce rejet? ou y a t il une raison plus valable?
    On considère que pour qu'un points d'intérêts soit stable il doit être situé sur un "coin" (= le sommet d'un angle) et pas sur un "bord" (= le long d'une ligne).

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    57
    Détails du profil
    Informations personnelles :
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Mars 2009
    Messages : 57
    Points : 58
    Points
    58
    Par défaut
    Merci pseudocode
    J'ai peut être un peu exagéré en disant que je l'ai implémenté sans trop de mal, mais je n'y ai pas passé des mois non plus
    En plus, comme je l'ai dit, j'ai eu droit à un peu d'aide à certains moments...

    Ceci dit, merci pour toutes tes explications. je ne pense pas qu'on puisse être aussi clair.
    J'y vois un peu mieux en ce qui concerne les points que j'ai cité.
    Si j'ai d'autres questions, je sais ou les poster...

  4. #4
    Futur Membre du Club
    Inscrit en
    Mars 2008
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 5
    Points : 5
    Points
    5
    Par défaut algorithme SIFT
    Bonjour à tous,

    j'essaye d'implémenter l'algorithme SIFT et j'avoue que j'ai un peut de mal à le
    faire; si vous pouvez m'aider en m'envoyant le lien ou le document que vous avez utilisé qui détail l'algorithme je vous serai trés reconnaissant.

    Merci

  5. #5
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2011
    Messages
    84
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2011
    Messages : 84
    Points : 114
    Points
    114
    Par défaut
    Jette un coup d'oeil sur ce Topic! C'est très bien détaillé!
    http://www.developpez.net/forums/d52...gorithme-sift/

  6. #6
    Membre éclairé
    Homme Profil pro
    Ingénieur R&D en apprentissage statistique
    Inscrit en
    Juin 2009
    Messages
    447
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur R&D en apprentissage statistique

    Informations forums :
    Inscription : Juin 2009
    Messages : 447
    Points : 752
    Points
    752
    Par défaut
    Pour compléter les explications de pseudocode, l'utilisation d'une pyramide d'images permet de trouver des points caractéristique à plusieurs échelles différentes ("Scale Invariant" Feature Transform). L'utilisation d'un flou gaussien avant le sous-échantillonnage permet dans ce cas d'éviter les problèmes de pixelisation.

  7. #7
    Futur Membre du Club
    Inscrit en
    Mars 2008
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 5
    Points : 5
    Points
    5
    Par défaut algorithme SIFT
    merci.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. affichage de toutes les étapes de la boucle
    Par souadmaa dans le forum Delphi
    Réponses: 6
    Dernier message: 19/03/2007, 11h33
  2. [MySQL] besoin d'aide pour comprendre les injections sql
    Par cassy dans le forum PHP & Base de données
    Réponses: 8
    Dernier message: 28/01/2007, 14h21
  3. Enumérer les TAPEs
    Par Amri_Daly dans le forum Windows
    Réponses: 1
    Dernier message: 31/10/2005, 17h09
  4. Comprendre les matrices 3D
    Par tavman dans le forum Algorithmes et structures de données
    Réponses: 5
    Dernier message: 11/09/2005, 13h18

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo