110820 tech aid_lt_kinect_pub
TRANSCRIPT
1
田中 孝佳 (@tanaka_733)
2011/08/20
Kinect プログラミング始めました
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 夏
32011/08/20
Kinect プログラミングしていますか?
Tech・ Aid 2011 夏
42011/08/20
Kinect持っていますか?
Tech・ Aid 2011 夏
5
Kinect を入手しましょうKinect 単体購入
• そのまま PC につなげます• Xbox なくても問題なし!
Xbox との同梱版
• USB ケーブルがついていない• サポート経由で購入できるらしい
1 台の PC に複数の Kinect も OK
2011/08/20Tech・ Aid 2011 夏
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 夏
7
商用利用禁止です
2011/08/20Tech・ Aid 2011 夏
8
ライセンス
非商用
• 研究・教育・趣味など• ランタイムの再頒布も NG
できること
• デモの共有• 無償アプリ• プロトタイプ
2011/08/20Tech・ Aid 2011 夏
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 夏
10
ダウンロード
2011/08/20Tech・ Aid 2011 夏
11
インストール
2011/08/20Tech・ Aid 2011 夏
古いバーションは先にアンインストール
12
Kinect をつなぐ AC アダプタを接続し、 USB で PC に接続す
る ドライバが自動的にインストールされる
2011/08/20Tech・ Aid 2011 夏
13
SDK だけでも遊べます いくつかのサンプルアプリがついています
2011/08/20Tech・ Aid 2011 夏
http://blogs.msdn.com/b/hiroyuk/archive/2011/06/17/10175484.aspx より
14
プロジェクトの作成 WPF もしくは WinForm を選ぶ
2011/08/20Tech・ Aid 2011 夏
15
プロジェクトの作成 DLL を参照に追加
2011/08/20Tech・ Aid 2011 夏
16
プロジェクトの作成 Runtime を new してごにょごにょ
2011/08/20Tech・ Aid 2011 夏
17
さて、動かしてみよう・・・
64bit プロセスから32bit DLL がロードできない?
2011/08/20Tech・ Aid 2011 夏
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 夏
19
SDK で何ができる? なにを制御できる?
カメラ チルトの角度
なにが取得できる? 画像( CMOS ): 640×480 (既定) 深度画像( IR + CMOS ): 320×240 (既定)
(実用範囲):約 1.2~ 3.5m オーディオ(4つのマイク)
音源位置追跡は PC 側で処理 スケルトン ( 骨格 ) データは、 SDK が PC 側で処理
2011/08/20Tech・ Aid 2011 夏
20
カメラの角度を変える Runtime からカメラを取得 プロパティで角度を変更
2011/08/20Tech・ Aid 2011 夏
21
やりすぎると・・・
2011/08/20
1 秒に 1 回程度が限度らしいとのことです
Tech・ Aid 2011 夏
22
画像データの取得 イベントオブジェクトから取得
byte 配列で返ってくる・・・
Coding4Fun を使うと簡単!
2011/08/20Tech・ Aid 2011 夏
23
深度データの取得 同じくイベントオブジェクトから取得 こちらも byte 配列。 1 ピクセルに
2bytes 。 深度のみ :RuntimeOptions.UseDepth 深度とユーザーインデックス
:RuntimeOptions.UseDepthAndPlayerIndex 0-2bit: ユーザーインデックス 3-15bit :深度 [mm]
2011/08/20Tech・ Aid 2011 夏
24
スケルトンデータの取得 画像・深度データから作成 骨格は 2 人まで。人としての認識は 7 人ま
で。 ノイズが発生する
2011/08/20Tech・ Aid 2011 夏
25
右手・左手は後ろを向くと・・・
右手というより向かって右側 後ろ向きを判定するには、画像解析が必要
2011/08/20Tech・ Aid 2011 夏
右 右 左左
26
ジェスチャー SDK ではサポートなし toolbox で部分的に提供
私は未だ動かせず・・・ 自前でやるのは、パターン認識+学習なので
実装コストがかなり高い・・・ SDK として出てくることを期待してます!
2011/08/20Tech・ Aid 2011 夏
27
情報源 Kinect SDK のページ MS 川西さんのブログ
http://blogs.msdn.com/b/hiroyuk/ HW 系の HP
HW 業界からも注目!! Tech On 、 MONOist など
2011/08/20Tech・ Aid 2011 夏
28
ご清聴ありがとうございました
2011/08/20Tech・ Aid 2011 夏