快速入门:设置 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
- 选择下载人体跟踪 SDK 的链接
- 在电脑上安装人体跟踪 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 点云和跟踪到的人体。
指定 ONNX 运行时执行环境
人体跟踪 SDK 支持使用 CPU、CUDA、DirectML(仅限 Windows)和 TensorRT 执行环境来推断姿态估计模型。 K4ABT_TRACKER_PROCESSING_MODE_GPU
默认在 Linux 上执行 CUDA,在 Windows 上执行 DirectML。 添加了三种附加模式来选择特定的执行环境:K4ABT_TRACKER_PROCESSING_MODE_GPU_CUDA
、K4ABT_TRACKER_PROCESSING_MODE_GPU_DIRECTML
和 K4ABT_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 的示例。