JP5699697B2 - Robot device, position and orientation detection device, position and orientation detection program, and position and orientation detection method - Google Patents

Robot device, position and orientation detection device, position and orientation detection program, and position and orientation detection method Download PDF

Info

Publication number
JP5699697B2
JP5699697B2 JP2011049676A JP2011049676A JP5699697B2 JP 5699697 B2 JP5699697 B2 JP 5699697B2 JP 2011049676 A JP2011049676 A JP 2011049676A JP 2011049676 A JP2011049676 A JP 2011049676A JP 5699697 B2 JP5699697 B2 JP 5699697B2
Authority
JP
Japan
Prior art keywords
template
orientation
feature
data
image 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.)
Expired - Fee Related
Application number
JP2011049676A
Other languages
Japanese (ja)
Other versions
JP2012185752A (en
Inventor
高志 南本
高志 南本
橋本 浩一
浩一 橋本
チャンタオ ザン
チャンタオ ザン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Seiko Epson Corp
Original Assignee
Seiko Epson Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Seiko Epson Corp filed Critical Seiko Epson Corp
Priority to JP2011049676A priority Critical patent/JP5699697B2/en
Publication of JP2012185752A publication Critical patent/JP2012185752A/en
Application granted granted Critical
Publication of JP5699697B2 publication Critical patent/JP5699697B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Length Measuring Devices By Optical Means (AREA)
  • Manipulator (AREA)
  • Image Processing (AREA)
  • Image Analysis (AREA)

Description

本発明は、ロボット装置、位置姿勢検出装置、位置姿勢検出プログラム、および位置姿勢検出方法に関する。   The present invention relates to a robot apparatus, a position / orientation detection apparatus, a position / orientation detection program, and a position / orientation detection method.

従来、平面画像により表現された物体の立体空間における位置および姿勢を推定する技術が知られている。例えば、位置および方向の少なくとも一方によって見え方が変化する対象物を精度よく認識する認識装置が知られている(例えば、特許文献1参照)。
この認識装置は、対象物と複数のテンプレート情報それぞれとの類似度に基づいてあらかじめ基準座標系を設定する。そして、この認識装置は、基準座標系の各位置における、類似度が高いほど高い値となる重み係数と類似度とから重み付き類似度を求め、この重み付き類似度を用いて対象物を認識するものである。
Conventionally, a technique for estimating the position and orientation of a three-dimensional space of an object expressed by a planar image is known. For example, a recognition device is known that accurately recognizes an object whose appearance changes depending on at least one of position and direction (see, for example, Patent Document 1).
This recognition apparatus sets a reference coordinate system in advance based on the degree of similarity between an object and each of a plurality of template information. Then, the recognition apparatus obtains a weighted similarity from a weighting factor and a similarity that are higher as the similarity is higher at each position in the reference coordinate system, and recognizes an object using the weighted similarity. To do.

特開2009−301382号公報JP 2009-301382 A

しかしながら、この認識装置は、特に対象物(例えば、人物の手)の動作を認識することによって非接触で電子機器を操作させることを目的とした装置である。この認識装置に適用された、重み付き類似度に基づいて対象物を認識する方式は、対象物を確率的に認識する方式であるため、大雑把に変化する人物の手や足の動作を認識させること、つまり空間的な認識の幅が比較的広い用途には適している。しかし、例えば、マニピュレーターのビジュアルフィードバック制御では、マニピュレーターの位置および姿勢を高精度に認識する必要があるため、上記の認識装置をロボット装置に適用することができない。なお、ビジュアルフィードバック制御とは、撮像装置等の視覚センサーが取得する視覚情報に基づいてロボット装置の動作、例えばマニピュレーターの位置および姿勢を制御することである。   However, this recognition device is a device intended to operate an electronic device in a non-contact manner, particularly by recognizing an action of an object (for example, a human hand). The method of recognizing an object based on the weighted similarity applied to this recognition apparatus is a method of recognizing an object probabilistically, and therefore recognizes the movement of a person's hand or foot that changes roughly. That is, it is suitable for applications in which the range of spatial recognition is relatively wide. However, for example, in the visual feedback control of the manipulator, it is necessary to recognize the position and posture of the manipulator with high accuracy, and thus the above recognition device cannot be applied to the robot device. Note that the visual feedback control is to control the operation of the robot apparatus, for example, the position and posture of the manipulator based on visual information acquired by a visual sensor such as an imaging apparatus.

そこで、本発明は、上記問題を解決するためになされたものであり、平面画像により表現された対象物体の、立体空間における位置および姿勢を高精度に検出する、ロボット装置、位置姿勢検出装置、位置姿勢検出プログラム、および位置姿勢検出方法を提供することを目的とする。   Therefore, the present invention has been made to solve the above problem, and a robot apparatus, a position / orientation detection apparatus, which detects a position and an attitude of a target object expressed by a planar image in a three-dimensional space with high accuracy, An object is to provide a position and orientation detection program and a position and orientation detection method.

[1]上記の課題を解決するため、本発明の一態様であるロボット装置は、対象物体を撮像して画像データを生成する撮像部と、前記撮像部を可動に支持するロボット本体と、前記対象物体のリファレンスに対する前記撮像部からの視線方向ごとに、前記視線方向に対する面のテンプレート画像データとロボット座標系における前記面の位置および姿勢を表す情報と前記ロボット座標系における前記撮像部の位置および姿勢を表す情報とを有するテンプレート情報を記憶するテンプレート情報記憶部と、前記撮像部が生成した前記画像データに含まれる前記対象物体の画像から可視である面を検出し、前記テンプレート情報記憶部から、前記可視である面に対応するテンプレート情報を読み込み、前記テンプレート情報に基づいて前記ロボット座標系における前記対象物体の位置および姿勢を表す位置姿勢データを生成する位置姿勢データ生成部とを備え、前記位置姿勢データ生成部は、テンプレート画像データごとに、前記テンプレート画像データから抽出される複数の特徴点それぞれにおける特徴量と該特徴点の位置情報とを対応付けたテンプレート特徴データを記憶するテンプレート特徴データ記憶部と、前記撮像部が生成した前記画像データから複数の特徴点を抽出し、前記特徴点ごとの特徴量と前記特徴点の位置情報とを対応付けた特徴データを生成する特徴データ生成部と、前記特徴データ生成部が生成した前記特徴データと前記テンプレート特徴データ記憶部に記憶された前記テンプレート特徴データとに基づいて、前記特徴データにおける特徴量と前記テンプレート特徴データにおける特徴量との相関度を計算して、マッチする特徴量に対応する特徴点の位置情報を検出し、前記位置情報に基づき、前記対象物体の画像において可視である面と前記可視である面のうち該面に対応するテンプレート画像データとの類似度が最も高い面である基準面とを検出する第1位置姿勢計算部とを備えることを特徴とする。
ここで、ロボット本体は、例えば多関節ロボットである。また、リファレンスは、例えば、対象物体の良品サンプルである。また、視線方向とは、例えば互いに直交する方向であり、互いに直交する6方向でもよいし、これら6方向のうちリファレンスを通常使用の状態で水平面に載置した場合の鉛直下方を除く5方向でもよい。また、位置および姿勢を表す情報は、並進ベクトルおよび回転行列により表現される。
このように構成したことにより、本発明の一態様によれば、対象物体の画像から得られる可視面に対応するテンプレート情報に基づいて対象物体の位置および姿勢を計算するため、平面画像により表現された対象物体の立体空間における位置および姿勢を高精度に検出することができる。
また、本発明の一態様によれば、現視点からの全ての可視面を用いて対象物体の位置および姿勢を得るため、平面画像により表現された対象物体の立体空間における位置および姿勢を高精度に検出することができる。
[2]上記[1]記載のロボット装置において、前記位置姿勢データ生成部は、前記第1位置姿勢計算部が検出した前記特徴点の位置情報と前記基準面と前記テンプレート情報記憶部に記憶された前記テンプレート情報とに基づいて合成モデル画像データを生成する合成モデル画像生成部と、前記合成モデル画像生成部が生成した前記合成モデル画像データを、ホモグラフィー行列を用いて射影変換した変換合成モデル画像データと前記画像データとの類似度を計算し、前記類似度が閾値を超えることとなるホモグラフィー行列と前記テンプレート情報とに基づいて前記位置姿勢データを生成する第2位置姿勢計算部と、を備えることを特徴とする
[3]上記[1]記載のロボット装置において、前記位置姿勢データ生成部は、複数のテンプレート画像データそれぞれについて、該テンプレート画像データを、ホモグラフィー行列を用いて射影変換した変換画像データと前記画像データとの一致度を計算し、前記一致度に基づいて前記対象物体の画像から可視である面を検出する一致度評価部と、前記一致度評価部が検出した前記可視である面に対応するテンプレート画像データを、ホモグラフィー行列を用いて射影変換した変換画像データと前記画像データとの類似度を計算し、最も高い類似度となる計算結果に対応するホモグラフィー行列と前記テンプレート情報とに基づいて前記位置姿勢データを生成する位置姿勢計算部と、を備え、前記位置姿勢データ生成部における前記第1位置姿勢計算部において、前記基準面に対応する類似度が閾値以下である場合に、前記位置姿勢データ生成部を機能させる、ことを特徴とする。
ここで、一致度は、例えば、画像データと変換画像データとの輝度差の絶対値の総和や輝度差の2乗和である。また、類似度は、例えば、正規化相互相関である。
このように構成したことにより、本発明の一態様によれば、可視面の中で信頼性が最も高い面に基づいて対象物体の位置および姿勢を高精度に得るため、平面画像により表現された対象物体の立体空間における位置および姿勢を高精度に検出することができる。また、本発明の一態様によれば、可視面のうち代表する一面のみを使用して位置および姿勢を求めるため、計算にかかる負荷は軽い。
また、本発明の一態様によれば、基準面の歪みや変形の度合いが比較的低い場合は、一面に基づく処理を行わせ、一方、基準面の歪みや変形の度合いが比較的高い場合は、可視面全てに基づく処理を行わせることができる。つまり、可視面の状態(例えば、歪みや変形)に応じて、一面に基づく対象物体の位置および姿勢の検出処理と、可視面全てに基づく検出処理とを切り替えることができ、視点による検出精度のばらつきを抑えることができる。
[1] In order to solve the above-described problem, a robot apparatus according to an aspect of the present invention includes an imaging unit that captures an image of a target object and generates image data, a robot body that movably supports the imaging unit, For each line-of-sight direction from the imaging unit with respect to the reference of the target object, template image data of the surface with respect to the line-of-sight direction, information representing the position and orientation of the surface in the robot coordinate system, the position of the imaging unit in the robot coordinate system, and A template information storage unit that stores template information having information representing a posture; and a surface that is visible from the image of the target object included in the image data generated by the imaging unit; and from the template information storage unit The template information corresponding to the visible surface is read, and the robot is read based on the template information. And a position and orientation data generating unit that generates position and orientation data representing the position and orientation of the target object in a coordinate system, the position and orientation data generating unit, for each template image data, a plurality extracted from the template image data Extracting a plurality of feature points from the image data generated by the imaging unit, and a template feature data storage unit that stores template feature data in which feature quantities in each of the feature points are associated with positional information of the feature points; A feature data generation unit that generates feature data in which the feature amount for each feature point and the position information of the feature point are associated with each other, and the feature data generated by the feature data generation unit and stored in the template feature data storage unit On the basis of the template feature data thus obtained, the feature amount in the feature data and the template The degree of correlation with the feature quantity in the feature data is calculated, the position information of the feature point corresponding to the matching feature quantity is detected, and based on the position information, the surface that is visible in the image of the target object and the visible And a first position / orientation calculation unit that detects a reference surface that is the surface having the highest degree of similarity with the template image data corresponding to the surface .
Here, the robot body is, for example, an articulated robot. The reference is, for example, a non-defective sample of the target object. Further, the line-of-sight direction is, for example, directions orthogonal to each other, and may be six directions orthogonal to each other, and among these six directions, the five directions excluding the vertically downward when the reference is placed on a horizontal surface in a normal use state. Good. In addition, information representing the position and orientation is expressed by a translation vector and a rotation matrix.
With this configuration, according to one aspect of the present invention, the position and orientation of the target object are calculated based on the template information corresponding to the visible surface obtained from the target object image. The position and orientation of the target object in the three-dimensional space can be detected with high accuracy.
In addition, according to one aspect of the present invention, since the position and orientation of the target object are obtained using all the visible surfaces from the current viewpoint, the position and orientation of the target object represented by the planar image are accurately determined. Can be detected.
[2] In the robot apparatus according to [1], the position / orientation data generation unit is stored in the position information of the feature point detected by the first position / orientation calculation unit, the reference plane, and the template information storage unit. A combined model image generating unit that generates combined model image data based on the template information, and a converted combined model obtained by projective conversion of the combined model image data generated by the combined model image generating unit using a homography matrix A second position / orientation calculation unit that calculates similarity between image data and the image data, and generates the position / orientation data based on the homography matrix and the template information that cause the similarity to exceed a threshold; It is characterized by providing .
[3] In the robot apparatus according to [1], the position / orientation data generation unit converts the template image data obtained by projective conversion of each of the template image data using a homography matrix and the image. The degree of coincidence with the data is calculated, and a coincidence degree evaluation unit that detects a visible surface from the image of the target object based on the degree of coincidence, and corresponds to the visible surface detected by the coincidence degree evaluation unit The similarity between the converted image data obtained by projective conversion of the template image data using the homography matrix and the image data is calculated, and the template information is based on the homography matrix corresponding to the calculation result that gives the highest similarity and the template information. And a position / orientation calculation unit that generates the position / orientation data, and the first position in the position / orientation data generation unit In the posture calculation unit, when the similarity corresponding to the reference plane is below a threshold, to function the position and orientation data generating unit, characterized in that.
Here, the degree of coincidence is, for example, the sum of absolute values of luminance differences between image data and converted image data or the square sum of luminance differences. The similarity is, for example, normalized cross correlation.
With this configuration, according to one aspect of the present invention, the position and orientation of the target object can be obtained with high accuracy based on the most reliable surface among the visible surfaces. The position and orientation of the target object in the three-dimensional space can be detected with high accuracy. In addition, according to one aspect of the present invention, since the position and orientation are obtained using only one representative surface among the visible surfaces, the load on the calculation is light.
Further, according to one aspect of the present invention, when the degree of distortion or deformation of the reference surface is relatively low, processing based on one surface is performed, while when the degree of distortion or deformation of the reference surface is relatively high , Processing based on all visible surfaces can be performed. That is, according to the state of the visible surface (for example, distortion or deformation), it is possible to switch between the detection processing of the position and orientation of the target object based on one surface and the detection processing based on all the visible surfaces, and the detection accuracy based on the viewpoint is improved. Variation can be suppressed.

[4]上記の課題を解決するため、本発明の一態様である位置姿勢検出装置は、対象物体のリファレンスに対する視線方向ごとに、前記視線方向に対する面のテンプレート画像データと基準座標系における前記面の位置および姿勢を表す情報と前記基準座標系における視点の位置および姿勢を表す情報とを有するテンプレート情報を記憶するテンプレート情報記憶部と、所定の視点に基づき得られる画像データに含まれる前記対象物体の画像から可視である面を検出し、前記テンプレート情報記憶部から、前記可視である面に対応するテンプレート情報を読み込み、前記テンプレート情報に基づいて前記基準座標系における前記対象物体の位置および姿勢を表す位置姿勢データを生成する位置姿勢データ生成部と、を備え、前記位置姿勢データ生成部は、テンプレート画像データごとに、前記テンプレート画像データから抽出される複数の特徴点それぞれにおける特徴量と該特徴点の位置情報とを対応付けたテンプレート特徴データを記憶するテンプレート特徴データ記憶部と、前記画像データから複数の特徴点を抽出し、前記特徴点ごとの特徴量と前記特徴点の位置情報とを対応付けた特徴データを生成する特徴データ生成部と、前記特徴データ生成部が生成した前記特徴データと前記テンプレート特徴データ記憶部に記憶された前記テンプレート特徴データとに基づいて、前記特徴データにおける特徴量と前記テンプレート特徴データにおける特徴量との相関度を計算して、マッチする特徴量に対応する特徴点の位置情報を検出し、前記位置情報に基づき、前記対象物体の画像において可視である面と前記可視である面のうち該面に対応するテンプレート画像データとの類似度が最も高い面である基準面とを検出する第1位置姿勢計算部と、を備えることを特徴とする。
このように構成したことにより、本発明の一態様によれば、対象物体の画像から得られる可視面に対応するテンプレート情報に基づいて対象物体の位置および姿勢を計算するため、平面画像により表現された対象物体の立体空間における位置および姿勢を高精度に検出することができる。
[4] In order to solve the above-described problem, a position / orientation detection apparatus according to an aspect of the present invention includes, for each line-of-sight direction with respect to a reference of a target object, template image data of the surface with respect to the line-of-sight direction and the surface in the reference coordinate system. A template information storage unit for storing template information having information representing the position and orientation of the image and information representing the position and orientation of the viewpoint in the reference coordinate system; and the target object included in image data obtained based on a predetermined viewpoint A visible surface from the image, and reading template information corresponding to the visible surface from the template information storage unit, and based on the template information, the position and orientation of the target object in the reference coordinate system and position and orientation data generating unit that generates position and orientation data representing, wherein the position and orientation data A generating unit that stores, for each template image data, template feature data in which template feature data in which a feature amount in each of a plurality of feature points extracted from the template image data is associated with position information of the feature points is stored; A feature data generation unit that extracts a plurality of feature points from the image data and generates feature data in which feature amounts of the feature points are associated with position information of the feature points; and the feature data generation unit generates Based on the feature data and the template feature data stored in the template feature data storage unit, the degree of correlation between the feature quantity in the feature data and the feature quantity in the template feature data is calculated and matched. Detecting position information of the feature point corresponding to the quantity, and based on the position information, an image of the target object A first position and orientation calculation unit that detects a visible surface and a reference surface that is a surface having the highest degree of similarity between the visible surface and the template image data corresponding to the surface. Features.
With this configuration, according to one aspect of the present invention, the position and orientation of the target object are calculated based on the template information corresponding to the visible surface obtained from the target object image. The position and orientation of the target object in the three-dimensional space can be detected with high accuracy.

[5]上記の課題を解決するため、本発明の一態様である位置姿勢検出プログラムは、コンピューターを、対象物体のリファレンスに対する視線方向ごとに、前記視線方向に対する面のテンプレート画像データと基準座標系における前記面の位置および姿勢を表す情報と前記基準座標系における視点の位置および姿勢を表す情報とを有するテンプレート情報を記憶するテンプレート情報記憶部と、所定の視点に基づき得られる画像データに含まれる前記対象物体の画像から可視である面を検出し、前記テンプレート情報記憶部から、前記可視である面に対応するテンプレート情報を読み込み、前記テンプレート情報に基づいて前記基準座標系における前記対象物体の位置および姿勢を表す位置姿勢データを生成する位置姿勢データ生成部と、として機能させ、前記位置姿勢データ生成部を、テンプレート画像データごとに、前記テンプレート画像データから抽出される複数の特徴点それぞれにおける特徴量と該特徴点の位置情報とを対応付けたテンプレート特徴データを記憶するテンプレート特徴データ記憶部と、前記画像データから複数の特徴点を抽出し、前記特徴点ごとの特徴量と前記特徴点の位置情報とを対応付けた特徴データを生成する特徴データ生成部と、前記特徴データ生成部が生成した前記特徴データと前記テンプレート特徴データ記憶部に記憶された前記テンプレート特徴データとに基づいて、前記特徴データにおける特徴量と前記テンプレート特徴データにおける特徴量との相関度を計算して、マッチする特徴量に対応する特徴点の位置情報を検出し、前記位置情報に基づき、前記対象物体の画像において可視である面と前記可視である面のうち該面に対応するテンプレート画像データとの類似度が最も高い面である基準面とを検出する第1位置姿勢計算部と、として機能させる。 [5] In order to solve the above-described problem, a position / orientation detection program according to an aspect of the present invention provides a computer with a template image data and a reference coordinate system of a surface with respect to a line-of-sight direction for each line-of-sight direction with respect to a reference of a target object. Included in image data obtained based on a predetermined viewpoint, and a template information storage section that stores template information having information indicating the position and orientation of the surface in the reference information and information indicating the position and orientation of the viewpoint in the reference coordinate system A visible surface is detected from the image of the target object, template information corresponding to the visible surface is read from the template information storage unit, and the position of the target object in the reference coordinate system based on the template information And a position / orientation data generation unit that generates position / orientation data representing the attitude; Is to function, the position and orientation data generating unit, for each template image data, the template feature data associated with the position information of the feature amount and the feature points in a plurality of feature points respectively extracted from the template image data A feature data generation unit that extracts a plurality of feature points from the image data and generates feature data in which feature amounts for each feature point are associated with positional information of the feature points And a feature amount in the feature data and a feature amount in the template feature data based on the feature data generated by the feature data generation unit and the template feature data stored in the template feature data storage unit Calculating the degree, detecting the position information of the feature point corresponding to the matching feature quantity, the position Based on the information, a first position and orientation for detecting a surface that is visible in the image of the target object and a reference surface that has the highest degree of similarity between the surface that is visible and the template image data corresponding to the surface It functions as a calculation unit.

[6]上記の課題を解決するため、本発明の一態様である位置姿勢検出方法は、位置姿勢データ生成部が、所定の視点に基づき得られる画像データに含まれる対象物体の画像から可視である面を検出し、対象物体のリファレンスに対する視線方向ごとに、前記視線方向に対する面のテンプレート画像データと基準座標系における前記面の位置および姿勢を表す情報と前記基準座標系における視点の位置および姿勢を表す情報とを有するテンプレート情報を記憶するテンプレート情報記憶部から、前記可視である面に対応するテンプレート情報を読み込み、前記テンプレート情報に基づいて前記基準座標系における前記対象物体の位置および姿勢を表す位置姿勢データを生成する位置姿勢検出ステップ、を有し、前記位置姿勢データ生成部が、前記画像データから複数の特徴点を抽出し、前記特徴点ごとの特徴量と前記特徴点の位置情報とを対応付けた特徴データを生成する特徴データ生成ステップと、前記特徴データ生成ステップにおいて生成した前記特徴データと、テンプレート画像データごとに、前記テンプレート画像データから抽出される複数の特徴点それぞれにおける特徴量と該特徴点の位置情報とを対応付けたテンプレート特徴データを記憶するテンプレート特徴データ記憶部に記憶された前記テンプレート特徴データとに基づいて、前記特徴データにおける特徴量と前記テンプレート特徴データにおける特徴量との相関度を計算して、マッチする特徴量に対応する特徴点の位置情報を検出し、前記位置情報に基づき、前記対象物体の画像において可視である面と前記可視である面のうち該面に対応するテンプレート画像データとの類似度が最も高い面である基準面とを検出する第1位置姿勢計算ステップと、を有することを特徴とする。 [6] In order to solve the above-described problem, the position / orientation detection method according to one aspect of the present invention is such that the position / orientation data generation unit is visible from an image of a target object included in image data obtained based on a predetermined viewpoint. For each line-of-sight direction with respect to the reference of the target object, a template image data of the surface with respect to the line-of-sight direction, information indicating the position and orientation of the surface in the reference coordinate system, and the position and posture of the viewpoint in the reference coordinate system are detected. The template information corresponding to the surface that is visible is read from the template information storage unit that stores the template information having the information indicating the position, and the position and orientation of the target object in the reference coordinate system are represented based on the template information position and orientation detection step of generating the position and orientation data, have a, the position and orientation data generating unit, A plurality of feature points extracted from the image data, a feature data generation step for generating feature data in which the feature amount for each feature point is associated with the position information of the feature point, and the feature data generation step A template feature data storage unit that stores, for each of the feature data and template image data, template feature data in which feature quantities at each of a plurality of feature points extracted from the template image data are associated with positional information of the feature points Based on the template feature data stored in the table, the degree of correlation between the feature quantity in the feature data and the feature quantity in the template feature data is calculated, and the position information of the feature point corresponding to the matching feature quantity is detected. Then, based on the position information, the surface that is visible in the image of the target object and the possible Characterized by chromatic between a first position and orientation calculation step of similarity between the template image data corresponding to said surface to detect the reference plane is the highest plane, the one surface is.

よって、本発明の各態様によれば、平面画像により表現された対象物体の、立体空間における位置および姿勢を、高精度に検出することができる。   Therefore, according to each aspect of the present invention, the position and orientation of the target object represented by the planar image in the three-dimensional space can be detected with high accuracy.

本発明の第1実施形態であるロボット装置を適用した検査システムにおけるロボットと対象物体との概略の外観図である。1 is a schematic external view of a robot and a target object in an inspection system to which a robot apparatus according to a first embodiment of the present invention is applied. 同実施形態であるロボット装置を適用した検査システムの概略の機能構成を表すブロック図である。It is a block diagram showing the schematic function structure of the inspection system to which the robot apparatus which is the embodiment is applied. 同実施形態における位置姿勢検出装置の機能構成を表すブロック図である。It is a block diagram showing the functional composition of the position and orientation detection device in the embodiment. 一面分のテンプレート位置姿勢データを表す概念図である。It is a conceptual diagram showing the template position and orientation data for one surface. 対応テーブルのデータ構成を表す図である。It is a figure showing the data structure of a correspondence table. 同実施形態における検査システムの外観検査処理の手順を表すフローチャートである。It is a flowchart showing the procedure of the external appearance inspection process of the inspection system in the embodiment. 同実施形態において、位置姿勢検出装置が実行する対象物体の位置および姿勢の検出処理の手順を表すフローチャートである。5 is a flowchart illustrating a procedure of detection processing of a position and orientation of a target object executed by a position and orientation detection apparatus in the embodiment. 同実施形態において、位置姿勢検出装置が実行する対象物体の位置および姿勢の検出処理の手順を表すフローチャートである。5 is a flowchart illustrating a procedure of detection processing of a position and orientation of a target object executed by a position and orientation detection apparatus in the embodiment. 同実施形態において、位置姿勢検出装置が実行する対象物体の位置および姿勢の検出処理の手順を表すフローチャートである。5 is a flowchart illustrating a procedure of detection processing of a position and orientation of a target object executed by a position and orientation detection apparatus in the embodiment. 同実施形態において、位置姿勢計算部による処理の一部の内容を模式的に表した図である。In the same embodiment, it is the figure which represented typically the one part content of the process by a position and orientation calculation part. 本発明の第2実施形態であるロボット装置を適用した検査システムの概略の機能構成を表すブロック図である。It is a block diagram showing the schematic function structure of the inspection system to which the robot apparatus which is 2nd Embodiment of this invention is applied. 同実施形態における位置姿勢検出装置の機能構成を表すブロック図である。It is a block diagram showing the functional composition of the position and orientation detection device in the embodiment. 同実施形態において、位置姿勢検出装置が実行する対象物体の位置および姿勢の検出処理の手順を表すフローチャートである。5 is a flowchart illustrating a procedure of detection processing of a position and orientation of a target object executed by a position and orientation detection apparatus in the embodiment. 同実施形態において、位置姿勢検出装置が実行する対象物体の位置および姿勢の検出処理の手順を表すフローチャートである。5 is a flowchart illustrating a procedure of detection processing of a position and orientation of a target object executed by a position and orientation detection apparatus in the embodiment.

以下、本発明を実施するための形態について、図面を参照して詳細に説明する。
[第1の実施の形態]
図1は、本発明の第1実施形態であるロボット装置を適用した検査システムにおけるロボットと対象物体との概略の外観図である。図1に示すように、ロボット10は、ロボット本体12に撮像装置(撮像部)11が設けられて構成される。
Hereinafter, embodiments for carrying out the present invention will be described in detail with reference to the drawings.
[First Embodiment]
FIG. 1 is a schematic external view of a robot and a target object in an inspection system to which a robot apparatus according to a first embodiment of the present invention is applied. As shown in FIG. 1, the robot 10 is configured by providing an imaging device (imaging unit) 11 on a robot body 12.

ロボット本体12は、撮像装置11を可動に支持する。具体的には、ロボット本体12は、地面に固定された支持台12aと、旋回可能および屈伸可能に支持台12aに連結されたアーム部12bと、回動可能および首振り可能にアーム部12bに連結されたハンド部12cとを含んで構成される。ロボット本体12は、例えば6軸の垂直多関節ロボットであり、支持台12aとアーム部12bとハンド部12cとの連係した動作によって6軸の自由度を有し、撮像部11の位置および向きを三次元空間内で自在に変更することができる。   The robot body 12 supports the imaging device 11 in a movable manner. Specifically, the robot body 12 includes a support base 12a fixed to the ground, an arm part 12b connected to the support base 12a so as to be able to turn and bend, and an arm part 12b that can be pivoted and swingable. And a connected hand portion 12c. The robot body 12 is, for example, a 6-axis vertical articulated robot. The robot body 12 has a 6-axis degree of freedom by a coordinated operation of the support base 12a, the arm part 12b, and the hand part 12c. It can be changed freely in the three-dimensional space.

なお、ロボット本体12は、撮像装置11、工具、部品等を作業目的に応じて持ち替えるように構成してもよい。また、ロボット本体12の自由度は6軸によるものに限られない。具体的には、例えばロボット本体12は、7軸による自由度を有するものであってもよい。また、支持台12aは、壁や天井等、地面に対して固定された場所に設置してもよい。また、ロボット本体12は、撮像装置11を支持するアーム部12bおよびハンド部12cの他に、工具や部品を支持する図示しないアーム部およびハンド部を備え、これら複数のアーム部およびハンド部を独立的にまたは連動させて動かす構成としてもよい。   Note that the robot body 12 may be configured to change the imaging device 11, tools, components, and the like according to the purpose of work. Further, the degree of freedom of the robot body 12 is not limited to six axes. Specifically, for example, the robot body 12 may have a degree of freedom by seven axes. Moreover, you may install the support stand 12a in the place fixed with respect to the grounds, such as a wall and a ceiling. The robot body 12 includes an arm portion and a hand portion (not shown) that support tools and parts in addition to the arm portion 12b and the hand portion 12c that support the imaging device 11, and the plurality of arm portions and hand portions are independent of each other. It is good also as a structure which moves in conjunction or linked.

図1に示すように、ハンド部12c先端の可動範囲内には、外観検査の検査対象物体である対象物体5が図示しない台上に載置されている。
本実施形態における検査システムは、対象物体5の外観を観察して、検査部位の状態を検査する装置である。
As shown in FIG. 1, a target object 5 that is an inspection target object for visual inspection is placed on a table (not shown) within the movable range of the tip of the hand portion 12c.
The inspection system in the present embodiment is an apparatus that observes the appearance of the target object 5 and inspects the state of the inspection site.

図2は、本実施形態であるロボット装置を適用した検査システムの概略の機能構成を表すブロック図である。図2に示すように、検査システム1は、ロボット10と、位置姿勢検出装置20と、検査装置30と、ロボット制御装置40とを備える。
ロボット10は、図1にも示したように、撮像装置11とロボット本体12とを備える。
FIG. 2 is a block diagram illustrating a schematic functional configuration of an inspection system to which the robot apparatus according to the present embodiment is applied. As shown in FIG. 2, the inspection system 1 includes a robot 10, a position / orientation detection device 20, an inspection device 30, and a robot control device 40.
As shown in FIG. 1, the robot 10 includes an imaging device 11 and a robot body 12.

撮像装置11は、静止画像および動画像を選択的に撮像可能なカメラ装置である。撮像装置11は、検査装置30から供給される静止画撮影要求信号にしたがって対象物体5を静止画撮影し、その静止画像のデータである画像データを出力する。また、撮像装置11は、検査装置30から供給される動画撮影開始要求信号にしたがって、例えば30フレーム/秒(fps;frame per second)のフレームレートで対象物体5を動画撮影し、その動画像のデータである画像データを連続して出力する。また、撮像装置11は、制御装置30から供給される動画撮影停止要求信号にしたがって、動画像の撮影動作を停止する。
ロボット本体12は、前述したように、取り付けられた撮像装置11を三次元空間内で移動させるための装置である。
The imaging device 11 is a camera device that can selectively capture still images and moving images. The imaging device 11 captures a still image of the target object 5 in accordance with a still image capturing request signal supplied from the inspection device 30, and outputs image data that is data of the still image. Further, the imaging device 11 shoots the target object 5 in a moving image at a frame rate of 30 frames / second (fps; frame per second), for example, in accordance with the moving image shooting start request signal supplied from the inspection device 30. Image data that is data is output continuously. Further, the imaging device 11 stops the moving image shooting operation in accordance with the moving image shooting stop request signal supplied from the control device 30.
As described above, the robot body 12 is a device for moving the attached imaging device 11 in the three-dimensional space.

位置姿勢検出装置20は、撮像装置11から供給される静止画像の画像データを取り込み、この画像データに含まれる対象物体5の平面画像(対象物体画像)に基づいて三次元空間における対象物体5の位置および姿勢を計算し、その位置姿勢データを検査装置30に供給する。本実施形態における三次元空間は、基準座標系であるロボット座標系による三次元空間である。位置姿勢検出装置20の詳細な構成については後述する。   The position / orientation detection device 20 takes in the image data of the still image supplied from the imaging device 11, and based on the planar image (target object image) of the target object 5 included in the image data, the target object 5 in the three-dimensional space. The position and orientation are calculated, and the position and orientation data is supplied to the inspection device 30. The three-dimensional space in this embodiment is a three-dimensional space by a robot coordinate system that is a reference coordinate system. The detailed configuration of the position / orientation detection apparatus 20 will be described later.

本実施形態であるロボット装置は、ロボット10と位置姿勢検出装置20とを含んで構成される。   The robot apparatus according to the present embodiment includes a robot 10 and a position / orientation detection apparatus 20.

検査装置30は、位置姿勢検出装置20から位置姿勢データを取得する際には、撮像装置11に対して静止画撮影要求信号を送信する。また、検査装置30は、外観検査処理の実行においては、撮像装置11に対して動画撮影開始要求信号および動画撮影停止要求信号を送信する。
検査装置30は、位置姿勢検出装置20から供給される位置姿勢データを取り込んで、対象物体5のロボット座標系の三次元空間における位置および姿勢を管理する。また、検査装置30は、撮像装置11から供給される動画像の画像データを順次または複数フレームおきに取り込み、公知のターゲットトラッキング処理にしたがってロボット本体12の姿勢を制御するためのロボット制御コマンドを生成し、このロボット制御コマンドをロボット制御装置40に供給する。
検査処理30は、画像データに含まれる対象物体画像について外観検査処理を実行する。外観検査処理は、例えば、公知技術であるテンプレートマッチング処理によって外観の異常等を検出する処理である。
When acquiring the position and orientation data from the position and orientation detection device 20, the inspection device 30 transmits a still image capturing request signal to the imaging device 11. In addition, the inspection device 30 transmits a moving image shooting start request signal and a moving image shooting stop request signal to the imaging device 11 in the execution of the appearance inspection process.
The inspection device 30 takes in the position and orientation data supplied from the position and orientation detection device 20, and manages the position and orientation of the target object 5 in the three-dimensional space of the robot coordinate system. Further, the inspection apparatus 30 takes in the image data of the moving image supplied from the imaging apparatus 11 sequentially or every several frames, and generates a robot control command for controlling the posture of the robot body 12 according to a known target tracking process. Then, this robot control command is supplied to the robot controller 40.
The inspection process 30 performs an appearance inspection process on the target object image included in the image data. The appearance inspection process is, for example, a process of detecting an abnormality in appearance by a template matching process that is a known technique.

ロボット制御装置40は、検査装置30から供給されるロボット制御コマンドを取り込み、このロボット制御コマンドに基づいてロボット本体12の姿勢、つまり撮像装置11の位置および姿勢を制御する。   The robot control device 40 takes in the robot control command supplied from the inspection device 30 and controls the posture of the robot body 12, that is, the position and posture of the imaging device 11 based on the robot control command.

図3は、位置姿勢検出装置20の機能構成を表すブロック図である。図3に示すように、位置姿勢検出装置20は、画像データ取得部201と、画像データ記憶部202と、テンプレート情報記憶部203と、一致度評価部204と、対応テーブル記憶部205と、位置姿勢計算部206とを備える。
なお、テンプレート情報記憶部203と、一致度評価部204と、対応テーブル記憶部205と、位置姿勢計算部206とは、位置姿勢データ生成部である。
FIG. 3 is a block diagram illustrating a functional configuration of the position / orientation detection apparatus 20. As illustrated in FIG. 3, the position / orientation detection apparatus 20 includes an image data acquisition unit 201, an image data storage unit 202, a template information storage unit 203, a matching degree evaluation unit 204, a correspondence table storage unit 205, And an attitude calculation unit 206.
The template information storage unit 203, the matching score evaluation unit 204, the correspondence table storage unit 205, and the position / orientation calculation unit 206 are position / orientation data generation units.

画像データ取得部201は、ロボット10の撮像装置11から供給される静止画像の画像データを取り込み、画像データ記憶部202に記憶させる。
画像データ記憶部202は、画像データ取得部201が取り込んだ画像データを記憶する。
The image data acquisition unit 201 takes in image data of a still image supplied from the imaging device 11 of the robot 10 and stores it in the image data storage unit 202.
The image data storage unit 202 stores the image data captured by the image data acquisition unit 201.

テンプレート情報記憶部203は、対象物体5のリファレンスについてのテンプレート情報をあらかじめ記憶する。リファレンスは、例えば、対象物体5の良品サンプルであり、その外観に傷や欠品等の異常がない状態のものである。テンプレート情報は、撮像装置11が、複数の視線方向それぞれからリファレンスを撮像して得た複数のテンプレート画像データと、複数のテンプレート画像それぞれについてのテンプレート位置姿勢データとを含む。複数の視線方向は、例えば互いに直交する方向であり、互いに直交する6方向でもよいし、これら6方向のうちリファレンスを通常使用の状態で水平面に載置した場合の鉛直下方を除く5方向でもよい。この鉛直下方を除くことにより、リファレンスの底面側のテンプレート画像を省略することができる。テンプレート位置姿勢データは、面の位置および姿勢を表す情報と、リファレンスの基準点(原点)と面との相対的な位置および姿勢を表す情報と、撮像装置11の位置および姿勢を表す情報と、撮像装置11と面との相対的な位置および姿勢を表す情報とを含む。   The template information storage unit 203 stores template information about the reference of the target object 5 in advance. The reference is, for example, a non-defective sample of the target object 5 and is in a state where there are no abnormalities such as scratches or missing parts in its appearance. The template information includes a plurality of template image data obtained by the imaging device 11 imaging a reference from each of a plurality of line-of-sight directions, and template position and orientation data for each of the plurality of template images. The plurality of line-of-sight directions are, for example, directions orthogonal to each other and may be six directions orthogonal to each other, or may be five directions excluding the vertical downward direction when the reference is placed on a horizontal surface in a state of normal use. . By removing the vertically lower part, the template image on the bottom side of the reference can be omitted. The template position and orientation data includes information representing the position and orientation of the surface, information representing the relative position and orientation of the reference reference point (origin) and the surface, information representing the position and orientation of the imaging device 11, Information representing the relative position and orientation of the imaging device 11 and the surface.

なお、撮像装置11と面との相対的な位置および姿勢を表す情報は、あらかじめ記憶しておくのではなく、例えば一致度評価部204が、面の位置および姿勢を表す情報と撮像装置11の位置および姿勢を表す情報とから計算して求めるようにしてもよい。また、同様に、リファレンスの基準点(原点)と面との相対的な位置および姿勢を表す情報も計算して求めるようにしてもよい。   Note that the information indicating the relative position and orientation between the imaging device 11 and the surface is not stored in advance. For example, the coincidence evaluation unit 204 determines that the information indicating the position and orientation of the surface and the imaging device 11 You may make it obtain | require by calculating from the information showing a position and an attitude | position. Similarly, information indicating the relative position and orientation between the reference reference point (origin) and the surface may be calculated and obtained.

テンプレート位置姿勢データについて詳しく説明する。
図4は、一面分のテンプレート位置姿勢データを表す概念図である。図4は、互いに直交する6方向のうち1方向(上方側)から対象物体5のリファレンスを撮像する場合を示している。
図4において、Σは、基準座標系であるロボット座標系(XYZ座標系)を表す。Pは、第1のテンプレート画像に対応する第1の面を示す。ΣC1は、第1の面Pを撮像する場合の、撮像装置11のカメラ座標系(XC1C1C1座標系)を表す。カメラ座標系ΣC1の原点O(オー)C1は、第1の面Pを撮像する撮像装置11の光軸に貫かれる点である。ΣObjは、リファレンスに対して設けたオブジェクト座標系(XObjObjObj座標系)を表す。例えば、ΣObjは、リファレンスの一つの角(頂点)に原点O(オー)Objを一致させて設けられる。ΣS1は、第1の面Pに原点O(オー)S1が含まれるように設けられた座標系(XS1S1S1座標系)を表す。
The template position / orientation data will be described in detail.
FIG. 4 is a conceptual diagram showing template position and orientation data for one surface. FIG. 4 shows a case where the reference of the target object 5 is imaged from one direction (upper side) of six directions orthogonal to each other.
In FIG. 4, Σ represents a robot coordinate system (XYZ coordinate system) which is a reference coordinate system. P 1 indicates a first surface corresponding to the first template image. Sigma C1 is the case of capturing a first surface P 1, representing the camera coordinate system of the imaging device 11 (X C1 Y C1 Z C1 coordinate system). Origin O (O) C1 of the camera coordinate system sigma C1 is that penetrated to the optical axis of the imaging device 11 for imaging the first plane P 1. Σ Obj represents an object coordinate system (X Obj Y Obj Z Obj coordinate system) provided for the reference. For example, ΣObj is provided by making the origin O (O) Obj coincide with one corner (vertex) of the reference. Sigma S1 represents the first surface P 1 origin O (O) S1 coordinate system provided to include a (X S1 Y S1 Z S1 coordinate system).

また、図4において、t(ボールド体)S1およびR(ボールド体)S1は、ロボット座標系Σの原点Oから第1の面Pの座標系ΣS1の原点OS1に対する並進ベクトルおよび回転行列である。なお、“(ボールド体)”との記載は、その直前の文字がボールド体で表されることを示し、その文字がベクトルまたは行列であることを意味する。Δt(ボールド体)S1ObjおよびΔR(ボールド体)S1Objは、座標系ΣS1の原点OS1からオブジェクト座標系ΣObjの原点OObjに対する並進ベクトルおよび回転行列である。t(ボールド体)C1およびR(ボールド体)C1は、ロボット座標系Σの原点Oからカメラ座標系ΣC1の原点OC1に対する並進ベクトルおよび回転行列である。Δt(ボールド体)C1S1およびΔR(ボールド体)C1S1は、カメラ座標系ΣC1の原点OC1から座標系ΣS1の原点OS1に対する並進ベクトルおよび回転行列である。 Further, in FIG. 4, t (bold) S1 and R (bold) S1 is a translation vector and the rotation matrix from the origin O of the robot coordinate system sigma with respect to the origin O S1 of the first surface P 1 of the coordinate system sigma S1 It is. Note that the description “(bold)” indicates that the character immediately before it is expressed in bold, and that the character is a vector or a matrix. Delta] t (bold) S1Obj and [Delta] R (bold) S1Obj is a translation vector and the rotation matrix with respect to the origin O Obj of the object coordinate system sigma Obj from the origin O S1 of the coordinate system sigma S1. t (bold) C1 and R (bold) C1 is a translation vector and the rotation matrix from the origin O of the robot coordinate system sigma with respect to the origin O C1 of the camera coordinate system sigma C1. Delta] t (bold) C1S1 and [Delta] R (bold) C1S1 is a translation vector and the rotation matrix from the origin O C1 of the camera coordinate system sigma C1 with respect to the origin O S1 of the coordinate system sigma S1.

テンプレート情報記憶部203は、例えば6面分のテンプレート情報を記憶する場合、6面分のテンプレート画像データとテンプレート位置姿勢データとを記憶する。具体的には、テンプレート情報記憶部203は、面P(添字nは、6以下の正整数。以下同様。)に対応する第nのテンプレート画像データを記憶する。また、テンプレート情報記憶部203は、面の位置および姿勢を表す情報として、並進ベクトルt(ボールド体)Snおよび回転行列R(ボールド体)Snを記憶する。また、テンプレート情報記憶部203は、リファレンスの基準点(原点)と面との相対的な位置および姿勢を表す情報として、並進ベクトルΔt(ボールド体)SnObjおよび回転行列ΔR(ボールド体)SnObjを記憶する。また、テンプレート情報記憶部203は、撮像装置11の位置および姿勢を表す情報として、並進ベクトルt(ボールド体)Cnおよび回転行列R(ボールド体)Cnを記憶する。また、テンプレート情報記憶部203は、撮像装置11と面との相対的な位置および姿勢を表す情報として、並進ベクトルΔt(ボールド体)CnSnおよび回転行列ΔR(ボールド体)CnSnを記憶する。 For example, when storing template information for six surfaces, the template information storage unit 203 stores template image data and template position and orientation data for six surfaces. Specifically, the template information storage unit 203 stores n-th template image data corresponding to the plane P n (the subscript n is a positive integer of 6 or less, the same applies hereinafter). Further, the template information storage unit 203 stores a translation vector t (bold body) Sn and a rotation matrix R (bold body) Sn as information representing the position and orientation of the surface. Further, the template information storage unit 203 stores a translation vector Δt (bold body) SnObj and a rotation matrix ΔR (bold body) SnObj as information representing the relative position and orientation of the reference reference point (origin) and the surface. To do. The template information storage unit 203 stores a translation vector t (bold body) Cn and a rotation matrix R (bold body) Cn as information representing the position and orientation of the imaging device 11. The template information storage unit 203 stores a translation vector Δt (bold body) CnSn and a rotation matrix ΔR (bold body) CnSn as information representing the relative position and orientation between the imaging device 11 and the surface.

図3の説明に戻り、一致度評価部204は、画像データ記憶部202に記憶された画像データと、テンプレート情報記憶部203に記憶された全てのテンプレート画像データ(例えば、第1の面Pから第6の面Pまでに対応する第1〜第6のテンプレート画像データ)とについて、テンプレート画像データごとに、当該テンプレート画像データにおける視線方向を画像データにおける視線方向に変更した画像である変換画像データを生成し、画像データと変換画像データとの一致度を計算して所定基準により評価する。変換画像データは、一致度評価部204がテンプレート画像データにホモグラフィー行列を掛け合わせる演算処理を行うことによって得られる。一致度は、一致度評価部204が画像データと変換画像データとの画像マッチング処理(パターンマッチング処理)を行うことにより得られる。この一致度は、例えば、画像データと変換画像データとの輝度差の絶対値の総和や輝度差の2乗和である。 Returning to the description of FIG. 3, the matching degree evaluation unit 204 and the image data stored in the image data storage unit 202 and all the template image data stored in the template information storage unit 203 (for example, the first surface P 1). To 6th plane image P6) to 6th plane P6) for each template image data, conversion that is an image obtained by changing the line-of-sight direction in the template image data to the line-of-sight direction in the image data Image data is generated, the degree of coincidence between the image data and the converted image data is calculated and evaluated according to a predetermined criterion. The converted image data is obtained when the matching degree evaluation unit 204 performs a calculation process of multiplying the template image data by the homography matrix. The degree of coincidence is obtained when the coincidence degree evaluation unit 204 performs image matching processing (pattern matching processing) between the image data and the converted image data. The degree of coincidence is, for example, the sum of absolute values of luminance differences between image data and converted image data or the square sum of luminance differences.

一致度評価部204は、一致度が閾値を超える場合に、変換画像データが有効であるとの評価結果を出力し、一致度が閾値以下である場合に、変換画像データが無効であるとの評価結果を出力する。有効および無効は、例えば、面の可視および非可視を示す。例えば、一致度評価部204は、一致度の評価結果を有効フラグの状態により表す。具体的には、一致度評価部204は、例えば、変換画像データが有効であるとの評価結果を有効フラグ=“ON”(“1”)により表し、変換画像データが無効であるとの評価結果を有効フラグ=“OFF”(“0”)により表す。
一致度評価部204は、全てのテンプレート画像データについての一致度の評価結果と後述する各種関連情報とを格納した対応テーブルを生成して対応テーブル記憶部205に記憶させる。
The coincidence degree evaluation unit 204 outputs an evaluation result that the converted image data is valid when the coincidence degree exceeds the threshold value, and that the converted image data is invalid when the coincidence degree is equal to or less than the threshold value. Output the evaluation results. Valid and invalid indicate, for example, whether the surface is visible or invisible. For example, the coincidence degree evaluation unit 204 represents the coincidence degree evaluation result by the state of the valid flag. Specifically, the coincidence degree evaluation unit 204 represents, for example, an evaluation result that the converted image data is valid by an effective flag = “ON” (“1”), and an evaluation that the converted image data is invalid. The result is represented by a valid flag = “OFF” (“0”).
The coincidence degree evaluation unit 204 generates a correspondence table storing coincidence degree evaluation results for all template image data and various related information described later, and stores the correspondence table in the correspondence table storage unit 205.

ここで、ホモグラフィー行列について説明する。三次元空間における撮像装置の座標系をFとし、この撮像装置が任意の点Aを撮像して得る画像における点Aの像をp(ボールド体)=[u 1]とする。前記の撮像装置を移動し、その移動先における撮像装置の座標系をFとし、この撮像装置が前記の点Aを撮像して得る画像における点Aの像をp(ボールド体)=[u v 1]とする。また、FとFとの相対距離を表す並進ベクトルをt(ボールド体)とし、姿勢変化を表す回転行列をR(ボールド体)とする。 Here, the homography matrix will be described. The coordinate system of the imaging device in the three-dimensional space is F *, and the image of the point A in the image obtained by imaging the arbitrary point A by this imaging device is p (bold body) * = [u * v * 1] T To do. An image of the point A in an image obtained by moving the image pickup device and imaging the point A by the image pickup device at the movement destination is F (bold body) = [u v 1] T. Also, a translation vector representing the relative distance between F * and F is t (bold body), and a rotation matrix representing the posture change is R (bold body).

点Aが平面π上に存在するとき、点p(ボールド体)と点p(ボールド体)との関係を表す式として下記の式(1)が成立する場合を考える。ただし、sは、点Aと2つの座標系FとFとの距離の割合で決まる値である。G(ボールド体)は、ホモグラフィー行列である。 Consider a case where the following expression (1) is established as an expression representing the relationship between the point p (bold body) * and the point p (bold body) when the point A exists on the plane π. However, s is a value determined by the ratio of the distance between the point A and the two coordinate systems F * and F. G (bold) is a homography matrix.

Figure 0005699697
Figure 0005699697

ホモグラフィー行列G(ボールド体)は、3行3列の行列であり、下記の式(2)のように表される。   The homography matrix G (bold body) is a matrix of 3 rows and 3 columns, and is represented by the following formula (2).

Figure 0005699697
Figure 0005699697

また、ホモグラフィー行列G(ボールド体)は、下記の式(3)のように表すことができる。ただし、dは、撮像装置と平面πとの間の距離、n(ボールド体)は、平面πの法線ベクトルである。   In addition, the homography matrix G (bold body) can be expressed as the following equation (3). Here, d is a distance between the imaging device and the plane π, and n (bold body) is a normal vector of the plane π.

Figure 0005699697
Figure 0005699697

ホモグラフィー行列G(ボールド体)を推定することができれば、並進ベクトルt(ボールド体)、回転行列R(ボールド体)、平面πの法線ベクトルn(ボールド体)、および撮像装置と平面πとの間の距離dを計算することができる。   If the homography matrix G (bold body) can be estimated, the translation vector t (bold body), the rotation matrix R (bold body), the normal vector n (bold body) of the plane π, and the imaging device and the plane π The distance d between can be calculated.

平面π上に存在する全ての点における、各点の撮像画像への投影点の座標の組を、式(1)を用いて表すと以下のようになる。まず、値sを下記の式(4)のように定義する。   A set of coordinates of projection points on the captured image of each point at all points existing on the plane π is expressed as follows using Expression (1). First, the value s is defined as the following formula (4).

Figure 0005699697
Figure 0005699697

式(1)および式(4)により、下記の式(5)が成立する。ただし、w(ボールド体)は、ホモグラフィー行列G(ボールド体)の関数であり、透視投影変換行列である。この透視投影変換行列を用いて点p(ボールド体)を対応する点p(ボールド体)に変換することを、透視投影変換と呼ぶ。 The following equation (5) is established by the equations (1) and (4). However, w (bold body) is a function of the homography matrix G (bold body) and is a perspective projection transformation matrix. Converting the point p (bold body) * to the corresponding point p (bold body) using this perspective projection transformation matrix is called perspective projection transformation.

Figure 0005699697
Figure 0005699697

式(5)によれば、平面π上に存在する点については、その平面πのホモグラフィー行列が既知であれば、一方の撮像画像上の点に対して他方の撮像画像上の対応する点を一意に求めることができる。
したがって、ホモグラフィー行列を求めることにより、元画像に対して、注目画像がどれだけ並進し、またどれだけ回転しているかを求めること、言い換えると、注目領域のトラッキングを行うことができる。
According to Equation (5), for a point existing on the plane π, if the homography matrix of the plane π is known, a point on the other captured image corresponds to a point on the other captured image. Can be obtained uniquely.
Therefore, by obtaining the homography matrix, it is possible to obtain how much the image of interest is translated and how much it is rotated with respect to the original image, in other words, the region of interest can be tracked.

次に、一致度評価部204が生成する対応テーブルについて説明する。
図5は、対応テーブルのデータ構成を表す図である。図5に示すように、対応テーブルは、「テンプレート画像番号」と、「有効フラグ」と、「マッチング開始位置」と、「ホモグラフィー行列要素」との各項目を対応付けたデータテーブルである。「テンプレート画像番号」は、テンプレート情報記憶部203に記憶されたテンプレート画像データを識別する情報の項目である。「有効フラグ」は、一致度の評価結果の項目である。“ON”(“1”)は、変換画像データが有効であるとの評価結果であり、“OFF”(“0”)は、変換画像データが無効であるとの評価結果である。「マッチング開始位置」は、一致度評価部204が一致度を評価したときの、画像データ上の画像マッチングの開始位置の項目である。この開始位置は、具体的には座標値であり、例えば、マッチングさせる変換画像データの左上端の位置に対応する画像データの座標値である。「ホモグラフィー行列要素」は、一致度評価部204が一致度を評価したときの、ホモグラフィー行列の要素の項目である。
Next, the correspondence table generated by the matching score evaluation unit 204 will be described.
FIG. 5 is a diagram illustrating a data configuration of the correspondence table. As shown in FIG. 5, the correspondence table is a data table in which the items “template image number”, “valid flag”, “matching start position”, and “homography matrix element” are associated with each other. The “template image number” is an item of information for identifying template image data stored in the template information storage unit 203. The “valid flag” is an item of the evaluation result of coincidence. “ON” (“1”) is an evaluation result that the converted image data is valid, and “OFF” (“0”) is an evaluation result that the converted image data is invalid. The “matching start position” is an item of the image matching start position on the image data when the coincidence evaluation unit 204 evaluates the coincidence. This start position is specifically a coordinate value, for example, the coordinate value of image data corresponding to the position of the upper left end of the converted image data to be matched. The “homography matrix element” is an item of the element of the homography matrix when the coincidence evaluation unit 204 evaluates the coincidence.

図3の説明に戻り、対応テーブル記憶部205は、一致度評価部204が新規に生成、または更新した対応テーブルを記憶する。   Returning to the description of FIG. 3, the correspondence table storage unit 205 stores the correspondence table newly generated or updated by the matching degree evaluation unit 204.

位置姿勢計算部206は、画像データにおける有効な面の中から信頼性が最も高い一面を検出し、この面に基づき対象物体5の位置および姿勢を求めて位置姿勢データとし、この位置姿勢データを検査装置30に供給する。具体的には、位置姿勢計算部206は、画像データ記憶部202から画像データを読み込み、対応テーブル記憶部205から対応テーブルを読み込み、テンプレート情報記憶部203からテンプレート位置姿勢データを読み込む。そして、位置姿勢計算部206は、変換画像データが有効であるとの評価結果を示すテンプレート画像データごとに、画像データと変換画像データとの類似度を計算し、最も高い類似度となる面とホモグラフィー行列とを選択する。類似度は、位置姿勢計算部206が例えば正規化相互相関(Normalized Cross−Correlation)を計算することによって得られる。   The position / orientation calculation unit 206 detects one surface having the highest reliability from the effective surfaces in the image data, obtains the position and orientation of the target object 5 based on this surface, and obtains the position / orientation data. Supply to the inspection device 30. Specifically, the position / orientation calculation unit 206 reads image data from the image data storage unit 202, reads a correspondence table from the correspondence table storage unit 205, and reads template position / orientation data from the template information storage unit 203. Then, the position / orientation calculation unit 206 calculates the similarity between the image data and the converted image data for each template image data indicating the evaluation result that the converted image data is valid. Select a homography matrix. The degree of similarity is obtained by the position / orientation calculation unit 206 calculating, for example, normalized cross-correlation.

なお、位置姿勢計算部206は、正規化相互相関以外にも、SSD(Sum of Squared Difference)やSAD(Sum of Absolute Difference)等を計算することによって類似度を求めてもよい。   Note that the position / orientation calculation unit 206 may obtain the similarity by calculating SSD (Sum of Squared Difference) or SAD (Sum of Absolute Difference) in addition to the normalized cross-correlation.

位置姿勢計算部206は、選択したホモグラフィー行列に基づいて、選択した面に対応する座標系の原点から変換画像の座標系の原点に対する並進ベクトルおよび回転行列を計算する。具体的には、位置姿勢計算部206は、選択したホモグラフィー行列を特異値分解することによって並進ベクトルおよび回転行列を得る。また、位置姿勢計算部206は、撮像装置11の現在の位置および姿勢の情報(並進ベクトルおよび回転行列)を、例えばロボット本体12またはロボット制御装置40から取得する。そして、位置姿勢計算部206は、ロボット座標系の原点から変換画像の座標系の原点に対する並進ベクトルおよび回転行列を計算し、さらにこれら計算した並進ベクトルおよび回転行列に基づいて、ロボット座標系の原点から対象物体5の原点に対する並進ベクトルおよび回転行列を計算し、この計算結果を位置姿勢データとして検査装置30に供給する。ここでの計算の方法については後述する。   The position / orientation calculation unit 206 calculates a translation vector and a rotation matrix from the origin of the coordinate system corresponding to the selected surface to the origin of the coordinate system of the converted image based on the selected homography matrix. Specifically, the position / orientation calculation unit 206 obtains a translation vector and a rotation matrix by performing singular value decomposition on the selected homography matrix. In addition, the position / orientation calculation unit 206 acquires information (translation vector and rotation matrix) on the current position and orientation of the imaging device 11 from, for example, the robot body 12 or the robot control device 40. Then, the position / orientation calculation unit 206 calculates a translation vector and a rotation matrix with respect to the origin of the coordinate system of the converted image from the origin of the robot coordinate system, and further, based on the calculated translation vector and rotation matrix, the origin of the robot coordinate system Then, a translation vector and a rotation matrix with respect to the origin of the target object 5 are calculated, and the calculation result is supplied to the inspection apparatus 30 as position and orientation data. The calculation method here will be described later.

位置姿勢検出装置20において、画像データ記憶部202と、テンプレート情報記憶部203と、対応テーブル記憶部205とは、例えば、半導体記憶装置もしくは磁気ハードディスク装置またはこれらの組み合わせにより実現される。   In the position / orientation detection apparatus 20, the image data storage unit 202, the template information storage unit 203, and the correspondence table storage unit 205 are realized by, for example, a semiconductor storage device, a magnetic hard disk device, or a combination thereof.

次に、本実施形態における検査システム1の動作を説明する。
図6は、検査システム1の外観検査処理の手順を表すフローチャートである。図6のフローチャートの処理を開始する前に、検査システム1の検査装置30は、位置姿勢検出装置20から位置姿勢データを取得するために、撮像装置11に対して静止画撮影要求信号を送信する。
まず、ステップS1において、位置姿勢検出装置20は、対象物体の位置および姿勢の検出処理を実行し、ロボット座標系における対象物体5の位置および姿勢を表す位置姿勢データを生成し、この位置姿勢データを検査装置30に供給する。この対象物体の位置および姿勢の検出処理の詳細については後述する。
Next, operation | movement of the test | inspection system 1 in this embodiment is demonstrated.
FIG. 6 is a flowchart showing the procedure of the appearance inspection process of the inspection system 1. Before starting the processing of the flowchart of FIG. 6, the inspection device 30 of the inspection system 1 transmits a still image shooting request signal to the imaging device 11 in order to acquire position / orientation data from the position / orientation detection device 20. .
First, in step S1, the position / orientation detection apparatus 20 executes position and orientation detection processing of the target object, generates position and orientation data representing the position and orientation of the target object 5 in the robot coordinate system, and this position and orientation data. Is supplied to the inspection device 30. Details of the detection processing of the position and orientation of the target object will be described later.

次に、ステップS2において、検査装置30は、位置姿勢検出装置20から供給された位置姿勢データを取り込んで記憶する。
次に、検査装置30は、例えば、オペレーターによる操作によって撮像装置11の撮影の位置および姿勢の入力を受け付け、その位置および姿勢を指定する内容のロボット制御コマンドを生成し、このロボット制御コマンドをロボット制御部40に供給する。
次に、ロボット制御部40は、検査装置30から供給されたロボット制御コマンドを取り込み、このロボット制御コマンドにしたがってロボット本体12の動作を制御する。これによって、撮像装置11は、オペレーターが指定した位置および姿勢に設定される。
Next, in step S <b> 2, the inspection apparatus 30 captures and stores the position / orientation data supplied from the position / orientation detection apparatus 20.
Next, for example, the inspection apparatus 30 receives an input of a shooting position and orientation of the imaging apparatus 11 by an operation by an operator, generates a robot control command having contents for specifying the position and orientation, and uses the robot control command as a robot. This is supplied to the control unit 40.
Next, the robot control unit 40 takes in the robot control command supplied from the inspection apparatus 30 and controls the operation of the robot body 12 in accordance with the robot control command. Thereby, the imaging device 11 is set to the position and posture specified by the operator.

次に、ステップS3において、検査装置30は、外観検査処理を実行するために、撮像装置11に対して動画撮影開始要求信号を送信する。
次に、検査装置30は、撮像装置11から供給される動画像の画像データを順次または複数フレームおきに取り込む。
次に、ステップS4において、検査装置30は、テンプレートマッチング処理を実行することによって画像データから対象物体5を検出して外観検査を行う。
次に、検査装置30は、撮像装置11に対して動画撮影停止要求信号を送信する。そして、動画撮影停止要求信号を受信した撮像装置11は、撮像動作を停止する。
Next, in step S <b> 3, the inspection device 30 transmits a moving image shooting start request signal to the imaging device 11 in order to execute an appearance inspection process.
Next, the inspection device 30 takes in the image data of the moving image supplied from the imaging device 11 sequentially or every several frames.
Next, in step S4, the inspection device 30 performs the appearance inspection by detecting the target object 5 from the image data by executing a template matching process.
Next, the inspection device 30 transmits a moving image shooting stop request signal to the imaging device 11. And the imaging device 11 which received the moving image shooting stop request signal stops the shooting operation.

次に、位置姿勢検出装置20が実行する対象物体の位置および姿勢の検出処理について説明する。
図7〜図9は、位置姿勢検出装置20が実行する対象物体の位置および姿勢の検出処理の手順を表すフローチャートである。
まず、図7のステップS101において、画像データ取得部201は、ロボット10の撮像装置11から供給される静止画像の画像データを取り込み、この画像データを画像データ記憶部202に記憶させる。
次に、ステップS102において、一致度評価部204は、画像データ記憶部202から画像データを読み込み、テンプレート情報記憶部203から一面のテンプレート画像データを読み込む。
Next, the position and orientation detection processing of the target object executed by the position and orientation detection apparatus 20 will be described.
FIG. 7 to FIG. 9 are flowcharts illustrating the procedure of the target object position and orientation detection processing executed by the position and orientation detection apparatus 20.
First, in step S <b> 101 of FIG. 7, the image data acquisition unit 201 takes in image data of a still image supplied from the imaging device 11 of the robot 10 and stores the image data in the image data storage unit 202.
Next, in step S <b> 102, the coincidence degree evaluation unit 204 reads image data from the image data storage unit 202, and reads one page of template image data from the template information storage unit 203.

次に、ステップS103において、一致度評価部204は、ホモグラフィー行列の要素に初期値を設定する。ここでの初期値は、並進の範囲および回転の範囲それぞれにおける下限または上限を示す値である。
次に、ステップS104において、一致度評価部204は、テンプレート画像データを射影変換して変換画像データを生成する。具体的には、一致度評価部204は、テンプレート画像データにホモグラフィー行列を掛け合わせる演算を行なって変換画像データを生成する。
Next, in step S103, the degree-of-match evaluation unit 204 sets initial values for the elements of the homography matrix. The initial value here is a value indicating a lower limit or an upper limit in each of the translation range and the rotation range.
Next, in step S104, the coincidence degree evaluation unit 204 performs projective transformation on the template image data to generate converted image data. Specifically, the degree-of-matching evaluation unit 204 performs an operation of multiplying the template image data by the homography matrix to generate converted image data.

次に、ステップS105において、一致度評価部204は、画像データと変換画像データとの画像マッチング処理についての画像データ上の開始位置に初期値を設定する。例えば、一致度評価部204は、画像データの左上の座標値を開始位置に設定する。
次に、ステップS106において、一致度評価部204は、画像データと変換画像データとの画像マッチング処理を行って一致度を計算する。一致度評価部204は、例えば、画像データと変換画像データとの輝度差の絶対値の総和または輝度差の2乗和を計算し、この値を一致度とする。
In step S105, the coincidence degree evaluation unit 204 sets an initial value at the start position on the image data for the image matching process between the image data and the converted image data. For example, the coincidence degree evaluation unit 204 sets the upper left coordinate value of the image data as the start position.
Next, in step S106, the coincidence degree evaluation unit 204 performs image matching processing between the image data and the converted image data to calculate the coincidence degree. The coincidence degree evaluation unit 204 calculates, for example, the sum of absolute values of luminance differences or the square sum of luminance differences between the image data and the converted image data, and uses this value as the degree of coincidence.

次に、図8のステップS107において、一致度が閾値を超える場合(S107:YES)はステップS108の処理に移り、一致度が閾値以下である場合(S107:NO)はステップS110の処理に移る。   Next, in step S107 of FIG. 8, when the degree of coincidence exceeds the threshold (S107: YES), the process proceeds to step S108, and when the degree of coincidence is equal to or less than the threshold (S107: NO), the process proceeds to step S110. .

ステップS107:YESに続くステップS108において、一致度評価部204は、有効フラグ=“ON”と、画像マッチングの開始位置と、ホモグラフィー行列の要素とを、当該テンプレート画像データのテンプレート画像番号に対応させて対応テーブルに格納し、この対応テーブルを対応テーブル記憶部205に記憶させる。なお、対応テーブル記憶部205に対応テーブルがすでに記憶されている場合は、一致度評価部204は、対応テーブルにデータを追加する。   Step S107: In step S108 following YES, the matching score evaluation unit 204 associates the valid flag = “ON”, the image matching start position, and the element of the homography matrix with the template image number of the template image data. And stored in the correspondence table, and this correspondence table is stored in the correspondence table storage unit 205. When the correspondence table is already stored in the correspondence table storage unit 205, the matching degree evaluation unit 204 adds data to the correspondence table.

ステップS108またはステップS112に続くステップS109において、他のテンプレート画像データがある場合(S109:YES)はステップS102の処理に戻り、他のテンプレート画像データがない場合(S109:NO)はステップS115の処理に移る。   In step S109 following step S108 or step S112, if there is other template image data (S109: YES), the process returns to step S102, and if there is no other template image data (S109: NO), the process of step S115. Move on.

ステップS107:NOに続くステップS110において、画像データにおける画像全体のトラッキングが完了した場合(S110:YES)はステップS111の処理に移り、未完了である場合(S110:NO)はステップS113の処理に移る。   In step S110 following step S107: NO, if the tracking of the entire image in the image data is completed (S110: YES), the process proceeds to step S111. If not completed (S110: NO), the process proceeds to step S113. Move.

ステップS110:YESに続くステップS111において、ホモグラフィー行列の要素が回転の範囲および並進の範囲それぞれにおける限度値に達している場合(S111:YES)はステップS112の処理に移り、限度値に達していない場合(S111:NO)はステップS114の処理に移る。   In step S111 following step S110: YES, when the elements of the homography matrix have reached the limit values in the range of rotation and the range of translation (S111: YES), the process proceeds to step S112, and the limit value has been reached. If not (S111: NO), the process proceeds to step S114.

ステップS111:YESに続くステップS112において、一致度評価部204は、有効フラグ=“OFF”を当該テンプレート画像データのテンプレート画像番号に対応させて対応テーブルに格納し、この対応テーブルを対応テーブル記憶部205に記憶させる。なお、対応テーブル記憶部205に対応テーブルがすでに記憶されている場合は、一致度評価部204は、対応テーブルにデータを追加する。
次に、ステップS109の処理に移る。
In step S112 following step S111: YES, the matching score evaluation unit 204 stores the valid flag = “OFF” in the correspondence table in association with the template image number of the template image data, and this correspondence table is stored in the correspondence table storage unit. 205 stores the result. When the correspondence table is already stored in the correspondence table storage unit 205, the matching degree evaluation unit 204 adds data to the correspondence table.
Next, the process proceeds to step S109.

ステップS110:NOに続くステップS113において、一致度評価部204は、画像データと変換画像データとの画像マッチング処理についての画像データ上の開始位置を変更する。例えば、一致度評価部204は、開始位置を画像の水平方向および垂直方向またはいずれか一方向に一画素分または複数画素数分ずらす。
次に、ステップS106の処理に戻る。
Step S110: In step S113 following NO, the coincidence degree evaluation unit 204 changes the start position on the image data for the image matching process between the image data and the converted image data. For example, the coincidence degree evaluation unit 204 shifts the start position by one pixel or a plurality of pixels in the horizontal direction and / or vertical direction of the image.
Next, the process returns to step S106.

ステップS111:NOに続くステップS114において、一致度評価部204は、ホモグラフィー行列の要素を変更する。例えば、一致度評価部204は、回転の範囲内および並進の範囲内において回転成分および並進成分が所定ステップ分変更されるよう、ホモグラフィー行列の要素を変更する。
次に、ステップS104の処理に戻る。
In step S114 following step S111: NO, the coincidence degree evaluation unit 204 changes the element of the homography matrix. For example, the coincidence degree evaluation unit 204 changes the elements of the homography matrix so that the rotation component and the translation component are changed by a predetermined step within the rotation range and the translation range.
Next, the process returns to step S104.

ステップS109:NOに続く図9のステップS115において、位置姿勢計算部206は、画像データ記憶部202から画像データを読み込み、対応テーブル記憶部205から対応テーブルを読み込み、テンプレート情報記憶部203からテンプレート情報を読み込む。
次に、位置姿勢計算部206は、変換画像データが有効であるとの評価結果を示すテンプレート画像データ、すなわち、有効フラグが“ON”であるテンプレート画像データごとに、画像データと変換画像データとの類似度を計算する。ただし、変換画像データは、位置姿勢計算部206が当該テンプレート画像データにホモグラフィー行列を掛け合わせる演算を行うことによって得られる。位置姿勢計算部206は、画像データと変換画像データとの類似度を、例えば正規化相互相関を計算することにより得る。
In step S115 of FIG. 9 following step S109: NO, the position / orientation calculation unit 206 reads image data from the image data storage unit 202, reads a correspondence table from the correspondence table storage unit 205, and template information from the template information storage unit 203. Is read.
Next, the position / orientation calculation unit 206 calculates the image data, the converted image data, and the template image data indicating the evaluation result that the converted image data is valid, that is, for each template image data whose valid flag is “ON”. Calculate the similarity of. However, the converted image data is obtained by the position / orientation calculation unit 206 performing an operation of multiplying the template image data by the homography matrix. The position / orientation calculation unit 206 obtains the similarity between the image data and the converted image data by, for example, calculating a normalized cross-correlation.

次に、ステップS116において、位置姿勢計算部206は、最も高い類似度となる面とホモグラフィー行列とを選択する。   Next, in step S116, the position / orientation calculation unit 206 selects a surface and a homography matrix having the highest similarity.

次に、ステップS117において、位置姿勢計算部206は、選択したホモグラフィー行列に基づいて、選択した面に対応する座標系の原点から変換画像の座標系の原点に対する、並進ベクトルおよび回転行列を計算する。具体的には、位置姿勢計算部206は、ホモグラフィー行列を特異値分解して並進ベクトルおよび回転行列を得る。
次に、位置姿勢計算部206は、撮像装置11の現在の位置および姿勢の情報(並進ベクトルおよび回転行列)を、例えばロボット本体12またはロボット制御装置40から取得する。
Next, in step S117, the position / orientation calculation unit 206 calculates a translation vector and a rotation matrix from the origin of the coordinate system corresponding to the selected surface to the origin of the coordinate system of the converted image based on the selected homography matrix. To do. Specifically, the position / orientation calculation unit 206 obtains a translation vector and a rotation matrix by performing singular value decomposition on the homography matrix.
Next, the position / orientation calculation unit 206 acquires information on the current position and orientation of the imaging device 11 (translation vector and rotation matrix) from the robot body 12 or the robot control device 40, for example.

次に、ステップS118において、位置姿勢計算部206は、ロボット座標系の原点から変換画像の座標系の原点に対する、並進ベクトルおよび回転行列を計算し、さらに、これら計算した並進ベクトルおよび回転行列に基づいて、ロボット座標系の原点から対象物体5の基準点(原点)に対する並進ベクトルおよび回転行列を計算し、この計算結果を位置姿勢データとして検査装置30に供給する。   In step S118, the position / orientation calculation unit 206 calculates a translation vector and a rotation matrix from the origin of the robot coordinate system to the origin of the coordinate system of the converted image, and further, based on the calculated translation vector and rotation matrix. Then, a translation vector and a rotation matrix with respect to the reference point (origin) of the target object 5 are calculated from the origin of the robot coordinate system, and the calculation result is supplied to the inspection apparatus 30 as position and orientation data.

図10は、位置姿勢計算部206によるステップS117およびステップS118の処理の内容を模式的に表した図である。図10は、位置姿勢計算部206によって選択された最も高い類似度となる面が第1の面Pである場合の図である。図10において、Δt(ボールド体)S1およびΔR(ボールド体)S1は、ステップS117の処理において、位置姿勢計算部206によりホモグラフィー行列を特異値分解して得られた、第1の面Pの座標系の原点から変換画像の座標系ΣS1の原点OS1に対する並進ベクトルおよび回転行列である。t(ボールド体)およびR(ボールド体)は、ロボット座標系Σの原点Oから現在のカメラ座標系Σの原点O(オー)に対する並進ベクトルおよび回転行列である。t(ボールド体)S1およびR(ボールド体)S1は、ロボット座標系Σの原点Oから変換画像の座標系ΣS1の原点OS1に対する並進ベクトルおよび回転行列である。Δt(ボールド体)C1S1およびΔR(ボールド体)C1S1は、テンプレート画像を取得したときのカメラ座標系ΣC1の原点OC1から第1の面Pの座標系Σの原点に対する並進ベクトルおよび回転行列である。t(ボールド体)ObjおよびR(ボールド体)Objは、ロボット座標系Σの原点Oから対象物体5の座標系ΣObjの原点OObjに対する並進ベクトルおよび回転行列であり、ステップS118の処理において位置姿勢計算部206が算出した位置姿勢データである。 FIG. 10 is a diagram schematically showing the contents of the processing of step S117 and step S118 by the position / orientation calculation unit 206. Figure 10 is a diagram showing a case surface to be the highest degree of similarity selected by the position and orientation calculation unit 206 is the first surface P 1. In FIG. 10, Δt (bold body) S1 and ΔR (bold body) S1 are first surfaces P 1 obtained by performing singular value decomposition of the homography matrix by the position and orientation calculation unit 206 in the process of step S117. Is a translation vector and a rotation matrix from the origin of the coordinate system to the origin O S1 of the coordinate system Σ S1 of the transformed image. t (bold) C and R (bold) C is a translation vector and the rotation matrix with respect to the origin O (O) C of the current camera coordinate system sigma C from the origin O of the robot coordinate system sigma. t (bold) S1 and R (bold) S1 is a translation vector and the rotation matrix with respect to the origin O S1 of the coordinate system sigma S1 converted image from the origin O of the robot coordinate system sigma. Δt (bold body) C1S1 and ΔR (bold body) C1S1 are a translation vector and a rotation matrix from the origin O C1 of the camera coordinate system Σ C1 to the origin of the coordinate system Σ of the first plane P 1 when the template image is acquired. It is. t (bold) Obj and R (bold) Obj is a translation vector and the rotation matrix with respect to the origin O Obj of the coordinate system sigma Obj of the object 5 from the origin O of the robot coordinate system sigma, the position in the process of step S118 This is the position and orientation data calculated by the orientation calculation unit 206.

図10に示すように、位置姿勢計算部206は、並進ベクトルt(ボールド体)Smおよび回転行列R(ボールド体)Sm(ただし、添字mは、最も類似度が高い面を示す。以下同様。)を、下記の式(6)により計算する。 As shown in FIG. 10, the position / orientation calculation unit 206 includes a translation vector t (bold body) Sm and a rotation matrix R (bold body) Sm (where the subscript m indicates the surface with the highest degree of similarity. The same applies hereinafter). ) Is calculated by the following equation (6).

Figure 0005699697
Figure 0005699697

次に、位置姿勢計算部206は、t(ボールド体)ObjおよびR(ボールド体)Objを、下記の式(7)により計算する。 Next, the position / orientation calculation unit 206 calculates t (bold body) Obj and R (bold body) Obj by the following equation (7).

Figure 0005699697
Figure 0005699697

以上詳述したように、本発明の第1実施形態では、位置姿勢検出装置20は、撮像装置11からの視線方向ごとに、対象物体5のリファレンスを撮像して得たテンプレート画像データと、面の位置および姿勢を表す情報と、リファレンスの基準点(原点)と面との相対的な位置および姿勢を表す情報と、撮像装置11の位置および姿勢を表す情報と、撮像装置11と面との相対的な位置および姿勢を表す情報とを保有するようにした。そして、位置姿勢検出装置20は、撮像装置11から供給される対象物体5の平面画像を含む画像データと全てのテンプレート画像データとに基づいて画像データから有効な面(例えば、可視面)を検出し、さらに有効な面の中から信頼性が最も高い面を検出し、この面に基づいて対象物体の位置および姿勢を求め、位置姿勢データとして検査装置30に供給するようにした。そして、検査装置30は、位置姿勢検出装置20から供給される位置姿勢データを取り込んで、対象物体5のロボット座標系の三次元空間における位置および姿勢を管理するようにした。   As described above in detail, in the first embodiment of the present invention, the position / orientation detection device 20 captures the template image data obtained by imaging the reference of the target object 5 for each line-of-sight direction from the imaging device 11, and the surface. Information indicating the relative position and orientation of the reference reference point (origin) and the surface, information indicating the position and orientation of the imaging device 11, and the imaging device 11 and the surface. Information indicating relative position and posture was retained. The position / orientation detection device 20 detects an effective surface (for example, a visible surface) from the image data based on the image data including the planar image of the target object 5 supplied from the imaging device 11 and all the template image data. Further, the most reliable surface is detected from the effective surfaces, the position and orientation of the target object are obtained based on this surface, and supplied to the inspection apparatus 30 as position and orientation data. The inspection apparatus 30 takes in the position and orientation data supplied from the position and orientation detection apparatus 20 and manages the position and orientation of the target object 5 in the three-dimensional space of the robot coordinate system.

このように構成したことにより、本実施形態によれば、可視面の中で信頼性が最も高い面に基づいて対象物体の位置および姿勢を得るため、平面画像により表現された対象物体の立体空間における位置および姿勢を高精度に検出することができる。
また、本実施形態によれば、可視面のうち代表する一面のみを使用して位置および姿勢を求めるため、計算にかかる負荷は軽い。
With this configuration, according to the present embodiment, in order to obtain the position and orientation of the target object based on the most reliable surface among the visible surfaces, the three-dimensional space of the target object expressed by the planar image The position and orientation at can be detected with high accuracy.
In addition, according to the present embodiment, since the position and orientation are obtained using only one representative surface of the visible surfaces, the calculation load is light.

[第2の実施の形態]
本発明の第2実施形態は、上述した第1実施形態における位置姿勢検出装置20を別形態に変更したものである。
図11は、本発明の第2実施形態であるロボット装置を適用した検査システムの概略の機能構成を表すブロック図である。図11に示すように、検査システム1aは、第1実施形態における検査システム1の位置姿勢検出装置20を位置姿勢検出装置20aに変更した構成を有する。そこで、本実施形態では、第1実施形態と相違する構成である位置姿勢検出装置20aについて具体的に説明し、その他第1実施形態と共通する構成についての説明を省略する。
[Second Embodiment]
In the second embodiment of the present invention, the position / orientation detection apparatus 20 in the first embodiment described above is changed to another form.
FIG. 11 is a block diagram showing a schematic functional configuration of an inspection system to which the robot apparatus according to the second embodiment of the present invention is applied. As shown in FIG. 11, the inspection system 1a has a configuration in which the position / orientation detection device 20 of the inspection system 1 in the first embodiment is changed to a position / orientation detection device 20a. Therefore, in the present embodiment, the position / orientation detection apparatus 20a having a configuration different from that of the first embodiment will be specifically described, and description of other configurations that are common to the first embodiment will be omitted.

本実施形態であるロボット装置は、ロボット10と位置姿勢検出装置20aとを含んで構成される。   The robot apparatus according to the present embodiment includes a robot 10 and a position / orientation detection apparatus 20a.

位置姿勢検出装置20aは、撮像装置11から取得する画像データについて、画像の特徴量に基づくマッチング処理によって対象物体5の各面の位置および姿勢を検出し、この検出結果に基づいて現在の撮像装置11の視点(現視点)から可視である全ての面(可視面)を検出する。そして、位置姿勢検出装置20aは、全ての可視面の中からテンプレート画像との類似度が最も高い面を選択する(以上、第1の位置姿勢検出処理)。そして、位置姿勢検出装置20aは、全ての可視面を用いて合成モデル画像データを生成し、この合成モデル画像データに基づいて三次元空間における対象物体5の位置および姿勢を評価して計算し(第2の位置姿勢検出処理)、その位置姿勢データを検査装置30に供給する。   The position / orientation detection device 20a detects the position and orientation of each surface of the target object 5 from the image data acquired from the imaging device 11 through matching processing based on the feature amount of the image, and based on the detection result, the current imaging device. All surfaces (visible surfaces) that are visible from 11 viewpoints (current viewpoints) are detected. Then, the position / orientation detection apparatus 20a selects a surface having the highest similarity with the template image from all visible surfaces (the first position / orientation detection process). Then, the position / orientation detection apparatus 20a generates composite model image data using all visible surfaces, and evaluates and calculates the position and orientation of the target object 5 in the three-dimensional space based on the composite model image data ( Second position and orientation detection process), and supplies the position and orientation data to the inspection apparatus 30.

図12は、位置姿勢検出装置20aの機能構成を表すブロック図である。図12に示すように、位置姿勢検出装置20aは、画像データ取得部211と、画像データ記憶部212と、特徴データ生成部213と、テンプレート特徴データ記憶部214と、第1位置姿勢計算部215と、テンプレート情報記憶部216と、合成モデル画像生成部217と、第2位置姿勢計算部218とを備える。
なお、特徴データ生成部213と、テンプレート特徴データ記憶部214と、第1位置姿勢計算部215と、テンプレート情報記憶部216と、合成モデル画像生成部217と、第2位置姿勢計算部218とは、位置姿勢データ生成部である。
FIG. 12 is a block diagram illustrating a functional configuration of the position / orientation detection apparatus 20a. As shown in FIG. 12, the position / orientation detection apparatus 20a includes an image data acquisition unit 211, an image data storage unit 212, a feature data generation unit 213, a template feature data storage unit 214, and a first position / orientation calculation unit 215. A template information storage unit 216, a combined model image generation unit 217, and a second position and orientation calculation unit 218.
The feature data generation unit 213, the template feature data storage unit 214, the first position / orientation calculation unit 215, the template information storage unit 216, the synthesized model image generation unit 217, and the second position / orientation calculation unit 218 The position and orientation data generation unit.

画像データ取得部211は、ロボット10の撮像装置11から供給される静止画像の画像データを取り込み、画像データ記憶部212に記憶させる。
画像データ記憶部212は、画像データ取得部211が取り込んだ画像データを記憶する。
The image data acquisition unit 211 captures image data of a still image supplied from the imaging device 11 of the robot 10 and stores it in the image data storage unit 212.
The image data storage unit 212 stores the image data captured by the image data acquisition unit 211.

特徴データ生成部213は、画像データ記憶部212から画像データを読み込んでこの画像データから複数の特徴点を抽出し、各特徴点における特徴量と当該特徴点の位置情報とを対応付けた特徴データを生成し、この特徴データを第1位置姿勢計算部215に供給する。特徴点は、例えば輝度値や色が急変する点であり、例えば頂点や模様の交点等が該当する。特徴量は画像の特徴量である。例えば、特徴データ生成部213は、複数の画素を含む小領域ごとに輝度のガウス分布の状態を調べて特徴量を抽出する公知のSIFT(Scale−Invariant Feature Transform)処理を実行してSIFT特徴量を求め、このSIFT特徴量を特徴量として用いる。また、特徴データ生成部213は、SURF(Speed−Up Robust Features)を適用してもよい。特徴点の位置情報は、画像データの例えば左上端の位置を原点として得られる特徴点の座標値または位置ベクトルである。   The feature data generation unit 213 reads image data from the image data storage unit 212, extracts a plurality of feature points from the image data, and features data that associates feature amounts at the feature points with positional information of the feature points. And the feature data is supplied to the first position and orientation calculation unit 215. A feature point is a point at which, for example, a luminance value or a color changes suddenly, and corresponds to, for example, a vertex or an intersection of patterns. The feature amount is a feature amount of the image. For example, the feature data generation unit 213 performs a well-known SIFT (Scale-Invariant Feature Transform) process for examining the state of a Gaussian distribution of luminance for each small region including a plurality of pixels and extracting a feature amount, thereby performing a SIFT feature amount. And the SIFT feature value is used as the feature value. Moreover, the feature data generation unit 213 may apply SURF (Speed-Up Robust Features). The position information of the feature point is a coordinate value or a position vector of the feature point obtained using, for example, the position of the upper left end of the image data as the origin.

テンプレート特徴データ記憶部214は、対象物体5のリファレンスについてのテンプレート特徴データを記憶する。テンプレート特徴データは、リファレンスのテンプレート画像データから抽出した複数の特徴点それぞれにおける特徴量と当該特徴点の位置情報とを対応付けたデータである。テンプレート特徴データ記憶部214は、三次元空間におけるリファレンスの周囲からの複数の視線それぞれに対応するテンプレート特徴データを、視線ごとに記憶する。   The template feature data storage unit 214 stores template feature data for the reference of the target object 5. The template feature data is data in which a feature amount at each of a plurality of feature points extracted from reference template image data is associated with position information of the feature points. The template feature data storage unit 214 stores, for each line of sight, template feature data corresponding to each of a plurality of lines of sight from around the reference in the three-dimensional space.

第1位置姿勢計算部215は、第1の位置姿勢検出処理を実行する。すなわち、第1位置姿勢計算部215は、特徴データ生成部213から供給される特徴データを取り込み、テンプレート特徴データ記憶部214からテンプレート特徴データを読み込む。そして、第1位置姿勢計算部215は、特徴データにおける特徴量とテンプレート特徴データにおける特徴量とのマッチング処理を実行し、マッチする特徴量に対応する特徴点の位置情報を抽出する。そして、第1位置姿勢計算部215は、その位置情報に基づいて対象物体5の各面の位置および姿勢を検出する。具体的には、第1位置姿勢計算部215は、同一面に属する少なくとも4点の特徴点が、現在の画像の面に一致するようにテンプレート画像をホモグラフィー変換してマッチング処理し、一致したときのホモグラフィー行列を特異値分解して対象物体5の各面の位置および姿勢を計算する。そして、第1位置姿勢計算部215は、この計算結果に基づいて現視点から全ての可視面を検出する。また、第1位置姿勢計算部215は、全ての可視面の中から、可視面の画像とテンプレート画像との類似度が最も高い面(基準面)の位置および姿勢を選択する。この基準面は、例えば、現視点においてテンプレート画像に対し歪みや傾きが少ない面である。   The first position / orientation calculation unit 215 executes a first position / orientation detection process. That is, the first position / orientation calculation unit 215 takes in the feature data supplied from the feature data generation unit 213 and reads the template feature data from the template feature data storage unit 214. Then, the first position / orientation calculation unit 215 executes a matching process between the feature amount in the feature data and the feature amount in the template feature data, and extracts the position information of the feature point corresponding to the matching feature amount. Then, the first position / orientation calculation unit 215 detects the position and orientation of each surface of the target object 5 based on the position information. Specifically, the first position / orientation calculation unit 215 performs homography conversion on the template image so that at least four feature points belonging to the same plane match the plane of the current image, and performs matching processing. The position and orientation of each surface of the target object 5 are calculated by singular value decomposition of the homography matrix. Then, the first position / orientation calculation unit 215 detects all visible surfaces from the current viewpoint based on the calculation result. The first position / orientation calculation unit 215 selects the position and orientation of the surface (reference surface) having the highest similarity between the image of the visible surface and the template image from all the visible surfaces. This reference surface is, for example, a surface with less distortion and inclination with respect to the template image at the current viewpoint.

テンプレート情報記憶部216は、対象物体5のリファレンスについてのテンプレート情報をあらかじめ記憶する。テンプレート情報は、第1実施形態と同様に、複数の視線方向(例えば、互いに直交する6方向)それぞれからリファレンスを撮像して得た複数のテンプレート画像データと、複数のテンプレート画像それぞれについてのテンプレート位置姿勢データとを含む。つまり、テンプレート位置姿勢データは、面の位置および姿勢を表す情報と、リファレンスの基準点(原点)と面との相対的な位置および姿勢を表す情報と、撮像装置11の位置および姿勢を表す情報と、撮像装置11と面との相対的な位置および姿勢を表す情報とを含む。さらに、本実施形態では、テンプレート情報は、複数の面に対応する複数のテンプレート画像同士の位置および姿勢の関係を表すテンプレート位置姿勢関係データを含む。   The template information storage unit 216 stores template information about the reference of the target object 5 in advance. As in the first embodiment, the template information includes a plurality of template image data obtained by imaging a reference from each of a plurality of line-of-sight directions (for example, six directions orthogonal to each other), and template positions for each of the plurality of template images. Attitude data. That is, the template position / orientation data includes information representing the position and orientation of the surface, information representing the relative position and orientation of the reference reference point (origin) and the surface, and information representing the position and orientation of the imaging device 11. And information representing the relative position and orientation of the imaging device 11 and the surface. Furthermore, in the present embodiment, the template information includes template position / orientation relationship data representing the relationship between the positions and orientations of a plurality of template images corresponding to a plurality of surfaces.

なお、撮像装置11と面との相対的な位置および姿勢を表す情報は、あらかじめ記憶しておくのではなく、例えば合成モデル画像生成部217が、面の位置および姿勢を表す情報と撮像装置11の位置および姿勢を表す情報とから計算して求めるようにしてもよい。また、同様に、リファレンスの基準点(原点)と面との相対的な位置および姿勢を表す情報も計算して求めるようにしてもよい。   Note that information representing the relative position and orientation between the imaging device 11 and the surface is not stored in advance. For example, the composite model image generation unit 217 may include information representing the position and orientation of the surface and the imaging device 11. It may be obtained by calculating from information indicating the position and orientation of Similarly, information indicating the relative position and orientation between the reference reference point (origin) and the surface may be calculated and obtained.

テンプレート位置姿勢関係データは、全てのテンプレート画像同士の相対的な並進ベクトルおよび回転行列である。具体的には、6面分のテンプレート画像データについて、第iのテンプレート画像から第jのテンプレート画像に対する並進ベクトルおよび回転行列を(t(ボールド体)ij,R(ボールド体)ij)とすると、テンプレート位置姿勢関係データは、例えば、(t(ボールド体)12,R(ボールド体)12)、(t(ボールド体)13,R(ボールド体)13)、(t(ボールド体)14,R(ボールド体)14)、(t(ボールド体)15,R(ボールド体)15)、(t(ボールド体)16,R(ボールド体)16)、(t(ボールド体)23,R(ボールド体)23)、(t(ボールド体)24,R(ボールド体)24)、(t(ボールド体)25,R(ボールド体)25)、(t(ボールド体)26,R(ボールド体)26)、(t(ボールド体)34,R(ボールド体)34)、(t(ボールド体)35,R(ボールド体)35)、(t(ボールド体)36,R(ボールド体)36)、(t(ボールド体)45,R(ボールド体)45)、(t(ボールド体)46,R(ボールド体)46)、および(t(ボールド体)56,R(ボールド体)56)である。 The template position / orientation relationship data is a relative translation vector and rotation matrix of all template images. Specifically, with respect to the template image data for six surfaces, if the translation vector and the rotation matrix from the i-th template image to the j-th template image are (t (bold body) ij , R (bold body) ij ), The template position / orientation relationship data is, for example, (t (bold body) 12 , R (bold body) 12 ), (t (bold body) 13 , R (bold body) 13 ), (t (bold body) 14 , R (Bold body) 14 ), (t (bold body) 15 , R (bold body) 15 ), (t (bold body) 16 , R (bold body) 16 ), (t (bold body) 23 , R (bold body) body) 23), (t (bold) 24, R (bold) 24), (t (bold) 25, R (bold) 25), (t (bold) 26 R (bold) 26), (t (bold) 34, R (bold) 34), (t (bold) 35, R (bold) 35), (t (bold) 36, R ( Bold body) 36 ), (t (bold body) 45 , R (bold body) 45 ), (t (bold body) 46 , R (bold body) 46 ), and (t (bold body) 56 , R (bold body) Body) 56 ).

合成モデル画像生成部217および第2位置姿勢計算部218は、第2の位置姿勢検出処理を実行する。
まず、合成モデル画像生成部217は、第1位置姿勢計算部215から、全ての可視面に対応する特徴点の位置情報と基準面の位置および姿勢とを取り込み、テンプレート情報記憶部216からテンプレート情報を読み込む。そして、合成モデル画像生成部217は、取り込んだ特徴点の位置情報と基準面の位置および姿勢とテンプレート情報とに基づいて、現視点において可視となる合成モデル画像データを生成し、この合成モデル画像データを第2位置姿勢計算部218に供給する。
The synthesized model image generation unit 217 and the second position / orientation calculation unit 218 execute a second position / orientation detection process.
First, the synthesized model image generation unit 217 takes in the position information of feature points corresponding to all visible surfaces and the positions and orientations of the reference surfaces from the first position / orientation calculation unit 215, and receives template information from the template information storage unit 216. Is read. Then, the composite model image generation unit 217 generates composite model image data that is visible at the current viewpoint based on the captured position information of the feature points, the position and orientation of the reference plane, and the template information. The data is supplied to the second position / orientation calculation unit 218.

また、合成モデル画像生成部217は、第2位置姿勢計算部218から供給される類似度を取り込み、この類似度が閾値以下である場合、基準面の位置および姿勢を微小変化させた状態の合成モデル画像データを生成し、この合成モデル画像データを第2位置姿勢計算部218に供給する。
また、合成モデル画像生成部217は、第2位値姿勢計算部218から供給された類似度が前記の閾値を超える値である場合、微調整完了を示すステータス情報を第2位置姿勢計算部218に供給する。
In addition, the synthesized model image generation unit 217 takes in the similarity supplied from the second position / orientation calculation unit 218, and if the similarity is equal to or less than a threshold value, the synthesized model image is generated by slightly changing the position and orientation of the reference plane. Model image data is generated, and this combined model image data is supplied to the second position and orientation calculation unit 218.
In addition, when the similarity supplied from the second rank posture calculation unit 218 is a value exceeding the threshold, the composite model image generation unit 217 displays status information indicating completion of fine adjustment as the second position posture calculation unit 218. To supply.

第2位置姿勢計算部218は、画像データと合成モデル画像データとに基づいて、対象物体5の位置および姿勢を評価して求め、この求めた位置および姿勢を位置姿勢データとして検査装置30に供給する。具体的には、第2位置姿勢計算部218は、合成モデル画像生成部217から供給される合成モデル画像データを取り込み、画像データ記憶部212から画像データを読み込む。そして、第2位置姿勢計算部218は、合成モデル画像データを射影変換した変換合成モデル画像データと画像データとの類似度を計算し、この類似度を合成モデル画像生成部217に供給する。類似度は、第2位置姿勢計算部218が例えば正規化相互相関(Normalized Cross−Correlation)を計算することによって得られる。   The second position / orientation calculator 218 evaluates and obtains the position and orientation of the target object 5 based on the image data and the synthesized model image data, and supplies the obtained position and orientation as position / orientation data to the inspection apparatus 30. To do. Specifically, the second position / orientation calculation unit 218 receives the composite model image data supplied from the composite model image generation unit 217 and reads the image data from the image data storage unit 212. Then, the second position and orientation calculation unit 218 calculates the similarity between the converted combined model image data obtained by projective conversion of the combined model image data and the image data, and supplies the similarity to the combined model image generation unit 217. The similarity is obtained by the second position / orientation calculation unit 218 calculating, for example, normalized cross-correlation.

なお、第2位置姿勢計算部218は、正規化相互相関以外にも、SSD(Sum of Squared Difference)やSAD(Sum of Absolute Difference)等を計算することによって類似度を求めてもよい。   Note that the second position and orientation calculation unit 218 may calculate the similarity by calculating SSD (Sum of Squared Difference), SAD (Sum of Absolute Difference), or the like in addition to the normalized cross-correlation.

また、第2位置姿勢計算部218は、合成モデル画像生成部217から供給されるステータス情報を取り込むと、撮像装置11の現在の位置および姿勢の情報(並進ベクトルおよび回転行列)を、例えばロボット本体12またはロボット制御装置40から取得する。そして、第2位置姿勢計算部218は、ロボット座標系の原点から変換合成モデル画像の座標系の原点に対する、並進ベクトルおよび回転行列を計算し、この計算結果を位置姿勢データとして検査装置30に供給する。   In addition, when the second position / orientation calculation unit 218 fetches the status information supplied from the composite model image generation unit 217, the second position / orientation calculation unit 218 obtains the current position and orientation information (translation vector and rotation matrix) of the imaging device 11, for example, the robot body 12 or from the robot controller 40. Then, the second position / orientation calculation unit 218 calculates a translation vector and a rotation matrix from the origin of the robot coordinate system to the origin of the coordinate system of the transformed composite model image, and supplies the calculation result to the inspection apparatus 30 as position / orientation data. To do.

位置姿勢検出装置20aにおいて、画像データ記憶部212と、テンプレート特徴データ記憶部214と、テンプレート情報記憶部216とは、例えば、半導体記憶装置もしくは磁気ハードディスク装置またはこれらの組み合わせにより実現される。   In the position / orientation detection apparatus 20a, the image data storage unit 212, the template feature data storage unit 214, and the template information storage unit 216 are realized by, for example, a semiconductor storage device, a magnetic hard disk device, or a combination thereof.

次に、位置姿勢検出装置20aが実行する対象物体の位置および姿勢の検出処理について説明する。
図13および図14は、位置姿勢検出装置20aが実行する対象物体の位置および姿勢の検出処理の手順を表すフローチャートである。
まず、図13のステップS201において、画像データ取得部211は、ロボット10の撮像装置11から供給される静止画像の画像データを取り込み、この画像データを画像データ記憶部212に記憶させる。
次に、ステップS202において、特徴データ生成部213は、画像データ記憶部212から画像データを読み込んでこの画像データから複数の特徴点を抽出し、各特徴点における特徴量(例えばSIFT特徴量)と当該特徴点の位置情報(位置ベクトル)とを対応付けた特徴データを生成し、この特徴データを第1位置姿勢計算部215に供給する。
Next, the position and orientation detection processing of the target object executed by the position and orientation detection apparatus 20a will be described.
FIG. 13 and FIG. 14 are flowcharts illustrating a procedure of target object position and orientation detection processing executed by the position and orientation detection apparatus 20a.
First, in step S <b> 201 of FIG. 13, the image data acquisition unit 211 takes in image data of a still image supplied from the imaging device 11 of the robot 10 and stores this image data in the image data storage unit 212.
Next, in step S202, the feature data generation unit 213 reads the image data from the image data storage unit 212, extracts a plurality of feature points from the image data, and calculates feature amounts (for example, SIFT feature amounts) at each feature point. Feature data in which the position information (position vector) of the feature point is associated is generated, and the feature data is supplied to the first position and orientation calculation unit 215.

次に、ステップS203において、第1位置姿勢計算部215は、特徴データ生成部213から供給される特徴データを取り込み、テンプレート特徴データ記憶部214からテンプレート特徴データを読み込む。
次に、第1位置姿勢計算部215は、特徴データにおける特徴量とテンプレート特徴データにおける特徴量とのマッチング処理を実行し、マッチする特徴量に対応する特徴点の位置情報を抽出する。このマッチング処理では、第1位置姿勢計算部215は相関度を計算する。例えば、第1位置姿勢計算部215は、特徴データにおける特徴量Aとテンプレート特徴データにおける特徴量Bとのユークリッド距離を計算し、このユークリッド距離が閾値以下となる特徴量Aを、マッチする特徴量として検出する。
次に、第1位置姿勢計算部215は、抽出した位置情報に基づいて対象物体5の各面の位置および姿勢を検出する。
次に、第1位置姿勢計算部215は、検出結果に基づいて現視点から全ての可視面を検出し、これら全ての可視面の中からテンプレート画像との類似度が最も高い面、つまり基準面の位置および姿勢を選択する。
Next, in step S <b> 203, the first position / orientation calculation unit 215 takes in the feature data supplied from the feature data generation unit 213 and reads the template feature data from the template feature data storage unit 214.
Next, the first position and orientation calculation unit 215 executes a matching process between the feature amount in the feature data and the feature amount in the template feature data, and extracts the position information of the feature point corresponding to the matching feature amount. In this matching process, the first position / orientation calculation unit 215 calculates the degree of correlation. For example, the first position / orientation calculation unit 215 calculates the Euclidean distance between the feature amount A in the feature data and the feature amount B in the template feature data, and matches the feature amount A with which the Euclidean distance is equal to or less than a threshold. Detect as.
Next, the first position / orientation calculation unit 215 detects the position and orientation of each surface of the target object 5 based on the extracted position information.
Next, the first position / orientation calculation unit 215 detects all visible surfaces from the current viewpoint based on the detection result, and the surface having the highest degree of similarity with the template image among all the visible surfaces, that is, the reference surface Select the position and posture.

次に、ステップS204において、合成モデル画像生成部217は、第1位置姿勢計算部215から供給される特徴点の位置情報を取り込む。
次に、合成モデル画像生成部217は、特徴点の位置情報から得られるモデルにおいて可視である一面を選択し、この選択した一面に対応するテンプレート画像データとテンプレート位置姿勢データとをテンプレート情報記憶部216から読み込む。
Next, in step S <b> 204, the composite model image generation unit 217 takes in the position information of the feature points supplied from the first position / orientation calculation unit 215.
Next, the synthesized model image generation unit 217 selects one surface that is visible in the model obtained from the position information of the feature points, and the template information storage unit stores the template image data and the template position / orientation data corresponding to the selected surface. Read from H.216.

次に、ステップS205において、合成モデル画像生成部217は、読み込んだテンプレート画像データから当該一面に射影変換するためのホモグラフィー行列を計算する。具体的には、合成モデル画像生成部217は、ロボット座標系におけるテンプレート画像の位置および姿勢と一面の位置情報とに基づいてホモグラフィー行列を計算する。   Next, in step S205, the composite model image generation unit 217 calculates a homography matrix for projective transformation from the read template image data to the one surface. Specifically, the synthesized model image generation unit 217 calculates a homography matrix based on the position and orientation of the template image in the robot coordinate system and the position information of one surface.

次に、ステップS206において、合成モデル画像生成部217は、テンプレート画像データを射影変換して変換画像データを生成し、この変換画像データを記憶する。具体的には、合成モデル画像生成部217は、テンプレート画像データにホモグラフィー行列を掛け合わせる演算を行なって変換画像データを生成し、この変換画像データを内部の記憶領域に記憶する。   Next, in step S206, the composite model image generation unit 217 performs projective conversion on the template image data to generate converted image data, and stores the converted image data. Specifically, the composite model image generation unit 217 performs an operation of multiplying the template image data by the homography matrix to generate converted image data, and stores the converted image data in an internal storage area.

次に、ステップS207において、可視である他の面がある場合(S207:YES)はステップS204の処理に移り、可視である他の面がない場合(S207:NO)はステップS208の処理に移る。   Next, in step S207, if there is another surface that is visible (S207: YES), the process proceeds to step S204. If there is no other surface that is visible (S207: NO), the process proceeds to step S208. .

ステップS207:YESに続くステップS208において、合成モデル画像生成部217は、内部の記憶領域から変換画像データを読み込み、テンプレート情報記憶部216からテンプレート位置姿勢関係データを読み込む。
次に、合成モデル画像生成部217は、テンプレート位置姿勢関係データに基づいて変換画像データを合成して合成モデル画像データを生成し、この合成モデル画像データを第2位置姿勢計算部218に供給する。
Step S207: In step S208 following YES, the composite model image generation unit 217 reads the converted image data from the internal storage area, and reads the template position / orientation relationship data from the template information storage unit 216.
Next, the synthesized model image generation unit 217 generates synthesized model image data by synthesizing the converted image data based on the template position / orientation relationship data, and supplies the synthesized model image data to the second position / orientation calculation unit 218. .

次に、図14のステップS209において、第2位置姿勢計算部218は、合成モデル画像生成部217から供給される合成モデル画像データを取り込み、画像データ記憶部212から画像データを読み込む。
次に、第2位置姿勢計算部218は、ホモグラフィー行列の要素に初期値を設定する。ここでの初期値は、前述したステップS203の処理において第1位置姿勢計算部215がマッチング処理によって取得した基準面の位置および姿勢に基づき決定されるものである。
Next, in step S209 of FIG. 14, the second position / orientation calculation unit 218 takes in the synthesized model image data supplied from the synthesized model image generation unit 217 and reads the image data from the image data storage unit 212.
Next, the second position / orientation calculation unit 218 sets initial values for the elements of the homography matrix. The initial value here is determined based on the position and orientation of the reference plane acquired by the first position and orientation calculation unit 215 by the matching processing in the processing of step S203 described above.

次に、ステップS210において、第2位置姿勢計算部218は、合成モデル画像データを射影変換して変換モデル画像データを生成する。具体的には、第2位置姿勢計算部218は、合成モデル画像データにホモグラフィー行列を掛け合わせる演算を行って変換モデル画像データを生成する。   Next, in step S210, the second position / orientation calculation unit 218 performs projective transformation on the combined model image data to generate converted model image data. Specifically, the second position / orientation calculation unit 218 performs an operation of multiplying the synthesized model image data by the homography matrix to generate converted model image data.

次に、ステップS211において、第2位置姿勢計算部218は、画像データと変換合成モデル画像データとの類似度を、例えば正規化相互相関を計算することによって取得し、この類似度を合成モデル画像生成部217に供給する。   Next, in step S211, the second position / orientation calculation unit 218 acquires the similarity between the image data and the converted combined model image data, for example, by calculating a normalized cross-correlation, and the similarity is acquired by the combined model image. This is supplied to the generation unit 217.

次に、ステップS212において、合成モデル画像生成部217は、第2位置姿勢計算部218から供給される類似度を取り込む。そして、類似度が閾値を超える場合(S212:YES)、合成モデル画像生成部217は、微調整完了を示すステータス情報を第2位置姿勢計算部218に供給し、次に、ステップS213の処理に移る。
一方、類似度が閾値以下である場合(S212:NO)はステップS215の処理に移る。
Next, in step S <b> 212, the composite model image generation unit 217 captures the similarity supplied from the second position / orientation calculation unit 218. If the similarity exceeds the threshold (S212: YES), the composite model image generation unit 217 supplies status information indicating completion of fine adjustment to the second position / orientation calculation unit 218, and then performs the process of step S213. Move.
On the other hand, when the similarity is equal to or less than the threshold (S212: NO), the process proceeds to step S215.

ステップS212:YESに続くステップS213において、第2位置姿勢計算部218は、合成モデル画像生成部217から供給されるステータス情報を取り込むと、撮像装置11の現在の位置および姿勢の情報(並進ベクトルおよび回転行列)を、例えばロボット本体12またはロボット制御装置40から取得する。   In step S213 following step S212: YES, when the second position / orientation calculation unit 218 fetches the status information supplied from the synthesized model image generation unit 217, information on the current position and orientation of the imaging device 11 (translation vector and Rotation matrix) is acquired from, for example, the robot body 12 or the robot controller 40.

次に、ステップS214において、第2位置姿勢計算部218は、ロボット座標系の原点から変換合成モデル画像の座標系の原点に対する、並進ベクトルおよび回転行列を前記の式(6)を用いて計算し、さらに、これら計算した並進ベクトルおよび回転行列に基づいて、ロボット座標系の原点から対象物体5の基準点(原点)に対する並進ベクトルおよび回転行列を前記の式(7)を用いて計算し、この計算結果を位置姿勢データとして検査装置30に供給する。そして、本フローチャートの処理を終了する。   Next, in step S214, the second position / orientation calculation unit 218 calculates a translation vector and a rotation matrix from the origin of the robot coordinate system to the origin of the coordinate system of the transformed composite model image using the above equation (6). Further, based on the calculated translation vector and rotation matrix, a translation vector and a rotation matrix from the origin of the robot coordinate system to the reference point (origin) of the target object 5 are calculated using the equation (7). The calculation result is supplied to the inspection apparatus 30 as position and orientation data. And the process of this flowchart is complete | finished.

ステップS212:NOに続くステップS215において、合成モデル画像生成部217は、基準面の位置および姿勢を微小変化させた状態の合成モデル画像データを生成し、この合成モデル画像データを第2位置姿勢計算部218に供給する。ステップS209,S210,S211,S212:NO,S215,S210,・・・,S212:YESのルーチンは、公知のESM(Efficient Second−order Minimization Method)による収束法を適用できる。   Step S212: In step S215 following NO, the composite model image generation unit 217 generates composite model image data in a state in which the position and orientation of the reference plane are slightly changed, and this composite model image data is subjected to second position and orientation calculation. To the unit 218. Steps S209, S210, S211, S212: NO, S215, S210,..., S212: YES, a convergence method based on a known ESM (Efficient Second-Order Minimization Method) can be applied.

以上詳述したように、本発明の第2実施形態では、位置姿勢検出装置20aは、撮像装置11から取得する画像データについて、画像の特徴量に基づくマッチング処理によって対象物体5の位置および姿勢を検出し、その検出結果に基づいて現視点からの全ての可視面を用いた合成モデル画像データを生成するようにした。そして、位置姿勢検出装置20aは、その合成モデル画像データに基づいて三次元空間における対象物体5の位置および姿勢を計算し、この計算結果を位置姿勢データとして検査装置30に供給するようにした。そして、検査装置30は、位置姿勢検出装置20aから供給される位置姿勢データを取り込んで、対象物体5のロボット座標系における位置および姿勢を管理するようにした。   As described above in detail, in the second embodiment of the present invention, the position / orientation detection device 20a determines the position and orientation of the target object 5 by performing matching processing based on the feature amount of the image data acquired from the imaging device 11. Then, based on the detection result, synthetic model image data using all visible surfaces from the current viewpoint is generated. The position / orientation detection apparatus 20a calculates the position and orientation of the target object 5 in the three-dimensional space based on the synthesized model image data, and supplies the calculation result to the inspection apparatus 30 as position / orientation data. The inspection apparatus 30 takes in the position and orientation data supplied from the position and orientation detection apparatus 20a, and manages the position and orientation of the target object 5 in the robot coordinate system.

このように構成したことにより、本実施形態によれば、現視点からの全ての可視面を用いて対象物体の位置および姿勢を得るため、第1実施形態に対してより高精度に、対象物体の立体空間における位置および姿勢を検出することができる。   With this configuration, according to the present embodiment, since the position and orientation of the target object are obtained using all visible surfaces from the current viewpoint, the target object is more accurately compared to the first embodiment. The position and posture in the three-dimensional space can be detected.

以上により、第1実施形態および第2実施形態によれば、撮像して得た対象物体の平面画像に見えている面に対応する一または複数のテンプレート画像データとテンプレート位置姿勢データとに基づいて対象物体の位置および姿勢を計算するため、平面画像により表現された対象物体の立体空間における位置および姿勢を高精度に検出することができる。   As described above, according to the first embodiment and the second embodiment, based on one or a plurality of template image data and template position / orientation data corresponding to a surface that is seen as a planar image of a target object obtained by imaging. Since the position and orientation of the target object are calculated, the position and orientation of the target object represented by the planar image in the three-dimensional space can be detected with high accuracy.

なお、第1実施形態および第2実施形態に基づく別の実施形態として、位置姿勢検出装置は、位置姿勢検出装置20および位置姿勢検出装置20a両方の構成を併せ備え、第1位置姿勢計算部215によって計算される類似度に応じて位置姿勢検出装置20の機能と位置姿勢検出装置20aの機能とを切り替えるようにしてもよい。具体的には、別実施形態における位置姿勢検出装置は、例えば、位置姿勢検出装置20aの第1位置姿勢計算部215が、可視面ごとに計算する当該可視面の画像とテンプレート画像との類似度の全てが閾値以下である場合、言い換えると、基準面に対応する類似度が前記の閾値以下である場合に、位置姿勢検出装置20a側の構成に切り替えて処理を行うようにする。   As another embodiment based on the first embodiment and the second embodiment, the position / orientation detection apparatus includes both configurations of the position / orientation detection apparatus 20 and the position / orientation detection apparatus 20a, and the first position / orientation calculation unit 215. The function of the position / orientation detection apparatus 20 and the function of the position / orientation detection apparatus 20a may be switched according to the similarity calculated by the above. Specifically, the position / orientation detection apparatus according to another embodiment includes, for example, the similarity between the image of the visible surface calculated by the first position / orientation calculation unit 215 of the position / orientation detection apparatus 20a for each visible surface and the template image. If all of the above are below the threshold, in other words, if the similarity corresponding to the reference plane is below the threshold, the processing is switched to the configuration on the position and orientation detection device 20a side.

このように構成することによって、基準面の歪みや変形の度合いが比較的低い場合は、一面に基づく処理を行わせ、一方、基準面の歪みや変形の度合いが比較的高い場合は、可視面全てに基づく処理を行わせることができる。つまり、可視面の状態(例えば、歪みや変形)に応じて、一面に基づく対象物体5の位置および姿勢の検出処理と、可視面全てに基づく検出処理とを切り替えることができ、視点による検出精度のばらつきを抑えることができる。   By configuring in this way, when the degree of distortion and deformation of the reference surface is relatively low, processing based on one surface is performed, while when the degree of distortion and deformation of the reference surface is relatively high, the visible surface Processing based on all can be performed. That is, according to the state of the visible surface (for example, distortion or deformation), it is possible to switch between the detection processing of the position and orientation of the target object 5 based on one surface and the detection processing based on all the visible surfaces, and the detection accuracy based on the viewpoint The variation of can be suppressed.

また、第1実施形態および第2実施形態では、ロボット10を、ロボット本体12が撮像装置11を可動に支持する構成とし、対象物体5およびリファレンスを固定的に設置することとした。これ以外に、例えば、ロボット10を、ロボット本体12が対象物体5およびリファレンスいずれかを可動に支持する構成とし、撮像装置11を固定的に設置することとしてもよい。   In the first embodiment and the second embodiment, the robot 10 is configured such that the robot body 12 supports the imaging device 11 movably, and the target object 5 and the reference are fixedly installed. In addition to this, for example, the robot 10 may be configured such that the robot body 12 movably supports either the target object 5 or the reference, and the imaging device 11 may be fixedly installed.

また、撮像装置11(第1の撮像装置)の他に、対象物体5を視野に含めて撮像する別の撮像装置(第2の撮像装置)を固定設置するようにしてもよい。この場合、撮像装置11を、撮像装置11と対象物体5との相対的な位置および姿勢を変えて外観検査を行う処理のみに適用し、別の撮像装置を対象物体5の位置および姿勢を検出する処理にのみ適用する。そして、位置姿勢検出装置20,20aは、ロボット座標系Σの原点Oから現在のカメラ座標系Σの原点Oに対する並進ベクトルt(ボールド体)および回転行列R(ボールド体)をあらかじめ計算して記憶しておく。
このように構成することにより、前記の式(6)を計算するにあたり、並進ベクトルt(ボールド体)および回転行列R(ボールド体)を都度計算する必要がない。
In addition to the imaging device 11 (first imaging device), another imaging device (second imaging device) that captures an image including the target object 5 in the field of view may be fixedly installed. In this case, the imaging device 11 is applied only to the process of performing an appearance inspection by changing the relative position and orientation of the imaging device 11 and the target object 5, and another imaging device detects the position and orientation of the target object 5. Applies only to processes that The position and orientation detection device 20,20a is the translation vector t (bold) C and the rotation matrix R (bold) from the origin O of the robot coordinate system sigma with respect to the origin O C current camera coordinate system sigma C C beforehand Calculate and remember.
With this configuration, it is not necessary to calculate the translation vector t (bold body) C and the rotation matrix R (bold body) C each time when calculating the above equation (6).

また、第1実施形態および第2実施形態では、テンプレート画像データは、例えばリファレンスを撮像して得られる撮像画像データである例としたが、これ以外にも、CAD(Computer Aided Disign)データやCG(Computer Graphics)データを使用することもできる。CADデータやCGデータのフォーマットは限定されず、撮像により得られるテンプレート画像と同様に、形状、模様が視認可能であればよい。   In the first embodiment and the second embodiment, the template image data is an example of captured image data obtained by imaging a reference, for example. However, other than this, CAD (Computer Aided Design) data or CG (Computer Graphics) data can also be used. The format of CAD data or CG data is not limited, and it is sufficient that the shape and pattern are visible as in the case of a template image obtained by imaging.

また、カメラ座標系Σがロボット座標系Σに一致する場合も、第1実施形態および第2実施形態は適用できる。 Further, even if the camera coordinate system sigma C matches the robot coordinate system sigma, first and second embodiments can be applied.

また、上述した第1実施形態および第2実施形態における位置姿勢検出装置20,20aの一部の機能をコンピューターで実現するようにしてもよい。この場合、その制御機能を実現するための位置姿勢検出プログラムをコンピューター読み取り可能な記録媒体に記録して、この記録媒体に記録された位置姿勢検出プログラムをコンピューターシステムに読み込ませ、実行することによって実現してもよい。なお、ここでいう「コンピューターシステム」とは、OS(Operating System)や周辺装置のハードウェアを含むものである。また、「コンピューター読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、光ディスク、メモリーカード等の可搬型記録媒体、コンピューターシステムに内蔵される磁気ハードディスク等の記憶装置のことをいう。さらに「コンピューター読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、短時間の間、動的にプログラムを保持するもの、その場合のサーバー装置やクライアントとなるコンピューターシステム内部の揮発性メモリーのように、一定時間プログラムを保持するものを含んでもよい。また上記のプログラムは、前述した機能の一部を実現するためのものであってもよく、さらに前述した機能をコンピューターシステムにすでに記録されているプログラムとの組み合わせにより実現するものであってもよい。   Moreover, you may make it implement | achieve a part of function of the position and orientation detection apparatuses 20 and 20a in 1st Embodiment mentioned above and 2nd Embodiment with a computer. In this case, the position / orientation detection program for realizing the control function is recorded on a computer-readable recording medium, and the position / orientation detection program recorded on the recording medium is read by the computer system and executed. May be. Note that the “computer system” here includes an OS (Operating System) and hardware of peripheral devices. The “computer-readable recording medium” refers to a portable recording medium such as a flexible disk, a magneto-optical disk, an optical disk, and a memory card, and a storage device such as a magnetic hard disk built in the computer system. Furthermore, a “computer-readable recording medium” dynamically holds a program for a short time, like a communication line when transmitting a program via a network such as the Internet or a communication line such as a telephone line. In this case, it is possible to include a server that holds a program for a certain period of time, such as a volatile memory inside a computer system that serves as a server device or a client. In addition, the above program may be for realizing a part of the above-described functions, and further, may be realized by combining the above-described functions with a program already recorded in the computer system. .

以上、本発明の実施の形態について図面を参照して詳述したが、具体的な構成はその実施形態に限られるものではなく、本発明の要旨を逸脱しない範囲の設計等も含まれる。   As mentioned above, although embodiment of this invention was explained in full detail with reference to drawings, the specific structure is not restricted to that embodiment, The design of the range which does not deviate from the summary of this invention, etc. are included.

1,1a 検査システム
5 対象物体
10 ロボット
11 撮像装置(撮像部)
12 ロボット本体
12a 支持台
12b アーム部
12c ハンド部
20,20a 位置姿勢検出装置
30 検査装置
40 ロボット制御装置
201 画像データ取得部
202 画像データ記憶部
203 テンプレート情報記憶部
204 一致度評価部
205 対応テーブル記憶部
206 位置姿勢計算部
211 画像データ取得部
212 画像データ記憶部
213 特徴データ生成部
214 テンプレート特徴データ記憶部
215 第1位置姿勢計算部
216 テンプレート情報記憶部
217 合成モデル画像生成部
218 第2位置姿勢計算部
1, 1a Inspection system 5 Target object 10 Robot 11 Imaging device (imaging unit)
DESCRIPTION OF SYMBOLS 12 Robot main body 12a Support stand 12b Arm part 12c Hand part 20, 20a Position and orientation detection apparatus 30 Inspection apparatus 40 Robot control apparatus 201 Image data acquisition part 202 Image data storage part 203 Template information storage part 204 Matching degree evaluation part 205 Correspondence table storage Unit 206 position and orientation calculation unit 211 image data acquisition unit 212 image data storage unit 213 feature data generation unit 214 template feature data storage unit 215 first position and orientation calculation unit 216 template information storage unit 217 synthetic model image generation unit 218 second position and orientation Calculation part

Claims (6)

対象物体を撮像して画像データを生成する撮像部と、
前記撮像部を可動に支持するロボット本体と、
前記対象物体のリファレンスに対する前記撮像部からの視線方向ごとに、前記視線方向に対する面のテンプレート画像データとロボット座標系における前記面の位置および姿勢を表す情報と前記ロボット座標系における前記撮像部の位置および姿勢を表す情報とを有するテンプレート情報を記憶するテンプレート情報記憶部と、
前記撮像部が生成した前記画像データに含まれる前記対象物体の画像から可視である面を検出し、前記テンプレート情報記憶部から、前記可視である面に対応するテンプレート情報を読み込み、前記テンプレート情報に基づいて前記ロボット座標系における前記対象物体の位置および姿勢を表す位置姿勢データを生成する位置姿勢データ生成部と、
を備え
前記位置姿勢データ生成部は、
テンプレート画像データごとに、前記テンプレート画像データから抽出される複数の特徴点それぞれにおける特徴量と該特徴点の位置情報とを対応付けたテンプレート特徴データを記憶するテンプレート特徴データ記憶部と、前記撮像部が生成した前記画像データから複数の特徴点を抽出し、前記特徴点ごとの特徴量と前記特徴点の位置情報とを対応付けた特徴データを生成する特徴データ生成部と、前記特徴データ生成部が生成した前記特徴データと前記テンプレート特徴データ記憶部に記憶された前記テンプレート特徴データとに基づいて、前記特徴データにおける特徴量と前記テンプレート特徴データにおける特徴量との相関度を計算して、マッチする特徴量に対応する特徴点の位置情報を検出し、前記位置情報に基づき、前記対象物体の画像において可視である面と前記可視である面のうち該面に対応するテンプレート画像データとの類似度が最も高い面である基準面とを検出する第1位置姿勢計算部と、
を備えることを特徴とするロボット装置。
An imaging unit that images a target object and generates image data;
A robot body that movably supports the imaging unit;
For each line-of-sight direction from the image capturing unit with respect to the reference of the target object, template image data of the surface with respect to the line-of-sight direction, information representing the position and orientation of the surface in the robot coordinate system, and the position of the image capturing unit in the robot coordinate system And a template information storage unit for storing template information having information representing the posture;
A visible surface is detected from the image of the target object included in the image data generated by the imaging unit, template information corresponding to the visible surface is read from the template information storage unit, and the template information is read. A position and orientation data generation unit that generates position and orientation data representing the position and orientation of the target object in the robot coordinate system,
Equipped with a,
The position and orientation data generation unit
A template feature data storage unit that stores, for each template image data, template feature data in which a feature quantity at each of a plurality of feature points extracted from the template image data is associated with position information of the feature points; and the imaging unit A feature data generation unit that extracts a plurality of feature points from the image data generated by the image data and generates feature data in which feature amounts of the feature points are associated with position information of the feature points; and the feature data generation unit And calculating the degree of correlation between the feature amount in the feature data and the feature amount in the template feature data based on the feature data generated by the template feature data stored in the template feature data storage unit. Detecting position information of a feature point corresponding to a feature quantity to be detected, and based on the position information, the object A first position and orientation calculation unit that detects the reference plane is the highest face similarity to the template image data corresponding to said surface of the surfaces is a surface and the visible visible in the image,
A robot apparatus comprising:
前記位置姿勢データ生成部は、  The position and orientation data generation unit
前記第1位置姿勢計算部が検出した前記特徴点の位置情報と前記基準面と前記テンプレート情報記憶部に記憶された前記テンプレート情報とに基づいて合成モデル画像データを生成する合成モデル画像生成部と、A synthesized model image generating unit that generates synthesized model image data based on the position information of the feature points detected by the first position and orientation calculation unit, the reference plane, and the template information stored in the template information storage unit; ,
前記合成モデル画像生成部が生成した前記合成モデル画像データを、ホモグラフィー行列を用いて射影変換した変換合成モデル画像データと前記画像データとの類似度を計算し、前記類似度が閾値を超えることとなるホモグラフィー行列と前記テンプレート情報とに基づいて前記位置姿勢データを生成する第2位置姿勢計算部と、The similarity between the combined model image data generated by the combined model image generation unit and the image data obtained by projective conversion using a homography matrix is calculated, and the similarity exceeds a threshold value. A second position and orientation calculation unit that generates the position and orientation data based on the homography matrix and the template information,
を備えることを特徴とする請求項1記載のロボット装置。  The robot apparatus according to claim 1, further comprising:
前記位置姿勢データ生成部は、  The position and orientation data generation unit
複数のテンプレート画像データそれぞれについて、該テンプレート画像データを、ホモグラフィー行列を用いて射影変換した変換画像データと前記画像データとの一致度を計算し、前記一致度に基づいて前記対象物体の画像から可視である面を検出する一致度評価部と、  For each of the plurality of template image data, the degree of coincidence between the image data and the converted image data obtained by projective transformation of the template image data using a homography matrix is calculated, and based on the degree of coincidence, the image of the target object A degree-of-matching evaluation unit that detects a visible surface;
前記一致度評価部が検出した前記可視である面に対応するテンプレート画像データを、ホモグラフィー行列を用いて射影変換した変換画像データと前記画像データとの類似度を計算し、最も高い類似度となる計算結果に対応するホモグラフィー行列と前記テンプレート情報とに基づいて前記位置姿勢データを生成する位置姿勢計算部と、  The template image data corresponding to the visible surface detected by the coincidence degree evaluation unit is subjected to projective transformation using a homography matrix to calculate the similarity between the image data and the highest similarity. A position and orientation calculation unit that generates the position and orientation data based on the homography matrix corresponding to the calculation result and the template information;
を備え、  With
前記位置姿勢データ生成部における前記第1位置姿勢計算部において、前記基準面に対応する類似度が閾値以下である場合に、前記位置姿勢データ生成部を機能させる、  In the first position and orientation calculation unit in the position and orientation data generation unit, when the similarity corresponding to the reference plane is equal to or less than a threshold, the position and orientation data generation unit is caused to function.
ことを特徴とする請求項1または2記載のロボット装置。  The robot apparatus according to claim 1 or 2, wherein
対象物体のリファレンスに対する視線方向ごとに、前記視線方向に対する面のテンプレート画像データと基準座標系における前記面の位置および姿勢を表す情報と前記基準座標系における視点の位置および姿勢を表す情報とを有するテンプレート情報を記憶するテンプレート情報記憶部と、
所定の視点に基づき得られる画像データに含まれる前記対象物体の画像から可視である面を検出し、前記テンプレート情報記憶部から、前記可視である面に対応するテンプレート情報を読み込み、前記テンプレート情報に基づいて前記基準座標系における前記対象物体の位置および姿勢を表す位置姿勢データを生成する位置姿勢データ生成部と、
を備え
前記位置姿勢データ生成部は、
テンプレート画像データごとに、前記テンプレート画像データから抽出される複数の特徴点それぞれにおける特徴量と該特徴点の位置情報とを対応付けたテンプレート特徴データを記憶するテンプレート特徴データ記憶部と、
前記画像データから複数の特徴点を抽出し、前記特徴点ごとの特徴量と前記特徴点の位置情報とを対応付けた特徴データを生成する特徴データ生成部と、
前記特徴データ生成部が生成した前記特徴データと前記テンプレート特徴データ記憶部に記憶された前記テンプレート特徴データとに基づいて、前記特徴データにおける特徴量と前記テンプレート特徴データにおける特徴量との相関度を計算して、マッチする特徴量に対応する特徴点の位置情報を検出し、前記位置情報に基づき、前記対象物体の画像において可視である面と前記可視である面のうち該面に対応するテンプレート画像データとの類似度が最も高い面である基準面とを検出する第1位置姿勢計算部と、
を備えることを特徴とする位置姿勢検出装置。
For each line-of-sight direction with respect to the reference of the target object, it has template image data of the surface with respect to the line-of-sight direction, information representing the position and orientation of the surface in the reference coordinate system, and information representing the position and orientation of the viewpoint in the reference coordinate system A template information storage unit for storing template information;
A visible surface is detected from the image of the target object included in the image data obtained based on a predetermined viewpoint, template information corresponding to the visible surface is read from the template information storage unit, and the template information is read. A position and orientation data generation unit that generates position and orientation data representing the position and orientation of the target object in the reference coordinate system,
Equipped with a,
The position and orientation data generation unit
A template feature data storage unit that stores, for each template image data, template feature data in which a feature amount in each of a plurality of feature points extracted from the template image data is associated with position information of the feature points;
A feature data generating unit that extracts a plurality of feature points from the image data and generates feature data in which feature amounts for each feature point are associated with position information of the feature points;
Based on the feature data generated by the feature data generation unit and the template feature data stored in the template feature data storage unit, the degree of correlation between the feature amount in the feature data and the feature amount in the template feature data is calculated. Calculate and detect position information of feature points corresponding to matching feature quantities, and based on the position information, a template corresponding to the surface among the visible surface and the visible surface in the target object image A first position and orientation calculation unit that detects a reference surface that is a surface having the highest degree of similarity to image data;
The position and attitude sensing apparatus according to claim Rukoto equipped with.
コンピューターを、
対象物体のリファレンスに対する視線方向ごとに、前記視線方向に対する面のテンプレート画像データと基準座標系における前記面の位置および姿勢を表す情報と前記基準座標系における視点の位置および姿勢を表す情報とを有するテンプレート情報を記憶するテンプレート情報記憶部
所定の視点に基づき得られる画像データに含まれる前記対象物体の画像から可視である面を検出し、前記テンプレート情報記憶部から、前記可視である面に対応するテンプレート情報を読み込み、前記テンプレート情報に基づいて前記基準座標系における前記対象物体の位置および姿勢を表す位置姿勢データを生成する位置姿勢データ生成部と、
として機能させ
前記位置姿勢データ生成部を、
テンプレート画像データごとに、前記テンプレート画像データから抽出される複数の特徴点それぞれにおける特徴量と該特徴点の位置情報とを対応付けたテンプレート特徴データを記憶するテンプレート特徴データ記憶部と、
前記画像データから複数の特徴点を抽出し、前記特徴点ごとの特徴量と前記特徴点の位置情報とを対応付けた特徴データを生成する特徴データ生成部と、
前記特徴データ生成部が生成した前記特徴データと前記テンプレート特徴データ記憶部に記憶された前記テンプレート特徴データとに基づいて、前記特徴データにおける特徴量と前記テンプレート特徴データにおける特徴量との相関度を計算して、マッチする特徴量に対応する特徴点の位置情報を検出し、前記位置情報に基づき、前記対象物体の画像において可視である面と前記可視である面のうち該面に対応するテンプレート画像データとの類似度が最も高い面である基準面とを検出する第1位置姿勢計算部と、
として機能させるための位置姿勢検出プログラム。
Computer
For each line-of-sight direction with respect to the reference of the target object, it has template image data of the surface with respect to the line-of-sight direction, information representing the position and orientation of the surface in the reference coordinate system, and information representing the position and orientation of the viewpoint in the reference coordinate system a template information storage unit that stores the template information,
A visible surface is detected from the image of the target object included in the image data obtained based on a predetermined viewpoint, template information corresponding to the visible surface is read from the template information storage unit, and the template information is read. A position and orientation data generation unit that generates position and orientation data representing the position and orientation of the target object in the reference coordinate system,
To function as,
The position and orientation data generation unit
A template feature data storage unit that stores, for each template image data, template feature data in which a feature amount in each of a plurality of feature points extracted from the template image data is associated with position information of the feature points;
A feature data generating unit that extracts a plurality of feature points from the image data and generates feature data in which feature amounts for each feature point are associated with position information of the feature points;
Based on the feature data generated by the feature data generation unit and the template feature data stored in the template feature data storage unit, the degree of correlation between the feature amount in the feature data and the feature amount in the template feature data is calculated. Calculate and detect position information of feature points corresponding to matching feature quantities, and based on the position information, a template corresponding to the surface among the visible surface and the visible surface in the target object image A first position and orientation calculation unit that detects a reference surface that is a surface having the highest degree of similarity to image data;
Position and orientation detection program to function as
位置姿勢データ生成部が、所定の視点に基づき得られる画像データに含まれる対象物体の画像から可視である面を検出し、対象物体のリファレンスに対する視線方向ごとに、前記視線方向に対する面のテンプレート画像データと基準座標系における前記面の位置および姿勢を表す情報と前記基準座標系における視点の位置および姿勢を表す情報とを有するテンプレート情報を記憶するテンプレート情報記憶部から、前記可視である面に対応するテンプレート情報を読み込み、前記テンプレート情報に基づいて前記基準座標系における前記対象物体の位置および姿勢を表す位置姿勢データを生成する位置姿勢検出ステップ、
を有し、
前記位置姿勢データ生成部が、
前記画像データから複数の特徴点を抽出し、前記特徴点ごとの特徴量と前記特徴点の位置情報とを対応付けた特徴データを生成する特徴データ生成ステップと、
前記特徴データ生成ステップにおいて生成した前記特徴データと、テンプレート画像データごとに、前記テンプレート画像データから抽出される複数の特徴点それぞれにおける特徴量と該特徴点の位置情報とを対応付けたテンプレート特徴データを記憶するテンプレート特徴データ記憶部に記憶された前記テンプレート特徴データとに基づいて、前記特徴データにおける特徴量と前記テンプレート特徴データにおける特徴量との相関度を計算して、マッチする特徴量に対応する特徴点の位置情報を検出し、前記位置情報に基づき、前記対象物体の画像において可視である面と前記可視である面のうち該面に対応するテンプレート画像データとの類似度が最も高い面である基準面とを検出する第1位置姿勢計算ステップと、
を有することを特徴とする位置姿勢検出方法。
A position and orientation data generation unit detects a visible surface from an image of a target object included in image data obtained based on a predetermined viewpoint, and a template image of the surface with respect to the line-of-sight direction for each line-of-sight direction with respect to the reference of the target object Corresponding to the visible surface from a template information storage unit that stores data and template information having information representing the position and orientation of the surface in the reference coordinate system and information representing the position and orientation of the viewpoint in the reference coordinate system A position and orientation detection step of reading template information to be generated and generating position and orientation data representing the position and orientation of the target object in the reference coordinate system based on the template information;
I have a,
The position and orientation data generation unit
A feature data generation step of extracting a plurality of feature points from the image data and generating feature data in which feature amounts for each feature point are associated with positional information of the feature points;
Template feature data in which the feature data generated in the feature data generation step and the feature amount in each of a plurality of feature points extracted from the template image data are associated with the position information of the feature points for each template image data Based on the template feature data stored in the template feature data storage unit for storing the feature amount, the degree of correlation between the feature amount in the feature data and the feature amount in the template feature data is calculated to correspond to the matching feature amount A surface having the highest similarity between the surface that is visible in the image of the target object and the template image data corresponding to the surface among the surfaces that are visible based on the position information A first position / orientation calculation step for detecting a reference plane that is
Position and orientation detecting method characterized by have a.
JP2011049676A 2011-03-07 2011-03-07 Robot device, position and orientation detection device, position and orientation detection program, and position and orientation detection method Expired - Fee Related JP5699697B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011049676A JP5699697B2 (en) 2011-03-07 2011-03-07 Robot device, position and orientation detection device, position and orientation detection program, and position and orientation detection method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011049676A JP5699697B2 (en) 2011-03-07 2011-03-07 Robot device, position and orientation detection device, position and orientation detection program, and position and orientation detection method

Publications (2)

Publication Number Publication Date
JP2012185752A JP2012185752A (en) 2012-09-27
JP5699697B2 true JP5699697B2 (en) 2015-04-15

Family

ID=47015778

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011049676A Expired - Fee Related JP5699697B2 (en) 2011-03-07 2011-03-07 Robot device, position and orientation detection device, position and orientation detection program, and position and orientation detection method

Country Status (1)

Country Link
JP (1) JP5699697B2 (en)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9256788B2 (en) * 2012-11-02 2016-02-09 Qualcomm Incorporated Method for initializing and solving the local geometry or surface normals of surfels using images in a parallelizable architecture
JP2014127092A (en) * 2012-12-27 2014-07-07 Seiko Epson Corp Image processing apparatus, image processing method, robot, and program
JP2016070762A (en) * 2014-09-29 2016-05-09 ファナック株式会社 Detection method and detector for detecting three-dimensional position of object
JP2019084645A (en) * 2017-11-09 2019-06-06 国立大学法人 東京大学 Position information acquisition device and robot control device including the same
JP7151725B2 (en) 2017-12-28 2022-10-12 ソニーグループ株式会社 CONTROL DEVICE, CONTROL METHOD, PROGRAM, AND MOVING OBJECT
EP3910593A4 (en) 2019-01-09 2022-01-19 Fuji Corporation Image processing device, work robot, substrate inspection device, and specimen inspection device
WO2020189154A1 (en) * 2019-03-19 2020-09-24 株式会社豊田自動織機 Item detection device, item detection method, and industrial vehicle
JP2020201077A (en) * 2019-06-07 2020-12-17 株式会社ミツトヨ Analog indicator reader, analog indicator reading method and program
CN114549821A (en) * 2022-01-14 2022-05-27 三一建筑机器人(西安)研究院有限公司 Visual template generation method, target detection method, device and robot system

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3834297B2 (en) * 2003-05-12 2006-10-18 ファナック株式会社 Image processing device
JP2006003263A (en) * 2004-06-18 2006-01-05 Hitachi Ltd Visual information processor and application system

Also Published As

Publication number Publication date
JP2012185752A (en) 2012-09-27

Similar Documents

Publication Publication Date Title
JP5699697B2 (en) Robot device, position and orientation detection device, position and orientation detection program, and position and orientation detection method
JP5812599B2 (en) Information processing method and apparatus
JP6573354B2 (en) Image processing apparatus, image processing method, and program
JP5423406B2 (en) Information processing apparatus, information processing system, and information processing method
JP5538667B2 (en) Position / orientation measuring apparatus and control method thereof
US9235928B2 (en) 3D body modeling, from a single or multiple 3D cameras, in the presence of motion
JP6271953B2 (en) Image processing apparatus and image processing method
JP5251987B2 (en) Person determination device, method and program
WO2019035155A1 (en) Image processing system, image processing method, and program
CN110926330B (en) Image processing apparatus, image processing method, and program
JPWO2007010893A1 (en) Joint object position / posture estimation apparatus, method and program thereof
WO2012091144A4 (en) Information processing apparatus and method
JP2016099982A (en) Behavior recognition device, behaviour learning device, method, and program
KR20140033868A (en) Method and apparatus for environment modeling for ar
JP7162079B2 (en) A recording medium for recording a method, system and computer program for remotely controlling a display device via head gestures
JP4906683B2 (en) Camera parameter estimation apparatus and camera parameter estimation program
US20160005161A1 (en) Robot system
KR101478709B1 (en) Method and apparatus for extracting and generating feature point and feature descriptor rgb-d image
JP4938748B2 (en) Image recognition apparatus and program
CN113971835A (en) Control method and device of household appliance, storage medium and terminal device
JP6922348B2 (en) Information processing equipment, methods, and programs
Darujati et al. Facial motion capture with 3D active appearance models
CN115862074B (en) Human body pointing determination and screen control method and device and related equipment
JPH08212327A (en) Gesture recognition device
JP6584139B2 (en) Information processing apparatus, information processing method, and program

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140210

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20141022

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20141104

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20141226

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: 20150120

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150202

R150 Certificate of patent or registration of utility model

Ref document number: 5699697

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees