3

Processing で複数の kinect を持つ PointCloud マッピング ユーザーを作成しようとしています。反対側に 2 つのキネクトを使用してユーザーの前面と背面を取得し、両方の PointCloud を生成します。

問題は、PointCloud X/Y/Z が同期されていないことです。2 つが画面に表示されるだけで、見栄えが悪くなります。2 番目の PointCloud を最初の PointCloud に「結合」するように変換するために、それらを計算または比較する方法はありますか? 位置を手動で変換することもできますが、センサーを動かすと再びオフになります。

4

1 に答える 1

4

すべての Kinect が静止していると仮定すると、次の順序で進む必要があると思います。

  1. どの Kinect をグローバル リファレンスとして使用するかを決定し、
  2. 他の各 Kinect の 3D 変換のパラメーターを取得します。遅いかもしれませんが、PMatrix3D と applyMatrix() を使用してみます。
  3. 変換を他の Kinect の各ポイント クラウドに適用し、クラウドを描画します

Procrustes 変換の変換パラメーターを取得する方法は (まだ) わかりませんが、変更されないと仮定すると、おそらく Kinect の各ペアから点群を表示することによって、複数の参照点を設定する必要があります。両方の点群で同じであることがわかっている点を登録します。それらを十分に取得したら、PMatrix3D を構築し、push/popMatrix 内に適用します。これは、この男が使用するアプローチです: http://www.youtube.com/watch?v=ujUNj1RDL4I

別のアプローチは、反復最近接ポイント アルゴリズムを使用し、その出力から 3D 変換を構築することです。誰かが良いものを知っていれば、処理用のICPまたはPCLライブラリが本当に欲しいです。

于 2012-03-27T12:01:05.950 に答える