你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

快速入门:设置 Azure Kinect 人体跟踪

本快速入门将引导你完成在 Azure Kinect DK 上运行人体跟踪的过程。

系统要求

人体跟踪 SDK 要求在主机电脑中安装 NVIDIA GPU。 系统要求页中描述了建议的人体跟踪主机电脑要求。

安装软件

安装最新的 NVIDIA 驱动程序

请下载并安装显卡的最新 NVIDIA 驱动程序。 旧版驱动程序可能与随人体跟踪 SDK 一起重新分发的 CUDA 二进制文件不兼容。

Visual C++ Redistributable for Visual Studio 2015

下载并安装 Microsoft Visual C++ Redistributable for Visual Studio 2015。

设置硬件

设置 Azure Kinect DK

启动 Azure Kinect 查看器来检查是否已正确设置 Azure Kinect DK。

下载人体跟踪 SDK

  1. 选择下载人体跟踪 SDK 的链接
  2. 在电脑上安装人体跟踪 SDK。

验证人体跟踪

启动 Azure Kinect 人体跟踪查看器来检查是否已正确设置人体跟踪 SDK。 该查看器是使用 SDK msi 安装程序安装的。 可以在开始菜单或 <SDK Installation Path>\tools\k4abt_simple_3d_viewer.exe 中找到它。

如果没有足够强大的 GPU 但仍想测试结果,可以通过以下命令在命令行中启动 Azure Kinect 人体跟踪查看器<SDK Installation Path>\tools\k4abt_simple_3d_viewer.exe CPU

如果设置全都正确,应会显示一个窗口,其中包含 3D 点云和跟踪到的人体。

Body Tracking 3D Viewer

指定 ONNX 运行时执行环境

人体跟踪 SDK 支持使用 CPU、CUDA、DirectML(仅限 Windows)和 TensorRT 执行环境来推断姿态估计模型。 K4ABT_TRACKER_PROCESSING_MODE_GPU 默认在 Linux 上执行 CUDA,在 Windows 上执行 DirectML。 添加了三种附加模式来选择特定的执行环境:K4ABT_TRACKER_PROCESSING_MODE_GPU_CUDAK4ABT_TRACKER_PROCESSING_MODE_GPU_DIRECTMLK4ABT_TRACKER_PROCESSING_MODE_GPU_TENSORRT

注意

ONNX 运行时会针对未加速的操作码显示警告。 可放心忽略这些警告。

ONNX 运行时包括用于控制 TensorRT 模型缓存的环境变量。 建议的值为:

  • ORT_TENSORRT_ENGINE_CACHE_ENABLE=1
  • ORT_TENSORRT_CACHE_PATH="pathname"

在开始人体跟踪之前,必须先创建该文件夹。

重要

与其他执行环境相比,TensorRT 在推理之前会对模型进行预处理,导致启动时间延长。 引擎缓存将此预处理限制为第一次执行,但是它是实验性的,并且特定于模型、ONNX 运行时版本、TensorRT 版本和 GPU 模型。

TensorRT 执行环境同时支持 FP32(默认)和 FP16。 FP16 的性能提高到原来的约 2 倍,而准确度下降却极小。 指定 FP16 的方式:

  • ORT_TENSORRT_FP16_ENABLE=1

ONNX 运行时执行环境所需的 DLL

模型 ORT 1.10 CUDA 11.4.3 CUDNN 8.2.2.26 TensorRT 8.0.3.4
CPU msvcp140 - - -
onnxruntime
CUDA msvcp140 cudart64_110 cudnn64_8 -
onnxruntime cufft64_10 cudnn_ops_infer64_8
onnxruntime_providers_cuda cublas64_11 cudnn_cnn_infer64_8
onnxruntime_providers_shared cublasLt64_11
DirectML msvcp140 - - -
onnxruntime
directml
TensorRT msvcp140 cudart64_110 - nvinfer
onnxruntime cufft64_10 nvinfer_plugin
onnxruntime_providers_cuda cublas64_11
onnxruntime_providers_shared cublasLt64_11
onnxruntime_providers_tensorrt nvrtc64_112_0
nvrtc-builtins64_114

示例

可在此处找到有关如何使用正文跟踪 SDK 的示例。

后续步骤