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 des images avec SVM [Débutant]


Sujet :

Images

  1. #1
    Nouveau membre du Club
    Inscrit en
    Décembre 2010
    Messages
    43
    Détails du profil
    Informations forums :
    Inscription : Décembre 2010
    Messages : 43
    Points : 38
    Points
    38
    Par défaut classification des images avec SVM
    salutation

    J'ai un problème
    Je travaille sur l'indexation des images
    J'ai terminé mon vecteur de paramètres (couleur, texture, forme)
    Et maintenant je veux être classés avec le classifieur SVM
    Mais je ne savais pas comment l'utiliser
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    SVMStruct = svmtrain(Training, Group)
    Group = svmclassify(SVMStruct, Sample)
    J'ai essayé mais en vain

    J'ai 3 classe et j'ai une Base des images

    S'il vous plaît Aidez-moi

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

    As tu regardé la documentation de la fonction svmclassify?

  3. #3
    Nouveau membre du Club
    Inscrit en
    Décembre 2010
    Messages
    43
    Détails du profil
    Informations forums :
    Inscription : Décembre 2010
    Messages : 43
    Points : 38
    Points
    38
    Par défaut
    salut

    J'ai vu sur la documentation de la fonction svmclassify?
    Et j'ai essayé, mais je ne pouvais pas atteindre le résultat
    J'ai une base de images, et je tiens à être classés dans la section I appelé
    '' mer ''
    Je veux être classés en fonction de la couleur RGB
    S'il vous plaît aidez-moi

    Je l'ai fait
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    Donnee_base=[32,96,160]; % RGB de image de base
    Donnee_ech =[   0   64   96]; % RGB de image échantillon
     Classe=['mer'];
    Donnee_base'; mettre en vecteur colonne
    Donnee_ech';
    Donnees=[Donnee_base',Donnee_ech'];
    svmStruct = svmtrain(Donnees(:,1),Classe,'showplot',true);
     Classe = svmclassify(svmStruct,Donnees(:,2),'showplot',true);
    Je veux enfin pour me montrer que l'image est dans le Département de la mer ou pas

  4. #4
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par moha_namb
    svmStruct = svmtrain(Donnees(:,1),Classe,'showplot',true);
    la fonction svmtrain considère les lignes comme des données différentes, donc il faut lui rentrer en premier argument une matrice de taille Nx3, et en 2ème argument une variable cell de longueur N.
    De même pour la fonction svmclassify, il faudra lui fournir une matrice Mx3.

  5. #5
    Nouveau membre du Club
    Inscrit en
    Décembre 2010
    Messages
    43
    Détails du profil
    Informations forums :
    Inscription : Décembre 2010
    Messages : 43
    Points : 38
    Points
    38
    Par défaut
    ok j'ai ecrit le code de classe pour 3 lignes de meme taille de Donnee;

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    Donnee_base=[32,96,160]; % RGB de image de base
    Donnee_ech =[   0   64   96]; % RGB de image échantillon
     Classe=['mer';'mer';'mer'];
    Donnee_base'; mettre en vecteur colonne
    Donnee_ech';
    Donnees=[Donnee_base',Donnee_ech'];
    svmStruct = svmtrain(Donnees(:,1),Classe,'showplot',true);
     Classe = svmclassify(svmStruct,Donnees(:,2),'showplot',true);
    Mais il ya encore un problème
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    Warning: The display option can only plot 2D training data.
    > In svmtrain at 304
      In svmexp at 7
    Warning: No figure was created during training so no ShowPlot option does not work.
    > In svmclassify at 130
      In svmexp at 8

  6. #6
    Invité
    Invité(e)
    Par défaut
    Non, tu n'a pas compris ce que je t'ai dit, tu veux (je présume) faire la classification d'un pixel selon les trois couleurs rgb d'un pixel.
    Donc pour faire l'apprentissage, tu rentres des LIGNES [r g b] correspondant aux données 'mer', et 'pas mer' de référence.
    Tu auras donc par exemple:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Donnees_base   Classe
    [32,96,160]    'mer'
    [31,95,157]    'mer'
    ...
    [250 240 20]   'pas mer'
    [246 232 19]   'pas mer'
    ...
    Tu rentreras alors une matrice Donnees_base de Nx3 valeurs comme ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    svmStruct = svmtrain(Donnees_base,Classe,'showplot',true);
    Puis tu soumets un vecteur expérimental Donnee_ech à la fonction svmclassify afin de classifier ses éléments:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Classe_ech = svmclassify(svmStruct,Donnee_ech,'showplot',true);

    Remarque:
    Donnee_base'; % mettre en vecteur colonne
    N'a aucune utilité:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Donnee_base = Donnee_base'; % mettre en vecteur colonne

  7. #7
    Invité
    Invité(e)
    Par défaut
    Pour ce qui est du warning
    Warning: The display option can only plot 2D training data.
    Il est assez explicite si les données rentrées ont un nombre de colonnes différent de 2, il ne peut les afficher dans une figure.
    Tes Donnees_base étant des 1D (les miennes Nx3), il ne pourra donc répondre à la valeur true de 'showplot'.

  8. #8
    Nouveau membre du Club
    Inscrit en
    Décembre 2010
    Messages
    43
    Détails du profil
    Informations forums :
    Inscription : Décembre 2010
    Messages : 43
    Points : 38
    Points
    38
    Par défaut
    salut j'ai fais ce code

    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
     
    Donnees_base=[32 96 160];  % classe mer
     
    Donnee_ech(1,:) =[   220  164  06];
    Donnee_ech(2,:) =[   42   66  154];
    Donnee_ech(3,:) =[   22   82  146];
     
    Classe={'mer','pas mer'}
     
    for i=1:3
     
         svmStruct = svmtrain(Donnees_base,Classe,'showplot',true);
     
         Classe_ech = svmclassify(svmStruct,Donnee_ech(i,:),'showplot',true);
    end
    mais j'arrive pas classer mes images en 'mer' ou 'pas mer'
    je veux classer les images d'echantillon dans ''classe mer'' ou ''classe pas mer''

    merci d'avance...

  9. #9
    Invité
    Invité(e)
    Par défaut
    Ici tu ne fournis qu'une seule valeur de référence, pour faire l'apprentissage, il faut que tu lui en fournisses beaucoup plus qu'un, ainsi que des données de terre, forêt, ou autre ... comme je te l'ai montré dans mon post#6.

    Remarque: ta boucle for est inutile ici
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    svmStruct = svmtrain(Donnees_base,Classe,'showplot',false); 
    Classe_ech = svmclassify(svmStruct,Donnee_ech,'showplot',false);

  10. #10
    Nouveau membre du Club
    Inscrit en
    Décembre 2010
    Messages
    43
    Détails du profil
    Informations forums :
    Inscription : Décembre 2010
    Messages : 43
    Points : 38
    Points
    38
    Par défaut
    j'ai cette erreur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    Donnees_base= 32 96 160
    Donnee_ech =   220  164  06
     
    Classe = 
     
        'mer'    'pas mer'
     
    ??? Error using ==> svmtrain at 190
    GROUP and TRAINING must have the same number of rows.
     
    Error in ==> svmexp at 62
    svmSt
    j'arrive pas de faire cette classification
    aidez moi

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

Discussions similaires

  1. classification des images SVM
    Par DeepKdd dans le forum Images
    Réponses: 1
    Dernier message: 22/06/2015, 20h02
  2. [Débutant] Classification des images avec SVM
    Par FatiIpo dans le forum MATLAB
    Réponses: 0
    Dernier message: 09/07/2014, 01h10
  3. Réponses: 2
    Dernier message: 27/03/2011, 19h15
  4. Class de gestion des images avec rotation
    Par Johnny Boy dans le forum MFC
    Réponses: 1
    Dernier message: 03/05/2005, 11h54
  5. Passer des Image avec SOAP
    Par pef421 dans le forum XML/XSL et SOAP
    Réponses: 2
    Dernier message: 01/03/2004, 21h32

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