Kinect Studioの "Connect to Service" をするかしないかの違いはなに?

Kinect StudioではKINECTから撮影した様々な情報を保存・再生することができます。

Kinect Studioで保存されたクリップを再生する場合、KINECT Serviceに接続するか否かを指定することができます。一見すると再生時にKinect Serviceに接続しようがしまいが関係なさそうですが、実はちょっとした違いがあります。

Kinect Serviceに接続する場合はクリップの情報を再評価する

Kinect Serviceに接続してクリップを再生すると BodyBodyIndex の出方が接続しない場合と違うことに気がつくかもしれません。これは以下の様な違いに起因しています。

  • Kinect Serviceに接続 する 場合は
    • Kinect Serviceに対してクリップ内のColorやDepthのストリームが流し込まれ、Bodyの情報を再評価します
  • Kinect Serviceに接続 しない 場合は
    • クリップ内に保存されているBodyの情報をそのまま再生します

どんな時に影響するか

Kinect Serviceに接続してクリップを利用するつもりであれば、クリップの保存を開始するタイミングに注意をする必要があります。 KINECTは一度認識したスケルトンはしつこく追跡できますが、最初から横を向いている人などはなかなか人間として認識することができません。クリップの保存を開始するタイミングで横を向いている人がいると、

  • 保存するときには横を向く前からトラッキングしていたのでスケルトンが認識できている
  • 保存したものを再生すると、最初から横を向いているからスケルトンが認識できない

といったようなことが起こります。

一方でKinect Serviceに接続しないでクリップを利用するにはBodyなどの情報も保存が必要なため、クリップのサイズが大きくなりがちです。

まとめ

Kinect Serviceに接続するか否かでKinect Studioの挙動がどのように変わるのかまとめました。これで用途にあったクリップを保存することが出来ます。やりましたね :)