説明

三次元位置・姿勢認識装置、産業用ロボット、三次元位置・姿勢認識方法、プログラム、記録媒体

【課題】ステレオマッチング処理において互いに異なる部品91a〜91c間で対応付けが行われるといった誤対応の発生を抑制する。
【解決手段】認識対象部品91aを含む複数の部品91a〜91cを異なる視点から撮像した複数の撮像画像I1、I2それぞれから、認識対象部品91aが写る対象領域R1、R2が抽出される。複数の撮像画像I1、I2それぞれの対象領域R1、R2に対して、ステレオマッチング処理が実行される。つまり、ステレオマッチング処理を行う領域R1、R2を、撮像画像I1、I2のうちの認識対象部品91aを含む対象領域R1に限定する。そのため、対象領域R1から認識対象部品91a以外の部品91b、91cを外してステレオマッチング処理を実行することができ、その結果、ステレオマッチング処理において互いに異なる物体間で対応付けが行われるといった誤対応の発生を抑制できる。

【発明の詳細な説明】
【技術分野】
【0001】
この発明は、物体を異なる視点から撮像した複数の撮像画像に対してステレオマッチング処理を行って、三次元における物体の位置および姿勢を求める技術に関する。
【背景技術】
【0002】
特許文献1では、三次元における物体の位置および姿勢を認識する三次元認識技術が記載されている。この三次元認識技術では、異なる視点から物体を撮像して得られる複数の撮像画像に対してステレオマッチング処理が実行されて、三次元における物体の位置および姿勢が認識される。詳しくは、このステレオマッチング処理では、複数の撮像画像の中から類似する特徴を有する部分どうしが対応付けられて、これらの部分の間の視差から三次元における物体の位置および姿勢が求められる。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開平08−201041号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
ところで、機械部品や電子部品等の部品を組み立てる産業用ロボットに、上述のような技術を応用することが考えられる。具体例を挙げると、このような産業用ロボットとしては、部品を取り上げて移動させるアームを用いて部品を組み立てるものがある。この際、部品を確実に取り上げるには、三次元における部品の位置および姿勢を正確に把握する必要がある。そこで、上述のように、異なる視点から部品を撮像して得られる複数の撮像画像にステレオマッチング処理を施して、三次元における部品の位置・姿勢を認識し、この認識結果に基づいて産業用ロボットのアームを制御することが考えられる。
【0005】
ただし、このような産業用ロボットは、複数の部品の中から認識対象部品を選び出して取り上げるといった動作を行うことが求められる。このような場合、ステレオマッチング処理のために撮像される各撮像画像には、認識対象部品と他の部品とが混在することになる。そのため、一の撮像画像中の認識対象部品と他の撮像画像中の他の部品とが互いに類似した特徴(例えば、エッジ形状)を有していること等に起因して、ステレオマッチング処理において互いに異なるこれらの部品間で誤って対応付けが行われるといった誤対応が発生するおそれがあった。そして、このような誤対応が発生すると、当然の事ながら、認識対象部品の三次元における位置および姿勢を正しく認識することはできない。
【0006】
この発明は上記課題に鑑みなされたものであり、ステレオマッチング処理において互いに異なる物体間で対応付けが行われるといった誤対応の発生を抑制することを可能とする技術の提供を目的とする。
【課題を解決するための手段】
【0007】
この発明にかかる三次元位置・姿勢認識装置は、上記目的を達成するために、認識対象物を含む複数の物体を異なる視点から撮像した複数の撮像画像を取得する画像取得部と、画像取得部が取得した複数の撮像画像それぞれから、認識対象物が写る対象領域を抽出する対象領域抽出部と、対象領域抽出部が抽出した各撮像画像の対象領域に対してステレオマッチング処理を行って、三次元における認識対象物の位置および姿勢を認識する認識部とを備えることを特徴としている。
【0008】
この発明にかかる産業用ロボットは、上記目的を達成するために、部品を取って移動させる部品移動手段と、上記の三次元位置・姿勢認識装置と、三次元位置・姿勢認識装置により認識対象物としての部品の三次元での位置および姿勢を認識した結果に基づいて、部品移動手段を制御する制御手段とを備えることを特徴としている。
【0009】
また、この発明にかかる三次元位置・姿勢認識方法は、上記目的を達成するために、認識対象物を含む複数の物体を異なる視点から撮像した複数の撮像画像を取得する画像取得工程と、画像取得工程で取得した複数の撮像画像それぞれから、認識対象物が写る対象領域を抽出する対象領域抽出工程と、対象領域抽出工程で抽出した各撮像画像の対象領域に対してステレオマッチング処理を行って、三次元における認識対象物の位置および姿勢を認識する認識工程とを備えることを特徴としている。
【0010】
また、この発明にかかるプログラムは、上記目的を達成するために、認識対象物を含む複数の物体を異なる視点から撮像した複数の撮像画像を取得する画像取得機能と、画像取得工程で取得した複数の撮像画像それぞれから、認識対象物が写る対象領域を抽出する対象領域抽出機能と、対象領域抽出工程で抽出した各撮像画像の対象領域に対してステレオマッチング処理を行って、三次元における認識対象物の位置および姿勢を認識する認識機能とを、コンピューターに実現させることを特徴としている。
【0011】
また、この発明にかかる記録媒体は、上記目的を達成するために、上記のプログラムが記録されており、コンピューターにより読み取りが可能であることを特徴としている。
【0012】
このように構成された発明(三次元位置・姿勢認識装置、産業用ロボット、三次元位置・姿勢認識方法、プログラム、記録媒体)では、認識対象物を含む複数の物体を異なる視点から撮像した複数の撮像画像それぞれから、認識対象物が写る対象領域が抽出される。そして、複数の撮像画像それぞれの対象領域に対して、ステレオマッチング処理が実行される。つまり、この発明は、ステレオマッチング処理を行う領域を、撮像画像のうちの認識対象物を含む対象領域に限定している。そのため、対象領域から認識対象物以外の物体を外してステレオマッチング処理を実行することができ、その結果、ステレオマッチング処理において互いに異なる物体間で対応付けが行われるといった誤対応の発生を抑制することを可能となる。
【0013】
なお、上述のような三次元位置・姿勢認識装置では、互いのエピポーラ線が平行な状態で複数の撮像画像を取得するように画像取得部を構成することができる。そして、このような構成では、エピポーラ線に直交する直交方向における位置は、複数の撮像画像の間で揃うこととなる。換言すれば、直交方向においては、認識対象物が存在する区間が複数の撮像画像間で揃う。したがって、直交方向において認識対象物が存在する区間については、複数の撮像画像のうちの一の撮像画像について特定すれば、すなわち複数の撮像画像のそれぞれについて特定したこととなる。そこで、認識対象物が存在する領域の抽出を簡便化するために、次のように構成しても良い。
【0014】
つまり、画像取得部は、互いのエピポーラ線が平行な状態で複数の撮像画像を取得し、対象領域抽出部は、複数の撮像画像のうちの一の撮像画像から、エピポーラ線に直交する直交方向における認識対象物の写る区間を特定し、複数の撮像画像それぞれにおいて区間と直交方向に一致する領域を対象領域として抽出するように、三次元位置・姿勢認識装置を構成しても良い。このように、一の撮像画像から直交方向における認識対象物の写る区間を特定し、複数の撮像画像それぞれにおいて当該区間と直交方向に一致する領域を対象領域として抽出することで、認識対象物が存在する対象領域の抽出を簡便に実行することができる。
【0015】
なお、このような構成では、エピポーラ線に平行な平行方向においては対象領域が限定されない。そのため、稀なケースではあるが、この平行方向に認識対象物と他の物体が並んだような場合には、これらの間で上述の誤対応が発生するおそれがある。
【0016】
そこで、対象領域抽出部は、撮像画像に写る各物体の複数の撮像画像間における対応関係に基づいて、エピポーラ線に平行な平行方向およびエピポーラ線に直交する直交方向の両方向において、各撮像画像で認識対象物が写る対象領域を特定することで、複数の撮像画像それぞれから対象領域を抽出するように、三次元位置・姿勢認識装置を構成しても良い。このような構成では、撮像画像に写る各物体の複数の撮像画像間における対応関係に基づいて、平行方向および直交方向の両方向において対象領域が特定される。したがって、これらの各方向において認識対象物以外の物体を対象領域から外すことができる。その結果、ステレオマッチング処理において互いに異なる物体間で対応付けが行われるといった誤対応の発生をより確実に抑制することを可能となる。
【0017】
なお、ステレオマッチング処理は、複数の撮像画像間で対応点を探索することで実行される。そこで、認識部は、各撮像画像の対象領域に対するステレオマッチング処理において各撮像画像間の対応点を探索する探索範囲を、対象領域抽出部が抽出した対象領域の位置に関する情報に基づいて設定するように、三次元位置・姿勢認識装置を構成しても良い。このような構成では、探索範囲を適切に設定して、対応点の探索に要する処理時間を短縮することが可能となる。
【0018】
なお、上述のような、平行方向および直交方向の両方向における対象領域の抽出や、その後のステレオマッチング処理は、各撮像画像のエピポーラ線を平行した状態で行うことで簡便に実行することができる。そこで、画像取得部は、互いのエピポーラ線が平行な状態で複数の撮像画像を取得するように、三次元位置・姿勢認識装置を構成しても良い。
【発明の効果】
【0019】
ステレオマッチング処理において互いに異なる物体間で対応付けが行われるといった誤対応の発生を抑制することが可能となる。
【図面の簡単な説明】
【0020】
【図1】本発明を適用可能な双腕ロボットの一例を模式的示す斜視図である。
【図2】図1の双腕ロボットが具備する電気的構成を模式的に示すブロック図である。
【図3】三次元認識で実行される動作のフローの一例を示すフローチャートである。
【図4】第1実施形態における対象領域抽出処理のフローの一例を示すフローチャートである。
【図5】図4の対象領域抽出処理で行われる各画像処理の一例を模式的に示した図である。
【図6】第2実施形態における対象領域抽出処理のフローの一例を示すフローチャートである。
【図7】図6の対象領域抽出処理で行われる各画像処理の一例を模式的に示した図である。
【図8】第2実施形態でのステレオマッチング処理の一例を模式的に示した図である。
【発明を実施するための形態】
【0021】
第1実施形態
図1は、本発明を適用可能な双腕ロボットの一例を模式的示す斜視図である。図2は、図1の双腕ロボットが具備する電気的構成を模式的に示すブロック図である。図1および以下に示す図では、鉛直方向をz軸方向とするxyz直交座標軸を適宜示すこととする。
【0022】
双腕ロボット1は、ロボット本体2とこのロボット本体2の動作を制御するコンピューター3で構成される。ロボット本体2は、胴体部21に2本のアーム22を取り付けた概略構成を備える。詳しくは、各アーム22は、駆動モーターM23に接続された肩関節23を介して取り付けられている。そして、駆動モーターM23で肩関節23を回転させることで、アーム22を動かすことができる。
【0023】
また、各アーム22の先端には、手首関節24を介してハンド25が取り付けられている。この手首関節24には駆動モーターM24が接続されている。したがって、駆動モーターM24で手首関節24を回転させることで、ハンド25の向きを変えることができる。さらに、ハンド25には駆動モーターM25が接続されており、駆動モーターM25によりハンド25を開閉させることができる。
【0024】
そして、双腕ロボット1は、駆動モーターM23〜M25を制御することで、部品トレイ9の上に並ぶ部品91(機械部品、電子部品)をハンド25で掴んで所定位置まで運んだり、ハンド25を回転させて部品91の姿勢を変えたり、ハンド25から部品91を放して所定位置に載置したりといった種々の動作を実行できる。つまり、このような各種動作を組み合わせて実行することで、双腕ロボット1は、部品91を組み立てることができる。
【0025】
また、2本のアーム22の一方には、2つの撮像カメラC1、C2が取り付けられている。これら撮像カメラC1、C2は一方のアーム22と一体的に移動しつつ、部品91を適宜撮像するものである。そして、後述するように、撮像カメラC1、C2により部品91を撮像した結果に基づいて、アーム22およびハンド25の動作が制御されて、部品91の組立が実行される。
【0026】
さらに、双腕ロボット1は、胴体部21から上方に延びる首部26と、首部26の先端に取り付けられた頭部27を有している。これら首部26および頭部27は、鉛直方向zおよび当該方向zを中心とする回転方向Drに一体的に移動できる。
【0027】
このようなロボット本体2の動作は、コンピューター3により制御される。コンピューター3は、ドライバー4と、三次元認識部5とを具備している。ドライバー4は、コンピューター3により読み取りが可能な記録媒体6に記録されたプログラム7を読み出す機能を果たす。このような記録媒体6としては、例えば、CD(Compact Disc)、DVD(Digital Versatile Disc)、USB(Universal Serial Bus)メモリー等の種々のものが挙げられる。そして、ドライバー4が記録媒体6から読み出したプログラム7に従って、三次元認識部5が三次元認識を行う。
【0028】
この三次元認識部5は、制御回路50によって他の構成回路51〜55を制御する概略構成を備えるものであり、コンピューター3に備えられたCPU(Central Processing Unit)およびメモリーにより実現される。続いて、三次元認識部5が実行する三次元認識の説明を通じて、三次元認識部5の構成について説明する。
【0029】
図3は、三次元認識で実行される動作のフローの一例を示すフローチャートである。三次元認識では、制御回路50が撮像カメラC1、C2に撮像指令を出力すると、撮像カメラC1、C2のそれぞれが部品91の画像を撮像して、制御回路50に出力する。こうして、異なる視点から部品91を撮像した2枚の撮像画像I1、I2が取得される(ステップS101)。
【0030】
これら2枚の撮像画像I1、I2は、平行化回路51で平行化処理を受ける。この平行化回路51は、制御回路50から受け取った撮像画像I1、I2それぞれのエピポーラ線を平行にする平行化処理(画像変換)を撮像画像I1、I2に対して行うものである(ステップS102)。そして、平行化処理を受けた撮像画像I1、I2が対象領域抽出回路52へ出力される。
【0031】
この対象領域抽出回路52は、受け取った撮像画像I1、I2から、ステレオマッチング処理を行う対象領域R1、R2(ROI:Region Of
Interest)を抽出する(ステップS103)。つまり、撮像画像I1、I2には、認識対象となる部品91を含む複数の部品91が混在している。そこで、この実施形態では、後のステレオマッチング処理を適切に実行するために、撮像画像I1、I2から認識対象部品91の写っている領域(対象領域R1、R2)が抽出される。対象領域抽出回路52が実行するこのような対象領域抽出処理の詳細は次のとおりである。
【0032】
図4は、第1実施形態における対象領域抽出処理のフローの一例を示すフローチャートである。図5は、図4の対象領域抽出処理で行われる各画像処理の一例を模式的に示した図である。図5の各欄の左上では、当該欄内に示す画像処理が実行される図4のフローチャート中のステップが示されている。
【0033】
この対象領域抽出処理では、2枚の撮像画像I1、I2のうち一方の撮像画像I1に対してエッジ検出が実行されて、各部品91a〜91cのエッジが求められる(ステップS201)。そして、このエッジ検出結果に基づいて、部品91a〜91cの中から認識対象となる部品91aが特定される。
【0034】
具体的には、二次元(xy平面)における認識対象部品91aのパターンPが対象領域抽出回路52に予め記憶されている。そして、ステップS201で求めた各部品91a〜91cのエッジとパターンPとを比較する二次元パターンマッチングが実行される(ステップS202)。その結果、パターンPと形状が適合しなかった部品91b、91cは認識対象部品でないと判断される一方、パターンPと形状が適合した部品91aが認識対象部品であると特定される(ステップS203)。
【0035】
続くステップS204は、撮像画像I1で認識対象部品91aの写る区間ΔYがY軸方向において特定される。そして、ステップS205では、2枚の撮像画像I1、I2のそれぞれにおいて、この区間ΔYとY軸方向に一致する領域が対象領域R1、R2として抽出される。以上が対象領域抽出処理(ステップS103)の一例である。
【0036】
図3に戻って、同図のフローチャートの説明を続ける。このように対象領域抽出回路52で抽出された対象領域R1、R2は、ステレオマッチング回路53に出力される。そして、ステレオマッチング回路53では、撮像画像I1、I2から抽出された対象領域R1、R2に対してのみステレオマッチング処理が実行される(ステップS104)。このステレオマッチング処理では、撮像画像I1の対象領域R1と撮像画像I2の対象領域R2の間で特徴の類似する点(微小領域)どうしが部品91の同一部分に対応するとして、互いに対応付けられる。
【0037】
具体的に説明すると、対象領域R1中の注目点と、この注目点を通るエピポーラ線上にある対象領域R2中の各点との間で特徴の類似性が判断されて、対象領域R1の注目点と特徴の類似する点が対象領域R2中から探索される。ここでは撮像画像I1、I2のエピポーラ線が互いに平行であって、互いに対応する点のy座標は一致しているため、y座標が注目点と同じである対象領域R2の各点と注目点との間で特徴の類似性が判断される。その結果、対象領域R2の各点のうち最も類似性の高い点が、対象領域R1の注目点と対応付けられる。さらに、対象領域R1中の注目点を移動させながら同様の動作を繰り返すことで、対象領域R1の各点と対象領域R2の各点とが対応付けられる。
【0038】
そして、ステレオマッチング回路53は、こうして対応付けられた2つの点の間の視差pを算出する。具体的には、対象領域R1中の点とこれに対応する対象領域R2中の点との視差pが求められて、対象領域R1中の点に対して視差pが付与される。このようにして、対象領域R1中の各点(x,y)に対して視差pを付与した視差画像Isが生成される。言い換えれば、視差画像Isは、対象領域R1の各点(x,y)での視差p(x,y)を示す情報である。
【0039】
こうして、ステレオマッチング回路53で生成された視差画像Isは、三次元情報生成回路54に出力される。この三次元情報生成回路54は、受け取った視差画像Isから三次元情報Sを生成する(ステップS106)。つまり、xy平面での位置(x,y)での視差pを示す情報Isが、当該位置(x,y)でのz成分を示す三次元情報Sに変換される。こうして、三次元の座標系(x,y,z)における位置を示す三次元情報Sが生成される。
【0040】
なお、この三次元情報Sの変換にあたっては、撮像カメラC1、C2の焦点距離等の内部パラメーターや、撮像カメラC1、C2の位置関係を示す基礎行列Fが必要となる。この基礎行列Fについては、予め行われた撮像カメラC1、C2の校正時に求められて、三次元情報生成回路54に記憶されている。
【0041】
こうして、求められた部品91の三次元情報Sは、三次元情報生成回路54からモデルマッチング回路55へ出力される。そして、モデルマッチング回路55は、部品91aの三次元形状を示す三次元モデルと三次元情報Sとをマッチングさせるモデルマッチング処理を行う(ステップS106)。このとき使用される部品91aのモデルは、部品91aの外形を示すCAD(computer aided design)データから求められて、モデルマッチング回路55に予め記憶されている。
【0042】
モデルマッチング処理の結果Rmは、モデルマッチング回路56から制御回路50に出力される。制御回路50は、モデルマッチング結果Rmに基づいて、三次元における部品91aの位置および姿勢を認識する三次元認識処理を実行する(ステップS107)。言い換えれば、ステップS107では、モデルマッチング結果Rmに基づいて、三次元における部品91aの位置および姿勢を示す三次元モデルが生成される(三次元モデリング)。そして、制御回路50は、部品91aの三次元モデルとロボット本体2の座標系に基づいて、各駆動モーターM23〜M25を制御して、双腕ロボット1による部品91aに対する動作を実行する。
【0043】
以上のように構成された実施形態では、認識対象部品91aを含む複数の部品91a〜91cを異なる視点から撮像した複数の撮像画像I1、I2それぞれから、認識対象部品91aが写る対象領域R1、R2が抽出される。そして、複数の撮像画像I1、I2それぞれの対象領域R1、R2に対して、ステレオマッチング処理が実行される。つまり、この実施形態は、ステレオマッチング処理を行う領域R1、R2を、撮像画像I1、I2のうちの認識対象部品91aを含む対象領域R1に限定している。そのため、対象領域R1から認識対象部品91a以外の部品91b、91cを外してステレオマッチング処理を実行することができ、その結果、ステレオマッチング処理において互いに異なる物体間で対応付けが行われるといった誤対応の発生を抑制することを可能となる。
【0044】
また、この実施形態では、ステレオマッチング処理を実行する領域が、撮像画像I1、I2のうち認識対象部品91aの写っている対象領域R1、R2に限定される。したがって、ステレオマッチング処理に要する時間を短縮できるといった効果も奏される。
【0045】
なお、この実施形態では、制御回路50および平行化回路51で構成された画像取得部は、エピポーラ線が平行な状態で複数の撮像画像I1、I2を取得している。そして、このような構成では、エピポーラ線に直交するY軸方向における位置は、複数の撮像画像I1、I2の間で揃うこととなる。換言すれば、Y軸方向においては、認識対象部品91aが存在する区間ΔYが複数の撮像画像I1、I2間で揃う。したがって、Y軸方向において認識対象部品91aが存在する区間ΔYについては、複数の撮像画像I1、I2のうちの一の撮像画像I1について特定すれば、すなわち複数の撮像画像I1、I2のそれぞれについて特定したこととなる。そこで、この実施形態では、認識対象部品91aが存在する領域R1、R2の抽出を簡便化するために、次のような構成を有する。
【0046】
つまり、対象領域抽出回路52では、複数の撮像画像I1、I2のうちの一の撮像画像I1から、Y軸方向における認識対象部品91aの写る区間ΔYが特定される(ステップS204)。そして、複数の撮像画像I1、I2それぞれにおいて区間ΔYとY軸方向に一致する領域が対象領域R1、R2として抽出される(ステップS205)。このように、一の撮像画像I1からY軸方向における認識対象部品91aの写る区間ΔYを特定し、複数の撮像画像I1、I2それぞれにおいて当該区間ΔYとY軸方向に一致する領域を対象領域R1、R2として抽出することで、認識対象部品91aが存在する対象領域R1、R2の抽出を簡便に実行することができる。
【0047】
第2実施形態
第1実施形態では、エピポーラ線に平行なx軸方向においては対象領域R1、R2が限定されない。そのため、稀なケースではあるが、このx軸方向に認識対象部品91aと他の部品91b、91cが並んだような場合には、これらの間で上述の誤対応が発生するおそれがある。そこで、以下に説明する第2実施形態は、y軸方向のみならずx軸方向にも対象領域R1、R2を限定する構成を備える。
【0048】
第2実施形態の三次元認識においても、基本的には図3に示したフローが実行される。したがって、第1実施形態と同様に、制御回路50が撮像カメラC1、C2を用いて、異なる視点から部品91を撮像した2枚の撮像画像I1、I2を取得する(ステップS101)。そして、平行化回路51がこれらの撮像画像I1、I2に対して平行化処理を実行して、撮像画像I1、I2それぞれのエピポーラ線を平行にする(ステップS102)。ただし、続くステップS103で実行される対象領域抽出処理の内容が、第1実施形態と異なっている。
【0049】
図6は、第2実施形態における対象領域抽出処理のフローの一例を示すフローチャートである。図7は、図6の対象領域抽出処理で行われる各画像処理の一例を模式的に示した図である。図7の各欄の左上では、当該欄内に示す画像処理が実行される図6のフローチャート中のステップが示されている。
【0050】
この対象領域抽出処理では、2枚の撮像画像I1、I2それぞれに対してエッジ検出が実行されて、各部品91a〜91cのエッジが求められる(ステップS301)。続くステップS302では、第1実施形態でのステップS202と同様の二次元パターンマッチングが撮像画像I1に対して実行されて、撮像画像I1において認識対象部品91aが確認される。
【0051】
ステップS303では、撮像画像I1、I2のそれぞれにおいて、各部品91a〜91cのエッジの幾何重心が算出される。これによって、撮像画像I1において3個の幾何重心G11、G12、G13が求められるとともに、撮像画像I2において3個の幾何重心G21、G22、G23が求められる。そして、これら幾何重心の位置に応じて、撮像画像I1、I2の各部品に対してラベルL1、L2、…が付される(ステップS304)。
【0052】
具体的には、図7の例では、撮像画像I1、I2それぞれにおいて、幾何重心のx座標の小さい部品91a、91b、91cから順番に、ラベルL1、L2、L3が付されている。なお、図7の例は該当しないが、幾何重心のx座標が同じ部品が複数存在する場合には、これらの部品については、例えば幾何重心のy座標の小さい部品から順にラベルを付せば良い。こうして、撮像画像I1の各部品に対して順にラベルL1、L2、L3が付されるとともに、撮像画像I2の各部品に対して順にラベルL1、L2、L3が付される。これによって、2枚の撮像画像I1、I2それぞれに写る同一部品に対して、同一のラベルが付されることとなる。
【0053】
このようなラベリング結果に基づいて、撮像画像I1中の認識対象部品91aと同じラベルL1が付された部品を撮像画像I2中から見つけ出すことで、撮像画像I2中の認識対象部品91aを特定することができる。こうして、撮像画像I1、I2中のそれぞれにおいて、認識対象部品91aを特定することができる(ステップS305)。つまり、この実施形態では、撮像画像I1、I2に写る各部品91a、91b、91cの2枚の撮像画像I1、I2間における対応関係に基づいて、撮像画像I1、I2それぞれにおいて認識対象部品91aが特定される。
【0054】
そして、ステップS306では、撮像画像I1、I2のそれぞれから、認識対象部品91aが写る対象領域R1、R2が抽出される(ステップS306)。この対象領域R1、R2は、その内部に認識対象部品91aを完全に包含するように設定され、認識対象部品91aの輪郭と一致する外形、あるいは認識対象部品91aの輪郭に対して若干大きい外形を有する。これによって、エピポーラ線に直交するy軸方向のみならずエピポーラ線に平行なx軸方向においても、撮像画像I1、I2で認識対象部品91aの写る対象領域R1、R2が特定される。換言すれば、撮像画像I1、I2において、認識対象部品91a以外の部品91b、91cは、x軸方向およびy軸方向のいずれの方向においても対象領域R1、R2から外される。
【0055】
このように、この実施形態では、撮像画像I1、I2に写る部品91a、91b、91cの2枚の撮像画像I1、I2間における対応関係に基づいて、エピポーラ線に平行なx軸方向およびエピポーラ線に直交するy軸方向の両方向において、各撮像画像I1、I2で認識対象部品91aが写る対象領域R1、R2を特定し、これらを抽出している。以上が第2実施形態における対象領域抽出処理(ステップS103)の一例である。
【0056】
図3を用いて、対象領域抽出処理に続くフローの説明を続ける。このように対象領域抽出回路52で抽出された対象領域R1、R2は、ステレオマッチング回路53に出力される。そして、ステレオマッチング回路53では、撮像画像I1、I2から抽出された対象領域R1、R2に対してのみステレオマッチング処理が実行される(ステップS104)。
【0057】
図8は、第2実施形態でのステレオマッチング処理の一例を模式的に示した図である。第2実施形態のステレオマッチング処理では、対象領域R1中の注目点Nに対応する対象領域R2中の点をエピポーラ線E上で探索するという点では、第1実施形態のステレオマッチング処理と共通する。ただし、第2実施形態では、ステレオマッチング処理において対応点を探索する探索範囲Rsが、対象領域R1、R2の抽出結果に基づいて決定される。
【0058】
具体的には、このステレオマッチング処理では、対象領域R1のx軸方向両端のx座標α1、β1と、対象領域R2のx軸方向両端のx座標α2、β2が求められる。そして、対象領域R1中の注目点Nのx座標をγとしたとき、x座標γを起点として距離Δx1だけ離れた位置から距離Δx2だけ離れた位置までが、対象領域R2における探索範囲Rsとして設定される。ここで、距離Δx1、Δx2
Δx1=min(α2−α1、β2−β1)
Δx2=max(α2−α1、β2−β1)
で与えられる。また、min(α2−α1、β2−β1)は、(α2−α1)および(β2−β1)のうちの最小値を意味し、max(α2−α1、β2−β1)は、(α2−α1)および(β2−β1)のうちの最大値を意味する。
【0059】
そして、対象領域R1での注目点Nに対応する点が、対象領域R2に対して設定された探索範囲Rsから見つけ出されて、注目点Nに対応付けられる。この対応付けは、対象領域R1で注目点Nを移動させながら繰り返し実行される。これによって、対象領域R1の各点と対象領域R2の各点が対応付けられて、対象領域R1、R2に対するステレオマッチング処理が実行される。
【0060】
このステレオマッチング処理(ステップS104)が完了すると、第1実施形態と同様に、図3に示すステップS105〜ステップS107が実行されて、三次元における部品91aの位置および姿勢が認識される。そして、制御回路50は、この認識結果に基づいて、各駆動モーターM23〜M25を制御して、双腕ロボット1による部品91aに対する動作を実行する。
【0061】
以上のように構成された実施形態では、認識対象部品91aを含む複数の部品91a〜91cを異なる視点から撮像した複数の撮像画像I1、I2それぞれから、認識対象部品91aが写る対象領域R1、R2が抽出される。そして、複数の撮像画像I1、I2それぞれの対象領域R1、R2に対して、ステレオマッチング処理が実行される。つまり、この実施形態は、ステレオマッチング処理を行う領域R1、R2を、撮像画像I1、I2のうちの認識対象部品91aを含む対象領域R1に限定している。そのため、対象領域R1から認識対象部品91a以外の部品91b、91cを外してステレオマッチング処理を実行することができ、その結果、ステレオマッチング処理において互いに異なる物体間で対応付けが行われるといった誤対応の発生を抑制することを可能となる。
【0062】
また、この実施形態では、ステレオマッチング処理を実行する領域が、撮像画像I1、I2のうち認識対象部品91aの写っている対象領域R1、R2に限定される。したがって、ステレオマッチング処理に要する時間を短縮できるといった効果も奏される。
【0063】
また、この実施形態では、撮像画像I1、I2に写る部品91a〜91cの複数の撮像画像I1、I2間における対応関係に基づいて、エピポーラ線に平行なx軸方向およびエピポーラ線に直交するy軸方向の両方向において、各撮像画像I1、I2で認識対象部品91aが写る対象領域R1、R2を特定することで、複数の撮像画像I1、I2それぞれから対象領域R1、R2を抽出している。つまり、撮像画像I1、I2に写る各部品91a〜91cの複数の撮像画像I1、I2間における対応関係に基づいて、x軸方向およびy軸方向の両方向において対象領域R1、R2が特定される。したがって、これらの各方向において認識対象部品91a以外の部品91b、91cを対象領域R1、R2から外すことができる。その結果、ステレオマッチング処理において互いに異なる部品間で対応付けが行われるといった誤対応の発生をより確実に抑制することを可能となる。
【0064】
なお、上述のとおり、ステレオマッチング処理は、複数の撮像画像I1、I2間で対応点を探索することで実行される。そこで、この実施形態では、各撮像画像I1、I2の対象領域R1、R2に対するステレオマッチング処理において各撮像画像I1、I2間の対応点を探索する探索範囲Rsを、抽出された対象領域R1、R2の位置に関する情報に基づいて設定されている。このような構成では、探索範囲Rsを適切に設定して、対応点の探索に要する処理時間を短縮することが可能となる。
【0065】
その他
このように上記実施形態では、撮像カメラC1、C2と三次元認識部5で構成されるステレオ撮像系SS(図2)が本発明の「三次元位置・姿勢認識装置」に相当し、双腕ロボット1が本発明の「産業用ロボット」に相当し、コンピューター3が本発明の「コンピューター」に相当し、記録媒体6が本発明の「記録媒体」に相当し、プログラム7が本発明の「プログラム」に相当する。また、撮像カメラC1、C2、制御回路50および平行化回路51が本発明の「画像取得部」として機能し、対象領域抽出回路52が本発明の「対象領域抽出部」に相当し、ステレオマッチング回路53、三次元情報生成回路54、モデルマッチング回路55および制御回路50が本発明の「認識部」に相当する。また、アーム22およびハンド25が本発明の「部品移動手段」に相当し、制御回路50が本発明の「制御手段」に相当する。また、ステップS101、S102が本発明の「画像取得工程」に相当し、ステップS103が本発明の「対象領域抽出工程」に相当し、ステップS104〜ステップS107が本発明の「認識工程」に相当する。また、部品91aが本発明の「認識対象物」に相当し、部品91a〜91cが本発明の「物体」に相当し、撮像画像I1、I2が本発明の「撮像画像」に相当し、対象領域R1、R2が本発明の「対象領域」に相当する。また、x軸方向が本発明の「平行方向」に相当し、y軸方向が本発明の「直交方向」に相当する。
【0066】
なお、本発明は上記した実施形態に限定されるものではなく、その趣旨を逸脱しない限りにおいて上述したもの以外に種々の変更を行うことが可能である。例えば、上記実施形態では、二次元パターンマッチング(ステップS202、S302)によって、撮像画像I1から認識対象部品91aが確認されていた。この二次元パターンマッチングは部品91aのエッジに対するパターンマッチングを行うものであった、しかしながら、撮像画像I1から認識対象部品91aを確認する方法についても種々の変形が可能である。
【0067】
具体的には、各部品91a〜91cの面積や輪郭の長さの違いによって、部品91a〜91cから認識対象部品91aを確認しても良い。あるいは、色の違いによって部品91a〜91cを識別できる場合は、撮像カメラC1、C2としてカラーカメラを用いて、撮像画像I1での色に基づいて認識対象部品91aを確認しても良い。さらには、部品91a〜91cそれぞれを撮像画像I1から抽出した上で、これらの抽出結果の中で例えばマッチングスコアの最も高いものを選択しても良い。あるいは、マッチングスコアの高い順にソーティングする等によってこれらの抽出結果に対して系列付けを実施して、それぞれについて三次元認識を行った後に、三次元認識のマッチング率(認識率)が高いものを選択しても良い。
【0068】
また、上記の第2実施形態では、対象領域R1での注目点Nに対応する点を対象領域R2から探索する際の範囲が探索範囲Rsに限定されていた。しかしながら、このような探索範囲の限定を行わずに、対象領域R1での注目点Nに対応する点を対象領域R2の全体から探索するように構成しても良い。
【0069】
また、上記実施形態では、三次元認識部5は、コンピューター3の内蔵するCPUやメモリーで構成されていた。しかしながら、三次元認識部5は、FPGA(Field-Programmable Gate Array)等のプログラマブルロジックデバイスや、ディスクリートな回路素子を組み合わせて構成されても良い。
【0070】
また、上述のエッジ抽出(ステップS201、S301)についても種々の方法により実行することができ、例えば、Roberts、Sobel、Prewitt等の演算子を用いた方法を採用可能である。
【0071】
また、撮像カメラC1、C2の個数や、取り付け位置等についても上述したものに限られず、適宜変更可能である。
【0072】
また、上記実施形態では、撮像画像I1、I2中に3個の部品91a〜91cが写っている場合が例示されていた。しかしながら、撮像画像I1、I2中に3個以外の個数の部品が写っている場合に対しても本発明を適用可能である。
【0073】
また、三次元における部品91の位置および姿勢を求める方法についても、上述のモデルマッチングに限られず、適宜変更可能である。
【0074】
また、本発明を適用可能な産業用ロボットは、上述の双腕ロボット1に限られない。しがたって、その他の構成を具備するロボットに対して本発明を適用することもできる。
【産業上の利用可能性】
【0075】
この発明は、三次元での画像認識技術の全般に対して適用可能であり、特に産業用ロボットにおいて三次元における部品の位置・姿勢を認識する技術に好適に適用することができる。
【符号の説明】
【0076】
1…双腕ロボット
2…ロボット本体
22…アーム
25…ハンド
3…コンピューター
4…ドライバー
5…三次元認識部
50…制御回路
51…平行化回路
52…対象領域抽出回路
53…ステレオマッチング回路
54…三次元情報生成回路
55…モデルマッチング回路
6…記録媒体
7…プログラム
91,91a,91b,91c…部品
C1,C2…撮像カメラ
I1,I2…撮像画像
R1,R2…対象領域
Is…視差画像
E…エッジE
S…三次元情報S
SS…ステレオ撮像系

【特許請求の範囲】
【請求項1】
認識対象物を含む複数の物体を異なる視点から撮像した複数の撮像画像を取得する画像取得部と、
前記画像取得部が取得した前記複数の撮像画像それぞれから、前記認識対象物が写る対象領域を抽出する対象領域抽出部と、
前記対象領域抽出部が抽出した前記各撮像画像の前記対象領域に対してステレオマッチング処理を行って、三次元における前記認識対象物の位置および姿勢を認識する認識部と
を備えることを特徴とする三次元位置・姿勢認識装置。
【請求項2】
前記画像取得部は、互いのエピポーラ線が平行な状態で前記複数の撮像画像を取得し、
前記対象領域抽出部は、前記複数の撮像画像のうちの一の前記撮像画像から、前記エピポーラ線に直交する直交方向における前記認識対象物の写る区間を特定し、前記複数の撮像画像それぞれにおいて前記区間と前記直交方向に一致する領域を前記対象領域として抽出する請求項1に記載の三次元位置・姿勢認識装置。
【請求項3】
前記対象領域抽出部は、前記撮像画像に写る前記各物体の前記複数の撮像画像間における対応関係に基づいて、エピポーラ線に平行な平行方向および前記エピポーラ線に直交する直交方向の両方向において、前記各撮像画像で前記認識対象物が写る前記対象領域を特定することで、前記複数の撮像画像それぞれから前記対象領域を抽出する請求項1に記載の三次元位置・姿勢認識装置。
【請求項4】
前記認識部は、前記各撮像画像の前記対象領域に対する前記ステレオマッチング処理において前記各撮像画像間の対応点を探索する探索範囲を、前記対象領域抽出部が抽出した前記対象領域の位置に関する情報に基づいて設定する請求項3に記載の三次元位置・姿勢認識装置。
【請求項5】
前記画像取得部は、互いのエピポーラ線が平行な状態で前記複数の撮像画像を取得する請求項3または4に記載の三次元位置・姿勢認識装置。
【請求項6】
部品を取って移動させる部品移動手段と、
請求項1ないし5のいずれか一項に記載の三次元位置・姿勢認識装置と、
前記三次元位置・姿勢認識装置により前記認識対象物としての前記部品の三次元での位置および姿勢を認識した結果に基づいて、前記部品移動手段を制御する制御手段と
を備えることを特徴とする産業用ロボット。
【請求項7】
認識対象物を含む複数の物体を異なる視点から撮像した複数の撮像画像を取得する画像取得工程と、
前記画像取得工程で取得した前記複数の撮像画像それぞれから、前記認識対象物が写る対象領域を抽出する対象領域抽出工程と、
前記対象領域抽出工程で抽出した前記各撮像画像の前記対象領域に対してステレオマッチング処理を行って、三次元における前記認識対象物の位置および姿勢を認識する認識工程と
を備えることを特徴とする三次元位置・姿勢認識方法。
【請求項8】
認識対象物を含む複数の物体を異なる視点から撮像した複数の撮像画像を取得する画像取得機能と、
前記画像取得工程で取得した前記複数の撮像画像それぞれから、前記認識対象物が写る対象領域を抽出する対象領域抽出機能と、
前記対象領域抽出工程で抽出した前記各撮像画像の前記対象領域に対してステレオマッチング処理を行って、三次元における前記認識対象物の位置および姿勢を認識する認識機能と
を、コンピューターに実現させることを特徴とするプログラム。
【請求項9】
請求項8に記載のプログラムが記録されており、コンピューターにより読み取りが可能であることを特徴とする記録媒体。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate


【公開番号】特開2013−69100(P2013−69100A)
【公開日】平成25年4月18日(2013.4.18)
【国際特許分類】
【出願番号】特願2011−206964(P2011−206964)
【出願日】平成23年9月22日(2011.9.22)
【出願人】(000207551)大日本スクリーン製造株式会社 (2,640)
【Fターム(参考)】