Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

ARもVRもMRもまとめてドドンドーン!

6,506 views

Published on

2017/07/15 Tokyo HoloLens Meetup vol.o4 登壇資料です。
https://hololens.connpass.com/event/59676/

Published in: Technology
  • Dating for everyone is here: ❤❤❤ http://bit.ly/2F90ZZC ❤❤❤
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • Follow the link, new dating source: ❤❤❤ http://bit.ly/2F90ZZC ❤❤❤
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here

ARもVRもMRもまとめてドドンドーン!

  1. 1. ARもVRもMRも まとめてドドンドーン! 株式会社ホロラボ 一般社団法人T.M.C.N 株式会社システムフレンド 前本 知志
  2. 2. ・KINECTやHoloLens等のセンサーデバイスを使ったアプリ (イベントコンテンツ、画像処理、画像認識、医療系) ARアプリ、VRアプリ、MixedRealityアプリなどを作っています。 http://www.systemfriend.co.jp/kinect_nui https://youtu.be/ZSXwhj8HqkE ・株式会社ホロラボ Co-founder(共同創設者) http://hololab.co.jp/ ・TMCN (Tokyo MotionControl Network) Co-founder(共同創設者) https://www.facebook.com/TokyoMotioncontrolNetwork ・著書「Intel RealSense SDK センサープログラミング」 https://www.shoeisha.co.jp/book/detail/9784798139630 ・Microsoft MVP for Windows Development https://mvp.microsoft.com/ja-jp/PublicProfile/5002154?fullName=Satoshi%20%20Maemoto 前本 知志 2 http://satoshi-maemoto.hatenablog.com/
  3. 3. 属性関連図 3 株式会社 システムフレンド 取締られ役 取締役 兼任 株式会社ホロラボ Co-fouder (共同創設者) 一般社団法人T.M.C.N Co-fouder (共同創設者) Microsoft MVP Windows Development (Windows Mixed Reality) 前本 知志 US Microsoft Corp. パートナー AR・MR・VR開発 センサー&デバイスコミュニティ HoloLens専門
  4. 4. https://www.facebook.com/TokyoMotioncontrolNetwork
  5. 5. 数年前から KINECT と Unityで いろいろ作ってきました
  6. 6. ダンス系コンテンツ  アキバで学べるパーティAKIPARTY vol.3 ~くりすますだお☆~
  7. 7. オタ芸とめっちゃ合う (横浜 岩崎学園ISCプログラミングコンテスト) https://youtu.be/ivL6ZxukTlo
  8. 8. http://www.systemfriend.co.jp/charamirror
  9. 9. ユニティちゃんと踊れる! 抱っこだってできる!(オクルージョンしてる) 2015/08/28 CEDEC 2015 https://youtu.be/ZSXwhj8HqkE
  10. 10. KINECTを使った MixedReality 実現に必要となった考え方
  11. 11. 現実世界と仮想世界の 座標系を合わせる  KINECTの3D骨格情報を取得(メートル座標系)  Unity座標系と対応させる (1Unity=1メートル設定で考える) X Y Z 1メートル ↓ 1Unity
  12. 12. 現実世界と仮想世界の カメラ位置と方向をシンクロさせる  KINECTのリアル設置位置とUnity内のカメラ位置、角度、視野を合わせる  KINECTの場合SDKのCoodinateMapperを駆使しリアルカメラ映像とCGのシンク ロを取る <三種の神器> • メジャー • 養生テープ • 三角関数
  13. 13. たのしいことになったw https://youtu.be/M8e9mCI-u80
  14. 14. さらに… リアルとバーチャルの重なりを考慮する  KINECTのDepthとCGのZバッファをGPUで高速に比較し物体の前後関係を判定 し表示する
  15. 15. GPUでの処理 – UnityでShaderを書く  基本的にはこんなに簡単 if (KINECTのDepth値<CGのZバッファ値) { return KINECTのColor; } else { return CGのピクセル; }
  16. 16. 現実空間とCGのMix -> MixedReality https://youtu.be/YxCGnmfChKk
  17. 17. 異なる世界をMixするには モノサシと基準を一致させる 超重要!
  18. 18. では世界の覗くカメラが 複数になったら 一体何がおこるんです?
  19. 19. 通常のコンテンツ
  20. 20. O 各デバイスで固有の仮想空間が作られ るデバイスローカルワールド。 各世界同士の関連はない。 O O
  21. 21. 単一の世界をシェアするには
  22. 22. O P1 P2 P3 世界の絶対中心Oを定義し、 そこを中心とした基準座標系を定義する。 各デバイスは自分が世界のどこにいてどこを見つ めているかがわかっている。 めざすもの
  23. 23. O O O 課題 デバイスはそれぞれが原点Oとなってそれぞれの座標 系で世界を見つめてしまう。 →現実空間と位置が合わせられない
  24. 24. まずは 基準座標系を定義する
  25. 25. O 床面に原点Oを定義する。 Oから赤マーク方向のベクトルが 世界の前方と決める。 これで「おれワールド」が定義され た。 青マーク、緑マークは後述するカメラ位置逆計 算のための補助マーカーである。
  26. 26. ところでなぜこれを始めたか  ひとつの対象物を複数のKINECTでスキャンしなければならない仕 事が舞い込んだ  デモの時は会議室に機材を持ち込んで短時間で設営・稼働させる 必要があった  KINECT位置を完全固定できるリグを作る時間もお金もないw  じゃあ、適当にKINECTを配置してもキャリブレーションがとれる仕組みを 勝手に作ろう
  27. 27. ところでなぜこれを始めたか ということで、2016年のGW中にプロトが完成し、以後ブラッシュアップが続いています。 今はオブジェクト同期のためのカスタマイズが容易な通信フレームワークの追加、 KINECTに加えHoloLensやTangoとのシェアリング、Spectator View対応も実施中、 MicrosoftのSharingより現状優れた点が多いということで導入が進んでいます。
  28. 28. Depthセンサーの キャリブレーション
  29. 29. O KINECTのカメラ映像からKINECTが 原点Oに対し3次元的にどの位置に配 置され、どこを注視しているのかを 逆計算する。 ※これはGPSの測位計算と似てる計算方法 みたいです。 算出にはカメラから最低3点への距離情報が 必要です。 O http://www.systemfriend.co.jp/node/708 https://youtu.be/WY2PDLq2dzo
  30. 30. X X X カメラと点の距離を半径とした3球の交点を求めるとそれがカメラの位置となる
  31. 31. X X X カメラ回転は3点でできる面の法線ベクトルNをもとに算出する。 つまり、リアル映像から求まる法線Nrと、 Unity内バーチャルカメラから見たVR空間内の法線Nvが一致するような Quaternionを求めればよい(結構大変だったw N
  32. 32. P1 複数のKINECTそれぞれのおれワールド原点Oに対する 相対設置位置、注視方向を計算から求めることができた! O P2 P3
  33. 33. Depthセンサーであれば大丈夫  RealSenseでもうごいています
  34. 34. (demo)
  35. 35. まとめてドドンドーン!
  36. 36. AR・VR・MRデバイスに関わらず、 “マルチデバイス”で 現実世界と重ねあわされた世界 を同時に体験するために必要な考え方
  37. 37. 要はこういうのが作れる
  38. 38. 他のデバイスを 世界に参加させる
  39. 39. P1 参加デバイスに共通世界の中心と向きのベクトルを教えてあげる。 各デバイスは世界の中心の見え方から自分の位置を逆計算しつつ コンテンツを表示する。 O
  40. 40. HoloLensの場合 世界の中心点と世界の向きを定義するARマーカーを Vuforiaで認識し世界にJoinする。
  41. 41. Google Tangoの場合 世界の中心点と世界の向きを定義するマーカーをタップして世界にJoinする。 (VuforiaとTango Cameraが同時に使えなかったので教えてエロい人!)
  42. 42. その他のデバイス  HTC VIVEやOculusのようなポジショントラックでき るコントローラーがあるデバイスは世界中心にコン トローラーを置いてキャリブレーションできる  スマホはARマーカーを認識してExtended Trackingを 有効にすれば誤差は生じるがキャリブレーション可 能  ARKitはSLAM能力すごいのですんなり入れそう
  43. 43. 自分が中心だったデバイスが、 ひとつの世界を覗く覗き窓に 役割を変えた
  44. 44. (demo)
  45. 45. https://youtu.be/kfslVIxSV-k
  46. 46. https://youtu.be/O9F4Pi1R6xE
  47. 47. https://youtu.be/Fm8khHTCp24
  48. 48.  AR,VR,MRの違いはあれど仮想空間または現実世界に 仮想世界を重ね合わせてみることに違いはない  現実世界はたった一つしかないのだから、そこを基 準に仮想世界を作り重ね、デバイスは世界をのぞく のぞき窓になればよい  基準作りと位置トラック(キャリブレーション)が 大切  各のぞき窓が世界をどのように眺めているかが判断 できれば一つのものを様々なデバイスから同時に見 たり、操作ができる まとめ

×