用于识别Kinect上用户定义手势的最佳算法

时间:2013-12-02 02:56:10

标签: c# kinect gesture-recognition kinect-sdk

我正在开发一个Windows应用程序,允许用户使用Kinect传感器与他的计算机完全交互。用户应该能够向应用程序讲授他自己的手势,并为每个人分配一些Windows事件。在学习过程之后,应用程序应该检测用户的移动,当它识别出已知的手势时,应该触发分配的事件。

关键部分是自定义手势识别器。由于手势是用户定义的,因此无法通过将所有手势直接硬编码到应用程序中来解决问题。我已经阅读了很多讨论这个问题的文章,但是没有一篇文章给我答案:哪种算法最适合学习和识别用户定义的手势?

我正在寻找以下算法:

  • 高度灵活(手势可以从简单的手势到 全身运动)
  • 快速&有效(可能会使用该应用程序 与视频游戏,所以我们不能消耗所有的CPU容量)
  • 学习新手势时不需要超过10次重复(重复手势超过10次教授应用程序在我看来不是非常用户友好)
  • 容易 实施(最好,我想避免与两页挣扎 方程式左右)

请注意,结果不一定是完美的。如果算法不时识别错误的手势,则比算法运行缓慢更容易接受。

我目前正在决定3种方法:

  • 隐马尔可夫模型 - 这些似乎在手势识别方面非常受欢迎,但似乎也很难理解和实施。此外,我不确定HMM是否适合我想要完成的任务。
  • 动态时间扭曲 - 遇到使用DTW提供手势识别的this site,但许多用户都在抱怨性能。
  • 我正在考虑将 $1 recognizer 调整为3D空间,并将每个关节的移动用作单个笔划。然后我会简单地比较笔画并从已知手势集中选择最相似的手势。但是,在这种情况下,我不确定这个算法的性能,因为有许多关节需要比较,识别必须实时运行。

您认为哪种方法最适合我正在尝试的方法?或者这个问题有其他解决方案吗?我很感激能够推动我前进的任何建议。谢谢。

(我正在使用Kinect SDK。)

0 个答案:

没有答案