We just started a semester-project concerning an interactive dance performance. We would like to track the dancers skeletons (up to two) on the whole stage with kinects. The stage is not that big, so three kinects in a row with slightly overlapping frustums should be enough.
We already did some tests with one kinect and the OpenNI-Kinect nodes of vvvv.
So, now my question: What do you think is the best way to use 3 kinects to get a continuous tracking of the whole stage?
I think there are two approaches:
Using one mashine for every kinect, merging all the informations on one of these mashines and distilling only two skeletons out of it. That’s quite expensive just for the tracking…
Using one machine for all kinects. Cheaper and probably more comfortable, because we don’t need OSC or something else to bring the data together. BUT: I read that it would be difficult to use OpenNI with more than one kinect. Are the Microsoft nodes perhaps the better choice?
Did anybody experiment with that already? Thanks for any advice.
you basically have only one option with 3 machines
and for my taste i would use ms sdk since you don’t need any pose to start tracking and it outputs list of interfered joints. But not sure you will have an quick setup like that… depends how you place the kinects tho
Yes, I think you are right. It’s probably the best way to use 3 machines. The new OpenNI doesn’t need a start pose, I think. At least we don’t need to make this pose and it’s recognizing our skeletons… Did you test the ms sdk also with a longer distance like 5 meters? I heard it should be worse a this distance…
i can report 6 kinects connected to 1 PC (8 core cpu) with ms-kinect drivers tracking 1 skeleton each (haven’t checked with 2 skeletons each but guess that would also work). also briefly tested to work with 8 kinects, but there the 8 cores maxed out completely.
in multiple setup with 1 subject:
will be a challeging attempt to fuse all the tracked point together for a 3d model to come up
I would start a project involving the full 3d scan of a person inside a cylinder with spiral up-down moving rgbd sensors, could scan entire body in under a minute. Fusion rocks
can confirm what joreg wrote. with ms sdk you need the kinect on seperate USB Busses. Did only test with 3 Kinects but that runned smoothly on the same machine.
I did start on writing a wrapper logic for tracking a person across multiple kinects. Unfortunately other work came across before i did finish. If you like you can have a look at the project. Its a WPF C# project with OSC output.
The logic i was trying to implement takes as requirement that the kinects slightly overlap, so the skeleton would always be visible. In between kinects i compare joint positions to identify same user.
i ended up deleting all the openni related drivers and primesense, and also downloaded the delveopertoolkit. and it seems to work now again…sorry for the fuzz. will report if i can find a two kinect set up that seems stable for a laptop.