16

我最近一直在研究 C++ 中隐马尔可夫模型的实现。我想知道是否可以使用任何现有的用 C++ 编写的 HMM 库与动作识别(使用 OpenCV)一起使用?

我要避免“重新发明轮子”!

即使(看起来)它是为语音识别而设计的,是否可以使用Torch3Vision ?

我的想法是,如果我们可以将特征向量转换为符号/观察值(使用向量量化 - Kmeans 聚类),我们可以使用这些符号进行解码、推理、参数学习(Baum-Welch 算法)。这样它就可以在 OpenCV 中与 Torch3Vision 一起使用。

对此的任何帮助将不胜感激。

4

2 回答 2

12

您可以查看http://www.ece.ucsb.edu/Faculty/Rabiner/ece259/Reprints/tutorial%20on%20hmm%20and%20applications.pdf了解 HMM 背后的理论。自己实现算法并不难。

对于基于 C 的版本,您可以查看我的实现http://code.google.com/p/accelges/,这是我为 Google Summer of Code 项目所做的。

于 2011-12-20T18:47:19.773 回答
5

还有我几天前写的这个实现。它是使用 OpenCV 的离散 HMM 类。你可以看看这里:

https://sourceforge.net/projects/cvhmm/

量化特征后,您可以将每个特征向量转换为一个标签,并使用标签序列来训练离散 HMM。

于 2012-06-09T20:21:31.663 回答