(57)【要約】【課題】ステレオマッチング処理において互いに異なる部品９１a〜９１c間で対応付けが行われるといった誤対応の発生を抑制する。【解決手段】認識対象部品９１aを含む複数の部品９１a〜９１cを異なる視点から撮像した複数の撮像画像Ｉ1、Ｉ2それぞれから、認識対象部品９１aが写る対象領域Ｒ1、Ｒ2が抽出される。複数の撮像画像Ｉ1、Ｉ2それぞれの対象領域Ｒ1、Ｒ2に対して、ステレオマッチング処理が実行される。つまり、ステレオマッチング処理を行う領域Ｒ1、Ｒ2を、撮像画像Ｉ1、Ｉ2のうちの認識対象部品９１aを含む対象領域Ｒ1に限定する。そのため、対象領域Ｒ1から認識対象部品９１a以外の部品９１b、９１cを外してステレオマッチング処理を実行することができ、その結果、ステレオマッチング処理において互いに異なる物体間で対応付けが行われるといった誤対応の発生を抑制できる。【選択図】図７
2013069100.tif 000002
【特許請求の範囲】
【請求項１】
認識対象物を含む複数の物体を異なる視点から撮像した複数の撮像画像を取得する画像取得部と、
前記画像取得部が取得した前記複数の撮像画像それぞれから、前記認識対象物が写る対象領域を抽出する対象領域抽出部と、
前記対象領域抽出部が抽出した前記各撮像画像の前記対象領域に対してステレオマッチング処理を行って、三次元における前記認識対象物の位置および姿勢を認識する認識部と
を備えることを特徴とする三次元位置・姿勢認識装置。
【請求項２】
前記画像取得部は、互いのエピポーラ線が平行な状態で前記複数の撮像画像を取得し、
前記対象領域抽出部は、前記複数の撮像画像のうちの一の前記撮像画像から、前記エピポーラ線に直交する直交方向における前記認識対象物の写る区間を特定し、前記複数の撮像画像それぞれにおいて前記区間と前記直交方向に一致する領域を前記対象領域として抽出する請求項１に記載の三次元位置・姿勢認識装置。
【請求項３】
前記対象領域抽出部は、前記撮像画像に写る前記各物体の前記複数の撮像画像間における対応関係に基づいて、エピポーラ線に平行な平行方向および前記エピポーラ線に直交する直交方向の両方向において、前記各撮像画像で前記認識対象物が写る前記対象領域を特定することで、前記複数の撮像画像それぞれから前記対象領域を抽出する請求項１に記載の三次元位置・姿勢認識装置。
【請求項４】
前記認識部は、前記各撮像画像の前記対象領域に対する前記ステレオマッチング処理において前記各撮像画像間の対応点を探索する探索範囲を、前記対象領域抽出部が抽出した前記対象領域の位置に関する情報に基づいて設定する請求項３に記載の三次元位置・姿勢認識装置。
【請求項５】
前記画像取得部は、互いのエピポーラ線が平行な状態で前記複数の撮像画像を取得する請求項３または４に記載の三次元位置・姿勢認識装置。
【請求項６】
部品を取って移動させる部品移動手段と、
請求項１ないし５のいずれか一項に記載の三次元位置・姿勢認識装置と、
前記三次元位置・姿勢認識装置により前記認識対象物としての前記部品の三次元での位置および姿勢を認識した結果に基づいて、前記部品移動手段を制御する制御手段と
を備えることを特徴とする産業用ロボット。
【請求項７】
認識対象物を含む複数の物体を異なる視点から撮像した複数の撮像画像を取得する画像取得工程と、
前記画像取得工程で取得した前記複数の撮像画像それぞれから、前記認識対象物が写る対象領域を抽出する対象領域抽出工程と、
前記対象領域抽出工程で抽出した前記各撮像画像の前記対象領域に対してステレオマッチング処理を行って、三次元における前記認識対象物の位置および姿勢を認識する認識工程と
を備えることを特徴とする三次元位置・姿勢認識方法。
【請求項８】
認識対象物を含む複数の物体を異なる視点から撮像した複数の撮像画像を取得する画像取得機能と、
前記画像取得工程で取得した前記複数の撮像画像それぞれから、前記認識対象物が写る対象領域を抽出する対象領域抽出機能と、
前記対象領域抽出工程で抽出した前記各撮像画像の前記対象領域に対してステレオマッチング処理を行って、三次元における前記認識対象物の位置および姿勢を認識する認識機能と
を、コンピューターに実現させることを特徴とするプログラム。
【請求項９】
請求項８に記載のプログラムが記録されており、コンピューターにより読み取りが可能であることを特徴とする記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、物体を異なる視点から撮像した複数の撮像画像に対してステレオマッチング処理を行って、三次元における物体の位置および姿勢を求める技術に関する。
【背景技術】
【０００２】
特許文献１では、三次元における物体の位置および姿勢を認識する三次元認識技術が記載されている。この三次元認識技術では、異なる視点から物体を撮像して得られる複数の撮像画像に対してステレオマッチング処理が実行されて、三次元における物体の位置および姿勢が認識される。詳しくは、このステレオマッチング処理では、複数の撮像画像の中から類似する特徴を有する部分どうしが対応付けられて、これらの部分の間の視差から三次元における物体の位置および姿勢が求められる。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平０８−２０１０４１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、機械部品や電子部品等の部品を組み立てる産業用ロボットに、上述のような技術を応用することが考えられる。具体例を挙げると、このような産業用ロボットとしては、部品を取り上げて移動させるアームを用いて部品を組み立てるものがある。この際、部品を確実に取り上げるには、三次元における部品の位置および姿勢を正確に把握する必要がある。そこで、上述のように、異なる視点から部品を撮像して得られる複数の撮像画像にステレオマッチング処理を施して、三次元における部品の位置・姿勢を認識し、この認識結果に基づいて産業用ロボットのアームを制御することが考えられる。
【０００５】
ただし、このような産業用ロボットは、複数の部品の中から認識対象部品を選び出して取り上げるといった動作を行うことが求められる。このような場合、ステレオマッチング処理のために撮像される各撮像画像には、認識対象部品と他の部品とが混在することになる。そのため、一の撮像画像中の認識対象部品と他の撮像画像中の他の部品とが互いに類似した特徴（例えば、エッジ形状）を有していること等に起因して、ステレオマッチング処理において互いに異なるこれらの部品間で誤って対応付けが行われるといった誤対応が発生するおそれがあった。そして、このような誤対応が発生すると、当然の事ながら、認識対象部品の三次元における位置および姿勢を正しく認識することはできない。
【０００６】
この発明は上記課題に鑑みなされたものであり、ステレオマッチング処理において互いに異なる物体間で対応付けが行われるといった誤対応の発生を抑制することを可能とする技術の提供を目的とする。
【課題を解決するための手段】
【０００７】
この発明にかかる三次元位置・姿勢認識装置は、上記目的を達成するために、認識対象物を含む複数の物体を異なる視点から撮像した複数の撮像画像を取得する画像取得部と、画像取得部が取得した複数の撮像画像それぞれから、認識対象物が写る対象領域を抽出する対象領域抽出部と、対象領域抽出部が抽出した各撮像画像の対象領域に対してステレオマッチング処理を行って、三次元における認識対象物の位置および姿勢を認識する認識部とを備えることを特徴としている。
【０００８】
この発明にかかる産業用ロボットは、上記目的を達成するために、部品を取って移動させる部品移動手段と、上記の三次元位置・姿勢認識装置と、三次元位置・姿勢認識装置により認識対象物としての部品の三次元での位置および姿勢を認識した結果に基づいて、部品移動手段を制御する制御手段とを備えることを特徴としている。
【０００９】
また、この発明にかかる三次元位置・姿勢認識方法は、上記目的を達成するために、認識対象物を含む複数の物体を異なる視点から撮像した複数の撮像画像を取得する画像取得工程と、画像取得工程で取得した複数の撮像画像それぞれから、認識対象物が写る対象領域を抽出する対象領域抽出工程と、対象領域抽出工程で抽出した各撮像画像の対象領域に対してステレオマッチング処理を行って、三次元における認識対象物の位置および姿勢を認識する認識工程とを備えることを特徴としている。
【００１０】
また、この発明にかかるプログラムは、上記目的を達成するために、認識対象物を含む複数の物体を異なる視点から撮像した複数の撮像画像を取得する画像取得機能と、画像取得工程で取得した複数の撮像画像それぞれから、認識対象物が写る対象領域を抽出する対象領域抽出機能と、対象領域抽出工程で抽出した各撮像画像の対象領域に対してステレオマッチング処理を行って、三次元における認識対象物の位置および姿勢を認識する認識機能とを、コンピューターに実現させることを特徴としている。
【００１１】
また、この発明にかかる記録媒体は、上記目的を達成するために、上記のプログラムが記録されており、コンピューターにより読み取りが可能であることを特徴としている。
【００１２】
このように構成された発明（三次元位置・姿勢認識装置、産業用ロボット、三次元位置・姿勢認識方法、プログラム、記録媒体）では、認識対象物を含む複数の物体を異なる視点から撮像した複数の撮像画像それぞれから、認識対象物が写る対象領域が抽出される。そして、複数の撮像画像それぞれの対象領域に対して、ステレオマッチング処理が実行される。つまり、この発明は、ステレオマッチング処理を行う領域を、撮像画像のうちの認識対象物を含む対象領域に限定している。そのため、対象領域から認識対象物以外の物体を外してステレオマッチング処理を実行することができ、その結果、ステレオマッチング処理において互いに異なる物体間で対応付けが行われるといった誤対応の発生を抑制することを可能となる。
【００１３】
なお、上述のような三次元位置・姿勢認識装置では、互いのエピポーラ線が平行な状態で複数の撮像画像を取得するように画像取得部を構成することができる。そして、このような構成では、エピポーラ線に直交する直交方向における位置は、複数の撮像画像の間で揃うこととなる。換言すれば、直交方向においては、認識対象物が存在する区間が複数の撮像画像間で揃う。したがって、直交方向において認識対象物が存在する区間については、複数の撮像画像のうちの一の撮像画像について特定すれば、すなわち複数の撮像画像のそれぞれについて特定したこととなる。そこで、認識対象物が存在する領域の抽出を簡便化するために、次のように構成しても良い。
【００１４】
つまり、画像取得部は、互いのエピポーラ線が平行な状態で複数の撮像画像を取得し、対象領域抽出部は、複数の撮像画像のうちの一の撮像画像から、エピポーラ線に直交する直交方向における認識対象物の写る区間を特定し、複数の撮像画像それぞれにおいて区間と直交方向に一致する領域を対象領域として抽出するように、三次元位置・姿勢認識装置を構成しても良い。このように、一の撮像画像から直交方向における認識対象物の写る区間を特定し、複数の撮像画像それぞれにおいて当該区間と直交方向に一致する領域を対象領域として抽出することで、認識対象物が存在する対象領域の抽出を簡便に実行することができる。
【００１５】
なお、このような構成では、エピポーラ線に平行な平行方向においては対象領域が限定されない。そのため、稀なケースではあるが、この平行方向に認識対象物と他の物体が並んだような場合には、これらの間で上述の誤対応が発生するおそれがある。
【００１６】
そこで、対象領域抽出部は、撮像画像に写る各物体の複数の撮像画像間における対応関係に基づいて、エピポーラ線に平行な平行方向およびエピポーラ線に直交する直交方向の両方向において、各撮像画像で認識対象物が写る対象領域を特定することで、複数の撮像画像それぞれから対象領域を抽出するように、三次元位置・姿勢認識装置を構成しても良い。このような構成では、撮像画像に写る各物体の複数の撮像画像間における対応関係に基づいて、平行方向および直交方向の両方向において対象領域が特定される。したがって、これらの各方向において認識対象物以外の物体を対象領域から外すことができる。その結果、ステレオマッチング処理において互いに異なる物体間で対応付けが行われるといった誤対応の発生をより確実に抑制することを可能となる。
【００１７】
なお、ステレオマッチング処理は、複数の撮像画像間で対応点を探索することで実行される。そこで、認識部は、各撮像画像の対象領域に対するステレオマッチング処理において各撮像画像間の対応点を探索する探索範囲を、対象領域抽出部が抽出した対象領域の位置に関する情報に基づいて設定するように、三次元位置・姿勢認識装置を構成しても良い。このような構成では、探索範囲を適切に設定して、対応点の探索に要する処理時間を短縮することが可能となる。
【００１８】
なお、上述のような、平行方向および直交方向の両方向における対象領域の抽出や、その後のステレオマッチング処理は、各撮像画像のエピポーラ線を平行した状態で行うことで簡便に実行することができる。そこで、画像取得部は、互いのエピポーラ線が平行な状態で複数の撮像画像を取得するように、三次元位置・姿勢認識装置を構成しても良い。
【発明の効果】
【００１９】
ステレオマッチング処理において互いに異なる物体間で対応付けが行われるといった誤対応の発生を抑制することが可能となる。
【図面の簡単な説明】
【００２０】
【図１】本発明を適用可能な双腕ロボットの一例を模式的示す斜視図である。
【図２】図１の双腕ロボットが具備する電気的構成を模式的に示すブロック図である。
【図３】三次元認識で実行される動作のフローの一例を示すフローチャートである。
【図４】第１実施形態における対象領域抽出処理のフローの一例を示すフローチャートである。
【図５】図４の対象領域抽出処理で行われる各画像処理の一例を模式的に示した図である。
【図６】第２実施形態における対象領域抽出処理のフローの一例を示すフローチャートである。
【図７】図６の対象領域抽出処理で行われる各画像処理の一例を模式的に示した図である。
【図８】第２実施形態でのステレオマッチング処理の一例を模式的に示した図である。
【発明を実施するための形態】
【００２１】
第１実施形態
図１は、本発明を適用可能な双腕ロボットの一例を模式的示す斜視図である。図２は、図１の双腕ロボットが具備する電気的構成を模式的に示すブロック図である。図１および以下に示す図では、鉛直方向をｚ軸方向とするｘｙｚ直交座標軸を適宜示すこととする。
【００２２】
双腕ロボット１は、ロボット本体２とこのロボット本体２の動作を制御するコンピューター３で構成される。ロボット本体２は、胴体部２１に２本のアーム２２を取り付けた概略構成を備える。詳しくは、各アーム２２は、駆動モーターＭ23に接続された肩関節２３を介して取り付けられている。そして、駆動モーターＭ23で肩関節２３を回転させることで、アーム２２を動かすことができる。
【００２３】
また、各アーム２２の先端には、手首関節２４を介してハンド２５が取り付けられている。この手首関節２４には駆動モーターＭ24が接続されている。したがって、駆動モーターＭ24で手首関節２４を回転させることで、ハンド２５の向きを変えることができる。さらに、ハンド２５には駆動モーターＭ25が接続されており、駆動モーターＭ25によりハンド２５を開閉させることができる。
【００２４】
そして、双腕ロボット１は、駆動モーターＭ23〜Ｍ25を制御することで、部品トレイ９の上に並ぶ部品９１（機械部品、電子部品）をハンド２５で掴んで所定位置まで運んだり、ハンド２５を回転させて部品９１の姿勢を変えたり、ハンド２５から部品９１を放して所定位置に載置したりといった種々の動作を実行できる。つまり、このような各種動作を組み合わせて実行することで、双腕ロボット１は、部品９１を組み立てることができる。
【００２５】
また、２本のアーム２２の一方には、２つの撮像カメラＣ1、Ｃ2が取り付けられている。これら撮像カメラＣ1、Ｃ2は一方のアーム２２と一体的に移動しつつ、部品９１を適宜撮像するものである。そして、後述するように、撮像カメラＣ1、Ｃ2により部品９１を撮像した結果に基づいて、アーム２２およびハンド２５の動作が制御されて、部品９１の組立が実行される。
【００２６】
さらに、双腕ロボット１は、胴体部２１から上方に延びる首部２６と、首部２６の先端に取り付けられた頭部２７を有している。これら首部２６および頭部２７は、鉛直方向ｚおよび当該方向ｚを中心とする回転方向Ｄrに一体的に移動できる。
【００２７】
このようなロボット本体２の動作は、コンピューター３により制御される。コンピューター３は、ドライバー４と、三次元認識部５とを具備している。ドライバー４は、コンピューター３により読み取りが可能な記録媒体６に記録されたプログラム７を読み出す機能を果たす。このような記録媒体６としては、例えば、ＣＤ(Compact Disc)、ＤＶＤ(Digital Versatile Disc)、ＵＳＢ(Universal Serial Bus)メモリー等の種々のものが挙げられる。そして、ドライバー４が記録媒体６から読み出したプログラム７に従って、三次元認識部５が三次元認識を行う。
【００２８】
この三次元認識部５は、制御回路５０によって他の構成回路５１〜５５を制御する概略構成を備えるものであり、コンピューター３に備えられたＣＰＵ(Central Processing Unit)およびメモリーにより実現される。続いて、三次元認識部５が実行する三次元認識の説明を通じて、三次元認識部５の構成について説明する。
【００２９】
図３は、三次元認識で実行される動作のフローの一例を示すフローチャートである。三次元認識では、制御回路５０が撮像カメラＣ1、Ｃ2に撮像指令を出力すると、撮像カメラＣ1、Ｃ2のそれぞれが部品９１の画像を撮像して、制御回路５０に出力する。こうして、異なる視点から部品９１を撮像した２枚の撮像画像Ｉ1、Ｉ2が取得される（ステップＳ１０１）。
【００３０】
これら２枚の撮像画像Ｉ1、Ｉ2は、平行化回路５１で平行化処理を受ける。この平行化回路５１は、制御回路５０から受け取った撮像画像Ｉ1、Ｉ2それぞれのエピポーラ線を平行にする平行化処理（画像変換）を撮像画像Ｉ1、Ｉ2に対して行うものである（ステップＳ１０２）。そして、平行化処理を受けた撮像画像Ｉ1、Ｉ2が対象領域抽出回路５２へ出力される。
【００３１】
この対象領域抽出回路５２は、受け取った撮像画像Ｉ1、Ｉ2から、ステレオマッチング処理を行う対象領域Ｒ1、Ｒ2（ＲＯＩ：Region Of
Interest）を抽出する（ステップＳ１０３）。つまり、撮像画像Ｉ1、Ｉ2には、認識対象となる部品９１を含む複数の部品９１が混在している。そこで、この実施形態では、後のステレオマッチング処理を適切に実行するために、撮像画像Ｉ1、Ｉ2から認識対象部品９１の写っている領域（対象領域Ｒ1、Ｒ2）が抽出される。対象領域抽出回路５２が実行するこのような対象領域抽出処理の詳細は次のとおりである。
【００３２】
図４は、第１実施形態における対象領域抽出処理のフローの一例を示すフローチャートである。図５は、図４の対象領域抽出処理で行われる各画像処理の一例を模式的に示した図である。図５の各欄の左上では、当該欄内に示す画像処理が実行される図４のフローチャート中のステップが示されている。
【００３３】
この対象領域抽出処理では、２枚の撮像画像Ｉ1、Ｉ2のうち一方の撮像画像Ｉ1に対してエッジ検出が実行されて、各部品９１a〜９１cのエッジが求められる（ステップＳ２０１）。そして、このエッジ検出結果に基づいて、部品９１a〜９１cの中から認識対象となる部品９１aが特定される。
【００３４】
具体的には、二次元（ｘｙ平面）における認識対象部品９１aのパターンＰが対象領域抽出回路５２に予め記憶されている。そして、ステップＳ２０１で求めた各部品９１a〜９１cのエッジとパターンＰとを比較する二次元パターンマッチングが実行される（ステップＳ２０２）。その結果、パターンＰと形状が適合しなかった部品９１b、９１cは認識対象部品でないと判断される一方、パターンＰと形状が適合した部品９１aが認識対象部品であると特定される（ステップＳ２０３）。
【００３５】
続くステップＳ２０４は、撮像画像Ｉ1で認識対象部品９１aの写る区間ΔＹがＹ軸方向において特定される。そして、ステップＳ２０５では、２枚の撮像画像Ｉ1、Ｉ2のそれぞれにおいて、この区間ΔＹとＹ軸方向に一致する領域が対象領域Ｒ1、Ｒ2として抽出される。以上が対象領域抽出処理（ステップＳ１０３）の一例である。
【００３６】
図３に戻って、同図のフローチャートの説明を続ける。このように対象領域抽出回路５２で抽出された対象領域Ｒ1、Ｒ2は、ステレオマッチング回路５３に出力される。そして、ステレオマッチング回路５３では、撮像画像Ｉ1、Ｉ2から抽出された対象領域Ｒ1、Ｒ2に対してのみステレオマッチング処理が実行される（ステップＳ１０４）。このステレオマッチング処理では、撮像画像Ｉ1の対象領域Ｒ1と撮像画像Ｉ2の対象領域Ｒ2の間で特徴の類似する点（微小領域）どうしが部品９１の同一部分に対応するとして、互いに対応付けられる。
【００３７】
具体的に説明すると、対象領域Ｒ1中の注目点と、この注目点を通るエピポーラ線上にある対象領域Ｒ2中の各点との間で特徴の類似性が判断されて、対象領域Ｒ1の注目点と特徴の類似する点が対象領域Ｒ2中から探索される。ここでは撮像画像Ｉ1、Ｉ2のエピポーラ線が互いに平行であって、互いに対応する点のｙ座標は一致しているため、ｙ座標が注目点と同じである対象領域Ｒ2の各点と注目点との間で特徴の類似性が判断される。その結果、対象領域Ｒ2の各点のうち最も類似性の高い点が、対象領域Ｒ1の注目点と対応付けられる。さらに、対象領域Ｒ1中の注目点を移動させながら同様の動作を繰り返すことで、対象領域Ｒ1の各点と対象領域Ｒ2の各点とが対応付けられる。
【００３８】
そして、ステレオマッチング回路５３は、こうして対応付けられた２つの点の間の視差ｐを算出する。具体的には、対象領域Ｒ1中の点とこれに対応する対象領域Ｒ2中の点との視差ｐが求められて、対象領域Ｒ1中の点に対して視差ｐが付与される。このようにして、対象領域Ｒ1中の各点(x,y)に対して視差ｐを付与した視差画像Ｉsが生成される。言い換えれば、視差画像Ｉsは、対象領域Ｒ1の各点(x,y)での視差ｐ(x,y)を示す情報である。
【００３９】
こうして、ステレオマッチング回路５３で生成された視差画像Ｉsは、三次元情報生成回路５４に出力される。この三次元情報生成回路５４は、受け取った視差画像Ｉsから三次元情報Ｓを生成する（ステップＳ１０６）。つまり、ｘｙ平面での位置(x,y)での視差ｐを示す情報Ｉsが、当該位置(x,y)でのｚ成分を示す三次元情報Ｓに変換される。こうして、三次元の座標系(x,y,z)における位置を示す三次元情報Ｓが生成される。
【００４０】
なお、この三次元情報Ｓの変換にあたっては、撮像カメラＣ1、Ｃ2の焦点距離等の内部パラメーターや、撮像カメラＣ1、Ｃ2の位置関係を示す基礎行列Ｆが必要となる。この基礎行列Ｆについては、予め行われた撮像カメラＣ1、Ｃ2の校正時に求められて、三次元情報生成回路５４に記憶されている。
【００４１】
こうして、求められた部品９１の三次元情報Ｓは、三次元情報生成回路５４からモデルマッチング回路５５へ出力される。そして、モデルマッチング回路５５は、部品９１aの三次元形状を示す三次元モデルと三次元情報Ｓとをマッチングさせるモデルマッチング処理を行う（ステップＳ１０６）。このとき使用される部品９１aのモデルは、部品９１aの外形を示すＣＡＤ(computer aided design)データから求められて、モデルマッチング回路５５に予め記憶されている。
【００４２】
モデルマッチング処理の結果Ｒmは、モデルマッチング回路５６から制御回路５０に出力される。制御回路５０は、モデルマッチング結果Ｒmに基づいて、三次元における部品９１aの位置および姿勢を認識する三次元認識処理を実行する（ステップＳ１０７）。言い換えれば、ステップＳ１０７では、モデルマッチング結果Ｒmに基づいて、三次元における部品９１aの位置および姿勢を示す三次元モデルが生成される（三次元モデリング）。そして、制御回路５０は、部品９１aの三次元モデルとロボット本体２の座標系に基づいて、各駆動モーターＭ23〜Ｍ25を制御して、双腕ロボット１による部品９１aに対する動作を実行する。
【００４３】
以上のように構成された実施形態では、認識対象部品９１aを含む複数の部品９１a〜９１cを異なる視点から撮像した複数の撮像画像Ｉ1、Ｉ2それぞれから、認識対象部品９１aが写る対象領域Ｒ1、Ｒ2が抽出される。そして、複数の撮像画像Ｉ1、Ｉ2それぞれの対象領域Ｒ1、Ｒ2に対して、ステレオマッチング処理が実行される。つまり、この実施形態は、ステレオマッチング処理を行う領域Ｒ1、Ｒ2を、撮像画像Ｉ1、Ｉ2のうちの認識対象部品９１aを含む対象領域Ｒ1に限定している。そのため、対象領域Ｒ1から認識対象部品９１a以外の部品９１b、９１cを外してステレオマッチング処理を実行することができ、その結果、ステレオマッチング処理において互いに異なる物体間で対応付けが行われるといった誤対応の発生を抑制することを可能となる。
【００４４】
また、この実施形態では、ステレオマッチング処理を実行する領域が、撮像画像Ｉ1、Ｉ2のうち認識対象部品９１aの写っている対象領域Ｒ1、Ｒ2に限定される。したがって、ステレオマッチング処理に要する時間を短縮できるといった効果も奏される。
【００４５】
なお、この実施形態では、制御回路５０および平行化回路５１で構成された画像取得部は、エピポーラ線が平行な状態で複数の撮像画像Ｉ1、Ｉ2を取得している。そして、このような構成では、エピポーラ線に直交するＹ軸方向における位置は、複数の撮像画像Ｉ1、Ｉ2の間で揃うこととなる。換言すれば、Ｙ軸方向においては、認識対象部品９１aが存在する区間ΔＹが複数の撮像画像Ｉ1、Ｉ2間で揃う。したがって、Ｙ軸方向において認識対象部品９１aが存在する区間ΔＹについては、複数の撮像画像Ｉ1、Ｉ2のうちの一の撮像画像Ｉ1について特定すれば、すなわち複数の撮像画像Ｉ1、Ｉ2のそれぞれについて特定したこととなる。そこで、この実施形態では、認識対象部品９１aが存在する領域Ｒ1、Ｒ2の抽出を簡便化するために、次のような構成を有する。
【００４６】
つまり、対象領域抽出回路５２では、複数の撮像画像Ｉ1、Ｉ2のうちの一の撮像画像Ｉ1から、Ｙ軸方向における認識対象部品９１aの写る区間ΔＹが特定される（ステップＳ２０４）。そして、複数の撮像画像Ｉ1、Ｉ2それぞれにおいて区間ΔＹとＹ軸方向に一致する領域が対象領域Ｒ1、Ｒ2として抽出される（ステップＳ２０５）。このように、一の撮像画像Ｉ1からＹ軸方向における認識対象部品９１aの写る区間ΔＹを特定し、複数の撮像画像Ｉ1、Ｉ2それぞれにおいて当該区間ΔＹとＹ軸方向に一致する領域を対象領域Ｒ1、Ｒ2として抽出することで、認識対象部品９１aが存在する対象領域Ｒ1、Ｒ2の抽出を簡便に実行することができる。
【００４７】
第２実施形態
第１実施形態では、エピポーラ線に平行なｘ軸方向においては対象領域Ｒ1、Ｒ2が限定されない。そのため、稀なケースではあるが、このｘ軸方向に認識対象部品９１aと他の部品９１b、９１cが並んだような場合には、これらの間で上述の誤対応が発生するおそれがある。そこで、以下に説明する第２実施形態は、ｙ軸方向のみならずｘ軸方向にも対象領域Ｒ1、Ｒ2を限定する構成を備える。
【００４８】
第２実施形態の三次元認識においても、基本的には図３に示したフローが実行される。したがって、第１実施形態と同様に、制御回路５０が撮像カメラＣ1、Ｃ2を用いて、異なる視点から部品９１を撮像した２枚の撮像画像Ｉ1、Ｉ2を取得する（ステップＳ１０１）。そして、平行化回路５１がこれらの撮像画像Ｉ1、Ｉ2に対して平行化処理を実行して、撮像画像Ｉ1、Ｉ2それぞれのエピポーラ線を平行にする（ステップＳ１０２）。ただし、続くステップＳ１０３で実行される対象領域抽出処理の内容が、第１実施形態と異なっている。
【００４９】
図６は、第２実施形態における対象領域抽出処理のフローの一例を示すフローチャートである。図７は、図６の対象領域抽出処理で行われる各画像処理の一例を模式的に示した図である。図７の各欄の左上では、当該欄内に示す画像処理が実行される図６のフローチャート中のステップが示されている。
【００５０】
この対象領域抽出処理では、２枚の撮像画像Ｉ1、Ｉ2それぞれに対してエッジ検出が実行されて、各部品９１a〜９１cのエッジが求められる（ステップＳ３０１）。続くステップＳ３０２では、第１実施形態でのステップＳ２０２と同様の二次元パターンマッチングが撮像画像Ｉ1に対して実行されて、撮像画像Ｉ1において認識対象部品９１aが確認される。
【００５１】
ステップＳ３０３では、撮像画像Ｉ1、Ｉ2のそれぞれにおいて、各部品９１a〜９１cのエッジの幾何重心が算出される。これによって、撮像画像Ｉ1において３個の幾何重心Ｇ11、Ｇ12、Ｇ13が求められるとともに、撮像画像Ｉ2において３個の幾何重心Ｇ21、Ｇ22、Ｇ23が求められる。そして、これら幾何重心の位置に応じて、撮像画像Ｉ1、Ｉ2の各部品に対してラベルＬ1、Ｌ2、…が付される（ステップＳ３０４）。
【００５２】
具体的には、図７の例では、撮像画像Ｉ1、Ｉ2それぞれにおいて、幾何重心のｘ座標の小さい部品９１a、９１b、９１cから順番に、ラベルＬ1、Ｌ2、Ｌ3が付されている。なお、図７の例は該当しないが、幾何重心のｘ座標が同じ部品が複数存在する場合には、これらの部品については、例えば幾何重心のｙ座標の小さい部品から順にラベルを付せば良い。こうして、撮像画像Ｉ1の各部品に対して順にラベルＬ1、Ｌ2、Ｌ3が付されるとともに、撮像画像Ｉ2の各部品に対して順にラベルＬ1、Ｌ2、Ｌ3が付される。これによって、２枚の撮像画像Ｉ1、Ｉ2それぞれに写る同一部品に対して、同一のラベルが付されることとなる。
【００５３】
このようなラベリング結果に基づいて、撮像画像Ｉ1中の認識対象部品９１aと同じラベルＬ1が付された部品を撮像画像Ｉ2中から見つけ出すことで、撮像画像Ｉ2中の認識対象部品９１aを特定することができる。こうして、撮像画像Ｉ1、Ｉ2中のそれぞれにおいて、認識対象部品９１aを特定することができる（ステップＳ３０５）。つまり、この実施形態では、撮像画像Ｉ1、Ｉ2に写る各部品９１a、９１b、９１cの２枚の撮像画像Ｉ1、Ｉ2間における対応関係に基づいて、撮像画像Ｉ1、Ｉ2それぞれにおいて認識対象部品９１aが特定される。
【００５４】
そして、ステップＳ３０６では、撮像画像Ｉ1、Ｉ2のそれぞれから、認識対象部品９１aが写る対象領域Ｒ1、Ｒ2が抽出される（ステップＳ３０６）。この対象領域Ｒ1、Ｒ2は、その内部に認識対象部品９１aを完全に包含するように設定され、認識対象部品９１aの輪郭と一致する外形、あるいは認識対象部品９１aの輪郭に対して若干大きい外形を有する。これによって、エピポーラ線に直交するｙ軸方向のみならずエピポーラ線に平行なｘ軸方向においても、撮像画像Ｉ1、Ｉ2で認識対象部品９１aの写る対象領域Ｒ1、Ｒ2が特定される。換言すれば、撮像画像Ｉ1、Ｉ2において、認識対象部品９１a以外の部品９１b、９１cは、ｘ軸方向およびｙ軸方向のいずれの方向においても対象領域Ｒ1、Ｒ2から外される。
【００５５】
このように、この実施形態では、撮像画像Ｉ1、Ｉ2に写る部品９１a、９１b、９１cの２枚の撮像画像Ｉ1、Ｉ2間における対応関係に基づいて、エピポーラ線に平行なｘ軸方向およびエピポーラ線に直交するｙ軸方向の両方向において、各撮像画像Ｉ1、Ｉ2で認識対象部品９１aが写る対象領域Ｒ1、Ｒ2を特定し、これらを抽出している。以上が第２実施形態における対象領域抽出処理（ステップＳ１０３）の一例である。
【００５６】
図３を用いて、対象領域抽出処理に続くフローの説明を続ける。このように対象領域抽出回路５２で抽出された対象領域Ｒ1、Ｒ2は、ステレオマッチング回路５３に出力される。そして、ステレオマッチング回路５３では、撮像画像Ｉ1、Ｉ2から抽出された対象領域Ｒ1、Ｒ2に対してのみステレオマッチング処理が実行される（ステップＳ１０４）。
【００５７】
図８は、第２実施形態でのステレオマッチング処理の一例を模式的に示した図である。第２実施形態のステレオマッチング処理では、対象領域Ｒ1中の注目点Ｎに対応する対象領域Ｒ2中の点をエピポーラ線Ｅ上で探索するという点では、第１実施形態のステレオマッチング処理と共通する。ただし、第２実施形態では、ステレオマッチング処理において対応点を探索する探索範囲Ｒsが、対象領域Ｒ1、Ｒ2の抽出結果に基づいて決定される。
【００５８】
具体的には、このステレオマッチング処理では、対象領域Ｒ1のｘ軸方向両端のｘ座標α1、β1と、対象領域Ｒ2のｘ軸方向両端のｘ座標α2、β2が求められる。そして、対象領域Ｒ1中の注目点Ｎのｘ座標をγとしたとき、ｘ座標γを起点として距離Δｘ1だけ離れた位置から距離Δｘ2だけ離れた位置までが、対象領域Ｒ2における探索範囲Ｒsとして設定される。ここで、距離Δｘ1、Δｘ2
Δｘ1＝ｍｉｎ(α2−α1、β2−β1)
Δｘ2＝ｍａｘ(α2−α1、β2−β1)
で与えられる。また、ｍｉｎ(α2−α1、β2−β1)は、(α2−α1)および（β2−β1)のうちの最小値を意味し、ｍａｘ(α2−α1、β2−β1)は、(α2−α1)および（β2−β1)のうちの最大値を意味する。
【００５９】
そして、対象領域Ｒ1での注目点Ｎに対応する点が、対象領域Ｒ2に対して設定された探索範囲Ｒsから見つけ出されて、注目点Ｎに対応付けられる。この対応付けは、対象領域Ｒ1で注目点Ｎを移動させながら繰り返し実行される。これによって、対象領域Ｒ1の各点と対象領域Ｒ2の各点が対応付けられて、対象領域Ｒ1、Ｒ2に対するステレオマッチング処理が実行される。
【００６０】
このステレオマッチング処理（ステップＳ１０４）が完了すると、第１実施形態と同様に、図３に示すステップＳ１０５〜ステップＳ１０７が実行されて、三次元における部品９１aの位置および姿勢が認識される。そして、制御回路５０は、この認識結果に基づいて、各駆動モーターＭ23〜Ｍ25を制御して、双腕ロボット１による部品９１aに対する動作を実行する。
【００６１】
以上のように構成された実施形態では、認識対象部品９１aを含む複数の部品９１a〜９１cを異なる視点から撮像した複数の撮像画像Ｉ1、Ｉ2それぞれから、認識対象部品９１aが写る対象領域Ｒ1、Ｒ2が抽出される。そして、複数の撮像画像Ｉ1、Ｉ2それぞれの対象領域Ｒ1、Ｒ2に対して、ステレオマッチング処理が実行される。つまり、この実施形態は、ステレオマッチング処理を行う領域Ｒ1、Ｒ2を、撮像画像Ｉ1、Ｉ2のうちの認識対象部品９１aを含む対象領域Ｒ1に限定している。そのため、対象領域Ｒ1から認識対象部品９１a以外の部品９１b、９１cを外してステレオマッチング処理を実行することができ、その結果、ステレオマッチング処理において互いに異なる物体間で対応付けが行われるといった誤対応の発生を抑制することを可能となる。
【００６２】
また、この実施形態では、ステレオマッチング処理を実行する領域が、撮像画像Ｉ1、Ｉ2のうち認識対象部品９１aの写っている対象領域Ｒ1、Ｒ2に限定される。したがって、ステレオマッチング処理に要する時間を短縮できるといった効果も奏される。
【００６３】
また、この実施形態では、撮像画像Ｉ1、Ｉ2に写る部品９１a〜９１cの複数の撮像画像Ｉ1、Ｉ2間における対応関係に基づいて、エピポーラ線に平行なｘ軸方向およびエピポーラ線に直交するｙ軸方向の両方向において、各撮像画像Ｉ1、Ｉ2で認識対象部品９１aが写る対象領域Ｒ1、Ｒ2を特定することで、複数の撮像画像Ｉ1、Ｉ2それぞれから対象領域Ｒ1、Ｒ2を抽出している。つまり、撮像画像Ｉ1、Ｉ2に写る各部品９１a〜９１cの複数の撮像画像Ｉ1、Ｉ2間における対応関係に基づいて、ｘ軸方向およびｙ軸方向の両方向において対象領域Ｒ1、Ｒ2が特定される。したがって、これらの各方向において認識対象部品９１a以外の部品９１b、９１cを対象領域Ｒ1、Ｒ2から外すことができる。その結果、ステレオマッチング処理において互いに異なる部品間で対応付けが行われるといった誤対応の発生をより確実に抑制することを可能となる。
【００６４】
なお、上述のとおり、ステレオマッチング処理は、複数の撮像画像Ｉ1、Ｉ2間で対応点を探索することで実行される。そこで、この実施形態では、各撮像画像Ｉ1、Ｉ2の対象領域Ｒ1、Ｒ2に対するステレオマッチング処理において各撮像画像Ｉ1、Ｉ2間の対応点を探索する探索範囲Ｒsを、抽出された対象領域Ｒ1、Ｒ2の位置に関する情報に基づいて設定されている。このような構成では、探索範囲Ｒsを適切に設定して、対応点の探索に要する処理時間を短縮することが可能となる。
【００６５】
その他
このように上記実施形態では、撮像カメラＣ1、Ｃ2と三次元認識部５で構成されるステレオ撮像系ＳＳ（図２）が本発明の「三次元位置・姿勢認識装置」に相当し、双腕ロボット１が本発明の「産業用ロボット」に相当し、コンピューター３が本発明の「コンピューター」に相当し、記録媒体６が本発明の「記録媒体」に相当し、プログラム７が本発明の「プログラム」に相当する。また、撮像カメラＣ1、Ｃ2、制御回路５０および平行化回路５１が本発明の「画像取得部」として機能し、対象領域抽出回路５２が本発明の「対象領域抽出部」に相当し、ステレオマッチング回路５３、三次元情報生成回路５４、モデルマッチング回路５５および制御回路５０が本発明の「認識部」に相当する。また、アーム２２およびハンド２５が本発明の「部品移動手段」に相当し、制御回路５０が本発明の「制御手段」に相当する。また、ステップＳ１０１、Ｓ１０２が本発明の「画像取得工程」に相当し、ステップＳ１０３が本発明の「対象領域抽出工程」に相当し、ステップＳ１０４〜ステップＳ１０７が本発明の「認識工程」に相当する。また、部品９１aが本発明の「認識対象物」に相当し、部品９１a〜９１cが本発明の「物体」に相当し、撮像画像Ｉ1、Ｉ2が本発明の「撮像画像」に相当し、対象領域Ｒ1、Ｒ2が本発明の「対象領域」に相当する。また、ｘ軸方向が本発明の「平行方向」に相当し、ｙ軸方向が本発明の「直交方向」に相当する。
【００６６】
なお、本発明は上記した実施形態に限定されるものではなく、その趣旨を逸脱しない限りにおいて上述したもの以外に種々の変更を行うことが可能である。例えば、上記実施形態では、二次元パターンマッチング（ステップＳ２０２、Ｓ３０２）によって、撮像画像Ｉ1から認識対象部品９１aが確認されていた。この二次元パターンマッチングは部品９１aのエッジに対するパターンマッチングを行うものであった、しかしながら、撮像画像Ｉ1から認識対象部品９１aを確認する方法についても種々の変形が可能である。
【００６７】
具体的には、各部品９１a〜９１cの面積や輪郭の長さの違いによって、部品９１a〜９１cから認識対象部品９１aを確認しても良い。あるいは、色の違いによって部品９１a〜９１cを識別できる場合は、撮像カメラＣ1、Ｃ2としてカラーカメラを用いて、撮像画像Ｉ1での色に基づいて認識対象部品９１aを確認しても良い。さらには、部品９１a〜９１cそれぞれを撮像画像Ｉ1から抽出した上で、これらの抽出結果の中で例えばマッチングスコアの最も高いものを選択しても良い。あるいは、マッチングスコアの高い順にソーティングする等によってこれらの抽出結果に対して系列付けを実施して、それぞれについて三次元認識を行った後に、三次元認識のマッチング率（認識率）が高いものを選択しても良い。
【００６８】
また、上記の第２実施形態では、対象領域Ｒ1での注目点Ｎに対応する点を対象領域Ｒ2から探索する際の範囲が探索範囲Ｒsに限定されていた。しかしながら、このような探索範囲の限定を行わずに、対象領域Ｒ1での注目点Ｎに対応する点を対象領域Ｒ2の全体から探索するように構成しても良い。
【００６９】
また、上記実施形態では、三次元認識部５は、コンピューター３の内蔵するＣＰＵやメモリーで構成されていた。しかしながら、三次元認識部５は、ＦＰＧＡ（Field-Programmable Gate Array）等のプログラマブルロジックデバイスや、ディスクリートな回路素子を組み合わせて構成されても良い。
【００７０】
また、上述のエッジ抽出（ステップＳ２０１、Ｓ３０１）についても種々の方法により実行することができ、例えば、Ｒｏｂｅｒｔｓ、Ｓｏｂｅｌ、Ｐｒｅｗｉｔｔ等の演算子を用いた方法を採用可能である。
【００７１】
また、撮像カメラＣ1、Ｃ2の個数や、取り付け位置等についても上述したものに限られず、適宜変更可能である。
【００７２】
また、上記実施形態では、撮像画像Ｉ1、Ｉ2中に３個の部品９１a〜９１cが写っている場合が例示されていた。しかしながら、撮像画像Ｉ1、Ｉ2中に３個以外の個数の部品が写っている場合に対しても本発明を適用可能である。
【００７３】
また、三次元における部品９１の位置および姿勢を求める方法についても、上述のモデルマッチングに限られず、適宜変更可能である。
【００７４】
また、本発明を適用可能な産業用ロボットは、上述の双腕ロボット１に限られない。しがたって、その他の構成を具備するロボットに対して本発明を適用することもできる。
【産業上の利用可能性】
【００７５】
この発明は、三次元での画像認識技術の全般に対して適用可能であり、特に産業用ロボットにおいて三次元における部品の位置・姿勢を認識する技術に好適に適用することができる。
【符号の説明】
【００７６】
１…双腕ロボット
２…ロボット本体
２２…アーム
２５…ハンド
３…コンピューター
４…ドライバー
５…三次元認識部
５０…制御回路
５１…平行化回路
５２…対象領域抽出回路
５３…ステレオマッチング回路
５４…三次元情報生成回路
５５…モデルマッチング回路
６…記録媒体
７…プログラム
９１，９１a，９１b，９１c…部品
Ｃ1，Ｃ2…撮像カメラ
Ｉ1，Ｉ2…撮像画像
Ｒ1，Ｒ2…対象領域
Ｉs…視差画像
Ｅ…エッジＥ
Ｓ…三次元情報Ｓ
ＳＳ…ステレオ撮像系
【図１】
2013069100.tif 000003
【図２】
2013069100.tif 000004
【図３】
2013069100.tif 000005
【図４】
2013069100.tif 000006
【図５】
2013069100.tif 000007
【図６】
2013069100.tif 000008
【図７】
2013069100.tif 000009
【図８】
2013069100.tif 000010