Azure Kinect SDKのインストールと各種ツールの使い方を紹介します。
シリーズリンク
- Azure Kinect DK ことはじめ - ブログ@kaorun55
- Azure Kinect SDKのインストールと各種ツールの使い方 - ブログ@kaorun55 (この記事)
- Azure Kinect DKの複数台外部同期(External Sync)の手順 - ブログ@kaorun55
概要
Azure Kinect SDKをインストールすることで、開発に必要なファイルやビューアーツール、Azure Kinect DKデータのレコーダー、ファームウェアアップデートツールなどが利用可能になります。
公式のドキュメントはこちら
SDKのインストール
Azure Kinect のSensor SDKはこちらからダウンロードして、インストールします。
BodyTracking SDKはこちらから
実行環境について
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
デフォルトのビューアーです。最初の動作確認に使用します。
Viewerの起動
スタートメニューから「Azure Kinect Viewer」を検索するか、インストールフォルダ(通常は C:\Program Files\Azure Kinect SDK vX.Y.Z)のtools以下にある「k4aviewer.exe」を起動します。
デバイスモードとレコーディングデータの再生モードを選択する
通常は「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のモード、カラーのフォーマットと解像度、フレームレートになります。
Depthのモード
Depthのモードとモードによる見え方の違いは下記になります。
カラーのフォーマットと解像度
カラーのフォーマットと解像度は下記になります。 BGRAについてはMJPEGをSDKでデコードして作成しているようです。
フレームレートはDepthとカラーの最大値の小さい方に引きずられます。
カラーカメラの設定
「Color Control」を開くとカラーカメラの各種設定を変更できます。
External Sync(外部同期)
外部同期の設定を行います(詳しくは後述)。同期ケーブルの接続はハード的に検出しておりSDKで取得ができます。
- 未接続
- Outのみ接続
- Inのみ接続
- In/Outともに接続
実行画面
Azure Kinect DKの動作を開始すると、2Dでの画面が表示されます。IR、Depth、カラー、IMUとセンサー温度、マイクが取得できます。
3D表示に切り替えると点群で表示されます。
再生モードの場合は、自動で再生が開始され録画データのフォーマットが表示されます。
recorder
録画ツールです。コマンドラインアプリのため、コンソール画面やbatファイルで起動します。
ドキュメントはこちら
パラメーター
パラメーターは下記の通りです。
よく使うのはカラーモードの「-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のインストールが必要です。
- CUDA 10.0
- cuDNN v7.5.x for CUDA 10.0
- Latest NVIDIA Driver
- Visual C++ Redistributable for Visual Studio 2015
インストールに関するドキュメントはこちらです。
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」を有効にした状態です。
うごいたーwwww pic.twitter.com/0GU3C1lKYU
— 中村 薫(Kaoru Nakamura) (@kaorun55) July 25, 2019
エラーについて
下記のようなエラーでしばらく動かなかったのですが、GeForceのドライバがエラーになっていたのでドライババージョンの問題だった可能性が高いです(今回はPCをリセットしてインストール手順を順に行いました)。
まとめ
SDKをインストールすることでAzure Kinect DKの動作確認とデータの録画ができます。
録画することで、アプリ開発の際に再現性のある状態にできるので、現場データの録画は開発の最初に行うと良いかと思います。