Gestes Kinect
Sommaire
Préparation du projet
Sujet
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.
Lundi 14 mars 2011
- Implantation de la partie qui récupere les coordonnées de la zone visé. - Test sur l'armoire avec les dvd Lost, Stargate ... => Test réussi : Lost affiché lorsqu'il est pointé.