Date post: | 18-Jan-2015 |
Category: |
Technology |
Upload: | hagino-3000 |
View: | 1,629 times |
Download: | 1 times |
KinectとNUI
@hagino3000Jun. 2, 2011
Kinect勉強会 #2
1
@hagino3000 ?
2
3
4
About me
✴ Web Developer
✴ JavaScript
✴ 破滅
✴ java-ja.js
✴ Shibuya.NI というのをやっています
5
荒川智則個展とか (2011 Jan)
6
Mac App Storeにこっそりリリース
「kinect」で検索すると……7
ソースコードはgithubで公開しているので自分でビルドすれば無料です。
8
Shibuya.NI
http://groups.google.com/group/shibuya_ni
9
NUIとは
10
Natural User Interface
✴ 自然な動きを使ったインタフェース
✴ タッチセンサー
✴ モーションジェスチャー
✴ 音声認識
11
Natural!!
http://www.youtube.com/watch?v=Tio5OvIqToc
12
Natural違い
http://www.links.co.jp/html/press2/news_takekyel.html
13
Natural....?
http://www.youtube.com/watch?v=gWE8BP4vQyg
14
Next Generation Interface
http://en.wikipedia.org/wiki/Natural_user_interface
16
モーションジェスチャーを利用した
UIの実用化
17
深度画像を使った姿勢認識技術
✴ Microsoft
✴ XBOX 360 (Kinect SDK for Windows?)
✴ PrimeSense
✴ OpenNI/NITE
✴ Softkinetic
✴ iisu SDK
18
http://research.microsoft.com/pubs/145347/BodyPartRecognition.pdf
Microsoft 方式
19
http://www.freepatentsonline.com/y2011/0052006.html
PrimeSense 方式
20
Kinectを使ってコンピュータを操作する
✴ XBOX 360方式 (仮)
✴ Push方式 (仮)
✴ Hand Jesture方式 (仮)
21
✴ 同じポーズを取り続ける✴ 実装は簡単
Xbox 360 方式
http://www.youtube.com/watch?v=jhRFsX_1FgE
22
✴ 左クリックの代りに片方の手を前に突き出す
Push方式
http://www.youtube.com/watch?v=2HkKcFKzorQ
23
細かいジェスチャーを駆使した方式
✴ 手の握りや形状でモード変更
✴ 操作は快適(なはず)
✴ 実装が難しい
✴ 深度センサの精度的な問題
✴ 物体認識(機械学習 or アルゴリズム)の精度
24
こんな感じで実装できるはず
✴ NITEのHandGeneratorで手の位置を取得
✴ 手の周りだけ深度画像生成
✴ OpenCVで物体認識
✴ イベントfire
25
タッチパネルでいう所の次のイベントをfireしたい
✴ touchStart
✴ touchMove
✴ touchEnd
✴ gestureStart
✴ gestureEnd
✴ gestureChange
26
深度画像を使った物体認識
✴ 深度画像からサンプル画像を作成
✴ リアルタイムに入力を保存しまくると楽
✴ 深度画像からNG画像を作成
✴ OpenCVを使って機械学習
✴ OpenCV祭の資料がすごく参考になる
✴ http://www.slideshare.net/takmin/opecv-object-
27
DEMO
28
検出器→ OpenCV2.2で作成プログラム→ OpenCV1.1(ofxOpenCV)で作成
……使えず
29
実装してみた
✴ 片手でクリック or ドラッグandドロップ
✴ 手の部分を二値化 and コーナー検出
✴ コーナー数が急激に減少 → Mouse Down
✴ コーナー数が元に戻った → Mouse Up
✴ それなりに使える。が調節に時間がかかる。
30
まとめ
✴簡単な操作のみならKinectなUIもあり
✴複雑な操作は(実装が)難しい
✴まだまだこれから
31
Question?
32