0

我遇到了Hidden Markov Models問題。我正在編寫C#的應用程序Kinect以進行手勢識別(簡單手勢如滑動,波浪,圓圈等)。我寫了一個手勢記錄系統,之後我創建了一個計算點之間速度的特徵提取器,並且我還計算了方位(點對之間的角度) - 我認爲這是一種簡單的矢量量化方法,因爲我創建了一個帶碼字的碼本1-18。碼字是每20度角度的間隔(例如,角度12dg是碼字-1,45dg =碼字-3等)。從數據構建HMM

現在我想我需要創建一個HMM並使用一些Forward-Backward算法進行學習。然後一些Bayes分類方法並完成。

我的問題:

  1. 我錯了我的步驟是什麼?
  2. 如何創建HMM?任何人都可以描述它應該看起來像編程式?
  3. 如何爲測試執行LIVE手勢匹配?
+0

而不是給予減號,也許指向我哪裏我錯了或什麼是壞的在我的文章? – Nickon 2013-04-09 09:43:29

回答

2

聲明:我是我將要列出的一些教程/軟件的作者。

  1. 你的步驟似乎很好。例如,它們與Lee and Kim(減去閾值模型部分)所使用的方法非常相似。您可以關注this guide on HMMs in C#。它是我寫的,並且有一些關於如何執行手勢識別的例子。但是,該指南創建連續密度HMM而不是離散HMM。你的矢量量化使你的特性離散,所以我想你會對使用離散密度HMM更感興趣。爲了使它與離散模型一起工作,你必須做的唯一改變是去除模型創建/學習中的一般參數。

  2. 要執行實時手勢,您可以使用某種特定標記來指示手勢的開始和結束,也可以使用類似於Lee和Kim的閾值模型的技術。上述指南中描述的框架支持這些框架。

我曾在一個類似的項目中使用相同的技術,我可以說HMMs對於任務來說工作得很好。