Kinectの各カメラのFOVについて
About
Kinectには通常のカラー画像取得用カメラと深度情報撮影用カメラと2つのカメラが付いているわけですが、それぞれ撮影する範囲FOV(Field of view)が異なります。公式の資料を見てもややバラつきがあるので整理しておきます。
Skeletonの取得範囲が43°
調べてみて真っ先にヒットするのが次の2つのMSDNの記事です。しかし既に値が食い違っています。
- Interaction Space - Kinect for Windows SDK(MSDN)
- Vertical FOV = 43°表記
- Skeletal Tracking - Kinect for Windows SDK(MSDN)
- Vertical FOV = 43.5°表記
しかし「SkeletonTracking」や「Interaction Space」の表記の通り、これらの値は、"骨格を取得することの出来るFOVの範囲"として見るのが妥当だと思います。ColorカメラやDepthカメラの値であるとは明記されていませんし、43°であるか43.5°であるかはこの場合あまり問題にならないでしょう。
「NUI_CAMERA Flags」に記される公称値
各ハードウェアレベルでのFOVに関しては、開発者向けReferenceのページ「NUI_CAMERA Flags」に公称値を確認する事ができます。「NUI_CAMERA Flags」はC++向けのReferenceから参照できるので、普段C#を利用する人からすると発見し難いかもしれません。これでカメラの正確?なFOVパラメータが得られます。
FOV | Value |
NUI_CAMERA_DEPTH_NOMINAL_DIAGONAL_FOV | 70.0f |
NUI_CAMERA_DEPTH_NOMINAL_HORIZONTAL_FOV | 58.5f |
NUI_CAMERA_DEPTH_NOMINAL_VERTICAL_FOV | 45.6f |
NUI_CAMERA_COLOR_NOMINAL_DIAGONAL_FOV | 73.9f |
NUI_CAMERA_COLOR_NOMINAL_HORIZONTAL_FOV | 62.0f |
NUI_CAMERA_COLOR_NOMINAL_VERTICAL_FOV | 48.6f |