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

C++ Discussion :

Détection d'objet, de mouvement


Sujet :

C++

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 9
    Points : 4
    Points
    4
    Par défaut Détection d'objet, de mouvement
    Bonjour,

    Je suis actuellement étudiant dans une école d'ingénieur dans le domaine du multimédia.
    Mon projet tuteuré (que je dois avoir fini dans 3 semaines) porte sur la détéction de mouvement de masse pendant un concert.
    En résumé, chaque personne d'un public (20/100 personnes) portera des brassarts de couleurs (rouge et vert) aux mains
    et je dois être capable de les detecter et d'interpreter certains états (bras levées, sérées) et quelques mouvements (de droite à gauche, de l'avant vers l'arrière)
    Les images seront capturés à l'aide de deux caméras de bonne qualité.
    Le tout doit être côdé en C++ sur Linux.

    Je fais des recherches pour savoir quelle librairies utilisées et pour l'instant je me suis orienté vers openCV. (D'autres suggestions ?)
    Je cherche à détecter les brassards cependant je ne sais pas vraiment par quoi commencer... . j'ai vu sur le net qu'on parle de "blob detection", dois-je m'orienter vers cela ?

    Merci d'avance,
    Bye

  2. #2
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 23
    Points : 31
    Points
    31
    Par défaut
    Salut,

    OpenCV est sans aucun doute la meilleure librairie de traitement d'image OpenSource que l'on peut trouver sur Internet, donc partir là dessus me semble tout à fait judicieux...

    Pour la détection de mouvement de foule, si j'était toi je regarderai plustot le flux optique ou "optical flow" en anglais... Si ta caméra est fixe, tu devrais facilement obtenir des résultats intéressants avec cette méthode.

    Pour ce qui est de la détection de brassard, sans vouloir t'effrayer, je pense que ce n'est pas possible dans les conditions d'éclairage d'un concert...
    Si les conditions d'éclairage sont bonne, et que le brassard a une couleur fixe (comme cela semble être le cas), tu peux essayer de travailler sur de la détection de blob... Il serait bien que tu montre le types d'images sur lesquelle tu travailles, je pourrai ainsi t'en dire plus.

    Cordialement,
    ------------------------------------
    Adrien BARRAL
    REETI's development team
    http://www.reeti.fr

  3. #3
    Membre chevronné
    Avatar de poukill
    Profil pro
    Inscrit en
    Février 2006
    Messages
    2 155
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 2 155
    Points : 2 107
    Points
    2 107
    Par défaut
    Bonjour,

    Personnellement, je partirai des données du problème:
    - detection : clairement basé sur la couleur, en cherchant le vert et le rouge.
    - suivi : à base de kalman ou bien particle filtering...

  4. #4
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 23
    Points : 31
    Points
    31
    Par défaut
    C'est bien que tu penses ça poukill, il va y avoir un débat...
    Personellement, je trouve que c'est la plai de travailler sur les couleurs quand on cherche à faire quelque chose de robuste, surtout si les conditions d'éclairage ne sont pas maitrisée... Personellement je travaille toujours sur des images en niveau de gris...

    On en sera plus quand on verra les images que tu cherches à traiter...

    Adrien BARRAL

    ----------------------------------------------
    REETI's development team
    http://www.reeti.fr

  5. #5
    Expert confirmé

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2007
    Messages
    1 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 895
    Points : 4 551
    Points
    4 551
    Par défaut
    Citation Envoyé par abarral Voir le message
    C'est bien que tu penses ça poukill, il va y avoir un débat...
    Personellement, je trouve que c'est la plai de travailler sur les couleurs quand on cherche à faire quelque chose de robuste, surtout si les conditions d'éclairage ne sont pas maitrisée... Personellement je travaille toujours sur des images en niveau de gris...

    On en sera plus quand on verra les images que tu cherches à traiter...

    Adrien BARRAL

    ----------------------------------------------
    REETI's development team
    http://www.reeti.fr
    Dans le passé, j'ai travaillé sur des images en HSL et obtenu de bons résultats. L'intérêt est que le rouge a le même H, quelque soit la saturation et la luminosité. En prenant H ∊ [min,max], on peut se fixer sur une couleur déterminée.

    La conversion RGB -> HSL est par contre un peu complexe, mais le traitement reste quand même assez rapide.
    [FAQ des forums][FAQ Développement 2D, 3D et Jeux][Si vous ne savez pas ou vous en êtes...]
    Essayez d'écrire clairement (c'est à dire avec des mots français complets). SMS est votre ennemi.
    Evitez les arguments inutiles - DirectMachin vs. OpenTruc ou G++ vs. Café. C'est dépassé tout ça.
    Et si vous êtes sages, vous aurez peut être vous aussi la chance de passer à la télé. Ou pas.

    Ce site contient un forum d'entraide gratuit. Il ne s'use que si l'on ne s'en sert pas.

  6. #6
    Candidat au Club
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 9
    Points : 4
    Points
    4
    Par défaut
    Merci pour vos réponses rapides

    J'ai trouvé un librairie de blob detection ici http://code.google.com/p/cvblob/ qui a l'air cool, mais impossible de la compiler

    J'obtiens cette erreur :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
      Could not find module FindOpenCV.cmake or a configuration file for package
      OpenCV.
     
      Adjust CMAKE_MODULE_PATH to find FindOpenCV.cmake or set OpenCV_DIR to the
      directory containing a CMake configuration file for OpenCV.  The file will
      have one of the following names:
     
        OpenCVConfig.cmake
        opencv-config.cmake
    Le README parle de
    cmake . -DOpenCV_DIR=<path_to_OpenCV> et de
    cmake . -DCMAKE_INSTALL_PREFIX=<installation_path>

    Mais le problème c'est que je ne trouve pas le fichier "FindOpenCV.cmake" sur mon ordinateur...

    Que faire ?!

  7. #7
    Expert confirmé

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2007
    Messages
    1 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 895
    Points : 4 551
    Points
    4 551
    Par défaut
    As tu installé le package développeur pour OpenCV ? Si tu es sous Windows, ça risque d'être un peu plus complexe, car il faudra copier le fichier cmake dans le répertoire des modules de CMake.
    [FAQ des forums][FAQ Développement 2D, 3D et Jeux][Si vous ne savez pas ou vous en êtes...]
    Essayez d'écrire clairement (c'est à dire avec des mots français complets). SMS est votre ennemi.
    Evitez les arguments inutiles - DirectMachin vs. OpenTruc ou G++ vs. Café. C'est dépassé tout ça.
    Et si vous êtes sages, vous aurez peut être vous aussi la chance de passer à la télé. Ou pas.

    Ce site contient un forum d'entraide gratuit. Il ne s'use que si l'on ne s'en sert pas.

  8. #8
    Membre expert
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    1 415
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2007
    Messages : 1 415
    Points : 3 156
    Points
    3 156
    Par défaut
    Citation Envoyé par Emmanuel Deloget Voir le message
    As tu installé le package développeur pour OpenCV ? Si tu es sous Windows, ça risque d'être un peu plus complexe, car il faudra copier le fichier cmake dans le répertoire des modules de CMake.
    Ou compiler soi même OpenCV, ce que j'ai fait, ça marche super bien et on est sûr d'avoir des binaires qui vont bien s'entendre avec les outils/compilos qu'on utilise.

    Sinon pour aider CMake à trouver ses petits, la bonne méthode reste quand même de lancer dans un environnement de dev cmake-gui. Si tu rencontres vraiment des soucis sur le sujet, je pense qu'un autre post serait plus indiqué.
    Find me on github

  9. #9
    Candidat au Club
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 9
    Points : 4
    Points
    4
    Par défaut
    @Emmanuel Deloget Je travaille sur Linux.

    Je vais abandonner l'histoire de blob detection en fait pour me concentrer sur KLT (optical flow). Je crois qu'il est implémenté dans openCV, je suis entrain de chercher un tutorial...

    Est ce que quelqu'un a déjà travaillé dessus et pourrait m'aider à commencer ?

    Merci d'avance,

    bye

  10. #10
    Membre expert
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    1 415
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2007
    Messages : 1 415
    Points : 3 156
    Points
    3 156
    Par défaut
    Je n'ai pas bossé avec l'optical flow mais ce que je peux te dire c'est que la technique du "motion history" (voir ici) peut donner de bons résultats rapidement.
    Find me on github

Discussions similaires

  1. Réponses: 9
    Dernier message: 31/05/2010, 05h52
  2. [Débutant] Nommer des objets en mouvement
    Par @@juju@@ dans le forum Images
    Réponses: 4
    Dernier message: 31/07/2007, 20h56
  3. Calcul coordonnée d'objet en mouvement
    Par pkpas dans le forum Mathématiques
    Réponses: 7
    Dernier message: 25/07/2007, 14h42
  4. suivre un objet en mouvement sur image
    Par jlf dans le forum Traitement du signal
    Réponses: 24
    Dernier message: 09/05/2005, 13h46

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