none
Can we obtain skeleton data from two different kinects simultaneously plugged into one computer? RRS feed

  • Question

  • I am wondering if we can Initialize  two kinects with RuntimeOptions as SkeletalTracking.

    Can anybody tell me if we can obtain the skeletal joint position data from two kinects simultaneously

     

    Thanks

    Chinmay

    Thursday, February 2, 2012 6:35 PM

Answers

  • In the current version of the SDK, the limit is one active skeletal tracking stream per process.

    We are aware of the desirability of more instances, and are considering the possibility of raising this limit in a future SDK release.

    In the meantime, a possible workaround might be to run a separate process for each sensor, and share the data between processes.

    John
    K4W Dev

     

    Thursday, February 2, 2012 6:57 PM

All replies

  • In the current version of the SDK, the limit is one active skeletal tracking stream per process.

    We are aware of the desirability of more instances, and are considering the possibility of raising this limit in a future SDK release.

    In the meantime, a possible workaround might be to run a separate process for each sensor, and share the data between processes.

    John
    K4W Dev

     

    Thursday, February 2, 2012 6:57 PM
  • Hi John,

     

    Do those plans include updating the skeleton tracker to use two depth images from two kinects from different angles to reduce

    oclusion artefacts when capturing a single person ? Or are we just talking about using multiple kinects to extend the capture

    area and/or capture more people at once ?

     

    Cheers,

    Marduk

     

     

    Friday, February 3, 2012 7:14 AM
  • I can confirm this is indeed possible, I have implemented it. Hint: enumerate kinects first, and in a for loop spawn child processes, passing in both the index for that kinect and a key to use for shared memory communication as command line arguments.


    Clever, witty forum signature.
    Friday, February 3, 2012 11:30 AM
  • That is for two separate streams, with their own data/joint info generated.  You would need to determine for yourself how the two streams can be combined into one super data set.
    Friday, February 3, 2012 5:12 PM
  • We have not yet settled on concrete plans for this feature.

    If/when we do it, the minimum functionality would be to provide independent skeletal data per sensor, as if the sensors did not have overlapping fields of view. In this scenario, it would be up to an application to determine how to merge the data into a single model in world coordinates, based on the relative positions/angles of the sensors.

    Treating them as different camera angles on the same scene -- and returning a single skeleton model based on the combined readings -- is certainly an interesting problem we've been thinking about, and warrants further investigation.

    John
    K4W Dev

     

    • Proposed as answer by marduk2 Saturday, February 4, 2012 1:21 AM
    Friday, February 3, 2012 8:40 PM
  • Can I ask you a question, is your programming language C# from Visual Studio 2010 , or C++ in VC 6.0? I want to implement your idea. Thank you.
    Wednesday, February 15, 2012 10:57 PM
  • John,

    If we can use two different processes to obtain the data from two different kinect devices simulatenoeusly, don't we still have the problem of overlapping field of views ? Won't this affect the skeletal joint position data?

    Thanks,

    Chinmay

    Friday, March 9, 2012 11:24 PM
  • Yes, depending on the relative alignment of the sensors, there can be interference. Generally, you'd see some degradation of the depth image, which could also affect the skeleton data.

    Here's some recently-announced work from Microsoft Research that shows one possible way to addres the problem: http://research.microsoft.com/apps/video/default.aspx?id=160616

    John
    K4W Dev

    Saturday, March 10, 2012 6:53 AM
  • Hi,

    This is an urgent request.

    I have tried to connect 4 kinects to the desktop(2.40 Ghz Core2Duo). I am using 4 different USB hubs to connect these four devices to the computer. I am trying to obtain the skeletal, depth or color stream from all these Kinect devices simultaneously. I found out that I am loosing on the frame rate.

    For the software part I tried to implement what Emile suggested,"I can confirm this is indeed possible, I have implemented it. Hint: enumerate kinects first, and in a for loop spawn child processes, passing in both the index for that kinect and a key to use for shared memory communication as command line arguments."

    Can anybody tell me the correct configuration for my system? I know that I need to upgrade my system to 2.66 GHz, Dual core.  but I am wondering if that will be enough for 4 Kinects. Please guide me.

    Thanks,

    Chinmay

    Wednesday, June 6, 2012 5:06 PM
  • Hi John,

    Could you please tell me how to run  a separate process for each sensor, and share the data between processes?

    Many thanks

    Hussein

    Tuesday, August 14, 2012 3:05 AM