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

Images Discussion :

classification d'image avec Kmeans [Débutant]


Sujet :

Images

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Décembre 2010
    Messages
    43
    Détails du profil
    Informations forums :
    Inscription : Décembre 2010
    Messages : 43
    Par défaut classification d'image avec Kmeans
    salut
    J'ai une base d'images
    Et je veux utiliser le classifieur kmeans pour classer en 3 classes
    (mer foret urbain)
    Mais je suis debutant et je veux aider

  2. #2
    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
    Par défaut
    Bonjour,

    quelle est la question precisement?
    Montre-nous ce que tu as commence a coder.
    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.

  3. #3
    Membre averti
    Inscrit en
    Décembre 2010
    Messages
    43
    Détails du profil
    Informations forums :
    Inscription : Décembre 2010
    Messages : 43
    Par défaut
    Je fais
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    xy{1} %  les caractéristiques des images foret. 131 img
    xy{2} % les caractéristiques des images mer. 120 img
    xy{3} % les caractéristiques des images urbain. 100 img
    % xy est une matrice de caractéristiques de 18 colonne et (131 ou 120 ou 100)lignes  %
    % mettre les caractéristiques de toutes les images en 1 vecteur
    t=[xy{1};xy{2};xy{3}];
    % faire la classification en 3 classes
    [idx1 dv1] = kmeans(t,k,...
                        'Distance','city',...
                        'Replicates',1);
     idx1;
    Mais je ne savais pas comment obtenir le taux de classification

    le taux est calculé comme ça
                foret	mer	urbain
    img foret   n11		x	x
    img mer     x		n22  	x
    img urbain  x     	x      	n33
    351=somme des images(foret+mer+urbain)

    Mais je ne sais pas comment distinguer les 3 classes
    merci

  4. #4
    Membre averti
    Inscrit en
    Décembre 2010
    Messages
    43
    Détails du profil
    Informations forums :
    Inscription : Décembre 2010
    Messages : 43
    Par défaut
    apres je fais ca
    j'ai sommer les 3 xy{1:3} dans t

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
     
    t=[xy{1};xy{2};xy{3}];
    % faire la classification en 3 class
    [idx1 dv1] = kmeans(t,k,...
                        'Distance','city',...
                        'Replicates',1);
     v=[0 ,131, 251 ,351];
     for g=1:3
    y(1:3)=zeros;
     for i=v(g)+1:v(g+1)
         y(idx1(i))=y(idx1(i))+1;
     end
    yy(g,:)=y;
    end
    % r = taux de classifi
    r=sum(diag(yy))/351*100
    Ce processus m'a donné un résultat, mais le résultat n'est pas fixé
    il n'est pas stable.
    Y at-il une solution

  5. #5
    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
    Par défaut
    Citation Envoyé par moha_namb Voir le message
    Ce processus m'a donné un résultat, mais le résultat n'est pas fixé
    il n'est pas stable.
    C'est normal, c'est le principe de la méthode utilisée : les centres des clusters sont choisis aléatoirement parmi tes vecteurs, ce qui explique que le résultat peut-être vraiment différents à chaque fois que tu lances ton programme. Pour plus d'explications, voir l'option 'start' de la fonction. Une première idée est d'utiliser une matrice contenant un exemple de chacune de tes classes.
    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.

  6. #6
    Membre averti
    Inscrit en
    Décembre 2010
    Messages
    43
    Détails du profil
    Informations forums :
    Inscription : Décembre 2010
    Messages : 43
    Par défaut
    bonjour
    Je l'ai fait comme vous dites
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
     
    matrix(:,:,1)=xy1t(1,:); % exemple de 1 classe
    matrix(:,:,2)=xy2t(1,:); % exemple de 2 classe
    matrix(:,:,3)=xy3t(1,:); % exemple de 3 classe
     
    t=[xy{1};xy{2};xy{3}];
    % faire la classification en 3 class
    [idx1 dv1] = kmeans(t,k,...
                        'Distance','city',...
                        'Replicates',3,...
                        'start',matrix););
     v=[0 ,131, 251 ,351];
     for g=1:3
    y(1:3)=zeros;
     for i=v(g)+1:v(g+1)
         y(idx1(i))=y(idx1(i))+1;
     end
    yy(g,:)=y;
    end
    % r = taux de classifi
    r=sum(diag(yy))/351*100
    mais il y a cette erreur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    ??? Error using ==> kmeans at 214
    The 'Start' matrix must have the same number of columns as X.
     
    Error in ==> Untitled at 26
    [idx1 dv1] = kmeans(t,k,...
    Comment regler
    merci

  7. #7
    Invité
    Invité(e)
    Par défaut
    Bonsoir,

    Le message d'erreur est je pense assez explicite:
    'Start' matrix must have the same number of columns as X.
    Autrement-dit la matrice matrix que tu spécifies en faisant 'start',matrix doit avoir le même nombre de colonnes que ton autre entrée t.

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

Discussions similaires

  1. [Débutant] Classification des images avec SVM
    Par FatiIpo dans le forum MATLAB
    Réponses: 0
    Dernier message: 09/07/2014, 01h10
  2. classification des graphes avec kmeans
    Par syki.mail dans le forum MATLAB
    Réponses: 0
    Dernier message: 02/02/2014, 14h15
  3. [Débutant] classification des images avec SVM
    Par moha_namb dans le forum Images
    Réponses: 9
    Dernier message: 26/04/2011, 00h48
  4. Réponses: 2
    Dernier message: 27/03/2011, 19h15
  5. classification avec kmeans
    Par automa dans le forum Images
    Réponses: 17
    Dernier message: 21/05/2010, 11h11

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