続・Kinect v2を通してMicrosoft技術を考える

34
MVP Community Camp 2015 Kinect v2 を通して Microsoft 技術を考える 五十嵐 祐貴(いがらし ゆうき) @ bonprosoft Microsoft Student Partners Fellow, サトヤ仙台

Transcript of 続・Kinect v2を通してMicrosoft技術を考える

Page 1: 続・Kinect v2を通してMicrosoft技術を考える

~MVP Community Camp 2015~

続・Kinect v2を通してMicrosoft技術を考える

五十嵐祐貴(いがらしゆうき) @bonprosoft

Microsoft Student Partners Fellow,サトヤ仙台

Page 2: 続・Kinect v2を通してMicrosoft技術を考える
Page 3: 続・Kinect v2を通してMicrosoft技術を考える
Page 4: 続・Kinect v2を通してMicrosoft技術を考える

せっかくなのでAzure を使って

つないじゃおう☆彡

Page 5: 続・Kinect v2を通してMicrosoft技術を考える

~MVP Community Camp 2015~

東北と北陸を Kinect & ASP.NET & Azure で接続してみる

日本マイクロソフト株式会社

井上章

MSP Fellow, サトヤ仙台

五十嵐祐貴

Page 6: 続・Kinect v2を通してMicrosoft技術を考える

Demo …

Kinect v2 + Unity + ASP.NET + Azure

Page 7: 続・Kinect v2を通してMicrosoft技術を考える

Microsoft

Azure

仙台と北陸をつなぐ仕組み

Page 8: 続・Kinect v2を通してMicrosoft技術を考える

多様化するデバイス

マルチデバイス (PC, Tablet, Smartphone ...)

クロスプラットフォーム

IoT (Internet of Things)

不可欠なWeb 技術

HTML, CSS, JavaScript, HTTP, REST ...

クラウド環境の普及と活用

スケーラビリティとアベイラビリティ

ビッグデータ分析

Productivity Future Vision近未来の IT, Cloud, Web ...

Page 9: 続・Kinect v2を通してMicrosoft技術を考える
Page 10: 続・Kinect v2を通してMicrosoft技術を考える
Page 11: 続・Kinect v2を通してMicrosoft技術を考える

~MVP Community Camp 2015~

続・Kinect v2を通してMicrosoft技術を考える

五十嵐祐貴(いがらしゆうき) http://bonprosoft.com/

Microsoft Student Partners Fellow,サトヤ仙台

Page 12: 続・Kinect v2を通してMicrosoft技術を考える

Kinect v2の魅力を理解する

Microsoft技術に興味を持つ

Microsoft技術を使ってみたくなる

このセッションのゴールGoal of this Session

Page 13: 続・Kinect v2を通してMicrosoft技術を考える

Kinectとは

• モーションセンサーデバイス

• 全身の骨格や音声を手軽に扱える

• Kinect for Windows v2とSDK2.0

• 色センサー

• 赤外線センサー

• 指向性マイク

http://kinectforwindows.com/

Page 14: 続・Kinect v2を通してMicrosoft技術を考える

骨格情報

色情報

深度情報

赤外線情報

表情

音声認識

ジェスチャー認識

etc...

取得できるデータいろいろ

Page 15: 続・Kinect v2を通してMicrosoft技術を考える

v1とv2の違いKinect v1 Kinect v2 Preview

色 解像度 640x480 1920x1080

深度解像度 320x240 512x424

認識範囲 0.8m~4.0m 0.5m~4.5m

検出角度水平 57度 70度

垂直 43度 60度

マイク入力 4つのマイクアレイ 4つのマイクアレイ

チルトモーター あり なし

最大骨格検出人数 2人 6人

関節数 20点/人 25点/人

手のポーズ検出 グーパーのみ グーチョキパー

手指検出 なし 親指と指先のみ

Page 16: 続・Kinect v2を通してMicrosoft技術を考える

Demo …

Kinect v2 Samples

Page 17: 続・Kinect v2を通してMicrosoft技術を考える

ブラウザからリアルタイムに監視できる防犯カメラを作成

Kinectで得られた情報をクラウドへ(Kinect as IoT?)

Kinectのセンサー検知状況をSignalRでAzureへ送信

人を検知したら色情報と赤外線情報を送信

メール通知やプッシュ通知などはクラウドで処理

.NETやクラウドに近い話題

第1回サトヤ勉強会

Page 18: 続・Kinect v2を通してMicrosoft技術を考える

Kinect v2でジェスチャー認識

任意のジェスチャーを学習させてアプリに組み込む

今回の内容

Page 19: 続・Kinect v2を通してMicrosoft技術を考える

ポーズ (Discrete gesture)

モーション (Continuous gesture)

ワンポイント

モーションには複数のポーズ(状態)が含まれる

2種類のジェスチャー

Page 20: 続・Kinect v2を通してMicrosoft技術を考える

Demo …

Kinect v2 Gesture Sample

Page 21: 続・Kinect v2を通してMicrosoft技術を考える

どの部位が影響しているかを人間が考え、コードを組む方法(ヒューリスティック)

ジェスチャーを含む動画を機械に与えて学習させる方法(機械学習)

Kinect v2でジェスチャーを認識する方法

Page 22: 続・Kinect v2を通してMicrosoft技術を考える

コードが複雑にならない

適切なアノテーションを付与すれば、学習データが増えるごとに精度が向上する(傾向にある)

複数の観点からデータを考慮し、素性の影響度がわかる

ヒューリスティックな手法を用いる場合にも便利

ジェスチャー認識に機械学習を用いるメリット

Page 23: 続・Kinect v2を通してMicrosoft技術を考える

1. 学習対象となるジェスチャーを含むクリップの録画

2. Visual Gesture Builder(VGB)を用いたアノテーション

3. VGBを用いたモデルの評価

ジェスチャーの学習に必要な3ステップ

Page 24: 続・Kinect v2を通してMicrosoft技術を考える

Kinect Studioを用いて録画

加工済みデータ(.xef)とRAWデータ(.xrf)の違い

骨格情報は機械学習により算出

将来的な算出アルゴリズムの変更による影響

RAWデータで記録し、学習時点で骨格情報を算出することで対応可能(KSConvertで検索)

RAWデータのサイズは非常に大きい

大規模なライブラリの作成などを行う場合はRAWで記録することがおすすめ

クリップの録画

Page 25: 続・Kinect v2を通してMicrosoft技術を考える

ウィザード形式で学習設定を行うことが可能

学習対象となる部位、学習ジェスチャーの特徴(Symmetry,Left/Rightなど)

ポーズのアノテーション

TrueかFalseの2値分類

モーションのアノテーション 先にモーションを構成するポーズのアノテーションを行う

複数のポーズを組み合わせて、その状態を0から1の間にマッピングを行う

VGBを用いたアノテーション

Page 26: 続・Kinect v2を通してMicrosoft技術を考える

学習時の素性の貢献度

どの部分が学習に影響したかを知ることができる

学習したモデルを用いて残りのクリップを自動タグ付け

結果に問題があるようであれば、クリップをアノテーションフォルダへ移動

Live Preview機能

VGBを用いたモデルの評価

Page 27: 続・Kinect v2を通してMicrosoft技術を考える

Demo …

Kinect v2 Visual Gesture Builder

Page 28: 続・Kinect v2を通してMicrosoft技術を考える

Kinect v2を通してMicrosoft技術を考える

Page 29: 続・Kinect v2を通してMicrosoft技術を考える

Kinectとの付き合い方

• Kinectは開発者の可能性を広げるツール

• 目的を実現するための強力な手段

• 背景として機械学習をはじめとする

高度な技術が支えている

• Kinect + { Azure , Unity , ML , … }

• 開発者に更なる可能性http://kinectforwindows.com/

Page 30: 続・Kinect v2を通してMicrosoft技術を考える

Microsoftは開発者を支援するための多くのツールを公開

開発者に必要な技術力の敷居を下げ、開発の可能性を高める

近年のMicrosoft技術は様々な技術と共存可能

「Microsoftの技術は本当に時代遅れですか?」

Microsoftと一緒に

Page 31: 続・Kinect v2を通してMicrosoft技術を考える

Direction of Visual Studio and .NET

Page 32: 続・Kinect v2を通してMicrosoft技術を考える

.NET の今後Future of .NET

Next gen JIT (“RyuJIT”)

SIMD (Data Parallelization)

ランタイム コンパイラー.NET Compiler Platform (“Roslyn”)

Languages innovation

BCL and PCL

Entity Framework

ライブラリ

Page 33: 続・Kinect v2を通してMicrosoft技術を考える

Visual Studio Online

Visual Studio

.NET

全てのアプリケーション開発のために

Page 34: 続・Kinect v2を通してMicrosoft技術を考える

Microsoft技術を活用してより良いコードライフを