2012-01-28 46 views
2

最終的な大学のプロジェクトでKinectのアプリケーションを開発しています。ジェスチャー認識アルゴリズムを開発する必要があります。私はこれについていくつかのアドバイスをいただければ幸いです。ジェスチャー認識アルゴリズム - Kinect

私の初期のアルゴリズムでは、特定の時間枠内でkinectに近づくユーザーの手が検出されています。今のところ私はこれが任意の500msだと言うでしょう。

次のように私の考えは次のとおりです。

  • 録音z軸位置リスト内のすべての100ミリ秒と店舗。
  • 新しい位置が記録されるたびに、リストの前の4つの位置のそれぞれについてz位置を確認します。
  • z位置が個々にまたは集合的に必要な距離だけ変化した場合は、ジェスチャ認識イベントを開始してください。
  • ジェスチャーが認識された場合は、リストをクリアしてもう一度開始してください。

これは私がこのようなことを試みた初めてのことであり、初期の単純な実装について助言したいと思います。

ありがとうございました。

答えて

2

ユーザーが自分の手を振っていることを認識しようとしているだけの場合は、アプローチがうまくいくはずです(ノイズの多いデータのために誤発火を起こしやすい)。あなたがやろうとしていることは、パターン認識の分野ではうまくいきます。これと非常によく似たタスクのために、人々は非常に多くの場合、隠れマルコフモデルを非常によく使用します。あなたはWikipediaの記事をチェックしたいかもしれません。私はC#の人ではありませんが、わかっている限り、マイクロソフトはC#用の非常に優れた統計推論ライブラリを持っており、確かにHMMの実装が含まれています。

4

公式のKinect SDKまたはオープンソースドライバ(libfreenectまたはOpenNI)を使用しますか?

あなたはKinectのSDKを使用している場合は、のようなものを見て持つことで起動することができます。

DTW lib preview

Candescent NUI lib preview

(白熱NUIはしかし、指の検出にもっと焦点を当て)

あなたはオープンソースのドライバを使用することを計画している場合は、OpenNI and NITEを試してみてください。 NITEにはハンドトラッキングとジェスチャー(スワイプ、サークルコントロール、2dスライダーなど)が付属しています。

アイデアは、少なくとも手の検出があり、そこから実行することです。もしあなたがそれを持っていれば、Unistroke Gesture Recognizerのようなものを実装するか、モーションテンプレート/ MotionHistoryなどの他のテクニックを調べて、それらをあなたが今再生できる新しいデータに適応させることができます。

Goodluck!

関連する問題