Developpez.com

Le Club des Développeurs et IT Pro

Un étudiant développe un programme de capture de mouvements

Predator est sous licence GPL et ne demande qu'une Webcam

Le 2011-04-15 14:38:32, par Hinault Romaric, Responsable .NET
Un étudiant de l'Université de Surrey au Royaume-Uni est en train de développer un système permettant de suivre n'importe quel objet en mouvement avec une simple Webcam.

Zdenet Kalal met ce projet au point dans le cadre de sa thèse de doctorat. Le programme qu'il a conçu peut suivre en temps réel toute forme en mouvement qui apparaît à l'écran. Le programme est capable par exemple de suivre l'œil d'une personne comme le montre cette vidéo de démonstration.



Le programme, baptisé Predator, s'appuie sur un algorithme d'apprentissage automatique TDL (Tracking Learning Detection) également développé par l'universitaire.

Pour suivre un objet, l'utilisateur doit tout simplement définir un cadre englobant l'image de l'objet en question. L'algorithme d'apprentissage TDL va apprendre rapidement et générer un modèle de l'image qui sera ensuite utilisé pour détecter et suivre en temps réel l'objet lorsqu'il est dans le champ de la caméra. Si l'objet le quitte, TDL arrête de suivre l'objet. S'il revient, le programme peut reprendre automatiquement le suivi de celui-ci.

La démonstration de Predator et l'algorithme qu'il utilise sont actuellement distribués gratuitement sous licence GPL. La technologie peut être implémentée dans plusieurs systèmes, comme dans Google Search Images par exemple.

Elle pourrait se poser également comme un concurrent à Kinect, le capteur de mouvement de Microsoft, pour certains usages 2D.

Elle montre en tout cas que les interfaces dites naturelles, ou NUI (Natural User Interface), se démocratisent et que leur montée en puissance se confirme.

Téléchargez la démo de Predator

Le code source est disponible sur cette page

Source : Page du projet

Et vous ?

Que pensez-vous de ce programme ?
  Discussion forum
31 commentaires
  • sOuSiX
    Membre régulier
    Envoyé par Haseo86
    Euh... oui. Ca existe aussi dans mon Université, où le suivi de visage sert également à reconnaitre les comportemens et a été implémenté dans plusieurs jeux 3D.

    D'ailleurs je pense qu'il y a des projets similaires dans beaucoup d'Universités, alors pourquoi mettre celui-ci en avant particulièrement??
    Parce qu'il marche bien...
    Parce qu'il ne reconnait pas uniquement les visages...
    Parce qu'ils semble apprendre au fur a mesure ou l'objet se deplace...
    Parce qu'il est open source...
    Parce que des gens comme moi qui visitent le developpez.com ne passent pas le temps à regarder ce qui se fait en analyse d'image...
    ...
  • huit_six
    Membre actif
    Alors là moi je suis complètement bluffé...
  • Floréal
    Membre éclairé
    Et tu as pensé à rapporter le problème bien sûr.
  • gagaches
    Membre confirmé
    C'est complètement bluffant en fait !

    La capacité à apprendre les légers décalages et donc de suivre un objet en 3D simplement à partir d'un plan fixe au départ, c'est ...

    par contre, je n'ai pas vu comment il faisait les lettres ie comment il gérait les montées/descentes du stylo lors de l'écriture (j'ai vu sans le son).

    SDK à regarder, ne serait-ce que pour l'intérêt de sa construction (et voir la simplicité d'utilisation).

    En tout ça, lui, il va trouver du boulot facilement !!
  • Aiekick
    Membre extrêmement actif
    Envoyé par Jitou
    Au delà de la démo et de son effet "spectaculaire" le tracking de forme en vidéo existe depuis pas mal d'année. La première fois que j'ai vu ça concrètement en action c'était avec le petit programme de superposition d'image fourni avec ma petite webcam que j'avais acheté il y plus de 6 ans. Je pense aussi comme d'autres ici que de nombreux étudiants plus discrets ont déjà mis au point le même type de projet de fin d'étude (voir les projets de l'Epita par ex). Je me rappel aussi en 1992 que le labo d'image de mon université avait déjà mis au point ce genre de techno, pour traquer les adresses des colis postaux courant sur des tapis roulant à grande vitesse. Même si cela n'a rien de révolutionnaire c'est toujours aussi ludique à regarder.
    c'est sur que c'est pas parce qu'il en parle officiellement autour d'une thèse et qu'il a un code à soumettre, qu'il en est le premier inventeur.

    j'en ai vu pas mal des techniques de blob tracking, mais la le système d’apprentissage rajoute une couche de robustesse au suivi.

    Ya qu'a voir l’exemple avec le panda. le premier plan possède foule de détails, nuances de couleur et autres. Pour le suivi c'est bien.

    Mais quand il se retourne et que la on a affaire a un gros cul blanc, et que le suivi continue, c'est la qu'on se dit que l'algo d'aprentissage a toute ça place.
  • poringkiller
    Membre du Club
    je suis totalement bluffé par cette démonstration, qui dépasse de TRÈS LOIN tout ce que j'ai pu voir dans ce style jusque là (ajout d'images en surimpression avec les logiciels vendus avec la webcam ou pseudo détection de mouvement/formes avec eye toy)

    je suivrais ce projet avec d'autant plus d'attention que par rapport à kinect, il présente l'avantage d'utiliser une webcam standard, et donc permet d'accepter tout source vidéo (ou même des images fixes) car oui, nos caméras de sécurité ne sont pas encore des kinect, et que je n'ai pas envie d'investir dans une caméra kinect pour tester tous les hacks des universitaires ^^

    edit :

    Envoyé par Paul TOTH
    évidemment, je passe mon temps à tester les projets et reporter les bugs !

    non désolé quand je télécharge un projet et que la version compilée de la démo supposée présenter le produit se vautre, je passe à autre chose.

    EDIT: car moi au moins j'ai testé la démo
    double cliquer sur un exécutable n'est pas vraiment "tester"
    peut-être aurais-tu du lire le readme ....
    il y propose le lien de téléchargement :

    Code :
    1
    2
    3
    4
    5
    Instalation:
     1. Microsoft Visual C++ 2008 SP1 Redistributable Package
        download and instal http://www.microsoft.com/downloads/details.aspx?familyid=a5c84275-3b97-4ab7-a40d-3802b2af5fc2&displaylang=en
     2. Download http://info.ee.surrey.ac.uk/Personal/Z.Kalal/TLD/MCRInstaller.exe
        run MCRInstaller.exe
    en vous remerciant x)
  • minuipile
    Membre du Club
    Envoyé par Paul TOTH
    et tu as fait le test ? car après installation des prérequis j'ai toujours la même erreur.

    Non sérieusement, c'est pas sérieux.
    En ce qui me concerne, oui j'avais la même erreur que toi et ça fonctionne maintenant.
  • tomlev
    Rédacteur/Modérateur
    Chapeau
    En voilà un qui n'aura pas de mal à trouver du boulot... Sony, Nintendo, Microsoft, Google et consorts vont se l'arracher !
  • Teto45
    Membre habitué
    Envoyé par tomlev
    Chapeau
    En voilà un qui n'aura pas de mal à trouver du boulot... Sony, Nintendo, Microsoft, Google et consorts vont se l'arracher !
    Heu... là tu te trompes...
    Certainement pas Microsoft, qui a dépensé des millions de $ pour faire son projet Kinect, et qui ne va pas dire que son matos, finalement, ne sert à rien, on arrête tout et on engage le gamin.
    Les autres, pas sûr non plus. Vous imaginez pas le nombre de petits chefs qui ne supportent pas qu'un blanc-bec boutonneux vienne avec un truc révolutionnaire tandis qu'eux ils on mis des années... à ne rien trouver, et qui s'en portent très bien.
  • clavier12AZQSWX
    Membre éclairé
    Envoyé par mkahina
    je voudrais appliquer un tracking aux infra rouge d'une cible qui serait une mouche. Cera en Visual c++ .
    Si vous pouviez m'aider ou me donner des astuces, envoyez moi un msg en PV s'il vous plaît. merci
    voilà c'est fait!