HoloLens

Hololensの深度センサーデータを取得するサンプルを動かす(HoloLens RS4 Preview)

はじめに

2018年3月末にWindows 10 の次期バージョン RS4(Redstone 4)のHoloLens 対応プレビュー版が公開されました。
本記事ではRS4で公開されたResearch modeを使って深度センサーデータを取得するサンプルを動かしてみます。
公式サイトにはComing soon: sample applications and documentation to leverage sensor data will be posted in April 2018.とあるので近々公式のサンプルとドキュメントは公開されそうですね。

RS4へのアップデートはまだプレビュー版です。お試しになる際はよく考えてからお試しください。
この記事は2018/4/3時点の情報です。最新の情報でない可能性がありますので十分ご注意ください

手順その1 HoloLensのアップデート

まずはHoloLensのOSをRS4に更新するためのプレビュー版のインストールを行います。詳細な手順は高橋 忍さんが詳細に書いて下さっているので、下記リンク先のページを参照してください。
https://blogs.msdn.microsoft.com/shintak/2018/03/28/hololensrs4preview/

手順その2 Research modeの開放

RS4のインストールが完了し、初期設定が終わったら、新しくなったDevice Portalを開きます。(HoloLens側のDevice Portalの有効化をお忘れなく)

下記の図の通りSystem→Research modeと選択し、"Allow access to sensor streams." のチェックボックスをチェックします。
image.png

チェックを入れたらHoloLensを再起動するのですが、その前にチェックボックスの下にあるリンクをクリックし、今回使用するサンプルがあるHoloLensForCVのGitHubのページを開いておくとよいです。

手順その3 サンプルプロジェクトの取得

HoloLensForCVのGitHubのページを開いたら、ここがポイントなのですが、masterではなくfeature/api_updatesにブランチを切り替えてリポジトリをクローン/ダウンロードして下さい。
image.png

zipファイルをダウンロードした場合は解凍する前にファイルのプロパティを開き、セキュリティのチェックボックスにチェックを入れ、ファイル解凍時の処理がブロックされないようにしてください。
image.png

手順その4 サンプルプロジェクトのビルド、デプロイ

サンプルプロジェクトのクローンもしくは解凍ができたら、プロジェクトのソリューションファイル(HoloLensForCV.sln)を開きます。
今回の深度センサーデータを取得するサンプルはStreamerというアプリなので、下記の通りRelease,x86,Streamerを設定し、ビルド、デプロイします。(私はVisial Studio 2017 ver 15.5.2の環境でビルドしました。buildに関するwikiの通りの環境であればビルドできると思います。)
image.png

エラー対処

もしビルド中に文字コードについてのエラー(「error C2220: 警告をエラーとして扱いました。'object' ファイルは生成されません。」や「warning C4819: ファイルは、現在のコード ページ (932) で表示できない文字を含んでいます。データの損失を防ぐために、ファイルを Unicode 形式で保存してください。」)が発生した場合は該当のファイルを開き、エンコード付きで保存→UTF-8シグネチャ付きで上書き保存後、再度ビルドしてください。(私のビルド時はmat.hpp,persistence.hpp,utility.hppの3ファイル対応しました。)
image.png

image.png
image.png

実機での実行

実機にデプロイされると以下のようにセンサー情報の赤い画面が表示されます。
コードの内容的にShortThrowToFReflectivityなので短距離の深度センサーの情報が表示されているようですね。
動画.gif

終わりに

今回はサンプルの実行までですが、RS4で公開された機能でできることはかなり広がったと思います。
何ができるかワクワクしますね。