在一个程序中,我开发了一个接近本文的手势识别框架。
但是当我坐在电脑前时,我有误报。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需要在骨骼跟踪丢失后恢复。但我不知道如何检测?事实上,我得到了很多找到/丢失的值,这些值在正常情况下工作正常,但当我在 PC 前面时会触发误报。
即使处于跟踪状态,是否有一种智能方法来检测 Skeleton 是否完全错误?