Kinect Sensor v2 のスペックまとめ

マイクロソフトの許可を得て使用しています。Microsoft.com をご覧ください。

ここでは Microsoft Kinect センサー v2 (第二世代) のスペックについてまとめておきたいと思います。 製品版パッケージ、開発者向けパッケージ(PublicPreview)、βパッケージ、XBOX 向けパッケージなどによって、 掲載されている推奨環境やスペックが異なる場合があるので注意してください。 正確な推奨環境やスペックについては公式の情報を参照するのが良いです。

動作(推奨)環境

OSWindows 8
接続USB 3.0 (Built-in)
CPUi7 3.1GHz (x64) ※実際には i7 に限られない模様
GPUDirectX 11
RAM4GB
APPVisual Studio 2012 / Unity

開発者向けに提供される Public Preview や Beta の製品パッケージまたはその公表情報と、 msdn などに公開される最新の情報とが大きく異なるので注意してください。 CPU と RAM の要求スペックが大幅に上がっています。

Public Preview での要求 CPU
2.66 GHz Dual Core(x64)
Public Preview での要求 RAM
2GB

要求される CPU について

CPU については i7 という表記は無く、物理コア(logical core) が 2 つ以上の CPU と表記している公式情報"も"あります。

Set up the hardware - Kinect for Windows

複数台の接続、複数のアプリケーション

SDK 2.0 時点では複数の Kinect v2 を接続して利用することができません。 一方で 1 台の Kinect v2 に対して、複数のアプリケーションから参照することができます。 v1 では複数(4台まで)の Kinect が接続できますが、1 台につき 1 つのアプリケーションしか参照することができませんでした。

ハードウェア

カラー画像解像度RGB_1920x1080(30fps), 他
深度画像解像度512x424(30fps)
深度計測手法Time of Flight (TOF)
深度測定範囲500 ~ 4500mm
カラーの視野(水平)84.1 度 (垂直) 53.8 度(SDK より)
深度の視野(水平)70 度 (垂直) 60 度
マイクの数4 機
音声フォーマット16kHz 32bit (SDK より)
加速度センサあるようだが現在利用できない?

画像サイズについて

v1 のときにはカラー画像も深度画像もいくつかのサイズを選択することができましたが、 SDK 2.0 の時点では、両画像とも取得することができる画像のサイズが 1 つに限定されています。 したがって「パフォーマンスを優先するために低い解像度で動作させる」などの開発の選択肢がなくなりました。

深度について

Kinect v1 と比較して、深度の計測方法が変更されました。 v1 の頃は「Light Coding(位置の差)」と呼ばれるものでしたが、v2 では「Time of Flight(時間の差)」を利用するものになっています。 技術詳細は別途の資料を参照してください。

v1 の頃と比較して、Near Mode など、特にセンシングする距離を限定するための設定が無くなりました。 したがって特別な手続きなしに座っている人物の部位を検出することなどできます。

カメラ視野について

カラーカメラの視野については公表されていませんが SDK から値を参照して確認しています。 参照した値は以下のコードの通りです。それぞれ「84.1, 53.8, 70.6, 60」となりました。 公表されている深度視野の値が等しいので正しい数値である可能性は十分にあります。

KinectSensor.ColorFrameSource.FrameDescription.HorizontalFieldOfView
KinectSensor.ColorFrameSource.FrameDescription.VerticalFieldOfView
KinectSensor.DepthFrameSource.FrameDescription.HorizontalFieldOfView
KinectSensor.DepthFrameSource.FrameDescription.VerticalFieldOfView
Kinect v2 の FOV を取得するコード

音声フォーマットについて

2013.11.30 現在、音声フォーマットについて言及している公式の資料は見つかりませんでした。 ただし公式の SDK に付属するサンプルでは 16KHz 32bit(4byte) で処理されています。

// Allocate 1024 bytes to hold a single audio sub frame. Duration sub frame 
// is 16 msec, the sample rate is 16khz, which means 256 samples per sub frame. 
// With 4 bytes per sample, that gives us 1024 bytes.
this.audioBuffer = new byte[audioSource.SubFrameLengthInBytes];
公式サンプル Audio Basics より音声フォーマットに言及するコード

その他の情報

Kinect v1 と比較してチルトモータが取り除かれています。Kinect 本体は手動でのみ角度を変更することができます。

SDK 2.0 時点では加速度センサの値を取得することができません。 ハードウェアレベルで搭載はされているという情報もありますが定かではありません。

for XBOXについて

Kinect for XBOX One の製品パッケージに関する推奨環境等は、for Windows のものと変わらないようです。 ただし Kinect for XBOX One パッケージを PC などに接続して利用する場合には、別途変換用のコネクタが必要です。

Set up the hardware - Kinect for Windows

ソフトウェア

最大検出人数6人
検出部位数25
音声方向の検出正面から左右に 50 度
音声認識

検出部位と指先の認識

v1 から比較して検出部位(指先など)が増えたほか、 Toolkit ではなく SDK レベルでグー・チョキ・パーの指のポーズを検出する機能が追加されています。

音声方向の検出

音声方向の検出は本体正面から左右に 50 度ずつ検出することができます。v1 の頃から変化はありません。 ただし SDK を利用して開発する際には 90 度までの値を BeamAngle に設定することができます。

v1 の頃は SourceAngle と BeamAngle の 2 種類の検出方法がありましたが、v2(SDK 2.0) では BeamAngle 1 つに統一されています。

msdn で公開されている SDK 2.0 BeamAngle の項目では、BeamAngle(音声方向) は 5 度ずつ増減するとされています(v1 では 10 度ずつ変化)。 しかしながら、SDK 2.0 に付属する公式のサンプルでは 1 度ずつ増減しています。つまり実際には BeamAngle の変化は 1 度ずつ増減しています。

AudioBeam.BeamAngle Property - msdn

v2 では検出した方向の正確性の他に、対象の方向にいる人物の index (識別番号) も取得することができます。

その他の情報

顔の追跡 (FaceTracking) のための機能が Toolkit から SDK へ移行しました。 (Microsoft.Kinect.Face に含まれるので位置づけ的には Toolkit と変わらないかもしれませんけれども。) 顔追跡機能は 2 種類用意され、表情の変化などを捉えるものと、顔の部位(座標)の移動を追跡するものとがあります。

Reference