手势/姿态识别的特征提取方法

5
我正在开发一个手语识别应用程序,希望使用隐马尔可夫模型作为分类阶段。这意味着我将对手势/姿势进行分类,以获取相关字母或单词。
目前,我已经完成了第一阶段的手部检测。我可以获取一些参数(特征),例如:手的凸包、凸点、质心、旋转椭圆/矩形的边界(例如,在旋转方面获得所需的任何角度)、手的轮廓和矩。这些都可以通过openCv实现。
我的问题是:一旦我拥有了所有这些特征,如何执行'特征提取'阶段?也就是说,如果一个机器学习算法,例如HMM需要一组概率,我该如何使用上述信息?
一个想法是创建一个特殊的数据结构,其中包含这些信息,以唯一地识别每个手势,但我该如何将其输入到机器学习技术中? (在这种情况下,隐马尔可夫模型)
请问是否能指导我至少在这个阶段应该搜索什么,或者指导我显示我真正遇到的困难是什么?
1个回答

5
一旦您准备好观察数据集,您可以将其输入维特比算法以检测可能产生这些观察结果的最佳状态序列。此外,您可以使用鲍姆-韦尔奇算法对样本数据集进行HMM训练。您可以查看 我的博客文章,其中简要说明了如何使用HMM识别动态手势(尽管我没有使用openCV或扫描手的轮廓)。希望这能帮助您了解处理和学习阶段的一般想法。

谢谢你的回答。我经常访问你的网站,发现它非常有用。我正在使用JAHMM来处理Hmms,这是一个有趣的小包。我很容易地使用BW算法对它们进行了训练,然后我使用Forward Backward来检查当前HMMs上一系列观察的概率。每当我尝试使用Viterbi时,结果总是为'0',我无法弄清楚问题出在哪里! - test
1
嘿,如果你觉得我的回答有用,能不能请你给我投一票:)。至于你的维特比问题:你确定你训练集正确,并且你正在使用的维特比实现是正确的吗?有很多示例代码可以帮助你。由于你得到了0,这意味着你的模型“认为”当前的HMM参数值无法产生所提供的特定观察序列作为输入。再次检查学习阶段以确保正确性。 - Darth Coder

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接