WorldKit: Rapid and Easy Creation of Ad-hoc Interactive Applications on Everyday Surfaces
CHI 2013
Human-Computer Interaction Institute Carnegie Mellon University
Robert Xiao
Chris Harrison
Scott E. Hudson



Abstract
- Ubiquitous computingのようなコンピュータに簡単にアクセスできるような仕組みが必要
- 我々はそれを深度カメラとプロジェクタの2つを用いて実現する方法を提案する
- 尚且つHardware and Software 両方の視点から簡単に実装できるものである
Introduction
- いつでもどこでも必要な時に利用出来るシステムの作成が世界中で進んできている
- WorldKitは素早く、日常の一部をtouch-based interfacesにすることができる
- それは深度とビジョンのセンシングを利用している
- Kinectとプロジェクタは一度キャリブレーションを行えばその後行う必要はない
- と言いつつも簡単なキャリブレーションは投影面を変えるたびに行う必要がある(誰でもできるレベルのもの)
- ソフトウェア側からも拡張性の高いものにすることで高い汎用性を実現

Interaction
- 本システムはユーザにとって素早く簡単に操作することが可能
- 都度必要なキャリブレーションはとても簡単で30秒かからない
- A,B:オブジェクトを塗る
- C:オブジェクトにはデフォルで向きが決まっている
- D:オブジェクトの外周をドラッグすることで向きを変更できる
- E:上記の動作が終わればインタフェースとして利用可能となる
- このシステムを使うことで例えばユーザは椅子に座ったままテレビの自分なりのインタフェースを作成することができる(必要なボタンだけを配置することができる)

Interaction
- 様々なオプションが考えられるが1つ例として声認識を上げる
- "activate DVR"と言うと前回のデザインが表示される
- "design DVR"と言うと新たにインタフェースを作成できる
- またスマートフォンもトリガーとして利用出来ると考えている

-Triggering Interfaces and Interface Design-
System Implementation
-Hardware and Software Basics-
- Microsoft Kinect & Mitsubishi EX320U-ST projector
- depth 50cm ~ 500 cm/ approximately 0.5%
- programmed in Java
- 30 FPS(depth camera)

System Implementation
-One-Time Projector / Depth Camera Calibration-
- プロジェクタにキネクトをマウントした時に一度だけ行う
- 3つの50cm角のスチレン紙
- そのうちの7つの同一平面ではない角(corners)を利用すれば十分
- マウントの仕方を変えない限りはキャリブレーションは不必要
- 投影面を変えるごとに自動でキャリブレーションが行われる

System Implementation
-Basic Contact Senesing-
- 本システムは二つの目的のためにセンシングをする
- 1つ目はインタフェースを作成するとき、location/scale/orientationの決定するため
- 2つ目は多くのinteractor types を動かすため

System Implementation
-Basic Contact Senesing-
- 高い質のセンシングを可能にするためにfig4の行程がある
- A:kinectから見た映像
- B:深度カメラの映像(青がタッチできるピクセルの色)
- C:赤が触ってるところ/白がインタラクタ/他はマスク
- D:向きを真上から見てるように補正
- E:output映像
- F:上から見た映像

System Implementation
-Software Structures-
- WorldKit はインタラクションの高いカスタム性も提供
- Javaで書かれておりライブラリとしても提供
- 3次元構造で記述しているため拡張性が高い


System Implementation
-Instantiating Interactors-
- 従来のものはinteractionを作るためにparametersを利用している
- 本システムはpainted,linked,rememberedの三つも用いている
- painted:interactor をpaintingすることで作成する
- linked:instantiationとの接続も我々が提供しているcodeを用いることで可能
- remembered:stored dataを行うことで前回の記録を呼べる
System Implementation
-Geometry Rectification for Input and Output-
- RGB images are updated 30 time per second
- 歪んだ斜めの映像をrectification matrix を用いてcoordinateすることによって2Dでinteractionを扱うことができる
- 使いたい人は3Dでもできるようになってもいます
System Implementation
-Interactor Library-
- Table 1.に示すようなライブラリを提供してる
- インタラクタはタッチの有無、位置、接触面積、手の移動、明るさや色の検知をするものが準備されておりそれらを組み合わせてインタラクタ作成する

Example Application
-Living Room-
- テレビのリモコンってよくなくなるよね
- でもこれを使えばなくすこともないし全てをソファに座ったまま行うことができる
- interfaceを隠したり出したりも自由
- 部屋の明るさ、音量、DVR

Example Application
-Office Door-
- 部屋の中の人が状況を示すためのシステム
- A:office door
- B:interactionを塗ります
- C~E:ドアの開閉を検知し、"in meeting","working","just knock"のラベルをドアにつけます
- F:ドアが開いているときはラベルが見えなくなります
- G:ドアが開いているときはボタンが現れuserはそれを選択できます

Example Application
-Office Desk-
- tiggering contactを使ってシステム
- キーボードに触れると横の壁にカレンダーが表示される
- 2D position interactor は常にwhiteboard に投影されている
- キーボードから手を離せばカレンダーは消える

Example Application
-Kitchen-
- 複雑なレシピのために必要な材料を準備するのって嫌ですよね
- simple recipe helper interfaceを作りました
- userに材料を置くためのsuitably-sized flat surface を選択します
- userはレシピを選べば自動でレイアウトが表れます

Future Work & Conclusion
- より多くのアプリケーションを実現するためにより多くのライブラリをさらに提供する
- how input spaces might be delimited
- how end-users might quickly and easily instantiate interactors
- Feedback をどのようにして与えるか(projectorの色を使わず)
- depth camera とprojectorが改善されたらfiltering, detection, recognition, and displayも改善される
-
例えばdepthカメラがより高解像になれば細かなfingerトラッキングもできるようになる
- audio output/inputについても検討中
まとめ
- ハードウェアとソフトウェアの側面からのアプローチ
- 利用者と開発者、2つにとって利用価値を想定
- Example Applicationの必要性
2016/10/14輪講
By Keisuke Soma
2016/10/14輪講
- 200