VRを使ったData Visualizationの可能性について
Data Visualization Advent Calendar 2014 - Qiita
18日目の記事です。
Oculus Riftから始まり、Google Cardboardでスマートフォンに広がる手軽な没入型VRを使ったData Visualizationの可能性について書きます。
3Dで見るということ
今年の2月に機会があり、神戸で行われた外科手術用のロボットda Vinciを操作できる会に参加してきました。
da Vinci開発元のIntuitive Surgicalのサイト
こちらがda Vinciのロボットアーム部分です、患者のお腹に穴を空けて、黒い小さなアームが体内に入り手術をします。中央の棒にはライトとステレオカメラがあります。
こちらがda Vinciのオペレーションする部分です。外科医は中央のレンズからステレオ映像を見ながら、その下にあるマニピュレーターを操作して手術をします。
立体視の方法はOculus Riftと同じ方式で、サイドバイサイドの映像を右目と左目で別々に見るようになっています。
体験会では、このようなシリコン製の突起に空いた、2mm程度の穴に輪ゴムを通すという操作をしました。
ロボットの操作は5分ぐらいやってみると、すぐにコツがつかめて輪ゴム通しも出来るようになりました。3億円するだけあって、UIとして非常に良くできているなと思い、どこが良くできているのだろうと考えてみた結果、ステレオ映像で立体で見えることと、ちょうどモニター内で見えている鉗子(ロボットアーム)の位置と操作するマニピュレーターの位置が感覚的に一致しているというのがミソだという結論に至りました。
実際の操作は奥行きがある3Dの操作なので、3Dで見えるというのはごく自然です。というか2Dのモニターを見ながら3Dの操作をするというのは、大きさから位置関係を把握して、そこから奥行きを予測するという大変な事を脳がやっていることに気がつきました。
Oculus Riftで3Dのデータに入り込む
CTスキャンのデータは、スキャン方向に連続した画像のシークエンスです。
Osirixという医療用のビューワーでシーケンスをみているスクリーンショットです。
Osirixでスライダーを動かすと、画像のデータを切り替えてみることができます。
Osirixでは、3D表示機能もあり、このように3Dのモデルでデータを見る事が可能です。
さらに3Dモデルをexportできるので、3Dモデルをexportして、Unityに取り込んで、Oculusアプリ化してみました。
ゲームコントローラーで、カメラの位置を自由に移動できるようにしてみました。
写真のアプリでは、さらに皮膚のモデルも生成して、青い半透明のレイヤーとして表示させています。
見るから探検という体験へ!
「頭蓋骨の中に入って頭蓋骨の中から外を見たらどんな感じか見てみたい」という欲求から作ってみたアプリですが、データの中にダイブするという体験をしてみて発見がありました。
こちらは、頭蓋骨と首が繋がっている部分です。こんな面白い形をしていました。
これは、Oculusをかぶってウロウロ&キョロキョロして発見した部分です。
こちらは、心臓が動いている状態をCTスキャンしたデータから3Dモデルのシーケンスをつくってアニメーションさせたデモです。映っているのは造影剤を点滴してCTスキャンした様子です。血液が映っているので普段よく見る心臓の形とは少し違いますが、血液の動きにより血管が動いている様が、どのような角度からも3Dで見る事ができます。
Heart Beat for Oculus VR
VRを使った Data Visualizationの可能性
CTスキャンのデータを3Dモデルに起こしたものをOculus Rift DK2を使って見るという例を紹介してみました。VRを使うと多数のデータを直感的に捉えることができるのでは無いかと思います。例えば、GISデータであれば地図上に色分けをして表示していた統計データを高さで表すことにより、どこの部分のデータが回りと比べてどれぐらいの違いがあるかなどは、データを見慣れていない人にも直感で把握できます。
Data Visualization Japan meetup#2
Data Visualization Japan meetup#2でLTをさせて頂きます。当日はOculus Rift DK2も持って行くので、データの中にダイブする体験をしてみて下さい。