我有一组3D
点映射到[0, 1]
段。这些点代表简单的手势,如圆圈,挥动等。现在我想使用Hidden Markov Models
来识别我的手势。第一步是提取(X, Y, Z)
数据的功能。我尝试搜索有用的内容,并找到了几个示例:SIFT
,SURF
,某种Fast Fourier Transform
等。
我很困惑我应该在项目中使用哪一个。我想使用Kinect控制器中的数据来识别手势,因此我不需要在算法上跟踪关节。
答案 0 :(得分:2)
我正在研究类似的问题。到目前为止,我发现的最好的材料是来自David Catuhe的Kinect Toolbox。有一些基本的手势识别代码,Kinect数据记录和重放。
您可以在此处开始阅读:http://blogs.msdn.com/b/eternalcoding/archive/2011/07/04/gestures-and-tools-for-kinect.aspx
答案 1 :(得分:2)
我必须在一两年前实施HMM手势识别,以获得有关不同机器学习方法的论文。我遇到了Accord .NET Framework,这有助于实现我正在研究的许多内容,包括HMM。它相当容易使用,它的创建者在论坛上很活跃。
为了训练HMM,我创建了一个Kinect应用程序,一旦身体部位静止3秒钟就开始记录手势,然后它将所有点记录到输出文件,直到所述部分再次停止3秒钟。然后,我选择了我想要训练的手势的最佳尝试,并将它们用作我的训练集。
如果您是Kinect手势识别的新手,并且 不使用HMM,我建议您可以查看模板匹配,因为它更简单,我发现它对于简单的手势非常有效
答案 2 :(得分:1)
您是否考虑过[训练有素]支持向量机?
请参阅:LibSVN Library http://www.csie.ntu.edu.tw/~cjlin/libsvm/
这个想法是将你的手势定义为n维训练问题。然后简单地训练每个手势(多个分类SVM)。训练后,您将任何用户手势映射为N维向量,并尝试使用训练模型对其进行分类。