1

私が扱っている問題をどこから始めるべきか、いくつかのヒントを見つけたいと思っています。Kinect センサーを使用して 3D 点群をキャプチャしています。すでに機能している 3D オブジェクト検出器を作成しました。

ここで私の仕事:

点群 1 があるとします。点群 A でオブジェクトを検出し、オブジェクトの重心位置 (x1、y1、z1) を知っています。ここでセンサーをパスに沿って動かし、新しい雲 (例: 雲 2) を作成します。その雲 2 では、同じオブジェクトが見えますが、たとえば、オブジェクト検出がうまく機能していない側面からです。

検出されたオブジェクト フォーム クラウド 1 をクラウド 2 に変換して、クラウド 2 の重心を取得したいと思います。私にとっては、点を 1 から 2 に変換するには行列 (移動、回転) が必要なように思えます。

そして、私の問題をどのように解決できるかについてのアイデアはありますか? もしかしてICP?より良い解決策はありますか?

THX!

4

2 に答える 2

1

一般に、このタスクは登録と呼ばれます。これは、雲 1 のどの点が点 2 のどの雲に対応するか (より具体的には、雲 1 のどの点が与えられ、雲 2 のどの点が検出されたオブジェクト上の同じ位置を表すか) を適切に推定することに依存しています。PCL ライブラリのドキュメントに概要があります。

このような対応関係がある場合は、幸運であり、ここで示すように回転と平行移動を直接計算できます。

そうでない場合は、その対応を見積もる必要があります。ICP は、ほぼ整列した点群に対してこれを行いますが、点群がまだ十分に整列していない場合は、点群の「キー ポイント」(本の角、異なる色など) を推定することから始めたいと思うかもしれません。上記のように回転と平行移動を行った後、ICP を実行します。DJDuff が述べたように、ウィキペディアによると、ICP は、最小点間距離または最小点間距離の 2 つのメトリックのいずれかを使用して対応関係を推定するため、すでにほぼ整列している点群で実際にうまく機能します。練習しますが、法線を推定する必要があるため、注意が必要です。対応が遠く離れている場合、変換も同様になる可能性があります。

于 2013-12-05T22:46:04.193 に答える