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 :

Descripteur de forme : les moments


Sujet :

Traitement d'images

  1. #1
    Membre à l'essai
    Inscrit en
    Novembre 2009
    Messages
    29
    Détails du profil
    Informations forums :
    Inscription : Novembre 2009
    Messages : 29
    Points : 17
    Points
    17
    Par défaut Descripteur de forme : les moments
    BSR

    Afin de construire un descripteur simple de forme , je choisi la méthode des moments..

    Tout d'abord, je commence par prétraiter l'image en niveau de gris en appliquant un filtre de détection de bords (filtre de Sobel). J'obtiens ainsi une image binaire.
    Ensuite, je construit un descripteur vectoriel de l'image par la méthode des moments, en appliquant la formule: M(a,b) = somme1 somme2 x^a*y^b*I(x,y)
    avec:
    somme1: est la somme de x varie de 1 jusqu'à la largeur de l'image.
    somme2: est la somme de y varie de 1 jusqu'à le longueur de l'image.
    I: l'image binaire après passage par le filtre de Sobel.

    Le vecteur de forme contient:
    [ M(0,0) M(1,0) M(2,0) M(1,1) M(0,2) M(3,0) M(2,1) M(1,2) M(0,3) ]

    Enfin, lorsque je fais la comparaison des descripteurs de forme de différents images par un produit scalaire, je ne trouve pas un classement correcte des images similaire en forme

    Est ce que vous pouvez m'aider pour surmonter ce problème par amélioration de vecteur de moment ou proposition d'autres solutions ?

    J'attends vos aides et merci d'avance.

  2. #2
    Modérateur
    Avatar de ToTo13
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Janvier 2006
    Messages
    5 793
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Santé

    Informations forums :
    Inscription : Janvier 2006
    Messages : 5 793
    Points : 9 860
    Points
    9 860
    Par défaut
    Bonjour,

    un produit scalaire...

    Pourquoi ne pas appliquer un k plus proche voisin avec la distance Euclidienne ou L1.

  3. #3
    Membre à l'essai
    Inscrit en
    Novembre 2009
    Messages
    29
    Détails du profil
    Informations forums :
    Inscription : Novembre 2009
    Messages : 29
    Points : 17
    Points
    17
    Par défaut
    Merci "ToTo13" pour votre réponse, pour la comparaison de similarité des images, j'ai appliqué la distance euclidienne et non pas le produit scalaire (désolé pour la faute d'écriture).
    Par la simple formule: Di = racine ( [somme (xi-yi)^2] )

    Est ce qu'on peut améliorer le résultat par le choix d'autres moments (autres que celles de l'ordre 0,1,2 et 3 ) qui sont les composants de descripteur de forme ?

  4. #4
    Modérateur
    Avatar de ToTo13
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Janvier 2006
    Messages
    5 793
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Santé

    Informations forums :
    Inscription : Janvier 2006
    Messages : 5 793
    Points : 9 860
    Points
    9 860
    Par défaut
    Bonjour,

    donc si c'est la distance Euclidienne, tu as dû faire un 1-plus proche voisin.

    Il y a tout un tas de descripteur de forme, mais si tu souhaites utiliser les moments, tu peux essayer Zernike, Legendre et Hu. Ils ont l'avantage d'être invariant pour certaines transformations. Tu as du code dans la rubrique "contribuez."

  5. #5
    Membre à l'essai
    Inscrit en
    Novembre 2009
    Messages
    29
    Détails du profil
    Informations forums :
    Inscription : Novembre 2009
    Messages : 29
    Points : 17
    Points
    17
    Par défaut
    Bonjour "ToTo13"

    Est ce que vous pouvez mettre un lien qui me ramènera directement à la rubrique "contribuez." ?

    Moi j'ai fait une recherche et j'ai trouvé une explication de moment de Zernike pour sa forme discrète :
    http://homepages.inf.ed.ac.uk/rbf/CV...R3/node11.html

    Mais, il y a plusieurs choses qui sont flous dans ma tête à propos de cette formule sachant que je vais la programmer à l'aide de Matlab.

    Si vous avez une formule plus clair ou bien quelques explications ça sera mieux.

    Merci encore pour votre soutien.

  6. #6
    Modérateur
    Avatar de ToTo13
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Janvier 2006
    Messages
    5 793
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Santé

    Informations forums :
    Inscription : Janvier 2006
    Messages : 5 793
    Points : 9 860
    Points
    9 860
    Par défaut
    Citation Envoyé par Adem84 Voir le message
    Est ce que vous pouvez mettre un lien qui me ramènera directement à la rubrique "contribuez." ?
    ... Algorithmes/Contribuez

    Je pense que les moments de Zernicke doivent être implémentés en MatLab. Il doit y avoir une bibliothèque qui fait cela.
    Je te conseille de poser la question dans le forum adapté.
    Je testerai aussi les moments de Hu, qui sont plus robustes que les moments géométriques classiques.

  7. #7
    Membre à l'essai
    Inscrit en
    Novembre 2009
    Messages
    29
    Détails du profil
    Informations forums :
    Inscription : Novembre 2009
    Messages : 29
    Points : 17
    Points
    17
    Par défaut
    Tout d'abord je vous remercie parce que vous m'orientez vers le chemin le plus simple: "les moments de HU" malgré que j'ai encore quelques astuces non résolues.

    Bon je fait un programme en matlab qui calcule pour une image (après son passage par le filtre de sobel):Le moment central normalisé et invariant par translation et rotation,puis les 7 moments de HU comme c'est indiqué dans ce lien:
    http://en.wikipedia.org/wiki/Image_moment
    Enfin,à l'aide de distance euclidienne,il aura une classification des images.

    Le problème que le résultat obtenu n'est pas acceptable peut être faute d'application des formules des moments de HU (parce que j'ai vu plusieurs versions des formules dans l'internet et moi j'ai choisi une)...

    Est ce que vous pouvez m'indiquez les formules,la base d'images ... que vous avez testé ?

    et Merci encore "ToTo13" pour vos aides.

  8. #8
    Modérateur
    Avatar de ToTo13
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Janvier 2006
    Messages
    5 793
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Santé

    Informations forums :
    Inscription : Janvier 2006
    Messages : 5 793
    Points : 9 860
    Points
    9 860
    Par défaut
    Bonjour,

    cherche des articles avec marqué "moments de Hu" et tu auras les formules. C'est celles implémentées dans mon code.

    Par contre, pourquoi est ce que tu appliques les moments sur le gradient et non pas sur le forme binaire ?

  9. #9
    Membre à l'essai
    Inscrit en
    Novembre 2009
    Messages
    29
    Détails du profil
    Informations forums :
    Inscription : Novembre 2009
    Messages : 29
    Points : 17
    Points
    17
    Par défaut
    Bonjour,

    J'applique les moments sur la forme binaire parce que je connait pas la méthode de gradient et peut être c'est la cause de mauvais résultat que j'ai obtenu.
    Bon j'ai fait une petite recherche sur le gradient mais j'ai rencontré quelques problèmes au niveau de programmation (des erreurs),voilà comment j'ai appliqué le gradient à ma image :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
       image = imread ('nature.bmp');% Lecture d'une image quelconque 256*256.
       S = edge(image,'sobel');% Application de filtre de Sobel c'est trop simple.
       G = gradient(image);% Application de gradient avec message d'erreur .
    C'est sûr que l'application de gradient à une image n'est pas conforme à celle de filtre de Sobel mais j'ai pas trouvé la solution

    Je compte sur vos aides "ToTo13" et aux contributions des autres amis.

    Merci encore "ToTo13" .

  10. #10
    Modérateur
    Avatar de ToTo13
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Janvier 2006
    Messages
    5 793
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Santé

    Informations forums :
    Inscription : Janvier 2006
    Messages : 5 793
    Points : 9 860
    Points
    9 860
    Par défaut
    Bonsoir,

    on s'est mal compris : il faut appliquer la méthode sur la forme binaire.
    Si les moments de Hu et Zernicke donnent de mauvais résultats ou du moins pas assez performants, je suggère de changer de méthode =>
    - Indices de formes ?
    - MSGPR ?
    - etc. (tout dépend du type de formes).

  11. #11
    Membre à l'essai
    Inscrit en
    Novembre 2009
    Messages
    29
    Détails du profil
    Informations forums :
    Inscription : Novembre 2009
    Messages : 29
    Points : 17
    Points
    17
    Par défaut
    Bonjours,

    Si les moments de Hu et Zernicke donnent de mauvais résultats ou du moins pas assez performants, je suggère de changer de méthode
    oui c'est ca le grand problème, il n'existe pas une méthode standard applicable pour toutes les formes ,donc, il faut à chaque fois tester une méthode pour choisir l'optimal et malheureusement ca nécessite beaucoup de temps .

    merci ToTo13.

Discussions similaires

  1. Recherche du descripteur SIFT pour les points d'interêt
    Par bilzzbenzbilz dans le forum Traitement d'images
    Réponses: 12
    Dernier message: 26/04/2012, 10h11
  2. descripteur de forme Moment de Zernike
    Par sannounna dans le forum Images
    Réponses: 0
    Dernier message: 02/11/2011, 14h55
  3. Reconnaissance de formes en utilisant les moments
    Par sabrina6 dans le forum OpenCV
    Réponses: 3
    Dernier message: 19/04/2010, 14h13
  4. Descripteurs de formes locaux
    Par Invité dans le forum Traitement d'images
    Réponses: 13
    Dernier message: 23/02/2009, 14h30
  5. Descripteur de forme.
    Par bilzzbenzbilz dans le forum Traitement d'images
    Réponses: 22
    Dernier message: 20/02/2009, 22h31

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