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 :

Extraire des informations intermédiaires lors de la détection de personnes Via OpenCV


Sujet :

OpenCV

  1. #1
    Membre à l'essai
    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2012
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Septembre 2012
    Messages : 12
    Points : 11
    Points
    11
    Par défaut Extraire des informations intermédiaires lors de la détection de personnes Via OpenCV
    Bonjour,
    Je suis entrain de concevoir une application qui détecte des personnes sur un bateau, pour cela je réussi à les détecter, mais je veux améliorer cette détection, pour cela je cherche à extraire des informations intermédiaires lors de la phase de détection, càd avoir des informations sur les fenêtres de détection à chaque étage de la cascade de Haar, récupérer les fenêtres qui ont été rejetées et qui contiennent des personnes, .... et à la fin je vais fusionner ces données pour améliorer la détection.
    Est ce qu c'est possible de récupérer ces informations?

    MERCI D'AVANCE

  2. #2
    Membre régulier
    Homme Profil pro
    Computer Vision engineer
    Inscrit en
    Mars 2012
    Messages
    65
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Computer Vision engineer
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Mars 2012
    Messages : 65
    Points : 86
    Points
    86
    Par défaut
    La fonction HaarDetectObject donne pas la possibilité d'accéder aux faux positifs..!
    En revanche, ce que tu peux faire, c'est de mettre le flag min_neighbors à une valeur minimal, ce qui va te permettre de récupérer pas mal de candidats, ensuite augmenter ce même paramètre pour garder que les vrais positifs. Bof ça parait assez mécanique, mais ça te permettra d'étudier la pertinence des faux négatifs et d'extraire pas mal d'informations..

    Par contre pour améliorer le taux de détection, ça c'est une autre histoire !

  3. #3
    Membre à l'essai
    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2012
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Septembre 2012
    Messages : 12
    Points : 11
    Points
    11
    Par défaut
    Merci pour ta réponse,
    En fait, je cherche à récupérer les fenêtres rejetées pendant le processus de détection en cascade, parce que parmi ces fenêtres rejetées, ils existent surement des personnes non détectées.
    Est ce que c'est possible de récupérer ces informations?

  4. #4
    Membre régulier
    Homme Profil pro
    Computer Vision engineer
    Inscrit en
    Mars 2012
    Messages
    65
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Computer Vision engineer
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Mars 2012
    Messages : 65
    Points : 86
    Points
    86
    Par défaut
    Justement, tu ne peux pas ! c'est le principe du Boosting, chaque candidat éliminé au niveau d'un étage de la cascade est perdue.. Moi j'ai essayé de voir un peu plus sur la fonction "HaarDetectObject" j'ai pas réussi à modifier quoi que ce soit ! Mais j'ai réussi à récupérer les infos en faisant varier le flag que j'ai cité précédemment .

  5. #5
    Membre à l'essai
    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2012
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Septembre 2012
    Messages : 12
    Points : 11
    Points
    11
    Par défaut
    ReBonjour,
    Mais en modifiant flag, est ce qu'on peut récupérer les coordonnées des fenêtres candidats ou bien des données numériques concernant ces fenêtres ?

  6. #6
    Membre régulier
    Homme Profil pro
    Computer Vision engineer
    Inscrit en
    Mars 2012
    Messages
    65
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Computer Vision engineer
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Mars 2012
    Messages : 65
    Points : 86
    Points
    86
    Par défaut
    Bein oui !

    Exemple d'utilisation de la fonction cvHaarDetectObject:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    CvSeq* objects = cvHaarDetectObjects(
    small_img,
    cascade,
    storage,1.1,
    2,
    0 /*CV_HAAR_DO_CANNY_PRUNING*/,
    cvSize(30, 30)
    );
    Tu traces des rectangles ( ou des cercles..) avec des coordonnées que tu récupères de la structure objets

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    for(int i = 0; i < (objects ? objects->total : 0); i++ ) {
    CvRect* r = (CvRect*)cvGetSeqElem( objects, i );
    cvRectangle(
    img,
    cvPoint(r.x,r.y),
    cvPoint(r.x+r.width,r.y+r.height),
    colors[i%8]
    )
    (Extrait du livre Oreilly)

    Donc en gros ces rectangles là, correspondent à tes cibles, et tu vois bien que t'as toutes les coordonnées !

  7. #7
    Membre à l'essai
    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2012
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Septembre 2012
    Messages : 12
    Points : 11
    Points
    11
    Par défaut
    Merci pour ta réponse,
    Mais comment savoir que ce sont des fenêtre candidat à contenir des personnes?

  8. #8
    Membre régulier
    Homme Profil pro
    Computer Vision engineer
    Inscrit en
    Mars 2012
    Messages
    65
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Computer Vision engineer
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Mars 2012
    Messages : 65
    Points : 86
    Points
    86
    Par défaut
    J'ai l'impression que t'as pas compris la démarche .

    Je m'explique, quand tu mets ton min_neighbors à un niveau faible (= 1 par exemple), la fonction te récupère 20 candidats (par exemple), quand tu l'augmentes (à 3) ça te donne 7 candidats ( Je te donne des chiffres juste pour t'illustrer la démarche) et bein, les 13 qui ont été évités par la fonction représentent, justement les fenêtres que tu cherches.

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

Discussions similaires

  1. [RegEx] Extraire des informations d'un texte
    Par mmansour79 dans le forum Langage
    Réponses: 2
    Dernier message: 08/12/2006, 11h41
  2. Extraire des informations précises d'un fichier
    Par cameleon33 dans le forum VB 6 et antérieur
    Réponses: 7
    Dernier message: 14/10/2006, 13h40
  3. Extraire des informations d'une page web
    Par lr dans le forum Entrée/Sortie
    Réponses: 3
    Dernier message: 28/03/2006, 12h38
  4. [RegEx] Extraire des informations d'une requête SQL
    Par XtofRoland dans le forum Langage
    Réponses: 13
    Dernier message: 07/03/2006, 15h59
  5. Existe t-il un parseur HTML pou extraire des informations?
    Par danje dans le forum API standards et tierces
    Réponses: 1
    Dernier message: 31/10/2005, 11h55

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