1

我有一个问题Hidden Markov Models。我正在编写一个用于手势识别的应用程序C#Kinect简单的手势,如滑动、波浪、圆圈等)。我编写了一个手势记录系统,之后我创建了一个计算点之间速度的特征提取器,我还计算了方向(点对之间的角度)——我认为这是一种简单的矢量量化方法,因为我创建了一个带有码字的码本1-18。代码字是每 20 度的角度间隔(例如角度 12dg 是代码字 1、45dg = 代码字 3 等)。

现在我想我需要创建一个HMM并使用一些Forward-Backward算法进行学习。然后一些Bayes分类方法和完成。

我的问题:

  1. 我的步骤错了吗?
  2. 如何创建 HMM?谁能以编程方式描述它的外观?
  3. 如何为测试执行实时手势匹配?
4

1 回答 1

2

免责声明:我是我将要列出的一些教程/软件的作者。

  1. 你的步骤似乎很好。例如,它们与Lee 和 Kim使用的方法非常相似(减去阈值模型部分)。

  2. 也许您可以按照C# 中的 HMM 指南进行操作。它是我写的,并有一些关于如何执行手势识别的示例。但是,该指南创建的是连续密度 HMM,而不是离散 HMM。您的矢量量化使您的特征离散,所以我想您会对使用离散密度 HMM 更感兴趣。要使其适用于离散模型,您必须做的唯一更改是删除模型创建/学习中的通用参数。

  3. 要执行实时手势,您可以使用某种特定的标记来表示手势的开始和结束,也可以使用类似于 Lee 和 Kim 的阈值模型的技术。上述指南中描述的框架支持这些。

我曾使用相同的技术从事过一个类似的项目,我可以说 HMM 可以很好地完成这项任务。

于 2013-04-09T22:30:03.943 回答