0

私は Kinect の開発を始めようとしており、誰かが次のことについて洞察を持っていることを願っています。

プロジェクターのすぐ下の天井にキネクトを取り付けたいと思っています。プロジェクタには、魚がいる池が表示されます (Microsoft Windows 7 タッチ パックに似ています)。

次に、投影に出入りする人の動きを検出し、波紋を追加したり、魚を動かしたりしたいと考えています。

人々の形を追跡する必要はありません。フレーム内にあるかどうか、どこにいるかを知るだけです。実際、誰かがボールを横に転がした場合、私はそれを追跡するのと同じくらい幸せです.

私は近日中に Kinect を入手する予定ですが、これが不可能であることを誰かが知っている場合はお知らせください。可能であれば、私を始めるための指針は素晴らしいでしょう.

ありがとう、パトリック。

4

2 に答える 2

1

始める前に、Kinectにアクセスするために使用するソフトウェアを決定する必要があります。最も人気のある2つの選択肢は次のとおりです。

libfreenectもありますが、それは生の深度データのみを提供し、私の意見では、上記の2つよりも使いにくいです。

Kinect for Windows SDKとOpenNIはどちらもスケルトントラッキングを提供します。これは、ユーザーの場所とユーザーの体の一部を詳細に検出するための非常に便利な方法です。ただし、プロジェクトの場合、Kinectが天井に取り付けられて下向きになっているため、スケルトントラッキングが正しく機能しない可能性があります。提供されている追跡アルゴリズムは、ユーザーと直接向き合う場合、および体の大部分が見える場合(fを除く)に最適に機能します。

プロジェクトでは、おそらくスケルトントラッキングはまったく必要ありません(Kinect for Windows SDK / OpenNIで非アクティブ化できます)。頭のてっぺんから考えられるアプローチは次のとおりです。

  1. アプリケーションの開始時に、Kinectから画像を投影する表面までの距離を測定して、ソフトウェアを調整します。
  2. Kinectから受け取る新しい深度フレームごとに、現在のフレームとキャリブレーションフレームの違いを確認します。キャリブレーションフレームよりも現在のフレームのセンサーに近いピクセルのチャンクがある場合、それはオブジェクトであると見なすことができます。

もちろん、Kinectの深度測定は完全ではありません。誤検知を除外するには、ある種のエラー訂正を提供する必要があります。

このアプローチを使用すると、表面上に座っている、または表面上を移動しているほとんどのオブジェクトを検出できます。

于 2012-06-12T06:36:44.970 に答える
0

センサーを天井の真下を指すのではなく、天井に近い壁の1つに配置する方がよいでしょう。こうすることで、より良い視野が得られ、スケルトン/ユーザー追跡アルゴリズムを引き続き使用できます。

センサーの最小距離は約50cmであるため、天井が低い場合は、センサーの真下にいる人に問題が発生する可能性があることに注意してください。

OpenNIを使用すると、人を追跡するNiteのSceneAnalysisを使用でき、人の重心を簡単に取得できます。

于 2012-06-12T07:13:40.663 に答える