带C++的隐马尔可夫模型

gar*_*rak 16 opencv machine-learning computer-vision hidden-markov-models

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

我想要避免"重新发明轮子"!

是否有可能使用Torch3Vision,即使(看起来像)它被设计用于语音识别?

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

任何有关这方面的帮助将非常感激.

小智 11

您可以查看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项目完成了这项工作.


Omi*_*khi 5

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

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

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