JP2015056057A - 姿勢推定方法及びロボット - Google Patents
姿勢推定方法及びロボット Download PDFInfo
- Publication number
- JP2015056057A JP2015056057A JP2013189660A JP2013189660A JP2015056057A JP 2015056057 A JP2015056057 A JP 2015056057A JP 2013189660 A JP2013189660 A JP 2013189660A JP 2013189660 A JP2013189660 A JP 2013189660A JP 2015056057 A JP2015056057 A JP 2015056057A
- Authority
- JP
- Japan
- Prior art keywords
- marker
- coordinates
- feature points
- posture
- plane
- 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.)
- Withdrawn
Links
Classifications
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01B—MEASURING LENGTH, THICKNESS OR SIMILAR LINEAR DIMENSIONS; MEASURING ANGLES; MEASURING AREAS; MEASURING IRREGULARITIES OF SURFACES OR CONTOURS
- G01B11/00—Measuring arrangements characterised by the use of optical techniques
- G01B11/24—Measuring arrangements characterised by the use of optical techniques for measuring contours or curvatures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/70—Determining position or orientation of objects or cameras
- G06T7/73—Determining position or orientation of objects or cameras using feature-based methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/20—Image preprocessing
- G06V10/24—Aligning, centring, orientation detection or correction of the image
- G06V10/245—Aligning, centring, orientation detection or correction of the image by locating a pattern; Special marks for positioning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/10—Terrestrial scenes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N13/00—Stereoscopic video systems; Multi-view video systems; Details thereof
- H04N13/20—Image signal generators
- H04N13/204—Image signal generators using stereoscopic image cameras
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30204—Marker
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30244—Camera pose
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/40—Extraction of image or video features
- G06V10/62—Extraction of image or video features relating to a temporal dimension, e.g. time-based feature extraction; Pattern tracking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V2201/00—Indexing scheme relating to image or video recognition or understanding
- G06V2201/07—Target detection
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N13/00—Stereoscopic video systems; Multi-view video systems; Details thereof
- H04N13/20—Image signal generators
- H04N13/271—Image signal generators wherein the generated image signals comprise depth maps or disparity maps
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N2213/00—Details of stereoscopic systems
- H04N2213/003—Aspects relating to the "2D+depth" image format
Landscapes
- Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Multimedia (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Signal Processing (AREA)
- Length Measuring Devices By Optical Means (AREA)
- Robotics (AREA)
- Mechanical Engineering (AREA)
- Manipulator (AREA)
- Image Processing (AREA)
- Image Analysis (AREA)
Abstract
【課題】低コストであり、かつ、精度も確保することができる姿勢推定方法及びロボットを提供すること。【解決手段】本発明にかかる画像認識方法は、カメラ10(三次元センサ20)を用いて被写体を撮像することにより生成されたカメラ画像を取得する。カメラ画像内の一定領域に含まれる複数の画素に対応する複数の座標を取得する。複数の画素における被写体からカメラ10までの距離を示す被写体距離情報を取得する。そして、取得した複数の座標及び複数の被写体距離情報に基づいて、一定領域に含まれる被写体が有する被写体面の姿勢を推定する。【選択図】図6
Description
本発明は姿勢推定方法及びロボットに関する。
周囲の環境に基づいて動作するロボットが提案されている。このようなロボットは、ロボットが活動する環境に存在する様々な平面を認識し、歩行動作、物体の把持動作、及び物体の載置動作等を行う。
例えば、特許文献1には、ステレオカメラを用いた平面推定方法が開示されている。まず、ステレオ画像を撮像し、ステレオ画像のうちの基準画像について複数の特徴点を抽出する。抽出した各特徴点について他の画像中の対応点を探索して得られる視差から三角測量の原理により3次元座標を求める。抽出した各特徴点位置の画像に類似する画像を物体の移動前後の画像から検出し、抽出した各特徴点の3次元的な移動ベクトルから平面の3次元的位置を算出する。
特許文献1に開示された方法を用いるためには、2枚の画像の視差に関する情報が必要となるため、ステレオカメラを使用しなければならない。しかしながら、ステレオカメラは、単眼カメラに比べて高価なカメラ構成である。そのため、センサ(カメラ)コストを抑えることが難しいという問題がある。なお、単眼カメラのみを用いた姿勢推定方法も提案されているが、推定精度が十分ではない。
本発明は、このような問題を解決するためになされたものであり、低コストであり、かつ、精度も確保することができる姿勢推定方法及びロボットを提供することを目的としている。
本発明の一態様にかかる姿勢推定方法は、撮像装置を用いて被写体を撮像することにより生成された撮像画像を取得し、前記撮像画像内の一定領域に含まれる複数の画素に対応する複数の座標を取得し、前記複数の画素における前記被写体から前記撮像装置までの距離を示す被写体距離情報を取得し、取得した複数の前記座標及び複数の前記被写体距離情報に基づいて、前記一定領域に含まれる前記被写体が有する被写体面の姿勢を推定するものである。これにより、ステレオカメラを用いることなく、低コストで被写体面の姿勢を推定できる。また、平面の座標だけでなく、被写体距離の情報も用いて推定しているため、推定精度も確保できる。
また、各画素が前記被写体距離情報を有する距離画像を取得し、前記撮像画像内の画素と、前記距離画像内の画素と、を対応付け、前記距離画像内の画素のうち、前記一定領域内の前記複数の画素に対応する画素から、前記被写体距離情報を取得してもよい。
また、前記複数の画素の座標及び前記被写体距離情報に基づいて、前記複数の画素の三次元座標を算出し、前記複数の画素の三次元座標に基づいて、前記一定領域に含まれる前記被写体面の姿勢を推定してもよい。
また、前記被写体面にはマーカが付されており、前記撮像画像内における前記マーカを含むマーカ領域を前記一定領域として検出し、検出した前記マーカ領域に含まれる前記マーカの姿勢を推定してもよい。
また、前記複数の画素の前記座標及び前記被写体距離情報を用いて、前記被写体面と平行な投影面の方程式を算出し、前記撮像画像における前記マーカの姿勢を示す特徴点を前記投影面に投影し、前記投影面に投影された前記特徴点の座標に基づいて、前記マーカの姿勢を推定してもよい。
また、前記撮像画像内の前記特徴点の座標をサブピクセル精度で特定し、特定した前記特徴点の座標を用いて前記投影面への投影を行ってもよい。
また、前記投影面に投影された前記特徴点の座標に基づいて、前記マーカの位置を推定し、推定した前記マーカの姿勢、推定した前記マーカの位置、及び予め設定された前記マーカのサイズに関する情報を用いて、前記投影面における前記特徴点の座標を算出し、前記投影面において算出した前記特徴点を、前記撮像画像に投影し、前記撮像画像において、撮像時における前記特徴点の座標と、投影された前記特徴点の座標と、を比較し、比較結果に基づいて、推定精度を判断してもよい。
また、前記投影面に投影された前記特徴点の座標に基づいて、前記マーカの位置を推定し、推定した前記マーカの姿勢、推定した前記マーカの位置、及び予め設定された前記マーカのサイズに関する情報を用いて、前記投影面における前記特徴点の座標を算出し、前記投影面において、算出した前記特徴点の座標と、前記マーカの姿勢を推定するときに前記撮像画像から投影された前記特徴点の座標と、を比較し、比較結果に基づいて、推定精度を判断してもよい。
また、前記マーカは略矩形状であり、前記撮像画像における前記マーカの頂点を前記特徴点として検出し、前記検出した前記特徴点の個数が2つまたは3つの場合、検出した前記特徴点から延びる前記マーカの辺を延長し、延長した前記辺が交わった交点を前記特徴点として推定してもよい。
また、前記マーカは略矩形状であり、前記撮像画像における前記マーカの頂点を前記特徴点として検出し、前記検出した前記特徴点の個数が4つ未満の場合、検出した前記特徴点から延びる前記マーカの辺を延長し、延長した辺の上の点であって、検出した前記特徴点から予め設定された距離だけ離れた点を前記特徴点として推定してもよい。
本発明の一態様にかかるロボットは、前記撮像装置と、前記被写体距離情報を取得する距離センサと、上記の姿勢推定方法を実行する姿勢推定装置と、を備えるものである。
本発明により、低コストであり、かつ、精度も確保することができる姿勢推定方法及びロボットを提供することができる。
<実施の形態1>
以下、図面を参照して本発明の実施の形態について説明する。本実施の形態にかかる姿勢推定方法は、カメラを用いて撮像されたカメラ画像内に存在するマーカの位置及び姿勢を推定する。
以下、図面を参照して本発明の実施の形態について説明する。本実施の形態にかかる姿勢推定方法は、カメラを用いて撮像されたカメラ画像内に存在するマーカの位置及び姿勢を推定する。
<姿勢推定システムの構成>
図1に本実施の形態にかかる画像処理システムのブロック図を示す。画像処理システムは、カメラ10と、三次元センサ20と、姿勢推定装置30と、を備える。
図1に本実施の形態にかかる画像処理システムのブロック図を示す。画像処理システムは、カメラ10と、三次元センサ20と、姿勢推定装置30と、を備える。
カメラ10(撮像装置)は、図示しないレンズ群やイメージセンサ等を有する。カメラ10は、撮像処理を行い、カメラ画像(撮像画像)を生成する。カメラ画像においては、各画素の位置は二次元座標(x,y)を用いて示される。また、カメラ画像とは、例えば、図2に示すような画像であり、各画素がRGBの値(色彩情報)や輝度値等を有する。なお,カメラ10は、単眼カメラである。
三次元センサ20は、撮像処理を行い、距離画像を生成する。具体的には、三次元センサ20は、カメラ10の画角に対応する画角において、カメラ10(または三次元センサ20)から被写体までの距離を示す情報(被写体距離情報)を取得する。より詳細には、三次元センサ20は、カメラ10の近傍に配置されており、三次元センサ20から被写体までの距離を被写体距離情報として取得する。そして、三次元センサ20は、被写体距離情報を用いて、距離画像を生成する。距離画像においては、各画素の位置は二次元座標を用いて示される。また、距離画像においては、各画素が写体距離情報を有する。つまり、距離画像は、被写体の奥行きに関する情報を含む画像である。例えば、図3に示すように、距離画像は、グレースケールの画像であり、被写体距離情報に応じて画素の色の濃淡が変化する。なお、三次元センサとして、例えば、TOF(Time Of Flight)方式のカメラやステレオカメラ等を用いることができる。
姿勢推定装置30は、制御部31と、マーカ認識部32と、平面推定部33と、を備える。制御部31は、CPU(Central Processing Unit)、各種プログラムが格納されたROM(Read Only Memory)、及びワークエリアとしてのRAM(Random Access Memory)等を含む半導体集積回路により構成される。制御部31は、姿勢推定装置30の各ブロックに対して指示し、姿勢推定装置30全体の処理を統括的に制御する。
マーカ認識部32は、カメラ画像内からマーカ領域(一定領域)を検出する。マーカ領域とは、カメラ画像、距離画像、及び、後述する推定された平面F内の一部の領域であり、マーカを含む領域である。つまり、マーカ領域の位置、姿勢及び姿勢は、被写体であるマーカの位置、姿勢及び形状に対応している。マーカ認識部32は、検出したマーカが有するID(識別情報)を読み取る。マーカのIDは、例えば、バーコードや二次元コード等の形式で被写体に添付されている。つまり、マーカとは被写体の個体や種類等を識別するための標識である。また、マーカ認識部32は、カメラ画像におけるマーカ領域の位置情報を取得する。マーカ領域の位置情報は、例えば、xy座標を用いて示される。なお、本実施の形態においては、マーカの形状は略矩形状であるものとする。
平面推定部33は、距離画像に基づいて、被写体が有する被写体面に付されたマーカの位置及び姿勢を推定する。具体的には、平面推定部33は、カメラ画像内のマーカ領域に対応する距離画像内の領域を、距離画像から切り出す。平面推定部33は、距離画像において切り出したマーカ領域に含まれる複数の画素の座標(二次元座標)を取得する。また、平面推定部33は、複数の画素が有する被写体距離情報を距離画像から取得する。そして、平面推定部33は、距離画像における複数の画素の座標及び被写体距離情報に基づいて、当該複数の画素の三次元座標を取得し、マーカ領域に含まれるマーカの位置及び姿勢を推定する。
このとき、カメラ10と三次元センサ20とは、互いに近接して配置されているものの、同一の位置ではない。そのため、カメラ画像の画角と距離画像の画角との間には、若干のずれが生じている。つまり、それぞれの画像における同じ被写体の同じ点の画素の位置(座標)は、異なっている。しかしながら、カメラ10と三次元センサ20との間の間隔は予め測定可能である。そのため、制御部31は、その間隔の分だけ、いずれか一方の画像における画素の座標をずらして、カメラ画像の各画素と距離画像の各画素とを対応付けることができる。これにより、カメラ画像及び距離画像において、同じ被写体の同じ点の画素が対応付けられる(キャリブレーション)。
なお、カメラ10と三次元センサ20の内部パラメータ(焦点距離、画像の原点(中心)位置、ひずみ中心、アスペクト比等)が同一の場合、上記のように、距離画像の画素の座標を基準として、カメラ画像の画素の座標をずらして対応付けるだけでよい(図4参照)。一方、カメラ10と三次元センサ20との内部パラメータが異なる場合、内部パラメータに基づいて、距離画像の各画素をカメラ画像の各画素に投影することにより、カメラ画像と距離画像との座標の対応付けを行う(図5参照)。図5に示すように、距離画像における星印の座標に対応するカメラ画像の座標を、カメラ10及び三次元センサ20の内部パラメータに基づいて算出する。なお、2台のカメラの内部パラメータが異なる場合のキャリブレーション手法は種々の方法が提案されており、既存の技術を用いることができる。そのため、キャリブレーション手法の詳細な説明は省略する。
<姿勢推定システムの動作>
続いて、本実施の形態にかかる姿勢推定方法について、図6に示すフローチャートを参照して説明する。
続いて、本実施の形態にかかる姿勢推定方法について、図6に示すフローチャートを参照して説明する。
まず、カメラ10及び三次元センサ20は、被写体を撮像する。これにより、カメラ10は、カメラ画像を生成する。また、三次元センサ20は、距離画像を生成する。姿勢推定装置30は、生成されたカメラ画像及び距離画像を取得する(ステップS101)。
マーカ認識部32は、カメラ画像からマーカ領域を検出する(ステップS102)。マーカ認識部32は、マーカの形状に基づいて、マーカ領域の検出を行う。本実施の形態においては、マーカ認識部32は、マーカが略矩形状であることを事前に記憶しているため、カメラ画像内の矩形状の領域を検出する。そして、矩形状の内部に読取可能なマーカが存在する場合、マーカ認識部32は、当該矩形状の領域をマーカ領域として検出する。
次に、マーカ認識部32は、検出したマーカのIDを読み取る(ステップS103)。本実施の形態においては、図7に示すマーカMを検出したとする。マーカ認識部32は、マーカMを読み取り、マーカのIDとして「13」を取得する。このように、マーカ認識部32は、マーカIDを取得し、マーカが付された物体の個体を識別する。
次に、平面推定部33は、カメラ画像内のマーカ領域に対応する距離画像内の領域を、距離画像から切り出す(ステップS104)。具体的には、図8に示すように、平面推定部33は、マーカ認識部32からカメラ画像におけるマーカ領域Mc(斜線領域)の位置情報を取得する。カメラ画像の各画素の座標と、距離画像の各画素の座標と、は予め対応付けられているため、平面推定部33は、カメラ画像内のマーカ領域の位置に対応する領域を、距離画像からマーカ領域Md(斜線領域)として切り出す。
平面推定部33は、距離画像において切り出したマーカ領域Mdに含まれる複数の画素の被写体距離情報を取得する。また、平面推定部33は、被写体距離情報を取得した複数の画素に対して、二次元座標(x,y)を取得する。そして、平面推定部33は、これらの情報を合わせて、それぞれの画素についての三次元座標(x,y,z)を取得する。これにより、マーカ領域Mdの各画素の位置を、三次元座標を用いて表現することができる。このように、各点の座標が三次元座標を用いて表現されたマーカ領域をマーカ領域Meとする。
平面推定部33は、マーカ領域Meに対して最適な平面を推定する(ステップS105)。具体的には、図9に示すように、平面推定部33は、マーカ領域Meに含まれる複数の画素の三次元座標を用いて、最適な平面Fの方程式を推定する。なお、マーカ領域Meに対して最適な平面Fとは、マーカ領域Meと平行な平面であり、マーカ領域Meを含む平面である。このとき、1つの平面においては、3つ以上の点の三次元座標が決まれば、平面の方程式は一意に決まる。そのため、平面推定部33は、マーカ領域Meに含まれる複数(3つ以上)の画素の三次元座標を用いて、平面の方程式を推定する。これにより、マーカ領域Meを含む平面の方程式、つまり、平面の向きを推定することができる。つまり、マーカの向き(姿勢)を推定することができる。
なお、平面の方程式は、以下の式(1)を用いて示される。A、B、C、Dは定数パラメータであり、x、y、zは、変数(三次元座標)である。最適な平面の方程式の推定は、例えば、RANSAC法(RANdom SAmple Consensus)を用いることができる。RANSAC法とは、無作為に抽出したデータ集合(マーカ領域Me内の複数の三次元座標)を用いて、パラメータ(式(1)のA、B、C、D)を推定する方法であり、広く知られている手法である。そのため、RANSAC法に関する詳細な説明は省略する。
さらに、平面推定部33は、マーカの位置及び姿勢を推定する(ステップS106)。図10に示すように、平面推定部33は、推定した平面Fにおけるマーカ領域Meの四隅の画素(X0、X1、X2、X3)の三次元座標を取得する(なお、X0=(x0,y0,z0)。X1〜X3も同様)。なお、以下の説明においては、マーカ領域の四隅の画素(マーカの4つの頂点)のことを特徴点と称す。特徴点とは、マーカの位置及び姿勢を示す点である。マーカ領域の四隅の画素の三次元座標が特定できれば、マーカの位置及び姿勢も特定できるため、マーカ領域の四隅の点は特徴点となる。勿論、特徴点とは、マーカ領域の四隅の画素に限られない。
なお、マーカ領域Meの特徴点を求める方法として、マーカ領域Meの各辺の式を推定し、各辺の交点を特徴点として推定してもよい。例えば、平面推定部33は、マーカ領域Meの辺上の複数の点の三次元座標を取得し、当該複数の点を通る直線として尤もらしい直線の式を推定することにより、各辺の式を推定することができる。
平面推定部33は、4つの特徴点の三次元座標の平均値を算出することにより、4つの特徴点の中心点Xaの三次元座標を取得する。平面推定部33は、マーカ領域の中心点Xaの三次元座標をマーカの位置として推定する。
最後に、平面推定部33は、マーカ座標系(マーカの姿勢)を推定する。図10に示すように、平面推定部33は、マーカ領域の4つの特徴点のうち、隣り合う2点を結ぶベクトルを算出する。つまり、平面推定部33は、特徴点X0とX3とを結ぶベクトルをマーカのx軸方向のベクトル(x´)として推定する。また、平面推定部33は、特徴点X0とX1とを結ぶベクトルをマーカのy軸方向のベクトル(y´)として推定する。さらに、平面推定部33は、推定した平面Fの法線を算出し、当該法線ベクトルをマーカのz軸方向のベクトル(z´)として推定する。
このとき、平面推定部33は、マーカのz軸方向のベクトルを、既に推定したx軸方向のベクトルとy軸方向のベクトルとの外積を計算することにより推定することもできる。この場合、平面Fの推定(ステップS105)の処理を行うことなく、マーカ領域Meの4つの特徴点を用いて、マーカの位置及び座標系を推定することができる。つまり、平面推定部33は、マーカ領域に含まれる複数の画素の二次元座標及び被写体距離情報を取得できれば、これらの情報からマーカ領域の三次元座標を算出し、マーカの位置及び姿勢を推定することができる。
なお、座標系の原点は、例えば、マーカ領域Meの中心点Xaとする。これにより、平面推定部33は、カメラ座標系とは異なるマーカ座標系を推定する。このように、平面推定部33は、被写体面に付されたマーカの位置及び姿勢を推定する。
以上のように、本実施の形態にかかる姿勢推定装置30の構成によれば、マーカ認識部32が、カメラ10により生成された撮像画像を取得し、マーカ領域を検出する。平面推定部33は、マーカ領域の複数の画素の座標と、マーカ領域の複数の画素の被写体距離と、を用いて、マーカ領域に含まれる複数の画素の三次元座標を取得する。そして、平面推定部33は、マーカ領域に含まれる複数の画素の三次元座標を用いて、マーカ領域と平行な平面の方程式を推定する。つまり、平面推定部33は、マーカが向いている方向(姿勢)を推定する。また、平面推定部33は、マーカ領域の4つの特徴点の三次元座標を用いて、マーカの位置及び座標系(姿勢)を推定する。このように、姿勢推定装置30は、単眼カメラと三次元センサとが生成した画像を用いてマーカの位置及び姿勢を推定することができる。つまり、カメラ1台と三次元センサ1台があれば、被写体面の姿勢を推定することができる。したがって、ステレオカメラを用いること無く、低コストで被写体面の姿勢を推定することができる。また、被写体面の三次元座標を用いて推定を行っているため、推定精度も確保することができる。
<実施の形態2>
本発明にかかる実施の形態2について説明する。本実施の形態にかかる姿勢推定装置30のブロック図を図11に示す。本実施の形態においては、平面推定部33によるマーカ領域の特徴点の推定方法が、上述の実施の形態1とは異なる。また、姿勢推定装置30は、精度評価部34をさらに備える。なお、その他の構成については、実施の形態1と同様であるため、適宜説明を省略する。
本発明にかかる実施の形態2について説明する。本実施の形態にかかる姿勢推定装置30のブロック図を図11に示す。本実施の形態においては、平面推定部33によるマーカ領域の特徴点の推定方法が、上述の実施の形態1とは異なる。また、姿勢推定装置30は、精度評価部34をさらに備える。なお、その他の構成については、実施の形態1と同様であるため、適宜説明を省略する。
平面推定部33は、マーカの位置及び姿勢を、距離画像から切り出したマーカ領域Mdの座標から直接推定せず、カメラ画像におけるマーカ領域Mcの座標を、推定した平面F(以下、投影面Fとも称す)に投影することにより、投影面におけるマーカ領域Meの正確な位置を推定する。
精度評価部34は、推定したマーカの位置及び姿勢が正確に推定されているか否かを評価する。具体的には、精度評価部34は、推定されたマーカ領域Meの位置を、平面推定部33により平面Fに投影されたマーカ領域Meの位置や、マーカ認識部32により検出されたカメラ画像におけるマーカ領域Mcの位置と比較する。そして、精度評価部34は、比較結果に基づいて、推定精度を評価する。
<姿勢推定システムの動作>
続いて、図12のフローチャートを参照して、本実施の形態にかかる平面システムの動作について説明する。なお、ステップS201〜S205の動作は、図6に示したフローチャートのステップS101〜S105と同様である。
続いて、図12のフローチャートを参照して、本実施の形態にかかる平面システムの動作について説明する。なお、ステップS201〜S205の動作は、図6に示したフローチャートのステップS101〜S105と同様である。
まず、マーカ認識部32が、カメラ10が生成したカメラ画像及び三次元センサが生成した距離画像を取得する(ステップS201)。そして、マーカ認識部32は、カメラ画像内のマーカ領域Mcを検出する(ステップS202)。マーカ認識部32は、認識したマーカのIDを読み取る(ステップS203)。そして、平面推定部33は、カメラ画像内のマーカ領域Mcに対応する距離画像内の領域を切り出す(ステップS204)。平面推定部33は、距離画像内におけるマーカ領域Mdの画素の座標及び被写体距離情報を用いて三次元座標を取得する。そして、平面推定部33は、複数の三次元座標に基づいて、マーカ領域Meが存在する最適な平面の向き(方程式)を推定する(ステップS205)。
次に、平面推定部33は、カメラ画像内のマーカ領域Mcを推定した平面Fに投影する(ステップS206)。具体的には、平面推定部33は、カメラ画像内のマーカ領域Mcの4つの特徴点の座標をサブピクセル精度で取得する。つまり、特徴点のx座標及びy座標の値に整数だけでなく、小数も含まれる。そして、平面推定部33は、取得した座標のそれぞれを投影面Fに投影し、投影面Fにおけるマーカ領域Meの4つの特徴点の三次元座標を算出する。投影面Fにおけるマーカ領域Meの4つの特徴点の三次元座標の算出は、カメラ10の内部パラメータ(焦点距離、画像中心座標)を用いた射影変換(中心投影変換)を行うことにより算出することができる。
より詳細には、図13に示すように、カメラ画像C内におけるマーカ領域Mcの4つの特徴点Ti(T0〜T3)の座標を(ui,vi)とし、投影面におけるマーカ領域Meの4つの特徴点Xi(X0〜X3)の三次元座標を(xi,yi,zi)とする。このとき、カメラ画像内と投影面内の対応する座標には以下の式(2)〜(4)が成り立つ。なお、fxは、カメラ10のx方向の焦点距離を示し、fyは、カメラ10のy方向の焦点距離を示す。また、Cx、Cyは、カメラ画像の中心座標を意味する。
上記の式(2)は、マーカ領域Meを含む平面F(投影面)の式である。式(3)(4)は、図13において、カメラ画像C内の特徴点と、平面F内の特徴点と、を結ぶ破線の式である。このため、投影面Fにおけるマーカ領域Meの特徴点(X0〜X3)の三次元座標を求めるには、式(2)〜(4)の連立方程式を、カメラ画像C内のマーカ領域Mcの特徴点の各点(T0〜T3)について計算すればよい。なお、iは特徴点の番号を意味する。
平面推定部33は、投影面Fにおけるマーカ領域Meの特徴点の三次元座標を算出すると、マーカの位置及び姿勢を推定する(ステップS207)。具体的には、平面推定部33は、マーカ領域Meの4つの特徴点の平均値(マーカ領域Meの中心点Xaの座標)を算出し、マーカの位置を示す三次元座標を取得する。また、平面推定部33は、マーカ領域Meの4つの特徴点の三次元座標を用いて、マーカのx軸方向のベクトル及びy軸方向のベクトルを推定する。さらに、平面推定部33は、投影面Fの法線を算出することにより、z軸方向のベクトルを推定する。なお、平面推定部33は、x軸方向のベクトルとy軸方向のベクトルの外積を計算することにより、z軸方向のベクトルを推定してもよい。これにより、平面推定部33は、マーカ座標系(マーカの姿勢)を推定する。
最後に、精度評価部34は、推定したマーカの位置及び姿勢の推定精度の信頼度を評価する(ステップS208)。評価方法は、三次元空間(推定した平面F)において評価する方法と、二次元空間(カメラ画像)において評価する方法と、が考えられる。
まず、三次元空間における評価方法について図14を参照して説明する。精度評価部34は、平面推定部33が投影面Fに投影したマーカ領域Meの三次元座標と、推定されたマーカの位置、姿勢、及びマーカのサイズを用いて算出されるマーカ領域の三次元座標と、を比較し、三次元座標の誤差δを算出する。例えば、精度評価部34は、以下の式(5)を用いて、マーカ領域の特徴点の三次元座標について誤差δを算出する。なお、Xはカメラ画像から投影面に投影されたマーカ領域Meの特徴点の三次元座標、X´は推定されたマーカ領域の特徴点の三次元座標を意味する。具体的には、特徴点X´は、推定したマーカの位置(マーカの中心点の三次元座標)と、推定したマーカ座標系と、予め設定されたマーカの各辺の長さや形状(精度評価部34が予め取得しているものとする)と、に基づいて、推定されるマーカの特徴点である。iは特徴点の番号を意味する。
そして、精度評価部34は、以下の式(6)を用いて、推定されたマーカの位置及び姿勢の信頼性を判断する。なお、αは信頼度、θは信頼度が0となる誤差の閾値を意味する。
精度評価部34は、信頼度αが閾値より高いか否かを判定する(ステップS209)。信頼度αが閾値よりも高い場合(ステップS209:Yes)、精度評価部34は、推定結果を採用し、フローを終了する。一方、信頼度αが閾値以下である場合(ステップS209:No)、精度評価部34は、推定結果を棄却する。そして、姿勢推定装置30は、再度、マーカ検出処理(ステップS202)から処理をやり直す。例えば、精度評価部34は、信頼度αが0.8以上の場合に推定結果を採用し、信頼度αが0.8未満の場合に推定結果を棄却する。
次に、二次元空間における評価方法について図15を参照して説明する。精度評価部34は、推定した位置及び姿勢をマーカのサイズを考慮して、投影面において推定したマーカ領域をカメラ画像平面に対して再度投影する。そして、精度評価部34は、投影したマーカ領域の位置と、カメラ画像におけるマーカ領域Mcの位置と、を比較し、二次元座標の誤差δを算出する。例えば、精度評価部34は、以下の式(7)を用いて、マーカ領域の特徴点の二次元座標について誤差δを算出する。なお、Pはカメラ画像(撮像時)におけるマーカ領域Mcの特徴点の二次元座標、P´は推定されたマーカの特徴点X´(図14のX´と同じ)をカメラ画像に投影した際のマーカ領域の特徴点の二次元座標、iは特徴点の番号を意味する。
信頼度αについては、上記の式(6)と同様の式を用いて算出できる。なお、精度評価部34は、上記した2つの評価方法の両方を用いて、推定精度を評価してもよいし、いずれか一方を用いて評価してもよい。
以上のように、本実施の形態にかかる姿勢推定装置30の構成によれば、平面推定部33は、マーカを含む平面として推定した投影面に対して、カメラ画像におけるマーカ領域Mcを投影する。そして、平面推定部33は、投影面Fに投影されたマーカ領域Meの4つの特徴点の三次元座標を用いて、マーカの位置及び姿勢を推定する。このとき、実施の形態1のように、距離画像から切り出したマーカ領域Mdの座標及び被写体距離情報のみを用いて推定を行う場合、切り出す際の誤差の影響で、特徴点の三次元座標の推定に誤差が生じてしまう可能性がある。これに対して、本実施の形態においては、平面推定部33は、マーカ領域Meの4つの特徴点の三次元座標は、カメラ画像における特徴点を、推定した投影面Fに投影することにより算出している。このため、切り出し誤差の影響を受けずにマーカ領域の位置及び姿勢を推定できる。その結果、推定精度を向上させることができる。
また、平面推定部33は、マーカ領域Mcの投影の際に、カメラ画像における特徴点の座標を、サブピクセル精度で特定している。このため、画素単位で行う推定よりも、より精度の高い推定をすることができる。
さらに、精度評価部34が、推定されたマーカ領域の推定精度を評価し、閾値以下の精度の場合には、推定結果を棄却する。このため、精度の高い推定結果のみを採用することができる。また、推定結果の精度が低い場合には、再度推定しなおす等の対応をとることができる。したがって、十分な精度の推定結果を取得することができる。
(変形例)
本実施の形態にかかる変形例について説明する。変形例においては、マーカが付された被写体面が平面ではなく、曲面である場合について説明する。つまり、姿勢推定装置30は、距離画像から切り出されたマーカ領域に対して、最適な素形状を推定する。なお、姿勢推定装置30の構成は、図11に示した構成と同様であるため、詳細な説明は適宜省略する。
本実施の形態にかかる変形例について説明する。変形例においては、マーカが付された被写体面が平面ではなく、曲面である場合について説明する。つまり、姿勢推定装置30は、距離画像から切り出されたマーカ領域に対して、最適な素形状を推定する。なお、姿勢推定装置30の構成は、図11に示した構成と同様であるため、詳細な説明は適宜省略する。
変形例にかかる姿勢推定方法も図12のフローチャートと同様の処理が行われる。まず、マーカ認識部32が、カメラ画像からマーカを検出する。なお、変形例においては、図16に示すように、円柱の被写体面にマーカが付されているものとする。つまり、マーカは曲面形状をしている。
マーカ認識部32は、認識したマーカのIDを読み取る。そして、図17に示すように、平面推定部33は、カメラ画像内のマーカ領域Mcに対応する距離画像内の領域Mdを切り出す。
次に、平面推定部33は、切り出したマーカ領域Mdに含まれる複数の画素の座標及び被写体距離情報に基づいて、複数の画素の三次元座標を取得する。そして、平面推定部33は、取得した三次元座標を用いて、例えばRANSAC法によりマーカが付された円柱Eの方程式を推定する(図18参照)。このとき、円柱の方程式は、以下の式(8)により示される。a、b、rは、定数パラメータである。rは、円柱の半径を示す。なお、平面推定部33は、予めマーカが曲面であることを認識しているものとする。例えば、ユーザにより予めマーカの形状が入力されていてもよいし、読み取ったマーカの情報にマーカの形状に関する情報を含めてもよい。
平面推定部33は、円柱の方程式を推定すると、カメラ画像におけるマーカ領域Mcを推定した円柱Eに投影する。つまり、平面推定部33は、図19に示すように、式(3)(4)(8)を用いて、カメラ画像Cにおけるマーカ領域Mcの特徴点の画素の座標を、推定した円柱Eの側面における三次元座標として投影する。
平面推定部33は、推定した円柱におけるマーカ領域Meの特徴点の三次元座標を用いて、マーカの位置を推定する。図20に示すように、平面推定部33は、例えば、マーカ領域Meの中心点Xaの三次元座標をマーカの位置として推定する。マーカ領域Meの中心点Xaの三次元座標は、例えば、マーカ領域Meの特徴点(X0〜X3)の三次元座標を用いて、以下の式(9)を計算することにより求めることができる。
つまり、マーカの位置は、4つの特徴点の三次元座標の平均値で示される。なお、Xiはマーカ領域のi番目の特徴点を示す。Xi=(xi,yi,zi)である。
次に、平面推定部33は、マーカ座標系(マーカの姿勢)を推定する。具体的には、図20に示すように、平面推定部33は、x軸方向において、マーカ領域Meの特徴点X0とX3を結ぶベクトルと、特徴点X1とX2とを結ぶベクトルと、の平均を以下の式(10)を用いて算出し、x軸方向のベクトルnxを推定する。
同様に、平面推定部33は、y軸方向において、マーカ領域Meの特徴点の座標X0とX1を結ぶベクトルと、特徴点X2とX3とを結ぶベクトルと、の平均を以下の式(11)を用いて算出し、y軸方向のベクトルnyを推定する。
さらに、平面推定部33は、マーカ領域Meのz軸方向のベクトルnzを、以下の式(12)を用いて推定する。つまり、ベクトルnzは、既に算出したベクトルnxとベクトルnyの外積により求めることができる。
最終的に、マーカの姿勢Rは、以下の式(13)を用いて表される。つまり、マーカの姿勢Rは、x軸方向、y軸方向、z軸方向のベクトルを正規化し、回転行列を用いて表現される。
そして、下記の式(14)のように、マーカの位置姿勢行列Σmrkを用いて、算出したマーカの位置及び姿勢を表す。
このように、本実施の形態にかかる姿勢推定装置30は、マーカが曲面に付されている場合であっても、マーカ領域Meの三次元座標を取得し、マーカが存在する曲面(円柱)を推定する。そして、姿勢推定装置30は、カメラ画像内のマーカ領域Mcの特徴点を、推定した曲面に投影し、曲面(円柱E)におけるマーカの特徴点を算出する。これにより、マーカの位置及び姿勢を推定することができる。
<実施の形態3>
本発明にかかる実施の形態3について説明する。本実施の形態にかかる姿勢推定装置30は、カメラ画像内のマーカの一部が隠れている状態において、マーカの位置及び姿勢を推定する。なお、基本的な推定方法は、図6や図12のフローチャートと同様であるため、詳細な説明は適宜省略する。
本発明にかかる実施の形態3について説明する。本実施の形態にかかる姿勢推定装置30は、カメラ画像内のマーカの一部が隠れている状態において、マーカの位置及び姿勢を推定する。なお、基本的な推定方法は、図6や図12のフローチャートと同様であるため、詳細な説明は適宜省略する。
<マーカの特徴点が1つ隠れている場合>
はじめに、図21に示すように、マーカの4つの特徴点のうちの1つの特徴点が隠れている場合における推定方法について説明する。まず、マーカ認識部32は、カメラ画像におけるマーカ領域Mcを検出する。
はじめに、図21に示すように、マーカの4つの特徴点のうちの1つの特徴点が隠れている場合における推定方法について説明する。まず、マーカ認識部32は、カメラ画像におけるマーカ領域Mcを検出する。
このとき、マーカの1つの特徴点が隠れているため、マーカ認識部32が検出できる特徴点の個数は3つである。そのため、マーカ認識部32は、矩形状のマーカ領域を認識できない。そのため、図22に示すように、マーカ認識部32は、カメラ画像において、隠れている特徴点T2に延びる2本の辺L1、L2を延長する。マーカ認識部32は、延長した2つの辺L1、L2が交わった場合、その交点を隠れている特徴点T2として推定する。そして、マーカ認識部32は、4つの点で形成される領域が略矩形状である場合、当該領域をマーカ領域Mcであると判定する。
また、マーカの色が特徴的な場合には、マーカ認識部32は、マーカ特有の色情報を用いて、マーカ領域Mcを検出してもよい。例えば、図21に示すように、マーカが白と黒の色だけで構成された矩形である場合、マーカ認識部32は、白と黒のみで構成された領域をマーカ領域と判定する。
次に、平面推定部33は、マーカ領域Meを含む平面を推定する。つまり、平面推定部33は、カメラ画像においてマーカ領域Mcと判定された領域に対応する領域を、距離画像から切り出す。そして、距離画像におけるマーカ領域Mdに含まれる複数の画素の座標及び被写体距離情報から算出される三次元座標を取得し、マーカ領域Meを含む平面(平面の方程式)を推定する。
そして、平面推定部33は、上記の式(2)〜(4)を用いて、カメラ画像において認識できたマーカ領域Mcの3つ特徴点T0、T1、T3を、推定した平面(投影面)に投影する。これにより、平面推定部33は、マーカ領域Meの3つの特徴点X0、X1、X3の投影面における三次元座標を取得する。
次に、平面推定部33は、図23に示すように、カメラ画像において認識できた3つの特徴点X0、X1、X3のうち、隣接しない2つの特徴点X1、X3の三次元座標を用いて、当該2点を結ぶ線分(マーカの対角線)を算出する。そして、平面推定部33は、対角線の中点Xaの三次元座標を取得する。これにより、平面推定部33は、マーカ領域Meの中心点Xaの三次元座標を、マーカの位置を示す座標として取得する。
また、平面推定部33は、マーカ座標系を推定する。具体的には、平面推定部33は、認識できたマーカ領域Meの3つの特徴点X0、X1、X3の間を結ぶ2本の辺のベクトルを算出する。図24に示すように、平面推定部33は、特徴点X0から特徴点X3に向かうベクトルをx軸方向のベクトルとして推定する。また、平面推定部33は、特徴点X0から特徴点X1に向かうベクトルをy軸方向のベクトルとして推定する。そして、平面推定部33は、マーカ領域Meを含む平面の法線をz軸方向のベクトルとして算出する。これにより、平面推定部33は、マーカ座標系(マーカの姿勢)を推定する。なお、z軸方向のベクトルの算出については、既に算出したx軸方向のベクトルとy軸方向のベクトルの外積を算出することによっても求めることができる。
<マーカの特徴点が2つ隠れている場合>
続いて、マーカの4つの特徴点のうち2つが隠れている場合における推定方法について説明する。なお、図25に示すように、マーカの4つの特徴点うち、隣接する2つの特徴点が隠れているものとする。
続いて、マーカの4つの特徴点のうち2つが隠れている場合における推定方法について説明する。なお、図25に示すように、マーカの4つの特徴点うち、隣接する2つの特徴点が隠れているものとする。
まず、マーカ認識部32は、カメラ画像におけるマーカ領域Mcを特定する。マーカの隣接する2つの特徴点が隠れている場合、マーカ認識部32が検出できる特徴点の個数は2つである。このため、マーカの認識できる辺を延長しただけでは矩形状は形成されないため、形状に基づいてマーカ領域Mcを検出することは困難である。そのため、マーカ認識部32は、マーカ特有の色情報に基づいて、マーカ領域Mcを検出する。
次に、平面推定部33は、マーカ領域Meを含む平面を推定する。つまり、平面推定部33は、カメラ画像においてマーカ領域Mcと判定された領域に対応する距離画像内の領域を、距離画像から切り出す。そして、平面推定部33は、距離画像におけるマーカ領域Mdに含まれる複数の画素の座標及び被写体距離情報から算出される三次元座標を取得し、マーカ領域Meを含む平面(平面の方程式)を推定する。
そして、平面推定部33は、上記の式(2)〜(4)を用いて、カメラ画像において認識できたマーカ領域Mcの2つ特徴点を、推定した平面(投影面)に投影する。さらに、平面推定部33は、推定した平面において、隠れている2つの特徴点の三次元座標を推定する。例えば、平面推定部33は、マーカの形状情報を予め取得しているものとする。ここで、形状情報とは、矩形状のマーカが正方形であるか否かを示す情報、各辺の長さの比、各辺の長さ等を意味する情報である。そして、平面推定部33は、マーカの形状情報を用いて、隠れている2つの特徴点の三次元座標を推定する。
例えば、図26に示すように、平面推定部33が、マーカが正方形であるという形状情報を有しているとする。この場合、平面推定部33は、推定した平面上に位置すること、隠れている特徴点に延びる辺L1、L3の延長上に位置すること、及び、認識された特徴点X0、X1からの距離が認識された2点(X0、X1)間の距離と同じであること、の全ての条件を満たす点を特徴点X2、X3として推定する。これにより、平面推定部33は、マーカ領域Meの全ての特徴点の三次元座標を取得する。そして、図27に示すように、平面推定部33は、マーカ領域Meの全ての特徴点の三次元座標の平均値を、マーカの位置を示す中心点Xaの座標として推定する。また、平面推定部33は、対角線の中点または対角線の交点の三次元座標をマーカの位置を示す座標として推定してもよい。
また、平面推定部33は、マーカ座標系を推定する。具体的には、図28に示すように、平面推定部33は、カメラ画像において認識できた特徴点X0、X1を結ぶベクトルをy軸方向のベクトルとして推定する。また、平面推定部33は、推定した平面の法線をz軸方向のベクトルとして推定する。そして、平面推定部33は、既に算出したy軸方向のベクトルとz軸方向のベクトルの外積を、x軸方向のベクトルとして推定する。これにより、平面推定部33は、マーカ座標系(マーカの姿勢)を推定する。
<マーカの特徴点が2つ隠れている場合>
続いて、マーカの4つの特徴点のうちの2つが隠れている場合における推定方法について説明する。なお、図29に示すように、マーカの4つの特徴点のうち、対角線上に位置する2つの特徴点が隠れているものとする。まず、マーカ認識部32は、カメラ画像におけるマーカ領域Mcを検出する。マーカ認識部32が検出できる特徴点の個数は2つである。このため、形状に基づいてマーカ領域Mcを検出することは困難である。このため、マーカ認識部32は、上記と同様に、マーカ特有の色情報に基づいて、マーカ領域Mcを検出する。
続いて、マーカの4つの特徴点のうちの2つが隠れている場合における推定方法について説明する。なお、図29に示すように、マーカの4つの特徴点のうち、対角線上に位置する2つの特徴点が隠れているものとする。まず、マーカ認識部32は、カメラ画像におけるマーカ領域Mcを検出する。マーカ認識部32が検出できる特徴点の個数は2つである。このため、形状に基づいてマーカ領域Mcを検出することは困難である。このため、マーカ認識部32は、上記と同様に、マーカ特有の色情報に基づいて、マーカ領域Mcを検出する。
次に、平面推定部33は、マーカ領域Meを含む平面を推定する。つまり、平面推定部33は、カメラ画像においてマーカ領域Mcと判定された領域に対応する距離画像内の領域を、距離画像から切り出す。そして、平面推定部33は、距離画像におけるマーカ領域Mdに含まれる複数の画素の座標及び被写体距離情報から算出される三次元座標を取得し、マーカ領域Meを含む平面(平面の方程式)を推定する。
そして、平面推定部33は、式(2)〜(4)を用いて、カメラ画像において認識できたマーカ領域Mcの2つの特徴点の座標を、推定した平面(投影面)に投影する。
さらに、平面推定部33は、図30に示すように、投影面に投影したマーカ領域Meにおいて、カメラ画像において認識できた特徴点X0から延びる2つの辺L0、L3をそれぞれ延長する。また、平面推定部33は、カメラ画像において認識できた特徴点X2から延びる2つの辺L1、L2をそれぞれ延長する。そして、平面推定部33は、延長した辺の交点をマーカ領域Meの特徴点X1、X3であると推定する。より詳細には、平面推定部33は、推定した平面上に位置すること、かつ、延長した辺L1、L2の延長上にあること、の条件を満たす点を隠れている2つの特徴点X1、X3として推定する。そして、図31に示すように、平面推定部33は、4つの特徴点の三次元座標の平均値を、マーカの位置を示す中心点Xaの座標として推定する。つまり、平面推定部33は、マーカ領域Meの中心点Xaの座標を推定する。
さらに、図32に示すように、平面推定部33は、マーカの4つの特徴点のうち、隣接する2点を結ぶベクトルをx軸方向のベクトル及びy軸方向のベクトルとして推定する。さらに、平面推定部33は、マーカ領域Meを含む平面の法線ベクトルをz軸方向のベクトルとして推定する。これにより、平面推定部33は、マーカ座標系(マーカの姿勢)を推定する。
<マーカの特徴点が3つ隠れている場合>
続いて、図33に示すように、マーカの4つの特徴点のうちの3つが隠れている場合における推定方法について説明する。マーカ認識部32が検出できる特徴点の個数は1つである。このため、形状に基づいてマーカ領域Mcを検出することは困難である。このため、まず、マーカ認識部32は、マーカ特有の色情報に基づいて、カメラ画像におけるマーカ領域Mcを検出する。
続いて、図33に示すように、マーカの4つの特徴点のうちの3つが隠れている場合における推定方法について説明する。マーカ認識部32が検出できる特徴点の個数は1つである。このため、形状に基づいてマーカ領域Mcを検出することは困難である。このため、まず、マーカ認識部32は、マーカ特有の色情報に基づいて、カメラ画像におけるマーカ領域Mcを検出する。
次に、平面推定部33は、マーカ領域Meを含む平面を推定する。つまり、平面推定部33は、カメラ画像においてマーカ領域Mcと認識された領域に対応する距離画像内の領域を、距離画像から切り出す。そして、距離画像におけるマーカ領域Mdに含まれる複数の画素の座標及び被写体距離情報から算出される三次元座標を取得し、マーカ領域Meを含む平面(平面の方程式)を推定する。
そして、平面推定部33は、式(2)〜(4)を用いて、カメラ画像において認識できたマーカ領域Mcの1つ特徴点の座標を、推定した平面に投影する。
さらに、図34に示すように、平面推定部33は、投影面に投影したマーカ領域Meにおいて、認識できた特徴点X0に隣接する2つの特徴点X1、X3の三次元座標を推定する。このとき、平面推定部33は、マーカの形状情報(マーカが正方形であるか否か、及び、各辺の長さ)を用いて、隠れている2つの特徴点X1、X3の三次元座標を推定する。つまり、平面推定部33は、認識できた特徴点X0から延びる辺L0、L3の延長上に位置する点であり、かつ、認識できた特徴点X0から予め取得している辺の長さの距離dだけ離れた点を、隠れている2つの特徴点X1、X3として推定する。
平面推定部33は、推定した2つの特徴点X1、X3を結ぶ線分(マーカの対角線)の中点Xaの三次元座標を、マーカの位置を示す座標として推定する。
次に、平面推定部33は、認識できた特徴点X0から推定した特徴点X3に延びる辺L3のベクトルをx軸方向のベクトルとして推定する。また、平面推定部33は、認識できた特徴点X0から推定した特徴点X1に延びる辺L1のベクトルをy軸方向のベクトルとして推定する。さらに、平面推定部33は、推定した平面の法線ベクトルをz軸方向のベクトルとして推定する。これにより、平面推定部33は、マーカ座標系(マーカの姿勢)を推定する。
以上のように、本実施の形態にかかる姿勢推定装置の構成によれば、カメラ画像において、マーカの特徴点が隠れている状態であっても、平面推定部33がマーカの辺を、隠れた特徴点に向けて延長する。そして、平面推定部33は、延長させた辺と、マーカの他の辺を延長させた線分と、の交点をマーカの特徴点と推定する。または、平面推定部33は、延長させた辺上の点であって、認識できた特徴点から予め取得したマーカの辺の長さだけ離れた点をマーカの特徴点と推定する。これにより、カメラ画像において、マーカ認識部32が、マーカの4つの特徴点の全てを認識できない場合であっても、平面推定部33は、マーカの位置及び姿勢を推定することができる。
<その他の実施の形態>
本発明にかかるその他の実施の形態について説明する。上述の実施の形態においては、被写体面に付されたマーカを認識し、IDを読み取ることにより個体の識別を行う例について説明したが、これに限られるものではない。
本発明にかかるその他の実施の形態について説明する。上述の実施の形態においては、被写体面に付されたマーカを認識し、IDを読み取ることにより個体の識別を行う例について説明したが、これに限られるものではない。
例えば、姿勢推定装置30が、推定対象となる個体毎に異なる図形のテンプレート画像を予め記憶しておき、カメラ画像に対してテンプレート画像を用いたテンプレートマッチングを行ってもよい。このような方法においても、推定対象となる個体を認識することができる。
また、推定対象となる被写体面(カメラ画像内の一定領域)の特定及び選択は、必ずしもマーカや図形等を用いて自動的に行われなくてもよい。例えば、カメラ画像内に存在する被写体のうち、推定対象となる被写体面をユーザが操作キーやタッチパネル等を用いて選択してもよい。さらに、カメラ画像内の所定の領域(カメラの画角の中心領域、右上領域、左下領域等の予め固定された領域)に含まれる被写体面を推定対象として特定してもよい。
さらに、上記の実施の形態においては、姿勢推定装置を含む画像処理システムとして説明を行ったが、これらのシステム全体をロボットに適用してもよい。
例えば、周囲環境から所定の検出物体を検出する必要があるロボットに対して、上記の画像処理システムを適用することができる。具体的には、ロボットは、カメラと、三次元センサと、姿勢推定装置と、を備える。なお、周囲環境に応じて移動するロボットは、通常、周囲環境の状況を把握するために、カメラと三次元センサとを備えているため、これらの装置を流用してもよい。
ロボットは、カメラを用いてカメラ画像を生成する。また、三次元センサを用いて距離画像を生成する。そして、上述したように、姿勢推定装置は、距離画像から被写体距離情報を取得し、マーカ領域内の複数の画素の三次元座標を取得する。
このとき、ロボットは、必ずしも距離画像を生成しなくてもよい。例えば、ロボットは、単純な距離センサ等を用いて、複数の画素に存在する被写体までの被写体距離を、個別に検出してもよい。これにより、距離画像を生成することなく、複数の画素における被写体距離を取得することができる。
なお、本発明は上記実施の形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更及び組み合わせをすることが可能である。
10 カメラ
20 三次元センサ
30 姿勢推定装置
31 制御部
32 マーカ認識部
33 平面推定部
34 精度評価部
20 三次元センサ
30 姿勢推定装置
31 制御部
32 マーカ認識部
33 平面推定部
34 精度評価部
Claims (11)
- 撮像装置を用いて被写体を撮像することにより生成された撮像画像を取得し、
前記撮像画像内の一定領域に含まれる複数の画素に対応する複数の座標を取得し、
前記複数の画素における前記被写体から前記撮像装置までの距離を示す被写体距離情報を取得し、
取得した複数の前記座標及び複数の前記被写体距離情報に基づいて、前記一定領域に含まれる前記被写体が有する被写体面の姿勢を推定する姿勢推定方法。 - 各画素が前記被写体距離情報を有する距離画像を取得し、
前記撮像画像内の画素と、前記距離画像内の画素と、を対応付け、
前記距離画像内の画素のうち、前記一定領域内の前記複数の画素に対応する画素から、前記被写体距離情報を取得する請求項1に記載の姿勢推定方法。 - 前記複数の画素の座標及び前記被写体距離情報に基づいて、前記複数の画素の三次元座標を算出し、
前記複数の画素の三次元座標に基づいて、前記一定領域に含まれる前記被写体面の姿勢を推定する請求項1または2に記載の姿勢推定方法。 - 前記被写体面にはマーカが付されており、
前記撮像画像内における前記マーカを含むマーカ領域を前記一定領域として検出し、
検出した前記マーカ領域に含まれる前記マーカの姿勢を推定する請求項1〜3のいずれか一項に記載の姿勢推定方法。 - 前記複数の画素の前記座標及び前記被写体距離情報を用いて、前記被写体面と平行な投影面の方程式を算出し、
前記撮像画像における前記マーカの姿勢を示す特徴点を前記投影面に投影し、
前記投影面に投影された前記特徴点の座標に基づいて、前記マーカの姿勢を推定する請求項4に記載の姿勢推定方法。 - 前記撮像画像内の前記特徴点の座標をサブピクセル精度で特定し、特定した前記特徴点の座標を用いて前記投影面への投影を行う請求項5に記載の姿勢推定方法。
- 前記投影面に投影された前記特徴点の座標に基づいて、前記マーカの位置を推定し、
推定した前記マーカの姿勢、推定した前記マーカの位置、及び予め設定された前記マーカのサイズに関する情報を用いて、前記投影面における前記特徴点の座標を算出し、
前記投影面において算出した前記特徴点を、前記撮像画像に投影し、
前記撮像画像において、撮像時における前記特徴点の座標と、投影された前記特徴点の座標と、を比較し、
比較結果に基づいて、推定精度を判断する請求項5または6に記載の姿勢推定方法。 - 前記投影面に投影された前記特徴点の座標に基づいて、前記マーカの位置を推定し、
推定した前記マーカの姿勢、推定した前記マーカの位置、及び予め設定された前記マーカのサイズに関する情報を用いて、前記投影面における前記特徴点の座標を算出し、
前記投影面において、算出した前記特徴点の座標と、前記マーカの姿勢を推定するときに前記撮像画像から投影された前記特徴点の座標と、を比較し、
比較結果に基づいて、推定精度を判断する請求項5または6に記載の姿勢推定方法。 - 前記マーカは略矩形状であり、
前記撮像画像における前記マーカの頂点を前記特徴点として検出し、
前記検出した前記特徴点の個数が2つまたは3つの場合、検出した前記特徴点から延びる前記マーカの辺を延長し、
延長した前記辺が交わった交点を前記特徴点として推定する請求項5〜8のいずれか一項に記載の姿勢推定方法。 - 前記マーカは略矩形状であり、
前記撮像画像における前記マーカの頂点を前記特徴点として検出し、
前記検出した前記特徴点の個数が4つ未満の場合、検出した前記特徴点から延びる前記マーカの辺を延長し、
延長した辺の上の点であって、検出した前記特徴点から予め設定された距離だけ離れた点を前記特徴点として推定する請求項5〜8のいずれか一項に記載の姿勢推定方法。 - 前記撮像装置と、
前記被写体距離情報を取得する距離センサと、
請求項1〜10のいずれか一項に記載の姿勢推定方法を実行する姿勢推定装置と、
を備えるロボット。
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013189660A JP2015056057A (ja) | 2013-09-12 | 2013-09-12 | 姿勢推定方法及びロボット |
KR1020157033566A KR20160003776A (ko) | 2013-09-12 | 2014-07-29 | 자세 추정 방법 및 로봇 |
US14/894,843 US20160117824A1 (en) | 2013-09-12 | 2014-07-29 | Posture estimation method and robot |
PCT/JP2014/003976 WO2015037178A1 (ja) | 2013-09-12 | 2014-07-29 | 姿勢推定方法及びロボット |
DE112014004190.4T DE112014004190T5 (de) | 2013-09-12 | 2014-07-29 | Positurschätzverfahren und Roboter |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013189660A JP2015056057A (ja) | 2013-09-12 | 2013-09-12 | 姿勢推定方法及びロボット |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2015056057A true JP2015056057A (ja) | 2015-03-23 |
Family
ID=52665313
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2013189660A Withdrawn JP2015056057A (ja) | 2013-09-12 | 2013-09-12 | 姿勢推定方法及びロボット |
Country Status (5)
Country | Link |
---|---|
US (1) | US20160117824A1 (ja) |
JP (1) | JP2015056057A (ja) |
KR (1) | KR20160003776A (ja) |
DE (1) | DE112014004190T5 (ja) |
WO (1) | WO2015037178A1 (ja) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2017076893A (ja) * | 2015-10-15 | 2017-04-20 | 凸版印刷株式会社 | ホログラムを用いた色校正シートおよび色校正方法 |
JP2017118396A (ja) * | 2015-12-25 | 2017-06-29 | Kddi株式会社 | デプスカメラの内部パラメータを算出するプログラム、装置及び方法 |
WO2018076776A1 (zh) * | 2016-10-25 | 2018-05-03 | 深圳光启合众科技有限公司 | 机器人、机械臂及其控制方法和装置 |
US10452950B2 (en) | 2016-05-25 | 2019-10-22 | Toyota Jidosha Kabushiki Kaisha | Object recognition apparatus, objection recognition method, and program |
WO2019225133A1 (ja) * | 2018-05-22 | 2019-11-28 | 株式会社小松製作所 | 油圧ショベル、およびシステム |
US11536814B2 (en) | 2018-07-12 | 2022-12-27 | Fanuc Corporation | Distance measuring apparatus having distance correction function |
WO2023157443A1 (ja) * | 2022-02-21 | 2023-08-24 | 株式会社日立製作所 | 物体姿勢算出装置および物体姿勢算出方法 |
Families Citing this family (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10196088B2 (en) * | 2011-04-19 | 2019-02-05 | Ford Global Technologies, Llc | Target monitoring system and method |
DE102016002186A1 (de) * | 2016-02-24 | 2017-08-24 | Testo SE & Co. KGaA | Verfahren und Bildverarbeitungsvorrichtung zur Bestimmung einer geometrischen Messgröße eines Objektes |
KR101897775B1 (ko) * | 2016-03-04 | 2018-09-12 | 엘지전자 주식회사 | 이동 로봇 및 그 제어방법 |
WO2018184246A1 (zh) * | 2017-04-08 | 2018-10-11 | 闲客智能(深圳)科技有限公司 | 一种眼动识别方法及装置 |
JP2019084645A (ja) * | 2017-11-09 | 2019-06-06 | 国立大学法人 東京大学 | 位置情報取得装置およびそれを備えたロボット制御装置 |
CN107956213B (zh) * | 2017-11-21 | 2023-09-29 | 济南东之林智能软件有限公司 | 自动注水方法和装置 |
JP6901386B2 (ja) * | 2017-12-08 | 2021-07-14 | 株式会社東芝 | 勾配推定装置、勾配推定方法、プログラムおよび制御システム |
CN108198216A (zh) * | 2017-12-12 | 2018-06-22 | 深圳市神州云海智能科技有限公司 | 一种机器人及其基于标识物的位姿估计方法和装置 |
CN108765457B (zh) * | 2018-04-11 | 2021-09-07 | 深圳市瑞立视多媒体科技有限公司 | 一种捕捉球的运动姿态识别方法及其装置 |
KR102106858B1 (ko) * | 2018-11-27 | 2020-05-06 | 노성우 | 하이브리드 타입의 물류로봇 위치추정방법 |
CN111597890B (zh) * | 2020-04-09 | 2024-04-09 | 上海电气集团股份有限公司 | 一种人姿估计坐标纠偏方法 |
CN111626211B (zh) * | 2020-05-27 | 2023-09-26 | 大连成者云软件有限公司 | 一种基于单目视频图像序列的坐姿识别方法 |
KR102502100B1 (ko) * | 2020-11-26 | 2023-02-23 | 세종대학교산학협력단 | 깊이 센서와 컬러 카메라를 이용한 실시간 객체 위치 측정을 위한 전자 장치 및 그의 동작 방법 |
KR20240073270A (ko) * | 2022-11-17 | 2024-05-27 | 재단법인대구경북과학기술원 | 로봇 및 로봇의 위치 추정방법 |
CN115936029B (zh) * | 2022-12-13 | 2024-02-09 | 湖南大学无锡智能控制研究院 | 一种基于二维码的slam定位方法及装置 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6293765A (ja) * | 1985-10-19 | 1987-04-30 | Oki Electric Ind Co Ltd | 三次元位置検出方法 |
JP4363295B2 (ja) | 2004-10-01 | 2009-11-11 | オムロン株式会社 | ステレオ画像による平面推定方法 |
JP4961860B2 (ja) * | 2006-06-27 | 2012-06-27 | トヨタ自動車株式会社 | ロボット装置及びロボット装置の制御方法 |
US8265425B2 (en) * | 2008-05-20 | 2012-09-11 | Honda Motor Co., Ltd. | Rectangular table detection using hybrid RGB and depth camera sensors |
JP5245937B2 (ja) * | 2009-03-12 | 2013-07-24 | オムロン株式会社 | 3次元計測処理のパラメータの導出方法および3次元視覚センサ |
JP2011203148A (ja) * | 2010-03-26 | 2011-10-13 | Toyota Motor Corp | 推定装置、推定方法、及び推定プログラム |
JP2012118698A (ja) * | 2010-11-30 | 2012-06-21 | Fuji Heavy Ind Ltd | 画像処理装置 |
JP5877053B2 (ja) * | 2011-12-14 | 2016-03-02 | パナソニック株式会社 | 姿勢推定装置および姿勢推定方法 |
-
2013
- 2013-09-12 JP JP2013189660A patent/JP2015056057A/ja not_active Withdrawn
-
2014
- 2014-07-29 US US14/894,843 patent/US20160117824A1/en not_active Abandoned
- 2014-07-29 WO PCT/JP2014/003976 patent/WO2015037178A1/ja active Application Filing
- 2014-07-29 DE DE112014004190.4T patent/DE112014004190T5/de not_active Withdrawn
- 2014-07-29 KR KR1020157033566A patent/KR20160003776A/ko not_active Application Discontinuation
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2017076893A (ja) * | 2015-10-15 | 2017-04-20 | 凸版印刷株式会社 | ホログラムを用いた色校正シートおよび色校正方法 |
JP2017118396A (ja) * | 2015-12-25 | 2017-06-29 | Kddi株式会社 | デプスカメラの内部パラメータを算出するプログラム、装置及び方法 |
US10452950B2 (en) | 2016-05-25 | 2019-10-22 | Toyota Jidosha Kabushiki Kaisha | Object recognition apparatus, objection recognition method, and program |
WO2018076776A1 (zh) * | 2016-10-25 | 2018-05-03 | 深圳光启合众科技有限公司 | 机器人、机械臂及其控制方法和装置 |
WO2019225133A1 (ja) * | 2018-05-22 | 2019-11-28 | 株式会社小松製作所 | 油圧ショベル、およびシステム |
JP2019203291A (ja) * | 2018-05-22 | 2019-11-28 | 株式会社小松製作所 | 油圧ショベル、およびシステム |
JP7045926B2 (ja) | 2018-05-22 | 2022-04-01 | 株式会社小松製作所 | 油圧ショベル、およびシステム |
US11713560B2 (en) | 2018-05-22 | 2023-08-01 | Komatsu Ltd. | Hydraulic excavator and system |
US11536814B2 (en) | 2018-07-12 | 2022-12-27 | Fanuc Corporation | Distance measuring apparatus having distance correction function |
WO2023157443A1 (ja) * | 2022-02-21 | 2023-08-24 | 株式会社日立製作所 | 物体姿勢算出装置および物体姿勢算出方法 |
Also Published As
Publication number | Publication date |
---|---|
KR20160003776A (ko) | 2016-01-11 |
DE112014004190T5 (de) | 2016-05-25 |
WO2015037178A1 (ja) | 2015-03-19 |
US20160117824A1 (en) | 2016-04-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2015037178A1 (ja) | 姿勢推定方法及びロボット | |
JP6465789B2 (ja) | デプスカメラの内部パラメータを算出するプログラム、装置及び方法 | |
JP5713159B2 (ja) | ステレオ画像による3次元位置姿勢計測装置、方法およびプログラム | |
WO2018133130A1 (en) | 3d marker model construction and real-time tracking using monocular camera | |
Orghidan et al. | Camera calibration using two or three vanishing points | |
JP6465682B2 (ja) | 情報処理装置、情報処理方法及びプログラム | |
JP6566768B2 (ja) | 情報処理装置、情報処理方法、プログラム | |
JP5710752B2 (ja) | 検出装置、方法及びプログラム | |
US11654571B2 (en) | Three-dimensional data generation device and robot control system | |
JP2017103602A (ja) | 位置検出装置、位置検出方法及びプログラム | |
CN105139416A (zh) | 一种基于图像信息和深度信息的物体识别方法 | |
JP2009053147A (ja) | 3次元計測方法および3次元計測装置 | |
JP2007263669A (ja) | 3次元座標取得装置 | |
JP2014013146A5 (ja) | ||
JP7339316B2 (ja) | ビジョンシステムにより画像特徴におけるエッジと法線を同時に考慮するためのシステム及び方法 | |
US20180247150A1 (en) | Information processing device, information processing method, and article manufacturing method | |
JP2012247364A (ja) | ステレオカメラ装置、ステレオカメラシステム、プログラム | |
KR20180105875A (ko) | 단일 영상을 이용한 카메라 캘리브레이션 방법 및 이를 위한 장치 | |
JP2016091053A (ja) | 情報処理装置および容器形状の推定方法、ワークピッキングシステム、プログラム | |
JP2017011328A (ja) | 画像処理装置、画像処理方法および画像処理プログラム | |
JP6172432B2 (ja) | 被写体識別装置、被写体識別方法および被写体識別プログラム | |
EP2795577B1 (en) | Three dimension measurement method, three dimension measurement program and robot device | |
JP2008309595A (ja) | オブジェクト認識装置及びそれに用いられるプログラム | |
US20190313082A1 (en) | Apparatus and method for measuring position of stereo camera | |
JP2015045919A (ja) | 画像認識方法及びロボット |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20160715 |
|
A761 | Written withdrawal of application |
Free format text: JAPANESE INTERMEDIATE CODE: A761 Effective date: 20170307 |