HMM与手势识别混淆

时间:2013-05-16 21:45:23

标签: machine-learning hidden-markov-models viterbi

我一直在阅读有关HMM理论的文章。根据我的理解,我们需要初始概率,转移概率和发射概率来与HMM一致。我看到的关于HMM实现的例子在开始时定义了所有这些概率。但问题是我想要使用HMM识别手势,而我无法弄清楚如何定义概率(即过渡概率和发射概率矩阵)。我知道如何使用维特比算法来获得最佳序列或如何使用前向后向进行推理,这只是我担心的起始概率

任何人都可以指导我。

2 个答案:

答案 0 :(得分:4)

实际上隐藏马尔可夫模型有三种主要算法,你提到了三种中的两种:

  1. 前向后向算法。
  2. 维特比算法
  3. Baum Welch algorithm:从训练数据中推断出参数(初始概率,转移概率,发射概率)。
  4. Baum-Welch算法基本上是一种期望最大化算法,您可以从随机起始参数开始,并使用前向 - 后向算法计算初始参数的最大似然值,然后进行迭代。在this lecture note中给出了对算法的伪代码的良好阐述。它还讨论了语音识别的相关问题,HMM的一个非常成功的应用。不幸的是,它没有讨论Baum-Welch或其他算法在实践中通常很难实现的事实,因为概率变得非常小。因此在实践中,您必须使用仔细缩放,使用日志概率,或使用sci-kit learn的HMM实现,其中包括所有三种主要HMM算法。

答案 1 :(得分:1)

在这里,您可以查看我的blog post,这是关于如何使用HMM识别手势的基本步骤(这是我在完成本科项目时获得的经验)。它突出了所需三种算法的基础知识,以及如何估计所涉及的矩阵的初始概率,最后是训练数据的性质和学习算法。我希望它至少可以帮助你开始。

在这里回答你的部分问题,你对初始概率的估计可能因实现而异,但这在很大程度上取决于你的马尔可夫模型的性质,即你将使用三种类型的模型中的一种:遍历,LRB和LR。根据这一点,Transition,Emission和Initial Probabilites的初始值可能会有所不同。接下来,为了识别手势,您需要“观察”捕获的图像帧中的某个特定(或一组)特征。我建议你浏览我的博客文章,了解更详细的解释。