Azure Kinect Body Tracking SDK v1.1.0

Azure Kinect Body Tracking SDK v1.1.0がリリースされました。
この記事ではアップデートの内容を確認していきます。

Change Log

Azure Kinect Body Tracking SDK v1.1.0の主な変更は以下の通りです。

・CUDA 11にアップデート

Azure Kinect Body Tracking SDKでは姿勢推定の推論実行にONNX Runtimeを利用しています。
Azure Kinect Body Tracking SDK v1.1.0ではONNX RuntimeがアップデートされCUDA実行プロバイダーがCUDA 11とcuDNN 8を利用するようになりました。
これにより、NVIDIA GeForce 30XXシリーズのGPUがサポートされます。昨今の半導体不足と販売の収束により旧シリーズ(NVIDIA GeForce 10XXシリーズ、20XXシリーズ)のGPUが入手困難になったため要望が大きかった点です。

・CUDA以外の実行プロバイダーのサポート

これまでのAzure Kinect Body Tracking SDKではONNX RuntimeのCUDA実行プロバイダーを利用していたため、GPUを利用したリアルタイムの姿勢推定はNVIDIAのGPUを搭載した環境でしか動作しませんでした。
Azure Kinect Body Tracking SDK v1.1.0では新たにDirectML実行プロバイダーとTensorRT実行プロバイダーがサポートされました。これにより、AMD、IntelなどNVIDIA以外のGPUを搭載した環境でもリアルタイムの姿勢推定をすることができます。

この変更により、WindowsではK4ABT_TRACKER_PROCESSING_MODE_GPUはCUDA実行プロバイダーではなくDirectML実行プロバイダーに変更されています。また、明示的に実行プロバイダーを指定する定数が新たに追加されています。これまで通り、CUDA実行プロバイダーで動かしたい方はK4ABT_TRACKER_PROCESSING_MODE_GPU_CUDAを指定してください。

  • K4ABT_TRACKER_PROCESSING_MODE_GPU_CUDA
  • K4ABT_TRACKER_PROCESSING_MODE_GPU_TENSORRT
  • K4ABT_TRACKER_PROCESSING_MODE_GPU_DIRECTML

・軽量版モデルの追加

これまでリアルタイムに姿勢推定するにはGPUが必要でした。
Azure Kinect Body Tracking SDK v1.1.0ではこれまでと同じ精度重視のモデルに加え、速度重視の軽量版のモデル(dnn_model_2_0_lite_op11.onnx)が追加されました。これによりCPUでもリアルタイムに姿勢推定することができます。(軽量版のモデルは最大2倍高速に処理できる一方、精度は最大5%低下します。)

軽量版のモデルはk4abt_tracker_configuration_t.model_pathにモデルのパスを指定することで利用することができます。

// Set Tracker Configuration
k4abt_tracker_configuration_t tracker_configuration = K4ABT_TRACKER_CONFIG_DEFAULT;
tracker_configuration.sensor_orientation = K4ABT_SENSOR_ORIENTATION_DEFAULT;
tracker_configuration.processing_mode    = k4abt_tracker_processing_mode_t::K4ABT_TRACKER_PROCESSING_MODE_CPU;
tracker_configuration.model_path         = "C:/Program Files/Azure Kinect Body Tracking SDK/tools/dnn_model_2_0_lite_op11.onnx";

// Create Tracker with Configuration
tracker = k4abt::tracker::create( calibration, tracker_configuration );
if( !tracker ){
    throw k4a::error( "Failed to create tracker!" );
}

・NuGetパッケージでの提供停止

これまでAzure Kinect Body Tracking SDKはMSIインストーラーとNuGetパッケージで提供されてきました。 Azure Kinect Body Tracking SDK v1.1.0からMSIインストーラーのみでの提供となります。

これまでNuGetパッケージで利用していた方はMSIインストーラーに切り替えてください。

Known Issues

既知の問題として、以下が判明しています。
現状ではCUDA実行プロバイダーを利用するのがよいでしょう。

コメントをどうぞ

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です