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

Traitement d'images Discussion :

Detection de mouvement / reconnaissance des zones


Sujet :

Traitement d'images

  1. #1
    BNS
    BNS est déconnecté
    Membre du Club
    Inscrit en
    Juin 2005
    Messages
    129
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 129
    Points : 45
    Points
    45
    Par défaut Detection de mouvement / reconnaissance des zones
    Bonjour à tous!
    Je suis entrain de travailler sur un logiciel de tracking de personne avec un caméra optique... J'ai extrais "l'avant plan" de la scène et désormais je voudrais pouvoir "extraire" les différentes régions en mouvement.
    Chaque région n'est pas forcément uniforme et je souhaiterais donc pouvoir clairement dire: "il y a une région ici, une autre la etc..."
    Je cherche un algorithme pouvant faire ceci mais je ne trouve pas... Peut-etre pourriez-vous m'aider, me conseiller ?

    J'ai joint un exemple d'image, avec 4 zones à detecter.

    Le gros probleme vient en fait du fait que les zones à detecter ne sont pas uniforme, qu'elles contiennent des zones plutot "floues"

    Nom : Unbenannt.JPG
Affichages : 202
Taille : 23,5 Ko

  2. #2
    Rédacteur

    Avatar de Matthieu Brucher
    Profil pro
    Développeur HPC
    Inscrit en
    Juillet 2005
    Messages
    9 810
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur HPC
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2005
    Messages : 9 810
    Points : 20 970
    Points
    20 970
    Par défaut
    Pour virer le bruit, on peut commencer par une erosion, dilatation, ça permettrait d'enlever tous les pixels seuls allumés.

  3. #3
    Membre averti Avatar de Flo.
    Homme Profil pro
    Inscrit en
    Mai 2002
    Messages
    379
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mai 2002
    Messages : 379
    Points : 404
    Points
    404
    Par défaut
    S'il fait cela, il va déconnecter encore plus les jambes du corps (de son bonhomme).

    A la rigueur le bruit partira après la segmentation (ou il ne retiendra que les "gros" labels).

    Basiquement, moi je commencerais au contraire par une dilatation multiple suivie d'une érosion de même importance : ça lui permettrait de raccorder les jambes au bonhomme.

    Ensuite, et puis parce qu'il ne faut jamais se fier totalement à une fermeture aussi importante soit-elle, il pourrait essayer de segmenter puis de raccorder les objets proches les uns des autres suivant un critère à définir.

    Imaginons qu'apres la phase de traitement, les jambes soient toujours décollées du corps. Il suffit de calculer la distance séparant chaque objet (issu de la segmentation) des autres et de regrouper ceux qui ont une faible distance.

    Donc du coup pas une distance de centre de gravité à centre de gravité mais plutot une distance de ROI d'objet à ROI d'objet. (ROI = Region Of Interest).

    Cela risque de ne pas marcher, si le bonhomme se trouve a coté d'un obstacle par contre ... mais là le problème sera déjà de l'isoler avant seuillage .

    Flo.

  4. #4
    BNS
    BNS est déconnecté
    Membre du Club
    Inscrit en
    Juin 2005
    Messages
    129
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 129
    Points : 45
    Points
    45
    Par défaut
    Merci pour vos reponses. Pour la segmentation la meilleurs solution est donc de rechercher dans un premier temps tous les nuages de pixels blancs, d'assigner un label à chaque zone, puis de verifier si ces zones sont proches et donc de les coller le cas échéant ?

  5. #5
    Membre averti Avatar de Flo.
    Homme Profil pro
    Inscrit en
    Mai 2002
    Messages
    379
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mai 2002
    Messages : 379
    Points : 404
    Points
    404
    Par défaut
    La meilleure solution sûrement pas. Déjà pour pouvoir le dire il faudrait connaître exactement les images, le contexte et tout ...

    Mais sur l'image que tu nous a présenté, c'est une solution qui vaille la peine d'être testée peut-être.

    Tu pourrais également utiliser un snake qui engloberait les silhouettes à partir de ton image binaire voire de ton image originale.

    Il y a tellement de solutions !!! On ne connaît également pas tes contraintes en termes de calcul, de précision ... Bref on ne connaît pas du tout ton problème. On a juste une image .

    Dans mon cas, je vois systématiquement les problèmes comme des problèmes de vision indus., avec de fortes contraintes en temps de calcul et de faibles contraintes dans la qualité des résultats (en coût et donc en temps de réflexion !!!) : on veut savoir si ya quelque chose ou non, s'il est cassé ou non, s'il a la bonne forme ou non, s'il est bon ou non, s'il a la bonne couleur ou non... dans mon cas l'analyse de l'image se résume souvent à "c'est bon ou pas ?" ... On se fiche de savoir s'il on a comptabilisé toutes les miettes du biscuit : il est cassé point. Par contre on s'en donne les moyens on travaille à fond les éclairages et les scènes : l'image finale est souvent facile à travailler : et grâce à ce travail sur les éclairages et les scènes on a souvent de jolis résultats (quand même !!!).

    Donc c'est dans cet optique que je réponds (à tort peut-être).

    Des universitaires plus attachés à la qualité du résultat qu'à son temps de calcul, verront le problème différemment... Ils regarderont si le bonhomme est bien segmenté, si les contours sont bien pris en compte, etc. Par ailleurs ils travaillent bien souvent sur des scènes instables en ne maîtrisant pas leurs éclairages (suivi d'objets, images médicales, et bien d'autres que l'on peut extraire de ce forum). Ils ne bénéficient pas de la même qualité d'images que nous et donc doivent se rattraper par le traitement et l'analyse de l'image (au contraire de bcp d'applis en vision indus. ou les traitements sont très simples car l'image est impec).

    Donc à toi de te situer dans tout ça ... si t'es dans un labo pointu, ma réponse te suffira surement pas ...

    Flo.

  6. #6
    BNS
    BNS est déconnecté
    Membre du Club
    Inscrit en
    Juin 2005
    Messages
    129
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 129
    Points : 45
    Points
    45
    Par défaut
    L'idée du snake qui enroule la silhouette me plait bien...
    Pour ce qui est de mon travail, je m'attache dans un premier temps à la qualié du résultat. Mes scènes sont extremement instables puisqu'il s'agit de dectecter des personnes dans une piece quelconques, avec un eclairage quelconque et des "couleurs de fond" quelconques aussi. On est bien loin d'une image impec avant le traitement.
    L'image binaire que je sors actuellement est tres "bruitée" car elle resulte d'un double traitement délicat: dans une premier temps une substraction d'arrière plan, puis une suppression des ombres.

  7. #7
    Modérateur
    Avatar de ToTo13
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Janvier 2006
    Messages
    5 793
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Santé

    Informations forums :
    Inscription : Janvier 2006
    Messages : 5 793
    Points : 9 860
    Points
    9 860
    Par défaut
    Bonjour,

    Il existe beaucoup de recherche et d'article sur ce sujet, tu peux avoir un bon état de l'art en cherchant un peu sur google.

    Par contre :
    L'idée du snake qui enroule la silhouette me plait bien...
    les snakes sont robustes et donneront un excellent résultat sur ce type d'images, mais en un temps monstrueux.
    Ils sont INUTILISABLES sur un flux d'images.

    Certaines méthodes à bases de flots optiques ont fait leurs preuves, nous en avons traité dans un forum précédent. Regrade le travail de Thomas Bonaccorsi. C'est un membre de mon équipe qui s'est intéressé au problème pendant son stage de DEA. Tu trouvera sa page personnelle en tapant son nom dans google.
    Consignes aux jeunes padawans : une image vaut 1000 mots !
    - Dans ton message respecter tu dois : les règles de rédaction et du forum, prévisualiser, relire et corriger TOUTES les FAUTES (frappes, sms, d'aurteaugrafe, mettre les ACCENTS et les BALISES) => ECRIRE clairement et en Français tu DOIS.
    - Le côté obscur je sens dans le MP => Tous tes MPs je détruirai et la réponse tu n'auras si en privé tu veux que je t'enseigne.(Lis donc ceci)
    - ton poste tu dois marquer quand la bonne réponse tu as obtenu.

  8. #8
    Membre averti Avatar de Flo.
    Homme Profil pro
    Inscrit en
    Mai 2002
    Messages
    379
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mai 2002
    Messages : 379
    Points : 404
    Points
    404
    Par défaut
    Ce sujet a également fait l'objet d'un post précédent (des images sous-marines je crois) ...

    http://www.developpez.net/forums/sho...d.php?t=130529

    J'avais déjà protesté sur la lenteur qu'on attribue aux snakes.

    C'est vrai que les snakes sont à tort apparus au traitement d'image comme les réseaux de neurones à l'intelligence artificielle : une solution miracle à de nombreux problèmes . Du coup maintenant on les dénigre (et moi aussi mais pour des raisons différentes ... ).

    Mais les snakes ne sont pas particulièrement lents ... (si on sait bien les implémenter). Ce qui peut être lent, c'est le calcul du substrat, c'est à dire de l'image du gradient... Si un simple gradient suffit à bien dégager les contours, le tout peut être acceptable en temps de calcul.

    Pour plus de détails, voir le post en question ...

    Je n'ai jamais travaillé réellement sur les snakes, j'ai juste fait quelques tests pour voir et comprendre le principe. J'ai fait quelques mesures de temps (algorithme de Greedy et méthodes des différences finies), et ça m'avait pas choqué. L'image de travail était un simple gradient morphologique (facilement optimizable en xmmx).

    Bon, ensuite, perso, j'avais pas suffisament approfondi pour avoir quelque chose de fiable (excepté sur mes 2 ou 3 images de tests du moment) : je n'ai jamais eu besoin de sortir une telle artillerie ... et mon étude a rapidement perdu son intérêt pour d'autres plus à propos pour mes projets.

    Pour casser cette mauvaise image, j'ai trouvé quelques vidéos. Evidemment, il faut avoir un esprit critique sur ces vidéos. Tant qu'on a pas l'application tourner devant soi, il faut rester critique. Cependant un peu de confiance (ou de naiveté ) ne fait pas de mal :

    Pour le suivi de personnes, quelques vidéos :

    http://www.jomier.com/julien/courses...nakes/main.htm

    Et un tas d'autres sont aisément disponibles si on cherche bien ...

    A+

    Flo.

Discussions similaires

  1. Android : bientôt la reconnaissance des mouvements
    Par Gordon Fowler dans le forum Actualités
    Réponses: 8
    Dernier message: 14/06/2010, 16h48
  2. Réponses: 106
    Dernier message: 13/05/2010, 15h34
  3. Réponses: 3
    Dernier message: 21/06/2005, 11h37
  4. [FLASH MX2004] Problème de reconnaissance des caractères
    Par Spikefreeman dans le forum Flash
    Réponses: 10
    Dernier message: 04/01/2005, 23h08
  5. [FLASH MX2004 ] Définir des "zones cliquables"
    Par chodaboy34 dans le forum Flash
    Réponses: 3
    Dernier message: 07/11/2004, 18h58

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