dsan — 2008-04-03 17:22:47

Bonjour.
J'ai besoin de repérer des mouvements a partir d'une capture webcam sur l'axe des x uniquement.
En fait je fais ça sous Isadora très bien avec les objets Chop Pixels et Eyes mais le compositeur avec lequel je travaille préfère assurer la partie son sous pd donc autant tout faire sur pd.
Je ne suis pas une brute en pd loin s'en faut mais j'ai une bonne courbe de progression :-)
Quel sont les objets que je dois utiliser pour arriver à mes fin?
Avez vous des exemples de patch de tracking video qui pourraient me servir de base?
++

solipse — 2008-04-05 16:56:58

Bonjour,

Isadora peut communiquer avec PD via OSC (OpenSoundControl).

Jette un œil ici:

http://www.interface-z.com/patchs/ut-osc.htm#pd

Il y a aussi la librairie Gem, mais je sais pas s'il y a un objet
correspondant à ta demande.

Après vérification, les objets Gem [pix_video], [pix_movement]
et [pix_blob] doivent répondre à ta demande. Il y a un patch d'
exemple dans la documentation.

http://gem.iem.at/

J'espère que cela t'aidera.
Solipse.

milc — 2008-04-05 18:29:26

J'espere que cela peut t'aider.

http://ydegoyon.free.fr/pidip.html

'y a pdp_mgrid et pdp_ctrck qui peuvent t'interesser.
il doit y avoir des example patches dans le bibliotheque.
mais je m'en suis jamais servi...dis moi si ça marche.

dsan — 2008-04-06 09:07:39

Merci,
effectivement il y a toujours la solution d'envoyer en osc les data à pd mais je fais déjà tourner une appli java qui envoie et reçois des données en osc, je ne voudrai pas lancer 15 applis pour cette installation.
je crois effectivement les objets pix_xxx de gem doivent permettre ce type de chose.
Il me reste à trouver la version de gem qui tourne sur un mac intel leopard.:/
Je publierai mes résultats.
++

dsan — 2008-04-07 15:56:22

Houla, finalement je reste sous Isadora pour le tracking.
Gem est vraiment trop instable sous macosx intel.
Effectivement je communiquerai en osc les données à pd.
dommage

benjamin — 2008-04-07 21:00:40

Salut,

J'ai récemment fait une installation avec du motion tracking sous Mac Intel avec GEM sans aucun plantage sur un flux DV Pal pleine résolution (avec le macos précédent léopard)
utilises tu PD extended pour mac intel ? http://downloads.sourceforge.net/pure-d … 4-i386.dmg

ci-joint patch type avec capture de mouvement qui déclenche lecture audio ou vidéo au cas où...

a+
benjamin

dsan — 2008-04-09 09:28:46

Alors là benjamin je suis éspanté! C'est un magnifique travail bravo.
Effectivement ça tourne très bien.
Ce qui est par contre sidérant c'est que ça occupe plus de 50% du processeur si je regarde le moniteur d'activité.
en détail
pd  sans patch ouvert occupe 1,5%
pd sans patch ouvert mais avec "compute audio" coché saute à 20%
très gourmand en ressource tout cela.
Je regarde si je peux optimiser tout ça.
++

dsan — 2008-04-09 14:11:19

comment procéder pour ne prendre en compte que les mouvements sur une zone de la largeur de la capture mais que de quelques pixels de haut?
En clair l'idée est de ne surveiller qu'une partie de la zone filmée.
http://www.santelli.name/tracking.jpg

milc — 2008-04-09 14:25:03

Sur mailing list de PD, 'y a ce sujet concernant usage CPU sur OSX en ce moment.
(compute audio coché, 20%...)
Apparement, en utilisant Jack on peut facilement résoudre ce probleme.

sur mon moniteur d'activité,

Built in output 18-20%
Soundflower 2 ch 16-19%
Jack 1.5%

Je te conseille vivement de ne pas utiliser la sortie system initiale de OSX avec PD.

pourtant, j'arrive pas utiliser Jack avec PD-Ableton, je devrais ouvrir une discussion autour de cela bientôt...

human.koala — 2008-04-09 15:18:50

pour detecter si tes coordonnées de mvt sont dans la zone ou hors zone de detection
http://codelab.fr/up/exemplepatch.jpg

c'est un exemple dans le cas present on verifie si c'est entre 64 ou 120

dsan — 2008-04-11 11:34:58

En gros ça donne cela.
Je ne vois pas ce que je peux faire de mieux que benjamin
j'ai juste ajouté la zone à surveiller suivant le conseil de human.koala
On doit pouvoir faire mieux.

fdo — 2008-04-15 14:47:29

Bonjour,

effectivement, ce patch de détection est très bien fait. Pour choisir une zone privilégiée dans l'image renvoyée par la cam, on peut aussi utiliser l'objet [pix_crop] qui permet de donner précisément les coordonnées de la zone utile. Si on le place en sortie de [pix_video], on réduit l'image avant d'appliquer les objets de détection ce qui permet de gagner quelques % de CPU. C'est en tout cas l'expérience que j'en ai sur MacBookPro Leopard.
Bien à vous
FDo

benjamin — 2008-04-15 17:04:09

cool que ça marche
c'est par contre un peu étonnant / conso CPU
macos ? webcam ou caméra DV ? quelle version de Pd et GEM ?
j'ai récemment fait une install comportant un patch dans lequel rentrent 2 caméra DV pleine résolution avec motion capture sur l'une des deux + des captures de mouvement avec du pix_crop (pour savoir si les gens sortent du champ de la caméra) + envoi de vidéos DV PAL + buffer vidéo, le tout sur un G5 biproc macos 10.4 en étant entre 50 et 60% des proc au maxi (la charge se répartit d'ailleurs bien sur les 2 proc) avec PD extended 0.39.3 et GEM cvs d'octobre 07
> peut être virer le pix_rgba sous le pix_video si la webcam est en rgba en natif, mais ça ne devrait pas faire gagner grd chose
a+++
benjamin

oli44 — 2008-04-25 22:29:55

C'est tout frais ç a sent l'alpha release, mais ça devrait valoir le coup d'essayer:

http://hangar.org/wikis/lab/doku.php?id … ata_opencv

OpenCV pour PDP et GEM

OpenCV est une bibliothèque logicielle, développée à la base par Intel, spécialisée dans le traitement d'image temps réel. Cette bibliothèque est distribuée sous licence BSD.

rep — 2008-04-26 01:40:39

oli44 a écrit:

http://hangar.org/wikis/lab/doku.php?id=start:puredata_opencv

ah ouais :P opencv sous pidi ça c'est de la nouvelle!
ils se bougent vraiment dans le bon sens ces barcelonais, ça fait plaisir!!

Bitcrusher — 2008-05-24 14:55:44

Salut!
Superbe Patch Benjamin! Les possibilitées de Puredata ne cesse de m'impressionner!

merci pour le patch, je vais m'empresser de faire une appli avec!

merci!

matohawk — 2009-02-18 16:11:47

Salut,
Merci pour le patch Gem j'avais essayé par moi-même un peu de tracking et pas moyen d'avoir un bon résultat.
effectivement un pix_motionblur ça aide beaucoup à l'obtention d'un bon tracking vidéo.

Sinon je vais essayer opencv pour gem sur mac intel, je vous tiens au courant pour la suite du projet.

Quelle type de caméra utilisez-vous pour faire du tracking?

Est ce que le faire en extérieur pourrait rajouter des contraintes supplémentaires?

encore merci

matohawk — 2009-02-19 15:43:43

bon je viens de compiler pour mac intel et pour Gem opencv Pure Data.
Malheureusement il ne se passe pas grand chose lorsque j'utilise les objets opencv.
Ils s'ouvrent sans problèmes dans Pure Data mais apparemment n'agit pas sur la vidéo.
Bon voila si quelqu'un à déjà testé sur Mac Os X et intel je veux bien de l'aide.

Thomas

matohawk — 2009-02-19 15:52:08

Salut,
Je me parle tout seul mais j'aime bien ça.

Je viens de résoudre mon problème, en fait il fallait suivre le tutoriel tout simplement :

citation :

IMPORTANT TIPS & KNOWN BUGS
In order to make the pix_opencv objects work You always had to set colorspace RGB. otherwise, You will not see any effect.
NOTE: pix_opencv_contours_boundingrect works only in RGBA pixes?

http://hangar.org/wikis/lab/doku.php?id … ata_opencv

Et après ça marche tout seul, en gros il suffit de rajouter l'objet pix_rgba de la lib Gem pour passer en mode RGBA (RED GREEN BLUE ALPHA).

vraiment bon conseil, opencv pure data ça marche nickel, je vous conseille d'essayer.

n'oubliez pas d'installer opencv de base avant de compiler les sources d'opencv pure data car il a besoin de certaines lib d'opencv ainsi que de Gem ou pdp et de pure data.

Tout est très expliqué sur le site Hangar

Thomas

matohawk — 2009-04-01 16:00:36

Très bon tuto pour le tracking vidéo :

http://damm-net.org/wiki/index.php?titl … ungsmelder

et pour télécharger directement le pack :
http://damm-net.org/wiki/images/0/05/Be … melder.zip

bastien.hude — 2011-01-26 15:47:50

Bonjour!!
dsan je voulais savoir pour ton patch de detection, ingénieusement appelé "détection", si il était possible de le faire fonctionner avec deux webcam!!?  (En même temps) mais dissociées de façon à récupérer les XYZ pour les patcher à des sampleurs et des effets (ça je peux m'en occuper). Une piste de recherche me serai grandement utile.
Je te suis reconnaissant d'avance.

benjamin — 2011-01-26 21:05:08

Hello,
oui, c'est tout à fait possible, il suffit de dupliquer la partie captation video et d'indiquer à l'un des objets [pix_video] qu'il doit utiliser la première webcam et au deuxième la deuxième ... pour cela, ça dépend de ton OS, les messages à envoyer au [pix_video] diffèrent, voir l'aide de l'objet (btn droit sur celui-ci > help)

je bosse aussi sur un patch de captation de mouvement avec 2 webcams mode "3D", je le posterai qd j'aurai greffé la deuxième caméra

++
Benjamin

bastien.hude — 2011-01-26 21:45:29

Je te remercie de la rapidité de ton message. Je regarderai ce dont tu me parles ce week-end.

Au fait je suis sous mac et je pense que je vais rencontrer un problème car j'ai deux camera identique (même modèle) apparemment il peut y avoir des problèmes de reconnaissance. Je verrai ça...

Un grand merci dsan. Je travailles sur un environnement tactile pour un danseur, dans l'idée de pouvoir jouer de la musique avec lui. Je posterai ça dans un an quand j'aurai fini, je suis un novice sur pure data et j'ai commencé avec ton patch qui m'en a beaucoup appris.

Une fois encore merci. Je suis impatient de voir ton prochain patch.

bastien.hude — 2011-01-26 21:49:14

Je viens de voir ton site c cool! En plus t'étais à Gamerz et chui à l'école d'art d'Aix.

bastien.hude — 2011-01-30 17:15:49

Bonjour Benjamin,

je n'arrive pas à faire ce que tu me dis.

J'ai dupliqué le système dans deux fenêtres différentes, chaque système a pour source une cam différente. Une camera fait fonctionner l'ancien système mais le nouveau ne tourne pas même en ayant ça propre camera.

Comment faire?

benjamin — 2011-01-30 18:47:15

bastien.hude a écrit:

J'ai dupliqué le système dans deux fenêtres différentes, chaque système a pour source une cam différente. Une camera fait fonctionner l'ancien système mais le nouveau ne tourne pas même en ayant ça propre camera.
Comment faire?

euh, il faut avoir un seul Pd ouvert et une seule fenetre GEM, pas sur d'avoir bien compris ton Pb

ci-joint patch exemple de captation de mouvement à 2 caméras > notes midi sur 4 canaux différents
à tester

++Benjamin

bastien.hude — 2011-01-31 10:07:34

tu as bien compris une partie de mon problème. Actuellement j'ai une fenêtre gem avec mes deux captations de mouvements. Les deux marchent!
Mais un problème reste. Mes deux cam envoie les même informations. Par exemples je bouge la main devant l'une et mes deux captations affiche les même infos, si je lève ma main devant une cam mes deux captations ont les y qui varient. Et je veux controler des sons mais avec les même modulation à chaque son ne m'interressent pas.

PS: mon pd plante tout le temps est-ce du à une trop grosse demande de puissance des deux cam?

bastien.hude — 2011-01-31 10:10:00

PS 2: j'ai apporté tes modification au niveau du pix video avec le choix des devices ça ne change rien au problème énoncé ci dessus.

benjamin — 2011-01-31 11:53:45

Hello Bastien,

as-tu essayé avec le patch de mon précédent message ?
si tu as les mêmes valeurs pour tes 2 caméras, vérifie peut être que tu n'utilises pas les mêmes noms de [send data] [receive data] pour les 2 caméras ?
sinon Pd ne plante pas quand la charge est trop importante, il ralentit, si ton patch plante c'est qu'il y a problème qque part (hardware / OS / Patch ? )
++b

bastien.hude — 2011-01-31 13:46:27

Tu es un génie Ben!! 
C'était logique et sous mes yeux!
Je te remercie!

Ça me fait une bonne parti de faite merci beaucoup!!

Quand j'aurai plus ou moins fini je chercherai pourquoi ça plante.

merci encore