SlideShare a Scribd company logo
1 of 26
Download to read offline
OpenAppLab センサーコース
KINECT
Mixed Reality
一般社団法人T.M.C.N / 株式会社システムフレンド
前本 知志
・システムフレンドという会社でセンサー&デバイス部長やってます!
KINECT等のセンサーを使ったアプリ(イベント用コンテンツ、医療ヘルスケア系)
スマフォのARアプリ(最近はやりのぬり絵してキャラに取り込めるやつとか)
を作っています。
http://www.systemfriend.co.jp/kinect_nui
・エアー書道では何度かテレビ出演をしています
2013年1月6日 東京MX TV 「Tokyo, Boy」 新年スペシャル
2013年8月26日 日本テレビ 「NEWS ZERO」 などなど。
・TMCN (Tokyo MotionControl Network) Co-founder(理事)
https://www.facebook.com/TokyoMotioncontrolNetwork
自己紹介
こういうのを作ってます。
https://youtu.be/ZSXwhj8HqkE
https://youtu.be/YxCGnmfChKk
書籍執筆
https://www.shoeisha.co.jp/book/detail/9784798139630
Intel RealSense SDK
センサープログラミング
2015/5/12発売
中村 薫, 前本 知志, 斎藤 裕佑,
谷口 直嗣, 初音 玲
(Tokyo MotionControl Network)
2016/01/23 update
RealSenseハッカソンで優勝しました。
RealSenseでMRしました。
http://www.systemfriend.co.jp/node/687
このセッションのながれ
1
• Mixed Reality(MR)とは
2
• KINECT-MR実現へのステップ
3
• KINECT-MR GPU処理について
Mixed Reality(MR)とは
複合現実
(ふくごうげんじつ、英: Mixed Reality、MR)
とは、現実空間と仮想空間を混合し、現実のモ
ノと仮想的なモノがリアルタイムで影響しあう
新たな空間を構築する技術全般を指す。複合現
実感とも。
拡張現実と拡張仮想を包含する概念である。
空間的整合性、時間的整合性、光学的整合性な
ど実空間と合致させる要素によって、その性質
が評価される。
Wikipediaより
AR : Augumented Reality
現実世界の上に仮想世界(CG)を上書きする。
現実世界の映像上にCGを重ね合わせる。
映像の表示優先度は常に 現実世界<CG
Screen
High layer
AR の例
VR : Virtual Reality
現実世界からの情報を100%カットし、仮想世界(CG)に没
入する。
現実世界の映像、自分の手などの物体をセンシングして
融合する場合もCGオブジェクトとしてそれらが登場する。
映像の表示比率は常に 現実世界:CG = 0:100
Screen
Separate
CG World
Include
VR の例
MR : Mixed Reality
現実世界と仮想世界(CG)を融合する。
融合結果の前後関係を反映した状態の映像が創り出され
る。
MRを実現するためには現実世界の3Dスキャンが必要と
なる。
Screen
+
MR World
CG World
Real World
MR の例
KINECT-MR
実現へのステップ
with Unity3D
KINECTでのMR(きゃらみらー)
• KINECTのColorとDepthを利用してMR映像をリア
ルタイムに生成する
• KINECTを頭に装着し、MR映像をHMDに入力す
れば動き回れないHoloLensになる状態
STEP.1 座標系を合わせる
• KINECTの3D座標系(メートル座標系)
とUnity座標系と対応させる
(Unity内の1単位=1メートルと考える)
X
Y Z
1メートル
↓
1Unity
STEP.2 二つの世界のカメラを同期
• リアル世界のKINECTの設置高と注視点、Unity
内のMainCameraのY位置と注視点を合わせる
0.8m
0.5m
4.0m
0.8
4.0
0.5
=
STEP.2 二つの世界のカメラを同期
「きゃらみらー」では、、
• 初期状態でMainCameraは(0,0,0)にある
• KINECTのBodyFrame.FloorClipPlane.Wが床に対する
KINECTの高さを表すのでY位置を自動同期する
• MainCameraは(0,Y,0)から(0,1,4)を見つめるように傾
きを自動設定する。
• KINECTのカメラが見つめる位置を4メートル先の床
上空1メートルになるように手動調整する
(KINECTのチルトをAPIで制御できれば自動ででき
たのに…)
STEP.3 二つの世界の映像を重ねる
弊社開発風景
STEP.3 二つの世界の映像を重ねる
「きゃらみらー」では、、
• MainCameraと別にKINECTのカラー映像だけを
取得するSubCamera(Projection=Orthographic)
を用意している
• SubCameraの映像をMainCameraの無限大に遠方
にある背景映像として合成。
• 理由:MainCameraのProjectionはPerspectiveで遠
近法が適用されるため同一カメラで2D映像を
表示させたPlane等をとらえる手法では周辺部
が歪んで位置が合わなくなるため
ここはいろんなやり方があるので後述
するShaderで吸収することもできる
KINECT-MR
GPU処理について
リアルとバーチャルの
重なりを計算する
• KINECTのDepthとCGのZバッファをGPUで高速に
比較し物体の前後関係を判定し表示する
GPUでの処理
• 基本的にはこんなに簡単
if (KINECTのDepth<CGのZバッファ)
{
return KINECTのColor;
}
else
{
return CGのピクセル
}
CGのZバッファ(_CameraDepthTexture)からはスクリーン座標をキーにして
アクセスします。詳しくは調べてみてください^^
だが言うは易し…
発生する課題
• スムーズな体験をするためには秒間30フレーム
を下回らない処理スピードを保持する
• メインメモリ→GPU転送は低速だが、下記は転
送しなければならない
1. RGBカラー映像(1920x1080 Full-Color Full-HD)
2. KINECTのDepthデータ(512×424)
3. RGBとDepthのマッピングデータ(1920x1080 )
• Zバッファに書き込みをしないshaderを使って
いるオブジェクトやパーティクルは表示されな
くなる
だが言うは易し…
「きゃらみらー」では、、
• メインメモリ→GPUへのデータ転送を数フレー
ムに渡って分割したり、送る頻度を展示中でも
リアルタイムに調整できる
→少々送るのがずれても体験として気にならな
いものを見極め、この処理の対象とする
• パーティクルについては専用の表示レイヤーを
設けて表示されるようにしている。
その代わりパーティクルについてはMRでなく
AR表示となるがあまり気にならない感じ
最後に
ぜひがんばってHoloLensが出る前にこれを作っ
てください!

More Related Content

What's hot

第2回スマートフォン講座
第2回スマートフォン講座第2回スマートフォン講座
第2回スマートフォン講座
Shinichi Kosaki
 

What's hot (14)

世界を変える先端Itテクノロジー
世界を変える先端Itテクノロジー世界を変える先端Itテクノロジー
世界を変える先端Itテクノロジー
 
ハイテクで最新なブーブークッションをつくってみました
ハイテクで最新なブーブークッションをつくってみましたハイテクで最新なブーブークッションをつくってみました
ハイテクで最新なブーブークッションをつくってみました
 
Kinect Camp with TMCN 「Kinectでできる"楽しい"事例紹介」
Kinect Camp with TMCN 「Kinectでできる"楽しい"事例紹介」Kinect Camp with TMCN 「Kinectでできる"楽しい"事例紹介」
Kinect Camp with TMCN 「Kinectでできる"楽しい"事例紹介」
 
KinectV2×Unityなら ゲームからヘルスケアまで
KinectV2×Unityなら ゲームからヘルスケアまでKinectV2×Unityなら ゲームからヘルスケアまで
KinectV2×Unityなら ゲームからヘルスケアまで
 
VR/AR/MRってなんですか?
VR/AR/MRってなんですか?VR/AR/MRってなんですか?
VR/AR/MRってなんですか?
 
Unityでホログラフィックunityちゃんを呼び出す方法
Unityでホログラフィックunityちゃんを呼び出す方法Unityでホログラフィックunityちゃんを呼び出す方法
Unityでホログラフィックunityちゃんを呼び出す方法
 
デブサミ2015 KINECT V2+UnityでVRコンテンツを作ってみたら楽しかった
デブサミ2015 KINECT V2+UnityでVRコンテンツを作ってみたら楽しかったデブサミ2015 KINECT V2+UnityでVRコンテンツを作ってみたら楽しかった
デブサミ2015 KINECT V2+UnityでVRコンテンツを作ってみたら楽しかった
 
ARもVRもMRもまとめてドーン
ARもVRもMRもまとめてドーンARもVRもMRもまとめてドーン
ARもVRもMRもまとめてドーン
 
Kinect * Unity で立体視するよ!
Kinect * Unity で立体視するよ!Kinect * Unity で立体視するよ!
Kinect * Unity で立体視するよ!
 
ARもVRもMRもまとめてドーン
ARもVRもMRもまとめてドーンARもVRもMRもまとめてドーン
ARもVRもMRもまとめてドーン
 
ARもVRもMRもまとめてドドンドーン!
ARもVRもMRもまとめてドドンドーン!ARもVRもMRもまとめてドドンドーン!
ARもVRもMRもまとめてドドンドーン!
 
Micde slide
Micde slideMicde slide
Micde slide
 
第2回スマートフォン講座
第2回スマートフォン講座第2回スマートフォン講座
第2回スマートフォン講座
 
活動量計について
活動量計について活動量計について
活動量計について
 

Viewers also liked

Viewers also liked (6)

Magical Mirror
Magical MirrorMagical Mirror
Magical Mirror
 
LODGEのいいところあげていきます!
LODGEのいいところあげていきます!LODGEのいいところあげていきます!
LODGEのいいところあげていきます!
 
Kinect やセンサーデバイスと連動した楽しいアプリ開発
Kinect やセンサーデバイスと連動した楽しいアプリ開発Kinect やセンサーデバイスと連動した楽しいアプリ開発
Kinect やセンサーデバイスと連動した楽しいアプリ開発
 
気持ちよい操作感を演出するスタイリッシュモーションという考え方
気持ちよい操作感を演出するスタイリッシュモーションという考え方気持ちよい操作感を演出するスタイリッシュモーションという考え方
気持ちよい操作感を演出するスタイリッシュモーションという考え方
 
EC-CUBE Ver2とVer3 どう違う? 構築と運用の実際
EC-CUBE Ver2とVer3 どう違う? 構築と運用の実際 EC-CUBE Ver2とVer3 どう違う? 構築と運用の実際
EC-CUBE Ver2とVer3 どう違う? 構築と運用の実際
 
URA ONI GOCCO-VR JUM ハッカソン結果報告
URA ONI GOCCO-VR JUM ハッカソン結果報告URA ONI GOCCO-VR JUM ハッカソン結果報告
URA ONI GOCCO-VR JUM ハッカソン結果報告
 

Similar to KINECT Mixed Reality

スマホアプリ向け Cpi ad network「adcrops」
スマホアプリ向け Cpi ad network「adcrops」スマホアプリ向け Cpi ad network「adcrops」
スマホアプリ向け Cpi ad network「adcrops」
Hiromitsu Ishimori
 

Similar to KINECT Mixed Reality (20)

TMCN と HMCNって何? という質問にお答えします。
TMCN と HMCNって何? という質問にお答えします。TMCN と HMCNって何? という質問にお答えします。
TMCN と HMCNって何? という質問にお答えします。
 
vrmr-170602064754 2.pdf
vrmr-170602064754 2.pdfvrmr-170602064754 2.pdf
vrmr-170602064754 2.pdf
 
センサー・VR・MR 基本とオススメ
センサー・VR・MR 基本とオススメセンサー・VR・MR 基本とオススメ
センサー・VR・MR 基本とオススメ
 
楽しいものづくり ファーストステップ
楽しいものづくり ファーストステップ楽しいものづくり ファーストステップ
楽しいものづくり ファーストステップ
 
Internet of UNCで実現する新しい共有体験
Internet of UNCで実現する新しい共有体験Internet of UNCで実現する新しい共有体験
Internet of UNCで実現する新しい共有体験
 
2012 6 6_ga_tracker_chinaminamoto_slideshare
2012 6 6_ga_tracker_chinaminamoto_slideshare2012 6 6_ga_tracker_chinaminamoto_slideshare
2012 6 6_ga_tracker_chinaminamoto_slideshare
 
HoloLensとさまざまなデバイス連携ドドンドーン
HoloLensとさまざまなデバイス連携ドドンドーンHoloLensとさまざまなデバイス連携ドドンドーン
HoloLensとさまざまなデバイス連携ドドンドーン
 
SUPER HIGH-TECH UNC で実現する新しい世界
SUPER HIGH-TECH UNC で実現する新しい世界SUPER HIGH-TECH UNC で実現する新しい世界
SUPER HIGH-TECH UNC で実現する新しい世界
 
Archer
ArcherArcher
Archer
 
クソアプリのつくり方
クソアプリのつくり方クソアプリのつくり方
クソアプリのつくり方
 
Leap motion 実践活用 ダイジェスト版
Leap motion 実践活用 ダイジェスト版Leap motion 実践活用 ダイジェスト版
Leap motion 実践活用 ダイジェスト版
 
[Japanese] Developing a bot for your workspace 翻訳ボットを作る!
[Japanese] Developing a bot for your workspace 翻訳ボットを作る![Japanese] Developing a bot for your workspace 翻訳ボットを作る!
[Japanese] Developing a bot for your workspace 翻訳ボットを作る!
 
作るツールから支えるツールへ - Movable Typeと外部システムの連携事例 -
作るツールから支えるツールへ - Movable Typeと外部システムの連携事例 -作るツールから支えるツールへ - Movable Typeと外部システムの連携事例 -
作るツールから支えるツールへ - Movable Typeと外部システムの連携事例 -
 
TouchDesigenr Beginners' workshop vol.003
TouchDesigenr Beginners' workshop vol.003TouchDesigenr Beginners' workshop vol.003
TouchDesigenr Beginners' workshop vol.003
 
3stepwallet
3stepwallet3stepwallet
3stepwallet
 
九州ソフトウェアテスト勉強会 Vol15
九州ソフトウェアテスト勉強会 Vol15九州ソフトウェアテスト勉強会 Vol15
九州ソフトウェアテスト勉強会 Vol15
 
Swift愛好会_ライブラリを使わずにゴリゴリと
Swift愛好会_ライブラリを使わずにゴリゴリとSwift愛好会_ライブラリを使わずにゴリゴリと
Swift愛好会_ライブラリを使わずにゴリゴリと
 
App inventorで想いを形に
App inventorで想いを形にApp inventorで想いを形に
App inventorで想いを形に
 
スマホアプリ向け Cpi ad network「adcrops」
スマホアプリ向け Cpi ad network「adcrops」スマホアプリ向け Cpi ad network「adcrops」
スマホアプリ向け Cpi ad network「adcrops」
 
CES 2016 report ~スマートホーム系ベンチャー動向~
CES 2016 report  ~スマートホーム系ベンチャー動向~CES 2016 report  ~スマートホーム系ベンチャー動向~
CES 2016 report ~スマートホーム系ベンチャー動向~
 

More from Satoshi Maemoto

More from Satoshi Maemoto (10)

xR Developerなら知っておきたいカメラの基礎知識
xR Developerなら知っておきたいカメラの基礎知識xR Developerなら知っておきたいカメラの基礎知識
xR Developerなら知っておきたいカメラの基礎知識
 
MIXED REALITY に REALITY を PLUS するハプティクス技術
MIXED REALITY に REALITY を PLUS するハプティクス技術MIXED REALITY に REALITY を PLUS するハプティクス技術
MIXED REALITY に REALITY を PLUS するハプティクス技術
 
広島でMixed Realityやりましょう!
広島でMixed Realityやりましょう!広島でMixed Realityやりましょう!
広島でMixed Realityやりましょう!
 
UNC progress report
UNC progress reportUNC progress report
UNC progress report
 
TMCN振り返り 令和ver
TMCN振り返り 令和verTMCN振り返り 令和ver
TMCN振り返り 令和ver
 
今話題の!AIoT MR UNCで変わる世界
今話題の!AIoT MR UNCで変わる世界今話題の!AIoT MR UNCで変わる世界
今話題の!AIoT MR UNCで変わる世界
 
FESTA de UNC
FESTA de UNCFESTA de UNC
FESTA de UNC
 
UNC近況報告
UNC近況報告UNC近況報告
UNC近況報告
 
xRLT vol.01 LT
xRLT vol.01 LTxRLT vol.01 LT
xRLT vol.01 LT
 
きゃらみらーでユニティちゃんと踊ろう!
きゃらみらーでユニティちゃんと踊ろう!きゃらみらーでユニティちゃんと踊ろう!
きゃらみらーでユニティちゃんと踊ろう!
 

Recently uploaded

Recently uploaded (12)

知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
 
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
 
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsUtilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 

KINECT Mixed Reality