Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Kinect for windows sdk introduction

Kinect for Windows Introduction

Kinect for windows sdk introduction

  1. 1. 初めての Kinect  for  Windows  SDK  プログラム 株式会社  ゲッシュ Ver.1.2  2012/06/19http://www.microsoft.com/en-us/kinectforwindows/
  2. 2. ⾃自⼰己紹介中村  薫株式会社  ゲッシュ  (http://www.geis.co.jp/)• Windows  ⽤用のセキュリティソフトウェアの受託開発• NUIデバイスを利利⽤用したアプリケーション開発• Scrumなどのアジャイルな開発⼿手法を利利⽤用した現場改善• 新⼈人研修やセミナー講師• nakamura.kaoru@geis.co.jp• @kaorun55 KINECT introduction by Geis Co. Ltd. is licensed under a Creative Commons 表示 - 非営利 - 改変禁止 2.1 日本 License.
  3. 3. ⾃自⼰己紹介KINECT introduction by Geis Co. Ltd. is licensed under a Creative Commons 表示 - 非営利 - 改変禁止 2.1 日本 License.
  4. 4. 免責事項 本スライドの内容による、いかなる損害の責任を負いません。⾃自⼰己責任の上、ご利利⽤用ください。 KINECT introduction by Geis Co. Ltd. is licensed under a Creative Commons 表示 - 非営利 - 改変禁止 2.1 日本 License.
  5. 5. Kinectとは• Microsoft社が発売しているXbox  360ゲーム機 のコントローラー(Kinect  for  Xbox  360)• ゲームを操作する際に、「コントローラーを持 つ必要がない」ことが特⻑⾧長• 2012年年2⽉月1⽇日にWindows⽤用のKinectの発売を 開始した(Kinect  for  Windows) KINECT introduction by Geis Co. Ltd. is licensed under a Creative Commons 表示 - 非営利 - 改変禁止 2.1 日本 License.
  6. 6. Kinect  for  Xbox  360の 販売台数 世界累累計• 2か⽉月で800万台•5か⽉月で1,000万台•12か⽉月で1,800万台 KINECT introduction by Geis Co. Ltd. is licensed under a Creative Commons 表示 - 非営利 - 改変禁止 2.1 日本 License.
  7. 7. Kinect  for  WindowsKINECT introduction by Geis Co. Ltd. is licensed under a Creative Commons 表示 - 非営利 - 改変禁止 2.1 日本 License.
  8. 8. Kinect  for  Windowsとは • 2012年年2⽉月1⽇日(⽶米国時間)に発売され た、Windows  向けのKinect• 実売:¥24,800(249USドル)• 商⽤用利利⽤用に対しての制限はない• 40cmまで認識識可能な「Near  Mode」 を搭載• その他のハードウェア機能は、従来の Kinect  for  Xbox  360と同様 KINECT introduction by Geis Co. Ltd. is licensed under a Creative Commons 表示 - 非営利 - 改変禁止 2.1 日本 License.
  9. 9. KinectセンサーKINECT introduction by Geis Co. Ltd. is licensed under a Creative Commons 表示 - 非営利 - 改変禁止 2.1 日本 License.
  10. 10. Kinect  for  Windowsの概要 サイズ(縦x横x⾼高さ) 65  x  280  x  70(mm) 重量量 600g Kinect  センサー(ケーブル1.5m) 同梱物 USB/電源ケーブル(⻑⾧長さ2.8m) Windows  7 対応OS Windows  Embedded  Standard  7 デュアルコアプロセッサ以上(x86,x64) 2.66GHz以上を推奨 ハードウェア要件 2GB以上のRAM USB  2.0ポート(専有) Kinect  for  Windows  SDKソフトウェア開発キット(SDK) http://www.microsoft.com/en-‐‑‒us/kinectforwindows/ KINECT introduction by Geis Co. Ltd. is licensed under a Creative Commons 表示 - 非営利 - 改変禁止 2.1 日本 License.
  11. 11. Kinect  fot  Windows  SDK  とは• Kinect  for  Windows  向けのSDK • 2012/06/19  現在  v1.5• 無償で利利⽤用することができる• 商⽤用利利⽤用に対しての制限はない• ランタイム(ユーザー環境)の実⾏行行にはKinect   for  Windows  が必要• 従来のKinect  for  Xbox  360  は、  開発時に限定 して使⽤用することが可能(商⽤用利利⽤用はできない) KINECT introduction by Geis Co. Ltd. is licensed under a Creative Commons 表示 - 非営利 - 改変禁止 2.1 日本 License.
  12. 12. ライブラリの機能• RGBカメラで、ピクセルごとの⾊色が取得できる• 距離離カメラで、ピクセルごとの距離離が取得できる• ⼈人を認識識することができる(最⼤大6⼈人)• ⼈人の⾻骨格を認識識することができる(最⼤大2⼈人) KINECT introduction by Geis Co. Ltd. is licensed under a Creative Commons 表示 - 非営利 - 改変禁止 2.1 日本 License.
  13. 13. ライブラリの機能• ⾳音声を取得することができる• ⾳音源の⽅方向を推定することができる• チルトモーターで、カメラの⾓角度度を調整できる• 複数のKinectを制御することができる(最⼤大4台) KINECT introduction by Geis Co. Ltd. is licensed under a Creative Commons 表示 - 非営利 - 改変禁止 2.1 日本 License.
  14. 14. 付属機能• ⼊入⼒力力した⾳音声から単語を認識識することがで きる(⾳音声認識識)• ⼊入⼒力力した画像データから顔を認識識すること ができる KINECT introduction by Geis Co. Ltd. is licensed under a Creative Commons 表示 - 非営利 - 改変禁止 2.1 日本 License.
  15. 15. RGBカメラKINECT introduction by Geis Co. Ltd. is licensed under a Creative Commons 表示 - 非営利 - 改変禁止 2.1 日本 License.
  16. 16. 距離離カメラDefaulrモード NearモードKINECT introduction by Geis Co. Ltd. is licensed under a Creative Commons 表示 - 非営利 - 改変禁止 2.1 日本 License.
  17. 17. 距離離モードKINECT introduction by Geis Co. Ltd. is licensed under a Creative Commons 表示 - 非営利 - 改変禁止 2.1 日本 License.
  18. 18. ⼈人を認識識するKINECT introduction by Geis Co. Ltd. is licensed under a Creative Commons 表示 - 非営利 - 改変禁止 2.1 日本 License.
  19. 19. ⾻骨格を認識識するDefaulrモード NearモードKINECT introduction by Geis Co. Ltd. is licensed under a Creative Commons 表示 - 非営利 - 改変禁止 2.1 日本 License.
  20. 20. ⾻骨格の認識識KINECT introduction by Geis Co. Ltd. is licensed under a Creative Commons 表示 - 非営利 - 改変禁止 2.1 日本 License.
  21. 21. Seated  モードKINECT introduction by Geis Co. Ltd. is licensed under a Creative Commons 表示 - 非営利 - 改変禁止 2.1 日本 License.
  22. 22. ⾳音源⽅方向を認識識するKINECT introduction by Geis Co. Ltd. is licensed under a Creative Commons 表示 - 非営利 - 改変禁止 2.1 日本 License.
  23. 23. チルトモーターKINECT introduction by Geis Co. Ltd. is licensed under a Creative Commons 表示 - 非営利 - 改変禁止 2.1 日本 License.
  24. 24. 応⽤用利利⽤用KINECT introduction by Geis Co. Ltd. is licensed under a Creative Commons 表示 - 非営利 - 改変禁止 2.1 日本 License.
  25. 25. 顔検出KINECT introduction by Geis Co. Ltd. is licensed under a Creative Commons 表示 - 非営利 - 改変禁止 2.1 日本 License.
  26. 26. 指検出Kinect for Windows SDK Book by Geis Co. Ltd. is licensed under a Creative Commons 表示 - 非営利 - 改変禁止 2.1 日本 License.
  27. 27. 仮想試着Kinect for Windows SDK Book by Geis Co. Ltd. is licensed under a Creative Commons 表示 - 非営利 - 改変禁止 2.1 日本 License.
  28. 28. マウスの代替KINECT introduction by Geis Co. Ltd. is licensed under a Creative Commons 表示 - 非営利 - 改変禁止 2.1 日本 License.
  29. 29. ⻑⾧長さを測るKINECT introduction by Geis Co. Ltd. is licensed under a Creative Commons 表示 - 非営利 - 改変禁止 2.1 日本 License.
  30. 30. 背景マスクKINECT introduction by Geis Co. Ltd. is licensed under a Creative Commons 表示 - 非営利 - 改変禁止 2.1 日本 License.
  31. 31. 光学迷彩KINECT introduction by Geis Co. Ltd. is licensed under a Creative Commons 表示 - 非営利 - 改変禁止 2.1 日本 License.
  32. 32. タッチスクリーンKINECT introduction by Geis Co. Ltd. is licensed under a Creative Commons 表示 - 非営利 - 改変禁止 2.1 日本 License.
  33. 33. Kinect  for  Windows  SDK  ⼊入⾨門 v1.5KINECT introduction by Geis Co. Ltd. is licensed under a Creative Commons 表示 - 非営利 - 改変禁止 2.1 日本 License.
  34. 34. 必要なもの• Kinect  for  Windows  SDK• Kinect  for  Windows  Developer  Toolkit • http://www.microsoft.com/en-‐‑‒us/ kinectforwindows/• Kinect  for  Windows • または  Kinect  fot  Xbox  360(開発時のみ) KINECT introduction by Geis Co. Ltd. is licensed under a Creative Commons 表示 - 非営利 - 改変禁止 2.1 日本 License.
  35. 35. 他に使うもの• Windows  7  SP1  32bit• Visual  C#  2010  Express • http://www.microsoft.com/japan/ msdn/vstudio/express/• WPF• Coding4Fun.Kinect  Toolkit • http://c4fkinect.codeplex.com/ KINECT introduction by Geis Co. Ltd. is licensed under a Creative Commons 表示 - 非営利 - 改変禁止 2.1 日本 License.
  36. 36. サンプルコード• https://github.com/kaorun55/ KinectSdkIntroduction• サンプルは、順番に機能を追加してい くようになっていますKINECT introduction by Geis Co. Ltd. is licensed under a Creative Commons 表示 - 非営利 - 改変禁止 2.1 日本 License.
  37. 37. インストールhttp://d.hatena.ne.jp/kaorun55/20120201/1328123704 KINECT introduction by Geis Co. Ltd. is licensed under a Creative Commons 表示 - 非営利 - 改変禁止 2.1 日本 License.
  38. 38. 1. Kinect  をコンピューターからはずします2. Beta版のアンインストール • Beta版の  Kinect  for  Windows  SDK  がインス トールされている場合は、削除してください3. ここからインストーラをダウンロードします • 32bit版と64bit版ともに同じインストーラで す KINECT introduction by Geis Co. Ltd. is licensed under a Creative Commons 表示 - 非営利 - 改変禁止 2.1 日本 License.
  39. 39. 4. インストーラの通りにインストールします KINECT introduction by Geis Co. Ltd. is licensed under a Creative Commons 表示 - 非営利 - 改変禁止 2.1 日本 License.
  40. 40. 5.Kinect  をコンピューターに接続します KINECT introduction by Geis Co. Ltd. is licensed under a Creative Commons 表示 - 非営利 - 改変禁止 2.1 日本 License.
  41. 41. 6.スタートメニューの「Microsoft  Kinect  SDK   vX.X|Developer  Toolkit  Browser  vX.X」 を起動します KINECT introduction by Geis Co. Ltd. is licensed under a Creative Commons 表示 - 非営利 - 改変禁止 2.1 日本 License.
  42. 42. 7.Kinect  Explorerを起動して、画像が表⽰示さ れればOKです KINECT introduction by Geis Co. Ltd. is licensed under a Creative Commons 表示 - 非営利 - 改変禁止 2.1 日本 License.
  43. 43. プロジェクトの作成http://d.hatena.ne.jp/kaorun55/20120201/1328125693 KINECT introduction by Geis Co. Ltd. is licensed under a Creative Commons 表示 - 非営利 - 改変禁止 2.1 日本 License.
  44. 44. 1. プロジェクトを作成します。C#とWPFで 作ります KINECT introduction by Geis Co. Ltd. is licensed under a Creative Commons 表示 - 非営利 - 改変禁止 2.1 日本 License.
  45. 45. 2. Kinect  SDKとKinect  Toolkitを参照に加え ます KINECT introduction by Geis Co. Ltd. is licensed under a Creative Commons 表示 - 非営利 - 改変禁止 2.1 日本 License.
  46. 46. RGBカメラhttp://d.hatena.ne.jp/kaorun55/20120201/1328125693 KINECT introduction by Geis Co. Ltd. is licensed under a Creative Commons 表示 - 非営利 - 改変禁止 2.1 日本 License.
  47. 47. RGBカメラの画像を表⽰示するKINECT introduction by Geis Co. Ltd. is licensed under a Creative Commons 表示 - 非営利 - 改変禁止 2.1 日本 License.
  48. 48. MainWindow.xaml <Window x:Class="RgbCamera.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Title="RgbCamera" Height="521" Width="663" SizeToContent="Manual"> <Grid> <Image Name="imageRgbCamera" Margin="0" Stretch="Uniform" /> </Grid></Window> KINECT introduction by Geis Co. Ltd. is licensed under a Creative Commons 表示 - 非営利 - 改変禁止 2.1 日本 License.
  49. 49. MainWindow.xaml.cs using System;using System.Windows;using Coding4Fun.Kinect.Wpf;using Microsoft.Kinect;namespace RgbCamera{ /// <summary> /// MainWindow.xaml の相互作用ロジック /// </summary> public partial class MainWindow : Window { public MainWindow() { InitializeComponent(); try { if ( KinectSensor.KinectSensors.Count == 0 ) { throw new Exception( "Kinectが接続されていません" ); } // Kinectインスタンスを取得する KinectSensor kinect = KinectSensor.KinectSensors[0]; KINECT introduction by Geis Co. Ltd. is licensed under a Creative Commons 表示 - 非営利 - 改変禁止 2.1 日本 License.
  50. 50. MainWindow.xaml.cs // Colorを有効にする kinect.ColorFrameReady += new EventHandler<ColorImageFrameReadyEventArgs>( kinect_ColorFrameReady ); kinect.ColorStream.Enable(); // Kinectの動作を開始する kinect.Start(); } catch ( Exception ex ) { MessageBox.Show( ex.Message ); Close(); } } void kinect_ColorFrameReady( object sender, ColorImageFrameReadyEventArgs e ) { imageRgbCamera.Source = e.OpenColorImageFrame().ToBitmapSource(); } }} KINECT introduction by Geis Co. Ltd. is licensed under a Creative Commons 表示 - 非営利 - 改変禁止 2.1 日本 License.
  51. 51. 距離離カメラhttp://d.hatena.ne.jp/kaorun55/20120201/1328146583 KINECT introduction by Geis Co. Ltd. is licensed under a Creative Commons 表示 - 非営利 - 改変禁止 2.1 日本 License.
  52. 52. 距離離カメラを画像化するKINECT introduction by Geis Co. Ltd. is licensed under a Creative Commons 表示 - 非営利 - 改変禁止 2.1 日本 License.
  53. 53. MainWindow.xaml <Window x:Class="DepthCamera.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Title="DepthCamera" Height="521" Width="663"> <Grid> <Image Name="imageRgbCamera" Stretch="Uniform" /> <Image Name="imageDepthCamera" Stretch="Uniform" Opacity="0.7" /> </Grid></Window> KINECT introduction by Geis Co. Ltd. is licensed under a Creative Commons 表示 - 非営利 - 改変禁止 2.1 日本 License.
  54. 54. MainWindow.xaml.cs public MainWindow(){ InitializeComponent(); try { if ( KinectSensor.KinectSensors.Count == 0 ) { throw new Exception( "Kinectが接続されていません" ); } // Kinectインスタンスを取得する KinectSensor kinect = KinectSensor.KinectSensors[0]; // Colorを有効にする kinect.ColorFrameReady += new EventHandler<ColorImageFrameReadyEventArgs>( kinect_ColorFrameReady ); kinect.ColorStream.Enable(); // Depthを有効にする kinect.DepthFrameReady += new EventHandler<DepthImageFrameReadyEventArgs>( kinect_DepthFrameReady ); kinect.DepthStream.Enable(); // Kinectの動作を開始する kinect.Start(); } catch ( Exception ex ) { MessageBox.Show( ex.Message ); Close(); }} KINECT introduction by Geis Co. Ltd. is licensed under a Creative Commons 表示 - 非営利 - 改変禁止 2.1 日本 License.
  55. 55. MainWindow.xaml.cs // RGBカメラのフレーム更新イベントvoid kinect_ColorFrameReady( object sender, ColorImageFrameReadyEventArgs e ){ imageRgbCamera.Source = e.OpenColorImageFrame().ToBitmapSource();}// 距離カメラのフレーム更新イベントvoid kinect_DepthFrameReady( object sender, DepthImageFrameReadyEventArgs e ){ imageDepthCamera.Source = e.OpenDepthImageFrame().ToBitmapSource();} KINECT introduction by Geis Co. Ltd. is licensed under a Creative Commons 表示 - 非営利 - 改変禁止 2.1 日本 License.
  56. 56. プレーヤーの認識識http://d.hatena.ne.jp/kaorun55/20120201/1328148344 KINECT introduction by Geis Co. Ltd. is licensed under a Creative Commons 表示 - 非営利 - 改変禁止 2.1 日本 License.
  57. 57. さらにプレーヤーをかぶせるKINECT introduction by Geis Co. Ltd. is licensed under a Creative Commons 表示 - 非営利 - 改変禁止 2.1 日本 License.
  58. 58. MainWindow.xaml 前回と同じKINECT introduction by Geis Co. Ltd. is licensed under a Creative Commons 表示 - 非営利 - 改変禁止 2.1 日本 License.
  59. 59. MainWindow.xaml.cs public MainWindow(){ ... // Colorを有効にする kinect.ColorFrameReady += new EventHandler<ColorImageFrameReadyEventArgs>( kinect_ColorFrameReady ); kinect.ColorStream.Enable(); // Depthを有効にする kinect.DepthFrameReady += new EventHandler<DepthImageFrameReadyEventArgs>( kinect_DepthFrameReady ); kinect.DepthStream.Enable(); // Skeletonを有効にするとプレーヤーが取得できる kinect.SkeletonStream.Enable(); // Kinectの動作を開始する kinect.Start(); ...} KINECT introduction by Geis Co. Ltd. is licensed under a Creative Commons 表示 - 非営利 - 改変禁止 2.1 日本 License.
  60. 60. スケルトン・トラッキングhttp://d.hatena.ne.jp/kaorun55/20120201/1328150079 KINECT introduction by Geis Co. Ltd. is licensed under a Creative Commons 表示 - 非営利 - 改変禁止 2.1 日本 License.
  61. 61. スケルトンも描くKINECT introduction by Geis Co. Ltd. is licensed under a Creative Commons 表示 - 非営利 - 改変禁止 2.1 日本 License.
  62. 62. MainWindow.xaml <Window x:Class="SkeletonSample.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Title="Skeleton" Height="521" Width="663"> <Grid> <Image Name="imageRgbCamera" Stretch="Uniform" /> <Image Name="imageDepthCamera" Stretch="Uniform" Opacity="0.7" /> <Canvas Name="canvas1" /> </Grid></Window> KINECT introduction by Geis Co. Ltd. is licensed under a Creative Commons 表示 - 非営利 - 改変禁止 2.1 日本 License.
  63. 63. MainWindow.xaml.cs KinectSensor kinect;public MainWindow(){ InitializeComponent(); try { if ( KinectSensor.KinectSensors.Count == 0 ) { throw new Exception( "Kinectが接続されていません" ); } // Kinectインスタンスを取得する kinect = KinectSensor.KinectSensors[0]; // すべてのフレーム更新通知をもらう kinect.AllFramesReady += new EventHandler<AllFramesReadyEventArgs>( kinect_AllFramesReady ); // Color,Depth,Skeletonを有効にする kinect.ColorStream.Enable(); kinect.DepthStream.Enable(); kinect.SkeletonStream.Enable(); // Kinectの動作を開始する kinect.Start(); } catch ( Exception ex ) { MessageBox.Show( ex.Message ); Close(); }} KINECT introduction by Geis Co. Ltd. is licensed under a Creative Commons 表示 - 非営利 - 改変禁止 2.1 日本 License.
  64. 64. MainWindow.xaml.cs void kinect_AllFramesReady( object sender, AllFramesReadyEventArgs e ){ imageRgbCamera.Source = e.OpenColorImageFrame().ToBitmapSource(); imageDepthCamera.Source = e.OpenDepthImageFrame().ToBitmapSource(); // 骨格位置の表示 ShowSkeleton( e );} KINECT introduction by Geis Co. Ltd. is licensed under a Creative Commons 表示 - 非営利 - 改変禁止 2.1 日本 License.
  65. 65. MainWindow.xaml.cs private void ShowSkeleton( AllFramesReadyEventArgs e ){ // キャンバスをクリアする canvas1.Children.Clear(); // スケルトンフレームを取得する SkeletonFrame skeletonFrame = e.OpenSkeletonFrame(); if ( skeletonFrame != null ) { // スケルトンデータを取得する Skeleton[] skeletonData = new Skeleton[skeletonFrame.SkeletonArrayLength]; skeletonFrame.CopySkeletonDataTo( skeletonData ); // プレーヤーごとのスケルトンを描画する foreach ( var skeleton in skeletonData ) { if ( skeleton.TrackingState == SkeletonTrackingState.Tracked ) { // 骨格を描画する foreach ( Joint joint in skeleton.Joints ) { // 骨格の座標をカラー座標に変換する ColorImagePoint point = kinect.MapSkeletonPointToColor( joint.Position, kinect.ColorStream.Format ); // 円を書く canvas1.Children.Add( new Ellipse() { Margin = new Thickness( point.X, point.Y, 0, 0 ), Fill = new SolidColorBrush( Colors.Black ), Width = 20, Height = 20, } ); } } } } KINECT introduction by Geis Co. Ltd. is licensed under a Creative Commons 表示 - 非営利 - 改変禁止 2.1 日本 License.
  66. 66. こちらもご覧ください http://www.slideshare.net/kaorun55/kinect-introductionKINECT introduction by Geis Co. Ltd. is licensed under a Creative Commons 表示 - 非営利 - 改変禁止 2.1 日本 License.
  67. 67. KINECT  for  Windows  SDK  C#編 http://www.slideshare.net/kaorun55/kinect-for-windows-sdk-c KINECT introduction by Geis Co. Ltd. is licensed under a Creative Commons 表示 - 非営利 - 改変禁止 2.1 日本 License.
  68. 68. KINECT  for  Windows  SDK  C++編 http://www.slideshare.net/kaorun55/kinect-for-windows-sdk-cpp KINECT introduction by Geis Co. Ltd. is licensed under a Creative Commons 表示 - 非営利 - 改変禁止 2.1 日本 License.
  69. 69. Enjoy!!  Kinect  Hack!!twitter:@kaorun55 KINECT introduction by Geis Co. Ltd. is licensed under a Creative Commons 表示 - 非営利 - 改変禁止 2.1 日本 License.

×