HoloLens体験したのでVR, AR, MRまとめてみた

# 概要
こちらのイベントに参加しました。備忘録兼ねて技術的な部分をまとめます。
[医療とテクノロジーの未来について〜医療系学生なら知っておきたい最新技術の話〜](https://www.facebook.com/events/1636646423311357/)

イベントの趣旨は置いておいて、個人的に惹かれたのはVRやMRを利用して人体を空間に投影することで、手術前のシミュレーションや医学教育ができるという点でした。
[HoloEyes株式会社](http://holoeyes.jp/)のCOO杉本真樹さんが直接説明してくださったのでそれをまとめます。

個人的に動物の3D解剖教科書を作りたいと考えていたので、非常に得るものが多かったです。

# VR, AR, MRの違い
基礎的な点から。
僕も何度かネットで調べたのですがどうにもMRがわかりにくかったのですが、本日理解しました。

## VR
Virtual Reality、仮想現実です。
ヘッドマウントディスプレイを被ることで完全に仮想空間に没入します。
重要なのは、視界に現実は何も映らなくなることです。
左右の視界にそれぞれ微妙に影や向きが異なる映像を映すことで立体感を錯覚させます。

ヘッドマウントディスプレイには以下のようなものがあります。
[HTC VIVE](https://www.vive.com/jp/): 10万円
[Oculas Rift](https://www.oculus.com/rift/): 8万円
[Sony PS VR](http://www.jp.playstation.com/psvr/hardware/cuhj16000.html): 4.5万円

ちなみにPS VRは仮想空間を自由に移動することはできないらしいです。
あくまで座った状態でのプレイを想定しており、完全なVRとは言えないとのこと。

スマホをセットするような安価なものだと、こんなものがありますね。
原理的には、スマホに2つの画面を表示して左右の視界に別々に映すだけなので段ボールでも作れます。
[ハコスコ VRゴーグル 二眼モデル](https://hacosco.com/product/): 2000円

## AR
Augmented Reality、拡張現実です。

現実に仮想のものを映し出す技術ですね。
[Pokémon GO](http://www.pokemongo.jp/)なんかはこれです。
任天堂の[ARゲームズ](https://www.nintendo.co.jp/hardware/3ds/ar/index.html)やコカコーラの[自販機AR](https://secure-j.cocacola.co.jp/info/faq/detail.htm?faq=18509)などもそうです。

デバイス経由の視界には基本的には現実のものが写っており、そこに一部仮想のものが投影されています。

ARでは一見現実に物体が現れたように見えます。しかし、Pokémon GOやったらわかると思いますが、ちゃんと地面に立ってるわけではありません。
スマホを動かすとスルスル滑っているような印象を受けます。結局、カメラで写した現実の上に画像を貼り付けたようなものです。

[富士通 zSpace](http://www.fujitsu.com/jp/solutions/business-technology/vr-solution/index.html)はVRソリューションと銘打っていますが、この定義から行くとARが正確なんでしょうね。

## MR
Mixed Reality, 複合現実です。

今までARとの違いがいまいちわかっていなかったのですが、キーワードは現実との整合性です。
ARは現実との連携がいまいちでした。
一方、MRでは例えば、仮想イメージを椅子の上に乗せたりできます。
そして椅子を引けば、それに乗っていた物体は支えを失って落下します。
このように現実を認識してそれに適応するような状態で仮想イメージを表現する技術がMRです。

[Microsoft HoloLens](https://www.microsoft.com/microsoft-hololens/ja-jp/buy): 33万円

他にも装着者の指の動きを認識するので、指をタップすることで空中に表示されたウィンドウを操作することもできます。

ちなみに何故このようなことができるかというと、常にデバイスから四方にセンサーを飛ばし、部屋中の物体の立体構造をリアルタイムで把握しているからです。
だから上記のようなことが可能になるらしいです。
高いのも納得です。
（VRでは利用者の位置を赤外線センサーなど外部センサーで認識しています。）

## SR
Substitutional Reality, 代替現実です。
今回は登場しなかったので多くは語りません。

## XR
Extended reality, 訳語見つからず。直訳すればARと同じ拡張現実になるんですかね。
ここまで出てきたVRやMRなどをひっくるめた総称らしいです。
<blockquote class="twitter-tweet" data-lang="ja"><p lang="ja" dir="ltr">【IT用語】<br>最近、VRに加えてARやMRがネタになることが増えたから、丸っとテクノロジーが作り出す様々なリアリティのことを話す時は 「Extended reality」、「 XR(読み方:エックスアール)」という単語を用いて表現しています。</p>&mdash; 戸倉彩 (Aya Tokura) (@ayatokura) <a href="https://twitter.com/ayatokura/status/846937932829261824">2017年3月29日</a></blockquote>
<script async src="//platform.twitter.com/widgets.js" charset="utf-8"></script>

---
以降はHoloEyes株式会社の製品とそこで使われている技術の紹介です。


# [HoloeyesVR](https://play.google.com/store/apps/details?id=jp.HoloEyes.HoloeyesVR&hl=ja)
HoloEyes株式会社が開発したVRアプリです。
人体の3D構造をVRで見ることができます。
無料でダウンロードできます。

会場ではHTC VIVEにインストールされたものを体験できました。
VRなので、異空間に人体模型があるという感じでした。

両手のコントローラーで模型を手前に持ってきたり、回転させたり操作します。
面白かったのは臓器の中も見ることができ、例えば肝臓に頭を突っ込んで血管走行を確認するという使い方ができました。

YouTubeに動画がありました。
[HoloEyesVR 6](https://www.youtube.com/watch?v=CQZF-jRjjpo)

# HoloEyes Mixed Reality Viewer
こちらはHoloLens用のMRアプリです。
まだ製品化はされていないのでしょうか。
こちらもYouTubeに操作イメージがアップされていました。

[HoloLens Mixed Reality Surgery: holographic augmented mixed reality navigation (HoloEyes VR 2016)](https://www.youtube.com/watch?v=qLGD570I1OE)
[【HoloEyes Mixed Reality Viewer】 powered by #HoloEyes #HoloLens
](https://www.youtube.com/watch?v=QHhb7FE0I6Y)

こちらは現実空間に臓器を出現させています。
HoloLensを装着した複数人で視界を共有することができるので、手術前に患部を見ながら複数人で検討することもできますね。

技術的な話もあったので紹介します。

## 概要
まずCTスキャンのデータをAzureに投げ、3Dデータを作成します。
これをUnityのアセットにして、アプリで利用しているとのことでした。

## CTスキャン
CTスキャンで患者の全身の輪切り画像を取得します。
これらの画像はDICOMファイルとして出力されます。拡張子は.dcmです。

人体のDICOMファイルは[OsiriX公式](http://www.osirix-viewer.com/resources/dicom-image-library/)をはじめとして幾つかの場所から無料ダウンロードできるみたいです。
こちらでも紹介されていました。[DICOMサンプルファイル](http://d.hatena.ne.jp/ebi_ryo/20121219/1355913546)
開発に使えますね。

ざっと調べたのですが、犬のDICOMファイルをダウンロードできるサイトが見つかりませんでした。もしご存知の方がいたら教えていただけたら幸いです。

## Azure
ご存知MicrosoftのAzureにDICOMファイルを投げて、ポリゴンにしているらしいです。
ポリゴン化の流れは次のOsiriXの項に譲ります。

詳しい説明がなかったのですが、調べたら[CloudDicom](http://caririehr.azurewebsites.net/Documentation/CloudDicom)というサービスがありました。こちらを利用しているのでしょうか。
はっきりとしたことがわかったら追記します。

いずれにせよ、DICOMファイルからポリゴンデータを生成するという処理をAzure上で行っているようです。
時間的にはアップロードして３０秒でポリゴンデータが得られるようです。
よって、CTスキャンを撮ってすぐ患者にMRアプリで自分の体を見てもらうという使い方ができます。

## [OsiriX （オザイリックス）](http://www.newton-graphics.co.jp/osirix)
OsiriXはMacアプリケーションで、DICOMファイルを３次元構造として扱うことができます。
[こちら](http://www.osirix-viewer.com/osirix/osirix-md/)から無料でダウンロードできます。
（有料版は動きが軽量らしい）

しかし、この状態（DICOM）だと情報が多く。非常に重いのでポリゴン化します。
DICOMデータがみっちりしたデータだとすると、ポリゴンは臓器の輪郭など必要な情報だけを残したハリボテ状態とのことでした。こうすることでMRアプリ内で軽く扱うことができます。

以下の参考サイトに詳しいことが書いてありました。
[DICOMデータをＳＴＬに変換し、３Ｄプリントで造形します！](http://3dcad.kenkatukazoku.jp/index7.html)

この一連の処理をAzureで行っているということでしょうか。ここも曖昧です。


## [Unity](http://japan.unity3d.com/)
VRアプリ作成では必ず目にしますね。
HoloEyesでもアプリの作成にはUnityを使っているそうです。

ちなみにUnreal EngineはHoloLensに対応していないようです。

できないことはないようですが、理由がなければ素直にUnityを使うのが良さそうです。
[UE4 HoloLens上でUE4のUWPアプリを実行するまで](http://unrealengine.hatenablog.com/entry/2017/03/11/000502)

あとはスマホなり他デバイスなりに合わせて開発を行います。

話を聞く限り、開発は無料で行えるようです。意外でした。
病院のOsiriXが無料でも使えるとは。勝手に馬鹿高いと思ってました。

## Freeform
[Geomagic Freeform](http://www.geomagic.com/ja/products/freeform/overview)は3Dスキャンデータをモデリングを行うツールです。
こちらの[紹介ページ](http://www.nihonbinary.co.jp/Products/VR/Haptic/FreeForm/)がわかりやすいです。

削っている感覚がフィードバックとして与えられるので手術の練習にも利用できそうです。


# 参考書籍
以下の書籍が参考になるとのことです。
[VR/AR 医療の衝撃](https://www.amazon.co.jp/o/ASIN/4862463711/bdbooks-22)
[OsiriX画像処理パーフェクトガイド](https://www.amazon.co.jp/OsiriX%E7%94%BB%E5%83%8F%E5%87%A6%E7%90%86%E3%83%91%E3%83%BC%E3%83%95%E3%82%A7%E3%82%AF%E3%83%88%E3%82%AC%E3%82%A4%E3%83%89-%E6%9C%80%E6%96%B0%E7%89%88-Ver-5-9-6-0%E5%AF%BE%E5%BF%9C-%E6%9D%89%E6%9C%AC/dp/4767819059/ref=sr_1_1?s=books&ie=UTF8&qid=1491026240&sr=1-1&keywords=osirix+%E7%94%BB%E5%83%8F%E5%87%A6%E7%90%86)


勝手にハードルが高いものだと思っていましたが、思った以上に手軽に開発をスタートができそうでした（デバイスは高価ですが）。
今後、これらの技術の習得過程を記事にできたらと思います。