KINECT for Windows v2 はじめてのKINECT みずほ 情 報 総 研 株 式 会 社 サイエンスソリューション 部 下 元 正 義 Kinect は 米 国 Microsoft Corporation 及 びまたはその 関 連 会 社 の 登 録 商 標 または 商 標 です その 他 の 会 社 名 システム 名 製 品 名 は 一 般 に 各 社 の 登 録 商 標 または 商 標 です 1
下 元 正 義 (しももと まさよし) みずほ 情 報 総 研 株 式 会 社 サイエンスソリューション 部 理 学 系 出 身 C#の 開 発 がメイン Kinectは2 年 前 から K4Wによる 手 話 認 識 K4Wによる 手 話 認 識 : 利 用 想 定 シーン 2
本 日 お 話 しさせていただく 内 容 未 来 のヒューマンインターフェイスデバイス 何 ができるのか アプリ 開 発 の 始 め 方 v2の 新 機 能 Kinect Studio + Visual Gesture Builder 3
KINECT ユーザーとコンピュータの 画 期 的 な 対 話 方 法 CUI GUI タッチ ペン ジェスチャー ボイス 4
目 と 耳 Kinectのセンサーデータをソ フトウェアで 利 用 できる! カラーカメラ カラー 画 像 赤 外 線 エミッタ &センサー 距 離 / 赤 外 画 像 ドラ イバ マイクロフォンアレイ 音 声 SDK 5
何 ができるの? ナチュラルユーザーインターフェイス(NUI) ひとのしぐさを 理 解 誰 でもコンピュータの 恩 恵 を 受 けられる http://kinectforwindows.com/ http://www.tfu.ac.jp/news/20131125_01.html 6
特 徴 赤 外 線 を 照 射 して 物 体 との 距 離 を 計 測 7
構 造 RGBカメラ Depthセンサー パワーライト 赤 外 線 エミッタ マイクロフォンアレイ https://www.ifixit.com/ 8
動 作 要 件 項 目 V1 V2 CPU デュアルコア 2.66GHz~ Core i7 2.5GHz~ GPU n/a Direct X11 USB 2.0 以 上 3.0 メモリ 2GB 4GB(2GBという 記 述 も ) OS 開 発 環 境 Windows7, 8 以 降 エンベデッド 含 む Visual Studio 2010 以 降.NET Framework 4 Windows8 以 降 エンベデッド 含 む Visual Studio 2012 以 降.NET Framework4.5 動 作 確 認 した 環 境 ASUS Z87 Pro : Core i7 4770K 3.4GHz Dell XPS One 27 : Core i7 4770S 3.0GHz DELL Graphic Pro XPS8700 : Core i7 3537U 2.0GHz 動 作 しない 場 合 も 9
センサーの 入 手 マイクロソフトストア 現 在 はオープン ベータ 版 http://www.microsoftstore.com/store/msjp/ja_jp/home 10
SDK(Software Development Kit)を 入 手 最 新 のSDK 2014.8.20 版 http://www.microsoft.com/en-us/kinectforwindows/ 11
開 発 環 境 Visual Studio(2012or2013)を 入 手 無 償 のExpressでも 開 発 可 能 for Windows(ストアアプリ) for Desktop(デスクトップアプリ) 2013 Update 3が 最 新 12
サンプルコードから 始 めよう Kinect Browser v2.0 サンプルアプリ サンプルコード サンプルアプリの 初 回 起 動 時 に ファームウェアアップデートがかかる 30 秒 くらい 待 つ 13
データソース カラー 1920 x 1080, 30 or 15( 暗 いとき)フレーム/ 秒 赤 外 深 度 ボディインデックス スケルトン オーディオ 512 x 424, 30 フレーム/ 秒 カラー 120MB/ 秒, その 他 画 像 13MB/ 秒, オーディオ 32KB/ 秒 14
アーキテクチャ ネイティブアプリ.Netアプリ ストアアプリ C#,VB,JavaScript,C++ ネイティブAPI.Net API WinRT API Kinect Runtime Kinect Drivers Kinect Sensor 15
ストアアプリを 作 成 新 規 プロジェクトの 作 成 ストアアプリ 空 のプロジェクト Package.Manifest 機 能 で マイク と Webカメラ を 利 用 可 参 照 設 定 WindowsPreview.Kinectを 追 加 構 成 マネージャーでプラットフォームをx64またはx86 16
プログラミングモデル Sensor Source Reader Frame Reference Frame 17
KinectSensor this.kinectsensor = KinectSensor.GetDefault(); this.kinectsensor.open(); // 何 らかの 処 理 this.kinectsensor.close(); Sensor Source Reader Frame Reference Frame 18
Source 1データソース AudioSource,BodyFrameSource,BodyIndexFrameSource 複 数 OpenMultiSourceFrameReader this.colorframereader = this.kinectsensor.colorframesource.openreader(); Sensor Source Reader Frame Reference Frame 19
Reader Frameへのアクセスは2 通 り Events, Polling this.colorframereader.framearrived += colorframereader_framearrived; void colorframereader_framearrived(colorframereader sender, ColorFrameArrivedEventArgs args) { } Sensor Source Reader Frame Reference Frame 20
Frame Reference EventArgsのプロパティ void colorframereader_framearrived(colorframereader sender, ColorFrameArrivedEventArgs args) { using(colorframe colorframe = args.framereference.acquireframe()) { Sensor Source Reader Frame Reference Frame 21
Frame フレームデータ メタデータを 含 む フレームを 破 棄 しないと 次 のフレームを 取 得 できない void colorframereader_framearrived(colorframereader sender, ColorFrameArrivedEventArgs args) { using(colorframe colorframe = args.framereference.acquireframe()) { Sensor Source Reader Frame Reference Frame 22
BodyFrameSource 0.5m~4.5m 25 個 の 関 節 の 位 置 と 向 き 6 人 まで 認 識 手 の 状 態 は2 人 まで http://research.microsoft.com/apps/pubs/?id=145347 Microsft Virtual Academy 23 Programming Kinect for Windows v2 Jump Start
入 力 デバイスとしてKinectを 利 用 する ストアアプリでKinectを 入 力 デバイスとして 利 用 Window Window Frame Grid Page KinectRegion KinectUser Viewer Frame Page 24
Microsoft.Kinect.XamlControlを 利 用 Window.Current.Content = rootframe; を 以 下 のように 書 き 換 える KinectRegion kinectregion = new KinectRegion(); KinectUserViewer viewer = new KinectUserViewer(); kinectregion.content = rootframe; viewer.width = 128; viewer.height = 106; Grid grid = new Grid(); grid.children.add(kinectregion); grid.children.add(viewer); viewer.setvalue(grid.verticalalignmentproperty, VerticalAlignment.Top); viewer.setvalue(grid.horizontalalignmentproperty, HorizontalAlignment.Center); Window.Current.Content = grid; 25
Kinect Studio + Visual Gesture Builder ジェシュチャー 認 識 の 機 械 学 習 プラットフォーム Kinect Studio Visual Gesture Builder 26
機 械 学 習 によるジェシュチャー 認 識 Use in Your App Kinect Studio 記 録 テスト Live View Gesture Builder タグ 付 け 学 習 27
Step1:Kinect Studioで 記 録 ジェシュチャーだけならNui Uncompressed Colorは 不 要 データの 保 存 場 所 はFILE Settings Rcording File Path 28
Visual Gesture Builderでタグ 付 け 新 規 ソリューションの 作 成 File New Solution プロジェクトの 作 成 右 クリック Create New Project プロジェクトに 撮 影 データを 追 加 右 クリック AddClip ジェシュチャーの 学 習 方 法 を 指 定 して タグ 付 けを 行 う 領 域 を 選 択 した 状 態 で ValueにTrueを 設 定 Shift+ でジェスチャの 領 域 を 選 択 29
Visual Gesture Builderで 学 習 ソリューションは 複 数 のジェシュチャーの 集 合 プロジェクトはひとつのジェシュチャー 右 クリック ビルドで 辞 書 作 成 ソリューション ジェシュチャーの 集 合 Build.gdb 複 数 ジェシュチャー 辞 書 プロジェクト ひとつのジェシュチャー プロジェクト ひとつのジェシュチャー プロジェクト ひとつのジェシュチャー Build.gha 単 一 ジェシュチャー 辞 書 30
Visual Gesture Builder Viewerでテスト 右 クリック Live Previewで 認 識 精 度 の 確 認 ジェシュチャー 認 識 度 を グラフで 表 示 Vgb Viewer 31
Use in Your App サンプル Discrete Gesture Basics-WPF 参 照 (8/20リリースSDK) 6 人 までの 着 席 状 態 を 判 定 32
まとめ Kinectは 未 来 のヒューマンインターフェイスデバイス Kinectセンサーの 概 要 と 事 例 開 発 の 始 め 方 プログラミングモデル 入 力 デバイスとしてのKinect v2の 新 機 能 Kinect Studio + Visual Gesture Builderのデモ 33
Kinect for Windowsの 情 報 本 家 サイト http://www.microsoft.com/en-us/kinectforwindows/ FaceBook Kinect for Windows 好 きの 集 まり Tokyo Motion Control Network 34
学 習 リソース Microsoft Virtual Academy 無 料 のオンライン 学 習 リソース K4WV2は 英 語 英 語 字 幕 あり Visual Gesture Builderは06 参 照 http://www.microsoftvirtualacademy.com/ 35