Welcome to %s forums

BrainModular Users Forum

Login Register

Kinect V2

discutons de sujets variés
Post Reply
LevraiBernardo
Site Admin
Posts: 110
Contact:

Kinect V2

Unread post by LevraiBernardo » 25 Nov 2024, 20:48

Bonjour,

je suis en train d'essayer de développer une petite installation basée sur kinect et quadriphonie.

Pour cela, j'ai branché une caméra kinect V2 à mon PC via adaptateur USB. Ensuite, j'utilise l'application KinectV2-OSC (https://github.com/microcosm/KinectV2-OSC) .

Cette application me permet de récupérer dans Hollyhock pas mal de données issues du squelette repérées par la cam. Les adresses de ces messages sont formatés comme suit : /bodies/{bodyId}/joints/{jointId} où {bodyId} est une suite d'une quinzaine de chiffres assez imprévisibles.

Je vois passer cet index quand je fais place un module OSC-Lister dans mon patch, mais je ne sais pas comment le récupérer pour libeller correctement l'adresse d'un OSC-Recieve.

Le problème vient également du fait que dès que la personne sort du champ de la caméra et que quelqu'un (ou le même...) y revient, elle a un nouvel Id, et donc l'adresse dans le Lister est obsolète. Même ,en relancant l'autolearn et en cleanant la liste, ça ne fonctionne pas puisqu'Holyhock perd les sorties du listeur et donc les liaisons vers les autres modules, qui deviennent rouge-pointillé (inopérantes)...

Quelqu'un a déjà réussi à récupérer de l'OSC d'une Kinect comme ça ?

Merci par avance.

Jérôme

User avatar
oli_lab
Member
Posts: 1261
Location: Brittany, France
Contact:

Unread post by oli_lab » 27 Nov 2024, 00:16

Salut,

Si tu as la version expert, tu peux utiliser le traducteur OSC pour mettre une "wildcard"

[/bodies/*/joints/[jointID]]
target=/usine/joint/1

pour chaque articulation (1,2,3,4,5,6....)

https://www.brainmodular.com/manuals/hh ... translator

comme les articulations sont maintenant numérotées de 1 à N, tu peux utiliser un "global array data OSC" pour ranger toutes les données.

si tu n'as pas la version expert, tu peux réaliser le traducteur OSC avec processing qui peut être peut traiter directement les données de la kinect
https://github.com/ThomasLengeling/KinectPV2
OSC pour Processing : OSCP5

Bon courage !

Olivar
http://oli-lab.org

Win11 Ryzen9/32GB RAM - RME MADIFACE - SSL alpha link 4-16 - OSC capable interfaces

follow OLI_LAB adventures on Mastodon
@olivar_premier@mastodon.social

LevraiBernardo
Site Admin
Posts: 110
Contact:

Unread post by LevraiBernardo » 27 Nov 2024, 11:06

Merci bien Oli.

J'avais bien repéré le traducteur OSC, mais je n'ai pas la version expert. Et je me dis que je vais rapidement avoir un souci de conflit dès qu'un deuxième corps va rentrer dans le champ de la Kinect.
Je ne sais pas jusqu'à quel point je vais pouvoir échapper à la reprogrammation en Visual Basic de KinectV2-OSC pour remplacer les indexes "hasardeux" qu'il impose par un index simple (Body1, Body2...) et ainsi avoir une adresse OSC fixe.
Je vais voir ce que je peux bidouiller avec oscp5 et Processing, ça a l'air quand même plutôt plus tranquille.
Je regarde ça de plus près, je reposte dès que j'ai tenté des trucs.

Merci encore.

Jérôme

LevraiBernardo
Site Admin
Posts: 110
Contact:

Unread post by LevraiBernardo » 04 Dec 2024, 08:40

Hello,

après quelques recherches et modifications du code du KinectV2-OSC, j'arrive à récupérer l'index des corps repérés par une adresse OSC fixe. Donc avec un petit patch pour "parser" les adresses avec cet index, je peux tracker les squelettes présents devant la caméra.
D'un autre côté, j'ai un souci quand j'ai plusieurs corps dans l'espace pour repérer lequel a la main. Par défaut, ils se "passent" la main en permanence, ce qui crée des flux de données très instables. J'ai donc fait une deuxième version du KinectV2-OSC qui n'envoie en OSC "qu'un seul" corps. C'est à dire que le premier corps qui rentre dans le champ de la cam garde la main jusqu'à ce qu'il sorte, auquel cas le deuxième prend la main, ainsi de suite. Bon, après, on peut lui mettre un peu le caillon en passant l'un devant l'autre, et là il se mélange un peu les pinceaux. Mais l'ensemble est assez stable pour une installation en autonomie, c'était pour moi l'objectif.

Si cela intéresse l'un ou l'autre, je peux cleaner un peu mes patches pour avoir un add-on Kinnect "prêt à l'emploi".

User avatar
oli_lab
Member
Posts: 1261
Location: Brittany, France
Contact:

Unread post by oli_lab » 04 Dec 2024, 22:15

bravo !
http://oli-lab.org

Win11 Ryzen9/32GB RAM - RME MADIFACE - SSL alpha link 4-16 - OSC capable interfaces

follow OLI_LAB adventures on Mastodon
@olivar_premier@mastodon.social

gwennaelle
Member
Posts: 257
Contact:

Unread post by gwennaelle » 23 May 2025, 12:22

Bonjour LevraiBernardo,
ton patch a l'air super ! J'aimerais beaucoup l'essayer. Si la proposition d'Add-on Kinect est encore d'actualité, je serais preneuse :-)
J'ai utilisé la kinect XBOX 360 et d'autres capteurs de mouvements (Leap, Hot Hand) il y a un moment et j'ai envie de re tester des choses, malheureusement les appli sont devenues incompatibles. (avant j l'utilisais avec Synapse et Ableton et Synapse n'est plus compatible avec mon OS)
Je suis donc sur Mac (à ce jour Mac Os Catalina), il faut encore que je trouve l'appli adaptée KinectV2-OSC. Et J'espere que le patch pour Kinect V2 est compatible avec kinect XBOX 360.
Voilà, si jamais, merci beaucoup ! Bonne journée

Post Reply

Who is online

Users browsing this forum: No registered users and 9 guests