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.


Sujet :

Traitement d'images

  1. #1
    Membre régulier
    Inscrit en
    Décembre 2008
    Messages
    127
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 127
    Points : 70
    Points
    70
    Par défaut Descripteur de forme.
    bonjour, je suis à la recherche d'une technique de comparaison des images par leurs formes, si quelqu'un a une idée ou une implementation d'un descripteur de forme.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,

    bon... tu extrais des formes de ton image et tu souhaites les caractériser.
    Est ce que tu as une base de données à laquelle tu souhaites comparer tes formes ?
    - Si oui, c'est des techniques de "Shape matching" (j'aime bien MSGPR).
    - Si non, je suis un fan des indices de formes pour leur rapport simplicité/efficacité. Mais est ce que c'est des formes d'un type particulier ou quelconques ? Si c'est particulier, on peut trouver une méthode mieux adaptée, sinon toutes les méthodes peuvent être utiles. Elles se déclinent alors en deux familles : les méthode de description du contour (Fourier, chaîne de Freeman, description polaire, profils, etc.) ou description globales (indices de formes, histogrammes de projection & CPT, signature polaire, tous les moments, etc.).

    Donne nous donc quelques précisions, voire mieux des images

  3. #3
    Membre régulier
    Inscrit en
    Décembre 2008
    Messages
    127
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 127
    Points : 70
    Points
    70
    Par défaut
    Bonjour voici le lien de la base :
    http://www1.cs.columbia.edu/CAVE/sof...b/coil-100.php



    Presque tous les systèmes de recherche d'images utilise cette base pour tester l'efficacité .
    Images attachées Images attachées  

  4. #4
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    Je ne suis pas un spécialiste des descripteurs de formes mais je connais un peu la base d'images de columbia et je peux confirmer que des techniques de shape matching qu'évoquait ToTo13 vont être efficaces.

    Edit from ToTo13 : nouvelle discussion ouverte concernant ta question ici.
    Dernière modification par ToTo13 ; 17/02/2009 à 23h53.

  5. #5
    Membre régulier
    Inscrit en
    Décembre 2008
    Messages
    127
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 127
    Points : 70
    Points
    70
    Par défaut
    Bonjour,
    J'aimerai bien savoir comment utiliser la technique MSGPR ( si toto13 peut m'aider à la comprendre) ou bien une autre technique plus simple pour comparer les formes des images de la base columbia . de toute façon

  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
    Bonsoir,

    voilà le lien d'une version française de l'article. Pour les puristes, j'ai aussi la version IEEE

    Dis moi où tu bloques, je verrai ce que je peux faire.

  7. #7
    Membre régulier
    Inscrit en
    Décembre 2008
    Messages
    127
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 127
    Points : 70
    Points
    70
    Par défaut
    Bonjour toto13, pourriez vous me citer les notions de base avant de lire cet article. Par exemple

    C'est quoi :

    L'analyse multi-echelle.
    fonctions paramétriques x(u) et y(u).
    l'abscisse curviligne u.
    périmètre du contour.
    ......

    J'ai cherché sur google mais j'ai pas trouvé d'information, par exmple pour l'analyse multi-echelle j'ai trouvé son application comme Analyse multi-échelles de la sécurité routière. Application SIG au ... .


    Est ce que vous connaissez des documents qui expliquent brevement ces notions avant d'éssayer de comprendre la technique MSGPR ? merci toto13 .

  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,

    Multi-échelle se traduit directement : variation de l'échelle (du zoom). Donc tu fais une analyse en fonction de plusieurs échelles différentes.

    Fonction paramétrique : je pense que Zavonen te répondra mieux que moi sur le sujet. Là en gros tu souhaites décrire le contour par une fonction C(u) que tu décomposes en deux fonctions par rapport aux axes : C(u) = (x(u) , y(u)). Dans ce cas précis, cela te donne les positions des pixels du contour ordonné. Avec C(0) le premier pixel du contour, C(1) le suivant, etc.

    Abscisse curviligne, ici, ici ou ici.

    Périmètre du contour : je pense qu'il veulent parler de la longueur du contour.

  9. #9
    Membre régulier
    Inscrit en
    Décembre 2008
    Messages
    127
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 127
    Points : 70
    Points
    70
    Par défaut
    bonjour toto13.
    dans l'article que vous m'avez donné, j'ai pas bien compris les étapes suivantes.




    Comment calculer le u et les deux fonction x(u) et y(u) du contour ci-dessus ?

    Est ce qu'on peut calculer x(u) et y(u) par la connaissance des positions des pixels du contour ?

    Comment calculer le périmètre du contour ?

    Comment normaliser u entre [0,2*pi] ?

    ----->Un grand merci toto13.
    Images attachées Images attachées  

  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,

    d'après ce que je comprends de l'article :
    - u est un paramètre, donc inutile de la calculer. Dans ce cas tu es dans un espace discret, donc u appartient à l'intervalle [0, Périmètre].
    - oui, on calcule x(u) et y(u) en fonction des la position des pixels. x(u) est l'abscisse du u-ième point du contour.
    - pour le périmètre, soit tu compte brutalement le nombre de pixel, soit tu affines en en faisant la somme des distances des pixels voisins du contour. Donc tu ajoutes à chaque fois 1 ou racine carrée de 2.
    - pourquoi ne pas tout simplement faire un produit en croix.

  11. #11
    Membre régulier
    Inscrit en
    Décembre 2008
    Messages
    127
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 127
    Points : 70
    Points
    70
    Par défaut
    Par exemple, supposons qu'on a l'image suivante :



    les pixels du contour sont par exemple :

    [30,50].......................[40,50]
    ..........................................
    ..........................................
    ..........................................
    [30,60]........................[40,60]

    pour les deux pixels [30,50], [34,50] on a x1(u)=30 et x2(u)=34 ( voir la figure ci-dessous)



    Comment connaître leur positions dans l'axe des u ?
    Images attachées Images attachées   

  12. #12
    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,

    non, ce n'est pas ça

    Tu choisis un point du contour qui te sert d'origine, donc pour lequel u=0.
    Si je prends ton exemple en choisissant (30,50) comme point d'origine, j'aurai f(0) = (x(0),y(0))=(30,50).
    Si maintenant je tourne dans le sens trigo, on aura pour u allant de 0 à 10 : f(u) = (x(u),y(u)) = (30, y(0)-u) = (30, 50-u).
    Dans la partie suivante, c'est le X qui varient et les y qui sont stables.

    Tu ne fais que noter les coordonnées des points du contour ordonné.

  13. #13
    Membre régulier
    Inscrit en
    Décembre 2008
    Messages
    127
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 127
    Points : 70
    Points
    70
    Par défaut
    Oui, j'ai compris ce cas particulier.
    Maintenant si on veux généraliser pour n'importe quel forme de contour :
    on extrait les points de contour, puis on les ordonne, par exemple on crée un tableau ordonné x[] qui contient les abscisse des pixels du contour, un autre tableau ordonné y[] qui contient les ordonnées du contour, ça c'est faisable.

    Mais
    Comment on peut trouver une relation entre les x[] pour créer la fonction x(u) ?
    de même comment on peut trouver une relation entre les x[] pour créer la fonction y(u) ?

  14. #14
    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 bilzzbenzbilz Voir le message
    Comment on peut trouver une relation entre les x[] pour créer la fonction x(u) ?
    de même comment on peut trouver une relation entre les x[] pour créer la fonction y(u) ?
    (x[],y[]) forme ta fonction.

  15. #15
    Membre régulier
    Inscrit en
    Décembre 2008
    Messages
    127
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 127
    Points : 70
    Points
    70
    Par défaut
    vous voulez dire que les deux tableaux x[] et y[] sont ma fonction f(u) .
    Si c'est oui, d'après l'article MSGPR, comment lisser les des deux fonctions par filtrage passe-bas gaussien d'écart-type σ .

  16. #16
    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

    oui, c'est bien ta fonction.

    Pour le lissage, regarde les filtres 1D, il y a pas mal de discussion dans la forum.
    C'est de toute façon un filtrage par convolution de dimension 1 pour lequel le masque est remplit par un noyau Gaussien.

  17. #17
    Membre régulier
    Inscrit en
    Décembre 2008
    Messages
    127
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 127
    Points : 70
    Points
    70
    Par défaut
    Bonsoir toto13.

    Concernant les filtres 1d, j'ai compris comment faire la convolution, mais :
    Question 1: Comment créer le masque gaussien, est ce que par la formule :

    Question 2 : comment choisir la taille du masque ?

    Question 3 : Concernant la normalisation de u, j'ai pas trouvé une idée comment normaliser le u dans [0,2*pi] d'ailleur je ne sais même pas pourquoi? Merci pour votre aide.

  18. #18
    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,

    - Q1 - La formule ne s'affiche pas Pour créer un filtre Gaussien.

    - Q2 - euh... sais pas J'aurai tendance à dire qu'il faut poser la question à l'auteur ou sinon demander à quelqu'un qui comprend mieux l'anglais que nous

    - Q3 - J'ai déjà répondu à cette question => Un produit en croix

  19. #19
    Membre régulier
    Inscrit en
    Décembre 2008
    Messages
    127
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 127
    Points : 70
    Points
    70
    Par défaut
    Citation Envoyé par ToTo13 Voir le message
    Un produit en croix
    J'ai pas compris.

  20. #20
    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
    Ben alors... on ne sait plus faire un produit en croix

    Tu as un intervalle de valeurs par pas de 1 entre [0, N], avec N le nombre de points de contour. Et tu veux que ces valeurs s'étalent sur [0,2Pi].
    Donc pour tous les points p de ton intervalle : x = p * 2Pi / N (attention aux erreurs d'arrondi). Ainsi tu auras la valeur de p sur l'intervalle [0,2Pi].

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. combinaison de descripteur de forme
    Par sannounna dans le forum MATLAB
    Réponses: 1
    Dernier message: 04/09/2012, 14h49
  2. descripteur de forme Moment de Zernike
    Par sannounna dans le forum Images
    Réponses: 0
    Dernier message: 02/11/2011, 14h55
  3. Descripteur de forme : les moments
    Par Adem84 dans le forum Traitement d'images
    Réponses: 10
    Dernier message: 21/03/2010, 11h48
  4. Descripteurs de formes locaux
    Par Adem84 dans le forum Traitement d'images
    Réponses: 1
    Dernier message: 24/12/2009, 17h20
  5. Descripteurs de formes locaux
    Par Invité dans le forum Traitement d'images
    Réponses: 13
    Dernier message: 23/02/2009, 14h30

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