【发布时间】:2013-08-17 11:10:12
【问题描述】:
在一个程序中,我开发了一个接近 this article 的手势识别框架。
但是当我坐在电脑前时,我有误报。 Skeleton的kinect松动轨迹,然后使用错误的数据。
1) 我试图过滤这种行为:
return sk.Joints[JointType.Head].TrackingState == JointTrackingState.Tracked
&& sk.Joints[JointType.WristLeft].TrackingState == JointTrackingState.Tracked
&& sk.Joints[JointType.WristRight].TrackingState == JointTrackingState.Tracked
&& sk.Joints[JointType.HipLeft].TrackingState == JointTrackingState.Tracked
&& sk.Joints[JointType.HipRight].TrackingState == JointTrackingState.Tracked;
但即使我的关节不可见。 Kinect 猜测并跟踪错误的骨架!
2)我也尝试使用TransformSmoothParameters,但没有任何变化(不知道最佳参数)。
3) 在骨骼跟踪丢失后,我还阅读了 Kinect need to recover。但我不知道如何检测?事实上,我得到了很多找到/丢失的值,这些值在正常情况下工作正常,但是当我在 PC 前面时会触发误报。
是否有一种智能方法可以检测 Skeleton 是否完全错误,即使它处于跟踪状态?
【问题讨论】:
-
太近时,X,Y,Z 完全错误
-
你离电脑多远
-
除了@Kinected 问题,您使用的是用于Xbox 360 的Kinect 还是用于Windows 的Kinect?如果是 Kinect for Windows,您是否处于“近距离模式”?
-
我正在使用 Kinect XBox360(因此我没有激活 NearMode)。我距离 Kinect 大约 80 厘米,上面写着 2M。我认为它至少应该说是 JointTrackingState.Infered。我将不得不使用深度框架来检查:-(
-
@Jean 好吧,你正在重置 return 语句中的值,但在你这样做之前是关节
Tracked