使用Kinect骨架3D

时间:2014-10-06 16:03:33

标签: kinect kinect-sdk

我在Windows 7中使用MS SDK,我的目标是从3D骨骼中提取一些头部方向。但是在绘制3D坐标时我很惊讶。估计的头部位置总是向前倾。从我观看相机的静态位置,我将3张图像作为示例,双手和头部均为黄色,骨架右侧为品红色,左侧为青色。

3D skeleton from the front view

(1)前视图中的3D骨架

rotating the same skeleton from (1)

(2)从(1)

旋转相同的骨架

top view of (1)

(3)(1)的顶视图

所以,问题是,

  1. 这是正确的技术吗?

  2. 虽然我更改了默认参数,但我没有得到任何改进。有关工作设置骨架过滤参数的任何提示吗?

2 个答案:

答案 0 :(得分:2)

现在相对于颈部轴的头部旋转可以通过两个肩部的深度来计算。首先计算颈部中心和肩关节之间的深度差(z距离),得到颈部中心和肩部之间的差异(x距离),然后通过获得棕褐色值,可以得到身体旋转的程度。

答案 1 :(得分:1)

我不确定你是使用V1还是V2,但它们在问题上是相似的......

  1. 这是从Kinect SDK和解剖学上都正确的。从肩膀中心到头顶中心画一条线会产生向前倾斜的线条。您可以在SDK Browser Samples(Body Basics)中查看此示例。

  2. 我不确定您要将关节位置映射到的是什么,但这里有demo可视化每个关节的JointOrientation数据。评论中有源代码,用于演示如何获取值。

  3. Here是Kinect SDK关节类型(V2,但类似于V1)