JP5251080B2 - Object recognition method - Google Patents
Object recognition method Download PDFInfo
- Publication number
- JP5251080B2 JP5251080B2 JP2007301022A JP2007301022A JP5251080B2 JP 5251080 B2 JP5251080 B2 JP 5251080B2 JP 2007301022 A JP2007301022 A JP 2007301022A JP 2007301022 A JP2007301022 A JP 2007301022A JP 5251080 B2 JP5251080 B2 JP 5251080B2
- Authority
- JP
- Japan
- Prior art keywords
- model
- scene
- point
- object recognition
- data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Landscapes
- Length Measuring Devices By Optical Means (AREA)
- Image Processing (AREA)
- Image Analysis (AREA)
Description
本発明は、認識すべき対象物体の三次元表面形状データと、距離センサ等を用いて得られる実際の環境をサンプリングした三次元表面形状データを照合することによって、物体の位置姿勢を認識する方法に関する。 The present invention relates to a method for recognizing the position and orientation of an object by collating the three-dimensional surface shape data of a target object to be recognized with the three-dimensional surface shape data obtained by sampling an actual environment obtained using a distance sensor or the like. About.
従来は、モデルデータとして、モデルの輪郭、凹凸、模様などを画像から直線、円弧等で近似して抽出したものを用いる。これらの特徴データはステレオ計測などで得られた三次元位置データを持ち、計測データと三点以上照合することで対象物体の位置姿勢を求める(例えば、特許文献1参照)。
従来方法には、(1)特徴として使用する輪郭や穴などを人間が指定する必要がある、(2)少数の対応で位置姿勢を決めるため、精度が低い、(3)二次元画像において物体の輪郭などを表す直線、円弧を安定して抽出することは困難であり、認識の安定性が低い、などの問題がある。 In the conventional method, (1) it is necessary for humans to specify contours and holes to be used as features, (2) the position and orientation are determined with a small number of correspondences, and therefore the accuracy is low. (3) an object in a two-dimensional image However, it is difficult to stably extract straight lines and arcs representing the outline of the image, and recognition stability is low.
本発明の第1の特徴は、距離を計測できるセンサによって計測したシーンデータと、目的物体の3次元形状を表すモデルデータとを、各点の表面形状を表す特徴量について照合することにより物体の3次元位置姿勢を検出する3次元物体認識方法において、
前記モデルデータの各点の特徴量を算出した後に、各点の特徴量の類似度を解析し、照合に有効な特徴量を持つ点を選定する第1のステップを含み、
前記第1のステップは、各点の特徴量の類似度を解析し、前記類似度に基づいて各点の特徴量をクラスタリングするステップと、
モデルデータ全体の点数の所定%以上を含むクラスタが存在する場合は、当該クラスタに属する点をシーンデータとの照合の対象から除外するステップと、
を含むこと、にある。
「モデルデータ」は、三次元位置を持った点群と、点を結び物体の表面を表す三角メッシュから構成される。
「シーンデータ」とは、実際の環境をサンプリングした三次元形状データを言う。距離センサによる計測データから生成される。モデルデータと同様に点群と三角メッシュから構成される。
The first feature of the present invention is that the scene data measured by a sensor capable of measuring a distance and the model data representing the three-dimensional shape of the target object are collated with respect to the feature quantity representing the surface shape of each point. In a 3D object recognition method for detecting a 3D position and orientation,
After calculating the characteristic amount of each point of the previous SL model data, we analyze the similarity of the feature amount of each point includes a first steps of selecting the point having the feature amounts effective for matching,
The first step is analyzing the similarity of the feature quantity of each point, and clustering the feature quantity of each point based on the similarity;
When there is a cluster including a predetermined percentage or more of the total number of points of the model data, excluding the points belonging to the cluster from the target of matching with the scene data; and
To include, in the.
“Model data” is composed of a point cloud having a three-dimensional position and a triangular mesh that connects the points and represents the surface of the object.
“Scene data” refers to three-dimensional shape data obtained by sampling an actual environment. It is generated from the measurement data by the distance sensor. Like model data, it consists of a point cloud and a triangular mesh.
「所定%」の初期値はパラメータで与えられる。類似度が非常に高い(正規化相関係数がほぼゼロの)クラスタに、モデルデータ点数の10%以上が含まれている場合、そのクラスタを除外する。この値を初期値として、実際にモデルデータとシーンデータの照合を繰り返し、学習により最適な値を得る。 The initial value of “ predetermined%” is given by a parameter. If a cluster having a very high degree of similarity (normalized correlation coefficient is almost zero) includes 10% or more of the number of model data points, that cluster is excluded. Using this value as an initial value, the model data and the scene data are actually collated repeatedly, and an optimum value is obtained by learning.
本発明の第2の特徴は、前記モデルデータの各点の特徴量を算出する前に、物体認識の運用条件を入力することによって、当該運用条件に基づき照合に有効な点を選定する第2のステップをさらに含み、前記第2のステップが、(1)前記モデルデータを複数のパーツに分解するステップと、(2)前記物体認識の運用条件として床面又は視点の少なくとも一方を指定する情報を入力することによって、照合に使用しないパーツを決定するステップと、を含むことにある。 The second feature of the present invention is that a point that is effective for matching is selected based on the operation condition by inputting the object recognition operation condition before calculating the feature amount of each point of the model data. comprises the steps further information the second step, to specify (1) and the decomposing the model data into a plurality of parts, at least one of the floor or viewpoint as operational conditions of (2) the object recognition And determining a part not to be used for collation by inputting.
本発明の第3の特徴は、特徴量がスピンイメージであることにある。
「スピンイメージ」とは、三次元形状データの表面の任意の点で生成可能な、その点の周辺の三次元形状特徴を表す特徴量である。
The third feature of the present invention is that the feature value is a spin image.
The “spin image” is a feature amount that can be generated at an arbitrary point on the surface of the three-dimensional shape data and represents a three-dimensional shape feature around the point.
本発明の物体認識方法によれば、スピンイメージなどの特徴量ベースの高速な位置決めを行うことで、対象物体の三次元形状データ(モデルデータ)と、距離センサから得られる距離データ(シーンデータ)を照合して、対象物体の三次元的な位置姿勢を迅速に認識することができる。 According to the object recognition method of the present invention, three-dimensional shape data (model data) of a target object and distance data (scene data) obtained from a distance sensor by performing high-speed positioning based on a feature amount such as a spin image. And the three-dimensional position and orientation of the target object can be quickly recognized.
また、物体認識の運用条件を入力し、当該運用条件に基づき照合に有効な点を選定することによって、照合すべきデータが削減されるので、照合処理が高速化される。
運用条件とは、例えば(1)ある物体は裏返しになることはない(なっていたらエラーとして処理して良い)という条件に基づいて、物体の底面頂点は照合に使用しない、(2)見えていることが必須な箇所が予め決まっており、その部分を抽出して照合する、(3)シーンデータ上に物体が何個存在するか決まっているときにその数値(個数)を使って照合する。
Further, by inputting the operation conditions for object recognition and selecting points that are effective for verification based on the operation conditions, the data to be verified is reduced, so that the verification process is speeded up.
The operating conditions are, for example, (1) based on the condition that an object does not turn over (can be treated as an error if it does), and the bottom vertex of the object is not used for verification, (2) is visible The part that must be present is determined in advance, and that part is extracted and verified. (3) When the number of objects in the scene data is determined, the numerical value (number) is used for verification. .
また、(1)各点の特徴量の類似度を解析し、前記類似度に基づいて各点の特徴量をクラスタリングするステップと、(2)モデルデータ全体の点数の所定%以上を含むクラスタが存在する場合は、当該クラスタに属する点をシーンデータとの照合の対象から除外するステップと、を含むことによっても、照合すべきデータが削減され、照合処理が高速化される。 Further, (1) analyzing the similarity of the feature quantity of each point, clustering the feature quantity of each point based on the similarity, and (2) a cluster including a predetermined percentage or more of the total score of the model data If it exists, the step of excluding the points belonging to the cluster from the object of collation with the scene data also includes the data to be collated, and the collation process is speeded up.
特徴量としてスピンイメージを用いた場合、スピンイメージは物体の局所的な三次元形状特徴を捉えた、回転不変な特徴量であるため、物体の一部隠れが発生している状況や、複数の物体が混在している状況においても物体を認識することができる。 When a spin image is used as a feature value, the spin image is a rotation-invariant feature value that captures the local three-dimensional shape feature of the object. An object can be recognized even in a situation where objects are mixed.
以下本発明の好ましい実施形態について、図面を参照して説明する。なお、各図において、共通する部分には同一の符号を付し、重複した説明を省略する。 Hereinafter, preferred embodiments of the present invention will be described with reference to the drawings. In each figure, common portions are denoted by the same reference numerals, and redundant description is omitted.
図1は、本発明の物体認識方法を適用した物体認識装置の全体構成図である。図1に示すように、物体認識装置40は、物体(ワーク)までの距離を計測する3Dセンサ41、物体認識処理を実行する物体認識処理部42、物体の三次元形状を表すデータ(例えば、CADデータ)を記憶するモデルデータベース部43を具備する。物体認識処理部42において認識された物体の位置や姿勢を、ロボット制御部45へ出力し、ロボット制御部45からロボット46へ制御信号を出力し、ハンド47を動かして物体を把持したりすることができる。
本発明において、自己位置とは、計測位置を意味し、例えば、3Dセンサ41の外界における6自由度の位置と姿勢を意味する。
3Dセンサは、三角測量方式・光切断方式を採用するアクティブセンサや、ビジョンセンサによるステレオ方式を採用するパッシブセンサを使い分けることが好ましい。
図示しないが、本発明において、距離センサ(3Dセンサ)以外のオドメータ、カメラ、GPS、姿勢センサを、必要に応じてオプションとして用いても良い。以下、距離センサを用いた例を説明する。
FIG. 1 is an overall configuration diagram of an object recognition apparatus to which an object recognition method of the present invention is applied. As shown in FIG. 1, the
In the present invention, the self-position means a measurement position, for example, a position and orientation of 6 degrees of freedom in the outside world of the 3D sensor 41.
As the 3D sensor, it is preferable to selectively use an active sensor that employs a triangulation method / light cutting method or a passive sensor that employs a stereo method using a vision sensor.
Although not shown, in the present invention, an odometer, a camera, a GPS, and an attitude sensor other than the distance sensor (3D sensor) may be optionally used as necessary. Hereinafter, an example using a distance sensor will be described.
図2は、物体認識処理部の構成の一例を示す。この図に示すように、物体認識処理部42は、内部記憶装置34、中央処理装置35を備える。物体認識処理部42は、データ入力装置32および外部記憶装置33からデータを受け取り、ロボット制御部45へデータを送る。
FIG. 2 shows an example of the configuration of the object recognition processing unit. As shown in this figure, the object
データ入力装置32は、上述した距離センサを有し、三次元形状上の座標値を物体認識処理部42に入力する。また、例えばゴニオメータ、オドメータ等を併用して、距離センサの位置姿勢や移動距離も入力するのがよい。なお、データ入力装置32は、キーボード等の通常の入力手段も有するのがよい。
外部記憶装置33は、ハードディスク、フロッピー(登録商標)ディスク、磁気テープ、コンパクトディスク等である。外部記憶装置33は、環境モデルのサイズが大きく後述する内部記憶装置34に入力された三次元形状上の座標値、ボクセル位置、及び代表点とその誤差分布の全体を保持できない場合には、環境モデルの一部範囲または全体範囲に対する、入力された三次元形状上の座標値、ボクセル位置、及び代表点とその誤差分布の一部または全体を記憶し、かつ本発明の方法を実行するためのプログラムを記憶する。また、外部記憶装置33は、後述するCADモデルデータを記憶する。
内部記憶装置34は、例えばRAM,ROM等であり、環境モデルの一部範囲または全体範囲に対する、入力された三次元形状上の座標値、ボクセル位置、及び代表点とその誤差分布の一部または全体を保管し、かつ演算情報を保管する。
中央処理装置35(CPU)は、モデル入力手段、シーン計測手段、対応点ペア作成手段、グループ化手段、一致度検証手段、高精度化手段として機能し、演算や入出力等を集中的に処理し、内部記憶装置34と共に、プログラムを実行する。
ロボット制御部45は、物体認識処理部42から受け取る物体の位置や姿勢に基づいてロボットのアームやハンドの動きを制御する。
The
The external storage device 33 is a hard disk, a floppy (registered trademark) disk, a magnetic tape, a compact disk, or the like. When the size of the environment model is large and the external storage device 33 cannot hold the coordinate values on the three-dimensional shape, the voxel position, the representative point, and the entire error distribution inputted to the
The
The central processing unit 35 (CPU) functions as a model input unit, a scene measurement unit, a corresponding point pair creation unit, a grouping unit, a coincidence verification unit, and a high accuracy unit, and processes arithmetic and input / output intensively. Then, the program is executed together with the
The
上述した本発明の装置は、上述した距離センサと通常のPC(コンピュータ)を組み合わせたものでもよく、或いは、全体を一体にした装置であってもよい。また、自走可能な装置内に一体的に組み込んでもよい。 The above-described apparatus of the present invention may be a combination of the above-described distance sensor and a normal PC (computer), or may be an apparatus in which the entirety is integrated. Moreover, you may integrate in the apparatus which can be self-propelled.
[1]スピンイメージ
まず、スピンイメージについて説明する。
[1] Spin Image First, the spin image will be described.
[1.1]スピンイメージの定義
スピンイメージとは、三次元形状データの表面の任意の点で生成可能な、その点の周辺の三次元形状特徴を表す、回転不変な特徴量である。
[1.1] Definition of Spin Image A spin image is a rotation-invariant feature quantity that can be generated at an arbitrary point on the surface of three-dimensional shape data and represents a three-dimensional shape feature around that point.
図3に、CADデータとスピンイメージの例を示す。三角メッシュで構成されるデータのスピンイメージを生成する際は、三角メッシュの頂点ごとに生成する。
モデルの頂点Aのスピンイメージと、シーンの頂点Bのスピンイメージが似ているということは、その周辺の表面形状が似ていることを意味している。これは、モデルとシーンを照合する際、点Aと点Bが対応する可能性があることを示している。
三角メッシュで構成されるデータの頂点Pのスピンイメージを作成する場合、まず、頂点Pの法線を中心軸とした円筒座標系を考える。円筒座標系では、法線までの距離をα、法線方向の変移をβとする。
FIG. 3 shows an example of CAD data and a spin image. When generating a spin image of data composed of a triangular mesh, it is generated for each vertex of the triangular mesh.
The similarity between the spin image of the vertex A of the model and the spin image of the vertex B of the scene means that the surface shape of the periphery is similar. This indicates that the points A and B may correspond when the model and the scene are collated.
When creating a spin image of the vertex P of data composed of a triangular mesh, first consider a cylindrical coordinate system with the normal of the vertex P as the central axis. In the cylindrical coordinate system, the distance to the normal is α, and the change in the normal direction is β.
図4に円筒座標系のイメージを示す。頂点Pの周辺の頂点をα、βの二次元平面(スピンマップと呼ぶ)にプロットすることでスピンイメージを作成する。その際、α、βをある分解能で量子化し、枠内に存在する頂点数を輝度に変換する。 FIG. 4 shows an image of the cylindrical coordinate system. A spin image is created by plotting the vertices around the vertex P on a two-dimensional plane (referred to as a spin map) of α and β. At that time, α and β are quantized with a certain resolution, and the number of vertices existing in the frame is converted into luminance.
[1.2]類似度算出
スピンイメージは回転不変なデジタル二次元画像として表されるので、正規化相関などの画像比較手段により、類似性を評価できる。
ただし、シーンのスピンイメージを作成する場合、物体の隠れにより本来値が存在する画素の値がゼロとなることや、乱雑な背景により本来値がゼロとなる画素に値が入力されてしまうことがある。したがって、2つのスピンイメージを比較する際、共通して値がゼロでない画素(以下、「重なりがある画素」と表現する。)を比較するよう制限する。
スピンイメージPとQの類似度C(P,Q)を算出するために、まず、正規化相関係数R(P,Q)を算出する。
[1.2] Calculation of similarity Since a spin image is expressed as a rotation-invariant digital two-dimensional image, similarity can be evaluated by image comparison means such as normalized correlation.
However, when creating a spin image of a scene, the value of a pixel that originally has a value may become zero due to hiding of an object, or a value may be input to a pixel that originally has a value of zero due to a messy background. is there. Therefore, when two spin images are compared, it is limited to compare pixels whose values are not zero in common (hereinafter, referred to as “pixels with overlap”).
In order to calculate the similarity C (P, Q) between the spin images P and Q, first, a normalized correlation coefficient R (P, Q) is calculated.
数1に正規化相関係数R(P,Q)の算出式を示す。ただし、この正規化相関において対象となるのは、重なりがある画素のみである。
pi:スピンイメージPのi番目の画素の値
qi:スピンイメージQのi番目の画素の値
単純にこの正規化相関係数R(P,Q)を類似度としてしまうと、重なりが少ないほど類似度が高くなってしまう。例えば、PとQで重なりがある画素が1画素しかない場合、その画素の値が一致すれば、類似度は最高値となってしまう。そこで、重なりがある画素が多いほど類似度が高くなるよう、重み付けを行うことが妥当である。
Formula 1 shows a calculation formula for the normalized correlation coefficient R (P, Q). However, in this normalized correlation, only pixels with overlap are targeted.
If the normalized correlation coefficient R (P, Q) is simply used as the similarity, the similarity increases as the overlap decreases. For example, if there is only one pixel that overlaps P and Q, the similarity will be the highest value if the values of the pixels match. Therefore, it is appropriate to perform weighting so that the degree of similarity increases as the number of overlapping pixels increases.
図5は、本発明の実施形態に係る三次元物体認識の処理フローである。
(1)モデル入力:ステップS10
認識対象物体のモデルを読み込み、モデルのスピンイメージを作成するなどの事前準備を実施する。本処理は、計測のたびに実施する必要はない。例えば対象物体が決まっている場合は、システム起動時に一回だけモデル入力を行うことになる。
FIG. 5 is a processing flow of 3D object recognition according to the embodiment of the present invention.
(1) Model input: Step S10
Read in the model of the object to be recognized and make preparations such as creating a spin image of the model. This process does not need to be performed every measurement. For example, when the target object is determined, the model input is performed only once when the system is activated.
(2)シーン計測:ステップS20
実際の環境をセンサで計測して距離データを取得し、三角メッシュ作成処理や法線算出処理を行い、シーンを作成する。
(2) Scene measurement: Step S20
The actual environment is measured by a sensor, distance data is acquired, triangular mesh creation processing and normal calculation processing are performed, and a scene is created.
(3)対応点ペア作成:ステップS30
モデルとシーンのスピンイメージの類似度から、モデル頂点とシーン頂点のペアである対応点ペアを複数作成する。
(3) Corresponding point pair creation: Step S30
A plurality of corresponding point pairs, which are pairs of model vertices and scene vertices, are created based on the similarity between the model and the scene spin image.
(4)グループ化:ステップS40
複数ある対応点ペアの中から、同時に成立することが可能な対応点ペアをまとめ、一つのグループとする。全ての可能なグループを作成する。
(4) Grouping: Step S40
From a plurality of corresponding point pairs, corresponding point pairs that can be established simultaneously are collected into one group. Create all possible groups.
(5)一致度の検証:ステップS50
グループごとに座標変換を行ったとき、モデルとシーンの表面がどの程度一致するかを評価して、グループの検証を行う。
(5) Verification of coincidence: Step S50
When coordinate transformation is performed for each group, the degree of matching between the model and the surface of the scene is evaluated to verify the group.
(6)高精度化:ステップS60
検証の結果得られた変換式をモデルの初期位置姿勢として、高精度化処理により最終的な位置姿勢を算出する。
(6) Higher accuracy: Step S60
Using the conversion formula obtained as a result of the verification as the initial position and orientation of the model, the final position and orientation are calculated by high-precision processing.
一連の物体認識処理(オンライン処理)を実施した後、得られた物体の位置姿勢を外部機器に通知する。例えば、ロボットアームを対象物体の把持位置に移動させる、などの処理を行う。 After performing a series of object recognition processing (online processing), the external device is notified of the position and orientation of the obtained object. For example, processing such as moving the robot arm to the gripping position of the target object is performed.
以下、図5の処理フローの各ステップの詳細を説明する。
[モデル入力]
図6に本発明の実施形態に係るモデル入力処理フローを示す。
Hereinafter, details of each step of the processing flow of FIG. 5 will be described.
[Model input]
FIG. 6 shows a model input processing flow according to the embodiment of the present invention.
(1)三次元形状データ読込:ステップS11
対象物体の三次元形状データを入力する。例えば、三次元形状データ表現形式の一つであるPLY形式のファイルを読み込む。PLYファイルは、頂点の三次元位置と、頂点間を結び物体の表面を表す三角メッシュ情報から成る。
図7に本発明の実施形態に係るPLY形式のファイルの例を示す。
図8に本発明の実施形態に係るPLYファイルをCADソフトで表示した例を示す。
(1) Reading three-dimensional shape data: Step S11
Input the 3D shape data of the target object. For example, a PLY file that is one of three-dimensional shape data expression formats is read. The PLY file includes three-dimensional positions of vertices and triangular mesh information that connects the vertices and represents the surface of the object.
FIG. 7 shows an example of a PLY format file according to the embodiment of the present invention.
FIG. 8 shows an example in which the PLY file according to the embodiment of the present invention is displayed by CAD software.
(2)3次元形状データのパーツ分解:ステップS12
パーツ分割は、3次元形状を、その構成部品(以下、適宜「パーツ」と言う)ごとに分割するものである。曲率が大きく変化する個所などで切断して、一つのモデルを複数の構成部品に分割する処理である。
(2) Parts decomposition of 3D shape data: Step S12
Part division is to divide a three-dimensional shape into its constituent parts (hereinafter referred to as “parts” as appropriate). It is a process of dividing one model into a plurality of components by cutting at places where the curvature changes greatly.
(3)パーツの有効/無効判定:ステップS13
パーツの有効/無効判定は、オペレータまたは外部機器が、3次元形状モデルに対して床面や視点を指定することによって、計測可能なパーツと不可能なパーツを選別し、計測可能なパーツは照合に有効なパーツ、計測不可能なパーツは照合に無効なパーツと判定する処理である。無効なパーツは、今後、照合に使用しない。また、補助的に、オペレータが有効/無効なパーツを直接指定できる機能を持つことが好ましい。
(1)床面の指定
モデルを回転、拡大縮小、平行移動させることができるアプリケーション上でモデルを回転させ、モデルを床下から除く姿勢にして、床面登録を行う。
(2)視点の指定
モデルを回転、拡大縮小、平行移動させることができるアプリケーション上でモデルを回転させ、センサの位置からモデルを見る姿勢にして、視点登録を行う。
(3)床面に基づく選別
モデルサイズを基準値として、比較的床面に近いパーツ、および、表面法線が床面を向いていて、表面が床面にほぼ並行なパーツは、通常計測できないため、照合に使用しないようにする。
(4)視点に基づく選別
視点からモデルを計測したとき、モデル自身の影になって計測できないパーツは、照合に使用しないようにする。
(3) Part validity / invalidity determination: Step S13
Validity / invalidity judgment of parts is made by selecting the measurable part and the impossible part by specifying the floor and viewpoint for the 3D shape model by the operator or external device, and collating the measurable part. This is a process of determining parts that are valid for and parts that cannot be measured as invalid parts for collation. Invalid parts will no longer be used for verification. In addition, it is preferable that the operator has a function that allows the operator to directly specify valid / invalid parts.
(1) Designation of floor surface Rotate the model on an application that can rotate, scale, and translate the model, register the floor surface in a posture that removes the model from under the floor.
(2) Specifying the viewpoint Rotate the model on an application that can rotate, scale, and translate the model, and register the viewpoint from the position of the sensor so that the model is viewed.
(3) Sorting based on the floor surface Using the model size as a reference value, parts that are relatively close to the floor surface and parts whose surface normal is facing the floor surface and the surface is almost parallel to the floor surface cannot usually be measured. Therefore, it should not be used for verification.
(4) Selection based on viewpoint When a model is measured from the viewpoint, parts that cannot be measured due to the shadow of the model are not used for matching.
(4)モデルの各点の特徴量算出:ステップS14
モデルの各点の特徴量を算出する。以下に特徴量がスピンイメージである場合について説明する。なお、無効なパーツと判定されたパーツについては、特徴量の算出は不要である。
(4−1)法線ベクトル算出
スピンイメージ作成時の円筒座標設定に各頂点の法線情報が必要となるため、ここで作成する。頂点の法線は、その頂点を含む三角メッシュの法線の平均を単位ベクトル化したものである。
図9に本発明の実施形態に係る法線算出手順を示す。同図に示すように、法線を求める頂点の周囲の各三角形の法線を求める。三角形の法線は、三角形の2辺のベクトルの外積から算出することができる。周囲の全三角形の法線の平均を、単位ベクトル化する。
(4) Feature value calculation of each point of the model: Step S14
The feature amount of each point of the model is calculated. The case where the feature amount is a spin image will be described below. Note that it is not necessary to calculate a feature amount for a part determined to be an invalid part.
(4-1) Normal Vector Calculation Since normal information of each vertex is necessary for setting cylindrical coordinates when creating a spin image, it is created here. The vertex normal is obtained by converting the average of the normals of the triangular mesh including the vertex into a unit vector.
FIG. 9 shows a normal calculation procedure according to the embodiment of the present invention. As shown in the figure, the normal of each triangle around the vertex whose normal is to be obtained is obtained. The normal of the triangle can be calculated from the outer product of the vectors of the two sides of the triangle. The average of normals of all surrounding triangles is converted into a unit vector.
(4−2)モデルの各頂点のスピンイメージ作成
頂点ごとに円筒座標を設定してその周辺の頂点をスピンマップにプロットすることで、各頂点のスピンイメージを作成する。スピンイメージ生成手順の詳細は後述する。
(4-2) Creation of spin image of each vertex of model A spin image of each vertex is created by setting cylindrical coordinates for each vertex and plotting the surrounding vertices on a spin map. Details of the spin image generation procedure will be described later.
なお、一度算出した法線ベクトル、スピンイメージ、およびパラメータλは、ファイルとして記録し、必要に応じて読み込むことができる。よって、一度スピンイメージを作成したモデルを再度読み込む場合は、(2)法線ベクトル作成、(3)モデルの全頂点のスピンイメージ作成処理を省略できる。 The normal vector, spin image, and parameter λ that have been calculated once can be recorded as a file and read as required. Therefore, when the model once created with the spin image is read again, (2) normal vector creation and (3) spin image creation processing for all vertices of the model can be omitted.
(5)特徴量のクラスタリング:ステップS15
特徴量のクラスタリングは、特徴空間における特徴量を部分集合に分割する処理である。例えば凝集型階層的クラスタリングにより、各終端ノードが各点(各特徴量)を表し、併合されてできたクラスタを非終端ノードで表した二分木(デンドログラム)を生成する。凝集型階層的クラスタリングは、(1)N個の対象からなるデータが与えられたときに1個の対象だけを含むN個のクラスタがある初期状態を作り、(2)対象x1とx2の間の距離D(x1,x2)(非類似度)からクラスタC1とC2の間の距離D(C1,C2)を計算し、(3)この距離が最も近い二つのクラスタを逐次的に併合し、(4)この併合を、全ての対象が一つのクラスタに併合されるまで、繰り返すことで階層構造を獲得する。
特徴量がスピンイメージである場合、モデルの頂点p1のスピンイメージと、頂点p2のスピンイメージとの間の距離Dは、[数1]に示すスピンイメージ同士の正規化相関係数R(P,Q)から求める。
(5) Clustering of feature values: Step S15
The feature amount clustering is a process of dividing the feature amount in the feature space into a subset. For example, by agglomerative hierarchical clustering, each terminal node represents each point (each feature amount), and a binary tree (dendrogram) in which the cluster formed by merging is represented by a non-terminal node is generated. Agglomerative Hierarchical Clustering (1) Creates an initial state with N clusters containing only one object when data consisting of N objects is given, and (2) Between objects x1 and x2 Calculate the distance D (C1, C2) between the clusters C1 and C2 from the distance D (x1, x2) (dissimilarity) of (3), and (3) sequentially merge the two clusters with the closest distance, (4) A hierarchical structure is obtained by repeating this merging until all objects are merged into one cluster.
When the feature amount is a spin image, the distance D between the spin image of the vertex p1 and the spin image of the vertex p2 of the model is the normalized correlation coefficient R (P, Obtained from Q).
(6)クラスタの有効/無効判定:ステップS16
クラスタの有効/無効判定は、クラスタごとに、照合に関して有効か無効かを判定する処理である。使用する特徴量に応じた物体認識に関する知識ベースに基づき判定する。
一例として、シーンからのある点の特徴量を算出して、モデルの各点の特徴量と類似度を計算して、突出して類似度が高い対応を見つけるような処理においては、もともと突出した対応が得られない特徴量との照合は無駄な処理となる。そこで、あるクラスタがモデル全体の点数の所定%以上を含んでいれば、そのクラスタに類似した特徴量がシーンから得られても、照合に使用できないことは明らかなので、そのクラスタに属する点は照合に使用しない、というような知識ベースに基づき、多くの点を含むクラスタは無効と判定する。
「所定%」の初期値はパラメータで与えられる。類似度が非常に高い(正規化相関係数がほぼゼロの)クラスタに、モデルデータ点数の10%以上が含まれている場合、そのクラスタを除外する。この値を初期値として、実際にモデルとシーンの照合を繰り返し、学習により最適な値を得る。
また、一例として、特徴量がスピンイメージである場合は、原理的に単純な平面の照合は困難であるため、平面を表すクラスタは無効と判定する。
(6) Cluster validity / invalidity determination: Step S16
Cluster validity / invalidity determination is processing for determining whether collation is valid or invalid for each cluster. The determination is made based on the knowledge base related to object recognition according to the feature quantity to be used.
As an example, in a process that calculates the feature value of a point from the scene, calculates the feature value and similarity of each point of the model, and finds a correspondence that is prominent and has a high degree of similarity, the originally prominent correspondence Matching with a feature quantity that cannot be obtained is a wasteful process. Therefore, if a cluster contains a predetermined percentage or more of the total number of points in the model, it is clear that even if features similar to that cluster are obtained from the scene, it cannot be used for matching. A cluster including many points is determined to be invalid based on a knowledge base that is not used for the above.
The initial value of “predetermined%” is given by a parameter. When a cluster having a very high degree of similarity (normalized correlation coefficient is almost zero) includes 10% or more of the number of model data points, the cluster is excluded. Using this value as an initial value, the model and the scene are actually verified, and an optimal value is obtained by learning.
Also, as an example, when the feature quantity is a spin image, it is difficult in principle to collate a simple plane, so that a cluster representing a plane is determined to be invalid.
[シーン計測]
図10に本発明の実施形態に係るシーン計測処理フローを示す。以下、各ステップについて説明する。
[Scene measurement]
FIG. 10 shows a scene measurement processing flow according to the embodiment of the present invention. Hereinafter, each step will be described.
(1)距離データ取得:ステップS21
距離センサを用いて、0個〜n個の対象物体やそれ以外の物体が存在する実際の環境を計測し、三次元点群データを得る。使用する距離センサは、可能な限り密に等間隔で距離データが得られるものが望ましい。
(1) Distance data acquisition: Step S21
Using a distance sensor, an actual environment where 0 to n target objects and other objects are present is measured, and three-dimensional point cloud data is obtained. It is desirable that the distance sensor to be used is one that can obtain distance data as closely as possible at equal intervals.
(2)メッシュ生成:ステップS22
計測した点群から、物体の表面を表す三角メッシュを生成する。三角メッシュの作成方法として、(a)正方格子分割し対角線を結ぶ方法や、(b)ドロネー三角形分割法がある。(a)正方格子分割は、点群を平面正方格子に投影し、格子ごとに代表点を決定し、隣り合う代表点を決まった形で結んで三角形を形成する手法である。(b)ドロネー三角形分割は、点群を三角形分割したとき、最小角度が最大になるよう分割する方法である。以下ではより精密な三角メッシュが得られる(b)ドロネー三角形分割法を用いる。
計測データを平面に投影し、平面上の点をドロネー三角形分割し、点群を三次元空間に戻したときに辺の長さがしきい値より大きい三角形を除去する、という手順でメッシュ生成を行う。
(2) Mesh generation: Step S22
A triangular mesh representing the surface of the object is generated from the measured point cloud. As a method of creating a triangular mesh, there are (a) a method of dividing a square lattice and connecting diagonal lines, and (b) a Delaunay triangulation method. (A) Square lattice division is a method in which a point group is projected onto a planar square lattice, representative points are determined for each lattice, and adjacent representative points are connected in a fixed manner to form a triangle. (B) Delaunay triangulation is a method of dividing the point group so that the minimum angle is maximized when the point group is triangulated. In the following, (b) Delaunay triangulation method is used to obtain a more precise triangular mesh.
The measurement data is projected onto a plane, the points on the plane are divided into Delaunay triangles, and the mesh generation is performed by removing triangles whose side length is larger than the threshold when the point group is returned to the three-dimensional space.
(3)法線ベクトル算出:ステップS23
スピンイメージ作成時の円筒座標設定条件として、各頂点の法線情報が必要となるため、ここで作成する。
(3) Normal vector calculation: Step S23
Since the normal information of each vertex is necessary as the cylindrical coordinate setting condition when creating the spin image, it is created here.
[対応点ペア作成]
対応点ペア作成処理では、モデルとシーンの対応点ペアを複数作成する。
図11に本発明の実施形態に係る対応点ペア作成処理フローを示す。以下、各ステップについて説明する。
[Corresponding point pair creation]
In the corresponding point pair creation process, a plurality of corresponding point pairs of a model and a scene are created.
FIG. 11 shows a corresponding point pair creation processing flow according to the embodiment of the present invention. Hereinafter, each step will be described.
(1)シーン頂点を一つ選びスピンイメージを作成:ステップS31
シーンの頂点を一つ選択し、その頂点に関するスピンイメージを作成する。シーンの頂点を一つ選択する際、ランダムピックアップを行っているが、他に、これまで選んだ頂点との距離の最小値が最大になる位置の頂点を選ぶ方法や、法線の精度が良い(周辺の頂点が多く、三角メッシュの辺が集中している)頂点を選ぶ方法などが考えられる。
(1) Select one scene vertex and create a spin image: Step S31
Select a vertex in the scene and create a spin image for that vertex. Random pickup is performed when selecting one vertex of the scene, but there are other methods such as selecting the vertex at the position where the minimum distance from the selected vertex is the maximum, and the accuracy of the normal is good There is a method of selecting vertices (the number of vertices in the periphery is large and the sides of the triangular mesh are concentrated).
(2)作成されたスピンイメージとモデルのクラスタリング結果を比較:ステップS32
作成されたスピンイメージが照合に有効な特徴量であるかを評価するために、作成されたスピンイメージとモデルのクラスタリング結果を比較する。
(2) Compare the created spin image and the clustering result of the model: Step S32
In order to evaluate whether the created spin image is a feature quantity effective for matching, the created spin image is compared with the clustering result of the model.
作成されたスピンイメージが照合に有効なクラスタに属していれば、ステップS34へ進む。作成されたスピンイメージが照合に有効なクラスタに属していなければ、このシーン頂点は照合に使わず、別のシーン頂点を照合に使用する。 If the created spin image belongs to a cluster effective for collation, the process proceeds to step S34. If the created spin image does not belong to a cluster effective for matching, this scene vertex is not used for matching, and another scene vertex is used for matching.
(2)シーン頂点とモデル各頂点の類似度算出:ステップS33
作成したシーンの頂点と、モデルの各頂点のペアで、スピンイメージとの類似度を数1を用いて算出する。
例えば、モデルの頂点数が1000個の場合、1つのシーン頂点と1000個のモデル頂点の各ペアでそれぞれ類似度を算出し、1000個の類似度が算出される。
(2) Calculation of similarity between scene vertex and model vertex: Step S33
A similarity between the created vertex of the scene and each vertex of the model and the spin image is calculated using Equation (1).
For example, when the number of model vertices is 1000, the similarity is calculated for each pair of one scene vertex and 1000 model vertices, and 1000 similarities are calculated.
(3)突出して類似しているペアを対応点ペアに追加:ステップS34
前述した例で言うところの1000個のペアの中に、他と比較して特に類似度が高いペアがあれば、選択したシーン頂点とモデル頂点で対応点ペアCi(Si,Mi)を作成する。Siはシーン頂点を、Miはモデル頂点を示す。
(3) Add a protruding and similar pair to the corresponding point pair: Step S34
If there is a pair having a particularly high degree of similarity among the 1000 pairs in the above-described example, the corresponding point pair Ci (Si, Mi) is created with the selected scene vertex and model vertex. . Si represents a scene vertex, and Mi represents a model vertex.
ステップS31〜34の処理により、シーンのある1つの頂点を対応点とする対応点ペアが作成される。この処理を、シーン頂点数のある割合(パラメータαsとして設定される)だけ繰り返す。例えば、パラメータαsとして20%が設定されているとき、シーン頂点数が1000点あれば、ステップS31〜34の処理が200回繰り返される。
この結果、シーン頂点とモデル頂点を結びつける対応点ペアCi(Si,Mi)が複数生成される。
図12に本発明の実施形態に係るモデルとシーンの対応点ペアのイメージを示す。同図は、シーンとして動物の玩具を並べた環境を計測し、モデルとしてブタを使用して対応点ペアを検出した結果である。
By the processing in steps S31 to S34, a corresponding point pair having a corresponding one vertex of the scene is created. This process is repeated for a certain ratio of the number of scene vertices (set as parameter αs). For example, when 20% is set as the parameter αs and the number of scene vertices is 1000, the processes in steps S31 to S34 are repeated 200 times.
As a result, a plurality of corresponding point pairs Ci (Si, Mi) that connect the scene vertex and the model vertex are generated.
FIG. 12 shows an image of a corresponding point pair of a model and a scene according to the embodiment of the present invention. This figure shows the result of measuring an environment in which animal toys are arranged as a scene, and detecting corresponding point pairs using a pig as a model.
[グループ化]
グループ化処理では、同時に成立することが可能な対応点ペアを一つのグループとする処理を繰り返し、複数のグループを作成する。
図13に本発明の実施形態に係るグループ化処理フローを示す。以下、各ステップについて説明する。
[Group]
In the grouping process, a process of making corresponding point pairs that can be established simultaneously as one group is repeated to create a plurality of groups.
FIG. 13 shows a grouping process flow according to the embodiment of the present invention. Hereinafter, each step will be described.
(1)対応点ペアCiのみを含むグループGiを作成:ステップS41
最初に、シーン頂点Siとモデル頂点Miを結びつける対応点ペアCi(Si,Mi)を、グループGiに追加する。この時点では、グループには基準となる一つの対応点ペアしか含まれていない。つまり、Gi={Ci}。
(1) Create a group Gi including only the corresponding point pair Ci: Step S41
First, the corresponding point pair Ci (Si, Mi) that connects the scene vertex Si and the model vertex Mi is added to the group Gi. At this point, the group includes only one reference point pair as a reference. That is, Gi = {Ci}.
(2)Giに最も追加しやすい対応点ペアCjを決定:ステップS42
Gi内に含まれている対応点ペアと同時に成り立つことができる新たな対応点ペアCjを決定する。同時に成り立つことができるかどうかの基準として、幾何学的一貫性を用いる。幾何学的一貫性の概念について説明する。対応点ペアC1(s1,m1)と対応点ペアC2(s2,m2)が同時に成り立つ場合、s1からs2までの距離と、m1からm2までの距離は同じで、かつs1法線とs2法線とベクトルs1→s2が成す3つの角の角度と、m1法線とm2法線とベクトルm1→m2が成す3つの角の角度は等しくなるはずである。この一致度合いから、対応点ペアC1とC2が幾何学的一貫性を持っているかどうかを判定することができる。
図14に本発明の実施形態に係る幾何学的一貫性の概念図を示す。
例えば、G1={C1,C4,C8}に対してC9を追加できるか評価する際、C1−C9,C4−C9,C8−C9の全てにおいて幾何学的一貫性が成り立てば、G1にC9を追加できると言える。
(2) Determine corresponding point pair Cj that is most easily added to Gi: Step S42
A new corresponding point pair Cj that can be established simultaneously with the corresponding point pair included in Gi is determined. Geometric consistency is used as a criterion for whether it can hold simultaneously. Explain the concept of geometric consistency. When the corresponding point pair C1 (s1, m1) and the corresponding point pair C2 (s2, m2) are simultaneously established, the distance from s1 to s2 and the distance from m1 to m2 are the same, and the s1 normal and the s2 normal And the angles of the three corners formed by the vector s1 → s2 and the angles of the three corners formed by the m1 normal, the m2 normal, and the vector m1 → m2 should be equal. From the degree of coincidence, it can be determined whether or not the corresponding point pairs C1 and C2 have geometric consistency.
FIG. 14 shows a conceptual diagram of geometric consistency according to the embodiment of the present invention.
For example, when evaluating whether C9 can be added to G1 = {C1, C4, C8}, if geometric consistency is established in all of C1-C9, C4-C9, and C8-C9, C9 is set in G1. It can be said that it can be added.
(3)CjをGiに追加する:ステップS43
CjをGiに追加してもGiが幾何学的一貫性を維持可能な場合、CjをGiに追加する。CjをGiに追加するとGiが幾何学的一貫性を維持不可能な場合、Giに対する追加処理は終了する。
(3) Add Cj to Gi: Step S43
If Gi can maintain geometric consistency even if Cj is added to Gi, Cj is added to Gi. If Gi cannot maintain geometric consistency when Cj is added to Gi, the addition process for Gi ends.
(4)含まれている対応点ペアが多い順にグループを並び替え:ステップS44
全ての対応点ペアを基準にグループを作成した後、グループ内の対応点ペアが多い順にグループを並び替える。
図15(A)及び(B)に本発明の実施形態に係るグループ化された対応点ペアの例を示す。
(4) Sort the groups in descending order of the corresponding pair of included points: Step S44
After creating a group based on all the corresponding point pairs, the groups are rearranged in the descending order of the corresponding point pairs in the group.
15A and 15B show examples of grouped corresponding point pairs according to the embodiment of the present invention.
[一致度の検証]
一致度の検証処理では、モデルとシーンの表面がどの程度一致するかを評価して、各グループが物体の位置姿勢候補として適切かどうかを検証する。
図16に本発明の実施形態に係る一致度の検証処理フローを示す。以下、各ステップについて説明する。
[Verify match]
In the matching degree verification process, the degree of matching between the model and the surface of the scene is evaluated to verify whether each group is appropriate as an object position / posture candidate.
FIG. 16 shows a verification processing flow of the degree of coincidence according to the embodiment of the present invention. Hereinafter, each step will be described.
(1)シーン頂点のKDツリー作成:ステップS51
後の対応点ペア拡張処理の高速化のために、ここでシーン頂点のKDツリーを作成しておく。仮に入力データ点数がN点、参照データ点数がM点のときに、近傍点探索処理量が全探索でO(MN)であるのに対して、KDツリーを作成しておくことでO(NlogM)に削減できる。
(1) Creation of KD tree of scene vertex: Step S51
In order to speed up the later corresponding point pair expansion processing, a KD tree of scene vertices is created here. If the number of input data points is N and the number of reference data points is M points, the neighborhood point search processing amount is O (MN) for all searches, whereas O (NlogM) is created by creating a KD tree. ).
(2)グループGiの初期位置姿勢算出:ステップS52
グループGiに含まれる対応点ペアに基づき、モデルとシーンの対応点間の距離を最小にするような座標変換式Tiを算出する。Tiは3×3の回転行列Rと3×1の並進ベクトルtを含む、4×4の剛体変換式である。この変換式にしたがってモデルを移動させた結果を、グループGiが示す物体の初期位置姿勢とする。
(2) Initial position and orientation calculation of group Gi: Step S52
Based on the corresponding point pairs included in the group Gi, a coordinate conversion formula Ti that minimizes the distance between the corresponding points of the model and the scene is calculated. Ti is a 4 × 4 rigid body transformation formula including a 3 × 3 rotation matrix R and a 3 × 1 translation vector t. The result of moving the model according to this conversion formula is set as the initial position and orientation of the object indicated by the group Gi.
(3)対応点ペアの拡張:ステップS53
グループGiに含まれるモデル頂点に隣接するモデル頂点に対して、最近傍のシーン頂点をKDツリー探索によって見つけ、そのモデル頂点とシーン頂点の間の6次元距離(法線方向のずれも考慮に入れた距離)がしきい値以下ならば、その対応点ペアをグループGiに追加する。この処理を、対応点ペアが追加できなくなるまで繰り返す。
図17図に本発明の実施形態に係る対応点ペア拡張処理の例を示す。同図(A)は拡張前を示し、同図(B)は拡張後を示す。
(3) Extension of corresponding point pair: Step S53
For the model vertices adjacent to the model vertices included in group Gi, find the nearest scene vertices by KD tree search, and consider the 6-dimensional distance between the model vertices and the scene vertices (taking into account the deviation in the normal direction) If the distance is less than or equal to the threshold value, the corresponding point pair is added to the group Gi. This process is repeated until no corresponding point pair can be added.
FIG. 17 shows an example of corresponding point pair expansion processing according to the embodiment of the present invention. FIG. 4A shows before expansion, and FIG. 4B shows after expansion.
(4)Giを位置姿勢候補G’に登録:ステップS54
初期位置姿勢が正しく、モデルとシーンの表面が一致していれば、対応点ペアの拡張処理によりグループ内の対応点ペアの数は大幅に増加するはずである。グループ内の対応点ペアの数がしきい値(モデルの頂点数のβm%)より多ければ、このグループは対象物を捉えている可能性が高いとして、位置姿勢候補に残す。そうでなければ、このグループを除外する。
(4) Register Gi to position and orientation candidate G ′: Step S54
If the initial position and orientation are correct and the surface of the model and the scene match, the number of corresponding point pairs in the group should increase significantly due to the corresponding point pair expansion process. If the number of corresponding point pairs in the group is greater than a threshold value (βm% of the number of model vertices), this group is likely to be capturing an object and is left as a position / posture candidate. Otherwise, exclude this group.
このパラメータβmは、運用条件に応じて設定すべきであるが、一般的な運用であれば、対応点ペア数がモデル頂点の10%以上であればそのグループが対象物体を捉えている可能性が高い。
グループGiの対応点ペアの数がしきい値より多ければ、Giを位置姿勢候補G’に追加する。その際、Giに含まれているシーン頂点は、以後の対応点ペア拡張処理に使えないようにする。これにより、位置姿勢候補が重なり合って出現することを防いでいる。
This parameter βm should be set according to the operating conditions. In general operation, if the number of corresponding point pairs is 10% or more of the model vertex, the group may catch the target object. Is expensive.
If the number of corresponding point pairs of the group Gi is larger than the threshold value, Gi is added to the position / posture candidate G ′. At that time, the scene vertices included in Gi are made unusable for the subsequent corresponding point pair expansion processing. This prevents position and orientation candidates from appearing in an overlapping manner.
(5)G’を対応点ペア数が多い順に並び替え:ステップS55
全てのグループで一致度の検証処理を行い、位置姿勢候補G’を作成した後、対応点ペアが多い順にG’を並び替える。
(5) Rearrange G ′ in descending order of the number of corresponding point pairs: Step S55
After the matching degree verification processing is performed for all the groups and the position / orientation candidate G ′ is created, G ′ is rearranged in the descending order of corresponding point pairs.
[高精度化]
一致度の検証の結果得られた対応点ペアのグループから算出される座標変換式によってモデルの位置姿勢を決定し、これを初期位置姿勢として、高精度化処理により最終的な位置姿勢を算出する。
図18に高精度化処理フローを示す。以下、各ステップについて説明する。
[High precision]
The position and orientation of the model are determined by a coordinate transformation formula calculated from the corresponding point pair group obtained as a result of the matching degree verification, and the final position and orientation are calculated by high-precision processing using this as the initial position and orientation. .
FIG. 18 shows a flow of high accuracy processing. Hereinafter, each step will be described.
(1)グループG’iから初期位置姿勢を算出:ステップS61
グループG’i内の対応点ペアから、モデルとシーンの頂点間距離を最小にする座標変換式T’iを算出する。T’iは、3x3の回転行列Rと、3x1の並進ベクトルtを含む、4x4の剛体変換式である。このT’iによって得られるモデルの位置姿勢を、初期位置姿勢とする。
(1) Calculate initial position and orientation from group G′i: Step S61
A coordinate conversion formula T′i that minimizes the distance between the vertexes of the model and the scene is calculated from the pair of corresponding points in the group G′i. T′i is a 4 × 4 rigid body transformation formula including a 3 × 3 rotation matrix R and a 3 × 1 translation vector t. The position and orientation of the model obtained by this T′i is set as the initial position and orientation.
(2)位置姿勢の高精度化:ステップS62
モデルの位置姿勢を高精度化する。詳細は後述する。
(2) Higher accuracy of position and orientation: Step S62
Improve model position and orientation. Details will be described later.
(3)モデルの重心移動距離算出:ステップS63
モデルの初期位置姿勢と、高精度化処理の結果得られた位置姿勢を比較し、重心の移動距離を算出する。重心の移動距離がしきい値(パラメータδ)より大きければ、初期位置姿勢が確実でなく、高精度化処理の結果にも信頼が置けないものと判断して、このグループを除去する。
(3) Model center-of-gravity movement distance calculation: Step S63
The initial position and orientation of the model is compared with the position and orientation obtained as a result of the high accuracy processing, and the moving distance of the center of gravity is calculated. If the moving distance of the center of gravity is larger than the threshold value (parameter δ), it is determined that the initial position and orientation are not reliable and the reliability is not reliable as a result of the high accuracy processing, and this group is removed.
(4)最終的な物体の三次元位置姿勢の登録:ステップS64
重心の移動距離がしきい値以内であれば、この高精度化処理の結果を最終的な物体の位置姿勢の一つとして登録する。
(4) Registration of final three-dimensional position and orientation of object: Step S64
If the movement distance of the center of gravity is within the threshold value, the result of this high accuracy processing is registered as one of the final object positions and orientations.
全ての位置姿勢候補に対して高精度化を行い、物体の最終的な位置姿勢を得る。対象物体がシーン上に存在しない場合や、複数存在することがあるため、最終的に1つも位置姿勢が得られないことや、2つ以上の位置姿勢が得られることがある。 All the position / orientation candidates are improved in accuracy to obtain the final position / orientation of the object. When the target object does not exist on the scene or there may be a plurality of target objects, one position or orientation may not be finally obtained, or two or more positions and orientation may be obtained.
[高精度化処理の定義]
図19に、高精度化処理の基本概念を示す。同図に示すように、高精度化処理の基本は、モデルを初期位置姿勢に配置し(同図(a))、モデルとシーンとで対応する頂点を決め(同図(b))、対応する頂点間距離の総和が最小となるようなモデルの座標変換式を算出し、モデルに座標変換を加え(同図(c))、その後、モデルとシーンの対応を新たに作成する(同図(d))、という処理を、終了条件を満たすまで繰り返し実施するものである。
[Definition of high-precision processing]
FIG. 19 shows a basic concept of high accuracy processing. As shown in the figure, the basics of high-precision processing are that the model is placed in the initial position and orientation (Fig. (A)), and the corresponding vertex is determined between the model and the scene (Fig. (B)). The coordinate transformation formula of the model that minimizes the sum of the distances between vertices to be calculated is added, coordinate transformation is added to the model (FIG. (C)), and then a new correspondence between the model and the scene is created (FIG. (D)) is repeatedly performed until the end condition is satisfied.
[主要なパラメータ]
高精度化処理の主要なパラメータを以下に述べる。
(1)対応点間距離のしきい値:モデルとシーンの対応点ペアを作成する際、極端に大きくはなれた頂点同士を対応点ペアとして結び付けてしまうと、正しい変換式が得られない。よって、しきい値以上離れた頂点同士は対応しないものとする。
[Main parameters]
The main parameters of the high accuracy processing are described below.
(1) Threshold value of distance between corresponding points: When a corresponding point pair of a model and a scene is created, if vertices that are extremely large are connected as corresponding point pairs, a correct conversion formula cannot be obtained. Therefore, vertices that are more than the threshold value do not correspond to each other.
(2)対応点間法線角度のしきい値:モデルとシーンの対応点ペアを作成する際、法線方向が大きく異なる頂点同士を対応点ペアとして結び付けてしまうと、例えば直方体の異なる面同士を結び付けているような状態となり、正しい変換式が得られない。よって、法線の角度差がしきい値以上の場合、対応しないようにする。 (2) Normal angle threshold between corresponding points: When creating a corresponding point pair of a model and a scene, if vertices whose normal directions are greatly different are connected as corresponding point pairs, for example, different faces of a rectangular parallelepiped , And the correct conversion formula cannot be obtained. Therefore, when the angle difference between the normals is greater than or equal to the threshold value, it is not handled.
(3)終了条件を表すパラメータ:高精度化処理の終了条件として、対応点間距離が縮まらなくなった場合に終了する方法や、ある回数以上繰り返した場合に終了する方法などがある。その際、距離しきい値や、繰り返し回数上限値がパラメータとなる。 (3) Parameter indicating end condition: As an end condition of the high-precision processing, there are a method of ending when the distance between corresponding points is not shortened, a method of ending when repeated a certain number of times or more. At that time, the distance threshold and the upper limit of the number of repetitions are parameters.
[高精度化処理の改良点]
高精度化処理に対して、以下の改良を行った。
(1)データの表面を表す三角メッシュにおいて、表面の輪郭部分を成す頂点に関する対応は、最小化処理の対象としない。これにより、誤対応を減らし、精度を向上させる。
図20に、輪郭部分を使用しない処理のイメージを示す。
[Improved precision processing]
The following improvements were made to the high-precision processing.
(1) In the triangular mesh representing the surface of the data, the correspondence regarding the vertices forming the contour portion of the surface is not subject to the minimization process. This reduces false correspondence and improves accuracy.
FIG. 20 shows an image of processing that does not use the contour portion.
(2)モデルの各頂点から最小距離にあるシーン頂点を見つけ、対応点ペアとするだけでなく、シーンの各頂点から最小距離にあるモデル頂点を見つけて対応点ペアとする処理を加え、双方向から対応点ペアを見つける。これにより、収束演算回数を減らし、最終的な精度を向上させる。
図21に、双方向対応点ペア決定のイメージを示す。
(2) In addition to finding a scene vertex at the minimum distance from each vertex of the model and making it a corresponding point pair, add processing to find a model vertex at the minimum distance from each vertex of the scene and making it a corresponding point pair, Find the corresponding point pair from the direction. This reduces the number of convergence operations and improves the final accuracy.
FIG. 21 shows an image of determining a bidirectional correspondence point pair.
(3)対応点間距離の最小化演算処理の際、対応点間の単純なユークリッド距離を最小にするのではなく、対応方向を表すベクトルと対応先の頂点の法線ベクトルの内積をユークリッド距離に掛けた値を最小化する。これにより、点と点の距離を最小にするのではなく、点と面の距離を最小にするような効果が得られるので、精度を向上させることができる。図22に、内積を考慮した距離の最小化のイメージを示す。 (3) In the process of minimizing the distance between corresponding points, instead of minimizing the simple Euclidean distance between corresponding points, the inner product of the vector representing the corresponding direction and the normal vector of the corresponding vertex is the Euclidean distance. Minimize the value multiplied by. As a result, an effect of minimizing the distance between the points and the surface is obtained instead of minimizing the distance between the points, and the accuracy can be improved. FIG. 22 shows an image of distance minimization considering the inner product.
(4)全ての対応点間距離を算出した後、対応点間距離が極端に大きい対応点ペアは、最小化処理の対象としない。これにより、誤対応を減らし、精度を向上させる。具体的には、対応点間距離が平均値のx倍(パラメータ。例えば10倍など。)を超える対応点ペアは対象から外す、という処理を行う。 (4) After calculating the distance between all corresponding points, a corresponding point pair having an extremely large distance between corresponding points is not subjected to the minimization process. This reduces false correspondence and improves accuracy. Specifically, a process is performed in which corresponding point pairs whose distance between corresponding points exceeds x times the average value (parameter, for example, 10 times) are excluded from the target.
前記の如く、スピンイメージを用いた特徴量ベースの高速な位置決めを行った後、高精度化処理による精密な位置決めを行うことで、対象物体の三次元形状データ(モデル)と、距離センサから得られる距離データ(シーン)を照合して、対象物体の三次元的な位置姿勢を認識することができる。 As described above, high-speed positioning based on feature values using spin images is performed, and then accurate positioning is performed by high-precision processing, which can be obtained from the three-dimensional shape data (model) of the target object and the distance sensor. The obtained distance data (scene) can be collated to recognize the three-dimensional position and orientation of the target object.
スピンイメージは、物体の局所的な三次元形状特徴を捉えた、回転不変な特徴量であるため、物体の一部隠れが発生している状況や、複数の物体が混在している状況における物体認識に適用できる。 A spin image is a rotation-invariant feature that captures the local three-dimensional shape of an object. Therefore, an object in a situation where part of the object is partially hidden or in which multiple objects are mixed Applicable to recognition.
ただし、特徴量ベースの位置決めは高速だが、モデルとシーンの対応箇所が比較的少ない状態で位置決めを行うため、精度が粗い可能性がある。そこで、特徴量ベースの位置決め結果を初期位置として、高精度化処理による精密な位置決めを行うことにより、高速・高精度な位置姿勢検出が可能となる。 However, although feature-based positioning is fast, positioning is performed in a state where there are relatively few locations corresponding to the model and the scene, so the accuracy may be rough. Therefore, high-speed and high-accuracy position / orientation detection can be performed by using the feature-value-based positioning result as an initial position and performing precise positioning by high-precision processing.
3D−CADデータをモデルデータとして導入するメリットは、以下のとおりである。(1)実物による教示の手間を削減できる、(2)工業部品の設計では3D−CADの導入が進んでおり、認識したい物体については既に3D−CADデータが存在することが多いので、既存データを活用することで作業量を削減できる。 The merit of introducing 3D-CAD data as model data is as follows. (1) It is possible to reduce the time and effort of teaching with the actual product. (2) In the design of industrial parts, 3D-CAD has been introduced, and 3D-CAD data already exists for objects to be recognized. The amount of work can be reduced by using.
前記の物体認識手法の大まかな性能として、モデル頂点数1000点程度、シーン頂点数5000点程度のとき、モデルがある程度(モデルの全表面の15%程度以上)出現していれば、3秒程度(CPU Celeron(登録商標)2.8GHz、メモリ512MB)で物体の位置姿勢を認識できた。 As a rough performance of the above object recognition method, when the number of model vertices is about 1000 points and the number of scene vertices is about 5000 points, if the model appears to some extent (about 15% or more of the entire surface of the model), about 3 seconds (CPU Celeron (registered trademark) 2.8 GHz, memory 512 MB) was able to recognize the position and orientation of the object.
実施形態として、三次元形状の計測について説明したが、二次元形状を三次元形状の特別な場合として見ることにより、二次元形状も同様に計測できる。 Although the measurement of the three-dimensional shape has been described as an embodiment, the two-dimensional shape can be similarly measured by looking at the two-dimensional shape as a special case of the three-dimensional shape.
なお、本発明は、上述した実施形態に限定されず、本発明の要旨を逸脱しない範囲で種々に変更することができることは勿論である。 In addition, this invention is not limited to embodiment mentioned above, Of course, it can change variously in the range which does not deviate from the summary of this invention.
32 データ入力装置
33 外部記憶装置
34 内部記憶装置
35 中央処理装置
40 物体認識装置
41 3Dセンサ
42 物体認識処理部
43 モデルデータベース部
45 ロボット制御部
46 ロボット
32 Data input device 33
Claims (3)
前記モデルデータの各点の特徴量を算出した後に、各点の特徴量の類似度を解析し、照合に有効な特徴量を持つ点を選定する第1のステップを含み、
前記第1のステップは、各点の特徴量の類似度を解析し、前記類似度に基づいて各点の特徴量をクラスタリングするステップと、
モデルデータ全体の点数の所定%以上を含むクラスタが存在する場合は、当該クラスタに属する点をシーンデータとの照合の対象から除外するステップと、
を含むことを特徴とする3次元物体認識方法。 3D for detecting the 3D position and orientation of an object by collating scene data measured by a sensor capable of measuring a distance and model data representing the 3D shape of the target object with respect to a feature amount representing the surface shape of each point Te object recognition method smell,
After calculating the characteristic amount of each point of the previous SL model data, we analyze the similarity of the feature amount of each point comprising a first step of selecting the point having the feature amounts effective for matching,
The first step is analyzing the similarity of the feature quantity of each point, and clustering the feature quantity of each point based on the similarity;
When there is a cluster including a predetermined percentage or more of the total number of points of the model data, excluding the points belonging to the cluster from the target of matching with the scene data; and
A three-dimensional object recognition method comprising:
前記第2のステップは、前記モデルデータを複数のパーツに分解するステップと、The second step comprises decomposing the model data into a plurality of parts;
前記物体認識の運用条件として床面又は視点の少なくとも一方を指定する情報を入力することによって、照合に使用しないパーツを決定するステップと、Determining parts not to be used for matching by inputting information specifying at least one of a floor surface and a viewpoint as the operation conditions of the object recognition; and
を含むことを特徴とする請求項1に記載の3次元物体認識方法。The three-dimensional object recognition method according to claim 1, comprising:
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007301022A JP5251080B2 (en) | 2007-11-20 | 2007-11-20 | Object recognition method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007301022A JP5251080B2 (en) | 2007-11-20 | 2007-11-20 | Object recognition method |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2009128075A JP2009128075A (en) | 2009-06-11 |
JP5251080B2 true JP5251080B2 (en) | 2013-07-31 |
Family
ID=40819172
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007301022A Active JP5251080B2 (en) | 2007-11-20 | 2007-11-20 | Object recognition method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5251080B2 (en) |
Families Citing this family (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5380792B2 (en) * | 2007-06-15 | 2014-01-08 | 株式会社Ihi | Object recognition method and apparatus |
JP2011175477A (en) | 2010-02-24 | 2011-09-08 | Canon Inc | Three-dimensional measurement apparatus, processing method and program |
JP4940461B2 (en) * | 2010-07-27 | 2012-05-30 | 株式会社三次元メディア | 3D object recognition apparatus and 3D object recognition method |
JP5800494B2 (en) | 2010-11-19 | 2015-10-28 | キヤノン株式会社 | Specific area selection device, specific area selection method, and program |
JP5624457B2 (en) * | 2010-12-28 | 2014-11-12 | 株式会社東芝 | Three-dimensional data processing apparatus, method and program |
JP5907336B2 (en) * | 2011-12-14 | 2016-04-26 | 株式会社Ihi | Weld bead position detection method and weld bead position detection apparatus |
JP6014890B2 (en) * | 2012-09-14 | 2016-10-26 | 国立大学法人 奈良先端科学技術大学院大学 | 3D motion detection apparatus and detection method for moving object |
JP5698815B2 (en) * | 2013-09-30 | 2015-04-08 | キヤノン株式会社 | Information processing apparatus, information processing apparatus control method, and program |
DE102014110203B3 (en) * | 2014-07-21 | 2015-08-06 | Sick Ag | Distance measuring sensor for the detection and distance determination of objects |
JP2015062017A (en) * | 2014-09-30 | 2015-04-02 | オムロン株式会社 | Model creation device, model creation program, and image recognition system |
JP6040264B2 (en) * | 2015-02-13 | 2016-12-07 | キヤノン株式会社 | Information processing apparatus, information processing apparatus control method, and program |
JP6528723B2 (en) | 2016-05-25 | 2019-06-12 | トヨタ自動車株式会社 | Object recognition apparatus, object recognition method and program |
WO2018236347A1 (en) | 2017-06-20 | 2018-12-27 | Hewlett-Packard Development Company, L.P. | Sensors positions determinations |
US12098911B2 (en) | 2019-06-17 | 2024-09-24 | Omron Corporation | Measurement device, measurement method, and computer-readable storage medium storing a measurement program |
CN114070426B (en) * | 2021-11-15 | 2024-04-19 | 上海创远仪器技术股份有限公司 | Method, device, processor and storage medium for eliminating abnormal calibration data of MIMO channel simulator |
CN116147521B (en) * | 2023-04-18 | 2023-07-07 | 菲特(天津)检测技术有限公司 | Non-contact workpiece size measuring device and method |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001143073A (en) * | 1999-11-10 | 2001-05-25 | Nippon Telegr & Teleph Corp <Ntt> | Method for deciding position and attitude of object |
JP4475060B2 (en) * | 2004-08-24 | 2010-06-09 | パナソニック電工株式会社 | Human detection device |
SE529377C2 (en) * | 2005-10-18 | 2007-07-24 | Morphic Technologies Ab Publ | Method and arrangement for locating and picking up items from a carrier |
-
2007
- 2007-11-20 JP JP2007301022A patent/JP5251080B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
JP2009128075A (en) | 2009-06-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5251080B2 (en) | Object recognition method | |
JP5092711B2 (en) | Object recognition apparatus and robot apparatus | |
JP4900204B2 (en) | Object recognition method | |
Yang et al. | A fast and robust local descriptor for 3D point cloud registration | |
JP4686762B2 (en) | Three-dimensional shape alignment method and program | |
US8792726B2 (en) | Geometric feature extracting device, geometric feature extracting method, storage medium, three-dimensional measurement apparatus, and object recognition apparatus | |
JP5677798B2 (en) | 3D object recognition and position and orientation determination method in 3D scene | |
CN103984362B (en) | Position and orientation measurement apparatus, information processor and information processing method | |
CN102782723B (en) | Position and direction estimation method and equipment thereof | |
JP5104248B2 (en) | Object recognition apparatus and robot apparatus | |
Li et al. | Differential evolution algorithm-based range image registration for free-form surface parts quality inspection | |
Jiang et al. | Learned local features for structure from motion of uav images: A comparative evaluation | |
Junior et al. | A new variant of the ICP algorithm for pairwise 3D point cloud registration | |
CN113267122B (en) | Industrial part size measurement method based on 3D vision sensor | |
Srivastava et al. | Drought stress classification using 3D plant models | |
Siritanawan et al. | 3d feature points detection on sparse and non-uniform pointcloud for slam | |
Shmukler et al. | Verification of 3D freeform parts by registration of multiscale shape descriptors | |
Sa et al. | Depth grid-based local description for 3D point clouds | |
Dong et al. | Pose estimation of components in 3c products based on point cloud registration | |
JP4525526B2 (en) | Pattern matching method and apparatus | |
CN113033270B (en) | 3D object local surface description method and device adopting auxiliary axis and storage medium | |
Jiang et al. | Efficient Match Pair Retrieval for Large-scale UAV Images via Graph Indexed Global Descriptor | |
JPH10124677A (en) | Method for estimating attitude of object and device therefor | |
CN118334094B (en) | Model registration method based on three-dimensional point cloud | |
CN118628474B (en) | Industrial automatic three-dimensional detection system and method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20100927 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20120208 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20120214 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120416 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20130319 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20130401 |
|
R151 | Written notification of patent or utility model registration |
Ref document number: 5251080 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20160426 Year of fee payment: 3 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |