Download Azure Kinect Body Tracking SDK
This document provides links to install each version of the Azure Kinect Body Tracking SDK.
Azure Kinect Body Tracking SDK contents
- Headers and libraries to build a body tracking application using the Azure Kinect DK.
- Redistributable DLLs needed by body tracking applications using the Azure Kinect DK.
- Sample body tracking applications.
Windows download links
Linux installation instructions
Currently, the only supported distribution is Ubuntu 18.04. To request support for other distributions, see this page.
libk4abt<major>.<minor>-dev package contains the headers and CMake files to build against
libk4abt<major>.<minor> package contains the shared objects needed to run executables that depend on
libk4abt as well as the example viewer.
The basic tutorials require the
libk4abt<major>.<minor>-dev package. To install it, run
sudo apt install libk4abt1.0-dev
If the command succeeds, the SDK is ready for use.
When installing the SDK, remember the path you install to. For example, "C:\Program Files\Azure Kinect Body Tracking SDK 1.0.0". You will find the samples referenced in articles in this path. Body tracking samples are located in the body-tracking-samples folder in the Azure-Kinect-Samples repository. You will find the samples referenced in articles here.
- [Bug Fix] Fix issue that the SDK crashes if loading onnxruntime.dll from path on Windows build 19025 or later: Link
- [Feature] Add C# wrapper to the msi installer.
- [Bug Fix] Fix issue that the head rotation cannot be detected correctly: Link
- [Bug Fix] Fix issue that the CPU usage goes up to 100% on Linux machine: Link
- [Samples] Add two samples to the sample repo. Sample 1 demonstrates how to transform body tracking results from the depth space to color space Link; sample 2 demonstrates how to detect floor plane Link
- [Feature] C# support. C# wrapper is packed in the nuget package.
- [Feature] Multi-tracker support. Creating multiple trackers is allowed. Now user can create multiple trackers to track bodies from different Azure Kinect devices.
- [Feature] Multi-thread processing support for CPU mode. When running on CPU mode, all cores will be used to maximize the speed.
- [Feature] Add
k4abt_tracker_configuration_tstruct. Allow users to specify GPU device that is other than the default one to run the body tracking algorithm.
- [Bug Fix/Breaking Change] Fix typo in a joint name. Change joint name from
- [Feature] Add hand joints support. The SDK will provide information for three additional joints for each hand: HAND, HANDTIP, THUMB.
- [Feature] Add prediction confidence level for each detected joints.
- [Feature] Add CPU mode support. By changing the
k4abt_tracker_configuration_t, now the SDK can run on CPU mode which doesn't require the user to have a powerful graphics card.
- [Feature] Publish a new DNN model dnn_model_2_0.onnx, which largely improves the robustness of the body tracking.
- [Feature] Disable the temporal smoothing by default. The tracked joints will be more responsive.
- [Feature] Improve the accuracy of the body index map.
- [Bug Fix] Fix bug that the sensor orientation setting is not effective.
- [Bug Fix] Change the body_index_map type from K4A_IMAGE_FORMAT_CUSTOM to K4A_IMAGE_FORMAT_CUSTOM8.
- [Known Issue] Two close bodies may merge to single instance segment.
- [Breaking Change] Update to depend on the latest Azure Kinect Sensor SDK 1.2.0.
- [API Change]
k4abt_tracker_createfunction will start to take a
- [API Change] Change
k4abt_frame_get_device_timestamp_usecto be more specific and consistent with the Sensor SDK 1.2.0.
- [Feature] Allow users to specify the sensor mounting orientation when creating the tracker to achieve more accurate body tracking results when mounting at different angles.
- [Feature] Provide new API
k4abt_tracker_set_temporal_smoothingto change the amount of temporal smoothing that the user wants to apply.
- [Feature] Add C++ wrapper k4abt.hpp.
- [Feature] Add version definition header k4abtversion.h.
- [Bug Fix] Fix bug that caused extremely high CPU usage.
- [Bug Fix] Fix logger crashing bug.
- [Bug Fix] Fix memory leak when destroying tracker
- [Bug Fix] Better error messages for missing dependencies
- [Bug Fix] Fail without crashing when creating a second tracker instance
- [Bug Fix] Logger environmental variables now work correctly
- Linux support
- [Breaking Change] Downgraded the SDK dependency to CUDA 10.0 (from CUDA 10.1). ONNX runtime officially only supports up to CUDA 10.0.
- [Breaking Change] Switched to ONNX runtime instead of Tensorflow runtime. Reduces the first frame launching time and memory usage. It also reduces the SDK binary size.
- [API Change] Renamed
- [API Change] Broke
k4abt_frame_get_body()into two separate functions:
k4abt_frame_get_body_id(). Now you can query the body ID without always copying the whole skeleton structure.
- [API Change] Added
k4abt_frame_get_timestamp_usec()function to simplify the steps for the users to query body frame timestamp.
- Further improved the body tracking algorithm accuracy and tracking reliability