16

我一直在研究C++隱馬爾可夫模型的實現。我想知道如果我可以使用任何現有的用C++編寫的HMM庫在那裏使用 與行動識別(與OpenCV)?用C++隱馬爾可夫模型

我正試圖避免「重新發明輪子」!

是否可以使用Torch3Vision即使(看起來)它被設計爲 工作語音識別?

我的想法是,如果我們可以將特徵向量轉換爲符號/觀察 (使用矢量量化 - k均值聚類),我們可以使用這些符號 解碼,推理,參數學習(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項目完成的。

+0

代碼很有幫助。因此,當我們使用正確的特徵向量時,用於手勢識別的代碼可以用於計算機視覺(用於動作識別)? – garak 2011-12-21 12:26:46

+1

這是正確的。 – 2011-12-21 19:49:27

5

還有幾天前我寫的這個實現。這是一個使用OpenCV的離散HMM類。你可以看看這裏:

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

你的特點量化後,可以將每個特徵向量轉換爲一個標籤和使用標籤的序列來訓練一個離散HMM。

+0

Sakh。我在這裏有一個查詢(http://stackoverflow.com/questions/34754602/hmm-for-image-sequence-classification-in-opencv-c)關於圖書館的使用,可以提供建議嗎? – Benson 2016-01-13 08:50:53