今日からはじめるkinect hack

Post on 13-Jan-2015

4.823 Views

Category:

Technology

0 Downloads

Preview:

Click to see full reader

DESCRIPTION

Kinect勉強会 Vol1での発表資料 (At Feb. 23, 2011)

TRANSCRIPT

今日からはじめるKinect Hack

hagino3000Feb. 23, 2011 Kinect勉強会 Vol.1

1

@hagino3000 ?

2

Twitter

3

4

About me✴ Web Developer

✴ まともに書けるのはJavaScriptだけ

✴ 破滅クルー

✴ java-ja.js

✴ 荒川智則個展ではKinectを使って展示

5

荒川智則個展にて (Jun. 2011)

6

Agenda

✴ Introduction

✴ Drivers for Kinect

✴ openFrameworks

✴ Live coding with Xcode and C++

✴ Kinect with Browser

7

アンケート結果

8

Hack用のKinectを持っている

Yes46

No40

9

既にHackしまくっている

Yes11

No35

10

Introduction

11

12

Buy it!!

13

Kinect Hackの始まり✴昨年11月にKinectのオープンソースドライバに2,000ドルの賞金がかけられた。

✴ Hector Martinが現在のlibfreenectを公開して賞金をゲット

✴この時はまだ日本においてKinect未発売

14

libfreenect

✴ Windows/MacOS/Linux

✴ C++/Python

✴深度と光学映像が取れる

16

Natural Interactionwww.openni.org

17

OpenNI

✴ Natural Interactionの開発者組織

✴ Kinectの赤外線センサの開発元であるPrimeSence社が支援、ドライバを公開

✴ Natural Interactionデバイス扱うためのインタフェースを定義

18

Natural Interaction

✴ Speech and command recognition, where devices receive instructions via vocal commands.

✴ Hand gestures, where pre-defined hand gestures are recognized and interpreted to activate and control devices.

✴ Body Motion Tracking, where full body motion is tracked, analyzed and interpreted for gaming purposes.

19

<="" p=""/>

http://www.openni.org/documentation

20

骨格認識を行なうNITEは図のMiddle ware部に相当

21

MSの見解

22

XBOXでチートやらなければよし。

23

OpenNI + PrimeSensor Moduleが主流になりつつある

(MacOSにも対応)

25

Many Hacks

✴ Media Art

✴ Computer Interface

✴ Sex Game Controller

26

一方その頃日本では✴ミクミクダンス

✴ズゴック

✴ウルトラセブン

27

openFrameworks

29

http://www.openframeworks.cc/

30

openFrameworks✴メディアアートの様なインタラクション向けのフレームワーク

✴ C++

✴ Kinectドライバをラップしたaddonが存在する (ofxKinect / ofxOpenNI)

✴簡単に動く物が作れる

31

Demo

32

Webブラウザとの連携

33

Socket通信でnode.jsやTornadeに渡してからWebSocketでブラウザへ送信する方法が良く取られる

34

var http = require('http'), io = require('socket.io'), zmq = require('zeromq');

var server = http.createServer();server.listen(9876);

// Setupvar webSocket = io.listen(server);webSocket.on('connection', function(client) { // do something});

// C++ Program ==> node.js ==> Browservar zsocket = zmq.createSocket('sub');zsocket.on('message', function(event, data) { webSocket.broadcast(data);});zsocket.connect('tcp://127.0.0.1:14444');zsocket.subscribe('event');

35

Question?

36

Thank you

37

top related