ブログ@kaorun55

HoloLensやKinectなどのDepthセンサーを中心に書いています。

Azure Kinect SDKのインストールと各種ツールの使い方

Azure Kinect SDKのインストールと各種ツールの使い方を紹介します。

シリーズリンク

概要

Azure Kinect SDKをインストールすることで、開発に必要なファイルやビューアーツール、Azure Kinect DKデータのレコーダー、ファームウェアアップデートツールなどが利用可能になります。

公式のドキュメントはこちら

docs.microsoft.com

SDKのインストール

Azure Kinect のSensor SDKはこちらからダウンロードして、インストールします。

www.microsoft.com

BodyTracking SDKはこちらから

www.microsoft.com

実行環境について

Azure Kinect DKのプログラムを開発環境以外で動作させるときはSDKのインストールは不要で、実行ファイル(exe)と関連DLL(k4a.dll, depthengine_1_0.dll, k4arecord.dll)のみで動作します。

Azure Kinect DKはUVC(USB Video Class)という標準ドライバで動作し間に入るサービスもないため、センサーをUSB接続し、アプリ一式のみで実行可能となります。

Azure Kinect Viewer

デフォルトのビューアーです。最初の動作確認に使用します。

f:id:kaorun55:20190719215812p:plain

Viewerの起動

スタートメニューから「Azure Kinect Viewer」を検索するか、インストールフォルダ(通常は C:\Program Files\Azure Kinect SDK vX.Y.Z)のtools以下にある「k4aviewer.exe」を起動します。

f:id:kaorun55:20190719222133p:plain

デバイスモードとレコーディングデータの再生モードを選択する

f:id:kaorun55:20190719222653p:plain

通常は「Open Device」から該当のシリアル番号(複数接続されているときのAzure Kinect DKの識別子)を開きます。1つのAzure Kinect Viewerアプリでは1台のAzure Kinect DKのみ扱えるので、複数台のAzure Kinect DKを操作する場合には複数のAzure Kinect Viewerアプリを起動しOpenするAzure Kinect DKを変更します。

記録データの再生を行う場合には「Open Recording」に録画ファイル(拡張子 mkv)のパスを入力(ダイアログはないのでパスをコピペしますw)してmkvファイルを選択します。

Azure Kinect DKのデバイス設定

Azure Kinect DKの動作を開始する前にデバイスの設定を行います。

基本的な設定としては、Depthのモード、カラーのフォーマットと解像度、フレームレートになります。 f:id:kaorun55:20190719222948p:plain

Depthのモード

Depthのモードとモードによる見え方の違いは下記になります。

f:id:kaorun55:20190719223240p:plain f:id:kaorun55:20190719223245p:plain

カラーのフォーマットと解像度

カラーのフォーマットと解像度は下記になります。 BGRAについてはMJPEGをSDKでデコードして作成しているようです。

フレームレートはDepthとカラーの最大値の小さい方に引きずられます。

f:id:kaorun55:20190719223727p:plain

カラーカメラの設定

「Color Control」を開くとカラーカメラの各種設定を変更できます。

f:id:kaorun55:20190719223919p:plain

External Sync(外部同期)

外部同期の設定を行います(詳しくは後述)。同期ケーブルの接続はハード的に検出しておりSDKで取得ができます。

  • 未接続
    • f:id:kaorun55:20190719224319p:plain
  • Outのみ接続
    • f:id:kaorun55:20190719224204p:plain
  • Inのみ接続
    • f:id:kaorun55:20190719224206p:plain
  • In/Outともに接続
    • f:id:kaorun55:20190719224209p:plain

実行画面

Azure Kinect DKの動作を開始すると、2Dでの画面が表示されます。IR、Depth、カラー、IMUとセンサー温度、マイクが取得できます。

f:id:kaorun55:20190719215812p:plain

3D表示に切り替えると点群で表示されます。

f:id:kaorun55:20190719225122p:plain

再生モードの場合は、自動で再生が開始され録画データのフォーマットが表示されます。

f:id:kaorun55:20190719225150p:plain

recorder

録画ツールです。コマンドラインアプリのため、コンソール画面やbatファイルで起動します。

ドキュメントはこちら

docs.microsoft.com

パラメーター

パラメーターは下記の通りです。

f:id:kaorun55:20190719225438p:plain

よく使うのはカラーモードの「-c」やDepthモードの「-d」あたりでしょうか。

例えば1080pのNFOV、Binnedは下記のようになります。

k4arecorder.exe -c 1080p -d NFOV_2X2BINNED -r 30 nfov_bined_1.mkv

1080pのWFOV、Unbinnedは下記のようになります。

k4arecorder.exe -c 1080p -d WFOV_UNBINNED -r 15 wfov_unbined_1.mkv

録画されたmkvはAzure Kinect Viewerで再生できます。

k4abt_simple_3d_viewer

BodyTracking用のサンプルアプリです。BodyTracking SDKをインストールすると「C:\Program Files\Azure Kinect Body Tracking SDK\tools」にインストールされます。

k4abt_simple_3d_viewerはONNXを使用しているため、関連するCUDAのインストールが必要です。

インストールに関するドキュメントはこちらです。

docs.microsoft.com

CUDAは10.0固定となっており、インストールしてPCを再起動することで利用可能となります。CUDAをインストールする際に、GeForceのドライバのバージョンが下がる場合があるので、最新のドライバをインストールしなおします。

cuDNN はZIPでダウンロードするので、展開して「cudnn64_7.dll」にパスを通すかexeと同じ場所に置きます。

最後にVisual Studio 2015のRuntimeをインストールします(すでにインストール済みと出る場合にはそのまますすみます)。

この状態で実行すると動作し、下記のキーボード操作が可能になります。

  • ESC: quit
  • h: help
  • b: body visualization mode
  • k: 3d window layout

下記の動画は「body visualization mode」と「3d window layout」を有効にした状態です。

エラーについて

下記のようなエラーでしばらく動かなかったのですが、GeForceのドライバがエラーになっていたのでドライババージョンの問題だった可能性が高いです(今回はPCをリセットしてインストール手順を順に行いました)。

f:id:kaorun55:20190725234446p:plain

まとめ

SDKをインストールすることでAzure Kinect DKの動作確認とデータの録画ができます。

録画することで、アプリ開発の際に再現性のある状態にできるので、現場データの録画は開発の最初に行うと良いかと思います。