none
How are joint angles calculated by Kinect V2? RRS feed

  • Question

  • Hello,

    I have been searching trying to find details on the algorithm used to calculate the joint angles/orientations provided by Kinect V2. I have been able to find a paper by Shotton et al which goes in to how joint positions are calculated but I cannot find anything on the joint angles provided by V2.

    Can anyone help?

    Wednesday, April 15, 2015 9:22 AM

Answers

  • Most math libraries (I use Configurable Math Library for C++) offer functionality to align a transform matrix (or quaternion) so it points to one or more points or vectors.

    This can be used with the positional data from the SDK to construct orientations, essentially by pointing each joint/bone to it's child.

    This is exactly what I do in my software as this allows to build in some custom cleverness to improve the orientations compared to the SDK implementation.


    Brekel

    Thursday, April 16, 2015 9:50 AM
    Moderator

All replies

  • We don't provide internal details of the feature given these can change at any time. Why specifically do you need this information? 

    Carmine Sirignano - MSFT

    Wednesday, April 15, 2015 6:53 PM
  • Hi Carmine, 

    I am a PhD student currently investigating simulating human movement using physics techniques combined with motion tracking. I have been working with the Kinect mainly considering skeletal tracking and pose estimation and have been considering ways to improve upon the output provided by Kinect and therefore it would be incredibly helpful to know how this data is constructed. Can you help at all?

    Thursday, April 16, 2015 8:10 AM
  • Most math libraries (I use Configurable Math Library for C++) offer functionality to align a transform matrix (or quaternion) so it points to one or more points or vectors.

    This can be used with the positional data from the SDK to construct orientations, essentially by pointing each joint/bone to it's child.

    This is exactly what I do in my software as this allows to build in some custom cleverness to improve the orientations compared to the SDK implementation.


    Brekel

    Thursday, April 16, 2015 9:50 AM
    Moderator
  • Hi Brekel, 

    Thanks for your comments, I understand how you may go about calculating the rotations yourself from the positional data. What I was hoping however, was to understand the implementation in which they are calculated by the Kinect as joint orientations (this may well be the way in which you have mentioned).

    Carmine, are you able to help any further with this?

    Many Thanks, 

    Kevin

    Monday, April 20, 2015 10:15 AM