110820 tech aid_lt_kinect_pub

28
田田 田田 (@tanaka_733) 2011/08/20 1 Kinect 田田田田田田田 田田田田田

Upload: -

Post on 22-Jun-2015

1.021 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: 110820 tech aid_lt_kinect_pub

1

田中 孝佳 (@tanaka_733)

2011/08/20

Kinect プログラミング始めました

Page 2: 110820 tech aid_lt_kinect_pub

2

自己紹介 @tanaka_733 お仕事

Silverlight(Web, C#) 使い + Java 使い クラウド使い (AWS, Azure)

趣味 Windows Phone 7, Kinect, Azure など

好きな言語 C#, F#, Scheme, Erlang

Blog: 銀の光と藍い空  http://techblog.hilife-jp.info/

2011/08/20Tech・ Aid 2011 夏

Page 3: 110820 tech aid_lt_kinect_pub

32011/08/20

Kinect プログラミングしていますか?

Tech・ Aid 2011 夏

Page 4: 110820 tech aid_lt_kinect_pub

42011/08/20

Kinect持っていますか?

Tech・ Aid 2011 夏

Page 5: 110820 tech aid_lt_kinect_pub

5

Kinect を入手しましょうKinect 単体購入

• そのまま PC につなげます• Xbox なくても問題なし!

Xbox との同梱版

• USB ケーブルがついていない• サポート経由で購入できるらしい

1 台の PC に複数の Kinect も OK

2011/08/20Tech・ Aid 2011 夏

Page 6: 110820 tech aid_lt_kinect_pub

6

Kinect SDK で開発しましょう Kinect SDK Beta を入手

http://research.microsoft.com/en-us/um/redmond/projects/kinectsdk/download.aspx

サポート環境が結構厳しい Windows 7 (32bit/64bit) Visual Studio 2010 (Express も OK)

オプション DirectX SDK (June 2010) Speech Platform SDK ( 英語 && 32bit のみ )

2011/08/20Tech・ Aid 2011 夏

Page 7: 110820 tech aid_lt_kinect_pub

7

商用利用禁止です

2011/08/20Tech・ Aid 2011 夏

Page 8: 110820 tech aid_lt_kinect_pub

8

ライセンス

非商用

• 研究・教育・趣味など• ランタイムの再頒布も NG

できること

• デモの共有• 無償アプリ• プロトタイプ

2011/08/20Tech・ Aid 2011 夏

Page 9: 110820 tech aid_lt_kinect_pub

9

便利な Toolkit Coding4Fun Kinect Toolkit

いろいろ便利なメソッドがある http://c4fkinect.codeplex.com/

Kinect Toolbox ジェスチャー認識ライブラリ http://kinecttoolbox.codeplex.com/

Kinect Toolkit 期待持たせる名前だが、まだ場所だけ・・・ http://kinecttoolkit.codeplex.com/

2011/08/20Tech・ Aid 2011 夏

Page 10: 110820 tech aid_lt_kinect_pub

10

ダウンロード

2011/08/20Tech・ Aid 2011 夏

Page 11: 110820 tech aid_lt_kinect_pub

11

インストール

2011/08/20Tech・ Aid 2011 夏

古いバーションは先にアンインストール

Page 12: 110820 tech aid_lt_kinect_pub

12

Kinect をつなぐ AC アダプタを接続し、 USB で PC に接続す

る ドライバが自動的にインストールされる

2011/08/20Tech・ Aid 2011 夏

Page 13: 110820 tech aid_lt_kinect_pub

13

SDK だけでも遊べます いくつかのサンプルアプリがついています

2011/08/20Tech・ Aid 2011 夏

http://blogs.msdn.com/b/hiroyuk/archive/2011/06/17/10175484.aspx より

Page 14: 110820 tech aid_lt_kinect_pub

14

プロジェクトの作成 WPF もしくは WinForm を選ぶ

2011/08/20Tech・ Aid 2011 夏

Page 15: 110820 tech aid_lt_kinect_pub

15

プロジェクトの作成 DLL を参照に追加

2011/08/20Tech・ Aid 2011 夏

Page 16: 110820 tech aid_lt_kinect_pub

16

プロジェクトの作成 Runtime を new してごにょごにょ

2011/08/20Tech・ Aid 2011 夏

Page 17: 110820 tech aid_lt_kinect_pub

17

さて、動かしてみよう・・・

64bit プロセスから32bit DLL がロードできない?

2011/08/20Tech・ Aid 2011 夏

Page 18: 110820 tech aid_lt_kinect_pub

18

64bit OS + VS Express での注意

ターゲットを 32bit(x86) にしましょう この切替が Visual Studio Express では

サポートされていない・・・ .csproj の PropertyGroup 要素に

PlatformTarget を追加

2011/08/20

<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x86' "> <PlatformTarget>x86</PlatformTarget></PropertyGroup><PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x86' "> <PlatformTarget>x86</PlatformTarget></PropertyGroup>

Tech・ Aid 2011 夏

Page 19: 110820 tech aid_lt_kinect_pub

19

SDK で何ができる? なにを制御できる?

カメラ チルトの角度

なにが取得できる? 画像( CMOS ): 640×480 (既定) 深度画像( IR + CMOS ): 320×240 (既定)

(実用範囲):約 1.2~ 3.5m オーディオ(4つのマイク)

音源位置追跡は PC 側で処理 スケルトン ( 骨格 ) データは、 SDK が PC 側で処理

2011/08/20Tech・ Aid 2011 夏

Page 20: 110820 tech aid_lt_kinect_pub

20

カメラの角度を変える Runtime からカメラを取得 プロパティで角度を変更

2011/08/20Tech・ Aid 2011 夏

Page 21: 110820 tech aid_lt_kinect_pub

21

やりすぎると・・・

2011/08/20

1 秒に 1 回程度が限度らしいとのことです

Tech・ Aid 2011 夏

Page 22: 110820 tech aid_lt_kinect_pub

22

画像データの取得 イベントオブジェクトから取得

byte 配列で返ってくる・・・

Coding4Fun を使うと簡単!

2011/08/20Tech・ Aid 2011 夏

Page 23: 110820 tech aid_lt_kinect_pub

23

深度データの取得 同じくイベントオブジェクトから取得 こちらも byte 配列。 1 ピクセルに

2bytes 。 深度のみ :RuntimeOptions.UseDepth 深度とユーザーインデックス

:RuntimeOptions.UseDepthAndPlayerIndex 0-2bit: ユーザーインデックス 3-15bit :深度 [mm]

2011/08/20Tech・ Aid 2011 夏

Page 24: 110820 tech aid_lt_kinect_pub

24

スケルトンデータの取得 画像・深度データから作成 骨格は 2 人まで。人としての認識は 7 人ま

で。 ノイズが発生する

2011/08/20Tech・ Aid 2011 夏

Page 25: 110820 tech aid_lt_kinect_pub

25

右手・左手は後ろを向くと・・・

右手というより向かって右側 後ろ向きを判定するには、画像解析が必要

2011/08/20Tech・ Aid 2011 夏

右 右 左左

Page 26: 110820 tech aid_lt_kinect_pub

26

ジェスチャー SDK ではサポートなし toolbox で部分的に提供

私は未だ動かせず・・・ 自前でやるのは、パターン認識+学習なので

実装コストがかなり高い・・・ SDK として出てくることを期待してます!

2011/08/20Tech・ Aid 2011 夏

Page 27: 110820 tech aid_lt_kinect_pub

27

情報源 Kinect SDK のページ MS 川西さんのブログ

http://blogs.msdn.com/b/hiroyuk/ HW 系の HP

HW 業界からも注目!! Tech On 、 MONOist など

2011/08/20Tech・ Aid 2011 夏

Page 28: 110820 tech aid_lt_kinect_pub

28

ご清聴ありがとうございました

2011/08/20Tech・ Aid 2011 夏