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

MATLAB Discussion :

KMeans à n-dimension


Sujet :

MATLAB

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    95
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 95
    Points : 62
    Points
    62
    Par défaut KMeans à n-dimension
    Bonjour à tous,

    Je cherche à savoir si quelqu'un d'entre vous connait un algorithme des kmeans qui s'utilise à n-dimensions. Je m'explique.
    Habituellement, l'algorithme des kmeans classique fonctionne avec un vecteur à deux dimensions et un nombre p de classes. Les deux dimensions du vecteur 'sample' sont le nombre de composantes d'images (par exemple) sur une dimension et le nombre d'échantillon sur l'autre. On travaille donc avec les valeurs des pixels.
    Moi, j'aimerai travailler non plus avec une seule valeur de pixel, mais avec n-valeurs, en gros, au lieu de prendre la valeur du pixel, je préférerai utiliser par exemple l'histogramme de son voisinage !

    Est-ce que quelqu'un d'entre vous peut m'orienter ? Je ne cherche pas forcément un code tout fait, mais juste des pistes (articles, notamment).

    Merci d'avance à tous.

  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,

    Citation Envoyé par Pg043 Voir le message
    Habituellement, l'algorithme des kmeans classique fonctionne avec un vecteur à deux dimensions et un nombre p de classes.
    Euh... NON.


    Citation Envoyé par Pg043 Voir le message
    Je cherche à savoir si quelqu'un d'entre vous connait un algorithme des kmeans qui s'utilise à n-dimensions.
    ...
    Est-ce que quelqu'un d'entre vous peut m'orienter ? Je ne cherche pas forcément un code tout fait, mais juste des pistes (articles, notamment).
    .
    Tout les articles relatifs aux k-means sont traités en N-dimensions. Il te suffit d'utiliser la distance entre deux points de dimension N.
    Regarde ma contribution !
    Consignes aux jeunes padawans : une image vaut 1000 mots !
    - Dans ton message respecter tu dois : les règles de rédaction et du forum, prévisualiser, relire et corriger TOUTES les FAUTES (frappes, sms, d'aurteaugrafe, mettre les ACCENTS et les BALISES) => ECRIRE clairement et en Français tu DOIS.
    - Le côté obscur je sens dans le MP => Tous tes MPs je détruirai et la réponse tu n'auras si en privé tu veux que je t'enseigne.(Lis donc ceci)
    - ton poste tu dois marquer quand la bonne réponse tu as obtenu.

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    95
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 95
    Points : 62
    Points
    62
    Par défaut
    Ok, merci, je vais regarder ça !

    Ok, je réengage la discussion, car je travaille avec Matlab.
    Dans la doc de kmeans, il est bien écris que la matrice X doit être de dimension n-by-p, soit une matrice à deux dimensions...
    Comment faire pour avoir une matrice à trois dimensions ?
    Merci d'avance.

  4. #4
    Modérateur

    Homme Profil pro
    Ingénieur en calculs scientifiques
    Inscrit en
    Août 2007
    Messages
    4 639
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Ingénieur en calculs scientifiques

    Informations forums :
    Inscription : Août 2007
    Messages : 4 639
    Points : 7 614
    Points
    7 614
    Par défaut
    Salut,

    une matrice nxp, n pour le nombre de points et p pour le nombre de variables pour chaque point. Ce n'est pas ce que tu souhaites?
    Pour une bonne utilisation des balises code c'est ici!
    Petit guide du voyageur MATLABien : Le forum La faq Les tutoriels Les sources


    La nature est un livre écrit en langage mathématique. Galilée.

  5. #5
    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
    Vu que ça devient un problème MatLab, je transfère...
    Consignes aux jeunes padawans : une image vaut 1000 mots !
    - Dans ton message respecter tu dois : les règles de rédaction et du forum, prévisualiser, relire et corriger TOUTES les FAUTES (frappes, sms, d'aurteaugrafe, mettre les ACCENTS et les BALISES) => ECRIRE clairement et en Français tu DOIS.
    - Le côté obscur je sens dans le MP => Tous tes MPs je détruirai et la réponse tu n'auras si en privé tu veux que je t'enseigne.(Lis donc ceci)
    - ton poste tu dois marquer quand la bonne réponse tu as obtenu.

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    95
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 95
    Points : 62
    Points
    62
    Par défaut
    Citation Envoyé par magelan Voir le message
    Salut,

    une matrice nxp, n pour le nombre de points et p pour le nombre de variables pour chaque point. Ce n'est pas ce que tu souhaites?
    Ben sur n, on a le nombre de points, on est d'accord, mais sur p, on a le nombre de sample. Par exemple, dans le cas de la démo de kmeans dans matlab, on a sur n le nombre de pixels de l'image et sur p, les composantes S et V de ces pixels.
    Or dans mon cas, je ne souhaite pas utiliser seulement un seul pixel, mais au lieu de ça, utiliser plusieurs valeurs.
    J'espère que je me fais comprendre...

  7. #7
    Modérateur

    Homme Profil pro
    Ingénieur en calculs scientifiques
    Inscrit en
    Août 2007
    Messages
    4 639
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Ingénieur en calculs scientifiques

    Informations forums :
    Inscription : Août 2007
    Messages : 4 639
    Points : 7 614
    Points
    7 614
    Par défaut
    De quel démo parles-tu? Il y en a plusieurs, et je n'ai pas trouvé une démo qui traite d'image?
    Pour une bonne utilisation des balises code c'est ici!
    Petit guide du voyageur MATLABien : Le forum La faq Les tutoriels Les sources


    La nature est un livre écrit en langage mathématique. Galilée.

  8. #8
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    95
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 95
    Points : 62
    Points
    62
    Par défaut
    Citation Envoyé par magelan Voir le message
    De quel démo parles-tu? Il y en a plusieurs, et je n'ai pas trouvé une démo qui traite d'image?
    Image Processing Toolbox > Images Segmentation > Color-based Segmentation Using K-Means Clustering !

  9. #9
    Modérateur

    Homme Profil pro
    Ingénieur en calculs scientifiques
    Inscrit en
    Août 2007
    Messages
    4 639
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Ingénieur en calculs scientifiques

    Informations forums :
    Inscription : Août 2007
    Messages : 4 639
    Points : 7 614
    Points
    7 614
    Par défaut
    Ok! Je regardais les demos de la statistic toolbox...

    Bon, donc au lieu d'utiliser les informations sur la couleur, tu voudrais utiliser un histogramme sur le voisinage de chaque pixel, c'est bien cela? Comment calcules-tu la distance entre 2 histogrammes pour effectuer la classification?
    Pour une bonne utilisation des balises code c'est ici!
    Petit guide du voyageur MATLABien : Le forum La faq Les tutoriels Les sources


    La nature est un livre écrit en langage mathématique. Galilée.

  10. #10
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    95
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 95
    Points : 62
    Points
    62
    Par défaut
    Citation Envoyé par magelan Voir le message
    Ok! Je regardais les demos de la statistic toolbox...

    Bon, donc au lieu d'utiliser les informations sur la couleur, tu voudrais utiliser un histogramme sur le voisinage de chaque pixel, c'est bien cela? Comment calcules-tu la distance entre 2 histogrammes pour effectuer la classification?
    Exactement !
    A vrai dire, je pensais utiliser la distance L1 ou L2, disons que j'essaierai les différentes distances !

  11. #11
    Modérateur

    Homme Profil pro
    Ingénieur en calculs scientifiques
    Inscrit en
    Août 2007
    Messages
    4 639
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Ingénieur en calculs scientifiques

    Informations forums :
    Inscription : Août 2007
    Messages : 4 639
    Points : 7 614
    Points
    7 614
    Par défaut
    Du coup, pour chaque pixel tu as un vecteur de p composantes, avec p le nombre de valeurs dans ton histogrammes, et si n est le nombre de pixels, ta matrice d''entrée des k-means est de dimension nxp...
    Pour une bonne utilisation des balises code c'est ici!
    Petit guide du voyageur MATLABien : Le forum La faq Les tutoriels Les sources


    La nature est un livre écrit en langage mathématique. Galilée.

  12. #12
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    95
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 95
    Points : 62
    Points
    62
    Par défaut
    Citation Envoyé par magelan Voir le message
    Du coup, pour chaque pixel tu as un vecteur de p composantes, avec p le nombre de valeurs dans ton histogrammes, et si n est le nombre de pixels, ta matrice d''entrée des k-means est de dimension nxp...
    Ah mais on s'est mal compris !
    Effectivement, c'est ce que je veux, sauf que je veux continuer d'utiliser les deux composantes couleurs que sont S et V (de HSV), d'où l'introduction d'une nouvelle dimension !!!

  13. #13
    Modérateur

    Homme Profil pro
    Ingénieur en calculs scientifiques
    Inscrit en
    Août 2007
    Messages
    4 639
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Ingénieur en calculs scientifiques

    Informations forums :
    Inscription : Août 2007
    Messages : 4 639
    Points : 7 614
    Points
    7 614
    Par défaut
    yep, j'étais parti sur un seul histogramme...

    Même si ce n'est pas précisément ce que tu veux faire, as-tu essayé de concaténer les 2 histogrammes pour chaque point?

    Après ça dépend vraiment de ton critère sur la distance mais avec des distances L1 ou L2, cela devrait être équivalent, non?
    Pour une bonne utilisation des balises code c'est ici!
    Petit guide du voyageur MATLABien : Le forum La faq Les tutoriels Les sources


    La nature est un livre écrit en langage mathématique. Galilée.

  14. #14
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    95
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 95
    Points : 62
    Points
    62
    Par défaut
    Citation Envoyé par magelan Voir le message
    yep, j'étais parti sur un seul histogramme...

    Même si ce n'est pas précisément ce que tu veux faire, as-tu essayé de concaténer les 2 histogrammes pour chaque point?

    Après ça dépend vraiment de ton critère sur la distance mais avec des distances L1 ou L2, cela devrait être équivalent, non?
    Mouai, je n'y avais pas forcément pensé, mais je vais essayer ! Par contre, je ne suis pas sûr que cela soit mathématiquement juste...
    Merci en tout cas.

Discussions similaires

  1. Problème de dimension (méthode Kmeans)
    Par n4pkin dans le forum MATLAB
    Réponses: 4
    Dernier message: 02/07/2010, 11h54
  2. [VB6] [Graphisme] Dimensions d'une image au saving
    Par jeanseb dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 14/12/2002, 19h09
  3. Dimensions des colonnes d'un TDBGrid
    Par osmose22 dans le forum C++Builder
    Réponses: 4
    Dernier message: 11/12/2002, 11h27
  4. Réponses: 4
    Dernier message: 03/12/2002, 16h47
  5. Réponses: 4
    Dernier message: 13/05/2002, 16h43

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