Gestes Kinect

De Wiki d'activités IMA
Révision datée du 14 mars 2011 à 13:18 par Mmendes (discussion | contributions) (Avancement du projet)

Préparation du projet

Sujet

Kinect.jpg

https://twiki.polytech-lille.fr/cgi-bin/view/Main/XavierRedonProjets2010Kinect

"Vous développerez ensuite un programme permettant de récupérer et analyser les gestes d'un utilisateur face à une vitrine. Les opérations de l'utilisateur seront: sélectionner un objet, annuler la sélection, afficher les informations d'un objet sélectionné sur un grand écran, afficher un comparatif entre différents objets sélectionné. Le feedback de la sélection des objets sera assuré par des LED positionnées sous chaque objet."

Pour aller plus loin, nous pensons intégrer une notion de multi utilisateurs.

- Un utilisateur voulant utiliser le système devrait faire un petit coucou à la caméra (ensuite, comme le sujet le demande, il pourrait pointer vers un objet, puis vers plusieurs pour afficher un comparatif etc...)
- Si plusieurs utilisateurs souhaitent utiliser le système, le premier présent à en faire la demandea la priorité. Ensuite, un ordre est donné aux utilisateurs suivants.
- Chaque utilisateur se voit donné un certain temps d'utilisation du système. La mise en place d'un timer sera nécessaire.
- Si un utilisateur souhaite terminer sa session, il fait un signe X avec ses avants-bras ou sort du champ de la caméra.
- un écran pourrait afficher une image de tous les utilisateurs présents dans le champ de vision du kinect en affichant un numéro au dessus de leurs petites têtes.

Matériel requis

- 1 kinect (disponible)
- plusieurs LEDs (au moins une pour chaque objet)
- micro-contrôleur Arduino
- système Foxboard
- ordinateur PC
- du talent (disponible)

Références

HowTo Kinect : http://www.keyboardmods.com/2010/12/howto-kinect-openninite-skeleton.html
Source Code Mouse Kinect : http://www.keyboardmods.com/2010/12/howto-use-kinect-as-mouse-in-linux.html
Video Mouse Kinect : http://www.youtube.com/watch?v=-Hqu2DwnVok
Source OpenNI : https://github.com/OpenNI/OpenNI
Configuration Proxy Git : http://www.kernel.org/pub/software/scm/git/docs/git-config.html
Configuration Proxy Git : http://stackoverflow.com/questions/128035/how-do-i-pull-from-a-git-repository-through-an-http-proxy
Installation FAAST : http://projects.ict.usc.edu/mxr/faast/
Tuto FAAST : http://kinect-or.com/tuto-kinect/493-faast-004-dispo-tuto-appli-a-telecharger.html
Configuration fichiers XML pour NITE : http://groups.google.com/group/openni-dev/browse_thread/thread/c50238431e6dec4f

Avancement du projet

Lundi 28 février 2011

 - Installation OpenNi
 - libusb manquant 
   => Installation libusb
 - version `GLIBC_2.12' not found avec la version binaire pour Ubuntu
   => Téléchargement Source Code OpenNi
 - Installation de git pour récupérer le Code Source
   => Paramètrage du proxy
 - Installation, paramétrage Nite
 - Problème d'execution

Jeudi 3 mars 2011

 - Pour limiter les problèmes, utilisation d'un nouveau PC à usage exclusif pour ce projet.
 - Création Makefile pour les Samples de OpenNI et Nite.
 - Etude, compilation des Samples.
   => Problème de FPS ( 2 fps )
 - Passage sous windows.
   => Affichage a 30 fps donc problème venant de notre compilation ou xml sous linux

Lundi 7 mars 2011

 - Problème de FPS résolu sur linux
   => Modification XML ( Id + Serial )
 - Création programme permettant de récupérer la distance entre le capteur et le centre de l'usager.
   => Modification : Annonce à l'utilisateur, s'il est bien positionné .
 - Etude, compilation, test du programme NiUserTracker.

Jeudi 10 mars 2011

 - Récupération des coordonnées 3D de la main droite et du coude droit.
 - Algo pour récuperer les coordonnées de la zone visé.
 - Activation de la recherche de squelette uniquement dans une certaine zone.