Dessiner les squelettes de OSCeleton dans Jitter

0

Vendredi dernier se terminait la formation Max/MSP/Jitter et Max for live, que j’anime désormais annuellement au Jardin Moderne.
Pour cette session j’étais accompagné par Morgan Daguenet (aka Bertuf) et Maël Teillant.
Encore une fois ces 105 h de formation ont été passionnantes, avec des réalisations déjà très abouties de la part des stagiaires.
ça donne envie de continuer.

Cette année j’ai voulu mettre un accent sur l’utilisation de surfaces tactiles et de la kinect, qui s’avèrent être des outils fiables, peu onéreux et ouvrant de vastes champs d’applications.
J’ai déjà parlé sur ce blog des surfaces tactiles, voici donc quelques mots sur la kinect.

Avec Max6, il y a deux manières d’utiliser la kinect :
– soit par l’utilisation de l’objet jit.freenect.grab que l’on peut trouver à http://jmpelletier.com/freenect/
– soit par l’utilisation d’un programme qui construit et envoie en OSC des données interprétées à partir des flux de la kinect. Pour la formation j’ai choisi OSCeleton ( https://github.com/Sensebloom/OSCeleton ).

Avec jit.freenect.grab :

On ajoute cet objet à la distribution Max6, et voilà c’est près. Pas besoin de faire d’installation supplémentaire (driver, …) . Tout est dans l’objet il suffit de l’utiliser. Le fichier d’aide est très détaillé.
Vous trouverez ici un patche permettant de sélectionner une plage de profondeur et de tracker tout élément dans cette plage. En effet la kinect délivre deux flux vidéos dont un, en niveaux de gris, détaille la profondeur de champ. http://www.wired.com/gadgetlab/2010/11/tonights-release-xbox-kinect-how-does-it-work/ donne quelques informations sur la manière dont la kinect fonctionne.

Avec OSCeleton :

OSCeleton est un programme qui analyse les flux vidéos de la kinect, en déduit les squelettes et transmet leurs caractéristiques (positions, orientations, …).
L’installation pour OSX consiste à :
– installer Macports (on a utilisé la version 2.0.3). L’installation de Macports peut être un peu longue. Vous trouverez toutes les informations à http://www.macports.org/install.php
– Une fois Macports installé, en étant connecté à internet, ouvrir le Terminal et écrire les instructions
sudo port install libtool
entrez votre mot de passe, puis enter. Des bibliothèques vont être installées. Elles sont téléchargées depuis le web, donc, ça peut être un peu long.
Puis
sudo port install libusb-devel +universal
de nouveau mot de passe, enter. Là aussi c’est un peu long.
– installer Cmake ( http://www.cmake.org/ ). Placer l’application dans votre dossier Applications,
– installer Xcode ( http://developer.apple.com/xcode/ ),
– installer OpenNI ( http://www.openni.org/Downloads/OpenNIModules.aspx ). Choisir OpenNi Binaries, Nous avons utilisé la version instable 1.5.2.7 pour Snow Leopard. L’installation est un peu particulière. Dans le terminal il faut naviguer jusqu’au répertoire puis lancer “./install.sh”. C’est un script bas qui va tout installer.
– installer les drivers de la kinect, disponibles à https://github.com/avin2/SensorKinect . Là, même topo : après avoir décompresser l’archive récupérer à l’adresse ci-dessus, dans le terminal, naviguer jusqu’au répertoire créé, puis lancer l’installe avec la même instruction.
– installer NITE que l’on trouve à http://www.openni.org/Downloads/OpenNIModules.aspx . Il faut cette fois sélectionner OpenNI compliant Middleware Binaries, même version que pour OpenNI, même procédure d’installation.
– ENFIN, récupérer OSCeleton à https://github.com/Sensebloom/OSCeleton . Suivez les instructions à cette adresse (compilation avec make).
Et voilà.
Pour lancer OSCeleton il faut, dans le terminal, naviguer jusqu’au répertoire Sensebloom_OSCeleton et lancer ./osceleton
L’application se lance et envoi automatiquement les positions de 15 points des squelettes détectés, qui sont : r_foot, r_knee, r_hip, l_foot, l_knee, l_hip, torso, r_hand, r_elbow, r_shoulder, l_hand, l_elbow, l_shoulder, neck, head.
Pour personnaliser osceleton, il suffit de lancer ./osceleton -h , la liste des options apparaît.
Dans cette archive vous trouverez le patche skeleton.maxpat qui représente les squelettes détectés par OSCeleton. Pour avoir un affichage correct il faut lancer OSCeleton avec les options suivantes :
./osceleton -p 7110 -mx 2 -my -2 -mz -1 -ox -1 -oy 1 -oz 1.15 -a 127.0.0.1
Le fonctionnement avec plusieurs utilisateurs reste à vérifier.

Post your comment