(57)【要約】【課題】容量をできるだけ少なくして精度の良い３次元モデルを作成する。【解決手段】３次元認識の対象とするワークの実物モデルＷＭに対し、ステレオカメラによる３次元計測を複数の方向から実行する。つぎに、各計測により復元された３次元情報のうちの所定数（［１２］［３］［６］［９］の各計測ポイントの３次元情報）を位置合わせして統合することにより、仮の３次元モデルを作成する。さらに、統合されなかった３次元情報を対象に、仮の３次元モデルによる認識処理を実行し、その認識結果が正しくないと判定された３次元情報（計測ポイント［１０］の情報）を仮の３次元モデルに位置合わせしてから統合する。最終的に、正しく認識されなかった３次元情報のすべてが追加された３次元モデルを本登録する。【選択図】図１１
2010113398.tif 000002
【特許請求の範囲】
【請求項１】
ステレオカメラを用いた３次元計測を認識対象物の実物モデルに対してそれぞれ異なる方向から実施することにより復元された複数の３次元情報を、位置を合わせて統合することによって、前記認識対象物の３次元モデルを作成する方法であって、
前記実物モデルに対する少なくとも１回の３次元計測により復元された３次元情報を用いて仮の３次元モデルを作成し、
前記実物モデルに対し前記仮の３次元モデルの作成に用いられた３次元情報を復元したときとは異なる方向を計測方向として実施した３次元計測について、その計測により復元された３次元情報を前記仮の３次元モデルにより認識してその認識結果の正否を判定し、
前記仮の３次元モデルによる認識処理の結果が正しくないと判定したときに認識対象となった３次元情報、または当該認識対象の３次元情報を復元したときの計測方向に対する角度ずれが所定値以内となる方向からの計測により復元され、かつ前記３次元モデルによる認識処理の結果が正しいと判定された３次元情報を、仮の３次元モデルに整合するように座標変換して、変換後の３次元情報を仮の３次元モデルに追加し、この追加処理が完了した時点の３次元モデルを前記認識対象物の認識に用いるモデルとして確定する、
ことを特徴とする３次元モデルの作成方法。
【請求項２】
請求項１に記載された方法において、
前記実物モデルに対し、毎回異なる計測方向を設定して複数回の３次元計測を実施するとともに、２回目以降の３次元計測により復元された３次元情報をそれぞれ一段階前の計測により復元された３次元情報と照合して、双方の３次元情報間の対応関係を認識し、
前記複数回の３次元計測に伴い復元された複数の３次元情報のうちの一部に相当する２以上の３次元情報を選択し、選択された３次元情報の１つを基準として、他の３次元情報を、それぞれ当該３次元情報に対応する計測と基準の３次元情報に対応する計測との間の各計測に関して認識された３次元情報間の対応関係に基づき、基準の３次元情報に整合するように座標変換し、変換後の３次元情報を基準の３次元情報に統合することにより前記仮の３次元モデルを作成し、
前記複数の３次元情報のうち仮の３次元モデルに統合されなかった３次元情報を順に処理対象として、仮の３次元モデルを用いた認識処理を実行してその認識結果の正否を判定するとともに、認識処理の結果が正しくないと判定したときは、その認識処理の対象となった３次元情報を、当該３次元情報に対応する計測と前記基準の３次元情報に対応する計測との間の各計測に関して復元された３次元情報間の認識された対応関係に基づき、基準の３次元情報に整合するように座標変換して、変換後の３次元情報を仮の３次元モデルに追加し、
３次元モデルに統合されなかった全ての３次元情報に対する処理が終了したとき、その時点の３次元モデルを確定する、３次元モデルの作成方法。
【請求項３】
請求項１に記載された方法において、
前記実物モデルに対し毎回異なる計測方向を設定して実施した複数回の３次元計測により復元された複数の３次元情報を用いて仮の３次元モデルを作成した後に、前記実物モデルに対し、前記仮の３次元モデルの作成時に設定したいずれの計測方向とも異なるように計測方向を毎回変更して３次元計測を実行する処理を、複数回実行し、
前記複数回の３次元計測の１回目の３次元計測により復元された３次元情報を対象に、前記仮の３次元モデルによる認識処理を実行した後に、２回目以降の計測の都度、その計測により復元された３次元情報を一段階前に復元された３次元情報と照合して双方の３次元情報間の対応関係を認識する第１ステップと、当該計測により復元された３次元情報を対象に、前記仮の３次元モデルを用いた認識処理を実行してその認識結果の正否を判定する第２ステップとを実行するともに、２回目以降の計測により復元された３次元情報に対する認識処理の結果が正しくないと判定したときは、前記第１回目の３次元計測により復元された３次元情報に対する認識結果、および２回目から現時点までに実施された各３次元計測に対する第１ステップの認識結果に基づき、前記認識処理の結果が正しくないと判定された３次元情報を仮の３次元モデルに整合するように座標変換して、変換後の３次元情報を仮の３次元モデルに追加し、
前記複数回の３次元計測およびこれに伴う処理がすべて終了したとき、その時点の３次元モデルを確定する、３次元モデルの作成方法。
【請求項４】
請求項１に記載された方法において、
前記実物モデルに対する計測方向を毎回変更して３次元計測を実行する処理を複数回実行し、
１回目の３次元計測により復元された３次元情報を仮の３次元モデルに設定し、以後の３次元計測において、それぞれこの３次元計測により復元された３次元情報を一段階前に復元された３次元情報と照合して双方の３次元情報間の対応関係を認識する第１ステップと、当該３次元計測により復元された３次元情報を対象に前記仮の３次元モデルを用いた認識処理を実行してその認識結果の正否を判定する第２ステップとを実行し、
前記第２ステップにおいて前記３次元モデルを用いた認識処理の結果が正しくないと判定したときは、その認識処理の対象となった３次元情報を、２回目から現時点までの各３次元計測に対して実行された第１ステップによる認識結果に基づき、仮の３次元モデルに整合するように座標変換して、変換後の３次元情報を仮の３次元モデルに追加し、
前記複数回の３次元計測およびこれに伴うすべての処理が終了したとき、その時点の３次元モデルを確定する、３次元モデルの作成方法。
【請求項５】
請求項１に記載された方法において、
前記実物モデルを任意の角度で回転させて３次元計測を実行する処理を複数回実行することを条件に、１回目の３次元計測により復元された３次元情報を仮の３次元モデルに設定し、以後の３次元計測が行われる毎に、その計測により復元された３次元情報を対象に前記仮の３次元モデルを用いた認識処理を実行してその認識結果の正否を判定し、
前記仮の３次元モデルによる認識処理の結果が正しくないと判定したときは、実物モデルに対する計測方向が一段階前の計測方向に近づくように実物モデルを回転させて３次元計測を行うステップと、この３次元計測により復元された３次元情報を対象に前記仮の３次元モデルを用いた認識処理を実行してその認識結果の正否を判定するステップとを、認識結果が正しいと判定されるまで実行し、正しいと判定された認識結果に対応する３次元情報を、その認識結果に基づき座標変換して、変換後の３次元情報を仮の３次元モデルに追加した後に、前記認識処理の結果が正しくないと判定したときの状態に戻る方向に前記実物モデルを回転させ、
前記実物モデルとステレオカメラとの位置関係が所定の状態になったときの３次元計測およびこれに伴う処理がすべて終了したとき、その時点の３次元モデルを確定する、３次元モデルの作成方法。
【請求項６】
ステレオカメラを用いた３次元計測により認識対象物の３次元情報を復元する３次元計測手段と、復元された３次元情報をあらかじめ登録した３次元モデルと照合することにより認識対象の物体の位置および姿勢を認識する認識処理手段と、認識対象物の実物モデルに対してそれぞれ異なる方向から３次元計測を行うことにより復元された複数の３次元情報を位置を合わせて統合することによって、前記認識処理手段により使用される３次元モデルを作成した後に、当該３次元モデルを登録する３次元モデル登録手段とを具備する装置であって、
前記３次元モデル登録手段は、
前記実物モデルに対する３次元計測手段の処理により復元された複数の３次元情報のうち、２回目以降の計測により復元された３次元情報を、それぞれ一段階前に復元された３次元情報と照合して双方の３次元情報間の対応関係を認識する対応関係認識手段と、
前記複数回の３次元計測により復元された複数の３次元情報のうちの一部に相当する２以上の３次元情報を選択し、選択された３次元情報の１つを基準として、他の３次元情報を、それぞれ当該３次元情報に対応する計測と基準の３次元情報に対応する計測との間の各計測に関して前記対応関係認識手段により認識された３次元情報間の対応関係に基づき、基準の３次元情報に整合するように座標変換し、変換後の３次元情報を基準の３次元情報に統合することにより前記仮の３次元モデルを作成する仮モデル作成手段と、
前記複数の３次元情報のうち仮の３次元モデルに統合されなかった情報に順に着目して、着目した３次元情報を前記仮の３次元モデルにより認識し、その認識結果の正否を判定する認識結果確認手段と、
前記認識結果確認手段が前記認識処理の結果が正しくないと判定したとき、その時点での着目中の３次元情報を、当該３次元情報に対応する計測と前記基準の３次元情報に対応する計測との間の各計測に関して前記対応関係認識手段により認識された３次元情報間の対応関係に基づき、基準の３次元情報に整合するように座標変換し、変換後の３次元情報を仮の３次元モデルに追加することにより前記仮の３次元モデルを更新するモデル更新手段と、
前記認識処理の結果が正しくないと判定された３次元情報の全てが追加された３次元モデルを登録対象として確定するモデル確定手段とを、
具備することを特徴とする物体認識装置。
【請求項７】
ステレオカメラを用いた３次元計測により認識対象物の３次元情報を復元する３次元計測手段と、復元された３次元情報をあらかじめ登録した３次元モデルと照合することにより認識対象の物体の位置および姿勢を認識する認識処理手段と、認識対象物の実物モデルに対してそれぞれ異なる方向から３次元計測を行うことにより復元された複数の３次元情報を、位置を合わせて統合することによって、前記認識処理手段により使用される３次元モデルを作成した後に、当該３次元モデルを登録する３次元モデル登録手段とを具備する装置であって、
前記３次元モデル登録手段は、
前記３次元計測手段が実物モデルに対する最初の計測を実行したのに応じて、その計測により復元された３次元情報を仮の３次元モデルに初期設定する仮モデル設定手段と、
前記３次元計測手段が実物モデルに対する２回目以降の計測を実行する都度、その計測により復元された３次元情報を対象に前記仮の３次元モデルを用いた認識処理を実行し、その認識結果の正否について判定入力を受け付ける認識結果確認手段と、
前記認識結果確認手段が、実行した認識処理の結果が正しくないとする判定入力を受け付けたとき、この受付後に入力されたステレオ画像から復元された３次元情報のうち、前記認識結果確認手段による処理において前記仮の３次元モデルを用いた認識処理の結果が正しいとする判定入力を受け付けた最初の情報を、その認識結果に基づき座標変換し、変換後の３次元情報を前記仮の３次元モデルに追加することによって、３次元モデルを更新するモデル更新手段と、
前記実物モデルに対する３次元計測およびこれに伴う認識結果確認手段ならびにモデル更新手段の処理がすべて終了したとき、その時点の３次元モデルを登録対象として確定するモデル確定手段とを、
具備することを特徴とする物体認識装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、所定の形状を具備する物体を対象として、複数のカメラを用いたステレオ計測により復元された３次元情報を用いて物体の位置および姿勢を認識する処理を行うために、当該物体の３次元モデルを作成する方法に関する。さらにこの発明は、上記の３次元モデルを作成して登録した後に、そのモデルを用いて物体の認識処理を行う装置に関する。
【背景技術】
【０００２】
ステレオカメラを用いた３次元認識処理により物体の位置や姿勢を認識するには、認識対象の物体の種々の面の３次元情報を含む３次元モデルを作成する必要がある。
上記の点を課題とした発明を開示したものとして、下記の特許文献１がある。この特許文献１には、認識対象物の実物モデルに対し、複数の方向からのステレオ計測を行って、各計測により復元した３次元情報を位置合わせして統合することにより、物体全体の幾何モデルを作成することが、記載されている。
【０００３】
また、特許文献１には、「セグメントベーストステレオ」と呼ばれる手法により、ステレオ画像に表されたエッジから実物モデルの輪郭線の３次元情報を復元することが記載されている。特許文献１によれば、「セグメントベーストステレオ」とは、ステレオ画像中のエッジを「セグメント」と呼ばれる単位に分割し、セグメント単位でステレオ対応検索を行って、輪郭線の３次元情報を復元する処理をいう。
【０００４】
さらに特許文献１には、３次元情報の位置合わせに関して、回転テーブルを用いて実物モデルを定められた角度まで回転させて、その回転角度に基づく座標変換を行う方法が記載されている。また、未知の観測方向からの３次元情報を位置合わせする方法として、作成中のモデルと新たに復元された３次元輪郭線とを照合して複数とおりの位置合わせの候補を求め、これらの中で一致度が最も高くなる場合の位置合わせを特定することが記載されている。
【０００５】
さらに、下記の非特許文献１には、２次元のセグメントを画像間で対応づけし、３次元情報を復元する手法が詳しく記載されている。また、非特許文献２には、復元された３次元情報をあらかじめ登録された３次元モデルと照合して、物体の位置や姿勢を認識する手法が開示されている。
【０００６】
【特許文献１】特許２９６１２６４号公報（段落００１３，００１７，００２８〜００３６参照。）
【非特許文献１】「セグメントベーストステレオにおける連結性に基づく対応評価」  情報処理学会論文誌  Ｖｏｌ．４０，Ｎｏ．８，３２１９−３２２９ページ，１９９９年８月発行
【非特許文献２】「ステレオビジョンによる３次元物体の認識」  電子情報通信学会論文誌  Ｄ−II，ｖｏｌ．Ｊ８０−Ｄ−II，Ｎｏ．５，１１０５−１１１２ページ、１９９７年５月発行
【発明の開示】
【発明が解決しようとする課題】
【０００７】
特許文献１に記載された発明を利用して高精度の３次元モデルを作成するには、実物モデルに対する３次元計測を多数の方向から行って、各計測結果を統合するのが良いように思われる。しかし、このような方法では、３次元モデルの容量が増えて、実際に認識処理に用いた場合の処理時間が長くなるから、実用に適さないモデルになる可能性がある。
【０００８】
また、特許文献１には、作成された３次元モデルにより実際の認識処理物が正しく認識されるかどうかを確認する点についても、何も記載されていない。この点については、一般的には、作成した３次元モデルを用いて試験的な認識処理を行い、認識の精度が悪い場合には、３次元モデルを作成し直すものと思われるが、このような方法では、効率が悪く、ユーザに大きな負担をかける可能性がある。
【０００９】
この発明は、上記の問題点に着目し、容量をできるだけ少なくして精度の良い３次元モデルを作成すること、およびこの３次元モデルを短い時間で作成できるようにすることを課題とする。
【課題を解決するための手段】
【００１０】
この発明による３次元モデルの作成方法は、ステレオカメラを用いた３次元計測を認識対象物の実物モデルに対してそれぞれ異なる方向から実施することにより復元された複数の３次元情報を、位置を合わせて統合することによって、認識対象物の３次元モデルを作成する。
【００１１】
この方法では、実物モデルに対する少なくとも１回の３次元計測により復元された３次元情報を用いて仮の３次元モデルを作成し、実物モデルに対し仮の３次元モデルの作成に用いられた３次元情報を復元したときとは異なる方向を計測方向として実施した３次元計測について、その計測により復元された３次元情報を仮の３次元モデルにより認識してその認識結果を判定する。さらに、仮の３次元モデルによる認識処理の結果が正しくないと判定したときに認識対象となった３次元情報、または当該認識対象の３次元情報を復元したときの計測方向に対する角度ずれが所定値以内となる方向からの計測により復元され、かつ３次元モデルによる認識処理の結果が正しいと判定された３次元情報を、仮の３次元モデルに整合するように座標変換して、変換後の３次元情報を仮の３次元モデルに追加し、この追加処理が完了した時点の３次元モデルを認識対象物の認識に用いるモデルとして確定する。
【００１２】
上記において、３次元計測により復元される３次元情報は、複数の３次元特徴データの集合体である。また３次元情報の「位置合わせ」とは、それぞれ異なる方向からのステレオ計測により復元された複数の３次元情報を、それぞれの間の位置ずれおよび角度ずれに基づいて座標変換する処理をいう。また実物モデルに対する計測方向は、実物モデルとステレオカメラとの相対位置関係によって定められる。
【００１３】
上記の方法によれば、仮の３次元モデルの作成に用いられた３次元情報を復元したときとは異なる方向から実物モデルを計測して得られた３次元情報のうち、仮の３次元モデルでは正しく認識することのできなかった３次元情報を３次元モデルに追加することができる。よって、追加後の３次元モデルは、誤認識された方向からの計測による３次元情報を正しく認識できるようになり、その分、３次元モデルの精度を向上することができる。一方、仮の３次元モデルにより正しく認識することができた３次元情報は、３次元モデルには追加されないので、無駄な情報の追加により容量が増えるのを防止することができる。
【００１４】
このように、実際の認識対象物に対して想定される種々の計測方向から実物モデルを計測し、復元された３次元情報のうち誤認識されたものを３次元モデルに追加することにより、３次元モデルの容量を抑えながら、その精度を高めることが可能になる。
【００１５】
ただし、誤認識された３次元情報を３次元モデルに整合させるには、この３次元情報の３次元モデルに対する位置ずれ量や回転角度に基づく座標変換を行う必要がある。この点について、たとえば回転テーブルにより実物モデルの回転角度を制御する場合には、毎回の回転角度から座標変換のためのパラメータを割り出すことができる。またステレオカメラと実物モデルとの位置関係を任意に変更する場合でも、後記するような演算によって座標変換のパラメータを求めることが可能である。
【００１６】
上記の３次元情報を仮の３次元モデルにより認識した結果が正しいか否かの判定は、たとえば、上記の座標変換のためのパラメータを導出する場合と同様の方法により判定対象の３次元情報と仮の３次元モデルとの正しい対応関係を求め、この関係と仮の３次元モデルによる認識結果とを照合する方法により実施する。または、仮の３次元モデルによる認識結果を表示して、その正否をユーザに判定させ、判定入力を受け付けるようにしてもよい。
【００１７】
また、上記の方法では、正しく認識されなかった３次元情報そのものに限らず、この３次元情報を復元したときの計測方向に対する角度ずれが所定値以内であって、３次元モデルにより正しく認識された３次元情報を追加する場合もある。これは以下のような理由による。
【００１８】
毎回の計測方向を適当な間隔で変更して３次元計測を実行すれば、連続する２回の計測で復元された３次元情報の間に相当量の共通する特徴を含めることができる。したがってこれらの３次元情報のうちの一方を正しく認識できなくとも、他方を正しく認識できた場合には、後者の３次元情報を３次元モデルに追加することによって、前者の情報も正しく認識できるようになる可能性がある。
【００１９】
以下、上記方法について４つの好適な実施態様を説明する。
まず第１の態様では、実物モデルに対し、毎回異なる計測方向を設定して複数回の３次元計測を実施するとともに、２回目以降の３次元計測により復元された３次元情報をそれぞれ一段階前の計測により復元された３次元情報と照合して、双方の３次元情報間の対応関係を認識する。また、複数回の３次元計測に伴い復元された複数の３次元情報のうちの一部に相当する２以上の３次元情報を選択し、選択された３次元情報の１つを基準として、他の３次元情報を、それぞれ当該３次元情報に対応する計測と基準の３次元情報に対応する計測との間の各計測に関して認識された３次元情報間の対応関係に基づき、基準の３次元情報に整合するように座標変換し、変換後の３次元情報を基準の３次元情報に統合することにより仮の３次元モデルを作成する。
【００２０】
つぎに、複数の３次元情報のうち仮の３次元モデルに統合されなかった３次元情報を順に処理対象として、仮の３次元モデルを用いた認識処理を実行してその認識結果の正否を判定するとともに、認識処理の結果が正しくないと判定したときは、その認識処理の対象となった３次元情報を、当該３次元情報に対応する計測と基準の３次元情報に対応する計測との間の各計測に関して復元された３次元情報間の認識された対応関係に基づき、基準の３次元情報に整合するように座標変換して、変換後の３次元情報を仮の３次元モデルに追加する。そして、３次元モデルに統合されなかった全ての３次元情報に対する処理が終了したとき、その時点の３次元モデルを確定する。
【００２１】
上記の態様によれば、実物モデルに対する計測方向として想定される種々の方向からの３次元計測を実行した後に、それぞれの計測方向に対応する３次元情報を適度な間隔で選択することによって、仮の３次元モデルが作成される。さらに、この仮の３次元モデルに統合されなかった３次元情報を３次元モデルにより認識する処理が順に実行され、正しい認識結果を得ることができなかった３次元情報が３次元モデルに追加される。ここで作成された３次元モデルは、選択された３次元情報や追加された３次元情報に対応する方向のほか、設定された計測方向のいずれからの計測でも、正しい認識を行うことが可能な精度を具備するものとなる。また３次元計測の実行回数が多くなっても、認識精度を確保する上で必要な３次元情報のみが統合されるので、３次元モデルの容量が多くなるのを防止することができる。
【００２２】
さらに上記の態様では、２回目以降の３次元計測により復元された３次元情報をそれぞれ一段階前の計測により復元された３次元情報と照合して、双方の３次元情報間の位置関係を認識し、これらの認識結果を用いて、仮の３次元モデルを作成する際やこの３次元モデルに新たな３次元情報を追加する際の座標変換処理を実行するので、実物モデルとステレオカメラとの位置関係を厳密に調整する必要がない。また毎時の計測方向が前回の計測方向から極端に変わることがないようにすれば、毎回の計測においては、一段階前の計測で復元された情報を相当数重複して復元することが可能になり、３次元情報間の対応関係の認識精度を確保することができる。
【００２３】
第２の態様では、実物モデルに対し毎回異なる計測方向を設定して実施した複数回の３次元計測により復元された複数の３次元情報を用いて仮の３次元モデルを作成した後に、実物モデルに対し、仮の３次元モデルの作成時に設定したいずれの計測方向とも異なるように計測方向を毎回変更して３次元計測を実行する処理を、複数回実行する。そして複数回の３次元計測の１回目の３次元計測により復元された３次元情報を対象に、仮の３次元モデルによる認識処理を実行した後に、２回目以降の計測の都度、その計測により復元された３次元情報を一段階前に復元された３次元情報と照合して双方の３次元情報間の対応関係を認識する第１ステップと、当該計測により復元された３次元情報を対象に、仮の３次元モデルを用いた認識処理を実行してその認識結果の正否を判定する第２ステップとを実行する。また、２回目以降の計測により復元された３次元情報に対する認識処理の結果が正しくないと判定したときは、１回目の３次元計測により復元された３次元情報に対する認識結果、および２回目から現時点までに実施された各３次元計測に対する第１ステップの認識結果に基づき、認識処理の結果が正しくないと判定された３次元情報を仮の３次元モデルに整合するように座標変換して、変換後の３次元情報を仮の３次元モデルに追加する。そして、複数回の３次元計測およびこれに伴う処理がすべて終了したとき、その時点の３次元モデルを確定する。
【００２４】
第２の態様によれば、まず実物モデルを、実際に想定する種々の方向のうちの代表的な方向から計測して、その計測結果により仮の３次元モデルを作成した後に、他の想定される方向からの計測を順に行うと、その計測により復元された３次元情報のうち、仮の３次元モデルにより正しく認識することができなかったものが、現時点までに実行された認識処理の結果に基づき座標変換されて、仮の３次元モデルに追加される。また仮の３次元モデルを作成した後の１回目の３次元計測において、仮の３次元モデルにより正しく認識することが可能な３次元情報を復元し、その後の計測でも、一段階前とは極端に異なる計測方向が設定されることがないようにすれば、２回目以降の各計測においては、一段階前の計測で復元された特徴を相当数重複して復元することができ、毎回の第１ステップの精度を確保することができる。よって、追加対象の３次元情報に対する座標変換処理を精度良く行うことが可能になり、３次元モデルの精度を確保することができる。
【００２５】
第３の態様では、実物モデルに対する計測方向を毎回変更して３次元計測を実行する処理を複数回実行する。また、１回目の３次元計測により復元された３次元情報を仮の３次元モデルに設定し、以後の３次元計測において、それぞれこの３次元計測により復元された３次元情報を一段階前に復元された３次元情報と照合して双方の３次元情報間の対応関係を認識する第１ステップと、当該３次元計測により復元された３次元情報を対象に仮の３次元モデルを用いた認識処理を実行してその認識結果の正否を判定する第２ステップとを実行する。そして、第２ステップにおいて３次元モデルを用いた認識処理の結果が正しくないと判定したときは、その認識処理の対象となった３次元情報を、２回目から現時点までの各３次元計測に対して実行された第１ステップによる認識結果に基づき、仮の３次元モデルに整合するように座標変換して、変換後の３次元情報を仮の３次元モデルに追加する。そして、複数回の３次元計測およびこれに伴う処理がすべて終了したとき、その時点の３次元モデルを確定する。
【００２６】
第３の態様によれば、複数回の３次元計測のうちの１回目の計測により復元された３次元情報が仮の３次元モデルとして設定された後、以後、計測が行われる都度、正しく認識されなかった３次元情報が仮の３次元モデルに整合するように座標変換されて、仮の３次元モデルに追加される。また２回目以降の３次元計測について、一段階前とは極端に異なる計測方向が設定されることがないようにすれば、いずれの計測においても、一段階前の計測で復元された情報が相当数重複して復元されて、第１ステップの精度を確保することができる。よって、追加対象の３次元情報に対する座標変換処理を精度良く行うことが可能になり、実物モデルに対して設定された全ての計測方向からの計測に対して対象物を正しく認識できる精度の３次元モデルを作成することができる。
【００２７】
また第２および第３の態様でも、追加対象の３次元情報を、その情報が復元されるまでに実施された認識処理の結果に基づき座標変換してから仮の３次元モデルに追加するので、回転テーブルなどにより実物モデルとステレオカメラとの位置関係を厳密に調整する必要がない。
【００２８】
第４の態様では、実物モデルを任意の角度で回転させて３次元計測を実行する処理を複数回実行することを条件に、１回目の３次元計測により復元された３次元情報を仮の３次元モデルに設定し、以後の３次元計測が行われる毎に、その計測により復元された３次元情報を対象に仮の３次元モデルを用いた認識処理を実行してその認識結果の正否を判定する。そして、仮の３次元モデルによる認識処理の結果が正しくないと判定したときは、実物モデルに対する計測方向が一段階前の計測方向に近づくように実物モデルを回転させて３次元計測を行うステップと、この３次元計測により復元された３次元情報を対象に仮の３次元モデルを用いた認識処理を実行してその認識結果の正否を判定するステップとを、認識結果が正しいと判定されるまで実行し、正しいと判定された認識結果に対応する３次元情報を、その認識結果に基づき座標変換して、変換後の３次元情報を仮の３次元モデルに追加した後に、認識処理の結果が正しくないと判定したときの状態に戻る方向に実物モデルを回転させる。そして、実物モデルとステレオカメラとの位置関係が所定の状態になったときの３次元計測およびこれに伴う処理がすべて終了したとき、その時点の３次元モデルを確定する。
【００２９】
第４の態様でも、第１回目の計測で復元された３次元情報が仮の３次元モデルとして設定され、以後は、仮の３次元モデルにより正しい認識ができなかった場合に、３次元モデルへの追加処理が行われる。ただしこの態様では、認識できなかった３次元情報そのものではなく、その３次元情報に共通する特徴を含み、かつ３次元モデルにより正しく認識される３次元情報を３次元モデルに追加することによって、正しく認識できなかった３次元情報を認識できる状態にすることを目的とする。よって、この３次元情報の追加処理を適宜行いながら実物モデルの回転および３次元計測を繰り返すことによって、設定された全ての計測方向からの計測に対して対象物を正しく認識することが可能な３次元モデルを作成することが可能になる。
【００３０】
また、この態様では、毎回、実物モデルを回転角度を考慮せずに回転させることができる上に、３次元モデルに追加される３次元座標を、当該３次元モデルから認識した結果に基づき座標変換するので、追加される情報の３次元モデルに対する整合の精度も確保される。また、他の態様のように、３次元計測の都度、照合を行うことがないので、処理を簡単にすることができる。
【００３１】
つぎに、この発明による物体認識装置は、ステレオカメラを用いた３次元計測により認識対象物の３次元情報を復元する３次元計測手段と、復元された３次元情報をあらかじめ登録した３次元モデルと照合することにより認識対象の物体の位置および姿勢を認識する認識処理手段と、認識対象物の実物モデルに対してそれぞれ異なる方向から３次元計測を行うことにより復元された複数の３次元情報を位置を合わせて統合することによって、認識処理手段により使用される３次元モデルを作成した後に、当該３次元モデルを登録する３次元モデル登録手段とを具備する。
【００３２】
さらに、この発明では、毎回の計測の際に、ユーザが実物モデルとステレオカメラとの位置関係を任意に変更して複数回の計測を実行する間に、認識処理に適した３次元モデルを作成する機能を有する物体認識装置として、以下の第１の構成および第２の構成を提供する。
【００３３】
第１の構成による物体認識装置では、３次元モデル登録手段に、以下の対応関係認識手段、仮モデル作成手段、認識結果確認手段、モデル更新手段、およびモデル確定手段が設けられる。
【００３４】
対応関係認識手段は、実物モデルに対する３次元計測手段の処理により復元された複数の３次元情報のうち、２回目以降の計測により復元された３次元情報を、それぞれ一段階前に復元された３次元情報と照合して、双方の３次元情報間の対応関係を認識する。仮モデル作成手段は、複数回の３次元計測により復元された複数の３次元情報のうちの一部に相当する２以上の３次元情報を選択し、選択された３次元情報の１つを基準として、他の３次元情報を、それぞれ当該３次元情報に対応する計測と基準の３次元情報に対応する計測との間の各計測に関して対応関係認識手段により認識された３次元情報間の対応関係に基づき、基準の３次元情報に整合するように座標変換し、変換後の３次元情報を基準の３次元情報に整合することにより仮の３次元モデルを作成する。
【００３５】
認識結果確認手段は、複数の３次元情報のうち仮の３次元モデルに統合されなかった情報に順に着目して、着目した３次元情報を仮の３次元モデルにより認識し、その認識結果の正否を判定する。
【００３６】
モデル更新手段は、認識結果確認手段が認識処理の結果が正しくないと判定したとき、その時点での着目中の３次元情報を、当該３次元情報に対応する計測と基準の３次元情報に対応する計測との間の各計測に関して対応関係認識手段により認識された３次元情報間の対応関係に基づき、基準の３次元情報に整合するように座標変換し、変換後の３次元情報を仮の３次元モデルに追加することにより仮の３次元モデルを更新する。モデル確定手段は、認識処理の結果が正しくないと判定された３次元情報のすべてが追加された３次元モデルを登録対象として確定する。
【００３７】
上記の構成によれば、ユーザが、毎回の３次元計測の都度、実物モデルとステレオカメラとの位置関係を任意に変更すれば、復元された３次元情報の中から選択された３次元情報により仮の３次元モデルが作成された後に、この３次元モデルでは正しい認識を行うのが困難な３次元情報が特定され、これらの情報が追加された３次元モデルを作成することができる。
【００３８】
また、２回目以降の計測を行う都度、その計測により復元された３次元情報と一段階前の３次元情報との位置関係を認識してゆき、これらの認識結果に基づいて統合対象の３次元情報に対する座標変換を行うから、毎回の計測方向が直前の計測方向と大きく異なることがないようにすれば、一段階前の３次元情報との照合の精度を確保でき、これをもって座標変換処理の精度を確保することができる。よって、毎回、実物モデルとステレオカメラとの位置関係を厳密に調整しなくとも、精度が良く、容量が抑えられた３次元モデルを作成することが可能になる。
【００３９】
第２の構成による物体認識装置では、３次元モデル登録手段に、以下の仮モデル設定手段、認識結果確認手段、モデル更新手段、およびモデル確定手段が設けられる。
【００４０】
仮モデル設定手段は、３次元計測手段が実物モデルに対する最初の計測を実行したのに応じて、その計測により復元された３次元情報を仮の３次元モデルに初期設定する。認識結果確認手段は、３次元計測手段が実物モデルに対する２回目以降の計測を実行する都度、その計測により復元された３次元情報を対象に仮の３次元モデルを用いた認識処理を実行し、その認識結果の正否について判定入力を受け付ける。
【００４１】
モデル更新手段は、認識結果確認手段が、実行した認識処理の結果が正しくないとする判定入力を受け付けたとき、この受付後に入力されたステレオ画像から復元された３次元情報のうち、認識結果確認手段による処理において仮の３次元モデルを用いた認識処理の結果が正しいとする判定入力を受け付けた最初の情報を、その認識結果に基づき座標変換し、変換後の３次元情報を仮の３次元モデルに追加することによって、３次元モデルを更新する。
【００４２】
モデル確定手段は、実物モデルに対する３次元計測およびこれに伴う認識結果確認手段ならびにモデル更新手段の処理が全て終了したとき、その時点の３次元モデルを登録対象として確定する。
【００４３】
上記の構成によれば、１回目の計測に応じて仮の３次元モデルが初期設定された後に、以後の計測の都度、ユーザが実物モデルを任意の角度で回転させることによって、それぞれ異なる方向からの計測により復元された３次元情報を仮の３次元モデルにより認識する処理が行われ、その認識結果の正否について、ユーザによる判定結果が入力される。ここで、ユーザが３次元情報が正しく認識されなかったと判定した場合には、その判定結果を入力し、計測方向を一段階前の計測方向に近づけるように実物モデルを回転させて計測を行う処理を所定回数実行すれば、少なくとも一段階前の計測状態に戻ったときに、３次元モデルにより正しく認識される３次元情報を得ることができる。よって、この時点での３次元情報を３次元モデルに追加することにより、正しく認識できなかった３次元情報の認識が可能になる可能性が高められる。
【００４４】
上記の追加により３次元モデルが更新された後に、ユーザが実物モデルの回転方向を元の方向に戻すと、この後は、先の３次元情報を正しく認識できなかった計測方向を再設定して、更新された３次元モデルにより正しい認識が可能になったか否かを確認し、認識が可能になった旨を確認してから次の計測に進むことができる。
【００４５】
よって、第２の構成の装置によれば、ユーザは、ステレオカメラに対する実物モデルの姿勢を種々の状態に設定して計測を行いながら、現在の３次元モデルでは認識が困難な状態を容易に判断して、その認識を可能にするための措置をとることができる。よって、認識対象物の想定できる姿勢の変化に応じて実物モデルとステレオカメラとの位置関係を変更する間に、精度が良く、容量が抑えられた３次元モデルを作成することが可能になる。
【発明の効果】
【００４６】
この発明によれば、実物モデルに対する計測方向を毎回変更して３次元計測を行う処理を複数回実行することにより、これらの計測で設定されたすべての計測方向から対象物を認識することができ、かつ無駄な情報を含まない３次元モデルを作成することができる。また、ステレオカメラと認識対象物との実際に想定される位置関係に基づき、十分な回数の計測を行うだけで上記の３次元モデルを作成することができるから、３次元モデルの作成に要する効率を大幅に向上することができる。
【発明を実施するための最良の形態】
【００４７】
（１）装置構成
図１は、３次元認識処理を適用したピッキングシステムの例を示す。
このピッキングシステムは、工場内で収容ボックス６内に収容されたワークＷを１つずつ取り出して所定の位置に搬送する作業を行うためのもので、実際の作業を行う多関節ロボット４や、このロボット４の動作を制御するロボット制御装置３が含まれる。さらに、このピッキングシステムには、処理対象のワークＷの位置および姿勢を認識するために、ステレオカメラ１および物体認識装置２が設けられる。
【００４８】
ステレオカメラ１は、位置関係が固定された３台のカメラ１１，１２，１３により構成される。物体認識装置２には、カメラ１１，１２，１３の位置関係や光軸の向きなどを表す情報や、認識対象のワークＷの３次元モデルが登録されており、各カメラ１１，１２，１３から入力したステレオ画像を処理して、ワークＷの輪郭線の３次元情報を復元した後に、復元した３次元情報を３次元モデルと照合してワークＷの位置や姿勢を認識する。この認識結果を示す情報は、物体認識装置２からロボット制御装置３に出力され、ロボット制御装置３において、ロボット４のアーム４０の動作を制御する処理に使用される。
【００４９】
図２は、物体認識装置２のハードウェア構成を示す。
この装置には、各カメラ１１，１２，１３に対応する画像入力部２１，２２，２３のほか、ＣＰＵ２４、メモリ２５、入力部２６、表示部２７、通信インターフェース２８などが設けられる。入力部２６はキーボードやマウスであり、表示部２７は液晶モニタである。入力部２６および表示部２７は、以下に述べる３次元モデルの作成の際に、ユーザが実物モデルの撮像状態を確認したり、選択操作や設定操作を行う用途に用いられる。通信インターフェース２８は、ロボット制御装置４との通信に用いられる。
【００５０】
メモリ２５は、ＲＯＭ，ＲＡＭ，およびハードディスクなどの大容量メモリを含む。
ＣＰＵ２４は、メモリ２５に格納されたプログラムに基づき、３次元計測およびワークＷの認識に関する一連の処理を実行し、認識結果（具体的には、ワークＷの位置を表す３次元座標、および３次元モデルに対する回転角度）を通信インターフェース２８より出力する。
【００５１】
また、メモリ２５には３次元モデルを作成するためのプログラムも格納される。ＣＰＵ２４は、認識処理に先立ち、このプログラムに基づき、各カメラ１１〜１３から入力された実物モデルの画像を用いてワークＷの３次元モデルを作成し、これをメモリ２５内に登録する。
【００５２】
さらに図２には示していないが、この実施例の物体認識装置２には、各カメラ１１，１２，１３に駆動信号を出力する回路が設けられ、ＣＰＵ２４には、この回路を介して各カメラ１１〜１３の撮像動作を制御する機能が設定される。この実施例では、入力部２６で計測開始を指示する操作が行われたときに各カメラ１１〜１３に撮像を行わせるようにしている。
【００５３】
（２）３次元計測処理について
上記の物体認識装置２では、ステレオ画像からエッジを検出した後に、特許文献１に記載された発明と同様に、「セグメント」と呼ばれる単位毎に３次元情報を復元し、さらにセグメント単位で３次元モデルとの照合を行うようにしている。図３は、この方法により１つのワークを認識するために実行される処理の概略手順を示すものである。以下、この図３のステップ符号を参照しつつ、この実施例における３次元認識処理を説明する。
【００５４】
まず、各カメラ１１〜１３によるステレオ撮像を行い、生成された各画像にエッジ抽出用のフィルタを適用して、画像中のエッジを検出する（ＳＴ１，２）。つぎに、検出されたエッジを細線化し（１画素幅のデータにする。）、細線化後のエッジを連結点や分岐点を基準に直線や曲線のセグメントに分割する（ＳＴ３，４）。この２次元画像上のエッジから抽出されたセグメントを、以下では「２次元セグメント」と呼ぶ。
【００５５】
つぎに、画像間で対応関係にある２次元セグメントを対応づける処理を実行する（ＳＴ５）。この対応づけでは、３つの画像のうちの１つを基準に、この基準画像の各２次元セグメントに順に着目し、着目した２次元セグメント毎に、他の２つの画像の中から対応する２次元セグメントを特定する。すなわち、着目した２次元セグメントに対し、エピポーラ条件を満たし、近傍のセグメントとの連結関係が整合する２次元セグメントを、各画像から検出することになる（詳細については非特許文献１等を参照されたい。）。
【００５６】
つぎに、上記の処理により対応づけられた各２次元セグメントの組み合わせ毎に、その対応関係から３次元情報を復元する処理を実行する（ＳＴ６）。
簡単に説明すると、対応づけられた２次元セグメントの組み合わせ毎に、そのセグメント間で対応関係にある画素の３次元座標を算出する。また、算出された３次元座標の分布状態を直線および円弧のモデルと照合して、これらの３次元座標の集合が直線／曲線のいずれに相当するかを判別する。この処理により、２次元セグメントの組み合わせ毎に、その組み合わせに対応する直線または曲線の３次元セグメントが特定される。
【００５７】
さらに、ＳＴ６では、各３次元セグメントについて、それぞれそのセグメントをあらかじめ設定された間隔毎にサンプリングし、セグメントの種別（直線または曲線）と各サンプリング点の３次元座標とを対応づけた情報を作成する。これにより、２次元セグメントから算出された３次元座標の数が少なかった３次元セグメントについても、サンプリング間隔を細かくすれば、当初より多くの３次元座標を得ることが可能になる。
【００５８】
上記の処理により復元された３次元セグメントの集合が、認識対象のワークの３次元情報に相当する。つぎの段階では、３次元座標系のあらかじめ定めた基準位置に３次元モデルを設定し、この３次元モデルにより復元された３次元情報を照合することによって、３次元モデルに対するワークの位置ずれ量および回転角度を認識する（ＳＴ７）。
【００５９】
ＳＴ７における照合処理では、各３次元セグメントの交点を特徴点として、各特徴点を総当たり式に対応づけながら、その対応づけをした場合の各３次元セグメントの一致度を算出し、一致度が最大になったときの対応づけを正しい対応関係として特定する。
【００６０】
ＳＴ７について、もう少し詳しく説明する。この実施例では、３次元モデル中の特定の特徴点を照合対象の３次元情報の各特徴点に順に対応づけて、対応づけ毎に、３次元モデル側の特徴点を対応点に移動させるのに必要なシフト量および回転角度を算出する。これらはいずれも、Ｘ，Ｙ，Ｚの軸毎に算出される。つぎに、算出したシフト量および回転角度に基づいて、３次元モデルに含まれる全ての座標を変換し、変換後の３次元モデルと照合対象の３次元情報との一致度を算出する。
【００６１】
上記の処理を、３次元モデル側のすべての特徴点につき実行することにより、特徴点が総当たり式に対応づけられ、対応付け毎に一致度を求めることができる。この後、最終的に最も高い一致度が得られたときの座標変換に用いたシフト量および回転角度を、認識対象のワークの３次元モデルに対する位置ずれ量および回転角度として認識する。
【００６２】
この後は、認識した位置ずれ量および回転角度をロボット制御装置３に出力し（ＳＴ８）、処理を終了する。
【００６３】
（３）３次元モデルの作成処理
３−１）原理説明
上記した３次元認識処理を実行するには、あらかじめ、ワークＷの３次元モデルをメモリ２５に登録する必要がある。この実施例の物体認識装置２では、ワークＷの実物モデルを種々の方向からステレオ計測し、各計測結果から復元した３次元情報を統合する方法により、３次元モデルを作成するようにしている。以下、この処理について詳細に説明する。
なお、以下の図面では、ワークＷの実物モデルをＷＭの符号で示すとともに、明細書中では、この実物モデルＷＭを「ワークモデルＷＭ」という。
【００６４】
この実施例では、図４（１）に示すように、ステレオカメラ１の位置および光軸方向を固定して、ステレオカメラ１に対するワークモデルＷＭの姿勢を変更しながら複数回のステレオ計測を実行する。
【００６５】
図中、Ｘ，Ｙ，Ｚの各軸による３次元座標系は、３次元座標の算出用の座標系（以下、「計測座標系」という。）であり、ステレオカメラ１に対して一意に定められる。一方、Ｘ１，Ｙ１，Ｚ１の各軸による３次元座標系は、ワークモデルＷＭに対して一意に定められた座標系（以下、「ワーク座標系」という。）である。図４（１）では、Ｘ１，Ｙ１，Ｚ１の各軸がそれぞれＸ，Ｙ，Ｚ軸に平行な状態を示すが、ワークモデルＷＭの姿勢が変わると、ワーク座標系の各軸の方向もこれに応じて変化する。
【００６６】
ワークモデルＷＭの姿勢はユーザが自由に定めることができるが、この実施例では、常にＸ１Ｚ１平面に沿う特定の面がワーク支持面（この例ではＸＺ平面）に接するものとして、ＸＺ平面に直交するＹ１軸に対してワークモデルＷＭを１回転させ、その間に、複数回の撮像を行うものとする。なお、このワークモデルＷＭの回転は、回転テーブルを用いずに、ユーザの手でワークモデルＷＭの向きを変更する方法により行うので、回転角度のみならず、計測座標系に対するワークモデルＷＭの位置も、毎回位置ずれする。
【００６７】
図４（２）は、ワーク座標系を基準にして、ワークモデルＷＭに対するステレオカメラ１の位置関係の変化を表したものである。図中、１〜１２の数字入りの矩形は、それぞれ、撮像時のステレオカメラ１の場所を示し、また矩形内の数字は撮像の順序を示す。
これらの位置での撮像により生成されたステレオ画像は、いずれも３次元計測の対象となる。よって以下では、各矩形が表すステレオカメラの位置を「計測ポイント」と呼ぶ。また各計測ポイントに個別に言及する場合には、「計測ポイント［１］」「計測ポイント［２］」のように、計測の順序を表す数字を引用する。
【００６８】
この実施例では、上記１２個の計測ポイント毎に、図３のＳＴ１〜６と同様の処理を実行して３次元情報を復元する。また、計測ポイント［１］を除く各計測ポイントでは、それぞれその計測ポイントで復元した３次元情報を１つ前の計測ポイントの３次元情報と照合することにより、一段階前の３次元情報に対する位置ずれ量および回転角度を認識する。これらの認識処理は、いずれも図３のＳＴ７で実施されるのと同様の方法により行われる。
【００６９】
なお、最後の計測ポイント［１２］については、計測ポイント［１１］の３次元情報に対する位置ずれ量および回転角度に加えて、計測ポイント［１］の３次元情報に対する位置ずれ量および回転角度も求める。ただし、計測ポイント［１２］から再度計測ポイント［１］に移行して、計測を再実行し、復元された３次元情報の計測ポイント［１２］の３次元情報に対する位置ずれ量および回転角度を求めてもよい。
【００７０】
さらにこの実施例では、計測ポイント毎に復元された３次元情報の精度を確認し、良好であることを確認した２以上の３次元情報を選択して、選択された情報を位置合わせした後に統合するようにしている。これらの処理の詳細については、後に説明する。
【００７１】
つぎに、この実施例では、ワークモデルＷＭの表面の適所に三角形のマークＭを付けて、ステレオ計測を行っている。このマークＭはシールとして構成され、ワークモデルＷＭの平坦な面（この実施例では上面の中央部）に貼付される。各計測ポイントは、すべてのカメラ１１〜１３の視野にマークＭが含まれる状態にすることを条件に定められる。したがって、いずれの計測ポイントでも、マークＭの各辺を表す３次元セグメントを含む３次元情報が復元される。
【００７２】
図５は、上記のマークＭを付したワークモデルＷＭにつき、上記１２の計測ポイントで復元された３次元情報のうちの３つ（図中、ａ，ｂ，ｃで示す。）を用いて３次元モデルを作成する場合の処理手順を、模式的に示す。なお、図中の３次元情報ａは、図４（２）の計測ポイント［１２］で復元されたものである。また、３次元情報ｂは計測ポイント［３］で復元されたものであり、３次元情報ｃは計測ポイント［６］で復元されたものである。また、いずれの３次元情報にも、マークＭの情報ｍが含まれている（ただし、情報ｍの実質的な内容は計測ポイントによって異なる。）。
【００７３】
この例では、３次元情報ａを基準に、この基準の３次元情報ａに対する位置ずれおよび角度ずれが解消するように、他の３次元情報ｂ，ｃを座標変換する。そして、変換後の３次元情報ｂ´，ｃ´を基準の３次元情報ａと統合することによって、それぞれの情報の特徴を含む３次元情報ｄを作成する。さらに、この統合された３次元情報ｄから三角形のマークＭに対応する情報ｍを消去することにより、ワークモデルＷＭの３次元形状のみを表す３次元情報ｅを作成し、この情報ｅを３次元モデルに設定する。
【００７４】
上記の３次元情報の座標変換処理は、先に計測ポイント毎に求めた位置ずれ量および回転角度を用いて行われる。たとえば、計測ポイント［３］で復元した３次元情報ｂを計測ポイント［１２］で復元した３次元情報ａに位置合わせするには、計測ポイント［３］と［２］、計測ポイント［２］と［１］、計測ポイント［１］と［１２］の各組み合わせにつき求めた位置ずれ量および回転角度を用いて、座標変換を行う。計測ポイント［６］で復元した３次元情報ｃについても同様に、計測ポイント［６］から計測ポイント［１２］までの範囲（この場合は時計回り・半時計回りのいずれでもよい。）で算出された位置ずれ量および回転角度を用いて、座標変換を実行することにより、３次元情報ａへの位置合わせを行う。
【００７５】
上記のように、間隔を隔てた計測ポイント間の位置ずれ量および回転角度を求める際に、これらの間にある各計測ポイントを隣り合うもの毎に組み合わせて、計測ポイントの組毎に３次元情報の位置ずれ量および回転角度を算出するのは、共通する特徴をできるだけ多く含む情報同士を照合することによって、照合の精度を確保するためである。また、後記する３次元モデルへの情報の追加処理を行う場合にも、計測ポイント間の３次元情報の位置ずれ量および回転角度を利用して、座標変換処理を行う。
【００７６】
つぎに、三角形のマークＭをワークモデルＷＭに貼付する理由について説明する。
先に述べたように、この実施例で３次元情報同士を照合する場合には、それぞれの情報中の特徴点を総当たり式で対応づけて一致度を求め、最も一致度の高い対応づけを正しいものとして確定する。しかし、認識対象物の形状によっては、一致度が最大になる対応づけが必ずしも正しくはならない場合がある。
【００７７】
たとえば、曲面や面取りされた部位のエッジを計測対象とする場合や、繰り返し構造を持つ部位が計測対象となる場合には、図６，７に示すような誤った対応づけが行われたときの一致度が最大になり、その誤った対応づけが確定してしまう可能性がある。
【００７８】
図６は、認識対象物Ｓｂのコーナー部に対してｆ１，ｆ２の２方向からそれぞれステレオ計測を行う例を示すものである。この図は、認識対象物Ｓｂの一断面であって、図中のＲ１，Ｒ２は、平坦面と曲率が大きな面との境界位置に相当する。
この例の場合、ｆ１の方向からの計測では、図中のＲ１の位置に３次元のエッジが復元されるのに対し、ｆ２の方向からの計測では、Ｒ２の位置に３次元のエッジが復元される。したがって、それぞれの方向からの計測により復元された３次元情報を対応づける際に、Ｒ１に対応するエッジとＲ２に対応するエッジとが誤って対応づけされ、その分、位置合わせの精度が劣化するおそれがある。
【００７９】
図７は、繰り返し構造を含む部位の対応づけに誤りが生じた例を示す。繰り返し構造のエッジが不鮮明で、３次元情報の復元精度が悪くなった場合などには、このような誤った対応づけが生じるおそれがある。
【００８０】
このほか、計測対象物に対称形の部位が含まれる場合にも、対称形の部位の表と裏とが誤って対応づけられた状態が、正しいものとして認識される可能性がある。
【００８１】
この実施例では、毎回のステレオ計測でワークモデルＷＭに対する計測方向を任意の角度で変更する方法をとっているため、３次元情報を統合するには、３次元情報どうしを照合して、それぞれの間の位置ずれ量や角度ずれ量（回転角度）を求め、これらに基づく座標変換を行う必要がある。したがって、３次元情報間の照合において上記のような誤った対応づけが行われると、統合される３次元情報を正しく位置合わせできなくなり、３次元モデルの精度を確保できない。三角形のマークＭは、このような誤りを防止するために付けられたものである。
【００８２】
この実施例で使用するマークＭが表す三角形は、図８に示すように、各辺の比が６：７：８になるように設定されている。この比率によれば、マークＭの各頂点Ａ，Ｂ，Ｃを容易に特定することができるから、たとえば頂点Ａから辺ＢＣへの垂線の方向によって、マークＭの向きを一意に特定することができる。また図９に示すように、同じ形状の三角形Ａ´Ｂ´Ｃ´と位置合わせする場合にも、位置合わせの精度を確保することができる。
【００８３】
図９（１）では、上記の比率による三角形ＡＢＣとこれに合同な三角形Ａ´Ｂ´Ｃ´から、それぞれ頂点を１個ずつ選択し、選択された頂点を基準に各三角形を位置合わせした結果を示す。この図に示すように、各三角形は、正しい対応関係にある頂点が組み合わせられたときでなければ、完全に重なり合うことはない。
【００８４】
上記の三角形の対応づけについて、発明者らは、実際に頂点の組み合わせ毎に、三角形全体の一致度を求めてみた。図９（２）は、その結果を示すグラフである。このグラフに示すとおり、各頂点が正しく対応づけられた場合の一致度を１とすると、他の対応関係による一致度は最大でも０．４程度となる。これにより、三角形の対応関係の正否を正しく判定できることが判明した。
【００８５】
上記のとおり、図８に示した形状の三角形によれば、三角形の各頂点が正しく対応づけされた場合と対応づけに誤りがある場合とで、一致度に大きな差異が生じる。この三角形の各辺を３次元セグメントとして対応づけを行っても、同様の効果を得られるはずであるから、マークＭの３次元セグメントを含む３次元情報全体を照合した場合には、三角形の各辺の３次元セグメントに関する一致度が全体の一致度に大きく影響を及ぼすようになる。
【００８６】
すなわち、ワークモデルＷＭの本来の３次元セグメントの中に誤った位置合わせを生じさせるような要素があっても、誤った対応づけが行われた場合には、三角形の３次元セグメントの一致度が大きく低下することによって３次元情報全体の一致度が引き下げられる。一方、三角形の３次元セグメントを含む各３次元セグメントが正しく位置合わせされた場合には、いずれの３次元セグメントでも一致度が高くなるから、３次元情報全体の一致度も高い値になる。よって、正しく対応づけられている場合の一致度を他の場合より大きくすることができ、位置合わせの精度を確保することができる。
【００８７】
なお、マークＭが示す三角形の形状は図８の例に限定されるものではなく、上記した効果を得ることができ、各辺の長さが異なるものであれば、辺の比率は問わない。また三角形に限らず、頂点が４点以上で向きを一意に特定できる多角形によるマークを作成してもよい。
【００８８】
つぎに、上記のマークＭを平坦面に貼付する理由について説明する。
マークＭを曲面に貼付すると、三角形の各辺も曲線の３次元セグメントとして認識される可能性が高くなる上、曲面の曲率によってマークＭの復元される形状が変動する。したがって、マークＭが曲面に取り付けられた場合には、その３次元情報を正しく復元できたとしても、復元された３次元情報は、本来の三角形の形状とは異なる形状を表す可能性が高いから、以下に述べるモデル三角形との照合による３次元情報の検証処理を安定して行うのが困難になる。
【００８９】
この実施例では、上記のマークＭを、復元された３次元情報の精度を確認する目的にも使用している。この実施例では、種々の方向からワークを計測するが、いずれの計測ポイントでも、精度良く３次元情報を復元できるとは限らない。ワークの向きによっては、計測用のパラメータの誤差が大きく反映されたり、誤認識されやすい特徴を多く含む画像が生成されるなどして、３次元情報の精度が劣化することがある。
【００９０】
また、この実施例では、毎回のステレオ計測におけるワークモデルＷＭの位置をユーザが定めているため、ユーザのミスにより各カメラの視野にマークＭが含まれない状態で計測が行われる場合がある。マークＭの情報を含まない３次元情報では、位置合わせの精度が悪くなる可能性があるから、事前に統合対象から除外する必要がある。
【００９１】
上記の点から、この実施例では、計測ポイント毎にマークＭの３次元情報が良好に復元されているかどうかを判定し、良好であると判定した３次元情報を統合処理に使用するようにしている。
【００９２】
具体的に判定処理では、図１０の（ａ）に示すように、実際の三角形に近い情報が復元されている場合に、この情報を含む３次元情報全体を良好であるとして統合の対象にする。他方、図１０（ｂ）のように辺が曲線化された場合や、図１０（ｃ）のように頂点が正しく復元できなかった場合など、三角形の再現性が悪い場合には、３次元情報全体も良好でないと判断して、統合の対象から除外する。
【００９３】
さらに、この実施例では、３次元情報が良好でないと判定した場合には、その３次元情報を破棄して、再度の計測を行ったり、計測ポイントを変更するなどの対応をとる。また、計測を所定回数やり直しても、良好な３次元情報を得られない場合には、ステレオカメラ１の位置調整や３次元キャリブレーションの再実行など、最初の設定処理からやり直す。このような処理により、統合に用いられる３次元情報の精度を確保するとともに、統合の際の座標変換に必要な位置ずれ量や回転角度が精度の悪い３次元情報により算出されるのを防止して、３次元モデルの精度を確保することができる。
【００９４】
３次元情報の精度を判定する処理は、具体的には、マークＭの幾何学的情報を表す３次元モデルデータ、具体的には、三角形の三辺の好ましい３次元セグメントを表すデータの組み合わせを用いて行われる（以下、このモデルデータを「モデル三角形」という。）。すなわち、各計測ポイントの３次元情報をモデル三角形により照合して、モデル三角形に対する一致度を求める。この照合も、３次元モデルによる照合の場合と同様の方法、すなわちモデル三角形の各特徴点を３次元情報中の各特徴点に総当たり式に対応づけて、モデル三角形に対する一致度が最も高いときの対応づけを確定する方法により行われる。
【００９５】
上記の照合を行った後は、算出された一致度を所定のしきい値と比較し、一致度がしきい値を上回る場合には３次元情報を良好と判定し、一致度がしきい値以下であれば、該当する３次元情報を削除する。
【００９６】
このように、ワークモデルＷＭに三角形のマークＭを付けることによって、毎時の計測により復元された３次元情報が良好であることを確認でき、また３次元情報間の照合処理の精度を確保することによって、位置合わせのための座標変換処理の精度を高めることができる。よって、これらの処理を経た３次元情報を統合することによって、精度の良い３次元情報を作成することができる。
【００９７】
３−２）  ３次元モデルの作成手順の具体例
図５に示した方法により、各種計測方向からの認識処理に使用可能な３次元モデルを作成するには、できるだけ多くの計測ポイントの３次元情報を選択して統合する必要があるように思われる。しかし、統合される３次元情報の数が増えると、３次元モデルの容量が増大し、この３次元モデルを用いた認識処理に支障が生じるおそれがある。
【００９８】
この点に鑑み、この実施例では、計測ポイント毎に復元した複数の３次元情報のうちの一部（２以上）を統合して仮の３次元モデルを作成した後に、この仮の３次元モデルに不足する情報を追加する方法によって、３次元モデルの容量を抑えながらその精度を確保できるようにしている。
【００９９】
図１１は、モデル作成処理の具体例を示す。以下、この図を参照して説明すると、この実施例では、前出の１２個の計測ポイントのうち計測ポイント［１２］［３］［６］［９］の４箇所での計測により復元された３次元情報を選択し、これらを位置合わせした後に統合して仮の３次元モデルを作成している。この場合も、先の図５の例と同様に、計測ポイント［１２］の３次元情報を基準に、他の３つの３次元情報を基準の３次元情報に整合するように座標変換し、変換後の各３次元情報と基準の３次元情報とを統合し、統合後の３次元情報からマークＭに対応する情報を消去したものを、仮の３次元モデルとする。
【０１００】
つぎに、統合処理に使用されなかった３次元情報、すなわち［１］［２］［４］［５］［７］［８］［１０］［１１］の各計測ポイントの３次元情報を対象に、仮の３次元モデルを用いた認識処理を実行する。そして、認識された位置ずれ量および回転角度が正しいか否かを判定し、正しくないと判定された３次元情報を３次元モデルに位置合わせして追加する。図１１では、計測ポイント［１０］の３次元情報に対する認識処理が正しく行われなかったものとして、この３次元情報を３次元モデルに位置合わせして追加する例を示している。
【０１０１】
なお、統合処理に使用されなかった３次元情報を認識する場合には、先のモデル三角形を用いた照合の結果に基づき、これらの３次元情報からマークの情報を削除する。実際の認識対象のワークＷにはマークＭは付けられていないので、このようにすることで、実際の認識処理の確度をチェックすることができる。また、仮の３次元モデルに３次元情報を追加する場合にも、マークＭの情報は追加されない。
【０１０２】
つぎに、上記の仮の３次元モデルを作成する際に、計測ポイント［３］［６］［９］の各３次元情報を基準の３次元情報に位置合わせする処理では、先に説明したように、計測ポイント毎に求めた位置ずれ量および回転角度から基準の３次元情報（計測ポイント「１２」の情報）に対する位置ずれ量および回転角度を特定し、これらを用いた座標変換処理を行う。
【０１０３】
仮の３次元モデルを用いた認識処理の結果の正否の判定や、追加対象の３次元情報を３次元モデルに位置合わせするための座標変換も、上記と同様の方法で３次元モデルに対する処理対象の情報の位置ずれ量および回転角度（具体的には３次元モデル中の基準の３次元情報に対応するもの）を特定することによって可能になる。
計測ポイント［１０］の３次元情報を例に説明すると、計測ポイント［１０］と［１１］との間、および計測ポイント［１１］と「１２」との間でそれぞれ認識された位置ずれ量および回転角度を累計することによって、この３次元情報の仮の３次元モデルに対する位置ずれ量および回転角度を特定することができる。ここで、特定された位置ずれ量および回転角度を３次元モデルとの直接照合により求めた位置ずれ量および回転角度と比較し、両者の間に許容値を超える差異があれば、３次元モデルによる認識処理の結果は正しくないと判定する。また、上記の計測ポイント毎の照合結果から特定した位置ずれ量および回転角度を用いて、計測ポイント［１０］の３次元情報を座標変換することにより、３次元モデルへの位置合わせを行う。
【０１０４】
この実施例では、毎回の計測方向を任意に設定するが、図示の各計測ポイントによれば、直前の計測方向とは極端に異なる方向が設定されることはないので、いずれの計測ポイントでも、直前の計測による３次元情報に共通する特徴が多く含まれる３次元情報が復元される可能性が高い。
【０１０５】
したがって、各計測ポイントでは、一段階前の計測ポイントの３次元情報に対する位置ずれ量および回転角度を精度良く求めることができるから、この精度の良い位置ずれ量や回転角度に基づいて、仮の３次元モデルによる認識結果が正しいか否かを容易に判定することが可能になる。また、仮の３次元モデルによる直接照合で位置ずれ量および回転角度を正しく認識できなかった３次元情報についても同様に、この３次元情報に対応する計測と３次元モデル中の基準の３次元情報に対応する計測との間に実施された各計測に関連する照合結果に基づき、３次元モデルに対する位置ずれ量および回転角度を特定し、これらをパラメータとして、仮の３次元モデルに位置合わせするための座標変換を精度良く行うことができる。
【０１０６】
つぎに図１２は、ステレオ計測を行ってから３次元モデルを登録するまでの処理の手順をフローチャートにまとめたものである。以下、このフローチャートの流れに沿って、この実施例の３次元モデルの作成手順を説明する。
【０１０７】
この実施例では、計測時のワークモデルＷＭの位置決めをユーザの裁量にゆだねることから、計測処理の間は、各カメラ１１〜１３からのプレビュー画像を表示部２７に表示するようにしている。ユーザが、この表示画面で各カメラ１１〜１３によりワークモデルＷＭやマークＭが正しく撮像されているかどうかを確認して、計測指示の操作を行うと、図１２中の「ステレオ計測」のステップ（ＳＴ１０１）が実行される。このステップＳＴ１０１では、具体的にはステレオ撮像から３次元情報の復元までの処理（図３のＳＴ１〜６と同様のもの）が実行される。
【０１０８】
つぎに、復元された３次元情報をモデル三角形により照合し、３次元情報の精度を判定する（ＳＴ１０２）。ここでの判定は、一致度に基づく自動判定としてもよいが、照合結果を表示して、その表示画面でユーザの判定を受け付ける方法により行ってもよい。
【０１０９】
ここで、３次元情報が良好でないと判定された場合（ＳＴ１０３が「ＮＯ」）には、復元された３次元情報を消去し、表示部２７に、エラーメッセージなどを表示する。これに応じて、ユーザは、ワークモデルＷＭの位置を変更するなどして、計測指示をやり直すことになる。
【０１１０】
復元された３次元情報が良好であると判定された場合（ＳＴ１０３が「ＹＥＳ」）には、さらにこの３次元情報の一段階前の３次元情報に対する位置ずれ量および回転角度を認識する（ＳＴ１０５）。さらに、回転角度については、認識した値を毎回加算する方法によって、最初に復元された３次元情報に対する回転角度を算出する（ＳＴ１０６）。ただし、一番最初に３次元情報を復元した場合（ＳＴ１０４が「ＹＥＳ」）には、上記ＳＴ１０５，１０６の各ステップはスキップされる。
【０１１１】
つぎに、この実施例では、最初の３次元情報に対する回転角度が３６０度を超えたことをもって、ステレオカメラに対してワークモデルＷＭが１回転したと判断する（ＳＴ１０７）。またワークが１回転したと判断するまでは、ＳＴ１０１〜１０７の処理を繰り返す。
【０１１２】
最初の３次元情報に対してワークモデルＷＭが１回転したと判定すると、ＳＴ１０１〜１０７のループを終了し、各３次元情報を表す画像を表示するなどして、統合対象の３次元情報の選択を受け付ける（ＳＴ１０８）。そして、選択された３次元情報の１つを基準として、この基準の３次元情報に他の３次元情報を位置合わせし（ＳＴ１０９）、位置合わせ後の各３次元情報を統合する（ＳＴ１１０）。
【０１１３】
なお、統合対象の３次元情報を選択する処理は、ユーザによらずに自動的に行うようにしてもよい。たとえば、毎回の計測に伴うＳＴ１０６で認識された回転角度に基づき、ワークモデルＷＭが一定角度以上回転したときの計測で復元された３次元情報を、統合対象として選択することができる。
【０１１４】
統合処理が終了すると、統合された３次元情報からマークＭに対応する情報を削除し（ＳＴ１１１）、削除後の３次元情報を３次元モデルとして仮登録する（ＳＴ１１２）。なお、マークＭの情報を削除するのに代えて、照合対象とならないように無効化するにとどめてもよい。
【０１１５】
この後は、仮登録された３次元モデルにより統合対象として選択されなかった３次元情報を順に照合して、３次元モデルに対する位置ずれ量および回転角度を算出し、これらの算出値を、先に計測ポイント毎に求めた位置ずれ量および回転角度から導出した値と比較することにより、正しい認識が行われた否かを判定する（ＳＴ１１３，１１４）。ここで、照合対象の３次元情報を正しく認識できなかったと判定した場合（ＳＴ１１４が「ＮＯ」）には、照合に用いられた３次元情報を３次元モデルに位置合わせして、３次元モデルに追加する（ＳＴ１１５）。一方、照合対象の３次元情報を正しく認識できた場合（ＳＴ１１４が「ＹＥＳ」）には、この３次元情報を３次元モデルに追加せずに、つぎに進む。
【０１１６】
このように、統合から除外された３次元情報を順に対象として、その３次元情報が統合された情報により正しく認識できるかどうかを判定し、認識に誤りが生じたと判定された３次元情報を３次元モデルに追加する。このような処理により、仮登録された３次元モデルにそのモデルでは認識できなかった３次元情報が追加されるので、以後の３次元モデルで同様の誤認識が生じることはなくなり、３次元モデルの精度を向上することができる。一方で、正しく認識できた３次元情報が３次元モデルに追加されることはないので、３次元モデルの容量が増えるのを防止できる。
【０１１７】
この後は、さらに３次元モデルの精度を高めるために、ノイズを除去する処理を実行する（ＳＴ１１７）。たとえば、３次元モデルを構成する３次元セグメントの中で、長さが所定のしきい値以下のものや、３次元座標のサンプル点数が所定数以下のものを削除する。またＸＺ平面上の３次元座標の分布状態から影に相当するものを検出し、これを削除する。
【０１１８】
このように、短い３次元セグメント、サンプル点数の少ない３次元セグメント、影を表す３次元セグメントなどを削除することにより、照合処理において誤った対応づけがされるのを防止できる。また３次元モデルの容量が削減されるので、照合処理の時間を短縮することができる。
【０１１９】
ノイズの除去が終了すると、このノイズ除去後の３次元モデルを本登録し（ＳＴ１１８）、処理を終了する。
【０１２０】
上記のように、この実施例では、ワークモデルＷＭに対する計測方向を少しずつ変更しながら、毎回、三角形のマークＭの情報を含む３次元情報を照合することによって、直前に得た３次元情報に対する位置ずれ量や回転角度を精度良く求めるので、統合される３次元情報間の位置合わせの精度を確保することができる。また、ユーザが３次元モデルの精度を高めようとして、毎回の計測方向を非常に細かく変更してステレオ計測の指示を出したとしても、計測により復元された３次元情報が誤認識されない限り、３次元モデルの情報が増えることはない。よって、ユーザにより設定された計測方向のすべてに対応でき、かつ容量が抑えられた３次元モデルを作成することができる。
【０１２１】
また、上記の実施例によれば、各カメラ１１〜１３の視野に同一のマークＭが含まれる状態にしてステレオ撮像を行う必要があるが、ワークモデルＷＭの回転角度を厳密に調整する必要がないから、回転テーブルなどの設備が不要になる。よって、ワークモデルＷＭを適当な角度ずつ動かすことで精度の良い３次元モデルを作成することができるから、ユーザの負担を軽くすることができる。
【０１２２】
なお、ワークモデルＷＭの３次元情報に、対応づけの誤りを生じさせる要素が多く含まれない場合には、マークＭを付けないワークモデルＷＭを用いて、上記図１２の処理を実行しても、３次元モデルの精度を確保することができる。
【０１２３】
つぎに、上記の実施例では、３次元モデルによる認識処理の正否を自動判定したが、これに限らず、図１３に示すような確認画面を表示して、ユーザの判定を受け付けるようにしてもよい。
【０１２４】
この画面には、３次元情報を画像化して表示するためのウィンドウ３０や、「モデルを追加」「次へ」の２つの選択ボタン３１，３２などが設けられる。ウィンドウ３０内には、計測により復元された３次元情報を表す輪郭線および３次元モデルを表す輪郭線が、それぞれ異なる色彩（図では、線の太さに代えて示す。）により表示されている。なお、復元された３次元情報を表す輪郭線からは、マークＭに対応するものは削除されている。
【０１２５】
３次元モデルを表す輪郭線（太い方の線）は、現時点での仮の３次元モデルを、３次元情報との照合により認識した位置ずれ量および回転角度に応じて座標変換したイメージを表すものである。さらに、このウィンドウ３０内には、上記の３次元モデルに対する３次元情報の一致度も表示されている。
【０１２６】
ユーザは上記の輪郭線の関係や一致度の表示から、表示中の３次元情報が正しく認識されているかどうかを判断し、正しく認識されていないと判断した場合には、「モデルを追加」のボタン３１を操作する。この操作が行われると、表示中の３次元情報を仮の３次元モデルに位置合わせするための座標変換が行われ、変換後の３次元情報を仮の３次元モデルに追加する処理が行われる。
【０１２７】
一方、表示中の３次元情報が正しく認識されていると判断した場合には、ユーザは「次へ」のボタン３２を操作する。この操作が行われた場合には、３次元モデルの更新処理は行われず、次の３次元情報の確認画面が表示される。
【０１２８】
上記のように、仮の３次元モデルによる認識結果の正否をユーザが目視で判断する方法によれば、算出された一致度が若干悪い場合でも、ロボット４の制御に支障のない認識結果が得られている場合には、正しい認識が行われていると判断するなど、柔軟な対応をとることができる。よって、３次元モデルの容量をより少なくすることができる。
【０１２９】
また上記の確認画面は、３次元モデルに追加する３次元情報を確認する用途に限らず、毎回実施されるステレオ計測で復元された３次元情報と一段階前の３次元情報との照合処理（図１２のＳＴ１０５）の精度を確認する目的に利用することもできる。たとえば、２回目以降のステレオ計測を実行して、計測により復元された３次元情報を一段階前の３次元情報と照合する都度、その照合結果を表す確認画面を表示して、ユーザに照合結果の適否に関する判定入力を行わせる。そして、一段階前の３次元情報に対する位置ずれ量や回転角度の認識結果が正しいとする判定結果が入力されたことをもって、次のステレオ計測に進み、認識結果が正しくないとする判定結果が入力された場合には、計測結果を破棄する。また、ユーザは、認識結果が正しくないと判定した場合には、その判定結果を入力した後に、計測方向を一段階前の計測方向に近づく方に変更して、ステレオ計測をやり直す。このようにすれば、毎回のステレオ計測により復元された３次元情報間の対応関係の精度が保証されるから、仮の３次元モデルに追加対象の３次元情報を位置合わせする処理の精度も高めることができる。
【０１３０】
３−３）  ３次元モデルの作成に関する他の方法
上記の実施例では、全てのステレオ計測を実行してから３次元モデルを作成したが、これに限らず、毎回のステレオ計測と並行して３次元モデルの作成を進めることもできる。
【０１３１】
以下、具体的に説明する。この場合も、毎回、ワークモデルＷＭをＹ１軸に対して任意の角度で回転させて計測を実行するが、１回目の計測により復元された３次元情報を仮の３次元モデルとして初期設定する。さらにその後の計測では、その計測により復元された３次元情報の一段階前の３次元情報に対する位置ずれ量および回転角度を求めるとともに、仮の３次元モデルによる認識処理を実行し、その認識結果が正しいか否かを判定する。ここで認識処理の結果が正しくないと判定した場合には、処理中の３次元情報を仮の３次元モデルに整合するように座標変換して、変換後の３次元情報を仮のモデルに追加する。
【０１３２】
この方法でも、正しく認識できなかった３次元情報について、毎回の計測でそれぞれ求めた一段階前の３次元情報に対する位置ずれ量および回転角度に基づき座標変換処理を実行し、変換後の３次元情報を仮の３次元モデルに追加する。したがって、毎回の計測において一段階前の３次元情報に含まれていた情報が相当量重複して復元されるように、計測方向の変動幅を調整することによって、一段階前の３次元情報に対する照合の精度を確保すれば、追加対象の３次元情報を仮の３次元モデルに精度良く位置合わせすることができる。また認識結果の判定は、先の実施例と同様に、計測毎に求めた位置ずれ量および回転角度を用いて自動的に行っても良く、または図１３と同様の構成の確認用画面を用いて、ユーザからの判定入力を受け付けてもよい。
【０１３３】
また、上記の実施例と先の３−２）に示した実施例とを折衷させた方法をとることもできる。たとえば、まず、適当な回数のステレオ計測を、毎時の計測方向を変更して実行し、これらにより復元された３次元情報から仮の３次元モデルを作成する。以後は、この仮の３次元モデルに対応していない計測方向を設定してステレオ計測を行う処理を、複数回繰り返すとともに、計測の都度、復元された３次元情報を仮の３次元モデルにより認識する。そして、認識処理の結果が正しくないと判定された３次元情報を、仮の３次元モデルに位置合わせして追加し、全ての計測が終了したときの３次元モデルを本登録する。
【０１３４】
上記の方法をとる場合にも、計測の都度、その計測により復元された３次元情報を一段階前に復元された３次元情報と照合し、双方の位置ずれ量および回転角度を算出し、これらの算出結果を用いて、正しく認識できなかった３次元情報に対する座標変換処理を実行し、変換後の３次元情報を３次元モデルに追加する。
ただし、この方法では、仮の３次元モデルの作成後の最初の計測においては、仮の３次元モデルにより正しく認識することができる３次元情報を復元する必要がある（たとえば、仮の３次元モデルに統合された複数の３次元情報のいずれかに対応する計測方向から所定の角度範囲以内に、計測方向を設定する。または、仮の３次元モデルの作成後の最初の計測に対する認識処理の結果の正否をユーザが確認してから以後の処理をすすめる。）。最初の計測により復元された３次元情報と仮の３次元モデルとの対応関係を特定できなければ、以後の計測により復元された３次元情報と仮の３次元モデルとの対応関係を特定することも不可能だからである。また、以後の計測においては、一段階前の３次元情報に対する照合の精度を確保できるように、計測方向の変動幅を考慮する必要がある。
【０１３５】
続いて、演算処理をより簡単にした実施例を説明する。
この実施例も、１回目の３次元計測により復元された３次元情報を仮の３次元モデルに初期設定した後に、以後の計測の進行と並行して、仮の３次元モデルに情報を追加するものである。ただし、この実施例では、マークＭを付けないワークモデルＷＭを使用し、また計測ポイント毎に一段階前の３次元情報と照合して位置ずれ量および回転角度を求める処理も行わない。このため、この実施例では、仮の３次元モデルによる認識結果の正否を自動判定せずに、ユーザに目視で認識結果を判断させて、その判断結果の入力を受け付けるようにしている。
【０１３６】
認識結果の確認・判定は、図１３に示したのと同様の確認画面により行われる。具体的には、ユーザが表示中の３次元情報が正しく認識されていないと判断して、「モデルを追加」のボタン３１を操作すると、表示画面は、後記する３次元モデルの更新処理を行うためのガイダンス画面に変更される。ユーザがこの画面の指示に従って計測を進めることにより、３次元モデルは新たな情報が追加されたものに更新される。
【０１３７】
一方、表示中の３次元情報が正しく認識されていると判断した場合には、ユーザは「次へ」のボタン３２を操作する。この操作が行われた場合には、３次元モデルの更新処理は行われず、次の計測に進むことになる。
【０１３８】
さらにこの場合の確認画面には、復元された３次元情報が良好でないと判断した場合に、計測のやり直しを指示する選択ボタンも設けられる。このボタンが操作された場合には、復元された３次元情報を破棄して、計測をやり直すことになる。
【０１３９】
図１４は、上記の方法により３次元モデルの作成・登録を行う場合のフローチャートである。以下、このフローチャートのステップ符号を参照しながら、この実施例による３次元モデルの作成方法を詳細に説明する。
【０１４０】
このフローチャートによる処理でも、ワークモデルＷＭをＹ１軸に対して任意の角度で回転させて３次元計測を行う処理を、ワークモデルＷＭがほぼ一回転するまで実行することを前提とする。また３次元モデルの更新処理を実行するとき以外は、ワークモデルＷＭの回転方向は一定であるものとする（以下、この回転方向を「正の回転方向」という。）。
【０１４１】
まず最初のステレオ計測を実行する（ＳＴ２０１）。このステップＳＴ２０１も、図３のＳＴ１〜６に対応する処理を実行するものである。つぎに、この１回目の計測により復元された３次元情報を３次元モデルとして仮登録する（ＳＴ２０２）。
【０１４２】
この後は、ワークモデルＷＭを任意の角度回転させて次のステレオ計測を実行する（ＳＴ２０３）。そして、このステレオ計測により復元された３次元情報を仮の３次元モデルにより照合し、その照合による認識結果を表示する（ＳＴ２０４，２０５）。
【０１４３】
ユーザは、この表示画面により、３次元情報が正しく復元されているかや、３次元モデルによる認識が正しく行われているかを確認する。ここでユーザがいずれの処理も正しく行われていると判断して、その判断結果を入力した場合には、認識された回転角度からワークモデルＷＭが１回転したかどうかを判定する（ＳＴ２０８）。ここで１回転していないと判定した場合（ＳＴ２０８が「ＹＥＳ」）には、ＳＴ２０３に戻る。
この場合、次のステレオ計測は、ワークモデルＷＭを正の回転方向にさらに回転させて実行されることになる。
【０１４４】
一方、ユーザが３次元情報が正しく復元されていないと判断して、その判断結果を入力した場合（ＳＴ２０７が「ＹＥＳ」）には、１回転したかどうかの確認をせずにＳＴ２０３に戻る。この場合には、直前のステレオ計測により復元された３次元情報を破棄して、次のステレオ計測に入る。
【０１４５】
つぎに、ユーザが３次元情報の認識結果が正しくないと判断して、その判断結果を入力した場合（ＳＴ２０６が「ＹＥＳ」）には、モデル更新用のステレオ計測（ＳＴ２１１）へと移行する。このとき、表示部２７の表示は、前記したガイダンス画面に変更されて、ワークモデルＷＭを回転方向を逆にして（負の方向にして）回転させて、１つ前の計測状態に近づけるようにする旨が指示される。
【０１４６】
モデル更新用のステレオ計測が行われると、この計測により復元された３次元情報を３次元モデルと照合し、その照合による認識結果を表示する（ＳＴ２１２，２１３）。この場合の表示画面でも、先の図１３の例と同様に、３次元情報と３次元モデルとの認識された関係が表示される。また選択ボタンとして、表示された３次元情報を３次元モデルに追加することを選択するボタンと、追加しないことを選択するボタンとが設けられる。
【０１４７】
ここでユーザが「追加しない」選択をした場合（ＳＴ２１４が「ＮＯ」）には、再びモデル更新用のステレオ計測（ＳＴ２１１）を実行し、さらにこれに伴い、ＳＴ２１２，２１３のステップを実行する。なお、この場合のステレオ計測では、ワークモデルＷＭを負の方向に回転させる場合に限らず、正の方向に回転させる場合もある（たとえば、前回の計測でのワークモデルＷＭの負の方向への回転が大きすぎた場合などである。）。
【０１４８】
ユーザが表示された３次元情報を３次元モデルに追加することを選択した場合（ＳＴ２１４が「ＹＥＳ」）には、モデル更新用のステレオ計測により復元された３次元情報を、３次元モデルとの照合により認識した位置ずれ量および回転角度に基づき座標変換する（ＳＴ２１５）。そして変換後の３次元情報を３次元モデルに追加する（ＳＴ２１６）。
【０１４９】
この処理により、３次元モデルが更新されると、その更新が行われたことをユーザに報知する処理を実行する（ＳＴ２１７）。この段階の画面では、３次元モデルが更新されたことのほか、ワークモデルＷＭの回転方向を正方向に戻して、先に正しい認識がされなかったときの計測方向付近を再び設定することを促すガイダンスが表示される。
【０１５０】
この後は、ＳＴ２０３のステレオ計測に戻り、さらにこの計測処理に伴いＳＴ２０４，２０５を実行する。
ユーザが表示された指示に従ってワークＷＭの毎回の姿勢を変更していれば、前回認識を誤ったときの３次元情報に含まれる特徴に関する３次元情報が３次元モデルに追加されて、認識を誤った計測方向に対する認識精度が向上しているから、この段階では、正しい認識結果が得られる可能性が高いと考えられる。また、仮に、再度、認識結果が正しくないという判断がされたとしても、再びワークモデルＷＭを負の方向に回転させて、モデルの更新を行うことにより、認識精度をより向上することができる。
【０１５１】
以下同様に、ワークモデルＷＭを任意の角度で回転させてステレオ計測を行う処理を繰り返し、毎回の計測毎に、復元された３次元情報を３次元モデルと照合し、その照合による認識結果の正否をユーザに判断させる。そして、ユーザが認識処理の結果が正しくないと判断した場合には、計測方向を１つ前の正しい認識が行われたときの方向に近づけて計測を行い、正しい認識が行われたと判断された３次元情報を当該認識結果に基づき座標変換し、３次元モデルに追加する。
【０１５２】
正しいと判断された認識結果からワークモデルＷＭが１回転したと判断すると（ＳＴ２０８が「ＹＥＳ」）、計測に関する一連の処理を終了する。またユーザにも、表示部２７に所定のメッセージを表示するなどの方法により計測が終了した旨を報知する。
この後は、３次元モデルのノイズを除去する処理（図１２のＳＴ１１７と同様の処理である。）を実行し（ＳＴ２０９）、ノイズ除去後の３次元モデルを本登録する（ＳＴ２１０）。
【０１５３】
上記の方法によれば、ユーザが正しい手順に従ってワークモデルＷＭを回転させ、選択操作を行えば、ワークモデルＷＭの回転が終了するまでに、適切な３次元モデルを作成することができる。また、２回目以降の計測を行う毎に位置ずれ量や回転角度を求める必要がなくなるから、演算を簡易にすることができる。
【０１５４】
３−４）  ３次元モデルの作成方法に関するその他の例
上記では、ワークモデルＷＭに対する計測方向をユーザが任意の角度で変更する方法により３次元モデルを作成する実施例を説明したが、回転テーブルなどを用いてワークモデルＷＭを規則正しく回転させる場合にも、上記の各例を応用して精度が良く、容量を抑えた３次元モデルを作成することができる。
【０１５５】
回転テーブルなどにより計測方向を一定角度ずつ変更してステレオ計測を行う場合には、計測を行う毎に一段階前の３次元情報との照合を行う方法をとらなくとも、復元された３次元情報間の位置関係を容易に特定することができる。したがって、３次元モデルの作成にかかる演算をより簡単にすることができる。
【０１５６】
つぎに、図１２，１４に示した処理では、ワーク座標系の一軸（Ｙ１軸）に対してワークモデルＷＭが一回転する間、ステレオ計測を続けるようにしたが、これに限らず、ワークの想定される向きの変化の範囲が３６０度より小さい場合には、その想定される範囲でワークモデルＷＭが回転したときに計測を終了してもよい。
また計測の終了時期を回転角度により自動判別せずに、認識した回転角度を表示して、ユーザに終了時期を判断させてもよい。
【０１５７】
また、ワークモデルＷＭの回転軸は一軸に限らず、図１５に示すように、複数の軸に対してワークモデルＷＭを回転させてもよい。
【０１５８】
図１５は、２個のマークＭ１，Ｍ２が付されたワークモデルＷＭを用いて３次元モデルを作成する場合の計測処理の例を示す。図１５（１）に示すように、一方のマークＭ１は、ワーク座標系のＹ１軸がＹ軸に平行になるようにワークモデルＷＭを配置したときに上面になる位置に取り付けられ、他方のマークＭ２は、ワークモデルＷＭの側面に取り付けられる。
【０１５９】
この実施例でも、先の図４に示した例と同様に、Ｙ１軸に対してワークモデルＷＭを回転させながら複数回の計測を行う（図１５（１））。一連の計測が終了すると、回転軸をＹ１軸からＸ１軸に変更して、図１５（２）に示すように、ワークモデルＷＭを９０度回転させて計測を行う。さらに図１５（３）に示すように、ワークモデルＷＭを再度９０度回転させて計測を行う。
【０１６０】
Ｙ１軸に対してワークモデルＷＭを回転させて計測を行う場合には、マークＭ１が常に各カメラ１１〜１３の視野に含まれるようにし、Ｘ１軸に対してワークモデルＷＭを回転させて計測を行う場合には、マークＭ２が常に各カメラ１１〜１３の視野に含まれるようにする。さらに、少なくともＹ１軸に対する回転からＸ１軸に対する回転に移行する際に、２つのマークＭ１，Ｍ２がともにカメラ１１〜１３の視野に含まれる状態を設定して計測を行う。
【０１６１】
なお、ワークモデルＷＭをＸ１軸に対して回転する場合にも、９０度回転させる毎に、その状態下でＸＺ平面に直交する軸（図１５（２）の場合にはＺ１軸、図１５（３）の場合にはＹ１軸）に対してワークモデルＷＭを回転させることにより、ワークモデルＷＭの姿勢を複数とおりに変更し、変更の都度計測を行ってもよい。
【０１６２】
このように、ワークモデルＷＭに対する計測方向のバリエーションを多くした場合にも、図１２のフローチャートに準じた処理を実行することができる。この場合、Ｙ１軸に対してワークモデルＷＭを回転させて計測を行っている間は、マークＭ１の存在によって照合の精度を確保することができ、Ｘ１軸に対してワークモデルＷＭを回転させて計測を行っている間は、マークＭ２の存在によって照合の精度を確保することができる。よって、作成される３次元モデルの精度も確保される。
【０１６３】
また図１５の例のようにワークモデルＷＭの軸回転の方向を管理せずに、より自由にステレオカメラ１に対するワークモデルＷＭの姿勢を変更する場合には、図１４のフローチャートに準じた処理により、毎回の計測結果をユーザが確認しながら、仮の３次元モデルに必要な３次元情報を追加することで、精度が良く、容量が抑えられた３次元モデルを作成することができる。
【図面の簡単な説明】
【０１６４】
【図１】３次元認識処理を適用したピッキングシステムの概略構成を示す図である。
【図２】物体認識装置のブロック図である。
【図３】３次元認識処理の手順を示すフローチャートである。
【図４】ワークモデルの計測方法を示す図である。
【図５】３次元モデルの作成処理の概略手順を示す図である。
【図６】３次元情報の対応づけに誤りが生じる原因を説明する図である。
【図７】３次元情報の対応づけに誤りが生じる他の原因を説明する図である。
【図８】マークが表す三角形の特徴を表す図である。
【図９】三角形の各頂点の複数とおりの対応づけ状態を示す図、および一致度を表すグラフである。
【図１０】統合対象の３次元情報の選択に用いられるマークの３次元情報の例を示す図である。
【図１１】３次元モデルの作成処理の具体的方法を模式化して示す図である。
【図１２】３次元モデルの作成・登録に関する手順を示すフローチャートである。
【図１３】３次元モデルによる認識結果の確認画面の例を示す図である。
【図１４】３次元モデルの作成・登録に関する手順の他の例を示すフローチャートである。
【図１５】２つのマークを付けたワークモデルによる計測方法の例を示す図である。
【符号の説明】
【０１６５】
１    ステレオカメラ
２    物体認識装置
１１，１２，１３  カメラ
２４  ＣＰＵ
２５  メモリ
Ｗ    ワーク
ＷＭ  ワークモデル
【図１】
2010113398.tif 000003
【図２】
2010113398.tif 000004
【図３】
2010113398.tif 000005
【図４】
2010113398.tif 000006
【図５】
2010113398.tif 000007
【図６】
2010113398.tif 000008
【図７】
2010113398.tif 000009
【図８】
2010113398.tif 000010
【図９】
2010113398.tif 000011
【図１０】
2010113398.tif 000012
【図１１】
2010113398.tif 000013
【図１２】
2010113398.tif 000014
【図１３】
2010113398.tif 000015
【図１４】
2010113398.tif 000016
【図１５】
2010113398.tif 000017