В программе я разработал схему распознавания жестов, близкую к this article.Распознавание жестов Kinect: сброс, восстановление и точность
Но у меня есть ложный позитив, когда я сидел перед компьютером. Kinect потеряет трек Skeleton, а затем использует неверные данные.
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 после скелетного слежения потерян. Но я не знаю, как это обнаружить? На самом деле, я получаю много находок/потерянных значений, которые отлично работают в нормальном случае, но срабатывают ложно, когда я нахожусь перед ПК.
Есть ли разумный способ обнаружить, что скелет полностью ошибочен, даже если он находится в состоянии отслеживания?
Когда слишком близко, X, Y, Z является укомплектовать неправильно –
Как далеко от я e компьютер – Kinected
В дополнение к вопросу @Kinected, вы используете Kinect для Xbox 360 или Kinect для Windows? Если вы используете Kinect для Windows, вы находитесь в «Near Mode»? –