Documentation: Skeleton tracking


#1

One of the most used features in NI mate is the skeleton tracker. This component is used for finding a human skeleton out of the live feed and computing its position and orientation.

  • Enable button: If the component is enabled either by enabling the checkbox in the page tree or by pressing the enable button the skeleton tracker page, NI mate will begin outputting skeleton tracker data out over OSC.

  • IP address & port override: If enabled and specified, these IP address and port are used when sending out skeleton tracker data. Otherwise the default IP address & port on the setup page is used.

Joint OSC mapping

The skeleton tracker page lists all the joints which the current sensor supports. The OSC address fields can be used in customizing the OSC address for a specific joint or to change the outgoing data by using the parameter tags. The top left path is used for specifying the omni path if in omni format.

An empty OSC path will mean that the joint data will not be sent by NI mate.

The format box can be used to quickly change the output mode to one of the most common defaults.

  • Basic: Sends each joint with its 3 world space coordinates

  • Animata joint: Sends each joint out with the address /joint_, followed by the joint name and its X and Y world space coordinates.

  • OSCeleton: Sends each joint with the address /joint_, followed by by the joint name and its x, y and z coordinates.

  • Omni: Sends all joint coordinates one after another as floats to the specified OSC path. Joint names are not used. By default the omni path is called “skeleton”.

  • Orientation: Sends each joint with the joint name and its orientation as a quaternion.

  • Basic + orientation: Sends out each joint with its name, position and orientation.

The clear and reset buttons can be used for quickly clearing and restoring the OSC addresses.

Available OSC parameter tags: [I] [U] {X} {Y} {Z} {x} {y} {z} {OW} {OX} {OY} {OZ} {EX} {EY} {EZ} {ex} {ey} {ez}

Hands

Some sensors contain hand tracking. If this component is enabled, hands are outputted in addition to the normal skeleton. The XBox 360 Kinects and the PrimeSense and Xtion sensors don’t have hand tracking, but this option can still be enabled. In this case the hands are added at the end of the arm and always remain at zero local space orientation.

The hand paths are built differently than the other joints. Due to the large number of joints in the human hand NI mate combines the joint names from the 3 given input fields. For example, the fields Left_, Thumb_ and Proximal_phalange would result in the address Left_Thumb_Proximal_phalange. Any parameter tags must be inserted in the last part of the joint name.

If you’re using a Kinect, PrimeSense, Xtion or a RealSense sensor and also have a Leap Motion available, then you can connect the Leap Motion and use its hand tracking to override the hand data for some other sensor. Leap offers much more accurate hand tracking and is often desirable over the sensor’s own approximation for hand data.

Settings

  • Smoothing: Specifies the amount of smoothing applied to the skeleton data. Low values result in more noise in the data, but less smooth movement.

  • Confidence: Sometimes the sensor may report some joint inaccurately and mark the confidence for this data to be low. This value controls the required precision that is needed for some joint’s data to be accepted.

Coordinates

These settings can be used to offset and customize the coordinate data before it’s sent out.

  • Origin: This setting can be used to customize where the origin for the joint data is. For example, choosing the lower foot height will keep the lower foot at constant height. Usually, you only need the automatic mode where the sensor’s position is the origin.

  • Mirror left and right: Mirrors the sensor’s data along the X axis.

  • Send location only for torso: If enabled, no position data is sent out for any joint except the torso. This can sometimes make working in an external program easier.

  • Pre offset: These offsets are applied to a joint’s position before scaling is applied.

  • Scale: Multiply a joint’s position by these values

  • Post offset: An offset applied after the scaling is performed.


Documentation: Kinect for Windows 2 / Kinect for Xbox One
Documentation: Kinect for Windows 1 / Kinect for Xbox 360 (models 1414 & 1473)
Documentation: Leap Motion
Documentation: Table of contents
Documentation: Asus Xtion / PrimeSense Carmine
Can't get NI Mate to work with Maya
Can't fetch the OSC Output to Blender (MacOS Sierra) using free version
Does NI Mate really works?
Documentation: Sensor components
#2

I do t have an option to turn on/off the skeleton.
I’ve watched several videos and looked at this. My options just aren’t the same.

I don’t have a kinetc for windows tab. Has it moved and I’m just over looking it or do I need something installed and working I don’t have going?

Kinetc v1


#3

You can post your log info to Ni-Mate forum