さて、今回は骨格情報...
スケルトンの利用ですね!
全体の流れはこうです。
----------------------------------------
プロジェクトを開く
プロジェクトへの画像ファイルの追加
コードビハインド(C#によるロジック)の修正
フィールドの追加
初期化処理("Loaded"イベントハンドラ)の修正
Kinectイベントハンドラの修正
骨格情報取得処理の追加
描画処理の追加
----------------------------------------
基本は、前回作ったカメラアプリをベースに作るようです。
作業フォルダを開き、
前回作ったプロジェクトの.slnファイルを開くと
VisualStudioが起動してくれるはずです。
ソリューションを右クリックして
追加→新しいフォルダーをクリックします。
名前はとりあえずimagesとしておきます。
そして使う画像を、imagesフォルダにドラッグアンドドロップします。
これで準備が整ったので、
後はソースの修正です。
ソースに関しては、長くなるので
日記にて書いていきます。
次は深度情報の利用ですね!
こんなことまで出来るとは...可能性を感じますね。
深度情報を扱う流れはこんな感じです。
------------------------------------------------
1.カメラからの画像情報をバッファにコピー。
2.深度センサーからの深度情報をバッファにコピー。
3.深度情報上の各点を調べ、深度・プレイヤーの有無から処理を決定。
4.決定した処理に基づき、深度情報上の各点に対応する画像情報上の点を加工。
------------------------------------------------
深度とは、簡単に言っちゃえばカメラからプレイヤーへの距離です。
厳密に言うと、直線状の距離なので少し違ったりするのですが
そこはスルーでw
今回は以下の三種類のアプリを作って
深度について理解を深めていきます。
-----------------------------------------------
1.マスク画像の拡大・縮小
関節の位置情報を使い、深度によってマスク画像を拡大・縮小します。
2.深度情報の表示(画像・深度情報が同一の解像度の場合)
深度情報を取得し、プレイヤーがいない点を青く塗ります
(画像情報640×480、深度情報640×480)。
3.深度情報の表示(画像・深度情報が異なる解像度の場合)
同上(画像情報640×480、深度情報320×240)。
-----------------------------------------------
ソースに関しては日記のほうで書いていきます。
単純なソースの編集だけのようなので
こちらの第五回の分はこれで終わりですw
次は音声認識についてですね!
深度情報だけではなく音声認識まで出来るとは...
何でもできるんですね!w
音声認識を使ったアプリは色々遊べそうなので楽しみです♪
Kinect for Windows SDKによる音声処理
Kinectセンサーは、音声処理のために4つのマイクを使用したマイクロフォンアレイ、
24bit ADCを持ちます。Kinect for Windows SDKはこれらを利用し、
アプリケーションに以下の機能を提供します。
録音
ビームフォーミング
音源の方向特定
音声認識
ここでは、これらの機能を簡単に紹介します。
-----------------------------------------------------
Kinectでは24bit ADCによる高品質な録音が可能です。
録音時はノイズやエコーの軽減機能もあり、
これらはアプリケーションから自由にON/OFF可能です。
-----------------------------------------------------
ということはなんらかの形で保存できるのかな?
データとして保存できたりするのだろうか...
------------------------------------------------------
マイクアレイというのは文字通り複数のマイクを並べたものなのですが、
これを使うとビームフォーミングという技術により、
特定の方向からの音を選択して録音(指向性録音)することができます。
(以前からごく一部のノートPCにはこのマイクアレイが内蔵されていたのですが、
外付けで手軽に入手できるマイクアレイはKinectが初めてなのではないでしょうか?)
------------------------------------------------------
ふむふむ、ちょっとイイノートPCについているあれですね。
これを利用して音響の調整とかできますよね!
実際の使い方はどうなるのだろうか...
----------------------------------------------------------
Kinectは、音源の方向を特定する機能を持ち、
アプリケーションから音源の方向を-50°~50°の範囲で取得できます。
(内部的には前述のビームフォーミングを応用し、
システムが自動的にビームの選択を行うことで特定しているようです)
----------------------------------------------------------
なるほど、ビームフォーミングを使って
自分の欲しい方向からの情報を取得するわけですね。
----------------------------------------------------------
音声認識は、NUI(Natural User Interface)APIの主要な機能の一つとされており、
Kinect for Windows SDKでは、
Microsoft Speech Platform Runtime (Version 11) を用いて音声認識を行います。
Kinect for Windows SDKには、
Kinectセンサーのマイクアレイに最適化されたカスタム音響モデルを持ち、
より正確な音声認識を提供しています。
Kinect for Windows Language Packs v1.5.0 の
日本語用ロケールをインストールすることで、
日本語に対してもカスタム音響モデルが利用できます。
----------------------------------------------------------
ふむ、よくわからんが...
まあ日本語での音声認識もできるよ!ってことでしょうね。
音源の方向特定の利用
-----------------------------------------------------------------------
今回は、前回のアプリケーションに音源の方向特定を利用した機能を追加します。
前回同様Kinectセンサーにより認識される人物の頭部にマスク画像を貼り付けますが、
今回はさらにKinectセンサーのマイクアレイが拾う音が、
認識している人物の方向から発せられている場合は、
人物の頭部にさらに吹き出しの画像を上書きします。
-----------------------------------------------------------------------
これはなかなか実用的ですね!
ふきだしようの画像を追加して、
コードを編集します。
内容に関しては日記にて
------------------------------------------------------------------
はじめに、Microsoft Speech Platform Software Development Kit (Version 11)と、
Kinect for Windows Language Packs v1.5.0 の
日本語用ロケールをインストールしましょう。
前回説明した通り、Microsoft Speech Platform SDKは音声認識機能に必要です。
また、日本語用ロケールをインストールすることで、
Kinectセンサーのマイクアレイに最適化されたカスタム音響モデルが利用でき、
より正確な音声認識が可能となります。
------------------------------------------------------------------
ではこの二つのインストール手順を書いていきます。
1.Webブラウザで、
http://www.microsoft.com/en-us/download/details.aspx?id=27226 を開き、
” x64_MicrosoftSpeechPlatformSDK\MicrosoftSpeechPlatformSDK.msi”
または
” x86_MicrosoftSpeechPlatformSDK\MicrosoftSpeechPlatformSDK.msi”
をダウンロードします
実行環境は64bitなのでx64をダウンロードします。
そのまま進めていけばインストールが終わります。
1.Webブラウザで、http://www.microsoft.com/en-us/download/details.aspx?id=29864
を開き、
”KinectSpeechLanguagePack_ja-JP.exe”をダウンロードします。
インストーラを実行すると
すぐに終わります。
-----------------------------------------------------------
それでは、前回のアプリケーションに音声認識機能を追加しましょう。
前回の修正により、Kinectが認識する人物上に吹き出しの画像を表示しました。
今回はさらに認識した音声を吹き出し上に表示してみます。
-----------------------------------------------------------
ZIGSOWにログインするとコメントやこのアイテムを持っているユーザー全員に質問できます。