Hey,
i need to track multiple people for an installation. In the end I only need 2d coordinates for mapping the points to a carthesian grid wiich represents the ground.
First i tried using only the depth image and mounting the kinect top dowm on the cealing. That way tracking multiple people with the contour node was ok, but a little bit problematic with different heights and more than one blob per person problems.
Now i use the kinect sideways and just map the z coordinate to the y coordinate in the grid. With skeleton tracking this works well using the head joint.
My problem is that i need to track more people. As far as i know the kinect can track up to 6 persons but only two by skeleton.
does someone know which is the best way to track as many people as possible. I only need one position vector per person, so may it be possible to get 6 positions out auf the sensor?
if that’s not the right thing for you, you can write your own shader, that analyses the depthmap coming from the kinect.
but maybe kinect is not the best device for your setup - perhaps, an infrared camera plus appropriate lightning would fit better. the buzzword to feed a search engine is ‘blob detection’. for this, you can have a look at elliots opencv-nodes (contribution:vvvv.packs.image) or code a shader that does the job on the gpu).
that’s not a total solution. that can be only given, if you offer more details.
if you have further questions, please make them more specific and upload a patch that illustrates your problems. And each problem deserves its own forum-thread (which is cool, if someone else stumbles over the same problem in the future)
what’s the size of the area where you want to track persons?
i just recently did some person tracking using two ceiling-mounted kinects for persons in about a 3x3m circle which worked quite good using the depth image.
top-mounting allows for some good person resolution, i.e. if persons are not touching each other, they have to be very close to each other before becoming one blob.
patchwise it worked like this:
depth image-> shader preprocessing -> asvideo -> contour -> coordinates
using pipet with these coordinates on the original depth also allowed for person tallness detection.
just a quick node to the kinect question.
It should be able to output position data for 6 Persons. (Tracking only up to 2)
If i remember right the vvvv plugin does not expose the player data, but only the skeleton data. Could possibly be fixed by modifying some of the sources which are available in the SDK. What you would get from that data is the centroid / center of mass - of the detected player, which probably would work well enough for your intentions (but with the limit of 6 people). Though the other suggestions may fit better for your setup.