Projects‎ > ‎KINECT‎ > ‎kinelog‎ > ‎

Kinect SDK beta2がリリースされてました(いろいろ比較)

posted Nov 4, 2011, 12:19 PM by Akihiko Shirai   [ updated Nov 6, 2011, 10:03 PM ]
Kinect SDK beta2がリリースされてました。
学園祭で忙しいのに。
昨日やっとCQ-Interfaceの校了。したところだったのに。
しくしく。

・書籍「KINECTセンサープログラミング」を書かれた中村薫氏(@kaorun55)のBlogより
Beta1 Refreshからの変更点
  • 骨格の追跡が大幅に向上
  • より正確なトラッキングの結果、精度が全体的に改善された
  • 骨格フレームの配信は低レイテンシになり、その結果高速になった
  • 骨格の追跡がマルチスレッド化され、複数のCPUコアを活用することができる
  • 2つのKinectsを使用する場合に、開発者がどちらのKinectに骨格を追跡させるかを指定できる
  • デバイスの状態が変わったことを管理、検出するAPIが追加された。 Kinectが抜かれたり、接続されたりしたときの状態や、電源が抜かれたときの状態を検出することができる。アプリケーションは、Kinectが接続されたときや、サスペンドから復帰したときに再接続を行うことができる。これらの処理はShape Game サンプルのコードを見ることが一番よい例である。
  • 開発者がWPF内でオーディオを使用する場合に、別のスレッドからDMOにアクセスする必要がなくなった。UIスレッドでKinectAudioSourceを作成することでコードを簡略化できる。
  • ドライバ、ランタイム、およびSDKは、Windows 8 Developer Preview用のデスクトップアプリケーションとして、正常に動作します。
  • SDKは、64ビットアプリケーションをビルドするために使用することができる。以前は、32ビットアプリケーションのみビルドできた。
  • NuiImageBufferは、MSR_NuiImageCamera.hで定義されているINuiFrameTextureに置き換えられた。そのためプロジェクト内でNuiImageBuffer.hを含める必要がなくなった
  • SDKのインストールの配置と、デフォルトの場所が変更されています。インストール先の環境変数は、%KINECTSDK_DIR%になり、デフォルトのインストール先は C:\Program Files\Microsoft SDKs\Kinect\v1.0 Beta2 になっている
  • サンプルコードの変更
  • 新しいC#のサンプルにKinectAudioDemoが追加された
  • 既存のサンプルが更新されている。一般的なC#のサンプルとして、KinectWpfViewersを見ることをオススメする
  • サンプルフォルダはSDKのインストールディレクトリにある。デフォルトでは C:\Program Files\Microsoft SDKs\Kinect\v1.0 Beta2\Samples。ZIPファイルになっているので、Program Filesフォルダ以外に解凍する
  • ドライバとランタイムの安定性と、パフォーマンスの向上。特にマネージAPI層

なかなか面白い更新が入っています。
個人的にはゲームサンプル「Skeletal Viewer」のC++版が解説されたのは、MSの本気具合を高く評価したいところ。
[readmeより]
C++版の動作確認には以下のSDKとランタイムが必要です。

以下、特集であつかった部分の差分をまとめてみました。
左側がBeta(無印)、右側がBeta2という感じです。

・インストールまでの違い

まずホームページの見た目が大きく変わりました。そしてURLも。


★Kinect SDK Beta2のインストールのためにはKinect SDK Beta(無印)をアンインストールする必要があります。

インストーラー自体は変化無いようです。

Beta1: Finish


キービジュアルが水ロゴになった以外はライセンス等も変更がないようです。

デバイスマネージャー上のドライバ表記も変化無いようです。

Beta2:DeviceManager



・新サンプル「Sample Kinect Audio Demo」が追加されました


Beta1:menu
 Beta2:StartMenu


・「Sample Skeletal Viewer」が複数KINECT対応になった
Beta1: Skeletal Viewer

左下に「Kinects」という表示が増えてます。
トラッキングはどのKinectにさせるかを選ぶことができる、ということは全部のKinectを使って、という訳ではないということでしょうかね(未調査)。

・「Sample Shape Game」

Beta1: Shape GameBeta2: Shape


特に見た目に変化はないですが、新機能のデバイス状態検出のお陰で電源プラグ抜くと面白いことが起きます。

動作中に電源プラグを抜いた場合
動作中に電源プラグを抜いた場合:
「Attach Kinect to PC to Play」

起動前から電源プラグを抜いておいた場合
起動前から電源プラグを抜いておいた場合:
「Kinect is attached to PC, but AC power is missing.」

Beta2へのアップデートにはBeta(無印)のアンインストールが必要なため、すでにBeta(無印)での動作を確認することができませんが、たしかクラッシュしていただけだったと記憶しています。
WiiRemoteの時は、ちょうど流行ってきた頃になってもこの手のデバイス状態管理のAPIは存在しませんでしたので、難儀しました(自分でBluetoothマネジャーとか書いた人がもいた)。
産業利用するということは、こういうことをちゃんとやるってことですねえ。

・新サンプル「Sample Kinect Audio Demo」

いままでBeta(無印)では64bit版のサポートがされていなかったのですが、64bit版のビルドもサポートしたのでMicrsoft Speech Platform SDKもx64版をインストールしておきます(v10.02)。
さらにLanguage Packも更新(readmeの指示)。
http://go.microsoft.com/fwlink/?LinkId=220942

「MSKinectLangPack_enUS.msi」が何故か起動しないのでここで再起動。
しかしやっぱり起動できないので、これはきっと睡眠しましょう、というKinectの神様のご示唆ということにして、ここで一旦帰って寝ます。
思い直して、READMEを読み直したら、ランタイムはx86版とx64版両方入れておくこと推奨、ということで入れたら動きました。

Sound Source Localization

起動した新サンプルには「Sound Source Localization」という名前がついていますね。
"red", "green", "blue" といった英語を話すと、話者の方向を推定して、さらに認識に成功するとバーの色を変更します。
これはちょっとした英会話教材になるかも!

(続く予定)

Comments