2011-02-18 4 views
0

私はkinectを使用してコンピュータビジュアルソフトウェアを実行しています。私はプログラムの設定をして、ある距離を超えてすべてをフィルタリングするようにしています。何かが手に入るほど十分に近くに入ると、私のプログラムはそれを仮定します。フィルタリングされた検出後の形状トラッキング

ただし、この機能を拡張したいと考えています。現在、手が深さフィルタリングされた領域を離れる場合、ソフトウェアはもはやその位置を追跡しない。深さに関係なく、私はそれを認識した後どのように手を追うことができますか?

答えて

0

私はKinectコントローラーで作業していませんが、レーザースキャナーでプレイした後は、範囲が戻ってきましたが、水平面内のみでした。しかし、私たちが使用した技術はKinectにも適用可能でした。

オブジェクトを見つけたら、オブジェクト[X,Y]の中心点を計算しました(Kinectでは[X,Y,Z])。次の「フレーム」では、指定した半径の中のすべての点をから、[X,Y]から探しました。次の「フレーム」などに使用した新しい中心[X,Y]などを計算しました。

可能な限り最大のオブジェクト速度とフレームレートを使用して、オブジェクトが2つの測定フレーム間のトラッキングから逃げないようにできる最小のrを計算しました。

0

あなたは平均シフト追跡を見てすることができます http://www.comp.nus.edu.sg/~cs4243/lecture/meanshift.pdf

そして、それはそれは(さらにまたは近い)より小さいか、大きくなっても、ブロブを追跡することが可能です。

0

私はKinectのコントローラで働いていない、しかし、あなたが実装、高速テンプレートマッチングアルゴリズムを試すことができます。 https://github.com/dajuric/accord-net-extensions

はちょうどあなたの奥行き画像の代わりに、標準のグレースケール画像を使用します。サンプルが含まれています。

P.S. このライブラリには、カルマンフィルタ、パーティクルフィルタリング、JPDAF、Camshift、Mean-shift(サンプルを含む)などの他の追跡アルゴリズムも用意されています。

関連する問題