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 :

Détection d'objets en mouvement (suppression d'arrière-plan)


Sujet :

OpenCV

  1. #1
    Membre habitué
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2009
    Messages
    141
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Santé

    Informations forums :
    Inscription : Novembre 2009
    Messages : 141
    Points : 194
    Points
    194
    Par défaut Détection d'objets en mouvement (suppression d'arrière-plan)
    Bonjour,
    Dans le cadre d'un stage il m'est demande de detecter les objets en mouvements dans une video prise par une camera. Je me suis ecris un petit programme utilisant les modeles de melanges gaussiens et ca marche pas mal.
    Jusque la rien de complique mais le probleme est que cette camera peut-etre en mouvement(accrochee a l'avant d'un bus, d'un tram, d'une voiture) et la ca change tout. La limite du modele de melanges gaussien est que l'arriere-plan doit etre statique ou varier tres peu pour pouvoir separer correctement l'arriere du premier plan. Dans mon cas prenons le cas d'une voiture se deplacant sur une route (mais cela pourrait tout aussi bien etre une camera qui balaye une peice), je devrait detecter uniquement les objets qui bougent reellement et non ce qui ont l'air de bouger a cause du mouvement de la camera elle-meme(vous me suivez?).Par exemple les pietons, les voitures qui roulent plus ou moins vite que la mienne mais pas: les panneaux de signalisation,les voitures garees ou se deplacant a la meme vitesse que moi.
    Bon je ne sais pas si c'est tres clair mais je vous remercie deja d'avoir lu ce pave.
    Je suis ouvert a toutes les remarques et propositions concernant une methods pour resoudre ce probleme.

  2. #2
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 22
    Points : 17
    Points
    17
    Par défaut
    Une méthode "simple" serait de procéder par apprentissage.
    Admettons que ton véhicule fasse le même trajet tous les jours. On peut émettre l'hypothèse que d'un jour à l'autre le paysage ne va pas changer (ou très peu). Donc le principe serait de faire une première fois le parcours en faisant une acquisition vidéo/images tout le long du parcours.
    Ensuite tu refais le même parcours et tu compares la nouvelle acqui à celle dite référence, si un piéton se pointe entre temps, l'image sera différente alors tu pourras le détecter.

    Sans référence, je ne vois pas comment procéder mais si tu avances, je serais intéressé de savoir comment tu as procédé

  3. #3
    Membre habitué
    Inscrit en
    Juin 2003
    Messages
    223
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Juin 2003
    Messages : 223
    Points : 145
    Points
    145
    Par défaut
    ouais je suis pas sur:

    je pense que tu n'as pas bcp de choix:
    - soit tu utilise le flux optique. et tu soustrait ton mouvement a celui de la voiture en mouvement. (par contre ca ne marchera jamais en temps reel)
    Si jamais j'ai des amis qui ont bosser la dessus: http://www.pspc.dibe.unige.it/~drivsco/

    - soit tu utilise un detector (genre Haar, HoG, ...) mais ca ne marchera pas non plus en temps reel..

    Bonne chance.

  4. #4
    Membre habitué
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2009
    Messages
    141
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Santé

    Informations forums :
    Inscription : Novembre 2009
    Messages : 141
    Points : 194
    Points
    194
    Par défaut Problemes
    Tout d'abord merci de vos reponses,
    Comme tu dis tortue3600, l'apprentissage serait une bonne idee mais malheureusement le logiciel doit marcher quleqesoit l'endroit donc j'ai du oublier cette methode.
    Et elraton tu souleve le gros probleme, ca doit etre en tems reel. Mais le site que tu m'a donne a l'air super interessant, je n'ai pas encore tout lu mais je m'y mets.

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 22
    Points : 17
    Points
    17
    Par défaut
    Citation Envoyé par elraton Voir le message
    - soit tu utilise le flux optique. et tu soustrait ton mouvement a celui de la voiture en mouvement. (par contre ca ne marchera jamais en temps reel)
    En l'intégrant sur cible hardware type fpga, ca doit pouvoir fonctionner en temps réel (avec de basses résolutions) en parallélisant les traitements.

  6. #6
    Membre habitué
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2009
    Messages
    141
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Santé

    Informations forums :
    Inscription : Novembre 2009
    Messages : 141
    Points : 194
    Points
    194
    Par défaut Precisions
    Bonjour,
    J'ai oublier de vous dire que je ne suis qu'un debutant en traitement d'image, je ne travaille dessus que depuis 2 semaines et c'est dans le cadre d'un stage de 2eme annee de DUT. Je voulais vous demander si ce sujet est tres complexe ou si c'est un probleme simple dans le monde du traitement d'image?
    Mon idee pour l'instant: Je regarde le code dans cvaux(bgfg_gaussmix,...) et je m'apercois que les pixels sont classes comme background ou foreground selon une fonction appelee MatchTest. Alors j'ai pense que peut-etre en creant une fonction a moi qui changerait ces conditions je pourrais arriver a quelquechose.
    Prevenez-moi si c'est une idee stupide et bien sur je vous tiens au courant de tout avancement.

  7. #7
    Membre habitué
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2009
    Messages
    141
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Santé

    Informations forums :
    Inscription : Novembre 2009
    Messages : 141
    Points : 194
    Points
    194
    Par défaut Optical flow
    Apres m'etre documente un peu plus,je reviens sur l'idee de elraton d'utiliser le flot optique: la seule solution que je vois est de calculer le flot optique et d'effectuer des traitements type suppression d'arriere plan en utilisant ces informations. Mais il reste le probleme du temps reel, avez-vous une idee du nombre de frame par secondes que l'on peut traiter(approximativement) avec cette methode.
    Merci et a+.

  8. #8
    Membre habitué
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2009
    Messages
    141
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Santé

    Informations forums :
    Inscription : Novembre 2009
    Messages : 141
    Points : 194
    Points
    194
    Par défaut Vague idee de solution
    Bonjour,
    J'ai pense que pour augmenter la vitesse de traitement des images calcul du flux optique et de la detection je pourrais faire de la baisse de resolution (c'est a dire reduire mon image par 8 et n'y copier qu'1 pixel sur huit de l'image de depart par exemple). Ensuite apres avoir fini mes traitements je pourrais faire correspondre mes objets detectes miniatures avec les objets taille reelle.
    Dites-moi si c'est idiot.
    Merci d'avance.

  9. #9
    Membre régulier Avatar de Vestaproman
    Homme Profil pro
    Ingénieur R&D
    Inscrit en
    Décembre 2003
    Messages
    95
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Ingénieur R&D
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2003
    Messages : 95
    Points : 84
    Points
    84
    Par défaut
    Salut glen1789

    Peux tu me dire si ta méthode fonctionne en Temps réel (réduction de résolution)?

    Merci

    vpm

  10. #10
    Membre habitué
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2009
    Messages
    141
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Santé

    Informations forums :
    Inscription : Novembre 2009
    Messages : 141
    Points : 194
    Points
    194
    Par défaut
    Oui si on veut ca peut marcher en temps reel mais le truc c'est qu'on perd enormement d'informations et donc de precision. C'est pas vraiment une bonne methode. A oublier.

Discussions similaires

  1. Détection d'objet, de mouvement
    Par starlogix dans le forum C++
    Réponses: 9
    Dernier message: 21/01/2011, 12h09
  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. Réponses: 4
    Dernier message: 19/02/2006, 18h09
  5. 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