3

我正在尝试实现用户的跳跃和闪避手势,并且我正在使用 Kinect 进行骨骼跟踪和提取关节位置。我之前实现了一个基本算法,获取关节过去 10 个值的历史记录,并检查关节向上/向下移动是否大于阈值以推断跳跃/鸭子。

然而,这似乎不是正确的方法,因为用户:
- 可能会在跳跃前稍微低一点
- 当用户跳跃时,也会下来并推断出一只鸭子。
- 当用户闪避时,也出现跳跃
- 用户在闪避时可能比他闪避或坐下时在空中停留的时间更长。

在即时检索 Kinect 关节的情况下,以稳健的方式检测这两种跳跃/俯冲手势的合适算法是什么?

4

1 回答 1

0

我认为检测跳跃并不容易以简单的方式为此制定有效的算法。检测为什么必须使用健壮的东西是一个复杂的动作。检测运动有四种方法:

  • 基本手势识别——简单的动作,比如拍手测量它们之间的距离。当距离为 0 时,它执行的移动
  • 一种算法方法- 更复杂的运动,您必须验证初始位置,验证运动是否正确执行,然后验证最终位置
  • 权重网络方法——这种方法可以使用神经网络来检测运动
  • 基于模板的方法- 您可以记录运动,然后使用动态时间扭曲等模板匹配算法来检查用户执行的运动和运动记录是否相等

您必须小心使用哪种方法,因为有时这种算法是数学运算的混合物,您必须选择一种对您的情况更有效的方法。有一种使用权重网络方法和神经网络检测跳跃的方法,尽管我从未见过。有一本书名为Kinect for Windows SDK Programming Guide,它解释了如何使用权重网络方法和神经网络检测跳跃。

于 2013-09-10T11:51:50.907 回答