【イベント】「HoloLens 2 x MR Azure Services で実現する世界」に参加してきた【ふりかえり】

# イベント概要

| イベント | [MR 徹底解説] HoloLens 2 x MR Azure Services で実現する世界 |
|:-----------------|:------------------|
|日時|2019/12/10(火) 13:00-15:00|
| URL | https://www.microsoftevents.com/profile/form/index.cfm?PKformID=0x8310715abcd |
| 形式 | セミナー |


# 内容
## HoloLens2自体について
11/07に世界出荷開始、日本では現在出荷準備中
純粋な改善点などはHPなどを参照

操作方法として、手のジェスチャ、音声認識、アイトラッキングがある
しかし、アイトラッキングは操作可能であることを認識しづらいので、操作可能であることを明示しないと使われない可能性が高い
こういった事例も含んだ、デザインガイドラインを公開しているとのこと

## Azure Cognitive Services と HoloLens2
Azure Cognitive Services は AzureのAIサービスで、最近内容が拡張された
画像解析、音声認識、言語解析、データ解析などが行える

## Azure IoT と HoloLens2
IoTデバイスとのデータ連携について
HoloLensの話というよりは、AzureのIoTサポートについてのお話

- 紹介された応用例
    - 工場のラインの状況が表示されます
    - 閾値に入ってなくても、故障の可能性があるということを(学習すれば)通知できます
    - HoloLens上で位置がわかりやすく表示できます
    - 機器の操作手順や修理手順をHoloLens上で立体的に確認できます
    - 機器のIoTデバイスからの信号を元に、手順の進行状態がHoloLens上に表示されます

- Azure IoT Central (SaaS)
機器の閾値や通信状態によって通知を起こすなどができる

- Azure IoT Solution Accelarator (PaaS)
得たデータを分析・機械学習することで、予測などによる通知などが行える
以下は構成の概要
    - Azure IoT Hub
詳細は後述、Azure Stream Analyticsとデータを授受
    - Azure Stream Analytics
得たデータの分析、Azure Mechanical Learningへデータ提供、Azure Storageに保存
    - Azure Mechanical Learning
機械学習を行う
    - Azure Storage
中間のレコード保持、Web Appなどに利用
    - Web App (Dashboard)
ダッシュボードをWebアプリとして出せる、これを使ってHoloLens2などに通知できる

- Azure IoT Hub
IoTデバイスとHoloLens間でのコマンド伝送や、Azure Stream Analyticsへの情報伝送等を行う

- Azure Sphere
通信のセキュアをSphere専用チップ、専用OS、専用Azure Serviceによって確保している
IoTデバイス、Azureサービス、デベロッパを結ぶインフラ

このセクションにおけるHoloLensへの言及は、以下3点程度

- IoTデバイスから得た情報を表示できる
- Cognitive Seviceでラベルを読んでデバイスの特定に使える
- Cognitive Service無しだとHoloLens1だと専用マーカー、HoloLens2ではQRコードなどで特定する
    - デバイスの位置が固定なら、後述のSpatial Anchorで位置情報からデバイスを特定することも可能

## Azure Spatial Anchors と HoloLens2
Mixed Reality Serviceの一部
空間座標の情報を保持、利用するもの
Minecraft Earthなどに利用されている

複数のユーザーと空間座標の情報(Anchor)を共有し連携できる
複数種のデバイス間でもAnchorの情報を共有可能(HoloLens1, HoloLens2, iPhone with ARKit, Android with ARCore)
複数のAnchorの間の関連性をつけられる(相対座標をとって道案内とか)

## Azure Kinect DK
海外発売中、日本も2020/03発売予定
HoloLensと直接の関係はない
前身はXboxコントローラーのKinect v1, v2だが、比べて開発者向けに
給電が5Vとか(?)になったので、ロボットやドローン(400g抱えられるもの)にも活用が期待される

Azure Cognitive Serviceと連携可能
カラーカメラによるセンシングはHoloLens2と同様
赤外線カメラ、赤外線情報を生データでとることはKinect DKのみ可能、HoloLens2では不可
Kinect DKは3台連携可能

- 開発者向けキット
    - Sensor SDK : 物体検知, i3とかでも動く
    - Body Tracking SDK : 骨格検知, 関節や目などの24箇所の座標が取れる, ハイスペックPC&NVIDIA必須
　　　

- レイヤー構成のイメージ

|Application|Application|Application|Application|
|:----------------:|:-----------------:|:------------------:|:------------------:|
|↑|Azure Vision Sevice|Body Tracking SDK|↑|
|Azure Speech Service|Sensor SDK|Sensor SDK|Sensor SDK|
|Azure Kinect DK|Azure Kinect DK|Azure Kinect DK|Azure Kinect DK|

QiitaのMarkDownの表には結合を制御するものはないのかな？

## 質疑
- 開発において、Unity か Unreal のどちらで進めるがいいか
現状ではUnityの方が対応が進んでいる
Spatial Anchor はUnityのみ対応
Azure Cognitive ServiceのサンプルコードはC#(Unity)の方がC++(Unreal)より多い
もちろんUnrealの方がデータ量の多いモデルは作れるが、HoloLens2自体の解像度を考えるとオーバーな可能性がある

## その他紹介
### 今後のイベントの予定
1月以降もHoloLens2関連のイベントを行う予定
そちらは開発向けの内容にしようか検討している

### Azure Remote Rendering
現在開発中
クラウドでレンダリングし、HoloLens2へストリーミングする
UnityやUnrealの(どちら/両方への)対応は未決定

# ふりかえり
黄色いふりかえりの人こと[森さんのこちらの記事](https://qiita.com/viva_tweet_x/items/bde2ad37167c595b5f7e#2-%E3%82%A4%E3%83%99%E3%83%B3%E3%83%88%E3%82%92%E6%B4%97%E3%81%84%E5%87%BA%E3%81%99)を参考に、YWT(やったこと・わかったこと・次やること)の手法で振り返っていきます
単独でのふりかえりのため、個人の関心により焦点が偏りがある可能性がありますのでご了承ください

## Y : やったこと(聞いたこと)
- HoloLens2の解像度はそこまで高くないこと
- HoloLens2からは操作方法がHoloLens1と比べより直感的になり、ハンズフリー操作も可能になったこと
- HoloLens2とAzure Cognitive Serviceとの連携により、高度な分析や解析を行えるようになったこと
- Mixed Realityの多人数の同時干渉について、Spatial Anchorsが活用されていること
- HoloLens2向け開発において、対応状況的にUnity+C#が有利なこと

## W : わかったこと(思ったこと)
- 高い解像度を必要とする用途への応用は工夫が必要なこと(精密な操作をしながら細かな参照画像を見るなど)
- 操作チュートリアルの必要性が減り、アミューズメント系への応用ハードルが低くなったこと
- 両手が埋まっている状態での操作ができるようになり、両手作業中の使用という応用の幅が広がったこと
    - 音声認識+通常モニターでも可能ではあると思うので、HoloLens2の必然性はケース次第なこと
- AIとの連携性が高まりやSpatial Anchorsの応用など、目を向ければ情報が出るような「SF的Mixed Reality」に近づきつつあること

## T : 次やること
- 会社でHoloLens2をビジネス検討のために予約しているようなので、検討チームへの参加に名乗りを上げてみる
    - HoloLens2をいじってみたい
- Unity+C#で何かつくってみたい
    - Unityを用いた個人開発のアプリなどをよくスマートフォンなどで見るようになったので、障壁は少しずつ下がってきているようにも思えるため

## 私的な感想
紹介された事例では2Dでも事足りそうな物が多いので、無理に取り入れるほどではないように感じてしまった
しかし、技術自体の興味深さや他の応用例の面白さは目をみはるものがあった
Spatial Anchors、今はトライアルなので無料でいじれるとか触れていた気がする

たとえ会社のビジネスとして今は採用されなかったとしても、今後一気にトレンドが変化してもいいように、こうした技術をフォローしていく必要があると思った