Skeletal tracking and depth

1.1. Tracking is based only on depth data.
1.2. Bright light can affect tracking quality (e.g. sunlight). Nuitrack processes a depth map from a 3D sensor, and the quality of the map outdoors may be very low due to direct sunlight. We recommend that you test these cases yourself.
2. This parameter allows you to improve tracking, subject to the availability of a static background.

When a user stands too close to a wall, Nuitrack detects his skeleton incorrectly (the user “merges” with the wall). Can I prevent this?
You can try to calibrate the background. Find the “Segmentation.Background” section in the nuitrack.config file and replace the line “BackgroundMode”: “dynamic” with these two lines:
“BackgroundMode” : “static_first_frame”,
“CalibrationFramesNumber”: 20
It turns on a static model for the background.
Wait for CalibrationFramesNumber frames, and only then enter the scene.
You can set these options via Nuitrack API as well:
nuitrack::setConfigValue(“Segmentation.Background.BackgroundMode”, “static_first_frame”);
nuitrack::setConfigValue(“Segmentation.Background.CalibrationFramesNumber”, “20”);
Please note that first 20 frames are used to calibrate the background - make sure that the sensor is not moved during this time and no users enter the frame (there should only be your background in front of a sensor). You can add some kind of a calibration counter that will be displayed in your project, which will help you to understand when the calibration is over.

You can try to remove the background, which can help to solve your issue (please use the latest version of Nuitrack):

  1. Find the section "Segmentation.Background" in the nuitrack.config file and replace the line "BackgroundMode": "dynamic" with these two lines: "BackgroundMode" : "static_first_frame", "CalibrationFramesNumber": 20
    It’ll turn on a static background model.
  2. Wait for CalibrationFramesNumber frames, and only then enter the scene. If you set 20 frames as mentioned above, the background should be static for 20 frames (no users, only background). This is very important - if a user appears in the frame immediately, during calibration, the background won’t be calculated and you won’t see any effect. You have to wait for some time after running the program to let Nuitrack calculate the background.

You can also set these options using Nuitrack API:

nuitrack::setConfigValue("Segmentation.Background.BackgroundMode", "static_first_frame"); nuitrack::setConfigValue("Segmentation.Background.CalibrationFramesNumber", "20");

1 Like