説明

推定装置、推定方法、及び推定プログラム

【課題】物体の3次元位置・姿勢を示す物体座標系を高精度で推定することができる推定装置、推定方法、及び推定プログラムを提供すること。
【解決手段】本発明の一態様にかかる推定装置は、空間中における対象物体の3次元位置・姿勢を示す物体座標系を推定する推定装置であって、対象物体を撮像した物体画像から、前記対象物体に設けられ、単体で3次元位置・姿勢を推定可能なマーカを検出するマーカ検出部3と、マーカ検出部3で検出された複数のマーカに対応する複数のマーカ座標系を算出するため、それぞれのマーカ画像からマーカ座標系を推定するマーカ座標系推定部と4、複数のマーカ座標系に基づいて、対象物体の物体座標系を決定する物体座標系決定部6と、を備えるものである。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、マーカを用いて空間中における対象物体の3次元位置・姿勢を示す物体座標系を推定する推定装置、推定方法、及び推定プログラムに関する。
【背景技術】
【0002】
位置・姿勢識別用のマーカが貼られた物体を撮像して、その物体の3次元・位置姿勢を計測する計測装置が開示されている(特許文献1、非特許文献1)。このような計測装置では、カメラで取得した2次元画像から3次元の情報を得るため、計測誤差が生じてしまうことがある。
特許文献1の方法では、マーカを3点以上貼って、それぞれのマーカの3次元点情報を用いて物体の位置・姿勢を推定している。一方、非特許文献1の方法では、1つの物体に対して、3点以上の特徴点を有するマーカを1つ貼っている。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2003−254716号公報
【非特許文献】
【0004】
【非特許文献1】画像理解―3次元認識の数理 金谷健一著 森北出版株式会社 1990年第1版発行
【発明の開示】
【発明が解決しようとする課題】
【0005】
しかしながら、特許文献1の方法では、カメラが物体の近くに寄ると、マーカが画角から外れてしまう。マーカが1点でも外れてしまうと、物体の位置姿勢を算出することができない。すなわち、3つのマーカが画角に収まらない場合、位置・姿勢を推定することができない。また、非特許文献1の方法では、1つのマーカとして物体に貼らなくてはならないため、遠方から高精度に位置・姿勢を推定するためには、マーカを大きくしなければならない。例えば、物体によっては、マーカを貼るスペースが限られてしまっている。よって、物体や撮像条件によっては、高精度の位置・姿勢の推定が困難となる。
【0006】
本発明は、上記の問題点に鑑みてなされたものであり、物体の3次元位置・姿勢を示す物体座標系を高精度で安定して推定することができる推定装置、推定方法、及び推定プログラムを提供することを目的とする。
【課題を解決するための手段】
【0007】
本発明の第1の態様にかかる推定装置は、複数のマーカを有する対象物体の空間中における3次元位置・姿勢を示す物体座標系を推定する推定装置であって、対象物体を撮像した物体画像から、前記対象物体に設けられ、単体で3次元位置・姿勢を推定可能なマーカを検出するマーカ検出部と、前記マーカ検出部で検出された複数のマーカに対応する複数の第1のマーカ座標系を算出するため、それぞれのマーカ画像から第1のマーカ座標系を推定するマーカ座標系推定部と、前記複数の第1のマーカ座標系に基づいて、前記対象物体の物体座標系を決定する物体座標系決定部と、を備えるものである。このような構成では、複数のマーカ座標系を用いて、物体座標系を推定することができるため、高精度で推定することができる。
【0008】
本発明の第2の態様にかかる推定装置は、上記の推定装置であって、前記物体画像に含まれているマーカ画像から推定された複数の第1のマーカ座標系に基づいて物体座標系を仮決めし、前記仮決めされた物体座標系を第2のマーカ座標系に変換し、前記マーカ画像から推定した第1のマーカ座標系と、前記物体座標系から変換された第2のマーカ座標系との誤差を最小化することで、前記物体座標系を決定するものである。これにより、より高精度で推定することができる。
【0009】
本発明の第3の態様にかかる推定装置は、上記の推定装置であって、前記第1のマーカ座標系と前記第2のマーカ座標系との前記誤差が最小となるように、複数の前記第1のマーカ座標系に対する重みを最適化することで前記物体座標系を決定するものである。これにより、簡便な方法で、高精度の推定が可能となる。
【0010】
本発明の第4の態様にかかる推定装置は、上記の推定装置であって、前記重み付け関数の最適化にLevenberg−Marquardt法が用いられているものである。これにより、短い処理時間で高精度の推定が可能になる。
【0011】
本発明の第5の態様にかかる推定装置は、上記の推定装置であって、前記マーカ検出部で検出したマーカの数が一つである場合に、前記一つのマーカの第1のマーカ座標系から、前記物体座標系を推定するものである。これにより、画角によらず、安定した推定が可能となる。
【0012】
本発明の第6の態様にかかる推定方法は、複数のマーカを有する対象物体の空間中における3次元位置・姿勢を示す物体座標系を推定する推定方法であって、対象物体を撮像した物体画像から、前記対象物体に設けられ、単体で3次元位置・姿勢を推定可能なマーカを検出するステップと、前記マーカ検出部で検出された複数のマーカに対応する複数の第1のマーカ座標系を算出するため、それぞれのマーカ画像から第1のマーカ座標系を推定するステップと、前記複数の第1のマーカ座標系に基づいて、前記対象物体の物体座標系を決定するステップと、を備えるものである。このような構成では、複数の第1のマーカ座標系を用いて、物体座標系を推定することができるため、高精度で推定することができる。
【0013】
本発明の第7の態様にかかる推定方法は、上記の推定方法であって、前記物体画像に含まれているマーカ画像から推定された複数の第1のマーカ座標系に基づいて物体座標系を仮決めし、前記仮決めされた物体座標系を第2のマーカ座標系に変換し、前記マーカ画像から算出した第1のマーカ座標系と、前記物体座標系から変換された第2のマーカ座標系の誤差を最小化することで、前記物体座標系を決定するものである。
【0014】
本発明の第8の態様にかかる推定方法は、上記の推定方法であって、前記第1のマーカ座標系と前記第2のマーカ座標系との前記誤差が最小となるように、複数の第1のマーカ座標系に対する重み付け関数を最適化することで前記物体座標系を決定するものである。
【0015】
本発明の第9の態様にかかる推定方法は、上記の推定方法であって、前記重み付け関数の最適化にLevenberg−Marquardt法が用いられているものである。
【0016】
本発明の第10の態様にかかる推定方法は、上記の推定方法であって、検出された前記マーカの数が一つである場合に、前記一つのマーカの第1のマーカ座標系から、前記物体座標系を推定するものである。
【0017】
本発明の第11の態様にかかる推定プログラムは、複数のマーカを有する対象物体の空間中における3次元位置・姿勢を示す物体座標系を推定する推定プログラムであって、コンピュータに対して、対象物体を撮像した物体画像から、前記対象物体に設けられ、単体で3次元位置・姿勢を推定可能なマーカを検出させるステップと、前記マーカ検出部で検出された複数のマーカに対応する複数の第1のマーカ座標系を算出するため、それぞれのマーカ画像から第1のマーカ座標系を推定させるステップと、前記複数の第1のマーカ座標系に基づいて、前記対象物体の物体座標系を決定させるステップと、を備えるものである。
【0018】
本発明の第12の態様にかかる推定プログラムは、上記の推定プログラムであって、コンピュータに対して、前記物体画像に含まれているマーカ画像から算出された複数の第1のマーカ座標系に基づいて物体座標系を仮決めさせ、前記仮決めされた物体座標系を第2のマーカ座標系に変換させ、前記マーカ画像から算出した第1のマーカ座標系と、前記物体座標系から変換された第2のマーカ座標系の誤差を最小化することで、前記物体座標系を決定させるものである。
【0019】
本発明の第13の態様にかかる推定プログラムは、上記の推定プログラムであって、コンピュータに対して、前記第1のマーカ座標系と前記第2のマーカ座標系との誤差が最小となるように、複数の第1のマーカ座標系に対する重みを最適化することで前記物体座標系を決定させるものである。
【0020】
本発明の第14の態様にかかる推定プログラムは、上記の推定プログラムであって、前記重み付け関数の最適化にLevenberg−Marquardt法が用いられているものである。
【0021】
本発明の第15の態様にかかる推定プログラムは、上記の推定プログラムであって、検出された前記マーカの数が一つである場合に、前記一つのマーカの第1のマーカ座標系から、前記物体座標系を推定するものである。これにより、画角によらず、安定した推定が可能となる。
【発明の効果】
【0022】
本発明によれば、物体の3次元位置・姿勢を示す物体座標系を高精度で推定することができる推定装置、推定方法、及び推定プログラムを提供することができる。
【図面の簡単な説明】
【0023】
【図1】3次元位置・姿勢を推定する推定システムの全体構成を示す図である。
【図2】本発明の実施形態にかかる推定装置に用いられる処理装置を示すブロック図である。
【図3】本発明の実施形態にかかる推定方法における処理工程を説明するための図である。
【図4】本発明の実施形態にかかる推定方法における処理工程を説明するための図である。
【図5】本発明の実施形態にかかる推定方法における処理工程を説明するための図である。
【図6】本発明の実施形態にかかる推定方法における処理工程を説明するための図である。
【図7】本発明の実施形態にかかる推定方法における処理工程を説明するための図である。
【図8】本発明の実施形態にかかる推定方法における処理工程を説明するための図である。
【図9】本発明の実施形態にかかる推定方法における処理工程を説明するための図である。
【図10】本発明の実施形態にかかる推定方法を示す概念図である。
【発明を実施するための形態】
【0024】
以下、本発明に係る移動体の実施形態を、図面に基づいて詳細に説明する。但し、本発明が以下の実施形態に限定される訳ではない。また、説明を明確にするため、以下の記載及び図面は、適宜、簡略化されている。
【0025】
3次元位置・座標を推定するシステムについて、図1を用いて説明する。本実施の形態にかかる推定システムは、カメラ1と処理装置2とを備えている。物体10が3次元位置・姿勢(x、y、z、ロール角度、ピッチ角度、ヨー角度)を推定する対象となる対象物体である。すなわち、物体10をカメラ1で撮像して、その物体画像を基に物体10の3次元位置・姿勢を推定する。対象物体10は複数のマーカを有している。本実施形態では、複数のマーカを有する対象物体の空間中における3次元位置・姿勢を示す物体座標系を推定する。
【0026】
カメラ1は、3次元位置・座標を求める対象となる物体を撮像する。カメラ1は、たとえば、CCDカメラなどであり、物体の全部又は一部を含む物体画像を撮像する。なお、カメラ1として、ステレオカメラを用いてもよい。カメラ1で取得された物体画像は、処理装置2に入力される。
【0027】
物体10には、マーカ11、12が設けられている。ここでは、2つのマーカ11、12が設けられている例を示しているが、物体10に3以上のマーカを設けてもよい。それぞれのマーカ11、12は、単体で3次元の位置・姿勢を検出可能な識別用マーカである。例えば、各マーカ11、12が3以上の特徴点を有している。たとえば、マーカ11、12は正面視において正方形の枠と、枠内に設けられたパターンなどを有している。正方形の枠の頂点がマーカ特徴点となる。さらに、それぞれのマーカは、異なる形状、色、パターン、点滅等になっており、他のマーカと識別可能になっている。また、物体10における各マーカ11、12の位置・姿勢は既知となっている。
【0028】
処理装置2は、たとえば、パーソナルコンピュータであり、CPU(Central Processing Unit)、ROM(Read Only Memory)、RAM(Random Access Memory)、通信用のインタフェイスなどを有する演算処理装置である。また、処理装置2は、着脱可能なHDD、光ディスク、光磁気ディスク等を有し、各種プログラムや制御パラメータなどを記憶し、そのプログラムやデータを必要に応じてメモリ(不図示)等に供給する。もちろん、処理装置2は、物理的に一つの構成に限られるものではない。処理装置2は、カメラ1で取得した物体画像のデータに対して、所定の画像処理を行う。これにより、物体10の3次元空間における3次元位置・姿勢を示す物体座標系30が推定される。なお、物体座標系とは、X方向(横方向)位置、Y方向(縦方向)位置、Z方向(奥行き方向)位置、ロール角度、ピッチ角度、及びヨー角度に関する情報を含むものである。例えば、物体座標系は、6次元のベクトルで示される。この物体座標系によって、空間中の物体10の3次元位置・姿勢を特定することができる。
【0029】
本発明の特徴の一つである処理装置2における処理について図2乃至図10を用いて説明する。図2は、処理装置2の構成を示すブロック図である。図3は、処理方法を示すフローチャートである。図4乃至図9は、各処理工程を説明するための図である。図10は本実施形態にかかる推定方法を示す概念図である。処理装置2は、マーカ検出部3と、マーカ座標系推定部4と、設定記憶部5と、物体座標系決定部6と、座標系変換部7と、を備えている。
【0030】
まず、カメラ1によって物体が撮像されると、その物体画像が処理装置2に入力される(ステップS101)。処理装置2は、この物体画像をメモリなどの記憶装置に記憶する。ここでは、例えば、図4に示す物体画像が入力されたとする。カメラ1で取得された1フレームの画像には、物体10の一部と、物体40の一部と、物体60の一部が現れている。物体10に設けられた2つのマーカ11、12が画像の中に含まれている。また、物体40に設けられたマーカ41が画像の中に含まれている。同様に、物体60に設けられたマーカ61が画像の中に含まれている。以下の説明では、2つのマーカ11、12が撮像された物体10の3次元位置・姿勢を推定する例を中心に説明する。
【0031】
カメラ1で取得した物体画像の中から、マーカ検出部3がマーカを検出する(ステップS102)。これにより、物体画像の中から、複数のマーカ画像が抽出される。ここでは、図4に示す点線枠に囲まれている部分がマーカ画像として抽出される。それぞれのマーカには固有のパターン、色等が付されているため、それぞれのマーカを区別することができる。例えば、設定記憶部5には、固有のパターン、色等の設定情報が予め対応づけて記憶されている。マーカ検出部3が、設定情報を参照することによって、それぞれのマーカ画像が、どの物体のどのマーカであるかを特定することができる。
【0032】
そして、各マーカの3次元位置・姿勢を推定する(ステップS103)。ここでは、マーカ11、マーカ12、マーカ41、マーカ61のマーカ3次元位置・姿勢が推定される。ここでは、3次元位置・姿勢を示す第1のマーカ座標系が算出される。マーカ座標系推定部4が、各マーカの第1のマーカ座標系を推定する。例えば、複数のマーカ特徴点の間のベクトルを用いて、第1のマーカ座標系を算出することができる。ここでは、図5に示すように、マーカ11のマーカ画像によって第1のマーカ座標系21が算出されている。同様に、マーカ12のマーカ画像によって第1のマーカ座標系22が算出され、マーカ41のマーカ画像によって第1のマーカ座標系51が算出され、マーカ61のマーカ画像によって第1のマーカ座標系71が算出されている。マーカ座標系とは、X軸、Y軸、及びZ軸における位置と、X軸、Y軸、及びZ軸の方向を示すものである。このマーカ座標系によって、空間中におけるマーカの位置・姿勢を特定することができる。なお、ステップS103、及びステップS102については、例えば、非特許文献1に示されている様々な計算手法を用いることができる。
【0033】
そして、1つの物体に対して複数のマーカを検出したか否かを判定する(ステップS104)。図6に示すように、物体40については、1つのマーカ41しか検出されていないため、ステップS104のNOに進む。同様に、物体60についても、1つのマーカ61しか検出されていないため、ステップS104のNOに進む。物体40、60では、1つのマーカによって、物体座標系が決定される(ステップS108)。すなわち、第1のマーカ座標系を物体座標系に変換する。物体40におけるマーカ41の位置・姿勢は既知であるため、変換行列を用いることで、容易に物体座標系を決定することができる。これにより、推定処理が終了する。この変換行列は、予め設定記憶部5に記憶されている。すなわち、この処理は、公知の処理と同様であるため、説明を省略する。
【0034】
1つの物体に対して検出されたマーカの数が複数である場合、物体座標系決定部6が、物体座標系を仮決定する(ステップS105)。例えば、物体10については、2つのマーカ11、12が検出されているため、ステップS105に進む。図7に示すように、2つの第1のマーカ座標系21、22に基づいて、物体座標系30aを仮決定する。仮決定された物体座標系を物体座標系30aとしている。この仮決定の一例について、説明する。
【0035】
まず、それぞれのマーカについて重みを式(1)で求め、式(2)によって、解(物体座標系)を仮決めする。
【0036】
【数1】


【数2】

【0037】
このように、重み付け平均によって、物体座標系を仮決めする。重みは、物体10のカメラ1に対する奥行き距離、マーカの大きさ、ロール角度、ピッチ角度、ヨー角度の関数となっている。カメラに近いマーカほど重みが重くなり、大きいマーカほど重みが重くなり、回転角が小さいマーカほど重みが大きくなる。このように、各マーカの重みをマーカ画像から求めている。なお、重みの初期値の算出方法は特に限定されるものではない。なお、仮物体座標系はカメラ1による測定誤差を含んでいる。また、物体とマーカの相対位置が既知であるため、マーカ座標系から物体座標系への変換行列Kは、既知となっている。すなわち、マーカと物体の相対位置は、予め決まっているため、マーカ座標系と物体座標系の変換行列を予め設定しておくことができる。各マーカに対する変換行列は、それぞれ設定記憶部5に記憶されている。なお、式(2)では、マーカ数をn(2以上の自然数)として一般化している。物体10の場合は、n=2となる。
【0038】
次に、仮決めされた物体座標系30aから、第2のマーカ座標系を算出する(ステップS106)。ここでは、座標系変換部7が、仮決めされた物体座標系を第2のマーカ座標系に変換する。これにより、1つの物体座標系に基づいて、複数のマーカの第2のマーカ座標系が算出される。図8に示すように、マーカ11、12に対する第2のマーカ座標系21a、22aが物体座標系30aから得られる。具体的には、式(3)によって、第2のマーカ座標系21a、22aを算出することができる。
【0039】
【数3】

【0040】
なお、物体とマーカの相対位置が既知であるため、物体座標系を第2のマーカ座標系に変換する変換行列は既知となっている。もちろん、変換行列はマーカ毎に異なっている。ここで、重み付平均を用いて仮決められた物体座標系30aから、第2のマーカ座標系21a、22aを算出している。よって、カメラのマーカ画像から算出された第1のマーカ座標系21、22は、物体座標系から推定された第2のマーカ座標系21a、22aと異なっている。換言すると、マーカ座標系が誤差を含んでいるということができる。
【0041】
検出された第1のマーカ座標系と、重みを考慮して決定された物体座標系から推定された第2のマーカ座標系との誤差は以下のように計算することができる。一般に、第1のマーカ座標系と第2のマーカ座標系との誤差は、以下の式(4)に示すようにマーカ座標系の差分で示すことができる。
【0042】
【数4】

【0043】
ここで、第1のマーカ座標系と第2のマーカ座標系の誤差は、3次元空間誤差又は画面投影誤差として表すことができる。3次元空間誤差は、3次元の位置・姿勢それぞれにおける誤差であり6次元のベクトルとして示すことができる。物体座標系から推定された第2のマーカ座標系の3次元位置・姿勢(距離・角度)と、検出された第1のマーカ座標系の位置・姿勢(距離・角度)を評価式に代入して、3次元空間誤差とする。なお、距離と角度という単位の異なる指標を1つの評価式に入れるので、適切に評価式を定義する必要がある。
【0044】
また、画面投影誤差は、マーカ特徴点の投影点の誤差であり、カメラ画像中におけるピクセルとして示すことができる。すなわち、物体座標系から推定された第2のマーカ座標系の位置・姿勢から、マーカ特徴点を求める。マーカ特徴点をカメラ画像に投影した画像座標点を算出する。すなわち、射影行列を用いて、マーカ特徴点を2次元のカメラ画像に射影する。算出した画像座標点と、カメラ画像から得たマーカ特徴点の画像座標点の差(画像上の距離)を画面投影誤差とする。なお、射影行列は、カメラの焦点距離やレンズの歪みによって求めることができる。
【0045】
次に、物体座標系の誤差が最小となっているか否かを判定する(ステップS107)。すなわち、誤差が最小となるまで、ステップS105〜ステップS107の処理を繰り返し実行する。そして、誤差が最小となったら、処理を終了する。これにより、図9に示すように、物体座標系30bが確定する。具体的には、図10に示すように、物体座標系の誤差が最小となるように最適化を行う。誤差が収束するまで、以下の計算を繰り返し行う。(1)第1のマーカ座標系から物体座標系を重み付け平均によって求める。(2)物体座標系を第2のマーカ座標系に変換する。(3)重み付け関数を更新して、誤差を小さくする。
この(1)〜(3)の処理を繰り返し行い、誤差を最小化する。このようにすることで、式(1)で示した重み付け関数を最適化することができ、誤差を最小化することができる。よって、精度の高い3次元位置・姿勢の推定が可能となる。
【0046】
重み付き最小二乗法を繰り返し計算で解くことで、高精度で位置・姿勢を推定することができる。重み付き最小二乗法を解くことは、非線形最適化問題となるため、本実施形態では、Levenberg−Marquardt法を用いて、変数を更新して、式(5)の解を求めている。
【0047】
【数5】


【数6】

【0048】
ここでは、誤差を、式(4)で示した画面投影誤差としている。画面投影誤差の2乗和を最小とするように、反復計算を行う。これにより、第1のマーカ座標系に対する重みを最適化することができる。よって、高精度で、位置・姿勢を算出することができる。
【0049】
また、Levenberg−Marquardt法を用いることで、精度の高い推定を短時間で行うことができる。これにより、処理時間を短縮することができる。なお、3次元空間誤差を最小化する場合、式(4)で示した、3次元空間誤差をマーカ毎に求め、それらの2乗和を最小化する。このようにしても、同様に、高精度の3次元位置・姿勢の推定が可能になる。
【0050】
物体10とカメラ1が遠い場合、カメラ1の画角には、複数のマーカが収まる。よって、複数のマーカから、位置・姿勢を推定することができる。マーカを複数用いることで、高精度の推定が可能となる。カメラ1と物体10が近い場合、1つのマーカによる3次元位置・姿勢が検出可能である。すなわち、カメラ1の画角に1つのマーカしか収まらない場合でも、1つのマーカが3つ以上の特徴点を持っているので、位置・姿勢の推定が可能である。カメラ1が物体10に近い場合、大きなマーカを用いることができるため、高精度の推定が可能となる。
【0051】
このようにカメラ画像に含まれるマーカに基づいて位置推定を行うことで、精度の高い推定を安定して行うことができる。すなわち、物体とカメラの距離が遠い場合は、複数のマーカによる推定によって精度を上げることができ、近い場合には、1つのマーカが大きなマーカ画像となるため、少ないマーカ数でも精度を向上することができる。よって、遠い場合でも、近い場合でも、精度の高い推定が可能となる。なお、マーカを設ける配置や、マーカの大きさは、使用するカメラ、空間、物体の大きさ、物体の形状などに応じて決定すればよい。また、物体に設けるマーカの個数は特に限定されるものではないが、より多いほど好ましい。すなわち、より多くのマーカが1つの画角に収まることで、推定精度を向上すすることができる。
【0052】
このような推定装置は、ロボットに搭載することが好適である。物体を把持するアームを持つロボットに、推定装置を搭載することで、確実に物体を把持することができる。特に、物体を把持する産業用ロボットや、家庭用ロボットに好適である。さらには、工場内の設備管理用途にも好適である。
【0053】
なお、上記の説明では、重み付け最小二乗法によって誤差を最小化したが、他の方法を用いて、誤差を最小化しても良い。さらには、複数の第1のマーカ座標系から、物体座標系を求める手法は特に限定されるものではない。
【0054】
上記の推定処理はコンピュータプログラムによって実行させても良い。3次元・位置姿勢の推定処理をコンピュータに行わせるための命令群を含むプログラムは、非一時的なコンピュータ可読媒体(non-transitory computer readable medium)を用いてコンピュータに供給できる。非一時的なコンピュータ可読媒体は、様々な種類の実体のある記憶媒体(tangible storage medium)を含む。例えば、非一時的なコンピュータ可読媒体は、磁気記憶媒体(例えばフレキシブルディスク、磁気テープ、ハードディスクドライブ)、光磁気記憶媒体(例えば光磁気ディスク)、CD−ROM、CD−R,CD−R/W、RAM(Random Access Memory)、ROM(Read Only Memory)、UV−EPROM(Erasable ROM)、EEPROM(Electrical EPROM)、フラッシュROMを含む。また、プログラムは、非一時的なコンピュータ可読媒体(transitory computer readable medium)によってコンピュータに供給されてもよい。一時的な媒体は、プログラムがエンコードされた電気信号、光信号、及び電磁波を含む。プログラムがエンコードされた電気信号、光信号、及び電磁波は、電線及び光ファイバ等の有線伝送路、又は無線伝送路(空間)を伝搬することでコンピュータに供給される。
【符号の説明】
【0055】
1 カメラ
2 処理装置
10 物体
11 マーカ
12 マーカ
21 第1のマーカ座標系
21a 第2のマーカ座標系
22 第1のマーカ座標系
22a 第2のマーカ座標系
30 物体座標系
40 物体
41 マーカ
51 第1のマーカ座標系
60 物体
60 物体
61 マーカ
71 第1のマーカ座標系

【特許請求の範囲】
【請求項1】
複数のマーカを有する対象物体の空間中における3次元位置・姿勢を示す物体座標系を推定する推定装置であって、
対象物体を撮像した物体画像から、前記対象物体に設けられ、単体で3次元位置・姿勢を推定可能なマーカを検出するマーカ検出部と、
前記マーカ検出部で検出された複数のマーカに対応する複数の第1のマーカ座標系を算出するため、それぞれのマーカ画像から第1のマーカ座標系を推定するマーカ座標系推定部と、
前記複数の第1のマーカ座標系に基づいて、前記対象物体の物体座標系を決定する物体座標系決定部と、を備える推定装置。
【請求項2】
前記物体画像に含まれているマーカ画像から推定された複数の第1のマーカ座標系に基づいて物体座標系を仮決めし、
前記仮決めされた物体座標系を第2のマーカ座標系に変換し、
前記マーカ画像から推定した第1のマーカ座標系と、前記物体座標系から変換された第2のマーカ座標系との誤差を最小化することで、前記物体座標系を決定する請求項1に記載の推定装置。
【請求項3】
前記第1のマーカ座標系と前記第2のマーカ座標系との前記誤差が最小となるように、複数のマーカ座標系に対する重み付け関数を最適化することで前記物体座標系を決定する請求項2に記載の推定装置。
【請求項4】
前記重み付け関数の最適化にLevenberg−Marquardt法が用いられている請求項3に記載の推定装置。
【請求項5】
前記マーカ検出部で検出したマーカの数が一つである場合に、
前記一つのマーカの前記第1のマーカ座標系から、前記物体座標系を推定する請求項1乃至4のいずれか1項に記載の推定装置。
【請求項6】
複数のマーカを有する対象物体の空間中における3次元位置・姿勢を示す物体座標系を推定する推定方法であって、
対象物体を撮像した物体画像から、前記対象物体に設けられ、単体で3次元位置・姿勢を推定可能なマーカを検出するステップと、
前記マーカ検出部で検出された複数のマーカに対応する複数の第1のマーカ座標系を算出するため、それぞれのマーカ画像から第1のマーカ座標系を推定するステップと、
前記複数の第1のマーカ座標系に基づいて、前記対象物体の物体座標系を決定するステップと、を備える推定方法。
【請求項7】
前記物体画像に含まれているマーカ画像から推定された複数の第1のマーカ座標系に基づいて物体座標系を仮決めし、
前記仮決めされた物体座標系を第2のマーカ座標系に変換し、
前記マーカ画像から算出した第1のマーカ座標系と、前記物体座標系から変換された第2のマーカ座標系の誤差を最小化することで、前記物体座標系を決定する請求項6に記載の推定方法。
【請求項8】
前記第1のマーカ座標系と前記第1のマーカ座標系との前記誤差が最小となるように、複数のマーカ座標系に対する重み付け関数を最適化することで前記物体座標系を決定する請求項7に記載の推定方法。
【請求項9】
前記重み付け関数の最適化にLevenberg−Marquardt法が用いられている請求項8に記載の推定方法。
【請求項10】
検出された前記マーカの数が一つである場合に、
前記一つのマーカの第1のマーカ座標系から、前記物体座標系を推定する請求項6乃至9のいずれか1項に記載の推定方法。
【請求項11】
複数のマーカを有する対象物体の空間中における3次元位置・姿勢を示す物体座標系を推定する推定プログラムであって、
コンピュータに対して、
対象物体を撮像した物体画像から、前記対象物体に設けられ、単体で3次元位置・姿勢を推定可能なマーカを検出させるステップと、
前記マーカ検出部で検出された複数のマーカに対応する複数の前記第1のマーカ座標系マーカ座標系を算出するため、それぞれのマーカ画像から前記第1のマーカ座標系マーカ座標系を推定させるステップと、
前記複数の前記第1のマーカ座標系マーカ座標系に基づいて、前記対象物体の物体座標系を決定させるステップと、を備える推定プログラム。
【請求項12】
コンピュータに対して、
前記物体画像に含まれているマーカ画像から算出された複数の前記第1のマーカ座標系マーカ座標系に基づいて物体座標系を仮決めさせ、
前記仮決めされた物体座標系を第2のマーカ座標系に変換させ、
前記マーカ画像から算出した第1のマーカ座標系と、前記物体座標系から変換された第2のマーカ座標系の誤差を最小化することで、前記物体座標系を決定させる請求項11に記載の推定プログラム。
【請求項13】
コンピュータに対して、
前記第1のマーカ座標系と前記第2のマーカ座標系との誤差が最小となるように、複数のマーカ座標系に対する重みを最適化することで前記物体座標系を決定させる請求項12に記載の推定プログラム。
【請求項14】
前記重みの最適化にLevenberg−Marquardt法が用いられている請求項13に記載の推定プログラム。
【請求項15】
検出された前記マーカの数が一つである場合に、
前記一つのマーカの第1のマーカ座標系から、前記物体座標系を推定する請求項11乃至14のいずれか1項に記載の推定プログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate


【公開番号】特開2011−203148(P2011−203148A)
【公開日】平成23年10月13日(2011.10.13)
【国際特許分類】
【出願番号】特願2010−71332(P2010−71332)
【出願日】平成22年3月26日(2010.3.26)
【出願人】(000003207)トヨタ自動車株式会社 (59,920)
【Fターム(参考)】