Problematics

The frame timestamp is the time the frame was created. Its accuracy determines how accurately frames from different sensor streams can be matched. If the frame timestamp is not accurate, there will be dis-synchronisation between frames from different streams of the same sensor. This in turn affects the accuracy of the Nuitrack algorithms.

Solutions

Nuitrack has several options for the timestamp source, the following list is sorted from most accurate to least accurate:

We calculate metrics based on frame timestamps and make sure their values stay within the working range for Nuitrack algorithms. In some cases (depending on the sensor model and firmware), the timestamp sources provided by the sensor vendor (*device* and *system*) may not provide correct data, causing an exception to be thrown in Nuitrack. In this case, we recommend rolling back to a less accurate timestamp source from the list above.

To do this, change the value of the Sensing.TimestampSource.value parameter via API (Nuitrack::setConfigValue("Sensing.TimestampSource.value", "nuitrack")) or via the %NUITRACK_HOME%/data/nuitrack.config file.

Edge Cases

Orbbec Sensors

Windows

To make the device value of the timestamp source available, the metadata must be registered: https://github.com/orbbec/OrbbecSDK/blob/v1.10.18/misc/scripts/obsensor_metadata_win10.md