1

概念的な問題があります。ジェスチャー認識に Kinect を使用するプログラムを作成しています。カテゴリ (円、スワイプなど) に分けられたジェスチャ データがあります。今のところ、私は片手だけを分析しています。全コマ(30fps)を記録しています。

(*) データを離散化して位置に依存しないようにするために、連続する点間の角度を計算します。

hidden Markov modelsここで、ジェスチャーの種類ごとに作成したいと思います。

次に、 の状態の数を決定する必要がありますHMM。どうやってするか?(時間的に)最も長いジェスチャーを見つけることを考えました。1,2sたとえば、 first 、 second 1,4s、 thirdの 3 つのジェスチャがあり1,5sます。最長1,5sも同様です。ここで、250 ミリ秒ごとに各フレームに (*) を適用します (1 秒内に 4 つのサンプル)。私の最長のジェスチャーは1,5s長いのでNumberOfStatesForHMM = 1500ms / 250ms = 6 states、これはかなり最適なはずですか?

の状態をどのように定義すればよいかわからないHMM:/ 上記の考えが正しければ、(たとえば) 6 つの状態があり、1 つのジェスチャが の後1sに終了する場合の遷移確率をカウントする方法は、4 つの状態 (状態からの遷移の確率) を分析します。 4 から 5 と 5 から 6 は 0 に等しいか?)。

この論文を読みましたが、問題の解決方法がよくわかりません...

4

1 に答える 1

1

私は同様の動的ハンド ジェスチャ認識プロジェクトに取り組んできました (ただし、Kinect ではなく、より単純な Web カメラを使用しています)。私の場合、ジェスチャを左、右、円形 - 時計回り、円形 - 反時計回りなどのクラスに分類しました。連続するポイント間の角度を考慮に入れるため、それが観測シーケンスになります。状態に関しては、状態と観察の間に常に論理的な関係があるとは限りません。私は8つのジェスチャーで作業していました。これで、入力パターンごとに約 12 個の観測シンボルがありましたが、no. 各クラスの州の数は異なりました。例: 左: 2 つの状態 右: 3 つの状態 時計回りに円: 4 つの状態 など。

利点は、Viterbi アルゴから取得したステート シーケンスの出力から、最大ステート番号を直接取得できるため、クラスが取得できることです。また、学習フェーズ中に、私の Baum-Welch 実装は、番号に応じてクラスを自動的に学習しました。州の。追加情報については、私のブログ投稿 [私のプロジェクトで行ったように、HMM を使用してジェスチャを認識する方法について説明しています] を参照してください。お役に立てば幸いです。

ここにリンクがあります

于 2013-04-22T10:52:26.383 に答える