ビジョンについてよくある問題¶
概要¶
本節では、主に異なる部品や検出要件に対応する検出方法について説明していきます。
3D位置姿勢推定の特徴選択¶
球体などの部品にとっては、任意の方向に沿って1mm移動させると、移動前後の一致度が低いです。平面にとっては、X軸またはY軸方向に沿って1mm移動させると、移動前後の一致度が高いです。この点では、球体は制約が多く、平面は制約が少ないと言えます。したがって、異なる部品に対しては、部品の制約性を判断することでモデルを作成できます。制約が大きい物体には完全なモデルを、制約が小さい物体にはエッジの特徴モデルを選択します。 図1に示すように、簡略化された物体の制約性が表示されます。
3D位置姿勢推定の逆方向と回転¶
形状特徴は、基本的に対称性があるものと対称性がないものによって分けられます。対称性のある部品はさらに次のように分けられます。
軸対称(長方形に簡略化される)
中心対称(四角形に簡略化される)
連続対称(円形に簡略化される)など
対称性形状の場合、以下の方法で対称性によるマッチング誤差を低減することができます。
1> 点群モデル上で対称性のある幾何学的中心を把持点として選択します。
2> 対称軸を選択します。
軸対称の部品: 図2(左側:対称軸、右側:パラメータ設定)に示すように、軸の方向に沿った座標軸を対称軸として選択し、 3D位置姿勢高精度推定 で対称性を「180度」に設定します。
中心対称の部品: 任意の対称軸に沿った座標を対称軸として選択し、 3D位置姿勢高精度推定 で対称性を「90度」に設定します。
連続対称の部品: 図3(左側:対称軸、右側:パラメータ設定)に示すように、回転軸を対称軸として選択し、 3D位置姿勢高精度推定 で対称性を任意の角度に設定します。角度を小さく設定すると、マッチング精度は上がりますが、マッチング時間が長くなります。その逆には、マッチング精度が下がり、マッチング時間が短くなります。
3> 重みを設定します。
軸対称部品: 純粋な軸対称であれば、重みを設定する必要はありません。逆に、クランクシャフトのタイプの部品は両端が対称ではないので、回転マッチングによる誤ったマッチングを避けるために、両端の特徴を重みのモデルとして取得し、 3D位置姿勢高精度推定 の重みパラメータの中で設定します。モデルは 図4(左図:対称マッチングモデル 右図:対称重み付きのモデル)のように示します。
中心対称部品: 重みを設定するかどうかを軸対称部品と一致させます。
連続対称の部品: 図5(左図:連続対称マッチングモデル 右図:連続対称重み付きのモデル)に示すように、重みを設定するかどうかを軸対称部品と一致させます。
複数回の3D位置姿勢推定による最高点数を取得不能¶
複数回マッチング(1つのプロジェクトで複数のマッチングが含まれる)によって最高点数の位置姿勢を取得する場合、時々結果が出ない問題があります。そのソリューションは次の通りです。
1> 3D位置姿勢高精度推定 の信頼度が0であることを確認します(あるマッチングの点数が0で 「最高点数の結果を取得」 の入力パラメータの数が不一致になる問題を避けるため)。
2> 3D位置姿勢低精度推定 の出力数が1であることを確認します(一般的には1で、複数のマッチング位置姿勢の出力がある場合、2つルートの出力で位置姿勢の出力数が異なる可能性がある)。
2Dマッチングの結果無し¶
2Dマッチングを行う時、出力結果が出ない場合があります。この場合、モデルサイズをチェックして、depth roiと3d roiを確認してください。
1> モデルサイズをチェックします。
対象物の寸法を読み込む で設定したモデルのサイズは、実際のワークと一致することを確認します。
サイズが一致している場合、 2D マッチング のしきい値「maxMeanDistanceError」を上げます。
一番外側のmaskの拡張パラメータを調整することで、2Dマッチングの入力ROIの範囲を拡張します。
ステップパラメータの設定は 図6 (左側:対象物の寸法を読み込む 、右側:2D マッチング )のように示します。
2> 物体がマッチング範囲内にあることを確認できるように、depth roiと3d roiをチェックしてください。