3D位置姿勢低精度推定

機能

点群モデルを使用して元の点群に対して大まかにマッチングし、対象物の大まかな候補位置姿勢を出力します。

(点群モデルの作成は 点群モデルを生成 をご参照ください。)

3d coarse matching function description

使用シーン

通常、シーンの点群で対象物を検出し、その大まかな位置姿勢を取得するために使用されます。このステップは一般的に 3D位置姿勢高精度推定 と併用されます。

入力と出力

3d coarse matching input and output

パラメータの説明

モデル設定

モデル選択

調整説明:右側のドロップダウンボタンをクリックして、モデルファイルと対応する幾何学的中心ファイルをすばやく選択して切り替えることができます。

モデルファイル

調整説明: 3d coarse matching v2 icon file をクリックして、ply形式のモデル点群ファイルを選択します。モデルファイルの作成は点群モデルの生成に関係します。詳しくは、 マッチングモデル・把持位置姿勢エディタ をご参照ください。

幾何学的中心ファイル

調整説明: 3d coarse matching v2 icon file をクリックして、json形式の幾何学的中心ファイルを選択します。幾何学的中心ファイルの作成は把持位置姿勢の追加に関係します。詳しくは、 マッチングモデル・把持位置姿勢エディタ をご参照ください。

点群の点が位置する平面の方向を計算

点が位置する平面の方向の計算方法

初期値:入力点群の法線を使用(Origin)

オプション

調整説明

入力点群の法線を使用(Origin)

入力された点群の元の法線ベクトルを使用します。

StandardMode

CPUを使用して入力点群の法線ベクトルを再計算します。モデルに法線ベクトルがない場合に使用することをお薦めします。目標点の付近にそれに最も近い点をk個を見つけ、PCA(主成分分析)を使用して最小特徴ベクトルを取得してこの点の法線ベクトルとします。

EdgeTangent

入力されたエッジ点群の接線を計算し、それを法線ベクトルとします。輪郭が鏡像となる異なる物体を判別できます。平面物体のエッジ点群をマッチングする時に使用することをお薦めします。

EdgeNormal

入力されたエッジ点群の法線ベクトルを計算し、その点の接線方向をを法線ベクトルとします。平面物体のエッジ点群をマッチングする時に使用することをお薦めします。

選択された隣接点の数

初期値:10 調整説明:このパラメータは点が位置する平面の方向にある隣接点の数、すなわち StandardMode にした時のk値を計算します。

アルゴリズムタイプ

初期値:SurfaceMatchingEasyMode

オプション:SurfaceMatchingEasyMode 、SurfaceMatching

調整説明:このアルゴリズムは2つのタイプがあります。アルゴリズムのタイプの調整は下図を例として、 SurfaceMatchingEasyMode アルゴリズムの調整可能なパラメータを紹介します。

SurfaceMatchingEasyMode アルゴリズム:調整可能なパラメータは速度制御と出力設定です。

SurfaceMatching アルゴリズム:調整可能なパラメータはサンプリング設定、投票設定、クラスタリング設定、位置姿勢検証設定です。

3d coarse matching input clouds

SurfaceMatchingEasyModeパラメータの説明

速度制御

メイン速度制御パラメータ

初期値:2

調整説明:このパラメータは、アルゴリズムの速度を調整します。大きくすればアルゴリズムの速度は速くなりますが、マッチングの精度は低下します。この効果は サブ速度制御パラメータ より強いです。 有効な範囲は1~6です。

調整の例:下図に示すように、左側は2(初期値)にした結果で、右側は6にした結果です。このパラメータを大きくすると、マッチング精度が低下します。

3d coarse matching main speed comparisons
サブ速度制御パラメータ

初期値:10

調整説明:このパラメータは、アルゴリズムの速度を調整します。大きくすればアルゴリズムの速度は速くなりますが、マッチングの精度は低下します。この効果は メイン速度制御パラメータ より弱いです。 有効な範囲は1~20です。

調整の例:下図に示すように、左側は10(初期値)にした結果で、右側は18にした結果です。このパラメータを大きくしたら精度も低下しますが、影響はメイン速度制御パラメータより弱いです。

3d coarse matching secondary speed comparisons

出力設定

単一点群の出力結果の数

初期値:3

調整説明:各点群のマッチングに出力される結果の数を予測します。値が大きいほど出力される結果は多くなります。 有効な範囲は1~∞です。

調整の例:下図に示すように、左側は1にした結果で、右側は3(初期値)にした結果です。

3d coarse matching number of output comparisons

SurfaceMatchingパラメータの説明

サンプリング設定

自動ダウンサンプリング

初期値:チェックを入れる

調整説明:このパラメータは、自動ダウンサンプリングを使用するかどうかを選択するために使用されます。チェックを入れれば、サンプリングされたモデルの期待点数に基づいてモデル点群のダウンサンプリングの間隔を自動的に調整します。

サンプリングされたモデルの期待点数

初期値:1000

調整説明:このパラメータは、サンプリングする点群の点数を調整するために使用されます。 自動ダウンサンプリング にチェックを入れた場合に有効になり、取得する点群の点数はこの値に近いです。この値が小さいほど、サンプリングする点群の点数は少なくなり、位置姿勢推定の精度も低下します。

モデルサンプリングの最大点数

初期値:4000

調整説明:このパラメータはモデル点群をダウンサンプリングした後の点群の点数の最大値を設定します。すなわち、ダウンサンプリング後のモデル点群の点数に上限を設定することです。マッチングの効果は良くない場合にこの値を大きくしてください。マッチングの速度を上げたい場合に小さくしてください。

シーンサンプリングの最大点数

初期値:30000

調整説明:このパラメータはシーンの点群をダウンサンプリングした後の点群の点数の最大値を設定します。すなわち、ダウンサンプリング後のシーンの点群の点数に上限を設定することで最長実行時間を制限します。このパラメータの値を実際のサンプリング点数より小さくしてはなりません。普通、調整する必要はありませんが、最長実行時間を制限したい場合にこの値を小さくするようお薦めします。

モデル点群サンプリング間隔

初期値:10.000 mm

調整説明:ダウンサンプリングする点の間の最大距離(ミリメートル単位)を調整します。モデル点群のダウンサンプリング間隔が最小サンプリング間隔より小さい場合に、最小サンプリング間隔を実際のサンプリング間隔とします。この値が大きいほど、サンプリング後に計算に使用する点群の数は少なくなり、マッチングの精度は低下し、アルゴリズムの実行時間は短くなります。

調整の例:下図のように示します。左側は0.01(初期値)にした結果で、右側は0.04にした結果です。

3d coarse matching sample intervals
最小サンプリング間隔

初期値:3.000 mm

調整説明:このパラメータは、サンプリング間隔(ミリメートル単位)を計算するために使用されます。自動ダウンサンプリング にチェックを入れたら有効になります。計算したサンプリング間隔がこの値より小さい場合に、この値を実際のサンプリング間隔とします。

投票設定

距離の定量化

初期値:1

調整説明:点と点との間の距離を定量化します。距離間隔 = 距離定量化 × サンプリング間隔。このパラメータを大きくしたら間隔も大きくなり、マッチングの精度も低下します。

角度の定量化

初期値:60

調整説明:このパラメータは点と点の間のベクトルの角度を定量化し、単位は°です。角度間隔 = 2 × 3.14 / 角度の定量化。この値が大きいほど、マッチングの精度は向上します。

最大投票率

初期値:0.8

調整説明:このパラメータは投票数が最大投票数に占める比率のしきい値を設定します。前のステップで各位置姿勢の投票数を取得し、その中の最大値にこのパラメータを掛けてしきい値を得ます。投票数がこのしきい値を超えた位置姿勢は保持されてクラスタリングします。この値が小さいほど、正確なマッチングの結果を取得する確率は高くなりますが、実行時間は長くなります。このパラメータの有効範囲は0~1です。

参考点のサンプリングステップサイズ

初期値:5

調整説明:参考点のサンプリングステップサイズを調整します。点群では、このステップサイズを間隔としてサンプリングします。この値が大きいほどサンプリングする点は少なくなり、実行の速度は早くなりますが、マッチングの精度は低下します。

参考される点のサンプリングステップサイズ

初期値:1

調整説明:参考される点のサンプリングステップサイズを調整します。点群では、このステップサイズを間隔としてサンプリングします。この値が大きいほどサンプリングする点は少なくなり、実行の速度は早くなりますが、マッチングの精度は低下します。

  • 参考点参考される点 とはペアポイントになります。サンプリング間隔が大きいほど参考点と参考された点は少なくなり、ペアポイントも少なくなり、実行速度は速くなります。

  • 参考点 とはマッチングモデルにあるサンプリング点を指します。参考される点 とはマッチングモデルにないサンプリング点を指します。

クラスタリング設定

クラスター比

初期値:0.1

調整説明:このパラメータはクラスタリングに使用する位置姿勢が計算して取得した位置姿勢に占める比率を調整します。あらゆる位置姿勢は計算中にスコアが付けられます。そのスコアによって位置姿勢をソートします。このパラメータはクラスタリングに使用する位置姿勢の比率を決めます。0.1(初期値)にしたら、最初の10%の位置姿勢をクラスタリングします。この値が大きいほど、正確なマッチング結果を取得する確率は高くなりますが、実行時間も長くなります。

角度差しきい値

初期値:15

調整説明:このパラメータはクラスタリングのプロセスの角度増量を調整します。最終的な計算結果には、一つの対象物に複数の位置姿勢が計算されることがあります。この場合、パラメータが非常に近い位置姿勢をマージするとき、このパラメータは角度の増量を決めます。このパラメータが大きいほど、角度の差が大きい位置姿勢は最終的な結果にマージされ、マッチング精度も低下します。

距離差しきい値

初期値:20.000 mm

調整説明:このパラメータはクラスタリングのプロセスの距離増量を調整します。単位はミリメートルです。最終的な計算結果には、一つの対象物に複数の位置姿勢が計算されることがあります。この場合、パラメータが非常に近い位置姿勢をマージするとき、このパラメータは距離の増量を決めます。このパラメータが大きいほど、距離の差が大きい位置姿勢は最終的な結果にマージされ、マッチング精度も低下します。

スコアが最も高いN個の結果を出力

初期値:5

調整説明:このパラメータはクラスタリングして取得した複数のマッチング結果にスコアが最も高いN個の結果を最終的な結果として出力します。

位置姿勢検証の設定

位置姿勢検証を使用

初期値:チェックを入れる

調整説明:このパラメータは位置姿勢検証を使用するかを選択するために使用されます。このパラメータにチェックを入れれば、クラスタリングのパラメータは全部無効になります。姿勢検証とクラスタリングは、最終的なマッチング結果の検証とフィルタリングのための異なる方法であり、同時に使用することはできません。

隣接点の検索半径

初期値:1

調整説明:このパラメータは位置姿勢検証のプロセスに検証するエリアのサイズを調整します。ボクセルを単位とします。この値を大きくしたら、位置姿勢検証のエリアは広くなり、最終的な結果を検証するために使用する点は多くなるのでマッチングの精度は低下します。

ボクセルの長さ

初期値:3

調整説明:点群がある空間を3Dグリッドにします。このパラメータは3Dグリッドの最小単位(mm)になります。この値を大きくしたら、選択する範囲は広くなり、アルゴリズムの実行速度も速くなりますが、マッチングの精度は低下します。

単一点群の出力結果の数

初期値:3

調整説明: SurfaceMatching アルゴリズムを実行した場合、このパラメータの機能は SurfaceMatchingEasyMode と同じです。

調整の例:下図に示すように、左側は1にした結果で、右は3(初期値)にした結果です。

3d coarse matching number of outputs

結果可視化の設定

サンプリングされたモデルの点群を表示

初期値:チェックを入れない

調整説明:このパラメータはダウンサンプリングされたモデルの点群を表示します。

サンプリングされたシーンの点群を表示

初期値:チェックを入れない

調整説明:このパラメータはダウンサンプリングされたシーンの点群を表示します。

マッチング結果を表示

初期値:チェックを入れる

調整説明:このパラメータはマッチングされたモデルとシーンの点群を表示します。