(57)【要約】【課題】位置、姿勢が不定の対象物を検出し、３次元位置及び／又は３次元姿勢を認識すること。【解決手段】パターンマッチングのためのモデルパターンを記憶しておき、モデルパターンにＮ個の幾何学的変換を施す（Ｓ１）。ｉ番目の幾何学的変換を指定するための指標ｉを初期設定し（Ｓ２）、ｉ番目の変換モデルパターンを作成する（Ｓ３）。ｉ番目の変換モデルパターンを使ってパターンマッチングを行い（Ｓ４）、予め設定された値以上の類似度を示す極大点を探し、極大点があれば、その点の画像座標を抽出すると共に、その変換モデルパターンを作成するのに使った３次元的な相対姿勢の情報と共に記憶する（Ｓ５）。ベストの類似度を示すものに対応する３次元的な相対姿勢の情報情報に基づいて、３次元位置及び／又は３次元姿勢を認識する。【選択図】        図６
2004295223.tif 000002
【特許請求の範囲】
【請求項１】
対象物のモデルパターンと前記対象物を撮像した画像データとのパターンマッチングを行って、対象物の位置及び／又は姿勢を求める画像処理装置において、
前記対象物を含む画像データを取込む画像データ取り込み手段と、
前記対象物と同種の物体を前記画像データ取り込み手段に対して一つの基準相対姿勢にして捉えた画像データに基づいて、モデルパターンを作成する手段と、
前記モデルパターンに２次元の幾何学的変換を施すことにより、前記基準相対姿勢と３次元的に異なる相対姿勢での対象物の見え方を表す変換モデルパターンを作成する手段と、
前記画像データに対して変換モデルパターンを使用してパターンマッチングを行う手段と、
複数の３次元的な相対姿勢について、前記変換モデルパターンの作成と前記パターンマッチングを繰り返すことにより、適合する変換モデルパターンを選択し、前記画像データにおける前記対象物の位置情報を得る手段と、
前記画像データにおける前記対象物の位置情報と、前記選択された変換モデルパターンに対応する相対姿勢情報に基づいて前記対象物の３次元位置及び／又は３次元姿勢を認識する手段と、
を備えることを特徴とする画像処理装置。
【請求項２】
対象物のモデルパターンと前記対象物を撮像した画像データとのパターンマッチングを行って、対象物の位置及び／又は姿勢を求める画像処理装置において、
前記対象物を含む画像データを取込む画像データ取り込み手段と、
前記対象物と同種の物体を前記画像データ取り込み手段に対して一つの基準相対姿勢にして捉えた画像データに基づいてモデルパターンを作成する手段と、
前記モデルパターンに２次元の幾何学的変換を施すことにより、前記基準相対姿勢と３次元的に異なる相対姿勢での対象物の見え方を表す変換モデルパターンを作成する手段と、
前記相対姿勢の情報と前記変換モデルパターンとを対応させて複数記憶する記憶手段と、
前記対象物を含む画像データに対して前記複数の変換モデルパターンを使用してパターンマッチングを行い、適合する変換モデルパターンを選択する手段と、
前記選択した変換モデルパターンと適合した、前記画像データにおける前記対象物の位置情報を得る手段と、
前記画像データにおける前記対象物の位置情報と、前記選択された変換モデルパターンに対応する相対姿勢情報に基づいて前記対象物の３次元位置及び／又は３次元姿勢を認識する手段と、
を備えることを特徴とする画像処理装置。
【請求項３】
前記幾何学的変換がアフィン変換であり、対象物の傾きの符号を追加計測を行うことにより求める、請求項１または請求項２に記載の画像処理装置。
【請求項４】
前記追加計測は、前記モデルパターンを少なくとも２つの部分の部分モデルパターンに分割し、夫々の部分モデルパターンにアフィン変換を施して作成した変換部分モデルパターンでパターンマッチングを行って、夫々の最も適合するサイズを求め、該求めたサイズの大小を比較することにより行う、請求項３に記載の画像処理装置。
【請求項５】
前記追加計測は、前記画像データ取り込み手段の近傍に別途設けた変位センサにより、対象物上の少なくとも２点と該変位センサとの距離を夫々計測し、計測した距離を比較することにより行う、請求項３に記載の画像処理装置。
【請求項６】
前記追加計測は、前記画像データ取り込み手段を少し移動、または少し傾けて再度取込んだ画像に対してパターンマッチングを行い、対象物の姿勢の傾きが前回より大きくなるか小さくなるかを比較することにより行う、請求項３に記載の画像処理装置。
【請求項７】
請求項１乃至６の内、何れか１項に記載の画像処理装置とロボットを組み合わせ、前記ロボットの前記対象物に対する相対的な作業姿勢、または前記対象物に対する相対的な作業姿勢及び相対的な作業位置を記憶する手段と、
前記認識した対象物の３次元位置姿勢に基き、前記ロボットの作業姿勢、または作業姿勢及び作業位置を求める手段と、
を備えたロボットシステム。
【請求項８】
前記画像データ取り込み手段を、前記ロボットに搭載したことを特徴とする請求項７に記載のロボットシステム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、視覚センサで得られる画像を処理して、対象物の位置及び／又は姿勢に関する情報を取得する画像処理装置、並びに、同画像処理装置をロボットと組み合わせたロボットシステムに関する。本発明は、例えば部品の認識、特に、３次元な位置姿勢が未知の対象物の位置姿勢を認識する必要があるアプリケーションに適用される。
【０００２】
【従来の技術】
複数の同一形状の部品が乱雑に山積みされている場合、あるいは、所定領域内（例えば定置されたカゴ状の容器内）に３次元的に異なる任意の位置姿勢で収納されている場合、それら部品の集合から個々の部品を取り出す作業をロボットのような自動機械で確実に実行することは困難であるのが実状である。そのため、それら位置姿勢が不定の部品をロボットなどの自動機械を使用して部品を他のパレットなどに収容したり、機械や装置などの所定の位置に搬送するような場合には、予めロボットで取り出せるように部品を整列させておく必要が生じている。
【０００３】
上記のように、同一形状の部品が３次元的に様々な位置姿勢にある場合、ロボットでの取り出しが困難である根本的な理由は、各部品の位置姿勢を確実に把握できないことにある。そこでこの問題を解決するために、画像処理装置を用いて、作業の対象となっている部品（対象物）を撮像し、得られた画像データを処理して、対象物の位置や姿勢を認識する方法が従来より各種提案されている。
【０００４】
例えば、正規化相互相関値を使ったパターンマッチング（または、テンプレートマッチング）、ＳＡＤ（Ｓｕｍ  ｏｆ  Ａｂｓｏｌｕｔｅ  Ｄｉｆｆｅｒｅｎｃｅ）を使ったパターンマッチング、特徴点を使ったパターンマッチング、一般化ハフ変換などがある（下記特許文献１を参照）。
【０００５】
【特許文献１】
特開２０００−２９３６９５号公報
【０００６】
【発明が解決しようとする課題】
しかしながら、これら方法はいずれも、教示したモデルパターン（またはテンプレート）と同じ形状（または同じ形状の濃淡パターン）を、画像データ中に認識することを目的としている。従って、対象物（例えば部品；以下、同じ）がモデルパターンを教示した時と２次元的に異なる姿勢で置かれた場合、言い換えれば、カメラの光軸に垂直な平面内のみで平行移動したり回転移動したりした場合であれば、その対象物の像を認識することが出来るが、不定姿勢で山積みされた時のように、対象物がモデルパターンを教示した時と３次元的に異なる姿勢で置かれた場合には、その対象物の像の認識ができない。
【０００７】
即ち、図１（ａ）、（ｂ）に示した如く、一般に、対象物の１つ（又は対象物と同一形状のダミー）をカメラで撮像し、モデルパターンを教示した時（ａ）と、その後、実際に対象物を認識しようとした時（ｂ）とでは、対象物の姿勢は３次元的に異なっている。そのため、教示時（ａ）に得られる対象物画像（２次元）と、実際に対象物を認識しようとした時（ｂ）に得られるの対象物画像（２次元）とは、その形状が異なって映っている。それ故、予め教示したモデルパターンによりパターンマッチングを適用しても、対象物の認識を行なうことができない。
【０００８】
本発明の目的は、このような従来技術の問題点を解決し、対象物（例えば部品など）のモデルパターンを１つ教示するだけで、モデルパターン教示時と比較して、画像上での形状変化の無い平行移動、回転移動、上下移動（画像上での拡大縮小）があった場合の他、画像上での形状が異なって映るような３次元的な相対姿勢の相違があっても、取得した画像データ中にその対象物を検出し、同対象物の３次元位置及び／又は３次元姿勢を認識することが出来るようにすることにある。
【０００９】
【課題を解決するための手段】
本発明においては、教示されたモデルパターンに幾何学的変換を施した変換モデルパターンを使ってパターンマッチングを行うことで、平行移動、回転移動、拡大縮小に加えて、３次元的に異なる相対姿勢の対象物も認識する。
【００１０】
より具体的に言えば、先ず本発明は、対象物のモデルパターンと前記対象物を撮像した画像データとのパターンマッチングを行って、対象物の位置及び／又は姿勢を求める画像処理装置に適用される。
そして、請求項１に係る発明では上記タイプの画像処理装置に、前記対象物と同種の物体を視点に対して一つの基準相対姿勢にして捉えた画像データに基づいて、モデルパターンを作成する手段と、前記対象物を含む画像データを取込む画像データ取り込み手段と、前記モデルパターンに２次元の幾何学的変換を施すことにより、前記基準相対姿勢と３次元的に異なる相対姿勢での対象物の見え方を表す変換モデルパターンを作成する手段と、前記画像データに対して変換モデルパターンを使用してパターンマッチングを行う手段と、複数の３次元的な相対姿勢について、前記変換モデルパターンの作成と前記パターンマッチングを繰り返すことにより、適合する変換モデルパターンを選択し、前記画像データにおける前記対象物の位置情報を得る手段と、前記画像データにおける前記対象物の位置情報とが設けることにより、前記対象物の３次元位置及び／又は３次元姿勢の認識を可能にする。
【００１１】
請求項２に係る発明では、同じく上記タイプの画像処理装置に、前記対象物と同種の物体を視点に対して一つの基準相対姿勢にして捉えた画像データに基づいてモデルパターンを作成する手段と、前記モデルパターンに２次元の幾何学的変換を施すことにより、前記基準相対姿勢と３次元的に異なる相対姿勢での対象物の見え方を表す変換モデルパターンを作成する手段と、前記相対姿勢の情報と前記変換モデルパターンとを対応させて複数記憶する記憶手段と、前記対象物を含む画像データを取込む画像データ取り込み手段と、前記対象物を含む画像データに対して前記複数の変換モデルを使用してパターンマッチングを行い、適合する変換モデルパターンを選択する手段と、前記選択した変換モデルパターンと適合した、前記画像データにおける前記対象物の位置情報を得る手段とを設けることにより、モデルパターンを教示した時と３次元的に異なる相対姿勢に置かれた対象物の３次元位置及び／又は３次元姿勢の認識を可能にする。
【００１２】
ここで、これら発明において、前記幾何学的変換がアフィン変換であり、対象物の傾きの符号を追加計測を行うことにより求めるようにすることが出来る。その場合、前記追加計測は、前記モデルパターンを少なくとも２つの部分の部分モデルパターンに分割し、夫々の部分モデルパターンにアフィン変換を施して作成した変換部分モデルパターンでパターンマッチングを行って、夫々の最も適合するサイズを求め、該求めたサイズの大小を比較することにより行うことが出来る。
【００１３】
また、前記追加計測は、前記画像データ取り込み手段の近傍に別途設けた変位センサにより、対象物上の少なくとも２点と該変位センサとの距離を夫々計測し、計測した距離を比較することにより行っても良く、前記画像データ取り込み手段を少し移動、または少し傾けて再度取込んだ画像に対してパターンマッチングを行い、対象物の姿勢の傾きが前回より大きくなるか小さくなるかを比較することにより行っても良い。
【００１４】
更に、上記各態様の画像処理装置をロボットシステムに組み込むこともできる。その場合、同ロボットシステムには、前記ロボットの前記対象物に対する相対的な作業姿勢、または前記対象物に対する相対的な作業姿勢及び相対的な作業位置を記憶する手段と、前記認識した対象物の３次元位置姿勢に基き、前記ロボットの作業姿勢、または作業姿勢及び作業位置を求める手段とを設ける。また、前記画像データ取り込み手段を前記ロボットに搭載することが出来る。
【００１５】
【発明の実施の形態】
図２は、本発明の１つの実施形態に係るロボットシステムついて、全体配置の概要を示したものである。図示されているように、符号１０は例えば垂直多関節ロボット（以下、単に「ロボット」という）で、ケーブル６によってロボット制御装置２０に接続され、同ロボット制御装置２０によってその動作が制御される。ロボット１０のアーム先端には、ハンド１３及び撮像手段１４が取付けられている。ハンド１３は、取出し対象物（部品）３３の把持に適した把持機構を有しており、その制御はロボット制御装置２０によって行なわれる。なお、ハンド１３の制御のための信号及び電力の供給は、ロボット制御装置２０との間の接続するケーブル８によって行なわれる。
【００１６】
撮像手段１４は、ＣＣＤビデオカメラなど周知のものが使用可能である。撮像手段１４は、ケーブル９によって視覚センサ用の制御処理装置１５に接続されている。制御処理装置１５は、撮像手段によるセンシング動作を制御するとともに、センシングで得られた光検出信号（ビデオ映像信号）を処理し、ロボット制御装置２に所要の情報をＬＡＮネットワーク７を介して送るためのハードウェアとソフトウェアを備えたもので、例えばパーソナルコンピュータを用いることができる。
【００１７】
また、後述する態様で、改良されたマッチング方式で、２次元画像から対象物３３を検出するための処理を行なう。なお、本発明に言う「画像処理装置」は、本実施形態においては、撮像手段１４と制御処理装置１５を合わせたものが対応している。なお、符号４０は必要に応じてロボットに搭載される変位センサで、その使い方については後述する。
【００１８】
図示した例では、ハンド１３によって取り出される対象物３３は、ロボット１０の近くに置かれたカゴ状の容器３１内に多数バラ積み状態で収容されている。容器３１は例えば、内壁３２で規定される矩形の開口を持つものを使用するが、一般には形状に特に制限はない。また、対象物３３は特に容器内に収容されている必要はなく、撮像と把持に支障がない所定範囲に置かれていれば良い。
【００１９】
さて、上記ロボットシステムを用いて対象物１３の取出し作業を行なう場合には、先ず、画像処理装置（撮像手段１４と制御処理装置１５）を用いて、対象物を認識しなければならない。そのために、ロボット制御装置２から制御処理装置５へ撮像指令が送られ、適当な視野の大きさ（最低１個の対象物３３の画像を撮像出来る視野）で１個以上の対象物３３の像を含む２次元画像が取得される。制御処理装置１５は、ソフトウェアによる画像処理を行い、この２次元画像の中から対象物を検出する。ここで、対象物３３の姿勢が３次元的に不定で未知であるために、従来技術では前述したような問題に直面する訳であるが、本実施形態では、この問題を、教示されたモデルパターンに幾何学的変換を施した変換モデルパターンを使ってパターンマッチングを行うことで、解決する。以下、以下、順を追って説明する。
【００２０】
図３は、傾いた対象物（図２における対象物３３に対応）をカメラ（図２における撮像手段１４に対応）で捉えたときに、どのような像が得られるかを示したものである。対象物１、２自体は同一サイズ、同一形状で、説明の便宜上、長方形であるとする。今、対象物１をカメラに正対して置かれた対象物とすれば、カメラに像１のように長方形として結像する。また、この対象物１の正対撮像画像１をマッチングに用いる基準モデル画像とする。なお、一般には、基準モデル画像を取得する際の撮像方向は任意であり、必ずしもカメラに正対して置かれた対象物の像を取得する必要はない。
【００２１】
一方、カメラに対して、θ方向に（即ち、紙面に平行な面内で）角度φだけ傾いて置かれた対象物２は、カメラには像２のようにひしゃげた形で結像する。ここで、「θ方向」とは、「カメラの光軸周り（θ軸）の方向について、対象物１（基準画像を取得した時の位置・姿勢にあるもの）と比較して角度θ回転した方向」という意味である。図３の上半部の描示は、「角度θの方向」から見た投影図（角度θの方向の平面で切った断面図）で描かれている。
【００２２】
ここで、像１（基準画像）と像２（基準画像取得時の対象物とは位置、姿勢が３次元的に異なっている対象物の像）の関係を、２次元の幾何学的な変換として表すことを考える。両者の関係を幾何学的変換で表すことができれば、像１をモデルパターンとして教示しておき、モデルパターンに幾何学的な変換を施すことで、像２に近い像を作ることが出来ることになるからである。
先ず、３次元空間内での対象物の３次元的な姿勢の変化を下記（１）式のように定義する。（１）式中における回転行列の行列要素ｒ１  〜ｒ９  の定義の仕方はいろいろある。ここでは、一例として、図４のように対象物の中心付近に基準点Ｏを設定し、点Ｏを通りｚ軸に平行な直線周りの回転をＲ、点Ｏを通りｙ軸に垂直な直線をｚ軸周りにθだけ回転したの直線周りの回転をφで表わし、これら３つのパラメータを定義を下記（２）式で示す。各要素別に列記すれば（３）式となる。なお、これ以外の手段（例えばロール・ピッチ・ヨー）を用いて定義しても良い。
【００２３】
【数１】
2004295223.tif 000003
【００２４】
次に、カメラによる撮像は、「３次元空間内の点を２次元平面（画像面）上に投影する写像」であるから、この写像を表現するカメラモデルを考える。ここでは例として、図５のような理想的なピンホールカメラのモデルを採用する。このピンホールカメラの焦点距離をｆとすると、３次元空間内の点（ｘ，ｙ，ｚ）と、その像（ｕ，ｖ）の関係は、下記（４）式で表わされる。
【００２５】
そして、モデルパターンを教示するときの、点Ｏの３次元空間内での座標を（ｘ０，ｙ０，ｚ０  ）、対象物上の任意の点Ｐの座標を（ｘ１，ｙ１，ｚ１  ）とすると、モデルパターンを教示したときの、点Ｏ（ｘ０，ｙ０，ｚ０  ）の像（ｕ０，ｖ０  ）は、下記（５）式で表わされる。
【００２６】
【数２】
2004295223.tif 000004
【００２７】
更に、モデルパターンを教示したときの、点Ｐ（ｘ１，ｙ１，ｚ１  ）の像（ｕ１，ｖ１  ）は、対象物がカメラに対して正対していると考えると、ｚ１  ＝ｚ０  とおけるから、下記（６）式となる。
【００２８】
【数３】
2004295223.tif 000005
【００２９】
次に、３次元空間内で対象物の姿勢をｒ１，  ｒ２，  ・・・・ｒ９  だけ変え、更に、Ｏが（ｘ２，  ｙ２，  ｚ２  ）に来るように平行移動した場合を考える。すると、移動後の点Ｐの座標（ｘ３，  ｙ３，  ｚ３  ）は下記（７）式で表わされる。また、移動後の点Ｏ（ｘ２，  ｙ２，  ｚ２  ）の像（ｕ２，  ｖ２  ）は下記（８）式で表わされ、移動後の点Ｐ（ｘ３，  ｙ３，  ｚ３  ）の像（ｕ３，  ｖ３  ）は下記（９）式で表わされることになる。
【００３０】
【数４】
2004295223.tif 000006
【００３１】
さて、今注目しているのは、対象物が３次元的に異なる相対姿勢を取ることで画像上での対象物の像の形状がどのように変化するかということのみであるから（即ち、画像面上のどこに映るかは問題でないから）、ベクトルＯＰの像の変化の関係を求めれば十分である。ここで、下記（１０）式のようにｕ，ｖ，ｕ’，ｖ’を定義しておく。（ｕ，ｖ）は、モデルパターンを教示したときのベクトルＯＰの像、（ｕ’，ｖ’）は、移動後のベクトルＯＰの像である。
【００３２】
【数５】
2004295223.tif 000007
【００３３】
そして、（１０）式に（５）式〜（９）式を代入して整理すると、下記（１１）式が得られる。
【００３４】
【数６】
2004295223.tif 000008
【００３５】
従って、３次元空間内で、対象物が３次元的に位置姿勢を変えた時の対象物の像の形状の変化は、幾何学的変換で表すと（１１）式のようになることがわかる。ところで、（１１）式の右辺にはｘ２  やｙ２  の項が含まれている。これは、対象物がカメラの光軸に垂直な平面内を平行移動しただけでも（３次元的な姿勢の変化がなくても）、カメラに映る像の形が変形することを示している。
【００３６】
これら成分があると、モデルパターンと画像をパターンマッチングするという方法の適用ができなくなってしまうが、カメラと対象物の間の距離を十分とれば、この成分を無視することが出来る。そこで、ここではこれら成分は十分小さいと考えて無視することにする。具体的には、ｘ２  やｙ２の値に関係なくｘ＝０，  ｙ＝０の時と同じ形状の像が得られると仮定し、ｘ２  ＝０，  ｙ２  ＝０とする。そうすると、（１１）は、下記（１２）式となる。
【００３７】
【数７】
2004295223.tif 000009
【００３８】
ここで、ｓ＝ｚ０  ／ｚ２  であり、これはカメラから対象物までの被写体距離が、モデルパターンを教示した時の何分の１になったかを示す値に相当する。別の言い方をすると、画像上で像の大きさがモデルパターンを教示した時の何倍に拡大縮小されたかを示す量、即ちスケールに相当する。
【００３９】
以上の準備の下で、以下に（１２）式を幾何学的変換として採用した場合の処理手順の例について説明する。前述したように、本発明は、各請求項１に対応する諸形態で実施し得るが、請求項１に対応する形態が最も基本的である。そこで先ず、請求項１に対応する諸形態における処理手順について、図６のフローチャートを参照して説明する。なお、これら処理は制御処理装置１５内でＣＰＵと予め装備したソフトウェアによって実行される。また、パターンマッチングのための基準画像とそこから抽出するモデルパターン（ここでは長方形の特徴部）は、制御処理装置１５（図２参照）に記憶済みとする。
【００４０】
ステップＳ１では、複数の幾何学的変換を発生する。例えば、ｒ１  〜ｒ９  を前記（２）式のように定義した場合、対象物の３次元的な相対姿勢はＲ，  θ，  φの３つのパラメータで定義出来る。ここでは、この３つに、前記（１２）式に出てくるスケールｓを加えた４つのパラメータを対象物の３次元的な位置姿勢を示す情報として扱うことにする。カメラの焦点距離ｆは、カメラを一旦設置してしまった後には変化しないので定数として扱う。
【００４１】
ｓ、Ｒ、θ、φそれぞれの変化し得る範囲と、ｓ，  Ｒ，  θ，  φそれぞれを変化させる間隔が与えられると、複数の幾何学的変換が決定出来る。例えば、ｓ，  Ｒ，  θ，  φの変化し得る範囲と間隔をそれぞれ表１のように与えたとする。
【００４２】
【表１】
2004295223.tif 000010
【００４３】
ここで、ｓを０．９から１．１まで０．０５刻みで変化させ、Ｒを−１８０から＋１８０まで１０刻みで変化させる。また、θは−９０から＋９０まで１０刻みで変化させ、φを−１０から＋１０まで１０刻みで変化させるものとする。そうすると、幾何学的変換は、ｓ，  Ｒ，  θ，  φの組み合わせの数だけ出来るので、幾何学的変換の数Ｎは（（１８０−（−１８０））÷１０）×（（１．１−０．９）÷０．０５＋１）×（（９０−（−９０））÷１０＋１）×（（１０−（−１０））÷１０＋１）＝６８４０通りとなる。
ステップＳ２ではこれらＮ通りの幾何学的変換の中のｉ番目のものを指定するための指標ｉを初期設定（ｉ＝１）する。
【００４４】
ステップＳ３では、モデルパターンを前記（１２）式を用いて変換することによりｉ番目の変換モデルパターンを作成する。計算時のｓ、Ｒ、θ、φの値は、当然、ｉ番目の変換モデルパターンに対応する数値を用いる。
続くステップＳ４では、ｉ番目の変換モデルパターンを使ってパターンマッチングを行う。
【００４５】
ここで、この２つのステップＳ３、Ｓ４の内容の詳細は、パターンマッチングの手法として何を使用するかによって異なってくる。パターンマッチングの手法自体は、様々な手法が周知でありいずれかを選択することが可能である。例えば、正規化相互相関やＳＡＤなど使ったパターンマッチングでは、画像の濃淡パターンそのものがモデルパターンとなっているので、元のパターンの（ｕ，  ｖ）の画素の濃淡が、変換後のパターンの（ｕ’，  ｖ’）の画素にくるように濃淡パターンを画素毎に移動してやれば良い。
また、一般化ハフ変換などの特徴点を使ったパターンマッチングでは、基準点から特徴点へのベクトル（ｕ，  ｖ）を（ｕ’，  ｖ’）に変換するようにＲテーブルを変換してやれば良い。
【００４６】
次に、ステップＳ５では、パターンマッチングを行った結果から、予め設定された値以上の類似度を示す極大点を探し、極大点があれば、その点の画像座標（ｕ，  ｖ）を抽出すると共に、その変換モデルパターンを作成するのに使った３次元的な相対姿勢の情報ｓ，  Ｒ，  θ，  φ（ｉ番目の変換モデルパターンを規定するパラメータ）と共に記憶する。
【００４７】
ステップＳ６では、ステップＳ１で生成した全ての幾何学的変換についてパターンマッチングを行ったか確認し、パターンマッチングを行っていないものがあれば、ｉ値を１アップし（ステップ７）、ステップＳ３へ戻り、ステップＳ３〜Ｓ６７を繰り返す。
【００４８】
このような処理により、ステップＳ５で得られたベストの類似度を示すもののパラメータ値（ｓ，  Ｒ，  θ，  φ）を決めることができ、これに基づいてその画像が確かに検出すべき対象物の画像であることを認識し、且つ、パラメータ値（ｓ，  Ｒ，  θ，  φ）からその対象物の３次元位置及び／又は姿勢を定めることが出来る。なお、ステップＳ５で得られたベストの類似度を示すもののパラメータ値（ｓ，  Ｒ，  θ，  φ）を決めるに際して、最良及び次善のものを選び、その中間のパラメータ値をベスト値として採用しても良い。
請求項２に対応する態様の場合の処理手順も、基本的には請求項１に対応する態様の場合と同じであるが、作成した変換モデルパターンと、変換モデルパターンを作成するのに用いた姿勢の情報を対応づけて記憶しておき、記憶している変換モデルパターンについて順次パターンマッチングを行う点が異なる。
【００４９】
また、請求項３に対応する態様では、カメラモデルとして弱中心投影を仮定することで、前記（１２）式を更に簡単化する。この場合、前記（１２）式においてｒ７ ＝ｒ８  ＝０とおけるので、前記（１２）式は下記（１３）式となる。これは幾何学的変換をアフィン変換を用いて表したことに他ならない。
【００５０】
【数８】
2004295223.tif 000011
【００５１】
この場合も、基本的な実施例の手順は請求項１、２に対応する態様と同じであるが、ステップＳ３において、変換式として前述（１２）式に代えて上記（１３）式を用いる点が異なっている。但し、（１３）式では、ｒ７，  ｒ８  の項に含まれていたｓｉｎφを無視してしまうことになるので、φの符号が分からなくなる。
この事情を表わしているのが図７（ａ）、（ｂ）である。即ち、この弱中心投影の方式では、本来、図７（ａ）に示す如く対象物２は像２のように結像するはずが、図７（ｂ）に示す如く対象物３（対象物２と同姿勢）が像３のように結像すると見なしていることになる。従って、元の対象物が＋φ（対象物３）のようであるのか、−φ（対象物４）のようであるのか、が特定できなくなる。
【００５２】
そこで、φの符号も知る必要がある場合には、別途簡単な追加計測を行うことにより確認する。
例えば、請求項４に対応する態様では、元のモデルパターンを軸θを境に２分割し、２つの部分モデルパターンを使って再度パターンマッチングを行う。最初のパターンマッチングで、適合する位置（ｕ，  ｖ）は分かっているので、部分モデルパターンを使ったパターンマッチングは、その近傍でのみ行えば良い。即ち、図８のように、２つの部分モデルパターンＭ１、Ｍ２として、像（破線）に最もよく適合する大きさのもの２つを決定し、その内のどちらのｓ値が大きいかを比較することにより、φの符号を決定することが出来る。
【００５３】
また、請求項５に対応した態様では、ロボットの手首部などに変位センサ４０（図２参照）などを搭載しておき、パターンマッチングで見つけた対象物上の２点、望ましくは、適合したパターンのθ軸の両側１点ずつの変位を計測し、どちらの変位が大きいかを比較することにより、φの符号を決定する。
【００５４】
請求項６に対応した態様は、本実施形態のように、ロボットの手首部などにカメラ４を搭載してある場合などに採用できるもので、ロボット制御装置を用いてロボットを適合したパターンのθ軸に垂直な方向にカメラを少し移動、もしくは少し傾けて、再度画像を撮像してパターンマッチングを行う。この様子を図９に示した。同図において、符号（Ａ）の画像が上半部に示した符号（Ａ）の撮像位置で得た画像、符号（Ｂ）の画像が上半部に示した符号（Ｂ）の撮像位置で得た画像、符号（Ｃ）の画像が上半部に示した符号（Ｃ）の撮像位置で得た画像を表わしている。
最初に撮像した位置を（Ａ）としたとき、カメラを（Ａ）、または（Ｂ）のいずれかの撮像位置に移動して得た画像でパターンマッチングを行い、適合したパターンのφが、最初のパターンマッチングで適合したパターンのφよりも大きくなったか小さくなったかを比較することにより、φの符号を特定することが出来る（例えば、（Ｂ）の方へカメラを動かした場合、『（Ａ）でのφ＞（Ｂ）でのφ』か、あるいは、『（Ａ）でのφ＜（Ｂ）でのφ』であるかの判定）。
【００５５】
なお、対象物の位置及び／又は姿勢について、センサ座標系上で求められた値を、予め行なったキャリブレーションのデータを用いてロボット座標系上のデータに変換してロボット動作に利用する。なお、現実の３次元空間内での対象物（上述の改良マッチング手法で検出された対象物）の３次元位置及び／又は姿勢は、ロボット座標系上のデータと、撮像時のロボットの位置（ロボット制御装置が常時持っている）から求めることが出来る。図２の配置で、把持作業を実行するには、上述の改良マッチング手法で検出された対象物３３の３次元位置及び／又は姿勢（ロボット座標系上のデータ）に基づき、周知の方式で、ロボットの作業姿勢、又は作業姿勢及び作業位置を定めて、その対象物の把持・取出しを行なう。１つの対象物の把持・取出しが終わったら、再度上述の手順で次の対象物を検出し、対象物の把持・取出しを行なえば良い。なお、１画面中に複数の対象物画像が映る場合には、上述の改良マッチング手法を各画像に順次適用し、順次対象物を検出しても良い。
【００５６】
【発明の効果】
以上説明したように、本発明によれば、対象物（例えば部品など）のモデルパターンを１つ教示するだけで、モデルパターン教示時と比較して、画像上での形状変化の無い平行移動、回転移動、拡大縮小（画像上での拡大縮小）があった場合の他、画像上での形状が異なって映るような３次元的な相対姿勢の相違があっても、取得した画像データ中にその対象物を検出し、同対象物の３次元位置及び／又は３次元姿勢を認識することが出来るようになる。
【図面の簡単な説明】
【図１】従来技術におけるパターンマッチング法の問題点を説明する図で、（ａ）はモデルパターン教示時における状況を表わし、（ｂ）は実際に対象物を認識しようとした時の状況を表わしている。
【図２】本発明の１つの実施形態に係るロボットシステムついて、全体配置の概要を示したものである。
【図３】傾いた対象物をカメラで捉えたときに、どのような像が得られるかについて説明する図である。
【図４】回転行列の行列要素の決め方を説明するための図である。
【図５】理想的なピンホールカメラのモデルについて説明する図である。
【図６】実施形態で実行される処理手順の基本形態について説明するフローチャートである。
【図７】中心投影の方式（ａ）と、弱中心投影の方式（ｂ）の相違について説明する図である。
【図８】φの符号を定めるために２つの部分モデルパターンを用いる方式について説明する図である。
【図９】φの符号を定めるために、ロボット移動を利用して複数画像を得る方式について説明する図である。
【符号の説明】
６、８、９  ケーブル
１０  ロボット（機構部）
１３  ハンド
１４  撮像手段（カメラ）
２０  ロボット制御装置
３１  容器
３２  内壁
３３  対象物
４０  変位センサ
【図１】
2004295223.tif 000012
【図２】
2004295223.tif 000013
【図３】
2004295223.tif 000014
【図４】
2004295223.tif 000015
【図５】
2004295223.tif 000016
【図６】
2004295223.tif 000017
【図７】
2004295223.tif 000018
【図８】
2004295223.tif 000019
【図９】
2004295223.tif 000020