繁体   English   中英

手势识别算法-Kinect

[英]Gesture Recognition Algorithm - Kinect

我正在为我的最后一年大学项目开发​​Kinect的应用程序,并且我需要开发许多手势识别算法。 我很乐意为此提供一些建议。

我的初始算法是检测用户的手在特定时间范围内朝着Kinect靠近。 现在,我要说这是一个任意的500ms。

我的想法如下:

  • 每100ms记录一次z轴位置并存储在List中。
  • 每次记录新位置时,请检查列表中前4个位置的z位置。
  • 如果z位置已单独或集体变化了所需的距离,则触发手势识别事件。
  • 如果识别出手势,请清除列表,然后重新开始。

这是我第一次尝试这样的事情,并且希望对我最初的天真的实现提供一些建议。

谢谢。

您要使用官方的Kinect SDK还是开源驱动程序(libfreenect或OpenNI)?

如果您使用的是Kinect SDK,则可以先看以下内容:

DTW库预览

Candescent NUI lib预览

(但是,白炽灯NUI更加专注于手指检测)

如果您打算使用开源驱动程序,请尝试使用OpenNI和NITE NITE带有手部跟踪和手势(滑动,圆圈控制,2d滑块等)。

这个想法是至少要有手检测并从那里进行。 如果您了解了这一点,则可以实现诸如Unistroke Gesture Recognizer的改编之类的功能,或者研究诸如Motion Templates / MotionHistory等其他技术,从而使它们适应您现在可以使用的新数据。

祝好运!

如果您只是想识别用户向您摆动的手,则您的方法应该可行(尽管由于嘈杂的数据极易导致误触发)。 您尝试做的事情非常适合模式识别领域。 为此,以及非常相似的任务,人们经常使用隐藏的马尔可夫模型取得巨大成功。 您可能要查看Wikipedia文章。 我不是C#的人,但是据我所知,Microsoft对于C#具有非常好的统计推断库,并且它们肯定会包含HMM实现。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM