3次元モデルの作成方法および物体認識装置
【課題】容量をできるだけ少なくして精度の良い3次元モデルを作成する。
【解決手段】3次元認識の対象とするワークの実物モデルWMに対し、ステレオカメラによる3次元計測を複数の方向から実行する。つぎに、各計測により復元された3次元情報のうちの所定数([12][3][6][9]の各計測ポイントの3次元情報)を位置合わせして統合することにより、仮の3次元モデルを作成する。さらに、統合されなかった3次元情報を対象に、仮の3次元モデルによる認識処理を実行し、その認識結果が正しくないと判定された3次元情報(計測ポイント[10]の情報)を仮の3次元モデルに位置合わせしてから統合する。最終的に、正しく認識されなかった3次元情報のすべてが追加された3次元モデルを本登録する。
【解決手段】3次元認識の対象とするワークの実物モデルWMに対し、ステレオカメラによる3次元計測を複数の方向から実行する。つぎに、各計測により復元された3次元情報のうちの所定数([12][3][6][9]の各計測ポイントの3次元情報)を位置合わせして統合することにより、仮の3次元モデルを作成する。さらに、統合されなかった3次元情報を対象に、仮の3次元モデルによる認識処理を実行し、その認識結果が正しくないと判定された3次元情報(計測ポイント[10]の情報)を仮の3次元モデルに位置合わせしてから統合する。最終的に、正しく認識されなかった3次元情報のすべてが追加された3次元モデルを本登録する。
【発明の詳細な説明】
【技術分野】
【0001】
この発明は、所定の形状を具備する物体を対象として、複数のカメラを用いたステレオ計測により復元された3次元情報を用いて物体の位置および姿勢を認識する処理を行うために、当該物体の3次元モデルを作成する方法に関する。さらにこの発明は、上記の3次元モデルを作成して登録した後に、そのモデルを用いて物体の認識処理を行う装置に関する。
【背景技術】
【0002】
ステレオカメラを用いた3次元認識処理により物体の位置や姿勢を認識するには、認識対象の物体の種々の面の3次元情報を含む3次元モデルを作成する必要がある。
上記の点を課題とした発明を開示したものとして、下記の特許文献1がある。この特許文献1には、認識対象物の実物モデルに対し、複数の方向からのステレオ計測を行って、各計測により復元した3次元情報を位置合わせして統合することにより、物体全体の幾何モデルを作成することが、記載されている。
【0003】
また、特許文献1には、「セグメントベーストステレオ」と呼ばれる手法により、ステレオ画像に表されたエッジから実物モデルの輪郭線の3次元情報を復元することが記載されている。特許文献1によれば、「セグメントベーストステレオ」とは、ステレオ画像中のエッジを「セグメント」と呼ばれる単位に分割し、セグメント単位でステレオ対応検索を行って、輪郭線の3次元情報を復元する処理をいう。
【0004】
さらに特許文献1には、3次元情報の位置合わせに関して、回転テーブルを用いて実物モデルを定められた角度まで回転させて、その回転角度に基づく座標変換を行う方法が記載されている。また、未知の観測方向からの3次元情報を位置合わせする方法として、作成中のモデルと新たに復元された3次元輪郭線とを照合して複数とおりの位置合わせの候補を求め、これらの中で一致度が最も高くなる場合の位置合わせを特定することが記載されている。
【0005】
さらに、下記の非特許文献1には、2次元のセグメントを画像間で対応づけし、3次元情報を復元する手法が詳しく記載されている。また、非特許文献2には、復元された3次元情報をあらかじめ登録された3次元モデルと照合して、物体の位置や姿勢を認識する手法が開示されている。
【0006】
【特許文献1】特許2961264号公報(段落0013,0017,0028〜0036参照。)
【非特許文献1】「セグメントベーストステレオにおける連結性に基づく対応評価」 情報処理学会論文誌 Vol.40,No.8,3219−3229ページ,1999年8月発行
【非特許文献2】「ステレオビジョンによる3次元物体の認識」 電子情報通信学会論文誌 D−II,vol.J80−D−II,No.5,1105−1112ページ、1997年5月発行
【発明の開示】
【発明が解決しようとする課題】
【0007】
特許文献1に記載された発明を利用して高精度の3次元モデルを作成するには、実物モデルに対する3次元計測を多数の方向から行って、各計測結果を統合するのが良いように思われる。しかし、このような方法では、3次元モデルの容量が増えて、実際に認識処理に用いた場合の処理時間が長くなるから、実用に適さないモデルになる可能性がある。
【0008】
また、特許文献1には、作成された3次元モデルにより実際の認識処理物が正しく認識されるかどうかを確認する点についても、何も記載されていない。この点については、一般的には、作成した3次元モデルを用いて試験的な認識処理を行い、認識の精度が悪い場合には、3次元モデルを作成し直すものと思われるが、このような方法では、効率が悪く、ユーザに大きな負担をかける可能性がある。
【0009】
この発明は、上記の問題点に着目し、容量をできるだけ少なくして精度の良い3次元モデルを作成すること、およびこの3次元モデルを短い時間で作成できるようにすることを課題とする。
【課題を解決するための手段】
【0010】
この発明による3次元モデルの作成方法は、ステレオカメラを用いた3次元計測を認識対象物の実物モデルに対してそれぞれ異なる方向から実施することにより復元された複数の3次元情報を、位置を合わせて統合することによって、認識対象物の3次元モデルを作成する。
【0011】
この方法では、実物モデルに対する少なくとも1回の3次元計測により復元された3次元情報を用いて仮の3次元モデルを作成し、実物モデルに対し仮の3次元モデルの作成に用いられた3次元情報を復元したときとは異なる方向を計測方向として実施した3次元計測について、その計測により復元された3次元情報を仮の3次元モデルにより認識してその認識結果を判定する。さらに、仮の3次元モデルによる認識処理の結果が正しくないと判定したときに認識対象となった3次元情報、または当該認識対象の3次元情報を復元したときの計測方向に対する角度ずれが所定値以内となる方向からの計測により復元され、かつ3次元モデルによる認識処理の結果が正しいと判定された3次元情報を、仮の3次元モデルに整合するように座標変換して、変換後の3次元情報を仮の3次元モデルに追加し、この追加処理が完了した時点の3次元モデルを認識対象物の認識に用いるモデルとして確定する。
【0012】
上記において、3次元計測により復元される3次元情報は、複数の3次元特徴データの集合体である。また3次元情報の「位置合わせ」とは、それぞれ異なる方向からのステレオ計測により復元された複数の3次元情報を、それぞれの間の位置ずれおよび角度ずれに基づいて座標変換する処理をいう。また実物モデルに対する計測方向は、実物モデルとステレオカメラとの相対位置関係によって定められる。
【0013】
上記の方法によれば、仮の3次元モデルの作成に用いられた3次元情報を復元したときとは異なる方向から実物モデルを計測して得られた3次元情報のうち、仮の3次元モデルでは正しく認識することのできなかった3次元情報を3次元モデルに追加することができる。よって、追加後の3次元モデルは、誤認識された方向からの計測による3次元情報を正しく認識できるようになり、その分、3次元モデルの精度を向上することができる。一方、仮の3次元モデルにより正しく認識することができた3次元情報は、3次元モデルには追加されないので、無駄な情報の追加により容量が増えるのを防止することができる。
【0014】
このように、実際の認識対象物に対して想定される種々の計測方向から実物モデルを計測し、復元された3次元情報のうち誤認識されたものを3次元モデルに追加することにより、3次元モデルの容量を抑えながら、その精度を高めることが可能になる。
【0015】
ただし、誤認識された3次元情報を3次元モデルに整合させるには、この3次元情報の3次元モデルに対する位置ずれ量や回転角度に基づく座標変換を行う必要がある。この点について、たとえば回転テーブルにより実物モデルの回転角度を制御する場合には、毎回の回転角度から座標変換のためのパラメータを割り出すことができる。またステレオカメラと実物モデルとの位置関係を任意に変更する場合でも、後記するような演算によって座標変換のパラメータを求めることが可能である。
【0016】
上記の3次元情報を仮の3次元モデルにより認識した結果が正しいか否かの判定は、たとえば、上記の座標変換のためのパラメータを導出する場合と同様の方法により判定対象の3次元情報と仮の3次元モデルとの正しい対応関係を求め、この関係と仮の3次元モデルによる認識結果とを照合する方法により実施する。または、仮の3次元モデルによる認識結果を表示して、その正否をユーザに判定させ、判定入力を受け付けるようにしてもよい。
【0017】
また、上記の方法では、正しく認識されなかった3次元情報そのものに限らず、この3次元情報を復元したときの計測方向に対する角度ずれが所定値以内であって、3次元モデルにより正しく認識された3次元情報を追加する場合もある。これは以下のような理由による。
【0018】
毎回の計測方向を適当な間隔で変更して3次元計測を実行すれば、連続する2回の計測で復元された3次元情報の間に相当量の共通する特徴を含めることができる。したがってこれらの3次元情報のうちの一方を正しく認識できなくとも、他方を正しく認識できた場合には、後者の3次元情報を3次元モデルに追加することによって、前者の情報も正しく認識できるようになる可能性がある。
【0019】
以下、上記方法について4つの好適な実施態様を説明する。
まず第1の態様では、実物モデルに対し、毎回異なる計測方向を設定して複数回の3次元計測を実施するとともに、2回目以降の3次元計測により復元された3次元情報をそれぞれ一段階前の計測により復元された3次元情報と照合して、双方の3次元情報間の対応関係を認識する。また、複数回の3次元計測に伴い復元された複数の3次元情報のうちの一部に相当する2以上の3次元情報を選択し、選択された3次元情報の1つを基準として、他の3次元情報を、それぞれ当該3次元情報に対応する計測と基準の3次元情報に対応する計測との間の各計測に関して認識された3次元情報間の対応関係に基づき、基準の3次元情報に整合するように座標変換し、変換後の3次元情報を基準の3次元情報に統合することにより仮の3次元モデルを作成する。
【0020】
つぎに、複数の3次元情報のうち仮の3次元モデルに統合されなかった3次元情報を順に処理対象として、仮の3次元モデルを用いた認識処理を実行してその認識結果の正否を判定するとともに、認識処理の結果が正しくないと判定したときは、その認識処理の対象となった3次元情報を、当該3次元情報に対応する計測と基準の3次元情報に対応する計測との間の各計測に関して復元された3次元情報間の認識された対応関係に基づき、基準の3次元情報に整合するように座標変換して、変換後の3次元情報を仮の3次元モデルに追加する。そして、3次元モデルに統合されなかった全ての3次元情報に対する処理が終了したとき、その時点の3次元モデルを確定する。
【0021】
上記の態様によれば、実物モデルに対する計測方向として想定される種々の方向からの3次元計測を実行した後に、それぞれの計測方向に対応する3次元情報を適度な間隔で選択することによって、仮の3次元モデルが作成される。さらに、この仮の3次元モデルに統合されなかった3次元情報を3次元モデルにより認識する処理が順に実行され、正しい認識結果を得ることができなかった3次元情報が3次元モデルに追加される。ここで作成された3次元モデルは、選択された3次元情報や追加された3次元情報に対応する方向のほか、設定された計測方向のいずれからの計測でも、正しい認識を行うことが可能な精度を具備するものとなる。また3次元計測の実行回数が多くなっても、認識精度を確保する上で必要な3次元情報のみが統合されるので、3次元モデルの容量が多くなるのを防止することができる。
【0022】
さらに上記の態様では、2回目以降の3次元計測により復元された3次元情報をそれぞれ一段階前の計測により復元された3次元情報と照合して、双方の3次元情報間の位置関係を認識し、これらの認識結果を用いて、仮の3次元モデルを作成する際やこの3次元モデルに新たな3次元情報を追加する際の座標変換処理を実行するので、実物モデルとステレオカメラとの位置関係を厳密に調整する必要がない。また毎時の計測方向が前回の計測方向から極端に変わることがないようにすれば、毎回の計測においては、一段階前の計測で復元された情報を相当数重複して復元することが可能になり、3次元情報間の対応関係の認識精度を確保することができる。
【0023】
第2の態様では、実物モデルに対し毎回異なる計測方向を設定して実施した複数回の3次元計測により復元された複数の3次元情報を用いて仮の3次元モデルを作成した後に、実物モデルに対し、仮の3次元モデルの作成時に設定したいずれの計測方向とも異なるように計測方向を毎回変更して3次元計測を実行する処理を、複数回実行する。そして複数回の3次元計測の1回目の3次元計測により復元された3次元情報を対象に、仮の3次元モデルによる認識処理を実行した後に、2回目以降の計測の都度、その計測により復元された3次元情報を一段階前に復元された3次元情報と照合して双方の3次元情報間の対応関係を認識する第1ステップと、当該計測により復元された3次元情報を対象に、仮の3次元モデルを用いた認識処理を実行してその認識結果の正否を判定する第2ステップとを実行する。また、2回目以降の計測により復元された3次元情報に対する認識処理の結果が正しくないと判定したときは、1回目の3次元計測により復元された3次元情報に対する認識結果、および2回目から現時点までに実施された各3次元計測に対する第1ステップの認識結果に基づき、認識処理の結果が正しくないと判定された3次元情報を仮の3次元モデルに整合するように座標変換して、変換後の3次元情報を仮の3次元モデルに追加する。そして、複数回の3次元計測およびこれに伴う処理がすべて終了したとき、その時点の3次元モデルを確定する。
【0024】
第2の態様によれば、まず実物モデルを、実際に想定する種々の方向のうちの代表的な方向から計測して、その計測結果により仮の3次元モデルを作成した後に、他の想定される方向からの計測を順に行うと、その計測により復元された3次元情報のうち、仮の3次元モデルにより正しく認識することができなかったものが、現時点までに実行された認識処理の結果に基づき座標変換されて、仮の3次元モデルに追加される。また仮の3次元モデルを作成した後の1回目の3次元計測において、仮の3次元モデルにより正しく認識することが可能な3次元情報を復元し、その後の計測でも、一段階前とは極端に異なる計測方向が設定されることがないようにすれば、2回目以降の各計測においては、一段階前の計測で復元された特徴を相当数重複して復元することができ、毎回の第1ステップの精度を確保することができる。よって、追加対象の3次元情報に対する座標変換処理を精度良く行うことが可能になり、3次元モデルの精度を確保することができる。
【0025】
第3の態様では、実物モデルに対する計測方向を毎回変更して3次元計測を実行する処理を複数回実行する。また、1回目の3次元計測により復元された3次元情報を仮の3次元モデルに設定し、以後の3次元計測において、それぞれこの3次元計測により復元された3次元情報を一段階前に復元された3次元情報と照合して双方の3次元情報間の対応関係を認識する第1ステップと、当該3次元計測により復元された3次元情報を対象に仮の3次元モデルを用いた認識処理を実行してその認識結果の正否を判定する第2ステップとを実行する。そして、第2ステップにおいて3次元モデルを用いた認識処理の結果が正しくないと判定したときは、その認識処理の対象となった3次元情報を、2回目から現時点までの各3次元計測に対して実行された第1ステップによる認識結果に基づき、仮の3次元モデルに整合するように座標変換して、変換後の3次元情報を仮の3次元モデルに追加する。そして、複数回の3次元計測およびこれに伴う処理がすべて終了したとき、その時点の3次元モデルを確定する。
【0026】
第3の態様によれば、複数回の3次元計測のうちの1回目の計測により復元された3次元情報が仮の3次元モデルとして設定された後、以後、計測が行われる都度、正しく認識されなかった3次元情報が仮の3次元モデルに整合するように座標変換されて、仮の3次元モデルに追加される。また2回目以降の3次元計測について、一段階前とは極端に異なる計測方向が設定されることがないようにすれば、いずれの計測においても、一段階前の計測で復元された情報が相当数重複して復元されて、第1ステップの精度を確保することができる。よって、追加対象の3次元情報に対する座標変換処理を精度良く行うことが可能になり、実物モデルに対して設定された全ての計測方向からの計測に対して対象物を正しく認識できる精度の3次元モデルを作成することができる。
【0027】
また第2および第3の態様でも、追加対象の3次元情報を、その情報が復元されるまでに実施された認識処理の結果に基づき座標変換してから仮の3次元モデルに追加するので、回転テーブルなどにより実物モデルとステレオカメラとの位置関係を厳密に調整する必要がない。
【0028】
第4の態様では、実物モデルを任意の角度で回転させて3次元計測を実行する処理を複数回実行することを条件に、1回目の3次元計測により復元された3次元情報を仮の3次元モデルに設定し、以後の3次元計測が行われる毎に、その計測により復元された3次元情報を対象に仮の3次元モデルを用いた認識処理を実行してその認識結果の正否を判定する。そして、仮の3次元モデルによる認識処理の結果が正しくないと判定したときは、実物モデルに対する計測方向が一段階前の計測方向に近づくように実物モデルを回転させて3次元計測を行うステップと、この3次元計測により復元された3次元情報を対象に仮の3次元モデルを用いた認識処理を実行してその認識結果の正否を判定するステップとを、認識結果が正しいと判定されるまで実行し、正しいと判定された認識結果に対応する3次元情報を、その認識結果に基づき座標変換して、変換後の3次元情報を仮の3次元モデルに追加した後に、認識処理の結果が正しくないと判定したときの状態に戻る方向に実物モデルを回転させる。そして、実物モデルとステレオカメラとの位置関係が所定の状態になったときの3次元計測およびこれに伴う処理がすべて終了したとき、その時点の3次元モデルを確定する。
【0029】
第4の態様でも、第1回目の計測で復元された3次元情報が仮の3次元モデルとして設定され、以後は、仮の3次元モデルにより正しい認識ができなかった場合に、3次元モデルへの追加処理が行われる。ただしこの態様では、認識できなかった3次元情報そのものではなく、その3次元情報に共通する特徴を含み、かつ3次元モデルにより正しく認識される3次元情報を3次元モデルに追加することによって、正しく認識できなかった3次元情報を認識できる状態にすることを目的とする。よって、この3次元情報の追加処理を適宜行いながら実物モデルの回転および3次元計測を繰り返すことによって、設定された全ての計測方向からの計測に対して対象物を正しく認識することが可能な3次元モデルを作成することが可能になる。
【0030】
また、この態様では、毎回、実物モデルを回転角度を考慮せずに回転させることができる上に、3次元モデルに追加される3次元座標を、当該3次元モデルから認識した結果に基づき座標変換するので、追加される情報の3次元モデルに対する整合の精度も確保される。また、他の態様のように、3次元計測の都度、照合を行うことがないので、処理を簡単にすることができる。
【0031】
つぎに、この発明による物体認識装置は、ステレオカメラを用いた3次元計測により認識対象物の3次元情報を復元する3次元計測手段と、復元された3次元情報をあらかじめ登録した3次元モデルと照合することにより認識対象の物体の位置および姿勢を認識する認識処理手段と、認識対象物の実物モデルに対してそれぞれ異なる方向から3次元計測を行うことにより復元された複数の3次元情報を位置を合わせて統合することによって、認識処理手段により使用される3次元モデルを作成した後に、当該3次元モデルを登録する3次元モデル登録手段とを具備する。
【0032】
さらに、この発明では、毎回の計測の際に、ユーザが実物モデルとステレオカメラとの位置関係を任意に変更して複数回の計測を実行する間に、認識処理に適した3次元モデルを作成する機能を有する物体認識装置として、以下の第1の構成および第2の構成を提供する。
【0033】
第1の構成による物体認識装置では、3次元モデル登録手段に、以下の対応関係認識手段、仮モデル作成手段、認識結果確認手段、モデル更新手段、およびモデル確定手段が設けられる。
【0034】
対応関係認識手段は、実物モデルに対する3次元計測手段の処理により復元された複数の3次元情報のうち、2回目以降の計測により復元された3次元情報を、それぞれ一段階前に復元された3次元情報と照合して、双方の3次元情報間の対応関係を認識する。仮モデル作成手段は、複数回の3次元計測により復元された複数の3次元情報のうちの一部に相当する2以上の3次元情報を選択し、選択された3次元情報の1つを基準として、他の3次元情報を、それぞれ当該3次元情報に対応する計測と基準の3次元情報に対応する計測との間の各計測に関して対応関係認識手段により認識された3次元情報間の対応関係に基づき、基準の3次元情報に整合するように座標変換し、変換後の3次元情報を基準の3次元情報に整合することにより仮の3次元モデルを作成する。
【0035】
認識結果確認手段は、複数の3次元情報のうち仮の3次元モデルに統合されなかった情報に順に着目して、着目した3次元情報を仮の3次元モデルにより認識し、その認識結果の正否を判定する。
【0036】
モデル更新手段は、認識結果確認手段が認識処理の結果が正しくないと判定したとき、その時点での着目中の3次元情報を、当該3次元情報に対応する計測と基準の3次元情報に対応する計測との間の各計測に関して対応関係認識手段により認識された3次元情報間の対応関係に基づき、基準の3次元情報に整合するように座標変換し、変換後の3次元情報を仮の3次元モデルに追加することにより仮の3次元モデルを更新する。モデル確定手段は、認識処理の結果が正しくないと判定された3次元情報のすべてが追加された3次元モデルを登録対象として確定する。
【0037】
上記の構成によれば、ユーザが、毎回の3次元計測の都度、実物モデルとステレオカメラとの位置関係を任意に変更すれば、復元された3次元情報の中から選択された3次元情報により仮の3次元モデルが作成された後に、この3次元モデルでは正しい認識を行うのが困難な3次元情報が特定され、これらの情報が追加された3次元モデルを作成することができる。
【0038】
また、2回目以降の計測を行う都度、その計測により復元された3次元情報と一段階前の3次元情報との位置関係を認識してゆき、これらの認識結果に基づいて統合対象の3次元情報に対する座標変換を行うから、毎回の計測方向が直前の計測方向と大きく異なることがないようにすれば、一段階前の3次元情報との照合の精度を確保でき、これをもって座標変換処理の精度を確保することができる。よって、毎回、実物モデルとステレオカメラとの位置関係を厳密に調整しなくとも、精度が良く、容量が抑えられた3次元モデルを作成することが可能になる。
【0039】
第2の構成による物体認識装置では、3次元モデル登録手段に、以下の仮モデル設定手段、認識結果確認手段、モデル更新手段、およびモデル確定手段が設けられる。
【0040】
仮モデル設定手段は、3次元計測手段が実物モデルに対する最初の計測を実行したのに応じて、その計測により復元された3次元情報を仮の3次元モデルに初期設定する。認識結果確認手段は、3次元計測手段が実物モデルに対する2回目以降の計測を実行する都度、その計測により復元された3次元情報を対象に仮の3次元モデルを用いた認識処理を実行し、その認識結果の正否について判定入力を受け付ける。
【0041】
モデル更新手段は、認識結果確認手段が、実行した認識処理の結果が正しくないとする判定入力を受け付けたとき、この受付後に入力されたステレオ画像から復元された3次元情報のうち、認識結果確認手段による処理において仮の3次元モデルを用いた認識処理の結果が正しいとする判定入力を受け付けた最初の情報を、その認識結果に基づき座標変換し、変換後の3次元情報を仮の3次元モデルに追加することによって、3次元モデルを更新する。
【0042】
モデル確定手段は、実物モデルに対する3次元計測およびこれに伴う認識結果確認手段ならびにモデル更新手段の処理が全て終了したとき、その時点の3次元モデルを登録対象として確定する。
【0043】
上記の構成によれば、1回目の計測に応じて仮の3次元モデルが初期設定された後に、以後の計測の都度、ユーザが実物モデルを任意の角度で回転させることによって、それぞれ異なる方向からの計測により復元された3次元情報を仮の3次元モデルにより認識する処理が行われ、その認識結果の正否について、ユーザによる判定結果が入力される。ここで、ユーザが3次元情報が正しく認識されなかったと判定した場合には、その判定結果を入力し、計測方向を一段階前の計測方向に近づけるように実物モデルを回転させて計測を行う処理を所定回数実行すれば、少なくとも一段階前の計測状態に戻ったときに、3次元モデルにより正しく認識される3次元情報を得ることができる。よって、この時点での3次元情報を3次元モデルに追加することにより、正しく認識できなかった3次元情報の認識が可能になる可能性が高められる。
【0044】
上記の追加により3次元モデルが更新された後に、ユーザが実物モデルの回転方向を元の方向に戻すと、この後は、先の3次元情報を正しく認識できなかった計測方向を再設定して、更新された3次元モデルにより正しい認識が可能になったか否かを確認し、認識が可能になった旨を確認してから次の計測に進むことができる。
【0045】
よって、第2の構成の装置によれば、ユーザは、ステレオカメラに対する実物モデルの姿勢を種々の状態に設定して計測を行いながら、現在の3次元モデルでは認識が困難な状態を容易に判断して、その認識を可能にするための措置をとることができる。よって、認識対象物の想定できる姿勢の変化に応じて実物モデルとステレオカメラとの位置関係を変更する間に、精度が良く、容量が抑えられた3次元モデルを作成することが可能になる。
【発明の効果】
【0046】
この発明によれば、実物モデルに対する計測方向を毎回変更して3次元計測を行う処理を複数回実行することにより、これらの計測で設定されたすべての計測方向から対象物を認識することができ、かつ無駄な情報を含まない3次元モデルを作成することができる。また、ステレオカメラと認識対象物との実際に想定される位置関係に基づき、十分な回数の計測を行うだけで上記の3次元モデルを作成することができるから、3次元モデルの作成に要する効率を大幅に向上することができる。
【発明を実施するための最良の形態】
【0047】
(1)装置構成
図1は、3次元認識処理を適用したピッキングシステムの例を示す。
このピッキングシステムは、工場内で収容ボックス6内に収容されたワークWを1つずつ取り出して所定の位置に搬送する作業を行うためのもので、実際の作業を行う多関節ロボット4や、このロボット4の動作を制御するロボット制御装置3が含まれる。さらに、このピッキングシステムには、処理対象のワークWの位置および姿勢を認識するために、ステレオカメラ1および物体認識装置2が設けられる。
【0048】
ステレオカメラ1は、位置関係が固定された3台のカメラ11,12,13により構成される。物体認識装置2には、カメラ11,12,13の位置関係や光軸の向きなどを表す情報や、認識対象のワークWの3次元モデルが登録されており、各カメラ11,12,13から入力したステレオ画像を処理して、ワークWの輪郭線の3次元情報を復元した後に、復元した3次元情報を3次元モデルと照合してワークWの位置や姿勢を認識する。この認識結果を示す情報は、物体認識装置2からロボット制御装置3に出力され、ロボット制御装置3において、ロボット4のアーム40の動作を制御する処理に使用される。
【0049】
図2は、物体認識装置2のハードウェア構成を示す。
この装置には、各カメラ11,12,13に対応する画像入力部21,22,23のほか、CPU24、メモリ25、入力部26、表示部27、通信インターフェース28などが設けられる。入力部26はキーボードやマウスであり、表示部27は液晶モニタである。入力部26および表示部27は、以下に述べる3次元モデルの作成の際に、ユーザが実物モデルの撮像状態を確認したり、選択操作や設定操作を行う用途に用いられる。通信インターフェース28は、ロボット制御装置4との通信に用いられる。
【0050】
メモリ25は、ROM,RAM,およびハードディスクなどの大容量メモリを含む。
CPU24は、メモリ25に格納されたプログラムに基づき、3次元計測およびワークWの認識に関する一連の処理を実行し、認識結果(具体的には、ワークWの位置を表す3次元座標、および3次元モデルに対する回転角度)を通信インターフェース28より出力する。
【0051】
また、メモリ25には3次元モデルを作成するためのプログラムも格納される。CPU24は、認識処理に先立ち、このプログラムに基づき、各カメラ11〜13から入力された実物モデルの画像を用いてワークWの3次元モデルを作成し、これをメモリ25内に登録する。
【0052】
さらに図2には示していないが、この実施例の物体認識装置2には、各カメラ11,12,13に駆動信号を出力する回路が設けられ、CPU24には、この回路を介して各カメラ11〜13の撮像動作を制御する機能が設定される。この実施例では、入力部26で計測開始を指示する操作が行われたときに各カメラ11〜13に撮像を行わせるようにしている。
【0053】
(2)3次元計測処理について
上記の物体認識装置2では、ステレオ画像からエッジを検出した後に、特許文献1に記載された発明と同様に、「セグメント」と呼ばれる単位毎に3次元情報を復元し、さらにセグメント単位で3次元モデルとの照合を行うようにしている。図3は、この方法により1つのワークを認識するために実行される処理の概略手順を示すものである。以下、この図3のステップ符号を参照しつつ、この実施例における3次元認識処理を説明する。
【0054】
まず、各カメラ11〜13によるステレオ撮像を行い、生成された各画像にエッジ抽出用のフィルタを適用して、画像中のエッジを検出する(ST1,2)。つぎに、検出されたエッジを細線化し(1画素幅のデータにする。)、細線化後のエッジを連結点や分岐点を基準に直線や曲線のセグメントに分割する(ST3,4)。この2次元画像上のエッジから抽出されたセグメントを、以下では「2次元セグメント」と呼ぶ。
【0055】
つぎに、画像間で対応関係にある2次元セグメントを対応づける処理を実行する(ST5)。この対応づけでは、3つの画像のうちの1つを基準に、この基準画像の各2次元セグメントに順に着目し、着目した2次元セグメント毎に、他の2つの画像の中から対応する2次元セグメントを特定する。すなわち、着目した2次元セグメントに対し、エピポーラ条件を満たし、近傍のセグメントとの連結関係が整合する2次元セグメントを、各画像から検出することになる(詳細については非特許文献1等を参照されたい。)。
【0056】
つぎに、上記の処理により対応づけられた各2次元セグメントの組み合わせ毎に、その対応関係から3次元情報を復元する処理を実行する(ST6)。
簡単に説明すると、対応づけられた2次元セグメントの組み合わせ毎に、そのセグメント間で対応関係にある画素の3次元座標を算出する。また、算出された3次元座標の分布状態を直線および円弧のモデルと照合して、これらの3次元座標の集合が直線/曲線のいずれに相当するかを判別する。この処理により、2次元セグメントの組み合わせ毎に、その組み合わせに対応する直線または曲線の3次元セグメントが特定される。
【0057】
さらに、ST6では、各3次元セグメントについて、それぞれそのセグメントをあらかじめ設定された間隔毎にサンプリングし、セグメントの種別(直線または曲線)と各サンプリング点の3次元座標とを対応づけた情報を作成する。これにより、2次元セグメントから算出された3次元座標の数が少なかった3次元セグメントについても、サンプリング間隔を細かくすれば、当初より多くの3次元座標を得ることが可能になる。
【0058】
上記の処理により復元された3次元セグメントの集合が、認識対象のワークの3次元情報に相当する。つぎの段階では、3次元座標系のあらかじめ定めた基準位置に3次元モデルを設定し、この3次元モデルにより復元された3次元情報を照合することによって、3次元モデルに対するワークの位置ずれ量および回転角度を認識する(ST7)。
【0059】
ST7における照合処理では、各3次元セグメントの交点を特徴点として、各特徴点を総当たり式に対応づけながら、その対応づけをした場合の各3次元セグメントの一致度を算出し、一致度が最大になったときの対応づけを正しい対応関係として特定する。
【0060】
ST7について、もう少し詳しく説明する。この実施例では、3次元モデル中の特定の特徴点を照合対象の3次元情報の各特徴点に順に対応づけて、対応づけ毎に、3次元モデル側の特徴点を対応点に移動させるのに必要なシフト量および回転角度を算出する。これらはいずれも、X,Y,Zの軸毎に算出される。つぎに、算出したシフト量および回転角度に基づいて、3次元モデルに含まれる全ての座標を変換し、変換後の3次元モデルと照合対象の3次元情報との一致度を算出する。
【0061】
上記の処理を、3次元モデル側のすべての特徴点につき実行することにより、特徴点が総当たり式に対応づけられ、対応付け毎に一致度を求めることができる。この後、最終的に最も高い一致度が得られたときの座標変換に用いたシフト量および回転角度を、認識対象のワークの3次元モデルに対する位置ずれ量および回転角度として認識する。
【0062】
この後は、認識した位置ずれ量および回転角度をロボット制御装置3に出力し(ST8)、処理を終了する。
【0063】
(3)3次元モデルの作成処理
3−1)原理説明
上記した3次元認識処理を実行するには、あらかじめ、ワークWの3次元モデルをメモリ25に登録する必要がある。この実施例の物体認識装置2では、ワークWの実物モデルを種々の方向からステレオ計測し、各計測結果から復元した3次元情報を統合する方法により、3次元モデルを作成するようにしている。以下、この処理について詳細に説明する。
なお、以下の図面では、ワークWの実物モデルをWMの符号で示すとともに、明細書中では、この実物モデルWMを「ワークモデルWM」という。
【0064】
この実施例では、図4(1)に示すように、ステレオカメラ1の位置および光軸方向を固定して、ステレオカメラ1に対するワークモデルWMの姿勢を変更しながら複数回のステレオ計測を実行する。
【0065】
図中、X,Y,Zの各軸による3次元座標系は、3次元座標の算出用の座標系(以下、「計測座標系」という。)であり、ステレオカメラ1に対して一意に定められる。一方、X1,Y1,Z1の各軸による3次元座標系は、ワークモデルWMに対して一意に定められた座標系(以下、「ワーク座標系」という。)である。図4(1)では、X1,Y1,Z1の各軸がそれぞれX,Y,Z軸に平行な状態を示すが、ワークモデルWMの姿勢が変わると、ワーク座標系の各軸の方向もこれに応じて変化する。
【0066】
ワークモデルWMの姿勢はユーザが自由に定めることができるが、この実施例では、常にX1Z1平面に沿う特定の面がワーク支持面(この例ではXZ平面)に接するものとして、XZ平面に直交するY1軸に対してワークモデルWMを1回転させ、その間に、複数回の撮像を行うものとする。なお、このワークモデルWMの回転は、回転テーブルを用いずに、ユーザの手でワークモデルWMの向きを変更する方法により行うので、回転角度のみならず、計測座標系に対するワークモデルWMの位置も、毎回位置ずれする。
【0067】
図4(2)は、ワーク座標系を基準にして、ワークモデルWMに対するステレオカメラ1の位置関係の変化を表したものである。図中、1〜12の数字入りの矩形は、それぞれ、撮像時のステレオカメラ1の場所を示し、また矩形内の数字は撮像の順序を示す。
これらの位置での撮像により生成されたステレオ画像は、いずれも3次元計測の対象となる。よって以下では、各矩形が表すステレオカメラの位置を「計測ポイント」と呼ぶ。また各計測ポイントに個別に言及する場合には、「計測ポイント[1]」「計測ポイント[2]」のように、計測の順序を表す数字を引用する。
【0068】
この実施例では、上記12個の計測ポイント毎に、図3のST1〜6と同様の処理を実行して3次元情報を復元する。また、計測ポイント[1]を除く各計測ポイントでは、それぞれその計測ポイントで復元した3次元情報を1つ前の計測ポイントの3次元情報と照合することにより、一段階前の3次元情報に対する位置ずれ量および回転角度を認識する。これらの認識処理は、いずれも図3のST7で実施されるのと同様の方法により行われる。
【0069】
なお、最後の計測ポイント[12]については、計測ポイント[11]の3次元情報に対する位置ずれ量および回転角度に加えて、計測ポイント[1]の3次元情報に対する位置ずれ量および回転角度も求める。ただし、計測ポイント[12]から再度計測ポイント[1]に移行して、計測を再実行し、復元された3次元情報の計測ポイント[12]の3次元情報に対する位置ずれ量および回転角度を求めてもよい。
【0070】
さらにこの実施例では、計測ポイント毎に復元された3次元情報の精度を確認し、良好であることを確認した2以上の3次元情報を選択して、選択された情報を位置合わせした後に統合するようにしている。これらの処理の詳細については、後に説明する。
【0071】
つぎに、この実施例では、ワークモデルWMの表面の適所に三角形のマークMを付けて、ステレオ計測を行っている。このマークMはシールとして構成され、ワークモデルWMの平坦な面(この実施例では上面の中央部)に貼付される。各計測ポイントは、すべてのカメラ11〜13の視野にマークMが含まれる状態にすることを条件に定められる。したがって、いずれの計測ポイントでも、マークMの各辺を表す3次元セグメントを含む3次元情報が復元される。
【0072】
図5は、上記のマークMを付したワークモデルWMにつき、上記12の計測ポイントで復元された3次元情報のうちの3つ(図中、a,b,cで示す。)を用いて3次元モデルを作成する場合の処理手順を、模式的に示す。なお、図中の3次元情報aは、図4(2)の計測ポイント[12]で復元されたものである。また、3次元情報bは計測ポイント[3]で復元されたものであり、3次元情報cは計測ポイント[6]で復元されたものである。また、いずれの3次元情報にも、マークMの情報mが含まれている(ただし、情報mの実質的な内容は計測ポイントによって異なる。)。
【0073】
この例では、3次元情報aを基準に、この基準の3次元情報aに対する位置ずれおよび角度ずれが解消するように、他の3次元情報b,cを座標変換する。そして、変換後の3次元情報b´,c´を基準の3次元情報aと統合することによって、それぞれの情報の特徴を含む3次元情報dを作成する。さらに、この統合された3次元情報dから三角形のマークMに対応する情報mを消去することにより、ワークモデルWMの3次元形状のみを表す3次元情報eを作成し、この情報eを3次元モデルに設定する。
【0074】
上記の3次元情報の座標変換処理は、先に計測ポイント毎に求めた位置ずれ量および回転角度を用いて行われる。たとえば、計測ポイント[3]で復元した3次元情報bを計測ポイント[12]で復元した3次元情報aに位置合わせするには、計測ポイント[3]と[2]、計測ポイント[2]と[1]、計測ポイント[1]と[12]の各組み合わせにつき求めた位置ずれ量および回転角度を用いて、座標変換を行う。計測ポイント[6]で復元した3次元情報cについても同様に、計測ポイント[6]から計測ポイント[12]までの範囲(この場合は時計回り・半時計回りのいずれでもよい。)で算出された位置ずれ量および回転角度を用いて、座標変換を実行することにより、3次元情報aへの位置合わせを行う。
【0075】
上記のように、間隔を隔てた計測ポイント間の位置ずれ量および回転角度を求める際に、これらの間にある各計測ポイントを隣り合うもの毎に組み合わせて、計測ポイントの組毎に3次元情報の位置ずれ量および回転角度を算出するのは、共通する特徴をできるだけ多く含む情報同士を照合することによって、照合の精度を確保するためである。また、後記する3次元モデルへの情報の追加処理を行う場合にも、計測ポイント間の3次元情報の位置ずれ量および回転角度を利用して、座標変換処理を行う。
【0076】
つぎに、三角形のマークMをワークモデルWMに貼付する理由について説明する。
先に述べたように、この実施例で3次元情報同士を照合する場合には、それぞれの情報中の特徴点を総当たり式で対応づけて一致度を求め、最も一致度の高い対応づけを正しいものとして確定する。しかし、認識対象物の形状によっては、一致度が最大になる対応づけが必ずしも正しくはならない場合がある。
【0077】
たとえば、曲面や面取りされた部位のエッジを計測対象とする場合や、繰り返し構造を持つ部位が計測対象となる場合には、図6,7に示すような誤った対応づけが行われたときの一致度が最大になり、その誤った対応づけが確定してしまう可能性がある。
【0078】
図6は、認識対象物Sbのコーナー部に対してf1,f2の2方向からそれぞれステレオ計測を行う例を示すものである。この図は、認識対象物Sbの一断面であって、図中のR1,R2は、平坦面と曲率が大きな面との境界位置に相当する。
この例の場合、f1の方向からの計測では、図中のR1の位置に3次元のエッジが復元されるのに対し、f2の方向からの計測では、R2の位置に3次元のエッジが復元される。したがって、それぞれの方向からの計測により復元された3次元情報を対応づける際に、R1に対応するエッジとR2に対応するエッジとが誤って対応づけされ、その分、位置合わせの精度が劣化するおそれがある。
【0079】
図7は、繰り返し構造を含む部位の対応づけに誤りが生じた例を示す。繰り返し構造のエッジが不鮮明で、3次元情報の復元精度が悪くなった場合などには、このような誤った対応づけが生じるおそれがある。
【0080】
このほか、計測対象物に対称形の部位が含まれる場合にも、対称形の部位の表と裏とが誤って対応づけられた状態が、正しいものとして認識される可能性がある。
【0081】
この実施例では、毎回のステレオ計測でワークモデルWMに対する計測方向を任意の角度で変更する方法をとっているため、3次元情報を統合するには、3次元情報どうしを照合して、それぞれの間の位置ずれ量や角度ずれ量(回転角度)を求め、これらに基づく座標変換を行う必要がある。したがって、3次元情報間の照合において上記のような誤った対応づけが行われると、統合される3次元情報を正しく位置合わせできなくなり、3次元モデルの精度を確保できない。三角形のマークMは、このような誤りを防止するために付けられたものである。
【0082】
この実施例で使用するマークMが表す三角形は、図8に示すように、各辺の比が6:7:8になるように設定されている。この比率によれば、マークMの各頂点A,B,Cを容易に特定することができるから、たとえば頂点Aから辺BCへの垂線の方向によって、マークMの向きを一意に特定することができる。また図9に示すように、同じ形状の三角形A´B´C´と位置合わせする場合にも、位置合わせの精度を確保することができる。
【0083】
図9(1)では、上記の比率による三角形ABCとこれに合同な三角形A´B´C´から、それぞれ頂点を1個ずつ選択し、選択された頂点を基準に各三角形を位置合わせした結果を示す。この図に示すように、各三角形は、正しい対応関係にある頂点が組み合わせられたときでなければ、完全に重なり合うことはない。
【0084】
上記の三角形の対応づけについて、発明者らは、実際に頂点の組み合わせ毎に、三角形全体の一致度を求めてみた。図9(2)は、その結果を示すグラフである。このグラフに示すとおり、各頂点が正しく対応づけられた場合の一致度を1とすると、他の対応関係による一致度は最大でも0.4程度となる。これにより、三角形の対応関係の正否を正しく判定できることが判明した。
【0085】
上記のとおり、図8に示した形状の三角形によれば、三角形の各頂点が正しく対応づけされた場合と対応づけに誤りがある場合とで、一致度に大きな差異が生じる。この三角形の各辺を3次元セグメントとして対応づけを行っても、同様の効果を得られるはずであるから、マークMの3次元セグメントを含む3次元情報全体を照合した場合には、三角形の各辺の3次元セグメントに関する一致度が全体の一致度に大きく影響を及ぼすようになる。
【0086】
すなわち、ワークモデルWMの本来の3次元セグメントの中に誤った位置合わせを生じさせるような要素があっても、誤った対応づけが行われた場合には、三角形の3次元セグメントの一致度が大きく低下することによって3次元情報全体の一致度が引き下げられる。一方、三角形の3次元セグメントを含む各3次元セグメントが正しく位置合わせされた場合には、いずれの3次元セグメントでも一致度が高くなるから、3次元情報全体の一致度も高い値になる。よって、正しく対応づけられている場合の一致度を他の場合より大きくすることができ、位置合わせの精度を確保することができる。
【0087】
なお、マークMが示す三角形の形状は図8の例に限定されるものではなく、上記した効果を得ることができ、各辺の長さが異なるものであれば、辺の比率は問わない。また三角形に限らず、頂点が4点以上で向きを一意に特定できる多角形によるマークを作成してもよい。
【0088】
つぎに、上記のマークMを平坦面に貼付する理由について説明する。
マークMを曲面に貼付すると、三角形の各辺も曲線の3次元セグメントとして認識される可能性が高くなる上、曲面の曲率によってマークMの復元される形状が変動する。したがって、マークMが曲面に取り付けられた場合には、その3次元情報を正しく復元できたとしても、復元された3次元情報は、本来の三角形の形状とは異なる形状を表す可能性が高いから、以下に述べるモデル三角形との照合による3次元情報の検証処理を安定して行うのが困難になる。
【0089】
この実施例では、上記のマークMを、復元された3次元情報の精度を確認する目的にも使用している。この実施例では、種々の方向からワークを計測するが、いずれの計測ポイントでも、精度良く3次元情報を復元できるとは限らない。ワークの向きによっては、計測用のパラメータの誤差が大きく反映されたり、誤認識されやすい特徴を多く含む画像が生成されるなどして、3次元情報の精度が劣化することがある。
【0090】
また、この実施例では、毎回のステレオ計測におけるワークモデルWMの位置をユーザが定めているため、ユーザのミスにより各カメラの視野にマークMが含まれない状態で計測が行われる場合がある。マークMの情報を含まない3次元情報では、位置合わせの精度が悪くなる可能性があるから、事前に統合対象から除外する必要がある。
【0091】
上記の点から、この実施例では、計測ポイント毎にマークMの3次元情報が良好に復元されているかどうかを判定し、良好であると判定した3次元情報を統合処理に使用するようにしている。
【0092】
具体的に判定処理では、図10の(a)に示すように、実際の三角形に近い情報が復元されている場合に、この情報を含む3次元情報全体を良好であるとして統合の対象にする。他方、図10(b)のように辺が曲線化された場合や、図10(c)のように頂点が正しく復元できなかった場合など、三角形の再現性が悪い場合には、3次元情報全体も良好でないと判断して、統合の対象から除外する。
【0093】
さらに、この実施例では、3次元情報が良好でないと判定した場合には、その3次元情報を破棄して、再度の計測を行ったり、計測ポイントを変更するなどの対応をとる。また、計測を所定回数やり直しても、良好な3次元情報を得られない場合には、ステレオカメラ1の位置調整や3次元キャリブレーションの再実行など、最初の設定処理からやり直す。このような処理により、統合に用いられる3次元情報の精度を確保するとともに、統合の際の座標変換に必要な位置ずれ量や回転角度が精度の悪い3次元情報により算出されるのを防止して、3次元モデルの精度を確保することができる。
【0094】
3次元情報の精度を判定する処理は、具体的には、マークMの幾何学的情報を表す3次元モデルデータ、具体的には、三角形の三辺の好ましい3次元セグメントを表すデータの組み合わせを用いて行われる(以下、このモデルデータを「モデル三角形」という。)。すなわち、各計測ポイントの3次元情報をモデル三角形により照合して、モデル三角形に対する一致度を求める。この照合も、3次元モデルによる照合の場合と同様の方法、すなわちモデル三角形の各特徴点を3次元情報中の各特徴点に総当たり式に対応づけて、モデル三角形に対する一致度が最も高いときの対応づけを確定する方法により行われる。
【0095】
上記の照合を行った後は、算出された一致度を所定のしきい値と比較し、一致度がしきい値を上回る場合には3次元情報を良好と判定し、一致度がしきい値以下であれば、該当する3次元情報を削除する。
【0096】
このように、ワークモデルWMに三角形のマークMを付けることによって、毎時の計測により復元された3次元情報が良好であることを確認でき、また3次元情報間の照合処理の精度を確保することによって、位置合わせのための座標変換処理の精度を高めることができる。よって、これらの処理を経た3次元情報を統合することによって、精度の良い3次元情報を作成することができる。
【0097】
3−2) 3次元モデルの作成手順の具体例
図5に示した方法により、各種計測方向からの認識処理に使用可能な3次元モデルを作成するには、できるだけ多くの計測ポイントの3次元情報を選択して統合する必要があるように思われる。しかし、統合される3次元情報の数が増えると、3次元モデルの容量が増大し、この3次元モデルを用いた認識処理に支障が生じるおそれがある。
【0098】
この点に鑑み、この実施例では、計測ポイント毎に復元した複数の3次元情報のうちの一部(2以上)を統合して仮の3次元モデルを作成した後に、この仮の3次元モデルに不足する情報を追加する方法によって、3次元モデルの容量を抑えながらその精度を確保できるようにしている。
【0099】
図11は、モデル作成処理の具体例を示す。以下、この図を参照して説明すると、この実施例では、前出の12個の計測ポイントのうち計測ポイント[12][3][6][9]の4箇所での計測により復元された3次元情報を選択し、これらを位置合わせした後に統合して仮の3次元モデルを作成している。この場合も、先の図5の例と同様に、計測ポイント[12]の3次元情報を基準に、他の3つの3次元情報を基準の3次元情報に整合するように座標変換し、変換後の各3次元情報と基準の3次元情報とを統合し、統合後の3次元情報からマークMに対応する情報を消去したものを、仮の3次元モデルとする。
【0100】
つぎに、統合処理に使用されなかった3次元情報、すなわち[1][2][4][5][7][8][10][11]の各計測ポイントの3次元情報を対象に、仮の3次元モデルを用いた認識処理を実行する。そして、認識された位置ずれ量および回転角度が正しいか否かを判定し、正しくないと判定された3次元情報を3次元モデルに位置合わせして追加する。図11では、計測ポイント[10]の3次元情報に対する認識処理が正しく行われなかったものとして、この3次元情報を3次元モデルに位置合わせして追加する例を示している。
【0101】
なお、統合処理に使用されなかった3次元情報を認識する場合には、先のモデル三角形を用いた照合の結果に基づき、これらの3次元情報からマークの情報を削除する。実際の認識対象のワークWにはマークMは付けられていないので、このようにすることで、実際の認識処理の確度をチェックすることができる。また、仮の3次元モデルに3次元情報を追加する場合にも、マークMの情報は追加されない。
【0102】
つぎに、上記の仮の3次元モデルを作成する際に、計測ポイント[3][6][9]の各3次元情報を基準の3次元情報に位置合わせする処理では、先に説明したように、計測ポイント毎に求めた位置ずれ量および回転角度から基準の3次元情報(計測ポイント「12」の情報)に対する位置ずれ量および回転角度を特定し、これらを用いた座標変換処理を行う。
【0103】
仮の3次元モデルを用いた認識処理の結果の正否の判定や、追加対象の3次元情報を3次元モデルに位置合わせするための座標変換も、上記と同様の方法で3次元モデルに対する処理対象の情報の位置ずれ量および回転角度(具体的には3次元モデル中の基準の3次元情報に対応するもの)を特定することによって可能になる。
計測ポイント[10]の3次元情報を例に説明すると、計測ポイント[10]と[11]との間、および計測ポイント[11]と「12」との間でそれぞれ認識された位置ずれ量および回転角度を累計することによって、この3次元情報の仮の3次元モデルに対する位置ずれ量および回転角度を特定することができる。ここで、特定された位置ずれ量および回転角度を3次元モデルとの直接照合により求めた位置ずれ量および回転角度と比較し、両者の間に許容値を超える差異があれば、3次元モデルによる認識処理の結果は正しくないと判定する。また、上記の計測ポイント毎の照合結果から特定した位置ずれ量および回転角度を用いて、計測ポイント[10]の3次元情報を座標変換することにより、3次元モデルへの位置合わせを行う。
【0104】
この実施例では、毎回の計測方向を任意に設定するが、図示の各計測ポイントによれば、直前の計測方向とは極端に異なる方向が設定されることはないので、いずれの計測ポイントでも、直前の計測による3次元情報に共通する特徴が多く含まれる3次元情報が復元される可能性が高い。
【0105】
したがって、各計測ポイントでは、一段階前の計測ポイントの3次元情報に対する位置ずれ量および回転角度を精度良く求めることができるから、この精度の良い位置ずれ量や回転角度に基づいて、仮の3次元モデルによる認識結果が正しいか否かを容易に判定することが可能になる。また、仮の3次元モデルによる直接照合で位置ずれ量および回転角度を正しく認識できなかった3次元情報についても同様に、この3次元情報に対応する計測と3次元モデル中の基準の3次元情報に対応する計測との間に実施された各計測に関連する照合結果に基づき、3次元モデルに対する位置ずれ量および回転角度を特定し、これらをパラメータとして、仮の3次元モデルに位置合わせするための座標変換を精度良く行うことができる。
【0106】
つぎに図12は、ステレオ計測を行ってから3次元モデルを登録するまでの処理の手順をフローチャートにまとめたものである。以下、このフローチャートの流れに沿って、この実施例の3次元モデルの作成手順を説明する。
【0107】
この実施例では、計測時のワークモデルWMの位置決めをユーザの裁量にゆだねることから、計測処理の間は、各カメラ11〜13からのプレビュー画像を表示部27に表示するようにしている。ユーザが、この表示画面で各カメラ11〜13によりワークモデルWMやマークMが正しく撮像されているかどうかを確認して、計測指示の操作を行うと、図12中の「ステレオ計測」のステップ(ST101)が実行される。このステップST101では、具体的にはステレオ撮像から3次元情報の復元までの処理(図3のST1〜6と同様のもの)が実行される。
【0108】
つぎに、復元された3次元情報をモデル三角形により照合し、3次元情報の精度を判定する(ST102)。ここでの判定は、一致度に基づく自動判定としてもよいが、照合結果を表示して、その表示画面でユーザの判定を受け付ける方法により行ってもよい。
【0109】
ここで、3次元情報が良好でないと判定された場合(ST103が「NO」)には、復元された3次元情報を消去し、表示部27に、エラーメッセージなどを表示する。これに応じて、ユーザは、ワークモデルWMの位置を変更するなどして、計測指示をやり直すことになる。
【0110】
復元された3次元情報が良好であると判定された場合(ST103が「YES」)には、さらにこの3次元情報の一段階前の3次元情報に対する位置ずれ量および回転角度を認識する(ST105)。さらに、回転角度については、認識した値を毎回加算する方法によって、最初に復元された3次元情報に対する回転角度を算出する(ST106)。ただし、一番最初に3次元情報を復元した場合(ST104が「YES」)には、上記ST105,106の各ステップはスキップされる。
【0111】
つぎに、この実施例では、最初の3次元情報に対する回転角度が360度を超えたことをもって、ステレオカメラに対してワークモデルWMが1回転したと判断する(ST107)。またワークが1回転したと判断するまでは、ST101〜107の処理を繰り返す。
【0112】
最初の3次元情報に対してワークモデルWMが1回転したと判定すると、ST101〜107のループを終了し、各3次元情報を表す画像を表示するなどして、統合対象の3次元情報の選択を受け付ける(ST108)。そして、選択された3次元情報の1つを基準として、この基準の3次元情報に他の3次元情報を位置合わせし(ST109)、位置合わせ後の各3次元情報を統合する(ST110)。
【0113】
なお、統合対象の3次元情報を選択する処理は、ユーザによらずに自動的に行うようにしてもよい。たとえば、毎回の計測に伴うST106で認識された回転角度に基づき、ワークモデルWMが一定角度以上回転したときの計測で復元された3次元情報を、統合対象として選択することができる。
【0114】
統合処理が終了すると、統合された3次元情報からマークMに対応する情報を削除し(ST111)、削除後の3次元情報を3次元モデルとして仮登録する(ST112)。なお、マークMの情報を削除するのに代えて、照合対象とならないように無効化するにとどめてもよい。
【0115】
この後は、仮登録された3次元モデルにより統合対象として選択されなかった3次元情報を順に照合して、3次元モデルに対する位置ずれ量および回転角度を算出し、これらの算出値を、先に計測ポイント毎に求めた位置ずれ量および回転角度から導出した値と比較することにより、正しい認識が行われた否かを判定する(ST113,114)。ここで、照合対象の3次元情報を正しく認識できなかったと判定した場合(ST114が「NO」)には、照合に用いられた3次元情報を3次元モデルに位置合わせして、3次元モデルに追加する(ST115)。一方、照合対象の3次元情報を正しく認識できた場合(ST114が「YES」)には、この3次元情報を3次元モデルに追加せずに、つぎに進む。
【0116】
このように、統合から除外された3次元情報を順に対象として、その3次元情報が統合された情報により正しく認識できるかどうかを判定し、認識に誤りが生じたと判定された3次元情報を3次元モデルに追加する。このような処理により、仮登録された3次元モデルにそのモデルでは認識できなかった3次元情報が追加されるので、以後の3次元モデルで同様の誤認識が生じることはなくなり、3次元モデルの精度を向上することができる。一方で、正しく認識できた3次元情報が3次元モデルに追加されることはないので、3次元モデルの容量が増えるのを防止できる。
【0117】
この後は、さらに3次元モデルの精度を高めるために、ノイズを除去する処理を実行する(ST117)。たとえば、3次元モデルを構成する3次元セグメントの中で、長さが所定のしきい値以下のものや、3次元座標のサンプル点数が所定数以下のものを削除する。またXZ平面上の3次元座標の分布状態から影に相当するものを検出し、これを削除する。
【0118】
このように、短い3次元セグメント、サンプル点数の少ない3次元セグメント、影を表す3次元セグメントなどを削除することにより、照合処理において誤った対応づけがされるのを防止できる。また3次元モデルの容量が削減されるので、照合処理の時間を短縮することができる。
【0119】
ノイズの除去が終了すると、このノイズ除去後の3次元モデルを本登録し(ST118)、処理を終了する。
【0120】
上記のように、この実施例では、ワークモデルWMに対する計測方向を少しずつ変更しながら、毎回、三角形のマークMの情報を含む3次元情報を照合することによって、直前に得た3次元情報に対する位置ずれ量や回転角度を精度良く求めるので、統合される3次元情報間の位置合わせの精度を確保することができる。また、ユーザが3次元モデルの精度を高めようとして、毎回の計測方向を非常に細かく変更してステレオ計測の指示を出したとしても、計測により復元された3次元情報が誤認識されない限り、3次元モデルの情報が増えることはない。よって、ユーザにより設定された計測方向のすべてに対応でき、かつ容量が抑えられた3次元モデルを作成することができる。
【0121】
また、上記の実施例によれば、各カメラ11〜13の視野に同一のマークMが含まれる状態にしてステレオ撮像を行う必要があるが、ワークモデルWMの回転角度を厳密に調整する必要がないから、回転テーブルなどの設備が不要になる。よって、ワークモデルWMを適当な角度ずつ動かすことで精度の良い3次元モデルを作成することができるから、ユーザの負担を軽くすることができる。
【0122】
なお、ワークモデルWMの3次元情報に、対応づけの誤りを生じさせる要素が多く含まれない場合には、マークMを付けないワークモデルWMを用いて、上記図12の処理を実行しても、3次元モデルの精度を確保することができる。
【0123】
つぎに、上記の実施例では、3次元モデルによる認識処理の正否を自動判定したが、これに限らず、図13に示すような確認画面を表示して、ユーザの判定を受け付けるようにしてもよい。
【0124】
この画面には、3次元情報を画像化して表示するためのウィンドウ30や、「モデルを追加」「次へ」の2つの選択ボタン31,32などが設けられる。ウィンドウ30内には、計測により復元された3次元情報を表す輪郭線および3次元モデルを表す輪郭線が、それぞれ異なる色彩(図では、線の太さに代えて示す。)により表示されている。なお、復元された3次元情報を表す輪郭線からは、マークMに対応するものは削除されている。
【0125】
3次元モデルを表す輪郭線(太い方の線)は、現時点での仮の3次元モデルを、3次元情報との照合により認識した位置ずれ量および回転角度に応じて座標変換したイメージを表すものである。さらに、このウィンドウ30内には、上記の3次元モデルに対する3次元情報の一致度も表示されている。
【0126】
ユーザは上記の輪郭線の関係や一致度の表示から、表示中の3次元情報が正しく認識されているかどうかを判断し、正しく認識されていないと判断した場合には、「モデルを追加」のボタン31を操作する。この操作が行われると、表示中の3次元情報を仮の3次元モデルに位置合わせするための座標変換が行われ、変換後の3次元情報を仮の3次元モデルに追加する処理が行われる。
【0127】
一方、表示中の3次元情報が正しく認識されていると判断した場合には、ユーザは「次へ」のボタン32を操作する。この操作が行われた場合には、3次元モデルの更新処理は行われず、次の3次元情報の確認画面が表示される。
【0128】
上記のように、仮の3次元モデルによる認識結果の正否をユーザが目視で判断する方法によれば、算出された一致度が若干悪い場合でも、ロボット4の制御に支障のない認識結果が得られている場合には、正しい認識が行われていると判断するなど、柔軟な対応をとることができる。よって、3次元モデルの容量をより少なくすることができる。
【0129】
また上記の確認画面は、3次元モデルに追加する3次元情報を確認する用途に限らず、毎回実施されるステレオ計測で復元された3次元情報と一段階前の3次元情報との照合処理(図12のST105)の精度を確認する目的に利用することもできる。たとえば、2回目以降のステレオ計測を実行して、計測により復元された3次元情報を一段階前の3次元情報と照合する都度、その照合結果を表す確認画面を表示して、ユーザに照合結果の適否に関する判定入力を行わせる。そして、一段階前の3次元情報に対する位置ずれ量や回転角度の認識結果が正しいとする判定結果が入力されたことをもって、次のステレオ計測に進み、認識結果が正しくないとする判定結果が入力された場合には、計測結果を破棄する。また、ユーザは、認識結果が正しくないと判定した場合には、その判定結果を入力した後に、計測方向を一段階前の計測方向に近づく方に変更して、ステレオ計測をやり直す。このようにすれば、毎回のステレオ計測により復元された3次元情報間の対応関係の精度が保証されるから、仮の3次元モデルに追加対象の3次元情報を位置合わせする処理の精度も高めることができる。
【0130】
3−3) 3次元モデルの作成に関する他の方法
上記の実施例では、全てのステレオ計測を実行してから3次元モデルを作成したが、これに限らず、毎回のステレオ計測と並行して3次元モデルの作成を進めることもできる。
【0131】
以下、具体的に説明する。この場合も、毎回、ワークモデルWMをY1軸に対して任意の角度で回転させて計測を実行するが、1回目の計測により復元された3次元情報を仮の3次元モデルとして初期設定する。さらにその後の計測では、その計測により復元された3次元情報の一段階前の3次元情報に対する位置ずれ量および回転角度を求めるとともに、仮の3次元モデルによる認識処理を実行し、その認識結果が正しいか否かを判定する。ここで認識処理の結果が正しくないと判定した場合には、処理中の3次元情報を仮の3次元モデルに整合するように座標変換して、変換後の3次元情報を仮のモデルに追加する。
【0132】
この方法でも、正しく認識できなかった3次元情報について、毎回の計測でそれぞれ求めた一段階前の3次元情報に対する位置ずれ量および回転角度に基づき座標変換処理を実行し、変換後の3次元情報を仮の3次元モデルに追加する。したがって、毎回の計測において一段階前の3次元情報に含まれていた情報が相当量重複して復元されるように、計測方向の変動幅を調整することによって、一段階前の3次元情報に対する照合の精度を確保すれば、追加対象の3次元情報を仮の3次元モデルに精度良く位置合わせすることができる。また認識結果の判定は、先の実施例と同様に、計測毎に求めた位置ずれ量および回転角度を用いて自動的に行っても良く、または図13と同様の構成の確認用画面を用いて、ユーザからの判定入力を受け付けてもよい。
【0133】
また、上記の実施例と先の3−2)に示した実施例とを折衷させた方法をとることもできる。たとえば、まず、適当な回数のステレオ計測を、毎時の計測方向を変更して実行し、これらにより復元された3次元情報から仮の3次元モデルを作成する。以後は、この仮の3次元モデルに対応していない計測方向を設定してステレオ計測を行う処理を、複数回繰り返すとともに、計測の都度、復元された3次元情報を仮の3次元モデルにより認識する。そして、認識処理の結果が正しくないと判定された3次元情報を、仮の3次元モデルに位置合わせして追加し、全ての計測が終了したときの3次元モデルを本登録する。
【0134】
上記の方法をとる場合にも、計測の都度、その計測により復元された3次元情報を一段階前に復元された3次元情報と照合し、双方の位置ずれ量および回転角度を算出し、これらの算出結果を用いて、正しく認識できなかった3次元情報に対する座標変換処理を実行し、変換後の3次元情報を3次元モデルに追加する。
ただし、この方法では、仮の3次元モデルの作成後の最初の計測においては、仮の3次元モデルにより正しく認識することができる3次元情報を復元する必要がある(たとえば、仮の3次元モデルに統合された複数の3次元情報のいずれかに対応する計測方向から所定の角度範囲以内に、計測方向を設定する。または、仮の3次元モデルの作成後の最初の計測に対する認識処理の結果の正否をユーザが確認してから以後の処理をすすめる。)。最初の計測により復元された3次元情報と仮の3次元モデルとの対応関係を特定できなければ、以後の計測により復元された3次元情報と仮の3次元モデルとの対応関係を特定することも不可能だからである。また、以後の計測においては、一段階前の3次元情報に対する照合の精度を確保できるように、計測方向の変動幅を考慮する必要がある。
【0135】
続いて、演算処理をより簡単にした実施例を説明する。
この実施例も、1回目の3次元計測により復元された3次元情報を仮の3次元モデルに初期設定した後に、以後の計測の進行と並行して、仮の3次元モデルに情報を追加するものである。ただし、この実施例では、マークMを付けないワークモデルWMを使用し、また計測ポイント毎に一段階前の3次元情報と照合して位置ずれ量および回転角度を求める処理も行わない。このため、この実施例では、仮の3次元モデルによる認識結果の正否を自動判定せずに、ユーザに目視で認識結果を判断させて、その判断結果の入力を受け付けるようにしている。
【0136】
認識結果の確認・判定は、図13に示したのと同様の確認画面により行われる。具体的には、ユーザが表示中の3次元情報が正しく認識されていないと判断して、「モデルを追加」のボタン31を操作すると、表示画面は、後記する3次元モデルの更新処理を行うためのガイダンス画面に変更される。ユーザがこの画面の指示に従って計測を進めることにより、3次元モデルは新たな情報が追加されたものに更新される。
【0137】
一方、表示中の3次元情報が正しく認識されていると判断した場合には、ユーザは「次へ」のボタン32を操作する。この操作が行われた場合には、3次元モデルの更新処理は行われず、次の計測に進むことになる。
【0138】
さらにこの場合の確認画面には、復元された3次元情報が良好でないと判断した場合に、計測のやり直しを指示する選択ボタンも設けられる。このボタンが操作された場合には、復元された3次元情報を破棄して、計測をやり直すことになる。
【0139】
図14は、上記の方法により3次元モデルの作成・登録を行う場合のフローチャートである。以下、このフローチャートのステップ符号を参照しながら、この実施例による3次元モデルの作成方法を詳細に説明する。
【0140】
このフローチャートによる処理でも、ワークモデルWMをY1軸に対して任意の角度で回転させて3次元計測を行う処理を、ワークモデルWMがほぼ一回転するまで実行することを前提とする。また3次元モデルの更新処理を実行するとき以外は、ワークモデルWMの回転方向は一定であるものとする(以下、この回転方向を「正の回転方向」という。)。
【0141】
まず最初のステレオ計測を実行する(ST201)。このステップST201も、図3のST1〜6に対応する処理を実行するものである。つぎに、この1回目の計測により復元された3次元情報を3次元モデルとして仮登録する(ST202)。
【0142】
この後は、ワークモデルWMを任意の角度回転させて次のステレオ計測を実行する(ST203)。そして、このステレオ計測により復元された3次元情報を仮の3次元モデルにより照合し、その照合による認識結果を表示する(ST204,205)。
【0143】
ユーザは、この表示画面により、3次元情報が正しく復元されているかや、3次元モデルによる認識が正しく行われているかを確認する。ここでユーザがいずれの処理も正しく行われていると判断して、その判断結果を入力した場合には、認識された回転角度からワークモデルWMが1回転したかどうかを判定する(ST208)。ここで1回転していないと判定した場合(ST208が「YES」)には、ST203に戻る。
この場合、次のステレオ計測は、ワークモデルWMを正の回転方向にさらに回転させて実行されることになる。
【0144】
一方、ユーザが3次元情報が正しく復元されていないと判断して、その判断結果を入力した場合(ST207が「YES」)には、1回転したかどうかの確認をせずにST203に戻る。この場合には、直前のステレオ計測により復元された3次元情報を破棄して、次のステレオ計測に入る。
【0145】
つぎに、ユーザが3次元情報の認識結果が正しくないと判断して、その判断結果を入力した場合(ST206が「YES」)には、モデル更新用のステレオ計測(ST211)へと移行する。このとき、表示部27の表示は、前記したガイダンス画面に変更されて、ワークモデルWMを回転方向を逆にして(負の方向にして)回転させて、1つ前の計測状態に近づけるようにする旨が指示される。
【0146】
モデル更新用のステレオ計測が行われると、この計測により復元された3次元情報を3次元モデルと照合し、その照合による認識結果を表示する(ST212,213)。この場合の表示画面でも、先の図13の例と同様に、3次元情報と3次元モデルとの認識された関係が表示される。また選択ボタンとして、表示された3次元情報を3次元モデルに追加することを選択するボタンと、追加しないことを選択するボタンとが設けられる。
【0147】
ここでユーザが「追加しない」選択をした場合(ST214が「NO」)には、再びモデル更新用のステレオ計測(ST211)を実行し、さらにこれに伴い、ST212,213のステップを実行する。なお、この場合のステレオ計測では、ワークモデルWMを負の方向に回転させる場合に限らず、正の方向に回転させる場合もある(たとえば、前回の計測でのワークモデルWMの負の方向への回転が大きすぎた場合などである。)。
【0148】
ユーザが表示された3次元情報を3次元モデルに追加することを選択した場合(ST214が「YES」)には、モデル更新用のステレオ計測により復元された3次元情報を、3次元モデルとの照合により認識した位置ずれ量および回転角度に基づき座標変換する(ST215)。そして変換後の3次元情報を3次元モデルに追加する(ST216)。
【0149】
この処理により、3次元モデルが更新されると、その更新が行われたことをユーザに報知する処理を実行する(ST217)。この段階の画面では、3次元モデルが更新されたことのほか、ワークモデルWMの回転方向を正方向に戻して、先に正しい認識がされなかったときの計測方向付近を再び設定することを促すガイダンスが表示される。
【0150】
この後は、ST203のステレオ計測に戻り、さらにこの計測処理に伴いST204,205を実行する。
ユーザが表示された指示に従ってワークWMの毎回の姿勢を変更していれば、前回認識を誤ったときの3次元情報に含まれる特徴に関する3次元情報が3次元モデルに追加されて、認識を誤った計測方向に対する認識精度が向上しているから、この段階では、正しい認識結果が得られる可能性が高いと考えられる。また、仮に、再度、認識結果が正しくないという判断がされたとしても、再びワークモデルWMを負の方向に回転させて、モデルの更新を行うことにより、認識精度をより向上することができる。
【0151】
以下同様に、ワークモデルWMを任意の角度で回転させてステレオ計測を行う処理を繰り返し、毎回の計測毎に、復元された3次元情報を3次元モデルと照合し、その照合による認識結果の正否をユーザに判断させる。そして、ユーザが認識処理の結果が正しくないと判断した場合には、計測方向を1つ前の正しい認識が行われたときの方向に近づけて計測を行い、正しい認識が行われたと判断された3次元情報を当該認識結果に基づき座標変換し、3次元モデルに追加する。
【0152】
正しいと判断された認識結果からワークモデルWMが1回転したと判断すると(ST208が「YES」)、計測に関する一連の処理を終了する。またユーザにも、表示部27に所定のメッセージを表示するなどの方法により計測が終了した旨を報知する。
この後は、3次元モデルのノイズを除去する処理(図12のST117と同様の処理である。)を実行し(ST209)、ノイズ除去後の3次元モデルを本登録する(ST210)。
【0153】
上記の方法によれば、ユーザが正しい手順に従ってワークモデルWMを回転させ、選択操作を行えば、ワークモデルWMの回転が終了するまでに、適切な3次元モデルを作成することができる。また、2回目以降の計測を行う毎に位置ずれ量や回転角度を求める必要がなくなるから、演算を簡易にすることができる。
【0154】
3−4) 3次元モデルの作成方法に関するその他の例
上記では、ワークモデルWMに対する計測方向をユーザが任意の角度で変更する方法により3次元モデルを作成する実施例を説明したが、回転テーブルなどを用いてワークモデルWMを規則正しく回転させる場合にも、上記の各例を応用して精度が良く、容量を抑えた3次元モデルを作成することができる。
【0155】
回転テーブルなどにより計測方向を一定角度ずつ変更してステレオ計測を行う場合には、計測を行う毎に一段階前の3次元情報との照合を行う方法をとらなくとも、復元された3次元情報間の位置関係を容易に特定することができる。したがって、3次元モデルの作成にかかる演算をより簡単にすることができる。
【0156】
つぎに、図12,14に示した処理では、ワーク座標系の一軸(Y1軸)に対してワークモデルWMが一回転する間、ステレオ計測を続けるようにしたが、これに限らず、ワークの想定される向きの変化の範囲が360度より小さい場合には、その想定される範囲でワークモデルWMが回転したときに計測を終了してもよい。
また計測の終了時期を回転角度により自動判別せずに、認識した回転角度を表示して、ユーザに終了時期を判断させてもよい。
【0157】
また、ワークモデルWMの回転軸は一軸に限らず、図15に示すように、複数の軸に対してワークモデルWMを回転させてもよい。
【0158】
図15は、2個のマークM1,M2が付されたワークモデルWMを用いて3次元モデルを作成する場合の計測処理の例を示す。図15(1)に示すように、一方のマークM1は、ワーク座標系のY1軸がY軸に平行になるようにワークモデルWMを配置したときに上面になる位置に取り付けられ、他方のマークM2は、ワークモデルWMの側面に取り付けられる。
【0159】
この実施例でも、先の図4に示した例と同様に、Y1軸に対してワークモデルWMを回転させながら複数回の計測を行う(図15(1))。一連の計測が終了すると、回転軸をY1軸からX1軸に変更して、図15(2)に示すように、ワークモデルWMを90度回転させて計測を行う。さらに図15(3)に示すように、ワークモデルWMを再度90度回転させて計測を行う。
【0160】
Y1軸に対してワークモデルWMを回転させて計測を行う場合には、マークM1が常に各カメラ11〜13の視野に含まれるようにし、X1軸に対してワークモデルWMを回転させて計測を行う場合には、マークM2が常に各カメラ11〜13の視野に含まれるようにする。さらに、少なくともY1軸に対する回転からX1軸に対する回転に移行する際に、2つのマークM1,M2がともにカメラ11〜13の視野に含まれる状態を設定して計測を行う。
【0161】
なお、ワークモデルWMをX1軸に対して回転する場合にも、90度回転させる毎に、その状態下でXZ平面に直交する軸(図15(2)の場合にはZ1軸、図15(3)の場合にはY1軸)に対してワークモデルWMを回転させることにより、ワークモデルWMの姿勢を複数とおりに変更し、変更の都度計測を行ってもよい。
【0162】
このように、ワークモデルWMに対する計測方向のバリエーションを多くした場合にも、図12のフローチャートに準じた処理を実行することができる。この場合、Y1軸に対してワークモデルWMを回転させて計測を行っている間は、マークM1の存在によって照合の精度を確保することができ、X1軸に対してワークモデルWMを回転させて計測を行っている間は、マークM2の存在によって照合の精度を確保することができる。よって、作成される3次元モデルの精度も確保される。
【0163】
また図15の例のようにワークモデルWMの軸回転の方向を管理せずに、より自由にステレオカメラ1に対するワークモデルWMの姿勢を変更する場合には、図14のフローチャートに準じた処理により、毎回の計測結果をユーザが確認しながら、仮の3次元モデルに必要な3次元情報を追加することで、精度が良く、容量が抑えられた3次元モデルを作成することができる。
【図面の簡単な説明】
【0164】
【図1】3次元認識処理を適用したピッキングシステムの概略構成を示す図である。
【図2】物体認識装置のブロック図である。
【図3】3次元認識処理の手順を示すフローチャートである。
【図4】ワークモデルの計測方法を示す図である。
【図5】3次元モデルの作成処理の概略手順を示す図である。
【図6】3次元情報の対応づけに誤りが生じる原因を説明する図である。
【図7】3次元情報の対応づけに誤りが生じる他の原因を説明する図である。
【図8】マークが表す三角形の特徴を表す図である。
【図9】三角形の各頂点の複数とおりの対応づけ状態を示す図、および一致度を表すグラフである。
【図10】統合対象の3次元情報の選択に用いられるマークの3次元情報の例を示す図である。
【図11】3次元モデルの作成処理の具体的方法を模式化して示す図である。
【図12】3次元モデルの作成・登録に関する手順を示すフローチャートである。
【図13】3次元モデルによる認識結果の確認画面の例を示す図である。
【図14】3次元モデルの作成・登録に関する手順の他の例を示すフローチャートである。
【図15】2つのマークを付けたワークモデルによる計測方法の例を示す図である。
【符号の説明】
【0165】
1 ステレオカメラ
2 物体認識装置
11,12,13 カメラ
24 CPU
25 メモリ
W ワーク
WM ワークモデル
【技術分野】
【0001】
この発明は、所定の形状を具備する物体を対象として、複数のカメラを用いたステレオ計測により復元された3次元情報を用いて物体の位置および姿勢を認識する処理を行うために、当該物体の3次元モデルを作成する方法に関する。さらにこの発明は、上記の3次元モデルを作成して登録した後に、そのモデルを用いて物体の認識処理を行う装置に関する。
【背景技術】
【0002】
ステレオカメラを用いた3次元認識処理により物体の位置や姿勢を認識するには、認識対象の物体の種々の面の3次元情報を含む3次元モデルを作成する必要がある。
上記の点を課題とした発明を開示したものとして、下記の特許文献1がある。この特許文献1には、認識対象物の実物モデルに対し、複数の方向からのステレオ計測を行って、各計測により復元した3次元情報を位置合わせして統合することにより、物体全体の幾何モデルを作成することが、記載されている。
【0003】
また、特許文献1には、「セグメントベーストステレオ」と呼ばれる手法により、ステレオ画像に表されたエッジから実物モデルの輪郭線の3次元情報を復元することが記載されている。特許文献1によれば、「セグメントベーストステレオ」とは、ステレオ画像中のエッジを「セグメント」と呼ばれる単位に分割し、セグメント単位でステレオ対応検索を行って、輪郭線の3次元情報を復元する処理をいう。
【0004】
さらに特許文献1には、3次元情報の位置合わせに関して、回転テーブルを用いて実物モデルを定められた角度まで回転させて、その回転角度に基づく座標変換を行う方法が記載されている。また、未知の観測方向からの3次元情報を位置合わせする方法として、作成中のモデルと新たに復元された3次元輪郭線とを照合して複数とおりの位置合わせの候補を求め、これらの中で一致度が最も高くなる場合の位置合わせを特定することが記載されている。
【0005】
さらに、下記の非特許文献1には、2次元のセグメントを画像間で対応づけし、3次元情報を復元する手法が詳しく記載されている。また、非特許文献2には、復元された3次元情報をあらかじめ登録された3次元モデルと照合して、物体の位置や姿勢を認識する手法が開示されている。
【0006】
【特許文献1】特許2961264号公報(段落0013,0017,0028〜0036参照。)
【非特許文献1】「セグメントベーストステレオにおける連結性に基づく対応評価」 情報処理学会論文誌 Vol.40,No.8,3219−3229ページ,1999年8月発行
【非特許文献2】「ステレオビジョンによる3次元物体の認識」 電子情報通信学会論文誌 D−II,vol.J80−D−II,No.5,1105−1112ページ、1997年5月発行
【発明の開示】
【発明が解決しようとする課題】
【0007】
特許文献1に記載された発明を利用して高精度の3次元モデルを作成するには、実物モデルに対する3次元計測を多数の方向から行って、各計測結果を統合するのが良いように思われる。しかし、このような方法では、3次元モデルの容量が増えて、実際に認識処理に用いた場合の処理時間が長くなるから、実用に適さないモデルになる可能性がある。
【0008】
また、特許文献1には、作成された3次元モデルにより実際の認識処理物が正しく認識されるかどうかを確認する点についても、何も記載されていない。この点については、一般的には、作成した3次元モデルを用いて試験的な認識処理を行い、認識の精度が悪い場合には、3次元モデルを作成し直すものと思われるが、このような方法では、効率が悪く、ユーザに大きな負担をかける可能性がある。
【0009】
この発明は、上記の問題点に着目し、容量をできるだけ少なくして精度の良い3次元モデルを作成すること、およびこの3次元モデルを短い時間で作成できるようにすることを課題とする。
【課題を解決するための手段】
【0010】
この発明による3次元モデルの作成方法は、ステレオカメラを用いた3次元計測を認識対象物の実物モデルに対してそれぞれ異なる方向から実施することにより復元された複数の3次元情報を、位置を合わせて統合することによって、認識対象物の3次元モデルを作成する。
【0011】
この方法では、実物モデルに対する少なくとも1回の3次元計測により復元された3次元情報を用いて仮の3次元モデルを作成し、実物モデルに対し仮の3次元モデルの作成に用いられた3次元情報を復元したときとは異なる方向を計測方向として実施した3次元計測について、その計測により復元された3次元情報を仮の3次元モデルにより認識してその認識結果を判定する。さらに、仮の3次元モデルによる認識処理の結果が正しくないと判定したときに認識対象となった3次元情報、または当該認識対象の3次元情報を復元したときの計測方向に対する角度ずれが所定値以内となる方向からの計測により復元され、かつ3次元モデルによる認識処理の結果が正しいと判定された3次元情報を、仮の3次元モデルに整合するように座標変換して、変換後の3次元情報を仮の3次元モデルに追加し、この追加処理が完了した時点の3次元モデルを認識対象物の認識に用いるモデルとして確定する。
【0012】
上記において、3次元計測により復元される3次元情報は、複数の3次元特徴データの集合体である。また3次元情報の「位置合わせ」とは、それぞれ異なる方向からのステレオ計測により復元された複数の3次元情報を、それぞれの間の位置ずれおよび角度ずれに基づいて座標変換する処理をいう。また実物モデルに対する計測方向は、実物モデルとステレオカメラとの相対位置関係によって定められる。
【0013】
上記の方法によれば、仮の3次元モデルの作成に用いられた3次元情報を復元したときとは異なる方向から実物モデルを計測して得られた3次元情報のうち、仮の3次元モデルでは正しく認識することのできなかった3次元情報を3次元モデルに追加することができる。よって、追加後の3次元モデルは、誤認識された方向からの計測による3次元情報を正しく認識できるようになり、その分、3次元モデルの精度を向上することができる。一方、仮の3次元モデルにより正しく認識することができた3次元情報は、3次元モデルには追加されないので、無駄な情報の追加により容量が増えるのを防止することができる。
【0014】
このように、実際の認識対象物に対して想定される種々の計測方向から実物モデルを計測し、復元された3次元情報のうち誤認識されたものを3次元モデルに追加することにより、3次元モデルの容量を抑えながら、その精度を高めることが可能になる。
【0015】
ただし、誤認識された3次元情報を3次元モデルに整合させるには、この3次元情報の3次元モデルに対する位置ずれ量や回転角度に基づく座標変換を行う必要がある。この点について、たとえば回転テーブルにより実物モデルの回転角度を制御する場合には、毎回の回転角度から座標変換のためのパラメータを割り出すことができる。またステレオカメラと実物モデルとの位置関係を任意に変更する場合でも、後記するような演算によって座標変換のパラメータを求めることが可能である。
【0016】
上記の3次元情報を仮の3次元モデルにより認識した結果が正しいか否かの判定は、たとえば、上記の座標変換のためのパラメータを導出する場合と同様の方法により判定対象の3次元情報と仮の3次元モデルとの正しい対応関係を求め、この関係と仮の3次元モデルによる認識結果とを照合する方法により実施する。または、仮の3次元モデルによる認識結果を表示して、その正否をユーザに判定させ、判定入力を受け付けるようにしてもよい。
【0017】
また、上記の方法では、正しく認識されなかった3次元情報そのものに限らず、この3次元情報を復元したときの計測方向に対する角度ずれが所定値以内であって、3次元モデルにより正しく認識された3次元情報を追加する場合もある。これは以下のような理由による。
【0018】
毎回の計測方向を適当な間隔で変更して3次元計測を実行すれば、連続する2回の計測で復元された3次元情報の間に相当量の共通する特徴を含めることができる。したがってこれらの3次元情報のうちの一方を正しく認識できなくとも、他方を正しく認識できた場合には、後者の3次元情報を3次元モデルに追加することによって、前者の情報も正しく認識できるようになる可能性がある。
【0019】
以下、上記方法について4つの好適な実施態様を説明する。
まず第1の態様では、実物モデルに対し、毎回異なる計測方向を設定して複数回の3次元計測を実施するとともに、2回目以降の3次元計測により復元された3次元情報をそれぞれ一段階前の計測により復元された3次元情報と照合して、双方の3次元情報間の対応関係を認識する。また、複数回の3次元計測に伴い復元された複数の3次元情報のうちの一部に相当する2以上の3次元情報を選択し、選択された3次元情報の1つを基準として、他の3次元情報を、それぞれ当該3次元情報に対応する計測と基準の3次元情報に対応する計測との間の各計測に関して認識された3次元情報間の対応関係に基づき、基準の3次元情報に整合するように座標変換し、変換後の3次元情報を基準の3次元情報に統合することにより仮の3次元モデルを作成する。
【0020】
つぎに、複数の3次元情報のうち仮の3次元モデルに統合されなかった3次元情報を順に処理対象として、仮の3次元モデルを用いた認識処理を実行してその認識結果の正否を判定するとともに、認識処理の結果が正しくないと判定したときは、その認識処理の対象となった3次元情報を、当該3次元情報に対応する計測と基準の3次元情報に対応する計測との間の各計測に関して復元された3次元情報間の認識された対応関係に基づき、基準の3次元情報に整合するように座標変換して、変換後の3次元情報を仮の3次元モデルに追加する。そして、3次元モデルに統合されなかった全ての3次元情報に対する処理が終了したとき、その時点の3次元モデルを確定する。
【0021】
上記の態様によれば、実物モデルに対する計測方向として想定される種々の方向からの3次元計測を実行した後に、それぞれの計測方向に対応する3次元情報を適度な間隔で選択することによって、仮の3次元モデルが作成される。さらに、この仮の3次元モデルに統合されなかった3次元情報を3次元モデルにより認識する処理が順に実行され、正しい認識結果を得ることができなかった3次元情報が3次元モデルに追加される。ここで作成された3次元モデルは、選択された3次元情報や追加された3次元情報に対応する方向のほか、設定された計測方向のいずれからの計測でも、正しい認識を行うことが可能な精度を具備するものとなる。また3次元計測の実行回数が多くなっても、認識精度を確保する上で必要な3次元情報のみが統合されるので、3次元モデルの容量が多くなるのを防止することができる。
【0022】
さらに上記の態様では、2回目以降の3次元計測により復元された3次元情報をそれぞれ一段階前の計測により復元された3次元情報と照合して、双方の3次元情報間の位置関係を認識し、これらの認識結果を用いて、仮の3次元モデルを作成する際やこの3次元モデルに新たな3次元情報を追加する際の座標変換処理を実行するので、実物モデルとステレオカメラとの位置関係を厳密に調整する必要がない。また毎時の計測方向が前回の計測方向から極端に変わることがないようにすれば、毎回の計測においては、一段階前の計測で復元された情報を相当数重複して復元することが可能になり、3次元情報間の対応関係の認識精度を確保することができる。
【0023】
第2の態様では、実物モデルに対し毎回異なる計測方向を設定して実施した複数回の3次元計測により復元された複数の3次元情報を用いて仮の3次元モデルを作成した後に、実物モデルに対し、仮の3次元モデルの作成時に設定したいずれの計測方向とも異なるように計測方向を毎回変更して3次元計測を実行する処理を、複数回実行する。そして複数回の3次元計測の1回目の3次元計測により復元された3次元情報を対象に、仮の3次元モデルによる認識処理を実行した後に、2回目以降の計測の都度、その計測により復元された3次元情報を一段階前に復元された3次元情報と照合して双方の3次元情報間の対応関係を認識する第1ステップと、当該計測により復元された3次元情報を対象に、仮の3次元モデルを用いた認識処理を実行してその認識結果の正否を判定する第2ステップとを実行する。また、2回目以降の計測により復元された3次元情報に対する認識処理の結果が正しくないと判定したときは、1回目の3次元計測により復元された3次元情報に対する認識結果、および2回目から現時点までに実施された各3次元計測に対する第1ステップの認識結果に基づき、認識処理の結果が正しくないと判定された3次元情報を仮の3次元モデルに整合するように座標変換して、変換後の3次元情報を仮の3次元モデルに追加する。そして、複数回の3次元計測およびこれに伴う処理がすべて終了したとき、その時点の3次元モデルを確定する。
【0024】
第2の態様によれば、まず実物モデルを、実際に想定する種々の方向のうちの代表的な方向から計測して、その計測結果により仮の3次元モデルを作成した後に、他の想定される方向からの計測を順に行うと、その計測により復元された3次元情報のうち、仮の3次元モデルにより正しく認識することができなかったものが、現時点までに実行された認識処理の結果に基づき座標変換されて、仮の3次元モデルに追加される。また仮の3次元モデルを作成した後の1回目の3次元計測において、仮の3次元モデルにより正しく認識することが可能な3次元情報を復元し、その後の計測でも、一段階前とは極端に異なる計測方向が設定されることがないようにすれば、2回目以降の各計測においては、一段階前の計測で復元された特徴を相当数重複して復元することができ、毎回の第1ステップの精度を確保することができる。よって、追加対象の3次元情報に対する座標変換処理を精度良く行うことが可能になり、3次元モデルの精度を確保することができる。
【0025】
第3の態様では、実物モデルに対する計測方向を毎回変更して3次元計測を実行する処理を複数回実行する。また、1回目の3次元計測により復元された3次元情報を仮の3次元モデルに設定し、以後の3次元計測において、それぞれこの3次元計測により復元された3次元情報を一段階前に復元された3次元情報と照合して双方の3次元情報間の対応関係を認識する第1ステップと、当該3次元計測により復元された3次元情報を対象に仮の3次元モデルを用いた認識処理を実行してその認識結果の正否を判定する第2ステップとを実行する。そして、第2ステップにおいて3次元モデルを用いた認識処理の結果が正しくないと判定したときは、その認識処理の対象となった3次元情報を、2回目から現時点までの各3次元計測に対して実行された第1ステップによる認識結果に基づき、仮の3次元モデルに整合するように座標変換して、変換後の3次元情報を仮の3次元モデルに追加する。そして、複数回の3次元計測およびこれに伴う処理がすべて終了したとき、その時点の3次元モデルを確定する。
【0026】
第3の態様によれば、複数回の3次元計測のうちの1回目の計測により復元された3次元情報が仮の3次元モデルとして設定された後、以後、計測が行われる都度、正しく認識されなかった3次元情報が仮の3次元モデルに整合するように座標変換されて、仮の3次元モデルに追加される。また2回目以降の3次元計測について、一段階前とは極端に異なる計測方向が設定されることがないようにすれば、いずれの計測においても、一段階前の計測で復元された情報が相当数重複して復元されて、第1ステップの精度を確保することができる。よって、追加対象の3次元情報に対する座標変換処理を精度良く行うことが可能になり、実物モデルに対して設定された全ての計測方向からの計測に対して対象物を正しく認識できる精度の3次元モデルを作成することができる。
【0027】
また第2および第3の態様でも、追加対象の3次元情報を、その情報が復元されるまでに実施された認識処理の結果に基づき座標変換してから仮の3次元モデルに追加するので、回転テーブルなどにより実物モデルとステレオカメラとの位置関係を厳密に調整する必要がない。
【0028】
第4の態様では、実物モデルを任意の角度で回転させて3次元計測を実行する処理を複数回実行することを条件に、1回目の3次元計測により復元された3次元情報を仮の3次元モデルに設定し、以後の3次元計測が行われる毎に、その計測により復元された3次元情報を対象に仮の3次元モデルを用いた認識処理を実行してその認識結果の正否を判定する。そして、仮の3次元モデルによる認識処理の結果が正しくないと判定したときは、実物モデルに対する計測方向が一段階前の計測方向に近づくように実物モデルを回転させて3次元計測を行うステップと、この3次元計測により復元された3次元情報を対象に仮の3次元モデルを用いた認識処理を実行してその認識結果の正否を判定するステップとを、認識結果が正しいと判定されるまで実行し、正しいと判定された認識結果に対応する3次元情報を、その認識結果に基づき座標変換して、変換後の3次元情報を仮の3次元モデルに追加した後に、認識処理の結果が正しくないと判定したときの状態に戻る方向に実物モデルを回転させる。そして、実物モデルとステレオカメラとの位置関係が所定の状態になったときの3次元計測およびこれに伴う処理がすべて終了したとき、その時点の3次元モデルを確定する。
【0029】
第4の態様でも、第1回目の計測で復元された3次元情報が仮の3次元モデルとして設定され、以後は、仮の3次元モデルにより正しい認識ができなかった場合に、3次元モデルへの追加処理が行われる。ただしこの態様では、認識できなかった3次元情報そのものではなく、その3次元情報に共通する特徴を含み、かつ3次元モデルにより正しく認識される3次元情報を3次元モデルに追加することによって、正しく認識できなかった3次元情報を認識できる状態にすることを目的とする。よって、この3次元情報の追加処理を適宜行いながら実物モデルの回転および3次元計測を繰り返すことによって、設定された全ての計測方向からの計測に対して対象物を正しく認識することが可能な3次元モデルを作成することが可能になる。
【0030】
また、この態様では、毎回、実物モデルを回転角度を考慮せずに回転させることができる上に、3次元モデルに追加される3次元座標を、当該3次元モデルから認識した結果に基づき座標変換するので、追加される情報の3次元モデルに対する整合の精度も確保される。また、他の態様のように、3次元計測の都度、照合を行うことがないので、処理を簡単にすることができる。
【0031】
つぎに、この発明による物体認識装置は、ステレオカメラを用いた3次元計測により認識対象物の3次元情報を復元する3次元計測手段と、復元された3次元情報をあらかじめ登録した3次元モデルと照合することにより認識対象の物体の位置および姿勢を認識する認識処理手段と、認識対象物の実物モデルに対してそれぞれ異なる方向から3次元計測を行うことにより復元された複数の3次元情報を位置を合わせて統合することによって、認識処理手段により使用される3次元モデルを作成した後に、当該3次元モデルを登録する3次元モデル登録手段とを具備する。
【0032】
さらに、この発明では、毎回の計測の際に、ユーザが実物モデルとステレオカメラとの位置関係を任意に変更して複数回の計測を実行する間に、認識処理に適した3次元モデルを作成する機能を有する物体認識装置として、以下の第1の構成および第2の構成を提供する。
【0033】
第1の構成による物体認識装置では、3次元モデル登録手段に、以下の対応関係認識手段、仮モデル作成手段、認識結果確認手段、モデル更新手段、およびモデル確定手段が設けられる。
【0034】
対応関係認識手段は、実物モデルに対する3次元計測手段の処理により復元された複数の3次元情報のうち、2回目以降の計測により復元された3次元情報を、それぞれ一段階前に復元された3次元情報と照合して、双方の3次元情報間の対応関係を認識する。仮モデル作成手段は、複数回の3次元計測により復元された複数の3次元情報のうちの一部に相当する2以上の3次元情報を選択し、選択された3次元情報の1つを基準として、他の3次元情報を、それぞれ当該3次元情報に対応する計測と基準の3次元情報に対応する計測との間の各計測に関して対応関係認識手段により認識された3次元情報間の対応関係に基づき、基準の3次元情報に整合するように座標変換し、変換後の3次元情報を基準の3次元情報に整合することにより仮の3次元モデルを作成する。
【0035】
認識結果確認手段は、複数の3次元情報のうち仮の3次元モデルに統合されなかった情報に順に着目して、着目した3次元情報を仮の3次元モデルにより認識し、その認識結果の正否を判定する。
【0036】
モデル更新手段は、認識結果確認手段が認識処理の結果が正しくないと判定したとき、その時点での着目中の3次元情報を、当該3次元情報に対応する計測と基準の3次元情報に対応する計測との間の各計測に関して対応関係認識手段により認識された3次元情報間の対応関係に基づき、基準の3次元情報に整合するように座標変換し、変換後の3次元情報を仮の3次元モデルに追加することにより仮の3次元モデルを更新する。モデル確定手段は、認識処理の結果が正しくないと判定された3次元情報のすべてが追加された3次元モデルを登録対象として確定する。
【0037】
上記の構成によれば、ユーザが、毎回の3次元計測の都度、実物モデルとステレオカメラとの位置関係を任意に変更すれば、復元された3次元情報の中から選択された3次元情報により仮の3次元モデルが作成された後に、この3次元モデルでは正しい認識を行うのが困難な3次元情報が特定され、これらの情報が追加された3次元モデルを作成することができる。
【0038】
また、2回目以降の計測を行う都度、その計測により復元された3次元情報と一段階前の3次元情報との位置関係を認識してゆき、これらの認識結果に基づいて統合対象の3次元情報に対する座標変換を行うから、毎回の計測方向が直前の計測方向と大きく異なることがないようにすれば、一段階前の3次元情報との照合の精度を確保でき、これをもって座標変換処理の精度を確保することができる。よって、毎回、実物モデルとステレオカメラとの位置関係を厳密に調整しなくとも、精度が良く、容量が抑えられた3次元モデルを作成することが可能になる。
【0039】
第2の構成による物体認識装置では、3次元モデル登録手段に、以下の仮モデル設定手段、認識結果確認手段、モデル更新手段、およびモデル確定手段が設けられる。
【0040】
仮モデル設定手段は、3次元計測手段が実物モデルに対する最初の計測を実行したのに応じて、その計測により復元された3次元情報を仮の3次元モデルに初期設定する。認識結果確認手段は、3次元計測手段が実物モデルに対する2回目以降の計測を実行する都度、その計測により復元された3次元情報を対象に仮の3次元モデルを用いた認識処理を実行し、その認識結果の正否について判定入力を受け付ける。
【0041】
モデル更新手段は、認識結果確認手段が、実行した認識処理の結果が正しくないとする判定入力を受け付けたとき、この受付後に入力されたステレオ画像から復元された3次元情報のうち、認識結果確認手段による処理において仮の3次元モデルを用いた認識処理の結果が正しいとする判定入力を受け付けた最初の情報を、その認識結果に基づき座標変換し、変換後の3次元情報を仮の3次元モデルに追加することによって、3次元モデルを更新する。
【0042】
モデル確定手段は、実物モデルに対する3次元計測およびこれに伴う認識結果確認手段ならびにモデル更新手段の処理が全て終了したとき、その時点の3次元モデルを登録対象として確定する。
【0043】
上記の構成によれば、1回目の計測に応じて仮の3次元モデルが初期設定された後に、以後の計測の都度、ユーザが実物モデルを任意の角度で回転させることによって、それぞれ異なる方向からの計測により復元された3次元情報を仮の3次元モデルにより認識する処理が行われ、その認識結果の正否について、ユーザによる判定結果が入力される。ここで、ユーザが3次元情報が正しく認識されなかったと判定した場合には、その判定結果を入力し、計測方向を一段階前の計測方向に近づけるように実物モデルを回転させて計測を行う処理を所定回数実行すれば、少なくとも一段階前の計測状態に戻ったときに、3次元モデルにより正しく認識される3次元情報を得ることができる。よって、この時点での3次元情報を3次元モデルに追加することにより、正しく認識できなかった3次元情報の認識が可能になる可能性が高められる。
【0044】
上記の追加により3次元モデルが更新された後に、ユーザが実物モデルの回転方向を元の方向に戻すと、この後は、先の3次元情報を正しく認識できなかった計測方向を再設定して、更新された3次元モデルにより正しい認識が可能になったか否かを確認し、認識が可能になった旨を確認してから次の計測に進むことができる。
【0045】
よって、第2の構成の装置によれば、ユーザは、ステレオカメラに対する実物モデルの姿勢を種々の状態に設定して計測を行いながら、現在の3次元モデルでは認識が困難な状態を容易に判断して、その認識を可能にするための措置をとることができる。よって、認識対象物の想定できる姿勢の変化に応じて実物モデルとステレオカメラとの位置関係を変更する間に、精度が良く、容量が抑えられた3次元モデルを作成することが可能になる。
【発明の効果】
【0046】
この発明によれば、実物モデルに対する計測方向を毎回変更して3次元計測を行う処理を複数回実行することにより、これらの計測で設定されたすべての計測方向から対象物を認識することができ、かつ無駄な情報を含まない3次元モデルを作成することができる。また、ステレオカメラと認識対象物との実際に想定される位置関係に基づき、十分な回数の計測を行うだけで上記の3次元モデルを作成することができるから、3次元モデルの作成に要する効率を大幅に向上することができる。
【発明を実施するための最良の形態】
【0047】
(1)装置構成
図1は、3次元認識処理を適用したピッキングシステムの例を示す。
このピッキングシステムは、工場内で収容ボックス6内に収容されたワークWを1つずつ取り出して所定の位置に搬送する作業を行うためのもので、実際の作業を行う多関節ロボット4や、このロボット4の動作を制御するロボット制御装置3が含まれる。さらに、このピッキングシステムには、処理対象のワークWの位置および姿勢を認識するために、ステレオカメラ1および物体認識装置2が設けられる。
【0048】
ステレオカメラ1は、位置関係が固定された3台のカメラ11,12,13により構成される。物体認識装置2には、カメラ11,12,13の位置関係や光軸の向きなどを表す情報や、認識対象のワークWの3次元モデルが登録されており、各カメラ11,12,13から入力したステレオ画像を処理して、ワークWの輪郭線の3次元情報を復元した後に、復元した3次元情報を3次元モデルと照合してワークWの位置や姿勢を認識する。この認識結果を示す情報は、物体認識装置2からロボット制御装置3に出力され、ロボット制御装置3において、ロボット4のアーム40の動作を制御する処理に使用される。
【0049】
図2は、物体認識装置2のハードウェア構成を示す。
この装置には、各カメラ11,12,13に対応する画像入力部21,22,23のほか、CPU24、メモリ25、入力部26、表示部27、通信インターフェース28などが設けられる。入力部26はキーボードやマウスであり、表示部27は液晶モニタである。入力部26および表示部27は、以下に述べる3次元モデルの作成の際に、ユーザが実物モデルの撮像状態を確認したり、選択操作や設定操作を行う用途に用いられる。通信インターフェース28は、ロボット制御装置4との通信に用いられる。
【0050】
メモリ25は、ROM,RAM,およびハードディスクなどの大容量メモリを含む。
CPU24は、メモリ25に格納されたプログラムに基づき、3次元計測およびワークWの認識に関する一連の処理を実行し、認識結果(具体的には、ワークWの位置を表す3次元座標、および3次元モデルに対する回転角度)を通信インターフェース28より出力する。
【0051】
また、メモリ25には3次元モデルを作成するためのプログラムも格納される。CPU24は、認識処理に先立ち、このプログラムに基づき、各カメラ11〜13から入力された実物モデルの画像を用いてワークWの3次元モデルを作成し、これをメモリ25内に登録する。
【0052】
さらに図2には示していないが、この実施例の物体認識装置2には、各カメラ11,12,13に駆動信号を出力する回路が設けられ、CPU24には、この回路を介して各カメラ11〜13の撮像動作を制御する機能が設定される。この実施例では、入力部26で計測開始を指示する操作が行われたときに各カメラ11〜13に撮像を行わせるようにしている。
【0053】
(2)3次元計測処理について
上記の物体認識装置2では、ステレオ画像からエッジを検出した後に、特許文献1に記載された発明と同様に、「セグメント」と呼ばれる単位毎に3次元情報を復元し、さらにセグメント単位で3次元モデルとの照合を行うようにしている。図3は、この方法により1つのワークを認識するために実行される処理の概略手順を示すものである。以下、この図3のステップ符号を参照しつつ、この実施例における3次元認識処理を説明する。
【0054】
まず、各カメラ11〜13によるステレオ撮像を行い、生成された各画像にエッジ抽出用のフィルタを適用して、画像中のエッジを検出する(ST1,2)。つぎに、検出されたエッジを細線化し(1画素幅のデータにする。)、細線化後のエッジを連結点や分岐点を基準に直線や曲線のセグメントに分割する(ST3,4)。この2次元画像上のエッジから抽出されたセグメントを、以下では「2次元セグメント」と呼ぶ。
【0055】
つぎに、画像間で対応関係にある2次元セグメントを対応づける処理を実行する(ST5)。この対応づけでは、3つの画像のうちの1つを基準に、この基準画像の各2次元セグメントに順に着目し、着目した2次元セグメント毎に、他の2つの画像の中から対応する2次元セグメントを特定する。すなわち、着目した2次元セグメントに対し、エピポーラ条件を満たし、近傍のセグメントとの連結関係が整合する2次元セグメントを、各画像から検出することになる(詳細については非特許文献1等を参照されたい。)。
【0056】
つぎに、上記の処理により対応づけられた各2次元セグメントの組み合わせ毎に、その対応関係から3次元情報を復元する処理を実行する(ST6)。
簡単に説明すると、対応づけられた2次元セグメントの組み合わせ毎に、そのセグメント間で対応関係にある画素の3次元座標を算出する。また、算出された3次元座標の分布状態を直線および円弧のモデルと照合して、これらの3次元座標の集合が直線/曲線のいずれに相当するかを判別する。この処理により、2次元セグメントの組み合わせ毎に、その組み合わせに対応する直線または曲線の3次元セグメントが特定される。
【0057】
さらに、ST6では、各3次元セグメントについて、それぞれそのセグメントをあらかじめ設定された間隔毎にサンプリングし、セグメントの種別(直線または曲線)と各サンプリング点の3次元座標とを対応づけた情報を作成する。これにより、2次元セグメントから算出された3次元座標の数が少なかった3次元セグメントについても、サンプリング間隔を細かくすれば、当初より多くの3次元座標を得ることが可能になる。
【0058】
上記の処理により復元された3次元セグメントの集合が、認識対象のワークの3次元情報に相当する。つぎの段階では、3次元座標系のあらかじめ定めた基準位置に3次元モデルを設定し、この3次元モデルにより復元された3次元情報を照合することによって、3次元モデルに対するワークの位置ずれ量および回転角度を認識する(ST7)。
【0059】
ST7における照合処理では、各3次元セグメントの交点を特徴点として、各特徴点を総当たり式に対応づけながら、その対応づけをした場合の各3次元セグメントの一致度を算出し、一致度が最大になったときの対応づけを正しい対応関係として特定する。
【0060】
ST7について、もう少し詳しく説明する。この実施例では、3次元モデル中の特定の特徴点を照合対象の3次元情報の各特徴点に順に対応づけて、対応づけ毎に、3次元モデル側の特徴点を対応点に移動させるのに必要なシフト量および回転角度を算出する。これらはいずれも、X,Y,Zの軸毎に算出される。つぎに、算出したシフト量および回転角度に基づいて、3次元モデルに含まれる全ての座標を変換し、変換後の3次元モデルと照合対象の3次元情報との一致度を算出する。
【0061】
上記の処理を、3次元モデル側のすべての特徴点につき実行することにより、特徴点が総当たり式に対応づけられ、対応付け毎に一致度を求めることができる。この後、最終的に最も高い一致度が得られたときの座標変換に用いたシフト量および回転角度を、認識対象のワークの3次元モデルに対する位置ずれ量および回転角度として認識する。
【0062】
この後は、認識した位置ずれ量および回転角度をロボット制御装置3に出力し(ST8)、処理を終了する。
【0063】
(3)3次元モデルの作成処理
3−1)原理説明
上記した3次元認識処理を実行するには、あらかじめ、ワークWの3次元モデルをメモリ25に登録する必要がある。この実施例の物体認識装置2では、ワークWの実物モデルを種々の方向からステレオ計測し、各計測結果から復元した3次元情報を統合する方法により、3次元モデルを作成するようにしている。以下、この処理について詳細に説明する。
なお、以下の図面では、ワークWの実物モデルをWMの符号で示すとともに、明細書中では、この実物モデルWMを「ワークモデルWM」という。
【0064】
この実施例では、図4(1)に示すように、ステレオカメラ1の位置および光軸方向を固定して、ステレオカメラ1に対するワークモデルWMの姿勢を変更しながら複数回のステレオ計測を実行する。
【0065】
図中、X,Y,Zの各軸による3次元座標系は、3次元座標の算出用の座標系(以下、「計測座標系」という。)であり、ステレオカメラ1に対して一意に定められる。一方、X1,Y1,Z1の各軸による3次元座標系は、ワークモデルWMに対して一意に定められた座標系(以下、「ワーク座標系」という。)である。図4(1)では、X1,Y1,Z1の各軸がそれぞれX,Y,Z軸に平行な状態を示すが、ワークモデルWMの姿勢が変わると、ワーク座標系の各軸の方向もこれに応じて変化する。
【0066】
ワークモデルWMの姿勢はユーザが自由に定めることができるが、この実施例では、常にX1Z1平面に沿う特定の面がワーク支持面(この例ではXZ平面)に接するものとして、XZ平面に直交するY1軸に対してワークモデルWMを1回転させ、その間に、複数回の撮像を行うものとする。なお、このワークモデルWMの回転は、回転テーブルを用いずに、ユーザの手でワークモデルWMの向きを変更する方法により行うので、回転角度のみならず、計測座標系に対するワークモデルWMの位置も、毎回位置ずれする。
【0067】
図4(2)は、ワーク座標系を基準にして、ワークモデルWMに対するステレオカメラ1の位置関係の変化を表したものである。図中、1〜12の数字入りの矩形は、それぞれ、撮像時のステレオカメラ1の場所を示し、また矩形内の数字は撮像の順序を示す。
これらの位置での撮像により生成されたステレオ画像は、いずれも3次元計測の対象となる。よって以下では、各矩形が表すステレオカメラの位置を「計測ポイント」と呼ぶ。また各計測ポイントに個別に言及する場合には、「計測ポイント[1]」「計測ポイント[2]」のように、計測の順序を表す数字を引用する。
【0068】
この実施例では、上記12個の計測ポイント毎に、図3のST1〜6と同様の処理を実行して3次元情報を復元する。また、計測ポイント[1]を除く各計測ポイントでは、それぞれその計測ポイントで復元した3次元情報を1つ前の計測ポイントの3次元情報と照合することにより、一段階前の3次元情報に対する位置ずれ量および回転角度を認識する。これらの認識処理は、いずれも図3のST7で実施されるのと同様の方法により行われる。
【0069】
なお、最後の計測ポイント[12]については、計測ポイント[11]の3次元情報に対する位置ずれ量および回転角度に加えて、計測ポイント[1]の3次元情報に対する位置ずれ量および回転角度も求める。ただし、計測ポイント[12]から再度計測ポイント[1]に移行して、計測を再実行し、復元された3次元情報の計測ポイント[12]の3次元情報に対する位置ずれ量および回転角度を求めてもよい。
【0070】
さらにこの実施例では、計測ポイント毎に復元された3次元情報の精度を確認し、良好であることを確認した2以上の3次元情報を選択して、選択された情報を位置合わせした後に統合するようにしている。これらの処理の詳細については、後に説明する。
【0071】
つぎに、この実施例では、ワークモデルWMの表面の適所に三角形のマークMを付けて、ステレオ計測を行っている。このマークMはシールとして構成され、ワークモデルWMの平坦な面(この実施例では上面の中央部)に貼付される。各計測ポイントは、すべてのカメラ11〜13の視野にマークMが含まれる状態にすることを条件に定められる。したがって、いずれの計測ポイントでも、マークMの各辺を表す3次元セグメントを含む3次元情報が復元される。
【0072】
図5は、上記のマークMを付したワークモデルWMにつき、上記12の計測ポイントで復元された3次元情報のうちの3つ(図中、a,b,cで示す。)を用いて3次元モデルを作成する場合の処理手順を、模式的に示す。なお、図中の3次元情報aは、図4(2)の計測ポイント[12]で復元されたものである。また、3次元情報bは計測ポイント[3]で復元されたものであり、3次元情報cは計測ポイント[6]で復元されたものである。また、いずれの3次元情報にも、マークMの情報mが含まれている(ただし、情報mの実質的な内容は計測ポイントによって異なる。)。
【0073】
この例では、3次元情報aを基準に、この基準の3次元情報aに対する位置ずれおよび角度ずれが解消するように、他の3次元情報b,cを座標変換する。そして、変換後の3次元情報b´,c´を基準の3次元情報aと統合することによって、それぞれの情報の特徴を含む3次元情報dを作成する。さらに、この統合された3次元情報dから三角形のマークMに対応する情報mを消去することにより、ワークモデルWMの3次元形状のみを表す3次元情報eを作成し、この情報eを3次元モデルに設定する。
【0074】
上記の3次元情報の座標変換処理は、先に計測ポイント毎に求めた位置ずれ量および回転角度を用いて行われる。たとえば、計測ポイント[3]で復元した3次元情報bを計測ポイント[12]で復元した3次元情報aに位置合わせするには、計測ポイント[3]と[2]、計測ポイント[2]と[1]、計測ポイント[1]と[12]の各組み合わせにつき求めた位置ずれ量および回転角度を用いて、座標変換を行う。計測ポイント[6]で復元した3次元情報cについても同様に、計測ポイント[6]から計測ポイント[12]までの範囲(この場合は時計回り・半時計回りのいずれでもよい。)で算出された位置ずれ量および回転角度を用いて、座標変換を実行することにより、3次元情報aへの位置合わせを行う。
【0075】
上記のように、間隔を隔てた計測ポイント間の位置ずれ量および回転角度を求める際に、これらの間にある各計測ポイントを隣り合うもの毎に組み合わせて、計測ポイントの組毎に3次元情報の位置ずれ量および回転角度を算出するのは、共通する特徴をできるだけ多く含む情報同士を照合することによって、照合の精度を確保するためである。また、後記する3次元モデルへの情報の追加処理を行う場合にも、計測ポイント間の3次元情報の位置ずれ量および回転角度を利用して、座標変換処理を行う。
【0076】
つぎに、三角形のマークMをワークモデルWMに貼付する理由について説明する。
先に述べたように、この実施例で3次元情報同士を照合する場合には、それぞれの情報中の特徴点を総当たり式で対応づけて一致度を求め、最も一致度の高い対応づけを正しいものとして確定する。しかし、認識対象物の形状によっては、一致度が最大になる対応づけが必ずしも正しくはならない場合がある。
【0077】
たとえば、曲面や面取りされた部位のエッジを計測対象とする場合や、繰り返し構造を持つ部位が計測対象となる場合には、図6,7に示すような誤った対応づけが行われたときの一致度が最大になり、その誤った対応づけが確定してしまう可能性がある。
【0078】
図6は、認識対象物Sbのコーナー部に対してf1,f2の2方向からそれぞれステレオ計測を行う例を示すものである。この図は、認識対象物Sbの一断面であって、図中のR1,R2は、平坦面と曲率が大きな面との境界位置に相当する。
この例の場合、f1の方向からの計測では、図中のR1の位置に3次元のエッジが復元されるのに対し、f2の方向からの計測では、R2の位置に3次元のエッジが復元される。したがって、それぞれの方向からの計測により復元された3次元情報を対応づける際に、R1に対応するエッジとR2に対応するエッジとが誤って対応づけされ、その分、位置合わせの精度が劣化するおそれがある。
【0079】
図7は、繰り返し構造を含む部位の対応づけに誤りが生じた例を示す。繰り返し構造のエッジが不鮮明で、3次元情報の復元精度が悪くなった場合などには、このような誤った対応づけが生じるおそれがある。
【0080】
このほか、計測対象物に対称形の部位が含まれる場合にも、対称形の部位の表と裏とが誤って対応づけられた状態が、正しいものとして認識される可能性がある。
【0081】
この実施例では、毎回のステレオ計測でワークモデルWMに対する計測方向を任意の角度で変更する方法をとっているため、3次元情報を統合するには、3次元情報どうしを照合して、それぞれの間の位置ずれ量や角度ずれ量(回転角度)を求め、これらに基づく座標変換を行う必要がある。したがって、3次元情報間の照合において上記のような誤った対応づけが行われると、統合される3次元情報を正しく位置合わせできなくなり、3次元モデルの精度を確保できない。三角形のマークMは、このような誤りを防止するために付けられたものである。
【0082】
この実施例で使用するマークMが表す三角形は、図8に示すように、各辺の比が6:7:8になるように設定されている。この比率によれば、マークMの各頂点A,B,Cを容易に特定することができるから、たとえば頂点Aから辺BCへの垂線の方向によって、マークMの向きを一意に特定することができる。また図9に示すように、同じ形状の三角形A´B´C´と位置合わせする場合にも、位置合わせの精度を確保することができる。
【0083】
図9(1)では、上記の比率による三角形ABCとこれに合同な三角形A´B´C´から、それぞれ頂点を1個ずつ選択し、選択された頂点を基準に各三角形を位置合わせした結果を示す。この図に示すように、各三角形は、正しい対応関係にある頂点が組み合わせられたときでなければ、完全に重なり合うことはない。
【0084】
上記の三角形の対応づけについて、発明者らは、実際に頂点の組み合わせ毎に、三角形全体の一致度を求めてみた。図9(2)は、その結果を示すグラフである。このグラフに示すとおり、各頂点が正しく対応づけられた場合の一致度を1とすると、他の対応関係による一致度は最大でも0.4程度となる。これにより、三角形の対応関係の正否を正しく判定できることが判明した。
【0085】
上記のとおり、図8に示した形状の三角形によれば、三角形の各頂点が正しく対応づけされた場合と対応づけに誤りがある場合とで、一致度に大きな差異が生じる。この三角形の各辺を3次元セグメントとして対応づけを行っても、同様の効果を得られるはずであるから、マークMの3次元セグメントを含む3次元情報全体を照合した場合には、三角形の各辺の3次元セグメントに関する一致度が全体の一致度に大きく影響を及ぼすようになる。
【0086】
すなわち、ワークモデルWMの本来の3次元セグメントの中に誤った位置合わせを生じさせるような要素があっても、誤った対応づけが行われた場合には、三角形の3次元セグメントの一致度が大きく低下することによって3次元情報全体の一致度が引き下げられる。一方、三角形の3次元セグメントを含む各3次元セグメントが正しく位置合わせされた場合には、いずれの3次元セグメントでも一致度が高くなるから、3次元情報全体の一致度も高い値になる。よって、正しく対応づけられている場合の一致度を他の場合より大きくすることができ、位置合わせの精度を確保することができる。
【0087】
なお、マークMが示す三角形の形状は図8の例に限定されるものではなく、上記した効果を得ることができ、各辺の長さが異なるものであれば、辺の比率は問わない。また三角形に限らず、頂点が4点以上で向きを一意に特定できる多角形によるマークを作成してもよい。
【0088】
つぎに、上記のマークMを平坦面に貼付する理由について説明する。
マークMを曲面に貼付すると、三角形の各辺も曲線の3次元セグメントとして認識される可能性が高くなる上、曲面の曲率によってマークMの復元される形状が変動する。したがって、マークMが曲面に取り付けられた場合には、その3次元情報を正しく復元できたとしても、復元された3次元情報は、本来の三角形の形状とは異なる形状を表す可能性が高いから、以下に述べるモデル三角形との照合による3次元情報の検証処理を安定して行うのが困難になる。
【0089】
この実施例では、上記のマークMを、復元された3次元情報の精度を確認する目的にも使用している。この実施例では、種々の方向からワークを計測するが、いずれの計測ポイントでも、精度良く3次元情報を復元できるとは限らない。ワークの向きによっては、計測用のパラメータの誤差が大きく反映されたり、誤認識されやすい特徴を多く含む画像が生成されるなどして、3次元情報の精度が劣化することがある。
【0090】
また、この実施例では、毎回のステレオ計測におけるワークモデルWMの位置をユーザが定めているため、ユーザのミスにより各カメラの視野にマークMが含まれない状態で計測が行われる場合がある。マークMの情報を含まない3次元情報では、位置合わせの精度が悪くなる可能性があるから、事前に統合対象から除外する必要がある。
【0091】
上記の点から、この実施例では、計測ポイント毎にマークMの3次元情報が良好に復元されているかどうかを判定し、良好であると判定した3次元情報を統合処理に使用するようにしている。
【0092】
具体的に判定処理では、図10の(a)に示すように、実際の三角形に近い情報が復元されている場合に、この情報を含む3次元情報全体を良好であるとして統合の対象にする。他方、図10(b)のように辺が曲線化された場合や、図10(c)のように頂点が正しく復元できなかった場合など、三角形の再現性が悪い場合には、3次元情報全体も良好でないと判断して、統合の対象から除外する。
【0093】
さらに、この実施例では、3次元情報が良好でないと判定した場合には、その3次元情報を破棄して、再度の計測を行ったり、計測ポイントを変更するなどの対応をとる。また、計測を所定回数やり直しても、良好な3次元情報を得られない場合には、ステレオカメラ1の位置調整や3次元キャリブレーションの再実行など、最初の設定処理からやり直す。このような処理により、統合に用いられる3次元情報の精度を確保するとともに、統合の際の座標変換に必要な位置ずれ量や回転角度が精度の悪い3次元情報により算出されるのを防止して、3次元モデルの精度を確保することができる。
【0094】
3次元情報の精度を判定する処理は、具体的には、マークMの幾何学的情報を表す3次元モデルデータ、具体的には、三角形の三辺の好ましい3次元セグメントを表すデータの組み合わせを用いて行われる(以下、このモデルデータを「モデル三角形」という。)。すなわち、各計測ポイントの3次元情報をモデル三角形により照合して、モデル三角形に対する一致度を求める。この照合も、3次元モデルによる照合の場合と同様の方法、すなわちモデル三角形の各特徴点を3次元情報中の各特徴点に総当たり式に対応づけて、モデル三角形に対する一致度が最も高いときの対応づけを確定する方法により行われる。
【0095】
上記の照合を行った後は、算出された一致度を所定のしきい値と比較し、一致度がしきい値を上回る場合には3次元情報を良好と判定し、一致度がしきい値以下であれば、該当する3次元情報を削除する。
【0096】
このように、ワークモデルWMに三角形のマークMを付けることによって、毎時の計測により復元された3次元情報が良好であることを確認でき、また3次元情報間の照合処理の精度を確保することによって、位置合わせのための座標変換処理の精度を高めることができる。よって、これらの処理を経た3次元情報を統合することによって、精度の良い3次元情報を作成することができる。
【0097】
3−2) 3次元モデルの作成手順の具体例
図5に示した方法により、各種計測方向からの認識処理に使用可能な3次元モデルを作成するには、できるだけ多くの計測ポイントの3次元情報を選択して統合する必要があるように思われる。しかし、統合される3次元情報の数が増えると、3次元モデルの容量が増大し、この3次元モデルを用いた認識処理に支障が生じるおそれがある。
【0098】
この点に鑑み、この実施例では、計測ポイント毎に復元した複数の3次元情報のうちの一部(2以上)を統合して仮の3次元モデルを作成した後に、この仮の3次元モデルに不足する情報を追加する方法によって、3次元モデルの容量を抑えながらその精度を確保できるようにしている。
【0099】
図11は、モデル作成処理の具体例を示す。以下、この図を参照して説明すると、この実施例では、前出の12個の計測ポイントのうち計測ポイント[12][3][6][9]の4箇所での計測により復元された3次元情報を選択し、これらを位置合わせした後に統合して仮の3次元モデルを作成している。この場合も、先の図5の例と同様に、計測ポイント[12]の3次元情報を基準に、他の3つの3次元情報を基準の3次元情報に整合するように座標変換し、変換後の各3次元情報と基準の3次元情報とを統合し、統合後の3次元情報からマークMに対応する情報を消去したものを、仮の3次元モデルとする。
【0100】
つぎに、統合処理に使用されなかった3次元情報、すなわち[1][2][4][5][7][8][10][11]の各計測ポイントの3次元情報を対象に、仮の3次元モデルを用いた認識処理を実行する。そして、認識された位置ずれ量および回転角度が正しいか否かを判定し、正しくないと判定された3次元情報を3次元モデルに位置合わせして追加する。図11では、計測ポイント[10]の3次元情報に対する認識処理が正しく行われなかったものとして、この3次元情報を3次元モデルに位置合わせして追加する例を示している。
【0101】
なお、統合処理に使用されなかった3次元情報を認識する場合には、先のモデル三角形を用いた照合の結果に基づき、これらの3次元情報からマークの情報を削除する。実際の認識対象のワークWにはマークMは付けられていないので、このようにすることで、実際の認識処理の確度をチェックすることができる。また、仮の3次元モデルに3次元情報を追加する場合にも、マークMの情報は追加されない。
【0102】
つぎに、上記の仮の3次元モデルを作成する際に、計測ポイント[3][6][9]の各3次元情報を基準の3次元情報に位置合わせする処理では、先に説明したように、計測ポイント毎に求めた位置ずれ量および回転角度から基準の3次元情報(計測ポイント「12」の情報)に対する位置ずれ量および回転角度を特定し、これらを用いた座標変換処理を行う。
【0103】
仮の3次元モデルを用いた認識処理の結果の正否の判定や、追加対象の3次元情報を3次元モデルに位置合わせするための座標変換も、上記と同様の方法で3次元モデルに対する処理対象の情報の位置ずれ量および回転角度(具体的には3次元モデル中の基準の3次元情報に対応するもの)を特定することによって可能になる。
計測ポイント[10]の3次元情報を例に説明すると、計測ポイント[10]と[11]との間、および計測ポイント[11]と「12」との間でそれぞれ認識された位置ずれ量および回転角度を累計することによって、この3次元情報の仮の3次元モデルに対する位置ずれ量および回転角度を特定することができる。ここで、特定された位置ずれ量および回転角度を3次元モデルとの直接照合により求めた位置ずれ量および回転角度と比較し、両者の間に許容値を超える差異があれば、3次元モデルによる認識処理の結果は正しくないと判定する。また、上記の計測ポイント毎の照合結果から特定した位置ずれ量および回転角度を用いて、計測ポイント[10]の3次元情報を座標変換することにより、3次元モデルへの位置合わせを行う。
【0104】
この実施例では、毎回の計測方向を任意に設定するが、図示の各計測ポイントによれば、直前の計測方向とは極端に異なる方向が設定されることはないので、いずれの計測ポイントでも、直前の計測による3次元情報に共通する特徴が多く含まれる3次元情報が復元される可能性が高い。
【0105】
したがって、各計測ポイントでは、一段階前の計測ポイントの3次元情報に対する位置ずれ量および回転角度を精度良く求めることができるから、この精度の良い位置ずれ量や回転角度に基づいて、仮の3次元モデルによる認識結果が正しいか否かを容易に判定することが可能になる。また、仮の3次元モデルによる直接照合で位置ずれ量および回転角度を正しく認識できなかった3次元情報についても同様に、この3次元情報に対応する計測と3次元モデル中の基準の3次元情報に対応する計測との間に実施された各計測に関連する照合結果に基づき、3次元モデルに対する位置ずれ量および回転角度を特定し、これらをパラメータとして、仮の3次元モデルに位置合わせするための座標変換を精度良く行うことができる。
【0106】
つぎに図12は、ステレオ計測を行ってから3次元モデルを登録するまでの処理の手順をフローチャートにまとめたものである。以下、このフローチャートの流れに沿って、この実施例の3次元モデルの作成手順を説明する。
【0107】
この実施例では、計測時のワークモデルWMの位置決めをユーザの裁量にゆだねることから、計測処理の間は、各カメラ11〜13からのプレビュー画像を表示部27に表示するようにしている。ユーザが、この表示画面で各カメラ11〜13によりワークモデルWMやマークMが正しく撮像されているかどうかを確認して、計測指示の操作を行うと、図12中の「ステレオ計測」のステップ(ST101)が実行される。このステップST101では、具体的にはステレオ撮像から3次元情報の復元までの処理(図3のST1〜6と同様のもの)が実行される。
【0108】
つぎに、復元された3次元情報をモデル三角形により照合し、3次元情報の精度を判定する(ST102)。ここでの判定は、一致度に基づく自動判定としてもよいが、照合結果を表示して、その表示画面でユーザの判定を受け付ける方法により行ってもよい。
【0109】
ここで、3次元情報が良好でないと判定された場合(ST103が「NO」)には、復元された3次元情報を消去し、表示部27に、エラーメッセージなどを表示する。これに応じて、ユーザは、ワークモデルWMの位置を変更するなどして、計測指示をやり直すことになる。
【0110】
復元された3次元情報が良好であると判定された場合(ST103が「YES」)には、さらにこの3次元情報の一段階前の3次元情報に対する位置ずれ量および回転角度を認識する(ST105)。さらに、回転角度については、認識した値を毎回加算する方法によって、最初に復元された3次元情報に対する回転角度を算出する(ST106)。ただし、一番最初に3次元情報を復元した場合(ST104が「YES」)には、上記ST105,106の各ステップはスキップされる。
【0111】
つぎに、この実施例では、最初の3次元情報に対する回転角度が360度を超えたことをもって、ステレオカメラに対してワークモデルWMが1回転したと判断する(ST107)。またワークが1回転したと判断するまでは、ST101〜107の処理を繰り返す。
【0112】
最初の3次元情報に対してワークモデルWMが1回転したと判定すると、ST101〜107のループを終了し、各3次元情報を表す画像を表示するなどして、統合対象の3次元情報の選択を受け付ける(ST108)。そして、選択された3次元情報の1つを基準として、この基準の3次元情報に他の3次元情報を位置合わせし(ST109)、位置合わせ後の各3次元情報を統合する(ST110)。
【0113】
なお、統合対象の3次元情報を選択する処理は、ユーザによらずに自動的に行うようにしてもよい。たとえば、毎回の計測に伴うST106で認識された回転角度に基づき、ワークモデルWMが一定角度以上回転したときの計測で復元された3次元情報を、統合対象として選択することができる。
【0114】
統合処理が終了すると、統合された3次元情報からマークMに対応する情報を削除し(ST111)、削除後の3次元情報を3次元モデルとして仮登録する(ST112)。なお、マークMの情報を削除するのに代えて、照合対象とならないように無効化するにとどめてもよい。
【0115】
この後は、仮登録された3次元モデルにより統合対象として選択されなかった3次元情報を順に照合して、3次元モデルに対する位置ずれ量および回転角度を算出し、これらの算出値を、先に計測ポイント毎に求めた位置ずれ量および回転角度から導出した値と比較することにより、正しい認識が行われた否かを判定する(ST113,114)。ここで、照合対象の3次元情報を正しく認識できなかったと判定した場合(ST114が「NO」)には、照合に用いられた3次元情報を3次元モデルに位置合わせして、3次元モデルに追加する(ST115)。一方、照合対象の3次元情報を正しく認識できた場合(ST114が「YES」)には、この3次元情報を3次元モデルに追加せずに、つぎに進む。
【0116】
このように、統合から除外された3次元情報を順に対象として、その3次元情報が統合された情報により正しく認識できるかどうかを判定し、認識に誤りが生じたと判定された3次元情報を3次元モデルに追加する。このような処理により、仮登録された3次元モデルにそのモデルでは認識できなかった3次元情報が追加されるので、以後の3次元モデルで同様の誤認識が生じることはなくなり、3次元モデルの精度を向上することができる。一方で、正しく認識できた3次元情報が3次元モデルに追加されることはないので、3次元モデルの容量が増えるのを防止できる。
【0117】
この後は、さらに3次元モデルの精度を高めるために、ノイズを除去する処理を実行する(ST117)。たとえば、3次元モデルを構成する3次元セグメントの中で、長さが所定のしきい値以下のものや、3次元座標のサンプル点数が所定数以下のものを削除する。またXZ平面上の3次元座標の分布状態から影に相当するものを検出し、これを削除する。
【0118】
このように、短い3次元セグメント、サンプル点数の少ない3次元セグメント、影を表す3次元セグメントなどを削除することにより、照合処理において誤った対応づけがされるのを防止できる。また3次元モデルの容量が削減されるので、照合処理の時間を短縮することができる。
【0119】
ノイズの除去が終了すると、このノイズ除去後の3次元モデルを本登録し(ST118)、処理を終了する。
【0120】
上記のように、この実施例では、ワークモデルWMに対する計測方向を少しずつ変更しながら、毎回、三角形のマークMの情報を含む3次元情報を照合することによって、直前に得た3次元情報に対する位置ずれ量や回転角度を精度良く求めるので、統合される3次元情報間の位置合わせの精度を確保することができる。また、ユーザが3次元モデルの精度を高めようとして、毎回の計測方向を非常に細かく変更してステレオ計測の指示を出したとしても、計測により復元された3次元情報が誤認識されない限り、3次元モデルの情報が増えることはない。よって、ユーザにより設定された計測方向のすべてに対応でき、かつ容量が抑えられた3次元モデルを作成することができる。
【0121】
また、上記の実施例によれば、各カメラ11〜13の視野に同一のマークMが含まれる状態にしてステレオ撮像を行う必要があるが、ワークモデルWMの回転角度を厳密に調整する必要がないから、回転テーブルなどの設備が不要になる。よって、ワークモデルWMを適当な角度ずつ動かすことで精度の良い3次元モデルを作成することができるから、ユーザの負担を軽くすることができる。
【0122】
なお、ワークモデルWMの3次元情報に、対応づけの誤りを生じさせる要素が多く含まれない場合には、マークMを付けないワークモデルWMを用いて、上記図12の処理を実行しても、3次元モデルの精度を確保することができる。
【0123】
つぎに、上記の実施例では、3次元モデルによる認識処理の正否を自動判定したが、これに限らず、図13に示すような確認画面を表示して、ユーザの判定を受け付けるようにしてもよい。
【0124】
この画面には、3次元情報を画像化して表示するためのウィンドウ30や、「モデルを追加」「次へ」の2つの選択ボタン31,32などが設けられる。ウィンドウ30内には、計測により復元された3次元情報を表す輪郭線および3次元モデルを表す輪郭線が、それぞれ異なる色彩(図では、線の太さに代えて示す。)により表示されている。なお、復元された3次元情報を表す輪郭線からは、マークMに対応するものは削除されている。
【0125】
3次元モデルを表す輪郭線(太い方の線)は、現時点での仮の3次元モデルを、3次元情報との照合により認識した位置ずれ量および回転角度に応じて座標変換したイメージを表すものである。さらに、このウィンドウ30内には、上記の3次元モデルに対する3次元情報の一致度も表示されている。
【0126】
ユーザは上記の輪郭線の関係や一致度の表示から、表示中の3次元情報が正しく認識されているかどうかを判断し、正しく認識されていないと判断した場合には、「モデルを追加」のボタン31を操作する。この操作が行われると、表示中の3次元情報を仮の3次元モデルに位置合わせするための座標変換が行われ、変換後の3次元情報を仮の3次元モデルに追加する処理が行われる。
【0127】
一方、表示中の3次元情報が正しく認識されていると判断した場合には、ユーザは「次へ」のボタン32を操作する。この操作が行われた場合には、3次元モデルの更新処理は行われず、次の3次元情報の確認画面が表示される。
【0128】
上記のように、仮の3次元モデルによる認識結果の正否をユーザが目視で判断する方法によれば、算出された一致度が若干悪い場合でも、ロボット4の制御に支障のない認識結果が得られている場合には、正しい認識が行われていると判断するなど、柔軟な対応をとることができる。よって、3次元モデルの容量をより少なくすることができる。
【0129】
また上記の確認画面は、3次元モデルに追加する3次元情報を確認する用途に限らず、毎回実施されるステレオ計測で復元された3次元情報と一段階前の3次元情報との照合処理(図12のST105)の精度を確認する目的に利用することもできる。たとえば、2回目以降のステレオ計測を実行して、計測により復元された3次元情報を一段階前の3次元情報と照合する都度、その照合結果を表す確認画面を表示して、ユーザに照合結果の適否に関する判定入力を行わせる。そして、一段階前の3次元情報に対する位置ずれ量や回転角度の認識結果が正しいとする判定結果が入力されたことをもって、次のステレオ計測に進み、認識結果が正しくないとする判定結果が入力された場合には、計測結果を破棄する。また、ユーザは、認識結果が正しくないと判定した場合には、その判定結果を入力した後に、計測方向を一段階前の計測方向に近づく方に変更して、ステレオ計測をやり直す。このようにすれば、毎回のステレオ計測により復元された3次元情報間の対応関係の精度が保証されるから、仮の3次元モデルに追加対象の3次元情報を位置合わせする処理の精度も高めることができる。
【0130】
3−3) 3次元モデルの作成に関する他の方法
上記の実施例では、全てのステレオ計測を実行してから3次元モデルを作成したが、これに限らず、毎回のステレオ計測と並行して3次元モデルの作成を進めることもできる。
【0131】
以下、具体的に説明する。この場合も、毎回、ワークモデルWMをY1軸に対して任意の角度で回転させて計測を実行するが、1回目の計測により復元された3次元情報を仮の3次元モデルとして初期設定する。さらにその後の計測では、その計測により復元された3次元情報の一段階前の3次元情報に対する位置ずれ量および回転角度を求めるとともに、仮の3次元モデルによる認識処理を実行し、その認識結果が正しいか否かを判定する。ここで認識処理の結果が正しくないと判定した場合には、処理中の3次元情報を仮の3次元モデルに整合するように座標変換して、変換後の3次元情報を仮のモデルに追加する。
【0132】
この方法でも、正しく認識できなかった3次元情報について、毎回の計測でそれぞれ求めた一段階前の3次元情報に対する位置ずれ量および回転角度に基づき座標変換処理を実行し、変換後の3次元情報を仮の3次元モデルに追加する。したがって、毎回の計測において一段階前の3次元情報に含まれていた情報が相当量重複して復元されるように、計測方向の変動幅を調整することによって、一段階前の3次元情報に対する照合の精度を確保すれば、追加対象の3次元情報を仮の3次元モデルに精度良く位置合わせすることができる。また認識結果の判定は、先の実施例と同様に、計測毎に求めた位置ずれ量および回転角度を用いて自動的に行っても良く、または図13と同様の構成の確認用画面を用いて、ユーザからの判定入力を受け付けてもよい。
【0133】
また、上記の実施例と先の3−2)に示した実施例とを折衷させた方法をとることもできる。たとえば、まず、適当な回数のステレオ計測を、毎時の計測方向を変更して実行し、これらにより復元された3次元情報から仮の3次元モデルを作成する。以後は、この仮の3次元モデルに対応していない計測方向を設定してステレオ計測を行う処理を、複数回繰り返すとともに、計測の都度、復元された3次元情報を仮の3次元モデルにより認識する。そして、認識処理の結果が正しくないと判定された3次元情報を、仮の3次元モデルに位置合わせして追加し、全ての計測が終了したときの3次元モデルを本登録する。
【0134】
上記の方法をとる場合にも、計測の都度、その計測により復元された3次元情報を一段階前に復元された3次元情報と照合し、双方の位置ずれ量および回転角度を算出し、これらの算出結果を用いて、正しく認識できなかった3次元情報に対する座標変換処理を実行し、変換後の3次元情報を3次元モデルに追加する。
ただし、この方法では、仮の3次元モデルの作成後の最初の計測においては、仮の3次元モデルにより正しく認識することができる3次元情報を復元する必要がある(たとえば、仮の3次元モデルに統合された複数の3次元情報のいずれかに対応する計測方向から所定の角度範囲以内に、計測方向を設定する。または、仮の3次元モデルの作成後の最初の計測に対する認識処理の結果の正否をユーザが確認してから以後の処理をすすめる。)。最初の計測により復元された3次元情報と仮の3次元モデルとの対応関係を特定できなければ、以後の計測により復元された3次元情報と仮の3次元モデルとの対応関係を特定することも不可能だからである。また、以後の計測においては、一段階前の3次元情報に対する照合の精度を確保できるように、計測方向の変動幅を考慮する必要がある。
【0135】
続いて、演算処理をより簡単にした実施例を説明する。
この実施例も、1回目の3次元計測により復元された3次元情報を仮の3次元モデルに初期設定した後に、以後の計測の進行と並行して、仮の3次元モデルに情報を追加するものである。ただし、この実施例では、マークMを付けないワークモデルWMを使用し、また計測ポイント毎に一段階前の3次元情報と照合して位置ずれ量および回転角度を求める処理も行わない。このため、この実施例では、仮の3次元モデルによる認識結果の正否を自動判定せずに、ユーザに目視で認識結果を判断させて、その判断結果の入力を受け付けるようにしている。
【0136】
認識結果の確認・判定は、図13に示したのと同様の確認画面により行われる。具体的には、ユーザが表示中の3次元情報が正しく認識されていないと判断して、「モデルを追加」のボタン31を操作すると、表示画面は、後記する3次元モデルの更新処理を行うためのガイダンス画面に変更される。ユーザがこの画面の指示に従って計測を進めることにより、3次元モデルは新たな情報が追加されたものに更新される。
【0137】
一方、表示中の3次元情報が正しく認識されていると判断した場合には、ユーザは「次へ」のボタン32を操作する。この操作が行われた場合には、3次元モデルの更新処理は行われず、次の計測に進むことになる。
【0138】
さらにこの場合の確認画面には、復元された3次元情報が良好でないと判断した場合に、計測のやり直しを指示する選択ボタンも設けられる。このボタンが操作された場合には、復元された3次元情報を破棄して、計測をやり直すことになる。
【0139】
図14は、上記の方法により3次元モデルの作成・登録を行う場合のフローチャートである。以下、このフローチャートのステップ符号を参照しながら、この実施例による3次元モデルの作成方法を詳細に説明する。
【0140】
このフローチャートによる処理でも、ワークモデルWMをY1軸に対して任意の角度で回転させて3次元計測を行う処理を、ワークモデルWMがほぼ一回転するまで実行することを前提とする。また3次元モデルの更新処理を実行するとき以外は、ワークモデルWMの回転方向は一定であるものとする(以下、この回転方向を「正の回転方向」という。)。
【0141】
まず最初のステレオ計測を実行する(ST201)。このステップST201も、図3のST1〜6に対応する処理を実行するものである。つぎに、この1回目の計測により復元された3次元情報を3次元モデルとして仮登録する(ST202)。
【0142】
この後は、ワークモデルWMを任意の角度回転させて次のステレオ計測を実行する(ST203)。そして、このステレオ計測により復元された3次元情報を仮の3次元モデルにより照合し、その照合による認識結果を表示する(ST204,205)。
【0143】
ユーザは、この表示画面により、3次元情報が正しく復元されているかや、3次元モデルによる認識が正しく行われているかを確認する。ここでユーザがいずれの処理も正しく行われていると判断して、その判断結果を入力した場合には、認識された回転角度からワークモデルWMが1回転したかどうかを判定する(ST208)。ここで1回転していないと判定した場合(ST208が「YES」)には、ST203に戻る。
この場合、次のステレオ計測は、ワークモデルWMを正の回転方向にさらに回転させて実行されることになる。
【0144】
一方、ユーザが3次元情報が正しく復元されていないと判断して、その判断結果を入力した場合(ST207が「YES」)には、1回転したかどうかの確認をせずにST203に戻る。この場合には、直前のステレオ計測により復元された3次元情報を破棄して、次のステレオ計測に入る。
【0145】
つぎに、ユーザが3次元情報の認識結果が正しくないと判断して、その判断結果を入力した場合(ST206が「YES」)には、モデル更新用のステレオ計測(ST211)へと移行する。このとき、表示部27の表示は、前記したガイダンス画面に変更されて、ワークモデルWMを回転方向を逆にして(負の方向にして)回転させて、1つ前の計測状態に近づけるようにする旨が指示される。
【0146】
モデル更新用のステレオ計測が行われると、この計測により復元された3次元情報を3次元モデルと照合し、その照合による認識結果を表示する(ST212,213)。この場合の表示画面でも、先の図13の例と同様に、3次元情報と3次元モデルとの認識された関係が表示される。また選択ボタンとして、表示された3次元情報を3次元モデルに追加することを選択するボタンと、追加しないことを選択するボタンとが設けられる。
【0147】
ここでユーザが「追加しない」選択をした場合(ST214が「NO」)には、再びモデル更新用のステレオ計測(ST211)を実行し、さらにこれに伴い、ST212,213のステップを実行する。なお、この場合のステレオ計測では、ワークモデルWMを負の方向に回転させる場合に限らず、正の方向に回転させる場合もある(たとえば、前回の計測でのワークモデルWMの負の方向への回転が大きすぎた場合などである。)。
【0148】
ユーザが表示された3次元情報を3次元モデルに追加することを選択した場合(ST214が「YES」)には、モデル更新用のステレオ計測により復元された3次元情報を、3次元モデルとの照合により認識した位置ずれ量および回転角度に基づき座標変換する(ST215)。そして変換後の3次元情報を3次元モデルに追加する(ST216)。
【0149】
この処理により、3次元モデルが更新されると、その更新が行われたことをユーザに報知する処理を実行する(ST217)。この段階の画面では、3次元モデルが更新されたことのほか、ワークモデルWMの回転方向を正方向に戻して、先に正しい認識がされなかったときの計測方向付近を再び設定することを促すガイダンスが表示される。
【0150】
この後は、ST203のステレオ計測に戻り、さらにこの計測処理に伴いST204,205を実行する。
ユーザが表示された指示に従ってワークWMの毎回の姿勢を変更していれば、前回認識を誤ったときの3次元情報に含まれる特徴に関する3次元情報が3次元モデルに追加されて、認識を誤った計測方向に対する認識精度が向上しているから、この段階では、正しい認識結果が得られる可能性が高いと考えられる。また、仮に、再度、認識結果が正しくないという判断がされたとしても、再びワークモデルWMを負の方向に回転させて、モデルの更新を行うことにより、認識精度をより向上することができる。
【0151】
以下同様に、ワークモデルWMを任意の角度で回転させてステレオ計測を行う処理を繰り返し、毎回の計測毎に、復元された3次元情報を3次元モデルと照合し、その照合による認識結果の正否をユーザに判断させる。そして、ユーザが認識処理の結果が正しくないと判断した場合には、計測方向を1つ前の正しい認識が行われたときの方向に近づけて計測を行い、正しい認識が行われたと判断された3次元情報を当該認識結果に基づき座標変換し、3次元モデルに追加する。
【0152】
正しいと判断された認識結果からワークモデルWMが1回転したと判断すると(ST208が「YES」)、計測に関する一連の処理を終了する。またユーザにも、表示部27に所定のメッセージを表示するなどの方法により計測が終了した旨を報知する。
この後は、3次元モデルのノイズを除去する処理(図12のST117と同様の処理である。)を実行し(ST209)、ノイズ除去後の3次元モデルを本登録する(ST210)。
【0153】
上記の方法によれば、ユーザが正しい手順に従ってワークモデルWMを回転させ、選択操作を行えば、ワークモデルWMの回転が終了するまでに、適切な3次元モデルを作成することができる。また、2回目以降の計測を行う毎に位置ずれ量や回転角度を求める必要がなくなるから、演算を簡易にすることができる。
【0154】
3−4) 3次元モデルの作成方法に関するその他の例
上記では、ワークモデルWMに対する計測方向をユーザが任意の角度で変更する方法により3次元モデルを作成する実施例を説明したが、回転テーブルなどを用いてワークモデルWMを規則正しく回転させる場合にも、上記の各例を応用して精度が良く、容量を抑えた3次元モデルを作成することができる。
【0155】
回転テーブルなどにより計測方向を一定角度ずつ変更してステレオ計測を行う場合には、計測を行う毎に一段階前の3次元情報との照合を行う方法をとらなくとも、復元された3次元情報間の位置関係を容易に特定することができる。したがって、3次元モデルの作成にかかる演算をより簡単にすることができる。
【0156】
つぎに、図12,14に示した処理では、ワーク座標系の一軸(Y1軸)に対してワークモデルWMが一回転する間、ステレオ計測を続けるようにしたが、これに限らず、ワークの想定される向きの変化の範囲が360度より小さい場合には、その想定される範囲でワークモデルWMが回転したときに計測を終了してもよい。
また計測の終了時期を回転角度により自動判別せずに、認識した回転角度を表示して、ユーザに終了時期を判断させてもよい。
【0157】
また、ワークモデルWMの回転軸は一軸に限らず、図15に示すように、複数の軸に対してワークモデルWMを回転させてもよい。
【0158】
図15は、2個のマークM1,M2が付されたワークモデルWMを用いて3次元モデルを作成する場合の計測処理の例を示す。図15(1)に示すように、一方のマークM1は、ワーク座標系のY1軸がY軸に平行になるようにワークモデルWMを配置したときに上面になる位置に取り付けられ、他方のマークM2は、ワークモデルWMの側面に取り付けられる。
【0159】
この実施例でも、先の図4に示した例と同様に、Y1軸に対してワークモデルWMを回転させながら複数回の計測を行う(図15(1))。一連の計測が終了すると、回転軸をY1軸からX1軸に変更して、図15(2)に示すように、ワークモデルWMを90度回転させて計測を行う。さらに図15(3)に示すように、ワークモデルWMを再度90度回転させて計測を行う。
【0160】
Y1軸に対してワークモデルWMを回転させて計測を行う場合には、マークM1が常に各カメラ11〜13の視野に含まれるようにし、X1軸に対してワークモデルWMを回転させて計測を行う場合には、マークM2が常に各カメラ11〜13の視野に含まれるようにする。さらに、少なくともY1軸に対する回転からX1軸に対する回転に移行する際に、2つのマークM1,M2がともにカメラ11〜13の視野に含まれる状態を設定して計測を行う。
【0161】
なお、ワークモデルWMをX1軸に対して回転する場合にも、90度回転させる毎に、その状態下でXZ平面に直交する軸(図15(2)の場合にはZ1軸、図15(3)の場合にはY1軸)に対してワークモデルWMを回転させることにより、ワークモデルWMの姿勢を複数とおりに変更し、変更の都度計測を行ってもよい。
【0162】
このように、ワークモデルWMに対する計測方向のバリエーションを多くした場合にも、図12のフローチャートに準じた処理を実行することができる。この場合、Y1軸に対してワークモデルWMを回転させて計測を行っている間は、マークM1の存在によって照合の精度を確保することができ、X1軸に対してワークモデルWMを回転させて計測を行っている間は、マークM2の存在によって照合の精度を確保することができる。よって、作成される3次元モデルの精度も確保される。
【0163】
また図15の例のようにワークモデルWMの軸回転の方向を管理せずに、より自由にステレオカメラ1に対するワークモデルWMの姿勢を変更する場合には、図14のフローチャートに準じた処理により、毎回の計測結果をユーザが確認しながら、仮の3次元モデルに必要な3次元情報を追加することで、精度が良く、容量が抑えられた3次元モデルを作成することができる。
【図面の簡単な説明】
【0164】
【図1】3次元認識処理を適用したピッキングシステムの概略構成を示す図である。
【図2】物体認識装置のブロック図である。
【図3】3次元認識処理の手順を示すフローチャートである。
【図4】ワークモデルの計測方法を示す図である。
【図5】3次元モデルの作成処理の概略手順を示す図である。
【図6】3次元情報の対応づけに誤りが生じる原因を説明する図である。
【図7】3次元情報の対応づけに誤りが生じる他の原因を説明する図である。
【図8】マークが表す三角形の特徴を表す図である。
【図9】三角形の各頂点の複数とおりの対応づけ状態を示す図、および一致度を表すグラフである。
【図10】統合対象の3次元情報の選択に用いられるマークの3次元情報の例を示す図である。
【図11】3次元モデルの作成処理の具体的方法を模式化して示す図である。
【図12】3次元モデルの作成・登録に関する手順を示すフローチャートである。
【図13】3次元モデルによる認識結果の確認画面の例を示す図である。
【図14】3次元モデルの作成・登録に関する手順の他の例を示すフローチャートである。
【図15】2つのマークを付けたワークモデルによる計測方法の例を示す図である。
【符号の説明】
【0165】
1 ステレオカメラ
2 物体認識装置
11,12,13 カメラ
24 CPU
25 メモリ
W ワーク
WM ワークモデル
【特許請求の範囲】
【請求項1】
ステレオカメラを用いた3次元計測を認識対象物の実物モデルに対してそれぞれ異なる方向から実施することにより復元された複数の3次元情報を、位置を合わせて統合することによって、前記認識対象物の3次元モデルを作成する方法であって、
前記実物モデルに対する少なくとも1回の3次元計測により復元された3次元情報を用いて仮の3次元モデルを作成し、
前記実物モデルに対し前記仮の3次元モデルの作成に用いられた3次元情報を復元したときとは異なる方向を計測方向として実施した3次元計測について、その計測により復元された3次元情報を前記仮の3次元モデルにより認識してその認識結果の正否を判定し、
前記仮の3次元モデルによる認識処理の結果が正しくないと判定したときに認識対象となった3次元情報、または当該認識対象の3次元情報を復元したときの計測方向に対する角度ずれが所定値以内となる方向からの計測により復元され、かつ前記3次元モデルによる認識処理の結果が正しいと判定された3次元情報を、仮の3次元モデルに整合するように座標変換して、変換後の3次元情報を仮の3次元モデルに追加し、この追加処理が完了した時点の3次元モデルを前記認識対象物の認識に用いるモデルとして確定する、
ことを特徴とする3次元モデルの作成方法。
【請求項2】
請求項1に記載された方法において、
前記実物モデルに対し、毎回異なる計測方向を設定して複数回の3次元計測を実施するとともに、2回目以降の3次元計測により復元された3次元情報をそれぞれ一段階前の計測により復元された3次元情報と照合して、双方の3次元情報間の対応関係を認識し、
前記複数回の3次元計測に伴い復元された複数の3次元情報のうちの一部に相当する2以上の3次元情報を選択し、選択された3次元情報の1つを基準として、他の3次元情報を、それぞれ当該3次元情報に対応する計測と基準の3次元情報に対応する計測との間の各計測に関して認識された3次元情報間の対応関係に基づき、基準の3次元情報に整合するように座標変換し、変換後の3次元情報を基準の3次元情報に統合することにより前記仮の3次元モデルを作成し、
前記複数の3次元情報のうち仮の3次元モデルに統合されなかった3次元情報を順に処理対象として、仮の3次元モデルを用いた認識処理を実行してその認識結果の正否を判定するとともに、認識処理の結果が正しくないと判定したときは、その認識処理の対象となった3次元情報を、当該3次元情報に対応する計測と前記基準の3次元情報に対応する計測との間の各計測に関して復元された3次元情報間の認識された対応関係に基づき、基準の3次元情報に整合するように座標変換して、変換後の3次元情報を仮の3次元モデルに追加し、
3次元モデルに統合されなかった全ての3次元情報に対する処理が終了したとき、その時点の3次元モデルを確定する、3次元モデルの作成方法。
【請求項3】
請求項1に記載された方法において、
前記実物モデルに対し毎回異なる計測方向を設定して実施した複数回の3次元計測により復元された複数の3次元情報を用いて仮の3次元モデルを作成した後に、前記実物モデルに対し、前記仮の3次元モデルの作成時に設定したいずれの計測方向とも異なるように計測方向を毎回変更して3次元計測を実行する処理を、複数回実行し、
前記複数回の3次元計測の1回目の3次元計測により復元された3次元情報を対象に、前記仮の3次元モデルによる認識処理を実行した後に、2回目以降の計測の都度、その計測により復元された3次元情報を一段階前に復元された3次元情報と照合して双方の3次元情報間の対応関係を認識する第1ステップと、当該計測により復元された3次元情報を対象に、前記仮の3次元モデルを用いた認識処理を実行してその認識結果の正否を判定する第2ステップとを実行するともに、2回目以降の計測により復元された3次元情報に対する認識処理の結果が正しくないと判定したときは、前記第1回目の3次元計測により復元された3次元情報に対する認識結果、および2回目から現時点までに実施された各3次元計測に対する第1ステップの認識結果に基づき、前記認識処理の結果が正しくないと判定された3次元情報を仮の3次元モデルに整合するように座標変換して、変換後の3次元情報を仮の3次元モデルに追加し、
前記複数回の3次元計測およびこれに伴う処理がすべて終了したとき、その時点の3次元モデルを確定する、3次元モデルの作成方法。
【請求項4】
請求項1に記載された方法において、
前記実物モデルに対する計測方向を毎回変更して3次元計測を実行する処理を複数回実行し、
1回目の3次元計測により復元された3次元情報を仮の3次元モデルに設定し、以後の3次元計測において、それぞれこの3次元計測により復元された3次元情報を一段階前に復元された3次元情報と照合して双方の3次元情報間の対応関係を認識する第1ステップと、当該3次元計測により復元された3次元情報を対象に前記仮の3次元モデルを用いた認識処理を実行してその認識結果の正否を判定する第2ステップとを実行し、
前記第2ステップにおいて前記3次元モデルを用いた認識処理の結果が正しくないと判定したときは、その認識処理の対象となった3次元情報を、2回目から現時点までの各3次元計測に対して実行された第1ステップによる認識結果に基づき、仮の3次元モデルに整合するように座標変換して、変換後の3次元情報を仮の3次元モデルに追加し、
前記複数回の3次元計測およびこれに伴うすべての処理が終了したとき、その時点の3次元モデルを確定する、3次元モデルの作成方法。
【請求項5】
請求項1に記載された方法において、
前記実物モデルを任意の角度で回転させて3次元計測を実行する処理を複数回実行することを条件に、1回目の3次元計測により復元された3次元情報を仮の3次元モデルに設定し、以後の3次元計測が行われる毎に、その計測により復元された3次元情報を対象に前記仮の3次元モデルを用いた認識処理を実行してその認識結果の正否を判定し、
前記仮の3次元モデルによる認識処理の結果が正しくないと判定したときは、実物モデルに対する計測方向が一段階前の計測方向に近づくように実物モデルを回転させて3次元計測を行うステップと、この3次元計測により復元された3次元情報を対象に前記仮の3次元モデルを用いた認識処理を実行してその認識結果の正否を判定するステップとを、認識結果が正しいと判定されるまで実行し、正しいと判定された認識結果に対応する3次元情報を、その認識結果に基づき座標変換して、変換後の3次元情報を仮の3次元モデルに追加した後に、前記認識処理の結果が正しくないと判定したときの状態に戻る方向に前記実物モデルを回転させ、
前記実物モデルとステレオカメラとの位置関係が所定の状態になったときの3次元計測およびこれに伴う処理がすべて終了したとき、その時点の3次元モデルを確定する、3次元モデルの作成方法。
【請求項6】
ステレオカメラを用いた3次元計測により認識対象物の3次元情報を復元する3次元計測手段と、復元された3次元情報をあらかじめ登録した3次元モデルと照合することにより認識対象の物体の位置および姿勢を認識する認識処理手段と、認識対象物の実物モデルに対してそれぞれ異なる方向から3次元計測を行うことにより復元された複数の3次元情報を位置を合わせて統合することによって、前記認識処理手段により使用される3次元モデルを作成した後に、当該3次元モデルを登録する3次元モデル登録手段とを具備する装置であって、
前記3次元モデル登録手段は、
前記実物モデルに対する3次元計測手段の処理により復元された複数の3次元情報のうち、2回目以降の計測により復元された3次元情報を、それぞれ一段階前に復元された3次元情報と照合して双方の3次元情報間の対応関係を認識する対応関係認識手段と、
前記複数回の3次元計測により復元された複数の3次元情報のうちの一部に相当する2以上の3次元情報を選択し、選択された3次元情報の1つを基準として、他の3次元情報を、それぞれ当該3次元情報に対応する計測と基準の3次元情報に対応する計測との間の各計測に関して前記対応関係認識手段により認識された3次元情報間の対応関係に基づき、基準の3次元情報に整合するように座標変換し、変換後の3次元情報を基準の3次元情報に統合することにより前記仮の3次元モデルを作成する仮モデル作成手段と、
前記複数の3次元情報のうち仮の3次元モデルに統合されなかった情報に順に着目して、着目した3次元情報を前記仮の3次元モデルにより認識し、その認識結果の正否を判定する認識結果確認手段と、
前記認識結果確認手段が前記認識処理の結果が正しくないと判定したとき、その時点での着目中の3次元情報を、当該3次元情報に対応する計測と前記基準の3次元情報に対応する計測との間の各計測に関して前記対応関係認識手段により認識された3次元情報間の対応関係に基づき、基準の3次元情報に整合するように座標変換し、変換後の3次元情報を仮の3次元モデルに追加することにより前記仮の3次元モデルを更新するモデル更新手段と、
前記認識処理の結果が正しくないと判定された3次元情報の全てが追加された3次元モデルを登録対象として確定するモデル確定手段とを、
具備することを特徴とする物体認識装置。
【請求項7】
ステレオカメラを用いた3次元計測により認識対象物の3次元情報を復元する3次元計測手段と、復元された3次元情報をあらかじめ登録した3次元モデルと照合することにより認識対象の物体の位置および姿勢を認識する認識処理手段と、認識対象物の実物モデルに対してそれぞれ異なる方向から3次元計測を行うことにより復元された複数の3次元情報を、位置を合わせて統合することによって、前記認識処理手段により使用される3次元モデルを作成した後に、当該3次元モデルを登録する3次元モデル登録手段とを具備する装置であって、
前記3次元モデル登録手段は、
前記3次元計測手段が実物モデルに対する最初の計測を実行したのに応じて、その計測により復元された3次元情報を仮の3次元モデルに初期設定する仮モデル設定手段と、
前記3次元計測手段が実物モデルに対する2回目以降の計測を実行する都度、その計測により復元された3次元情報を対象に前記仮の3次元モデルを用いた認識処理を実行し、その認識結果の正否について判定入力を受け付ける認識結果確認手段と、
前記認識結果確認手段が、実行した認識処理の結果が正しくないとする判定入力を受け付けたとき、この受付後に入力されたステレオ画像から復元された3次元情報のうち、前記認識結果確認手段による処理において前記仮の3次元モデルを用いた認識処理の結果が正しいとする判定入力を受け付けた最初の情報を、その認識結果に基づき座標変換し、変換後の3次元情報を前記仮の3次元モデルに追加することによって、3次元モデルを更新するモデル更新手段と、
前記実物モデルに対する3次元計測およびこれに伴う認識結果確認手段ならびにモデル更新手段の処理がすべて終了したとき、その時点の3次元モデルを登録対象として確定するモデル確定手段とを、
具備することを特徴とする物体認識装置。
【請求項1】
ステレオカメラを用いた3次元計測を認識対象物の実物モデルに対してそれぞれ異なる方向から実施することにより復元された複数の3次元情報を、位置を合わせて統合することによって、前記認識対象物の3次元モデルを作成する方法であって、
前記実物モデルに対する少なくとも1回の3次元計測により復元された3次元情報を用いて仮の3次元モデルを作成し、
前記実物モデルに対し前記仮の3次元モデルの作成に用いられた3次元情報を復元したときとは異なる方向を計測方向として実施した3次元計測について、その計測により復元された3次元情報を前記仮の3次元モデルにより認識してその認識結果の正否を判定し、
前記仮の3次元モデルによる認識処理の結果が正しくないと判定したときに認識対象となった3次元情報、または当該認識対象の3次元情報を復元したときの計測方向に対する角度ずれが所定値以内となる方向からの計測により復元され、かつ前記3次元モデルによる認識処理の結果が正しいと判定された3次元情報を、仮の3次元モデルに整合するように座標変換して、変換後の3次元情報を仮の3次元モデルに追加し、この追加処理が完了した時点の3次元モデルを前記認識対象物の認識に用いるモデルとして確定する、
ことを特徴とする3次元モデルの作成方法。
【請求項2】
請求項1に記載された方法において、
前記実物モデルに対し、毎回異なる計測方向を設定して複数回の3次元計測を実施するとともに、2回目以降の3次元計測により復元された3次元情報をそれぞれ一段階前の計測により復元された3次元情報と照合して、双方の3次元情報間の対応関係を認識し、
前記複数回の3次元計測に伴い復元された複数の3次元情報のうちの一部に相当する2以上の3次元情報を選択し、選択された3次元情報の1つを基準として、他の3次元情報を、それぞれ当該3次元情報に対応する計測と基準の3次元情報に対応する計測との間の各計測に関して認識された3次元情報間の対応関係に基づき、基準の3次元情報に整合するように座標変換し、変換後の3次元情報を基準の3次元情報に統合することにより前記仮の3次元モデルを作成し、
前記複数の3次元情報のうち仮の3次元モデルに統合されなかった3次元情報を順に処理対象として、仮の3次元モデルを用いた認識処理を実行してその認識結果の正否を判定するとともに、認識処理の結果が正しくないと判定したときは、その認識処理の対象となった3次元情報を、当該3次元情報に対応する計測と前記基準の3次元情報に対応する計測との間の各計測に関して復元された3次元情報間の認識された対応関係に基づき、基準の3次元情報に整合するように座標変換して、変換後の3次元情報を仮の3次元モデルに追加し、
3次元モデルに統合されなかった全ての3次元情報に対する処理が終了したとき、その時点の3次元モデルを確定する、3次元モデルの作成方法。
【請求項3】
請求項1に記載された方法において、
前記実物モデルに対し毎回異なる計測方向を設定して実施した複数回の3次元計測により復元された複数の3次元情報を用いて仮の3次元モデルを作成した後に、前記実物モデルに対し、前記仮の3次元モデルの作成時に設定したいずれの計測方向とも異なるように計測方向を毎回変更して3次元計測を実行する処理を、複数回実行し、
前記複数回の3次元計測の1回目の3次元計測により復元された3次元情報を対象に、前記仮の3次元モデルによる認識処理を実行した後に、2回目以降の計測の都度、その計測により復元された3次元情報を一段階前に復元された3次元情報と照合して双方の3次元情報間の対応関係を認識する第1ステップと、当該計測により復元された3次元情報を対象に、前記仮の3次元モデルを用いた認識処理を実行してその認識結果の正否を判定する第2ステップとを実行するともに、2回目以降の計測により復元された3次元情報に対する認識処理の結果が正しくないと判定したときは、前記第1回目の3次元計測により復元された3次元情報に対する認識結果、および2回目から現時点までに実施された各3次元計測に対する第1ステップの認識結果に基づき、前記認識処理の結果が正しくないと判定された3次元情報を仮の3次元モデルに整合するように座標変換して、変換後の3次元情報を仮の3次元モデルに追加し、
前記複数回の3次元計測およびこれに伴う処理がすべて終了したとき、その時点の3次元モデルを確定する、3次元モデルの作成方法。
【請求項4】
請求項1に記載された方法において、
前記実物モデルに対する計測方向を毎回変更して3次元計測を実行する処理を複数回実行し、
1回目の3次元計測により復元された3次元情報を仮の3次元モデルに設定し、以後の3次元計測において、それぞれこの3次元計測により復元された3次元情報を一段階前に復元された3次元情報と照合して双方の3次元情報間の対応関係を認識する第1ステップと、当該3次元計測により復元された3次元情報を対象に前記仮の3次元モデルを用いた認識処理を実行してその認識結果の正否を判定する第2ステップとを実行し、
前記第2ステップにおいて前記3次元モデルを用いた認識処理の結果が正しくないと判定したときは、その認識処理の対象となった3次元情報を、2回目から現時点までの各3次元計測に対して実行された第1ステップによる認識結果に基づき、仮の3次元モデルに整合するように座標変換して、変換後の3次元情報を仮の3次元モデルに追加し、
前記複数回の3次元計測およびこれに伴うすべての処理が終了したとき、その時点の3次元モデルを確定する、3次元モデルの作成方法。
【請求項5】
請求項1に記載された方法において、
前記実物モデルを任意の角度で回転させて3次元計測を実行する処理を複数回実行することを条件に、1回目の3次元計測により復元された3次元情報を仮の3次元モデルに設定し、以後の3次元計測が行われる毎に、その計測により復元された3次元情報を対象に前記仮の3次元モデルを用いた認識処理を実行してその認識結果の正否を判定し、
前記仮の3次元モデルによる認識処理の結果が正しくないと判定したときは、実物モデルに対する計測方向が一段階前の計測方向に近づくように実物モデルを回転させて3次元計測を行うステップと、この3次元計測により復元された3次元情報を対象に前記仮の3次元モデルを用いた認識処理を実行してその認識結果の正否を判定するステップとを、認識結果が正しいと判定されるまで実行し、正しいと判定された認識結果に対応する3次元情報を、その認識結果に基づき座標変換して、変換後の3次元情報を仮の3次元モデルに追加した後に、前記認識処理の結果が正しくないと判定したときの状態に戻る方向に前記実物モデルを回転させ、
前記実物モデルとステレオカメラとの位置関係が所定の状態になったときの3次元計測およびこれに伴う処理がすべて終了したとき、その時点の3次元モデルを確定する、3次元モデルの作成方法。
【請求項6】
ステレオカメラを用いた3次元計測により認識対象物の3次元情報を復元する3次元計測手段と、復元された3次元情報をあらかじめ登録した3次元モデルと照合することにより認識対象の物体の位置および姿勢を認識する認識処理手段と、認識対象物の実物モデルに対してそれぞれ異なる方向から3次元計測を行うことにより復元された複数の3次元情報を位置を合わせて統合することによって、前記認識処理手段により使用される3次元モデルを作成した後に、当該3次元モデルを登録する3次元モデル登録手段とを具備する装置であって、
前記3次元モデル登録手段は、
前記実物モデルに対する3次元計測手段の処理により復元された複数の3次元情報のうち、2回目以降の計測により復元された3次元情報を、それぞれ一段階前に復元された3次元情報と照合して双方の3次元情報間の対応関係を認識する対応関係認識手段と、
前記複数回の3次元計測により復元された複数の3次元情報のうちの一部に相当する2以上の3次元情報を選択し、選択された3次元情報の1つを基準として、他の3次元情報を、それぞれ当該3次元情報に対応する計測と基準の3次元情報に対応する計測との間の各計測に関して前記対応関係認識手段により認識された3次元情報間の対応関係に基づき、基準の3次元情報に整合するように座標変換し、変換後の3次元情報を基準の3次元情報に統合することにより前記仮の3次元モデルを作成する仮モデル作成手段と、
前記複数の3次元情報のうち仮の3次元モデルに統合されなかった情報に順に着目して、着目した3次元情報を前記仮の3次元モデルにより認識し、その認識結果の正否を判定する認識結果確認手段と、
前記認識結果確認手段が前記認識処理の結果が正しくないと判定したとき、その時点での着目中の3次元情報を、当該3次元情報に対応する計測と前記基準の3次元情報に対応する計測との間の各計測に関して前記対応関係認識手段により認識された3次元情報間の対応関係に基づき、基準の3次元情報に整合するように座標変換し、変換後の3次元情報を仮の3次元モデルに追加することにより前記仮の3次元モデルを更新するモデル更新手段と、
前記認識処理の結果が正しくないと判定された3次元情報の全てが追加された3次元モデルを登録対象として確定するモデル確定手段とを、
具備することを特徴とする物体認識装置。
【請求項7】
ステレオカメラを用いた3次元計測により認識対象物の3次元情報を復元する3次元計測手段と、復元された3次元情報をあらかじめ登録した3次元モデルと照合することにより認識対象の物体の位置および姿勢を認識する認識処理手段と、認識対象物の実物モデルに対してそれぞれ異なる方向から3次元計測を行うことにより復元された複数の3次元情報を、位置を合わせて統合することによって、前記認識処理手段により使用される3次元モデルを作成した後に、当該3次元モデルを登録する3次元モデル登録手段とを具備する装置であって、
前記3次元モデル登録手段は、
前記3次元計測手段が実物モデルに対する最初の計測を実行したのに応じて、その計測により復元された3次元情報を仮の3次元モデルに初期設定する仮モデル設定手段と、
前記3次元計測手段が実物モデルに対する2回目以降の計測を実行する都度、その計測により復元された3次元情報を対象に前記仮の3次元モデルを用いた認識処理を実行し、その認識結果の正否について判定入力を受け付ける認識結果確認手段と、
前記認識結果確認手段が、実行した認識処理の結果が正しくないとする判定入力を受け付けたとき、この受付後に入力されたステレオ画像から復元された3次元情報のうち、前記認識結果確認手段による処理において前記仮の3次元モデルを用いた認識処理の結果が正しいとする判定入力を受け付けた最初の情報を、その認識結果に基づき座標変換し、変換後の3次元情報を前記仮の3次元モデルに追加することによって、3次元モデルを更新するモデル更新手段と、
前記実物モデルに対する3次元計測およびこれに伴う認識結果確認手段ならびにモデル更新手段の処理がすべて終了したとき、その時点の3次元モデルを登録対象として確定するモデル確定手段とを、
具備することを特徴とする物体認識装置。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【公開番号】特開2010−113398(P2010−113398A)
【公開日】平成22年5月20日(2010.5.20)
【国際特許分類】
【出願番号】特願2008−283154(P2008−283154)
【出願日】平成20年11月4日(2008.11.4)
【出願人】(000002945)オムロン株式会社 (3,542)
【Fターム(参考)】
【公開日】平成22年5月20日(2010.5.20)
【国際特許分類】
【出願日】平成20年11月4日(2008.11.4)
【出願人】(000002945)オムロン株式会社 (3,542)
【Fターム(参考)】
[ Back to top ]