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

OpenCV Discussion :

Chaîne complète d'entraînement


Sujet :

OpenCV

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    237
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 237
    Par défaut Chaîne complète d'entraînement
    Bonjour,

    J'aurais besoin de votre aide pour me servir d'opencv.

    J'ai fais mes répertoires d'images négatives et positives.
    Ensuite, j'applique ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    createtrainsamples.pl <positives.dat> <negatives.dat> <vec_output_dir>
    J'obtiens un répertoire contenant des fichiers vec.

    Puis, je fais :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    createtestsamples.pl <positives.dat> <negatives.dat> <output_dir>
    Je suppose ici que mon output_dir est le meme que mon vec_output_dir? ou pas forcement?

    J'obtiens un répertoire contenant des répertoires au nom de mes images contenant des images ayant des coordonnées en nom (si j'ai bien compris)

    Enfin, je lance :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    opencv_haartraining -data haarcascade -vec training2/ -bg negatives.dat
    Et j'obtiens une erreur.
    Je ne sais pas quoi mettre dans le -data, ni dans le -vec...

    voici l'erreur :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Parent node: NULL
     
    *** 1 cluster ***
    OpenCV Error: Assertion failed (elements_read1 == 1 && elements_read2 == 1 && elements_read3 == 1 && elements_read4 == 1) in icvGetHaarTrainingDataFromVec, file opencv/apps/haartraining/cvhaartraining.cpp, line 1929
    terminate called after throwing an instance of 'cv::Exception'
      what():  opencv/apps/haartraining/cvhaartraining.cpp:1929: error: (-215) elements_read1 == 1 && elements_read2 == 1 && elements_read3 == 1 && elements_read4 == 1 in function icvGetHaarTrainingDataFromVec
    Help^^

    Merci

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    237
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 237
    Par défaut
    En changeant ma ligne de commande en ceci :

    opencv_haartraining -data opencv/data/haarcascades/ -vec training/outputImg0.jpg.vec -bg negatives.dat nonsym -mem 512 -mode ALL -npos 18 -nneg 5 -nstages 20 nsplits 2 -minhitrate 0.999 -maxfalsealarm 0.5
    J'obtiens l'erreur :

    *** 1 cluster ***
    OpenCV Error: Unspecified error (Vec file sample size mismatch) in icvGetHaarTrainingDataFromVec, file opencv/apps/haartraining/cvhaartraining.cpp, line 1936

    PS : je fais de la detection de voiture.

  3. #3
    Membre éclairé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2012
    Messages
    43
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2012
    Messages : 43
    Par défaut
    Salut,

    Pour ta ligne en perl vec est un dossier, pour la ligne de commande de OpenCV c'est un fichier.
    Essais d'utiliser opencv_createsamples puis opencv_haartraining, fournis par OpenCV.
    ou si t'as vraiment besoin de ton script perl y'a ce tutorial qui à l'air bien.

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    237
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 237
    Par défaut
    Pour opencv_createsamples, je dois le lancer autant de fois que j'ai d'image positive?

    que dois je mettre dans -vec?

  5. #5
    Membre éclairé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2012
    Messages
    43
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2012
    Messages : 43
    Par défaut
    Non tu ne le lances qu'une seule fois, les paramètres permettent de travailler sur une seule image ou sur un ensemble de nombreuses images.
    En paramètre à -vec tu saisis un nom de fichier, opencv_createsamples va écrire dedans et opencv_traincascade (ou opencv_haartraining) va utiliser ce fichier précédemment initialisé, donc dans les 2 fonctions tu passes la même chose en paramètre.

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    237
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 237
    Par défaut
    Merci de ton aide mais j'ai pas tout saisi^^

    ok pour le vec

    quels sont les autres parametres?
    info?
    img?
    bg?

    Merci beaucoup

Discussions similaires

  1. [RegEx] Extraire une chaîne complète contenant un mot particulier
    Par Doc_xhtml dans le forum Langage
    Réponses: 2
    Dernier message: 06/09/2011, 10h59
  2. Recherche d'une sous-chaîne complète dans une chaîne de caractères
    Par missmiss89 dans le forum PHP & Base de données
    Réponses: 11
    Dernier message: 06/07/2011, 16h26
  3. Réponses: 2
    Dernier message: 09/11/2006, 22h53
  4. Réponses: 16
    Dernier message: 24/10/2006, 21h37
  5. [Regex] reconnaitre une chaîne non complète
    Par EdoBvD dans le forum Collection et Stream
    Réponses: 19
    Dernier message: 13/07/2004, 17h14

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