3次元モデルの作成方法および物体認識装置
【課題】登録される3次元モデルの精度を確保する。
【解決手段】3次元認識の対象とするワークの実物モデルをそれぞれ異なる方向から計測することにより復元された3次元情報a,b,cのうちの情報aを基準として、他の3次元情報b,cをそれぞれ基準の3次元情報に位置合わせされるように座標変換し、変換後の3次元情報b´,c´および基準の3次元情報aをすべて含む3次元情報dを作成する。この3次元情報dは3次元モデルとして仮登録される。一方で、統合された3次元情報a,b´,c´間の差異量を算出し、この差異量に基づく評価指数を3次元モデルが表す輪郭パターンのイメージ図と共に表示する。ユーザは、この表示画面で、同一部位を表す輪郭線のばらつき度合や評価指数の値から3次元モデルの精度を確認し、3次元モデルdを本登録するか否かを判定する。
【解決手段】3次元認識の対象とするワークの実物モデルをそれぞれ異なる方向から計測することにより復元された3次元情報a,b,cのうちの情報aを基準として、他の3次元情報b,cをそれぞれ基準の3次元情報に位置合わせされるように座標変換し、変換後の3次元情報b´,c´および基準の3次元情報aをすべて含む3次元情報dを作成する。この3次元情報dは3次元モデルとして仮登録される。一方で、統合された3次元情報a,b´,c´間の差異量を算出し、この差異量に基づく評価指数を3次元モデルが表す輪郭パターンのイメージ図と共に表示する。ユーザは、この表示画面で、同一部位を表す輪郭線のばらつき度合や評価指数の値から3次元モデルの精度を確認し、3次元モデルdを本登録するか否かを判定する。
【発明の詳細な説明】
【技術分野】
【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次元モデルを作成することができる。しかし、特許文献1の「未知の観測方向からの3次元情報を位置合わせする方法」を用いて3次元モデルを作成した場合には、下記の理由により、3次元モデルの精度を確保するのが困難であると思われる。
【0008】
特許文献1の「未知の観測方向からの3次元情報を位置合わせする方法」は、具体的には、実物モデルとステレオカメラとの位置関係を任意に変更して実行された2つのステレオ計測間でそれぞれの計測により復元した3次元情報を複数とおりに対応づけて一致度を算出し、一致度が最も高くなったときの対応関係を採用して位置合わせを行うものである。したがって、3次元情報間の対応づけを精度良く行うことができなければ、位置合わせの精度を確保できず、最終的な3次元モデルも精度が悪いものとなる。
【0009】
まず面取り部分や曲面が計測対象となる場合には、図14に示すような原因で対応づけの誤りが生じる場合がある。
図14は、認識対象物Sbのコーナー部に対してf1,f2の2方向からそれぞれステレオ計測を行う例を示すものである。この図は、認識対象物Sbの一断面であって、図中のR1,R2は、平坦面と曲率が大きな面との境界位置に相当する。
この例の場合、f1の方向からの計測では、図中のR1の位置に3次元のエッジが復元されるのに対し、f2の方向からの計測では、R2の位置に3次元のエッジが復元される。したがって、それぞれの方向からの計測により復元された3次元情報を対応づける際に、R1に対応するエッジとR2に対応するエッジとが誤って対応づけされ、その分、位置合わせの精度が劣化するおそれがある。
【0010】
図15は、繰り返し構造を含む部位の対応づけに誤りが生じた例を示す。繰り返し構造のエッジが不鮮明で、3次元情報の復元精度が悪くなった場合などには、このような誤った対応づけが生じるおそれがある。
また、対称形の部位を具備する物体を認識対象とする場合にも、対称形の部位の表と裏とが誤って対応づけられた状態が、正しいものとして認識される可能性がある。
【0011】
工業製品や成型品には面取り部分や曲面を含むものが多く、また繰り返し構造や対称形の部位も多く認められる。したがって、これらの物体に関する3次元モデルを作成する際には、上記のような原因により誤った位置合わせが行われて、その位置合わせ後の3次元情報を統合すると、その統合により作成された3次元モデルの精度が悪くなり、認識処理にも支障が生じる可能性がある。
【0012】
この発明は、この問題点に着目し、実物モデルのそれぞれ異なる姿勢を表す複数の3次元情報を統合した情報を3次元モデルとして登録する場合に、登録される3次元モデルの精度を確保できるようにすることを課題とする。
【課題を解決するための手段】
【0013】
この発明による3次元モデルの作成方法は、認識対象物の実物モデルに対し、ステレオカメラを用いた3次元計測により輪郭線の3次元情報を復元する処理を、実物モデルとステレオカメラとの位置関係を毎回任意に変更して実行する。そして複数回の計測により復元された3次元情報を位置合わせして、位置合わせ後の各3次元情報を統合することによって、認識対象物の3次元モデルを作成する。
【0014】
上記において、3次元計測により復元される3次元情報は、実物モデルの輪郭線の3次元形状を表す複数の3次元特徴データの集合体である。また3次元情報の位置合わせとは、各3次元情報を、それぞれの対応関係に基づき座標変換する処理をいう。
【0015】
位置合わせ後の3次元情報を統合する処理として、後記する具体例では、位置合わせされた3次元情報をすべて包含する構成の情報を作成するが、これに限定されるものではない。たとえば、1つの3次元情報のみに現れている輪郭パターンについては、その輪郭パターンを構成する座標をそのまま採用する一方で、複数の3次元情報間に重複して現れている輪郭パターンについては、いずれか1の輪郭パターンを選択する。または重複する輪郭パターン間で対応関係にある座標同士を組み合わせて、組み合わせ毎に各座標の平均値などの代表点の座標を求め、組み合わせ毎に得た代表点の座標を統合情報に組み込んでもよい。
【0016】
上記のようにそれぞれ異なる方向からの3次元計測により復元された2以上の3次元情報を位置合わせして統合する手法により3次元モデルを作成する場合には、各3次元情報が正しく位置合わせされたか否かによって、3次元モデルの精度も変化する。この点に鑑み、この発明による方法では、統合対象の複数の3次元情報を相互に照合して各3次元情報の中で重複する関係にある情報を抽出し、抽出された情報のそれぞれが表す輪郭パターン間の差異量を算出するステップと、この差異量に基づき、複数の3次元情報による統合情報の精度を表す評価値を決定するステップと、決定した評価値を出力するステップとを、複数の3次元情報を統合する前または統合後に実行する。
【0017】
上記において、差異量を算出するステップでは、たとえば3次元情報の照合により抽出された情報を、重複する関係にあるもの毎に組み合わせて、組み合わせ毎に差異量を算出する。評価値を決定するステップでは、たとえば、組み合わせ毎に算出された差異量の平均値や最大値、もしくはこれらの数値を3次元モデルの精度を示す数値(3次元情報間の一致度の高さを表す数値)に置き換えたものを評価値として決定する。
【0018】
統合対象の3次元情報の対応づけが正しく行われ、この対応づけの結果に基づいて各3次元情報を位置合わせした場合には、重複する関係にある情報による輪郭パターンの間の差異はごく小さなものとなる。これに対し、3次元情報間で誤った対応づけが行われると、位置合わせ後も、重複する関係にある情報による輪郭パターンがばらついて、差異量が大きくなる。上記の方法では、統合対象の3次元情報間で重複する関係にある情報による輪郭パターンのばらつき度合いを反映した具体的な数値を出力するので、ユーザは出力された数値に基づき、評価値に対応する統合情報を3次元モデルとして採用するか否かを判定することができる。よって、評価値により統合情報の精度が悪い場合には、統合対象の3次元情報の組み合わせを変更したり、3次元計測の条件を変更して再度計測を行うなどの措置をとることができ、精度の悪い3次元モデルが登録されるのを防止することができる。
【0019】
上記方法の好ましい態様では、評価値の出力後にこの評価値に対応する統合情報を3次元モデルとして採用するか否かの判定入力を受け付けるステップと、3次元モデルとして採用する旨の判定入力を受け付けたことに応じて、当該統合情報を3次元モデルとして確定するステップとを、さらに実行する。
【0020】
上記の態様によれば、ユーザが、出力された評価値によりモデルの精度が十分であることを判断した場合には、統合情報を3次元モデルとして採用する旨の判定入力を行うことによって、当該統合情報を3次元モデルとして確定することができる。なお、評価値の出力が3次元情報を統合する前に行われた場合には、上記の判定入力に応じて統合対象の3次元情報を位置合わせして統合する処理を実行してから、生成された統合情報を3次元モデルとして確定する。
【0021】
上記方法の他の好ましい態様では、位置合わせ後の3次元情報による輪郭パターンをすべて反映させた画像を生成するステップを、少なくとも評価値を出力するステップより前に実行する(差異量を算出するステップおよび評価値を決定するステップとの前後関係は問わない。)。また評価値を出力するステップとして、当該評価値を上記の画像とともに表示するステップを実行する。
【0022】
上記の態様によれば、ユーザは、評価値とともに、実際の輪郭パターンのばらつき度合を画像により確認することができるので、統合情報の精度をより容易に判別することが可能になる。
【0023】
上記方法の他の好ましい態様では、実物モデルに対する毎回の3次元計測において、輪郭線を表す3次元座標が複数の3次元セグメントにグループ化された構成の3次元情報を生成する。この場合の差異量を算出するステップにおいては、統合前の3次元情報間で対応関係にある3次元セグメントの組み合わせ毎に、その組み合わせに関する差異量を算出する。または、差異量を算出するステップにおいて、統合前の3次元情報間で、各3次元セグメントの間の交点を対応するもの毎に組み合わせて、組み合わせ毎に当該組み合わせに関する差異量を算出する。
【0024】
上記のように、3次元情報間で対応する部位毎に差異量を算出する場合には、これらの差異量を個別に出力したり、各差異量を所定の許容値と比較して、許容値を超える差異量が現れた部位を特定し、その特定結果を出力するのが望ましい。このようにすれば、ユーザは、各部位と差異量との関係を詳細に分析して、表示中の候補を3次元モデルとして採用するか否かを判定することができる。たとえば、許容値を超える差異量が算出された場合に、その差異量がどの部位に生じているかや、許容値を超える差異量が生じた部位の数によって、統合情報を3次元モデルとして採用するか否かの判定結果を切り分けることができる。
【0025】
上記方法における他の好ましい態様では、毎回の3次元計測において、幾何学的特徴が既知のマークが取り付けられた実物モデルを対象に、このマークがステレオカメラを構成するすべてのカメラの視野に含まれる状態になるように実物モデルと各カメラとの位置関係を調整する。また、差異量を算出するステップでは、上記の既知の幾何学的特徴に基づくマークの輪郭パターンにより統合対象の各3次元情報を照合してマークの輪郭パターンを抽出し、各3次元情報から抽出した輪郭パターン間の差異量を算出する。
【0026】
上記の態様では、3次元計測において常にマークの輪郭パターンを含む3次元情報が復元されるようにし、復元された各3次元情報により3次元モデルの候補を作成した後に、この候補に含まれるマークの輪郭パターン間の差異量を算出する。よって、統合された3次元情報のすべてに重複する情報に基づき、すべての3次元情報間のばらつき度合いを反映した評価値を求めることが可能になる。
【0027】
なお、上記の態様において、評価値に対応する統合情報を3次元モデルとして採用することが決定した場合には、マークに対応する情報を含まない統合情報を3次元モデルとするのが望ましい(既に統合情報を生成している場合には、マークに対応する情報を消去または無効化して、この処理後の統合情報を登録する。)。実際の認識対象物にはマークが付与されていないので、マークの情報を持つ3次元モデルを使用すると、認識精度が低下する可能性があるからである。
【0028】
上記の方法が適用された物体認識装置は、ステレオカメラを用いた3次元計測により認識対象物の輪郭線の3次元情報を復元する3次元計測手段と、復元された3次元情報をあらかじめ登録した3次元モデルと照合することにより認識対象物の位置および姿勢を認識する認識処理手段と、前記認識対象物の実物モデルに対し3次元計測手段がそれぞれ異なる方向から実行した3次元計測により復元された複数の3次元情報を位置合わせして、位置合わせ後の各3次元情報を統合することにより認識処理手段により使用される3次元モデルを作成する3次元モデル作成手段と、作成された3次元モデルを登録する3次元モデル登録手段とを具備する。さらに3次元モデル作成手段には、以下の差異量算出手段、評価値決定手段、および出力手段が設けられる。
【0029】
差異量算出手段は、統合対象の複数の3次元情報を相互に照合して各3次元情報の中で重複する関係にある情報を抽出し、抽出された情報のそれぞれが表す輪郭パターン間の差異量を算出する。評価値決定手段は、算出された差異量に基づき、複数の3次元情報による統合情報の精度を表す評価値を決定し、出力手段は、評価値決定手段が決定した評価値を出力する。
【0030】
上記構成の装置によれば、認識対象物の実物モデルに対する複数回の3次元計測により復元された3次元情報を用いて3次元モデルを作成する際に、各3次元情報による統合情報の精度を確認した上で3次元モデルとして登録することが可能になる。よって、登録された3次元モデルにより精度の良い認識処理を実施することができる。
【0031】
上記の物体認識装置の一態様では、3次元モデル作成手段には、評価値の出力後にこの評価値に対応する統合情報を3次元モデルとして採用するか否かの判定入力を受け付ける入力手段と、入力手段が統合情報を3次元モデルとして採用する旨の判定入力を受け付けたとき、当該統合情報を3次元モデルとして確定するモデル確定手段とが、さらに含まれる。
【0032】
さらに好ましい態様では、3次元モデル作成手段は、位置合わせ後の3次元情報による輪郭パターンをすべて反映させた画像を生成する画像生成手段を、さらに具備する。また出力手段は、評価値を、画像生成手段により生成された画像とともに表示する手段として構成される。
【0033】
さらに他の好ましい態様の装置には、実物モデルの表面に取り付けられることを前提に作成されたマークについて、その幾何学的特徴に基づく輪郭パターンを登録するための登録手段がさらに設けられる。また、差異量算出手段は、登録手段に登録された輪郭パターンにより統合対象の3次元情報を照合してマークの輪郭パターンを抽出し、各3次元情報から抽出した輪郭パターン間の差異量を算出する。
【0034】
上記の態様によれば、登録されたマークを取り付けた実物ワークを対象に、ステレオカメラとの位置関係を毎回変更して複数回の3次元計測を実行することにより、各計測により復元された3次元情報による3次元モデルの候補を作成し、その候補の精度を、マークの輪郭パターンの差異量に基づき確認してから登録することが可能になる。
【発明の効果】
【0035】
この発明によれば、実物モデルに対する3次元計測により復元された複数の3次元情報を、これらの対応関係に基づいて位置合わせして統合する方法により3次元モデルを作成する場合に、各3次元情報による統合情報の精度を表す評価値を出力するので、3次元情報間の対応づけの誤りにより精度の悪い3次元モデルが作成されて、そのまま登録されるのを防止することができる。よって、登録される3次元モデルの精度を確保することができ、3次元認識処理を安定して行うことが可能になる。
【発明を実施するための最良の形態】
【0036】
(1)装置構成
図1は、3次元認識処理を適用したピッキングシステムの例を示す。
このピッキングシステムは、工場内で収容ボックス6内に収容されたワークWを1つずつ取り出して所定の位置に搬送する作業を行うためのもので、実際の作業を行う多関節ロボット4や、このロボット4の動作を制御するロボット制御装置3が含まれる。さらに、このピッキングシステムには、処理対象のワークWの位置および姿勢を認識するために、ステレオカメラ1および物体認識装置2が設けられる。
【0037】
ステレオカメラ1は、位置関係が固定された3台のカメラ11,12,13により構成される。物体認識装置2には、カメラ11,12,13の位置関係や光軸の向きなどを表す情報や、認識対象のワークWの3次元モデルが登録されており、各カメラ11,12,13から入力したステレオ画像を処理して、ワークWの輪郭線の3次元情報を復元した後に、復元した3次元情報を3次元モデルと照合してワークWの位置や姿勢を認識する。この認識結果を示す情報は、物体認識装置2からロボット制御装置3に出力され、ロボット制御装置3において、ロボット4のアーム40の動作を制御する処理に使用される。
【0038】
図2は、物体認識装置2のハードウェア構成を示す。
この装置には、各カメラ11,12,13に対応する画像入力部21,22,23のほか、CPU24、メモリ25、入力部26、表示部27、通信インターフェース28などが設けられる。入力部26はキーボードやマウスなど、ユーザの操作により情報を入力するためのものであり、表示部27は液晶モニタである。入力部26および表示部27は、以下に述べる3次元モデルの作成の際に、ユーザが実物モデルの撮像状態を確認したり、選択操作や設定操作を行う用途に用いられる。通信インターフェース28は、ロボット制御装置4との通信に用いられる。
【0039】
メモリ25は、ROM,RAM,およびハードディスクなどの大容量メモリを含む。
CPU24は、メモリ25に格納されたプログラムに基づき、3次元計測およびワークWの認識に関する一連の処理を実行し、認識結果(具体的には、ワークWの位置を表す3次元座標、および3次元モデルに対する回転角度)を通信インターフェース28より出力する。
【0040】
また、メモリ25には3次元モデルを作成するためのプログラムも格納される。CPU24は、認識処理に先立ち、このプログラムに基づき、各カメラ11〜13から入力された実物モデルの画像を用いてワークWの3次元モデルを作成し、これをメモリ25内に登録する。
【0041】
さらに図2には示していないが、この実施例の物体認識装置2には、各カメラ11,12,13に駆動信号を出力する回路が設けられ、CPU24には、この回路を介して各カメラ11〜13の撮像動作を制御する機能が設定される。
【0042】
(2)3次元認識処理について
上記の物体認識装置2では、ステレオ画像からエッジを検出した後に、特許文献1に記載された発明と同様に、「セグメント」と呼ばれる単位毎に3次元情報を復元し、さらにセグメント単位で3次元モデルとの照合を行うようにしている。図3は、この方法により1つのワークを認識するために実行される処理の概略手順を示すものである。以下、この図3のステップ符号を参照しつつ、この実施例における3次元認識処理を説明する。
【0043】
まず、各カメラ11〜13によるステレオ撮像を行い、生成された各画像にエッジ抽出用のフィルタを適用して、画像中のエッジを検出する(ST1,2)。つぎに、検出されたエッジを細線化し(1画素幅のデータにする。)、細線化後のエッジを連結点や分岐点を基準に直線や曲線のセグメントに分割する(ST3,4)。この2次元画像上のエッジから抽出されたセグメントを、以下では「2次元セグメント」と呼ぶ。
【0044】
つぎに、画像間で対応関係にある2次元セグメントを対応づける処理を実行する(ST5)。この対応づけでは、3つの画像のうちの1つを基準に、この基準画像の各2次元セグメントに順に着目し、着目した2次元セグメント毎に、他の2つの画像の中から対応する2次元セグメントを特定する。すなわち、着目した2次元セグメントに対し、エピポーラ条件を満たし、近傍のセグメントとの連結関係が整合する2次元セグメントを、各画像から検出することになる(詳細については非特許文献1等を参照されたい。)。
【0045】
つぎに、上記の処理により対応づけられた各2次元セグメントの組み合わせ毎に、その対応関係から3次元情報を復元する処理を実行する(ST6)。
簡単に説明すると、対応づけられた2次元セグメントの組み合わせ毎に、そのセグメント間で対応関係にある画素の3次元座標を算出する。また、算出された3次元座標の分布状態を直線および円弧のモデルと照合して、これらの3次元座標の集合が直線/曲線のいずれに相当するかを判別する。この処理により、2次元セグメントの組み合わせ毎に、その組み合わせに対応する直線または曲線の3次元セグメントが特定される。
【0046】
さらに、ST6では、各3次元セグメントについて、それぞれそのセグメントをあらかじめ設定された間隔毎にサンプリングし、セグメントの種別(直線または曲線)と各サンプリング点の3次元座標とを対応づけた情報を作成する。これにより、2次元セグメントから算出された3次元座標の数が少なかった3次元セグメントについても、サンプリング間隔を細かくすれば、当初より多くの3次元座標を得ることが可能になる。
【0047】
上記の処理により復元された3次元セグメントの集合が、認識対象のワークの3次元情報に相当する。つぎの段階では、3次元座標系のあらかじめ定めた基準位置に3次元モデルを設定し、この3次元モデルと復元された3次元情報とを照合することによって、3次元モデルに対するワークの位置ずれ量および回転角度を認識する(ST7)。
【0048】
ST7における照合処理では、各3次元セグメントの交点を特徴点として、各特徴点を総当たり式に対応づけながら、その対応づけをした場合の各3次元セグメントの一致度を算出し、一致度が最大になったときの対応づけを正しい対応関係として特定する。
【0049】
ST7について、もう少し詳しく説明する。この実施例では、3次元モデル側の一特徴点に照合対象の3次元情報の各特徴点を順に対応づけて、対応づけ毎に、3次元モデル側の特徴点を対応点に移動させるのに必要なシフト量および回転角度を算出する。これらはいずれも、X,Y,Zの軸毎に算出される。つぎに、算出したシフト量および回転角度に基づいて、3次元モデルに含まれる全ての座標を変換し、変換後の3次元モデルと照合対象の3次元情報との一致度を算出する。
【0050】
上記の一致度の算出では、照合対象の3次元情報に含まれる個々の3次元セグメント毎に、3次元モデルに対する一致度を求め(以下、これを「セグメント単位の一致度」という。)、これらセグメント単位の一致度の総和や平均値などを全体の一致度とする。
セグメント単位の一致度の算出処理では、照合対象の3次元セグメントについて、3次元モデル側で最も近い位置にある3次元セグメントを特定し、このセグメントとの一致度を算出する。ただし、照合対象の3次元セグメントから所定距離以内に算出対象の3次元セグメントを見つけることができなかった場合には、一致度を0とする。また、ほぼ同じ距離を隔てて複数の3次元セグメントが存在する場合には、これらに対する一致度のうち最も高いものを採用する。
【0051】
上記のように、3次元モデル側の特徴点と照合対象の3次元情報の特徴点とを総当たり式に対応づけて、3次元モデルの座標変換および一致度の算出処理を実行する。そして、最終的に最も高い一致度が得られたときの座標変換に用いたシフト量および回転角度を、認識対象のワークWの3次元モデルに対する位置ずれ量および回転角度として認識する。
【0052】
この後は、認識した位置ずれ量および回転角度をロボット制御装置3に出力し(ST8)、処理を終了する。
【0053】
(3)3次元モデルの作成処理
3−1)第1実施例
上記した3次元認識処理を実行するには、あらかじめ、ワークWの3次元モデルをメモリ25に登録する必要がある。この実施例の物体認識装置では、ワークWの実物モデルを種々の方向からステレオ計測し、各計測結果から復元した3次元情報を統合する方法により、3次元モデルを作成するようにしている。以下、この処理について詳細に説明する。
なお、以下の図面では、ワークWの実物モデルをWMの符号で示すとともに、明細書中では、この実物モデルWMを「ワークモデルWM」という。
【0054】
第1実施例では、図4(1)に示すように、ステレオカメラ1の位置および光軸方向を固定して、ステレオカメラ1に対するワークモデルWMの姿勢を変更しながら複数回のステレオ計測を実行する。そして、各計測により復元された3次元情報のうちの所定数(2以上)を選択して、これらを統合することにより、ワークWの3次元モデルを作成する。
【0055】
図中、X,Y,Zの各軸による3次元座標系は、3次元座標の算出用の座標系(以下、「計測座標系」という。)であり、ステレオカメラ1に対して一意に定められる。一方、X1,Y1,Z1の各軸による3次元座標系は、ワークモデルWMに対して一意に定められた座標系(以下、「ワーク座標系」という。)である。図4(1)では、X1,Y1,Z1の各軸がそれぞれX,Y,Z軸に平行な状態を示すが、ワークモデルWMの姿勢が変わると、ワーク座標系の各軸の方向もこれに応じて変化する。
【0056】
ワークモデルWMの姿勢はユーザが自由に定めることができるが、この実施例では、常にX1Z1平面に沿う特定の面がワーク支持面(この例ではXZ平面)に接するものとして、XZ平面に直交するY1軸に対してワークモデルWMを1回転させ、その間に、複数回の撮像を行うものとする。なお、このワークモデルWMの回転は、回転テーブルを用いずに、ユーザの手でワークモデルWMの向きを変更する方法により行うので、回転角度のみならず、計測座標系に対するワークモデルWMの位置も、毎回位置ずれする。
【0057】
図4(2)は、ワーク座標系を基準にして、ワークモデルWMに対するステレオカメラ1の位置関係の変化を表したものである。図中、1〜12の数字入りの矩形は、それぞれ、撮像時のステレオカメラ1の場所を示し、また矩形内の数字は撮像の順序を示す。
これらの位置での撮像により生成されたステレオ画像は、いずれも3次元計測の対象となる。よって以下では、各矩形が表すステレオカメラの位置を「計測ポイント」と呼ぶ。また各計測ポイントに個別に言及する場合には、「計測ポイント[1]」「計測ポイント[2]」のように、計測の順序を表す数字を引用する。
【0058】
この実施例では、上記12個の計測ポイント毎に、図3のST1〜6と同様の処理を実行して3次元情報を復元する。また、計測ポイント[1]を除く各計測ポイントでは、それぞれその計測ポイントで復元した3次元情報を1つ前の計測ポイントの3次元情報と照合することにより、一段階前の3次元情報に対する位置ずれ量および回転角度を認識する。これらの認識処理は、いずれも図3のST7で実施されるのと同様の方法により行われる。
【0059】
なお、最後の計測ポイント[12]については、計測ポイント[11]の3次元情報に対する位置ずれ量および回転角度に加えて、計測ポイント[1]の3次元情報に対する位置ずれ量および回転角度も求める。または、計測ポイント[12]から再度計測ポイント[1]に移行して、計測を再実行し、復元された3次元情報の計測ポイント[12]の3次元情報に対する位置ずれ量および回転角度を求めてもよい。
【0060】
図5は、上記のワークモデルWMにつき、上記12の計測ポイントで復元された3次元情報のうちの3つ(図中、a,b,cで示す。)を用いて3次元モデルを作成する場合の処理手順を、模式的に示す。なお、図中の3次元情報aは、図4(2)の計測ポイント[12]で復元されたものである。また、3次元情報bは計測ポイント[3]で復元されたものであり、3次元情報cは計測ポイント[6]で復元されたものである。
【0061】
この例では、3次元情報aを基準に、この基準の3次元情報aに対する位置ずれおよび角度ずれが解消するように、他の3次元情報b,cを座標変換する。そして、変換後の3次元情報b´,c´を基準の3次元情報aと統合することによって、それぞれの情報の特徴を含む3次元情報dを作成する。さらに、この3次元情報dをワークWの3次元モデルとして仮登録した後に、この仮の3次元モデルのイメージ図(輪郭の3次元形状を表す画像をいう。)などをユーザの目8で確認する方法により、3次元モデルとしての精度を確認する。ここで十分な精度が認められた場合には、3次元情報dを本登録する。
【0062】
上記の3次元情報の座標変換処理は、先に計測ポイント毎に求めた位置ずれ量および回転角度を用いて行われる。たとえば、計測ポイント[3]で復元した3次元情報bを計測ポイント[12]で復元した3次元情報aに位置合わせするには、計測ポイント[3]と[2]、計測ポイント[2]と[1]、計測ポイント[1]と[12]の各組み合わせにつき求めた位置ずれ量および回転角度を用いて、座標変換を行う。計測ポイント[6]で復元した3次元情報cについても同様に、計測ポイント[6]から計測ポイント[12]までの範囲(この場合は時計回り・半時計回りのいずれでもよい。)で算出された位置ずれ量および回転角度を用いて、座標変換を実行することにより、3次元情報aへの位置合わせを行う。
【0063】
上記のように、距離を隔てた計測ポイント間の位置ずれ量および回転角度を求める際に、これらの間にある各計測ポイントを隣り合うもの毎に組み合わせて、計測ポイントの組毎に3次元情報の位置ずれ量および回転角度を算出する理由は、共通する特徴をできるだけ多く含む情報同士を照合する方が、照合の精度を確保できるからである。ただし、統合対象の3次元情報同士を直接照合する方法でも十分な精度が得られると思われる場合には、直接照合により、基準の3次元情報aに対する他の3次元情報b,cの位置ずれ量や回転角度を求めてもよい。
【0064】
つぎに、仮の3次元モデルとして設定された3次元情報dの精度を確認する処理について説明する。
この実施例では、仮の3次元モデルdに、統合対象の3次元情報a,b´,c´のすべてを含めるようにしている。したがって、ワークモデルWMの所定の部位について、統合前の3次元情報a,b´,c´のうちの2以上に当該部位を表す3次元セグメントが含まれている場合には、これらの3次元セグメントはすべて仮の3次元モデルdに引き継がれる。
【0065】
なお、前述したように、3次元モデルとの照合処理(図3のST7)では、照合対象の3次元セグメントに対し、3次元モデル側から対応する3次元セグメントを1つ特定して一致度を求める。したがって、照合対象の3次元セグメントの1つに対し、3次元モデル側に対応する3次元セグメントが複数存在しても、これらの3次元セグメント間の差異量が小さい場合には、どの3次元セグメントが対応づけられても特段の支障は生じない。
【0066】
複数の3次元情報にそれぞれ同一の部位を表す3次元セグメントが含まれている場合には、各3次元情報が正しく対応づけられて位置合わせされていれば、これらの3次元セグメント間には差異量が殆どないか、許容できる範囲の差異量しか生じないはずである。すなわち、これら同一の部位を表す3次元セグメントの間の差異量が小さい状態は、統合された3次元情報が正しく位置合わせされていることを意味するから、他の重複していない3次元セグメントの確度も保証されていると考えてよい。
【0067】
上記に対し、同一の部位を表す複数の3次元セグメント間の差異量が許容範囲を超える場合には、統合された3次元情報が正しく位置合わせされていないことを意味するから、他の重複していない3次元セグメントの確度を保証することもできない。
【0068】
上記の点に鑑み、この実施例では、仮の3次元モデルに統合される3次元情報内の3次元セグメントを対応するもの毎に組み合わせて、組み合わせ毎にその組における3次元セグメント間の差異量を求め、各差異量から、仮の3次元モデルの精度を表す評価指数を算出するようにしている。また統合処理が終了すると、図6に示すような確認用の画面を立ち上げて、ユーザに仮の3次元モデルの精度を判断させるようにしている。
【0069】
図6に示す画面には、画像表示用のウィンドウ30や、「OK」「NG」の各操作ボタン31,32(以下、「OKボタン31」「NGボタン32」という。)などが設けられている。ウィンドウ30内には、仮の3次元モデルの立体形状を表す画像として、この3次元モデルに統合された各3次元情報が表す輪郭パターンa1,b1,c1(それぞれ図5に示した3次元情報a,b´,c´に対応する。)が、前述の評価指数とともに表示されている。なお、各輪郭パターンa1,b1,c1は、それぞれ線種や色彩などを異なるものにして表示しても良いが、そのような区別をせずに、すべての輪郭パターンを同一の線種・同一の色彩で表してもよい。
【0070】
ユーザは、上記の画像表示および評価指数により、仮の3次元モデルに重複して組み込まれた3次元セグメントのばらつき度合を確認し、表示されている3次元モデルを本登録して良いかどうかを判断する。
【0071】
図6(1)に示すように、同一部位を表す輪郭線の間のばらつきが小さく、比較的高い評価指数が表示されている場合には、ユーザは3次元モデルの精度が確保されていると判断し、OKボタン31を操作する。この操作が行われると、表示されている3次元モデルが確定されて、メモリ25に本登録される。
【0072】
一方、図6(2)に示すように、同一部位を表す輪郭線の間に大きなばらつきが生じ、評価指数が低くなっている場合には、ユーザは、表示されている情報は3次元モデルとして不適当であると判断し、NGボタン32を操作する。この操作が行われた場合には、表示されている仮の3次元モデルは破棄(仮登録の取消を意味する。)される。
【0073】
仮の3次元モデルが破棄された場合には、ユーザは、現在の環境では精度の良い3次元計測を行うのが困難であるとして、計測環境の設定をやり直す作業(カメラ11〜13の位置関係の調整や3次元キャリブレーションなど)を実行する。この再設定が完了すると、再び、ワークモデルWMのステレオ計測が行われ、復元された3次元情報の位置合わせや統合処理により新たな3次元モデルが作成され、仮登録される。そしてこの仮の3次元モデルに対し、上記と同様の確認作業が実施される。
【0074】
このように、仮の3次元モデルの精度が確保されていることを確認できるまで、条件を変更して3次元モデルの作成処理を繰り返し、精度が良いことが確認された3次元モデルを本登録する。よって、登録された3次元モデルを用いた認識処理(図3)においても、ワークWの位置や姿勢を精度良く認識することが可能になる。
【0075】
図7は、評価指数を算出する処理の具体例をフローチャートとして表したものである。 以下、このフローチャートに沿って説明すると、この実施例では、まず、統合対象の3次元情報の3次元セグメントを照合することによって、これらの3次元情報間における3次元セグメントの対応関係を特定する(ST11)。具体的には、3次元情報を2つずつ組み合わせて、これらの間で所定距離以内に存在し、一致度が所定値以上になるセグメント同士を、対応関係にあるものとして特定する。
【0076】
以下では、少なくとも2つの3次元情報間で対応する関係が確認された3次元セグメントの組み合わせに順に着目し(ST12)、この組に含まれる3次元セグメントを2つずつ組み合わせて、各組の差異量を算出する(ST13)。たとえば、前出の3次元情報a,b´,c´にそれぞれ同じ特徴に対応する3次元セグメントA,B,Cが含まれる場合には、AとB、AとC、BとCとをそれぞれ組み合わせて、各組の差異量を算出することになる。また差異量としては、組み合わせられたセグメント間の距離や、これらの3次元セグメントが示す方向の角度差などを算出する。
【0077】
この後は、各組につき算出された差異量の平均値(差異量の総和を3次元セグメントの組み合わせ数により除算したもの)を求め、これをセグメント単位の差異量SDiとする(ST14)。さらにこの差異量SDiを、全体の差異量TD(初期値は0とする。)に加算する(ST15)。
【0078】
このように、対応関係が特定された3次元セグメントの組み合わせ毎に上記ST12〜15の処理を実行することにより、対応関係にあるセグメント間の差異量SDiを個別に算出するとともに、算出の都度、全体の差異量TDを更新する。
【0079】
すべての組み合わせに対する処理が終了すると、その時点でのTDの値をパーセント換算する(ST17)。さらに、このパーセント換算された差異量TD%を100から差し引く演算を実行し、その演算結果を評価指数とする(ST18)。
【0080】
なお、上記では、対応関係にある3次元セグメントの組み合わせ毎の差異量を統括することで、3次元モデルの候補の全体の評価指数を求めたが、これに限らず、3次元セグメントの組み合わせ毎に評価指数を求めてもよい。またこの場合には、前出の図6に示した確認画面において、算出された評価指数とその算出対象の3次元セグメントとの関係を確認できるような表示を実行するのが望ましい。たとえば、同一の部位を表す輪郭線が複数表示されている箇所にマウスカーソルを近づけると、そのカーソルの近傍に、これらの輪郭パターンに対応する評価指数が表示されるようにする方法が考えられる。
【0081】
また上記の例の評価指数は、3次元セグメント間のばらつきが小さいほど値が高くなるが、これに代えて、差異量そのものを用いて、3次元セグメントのばらつき度合が大きいほど、値が大きくなるような評価指数を設定してもよい。
【0082】
また、上記の例では、対応関係にある3次元セグメントの組み合わせ毎に差異量を算出したが、これに代えて、3次元セグメント間の交点を対応関係にあるもの毎に組み合わせて、各組み合わせ毎の差異量(交点間の距離など)を算出してもよい。
【0083】
つぎに、図8は、ワークモデルWMに対するステレオ計測を行ってから3次元モデルを登録するまでの処理の手順をフローチャートにまとめたものである。以下、このフローチャートの流れに沿って、この実施例の3次元モデルの作成手順を説明する。
【0084】
この実施例では、計測時のワークモデルWMの位置決めをユーザの裁量にゆだねることから、計測処理の間は、各カメラ11〜13からのプレビュー画像を表示部27に表示するようにしている。ユーザが、この表示画面で各カメラ11〜13によりワークモデルWMが正しく撮像されているかどうかを確認して、計測指示の操作を行うと、図13中の「ステレオ計測」のステップ(ST101)が実行される。このステップST101では、具体的にはステレオ撮像から3次元情報の復元までの処理(図3のST1〜6と同様のもの)が実行される。
【0085】
1回目のステレオ計測により最初の3次元情報が復元された場合(ST102が「YES」)には、その3次元情報を保存した後に、ST101に戻って2回目のステレオ計測を実行する。一方、2回目以降のステレオ計測が行われた場合には(ST102が「NO」)、当該計測により復元された3次元情報を一段階前の3次元情報と照合して、一段階前に対する位置ずれおよび回転角度を認識する(ST103)。さらに、回転角度については、認識した値を毎回加算する方法によって、1回目の計測により復元された3次元情報に対する回転角度を算出する(ST104)。
【0086】
つぎに、この実施例では、最初の3次元情報に対する回転角度(ST104で算出したもの)が360度を超えたことをもって、ステレオカメラ1に対してワークモデルWMが1回転したと判断する(ST105)。またワークモデルWMが1回転したと判断するまでは、ST101〜105の処理を繰り返す。
【0087】
最初の3次元情報に対してワークモデルWMが1回転したと判定すると、ST101〜105のループを終了し、統合対象の3次元情報を選択する(ST106)。たとえば、ST103で求めた回転角度に基づき、それぞれが表すワークモデルWMの向きが一定角度以上異なるものになるように、統合対象の3次元情報を選択する。または、復元された3次元情報の輪郭パターンを表す画像を表示部27に順に表示して、ユーザによる選択を受け付けてもよい。
【0088】
統合対象の3次元情報が選択されると、そのうちの1つを基準として、この基準の3次元情報に他の3次元情報を位置合わせし(ST107)、位置合わせ後の各3次元情報を統合する(ST108)。そして、統合された3次元情報を3次元モデルとして仮登録する(ST109)。
【0089】
つぎのST110〜113のループは、3次元モデルの精度を高めることを目的とするものである。3次元情報の統合対象を、特定の範囲の計測によるものに偏らないように配慮して選択して3次元モデルを作成しても、ワークモデルWMの形状によっては、ワークモデルWMの姿勢がわずかに変化しただけで、統合された3次元情報による認識が不可能になる場合がある。上記ST110〜113ではこの点を考慮して、統合から除外された3次元情報を順に対象として、その3次元情報が統合された情報により正しく認識できるかどうかを判定し、認識に誤りが生じたと判定された3次元情報を3次元モデルに追加する。
【0090】
このループにおいては、まず統合対象として選択されなかった3次元情報を順に対象として、仮登録された3次元モデルによる照合を行って、この3次元モデルに対する位置ずれ量および回転角度を算出する(ST110)。つぎにこれらの算出値を、計測ポイント毎に求めた位置ずれ量および回転角度から導出した値と比較することにより、正しい認識が行われた否かを判定する(ST111)。
【0091】
ここで、照合対象の3次元情報を正しく認識できなかったと判定した場合(ST111が「NO」)には、照合に用いられた3次元情報を3次元モデルに位置合わせして、3次元モデルに追加する(ST112)。一方、照合対象の3次元情報を正しく認識できた場合(ST111が「YES」)には、この3次元情報を3次元モデルに追加せずに、つぎに進む。なお、3次元モデルに新たな3次元情報を追加する場合の位置合わせでも、計測ポイント毎に求めた位置ずれ量および回転角度に基づく座標変換処理を実行する。
【0092】
上記の処理によれば、仮登録された3次元モデルにそのモデルでは認識できなかった3次元情報が追加されるので、以後の3次元モデルで同様の誤認識が生じることはなくなり、3次元モデルの精度を向上することができる。一方で、正しく認識できた3次元情報が3次元モデルに追加されることはないので、3次元モデルの容量が増えるのを防止できる。
【0093】
ST113までの処理により3次元モデルに含められる3次元情報が定まると、この3次元モデルの評価指数を算出する処理を実行する(ST114)。具体的には、3次元モデルへの統合対象として選択された3次元情報、および3次元モデルの仮登録後に当該3次元モデルに追加された3次元情報を対象に、図7により説明した手順を実行して評価指数を算出する。さらに、図6に示した確認用画面を立ち上げて、この画面に、3次元モデルのイメージ図および算出された評価指数を表示する(ST115)。
【0094】
この表示に対し、OKボタン31が操作された場合(ST116が「YES」)には、仮の3次元モデルからノイズを除去する処理(ST117)を実行した後に、ノイズ除去後の3次元モデルを本登録し(ST118)、処理を終了する。
【0095】
ST117のノイズ除去処理では、たとえば、3次元モデルを構成する3次元セグメントの中で、長さが所定のしきい値以下のものや、3次元座標のサンプル点数が所定数以下のものを削除する。またXZ平面上の3次元座標の分布状態から影に相当するものを検出し、これを削除する。このように、短い3次元セグメント、サンプル点数の少ない3次元セグメント、影を表す3次元セグメントなどを削除することにより、照合処理において誤った対応づけがされるのを防止できる。また3次元モデルの容量が削減されるので、照合処理の時間を短縮することができる。
【0096】
一方、3次元モデルのイメージ図や評価指数の表示に対して、NGボタン32が操作された場合(ST116が「NO」)には、3次元モデルの仮登録を取り消す(ST119)。この場合には、前述したように計測環境等の再設定が行われた後に、図8の手順を最初からやり直すことになる。
【0097】
上記の実施例によれば、ワークモデルWMとステレオカメラ1との関係を少しずつ変更しながら計測を行うことによって、2回目以降の計測毎に算出される位置ずれ量や回転角度の精度を確保することができ、これらによって、3次元モデルに統合される3次元情報の位置合わせの精度を確保することができる。さらに、3次元モデルの輪郭線の中に誤った対応づけを生じさせるような要素があって、これにより各3次元情報の位置合わせの精度が低下した場合にも、3次元モデルのイメージ図や評価指数の表示からこれを容易に確認することができるので、精度の悪い3次元モデルが登録されるのを防止することができる。
【0098】
ただし、作成された3次元モデルをそのまま登録するという選択肢と、登録せずに破棄するという選択肢のほかに、一部を修正して登録する、という選択肢を設けてもよい。たとえば、対応関係にある3次元セグメント同士の組み合わせのうちの特定の組み合わせのみに大きな差異量が現れ、その他の組み合わせに係る差異量は許容範囲内に収まる場合には、大きな差異量が生じた組み合わせに属する各3次元セグメントを削除し、残された情報を3次元モデルとして本登録してもよい。ただし、3次元セグメントの削除により、ワークWの認識に支障が生じないことが前提となる。
【0099】
3−2)第2実施例
この第2実施例では、3次元モデルに統合される3次元情報間の位置合わせの精度を向上すること、および作成された3次元モデルの精度をより簡単に確認できるようにすることを目的として、図9(1)(2)に示すように、ワークモデルWMの適所に三角形のマークMを付けてステレオ計測を実行する。このマークMは、シールとして構成され、ワークモデルWMの平坦な面に貼付される。また貼付される面より小さなサイズに設定され、ワークモデルWMの地の色とのコントラストを明瞭にできる色彩により着色されている。
【0100】
この実施例でも、第1実施例と同様に、ユーザの手によりワークモデルWMを任意の角度で回転させることにより複数の計測ポイントを設定し、各計測ポイントで復元された3次元情報のうちの所定数(2以上)を統合することにより3次元モデルを作成する。ただし、第2実施例の計測ポイントは、すべてのカメラ11〜13の視野にマークMが含まれる状態にすることを条件に定められる。この設定が容易になるように、第2実施例では、ワークモデルWMの計測時に上面になる面にマークMを付けるようにしている。
【0101】
図10は、上記のモデルMを付けたワークモデルWMを用いて3次元モデルを作成する処理の概略手順を示す。この図でも、先の図5と同様に、計測ポイント[12][3][6]で復元された3次元情報を使用するものとする。ただし、これらの3次元情報にはマークMを表す情報mが含まれていることから、各3次元情報を、図5と異なる符号p,q,rにより示す。
【0102】
この実施例でも、計測ポイント[12]の3次元情報pを基準に、他の3次元情報q,rを3次元情報pに整合するように座標変換する。この座標変換には、先の実施例と同様に、計測ポイント毎に一段階前の3次元情報との照合により求めた位置ずれ量や回転角度を使用する。
【0103】
座標変換後は、変換後の3次元情報q´,r´および基準の3次元情報pを統合することによって、それぞれの情報を含む3次元情報sを作成する。そして、この3次元情報sを3次元モデルとして仮登録して、ユーザの目8で仮登録の3次元モデルsの精度を確認する。ここでユーザが3次元モデルsの精度が確保されていることを確認して本登録をする旨の判定を行うと、仮登録の3次元モデルsからマークMの情報mを消去し、その処理後の3次元情報tを3次元モデルとして本登録する。
【0104】
統合処理により作成される仮の3次元モデルsには、統合前の3次元情報p,q´,r´がすべて含められる。したがって、マークMに関しては、実際には、各3次元情報p,q´,r´から引き継がれた3つの情報が仮の3次元モデルs内に含まれることになる。
【0105】
以下、マークMの特性および機能について、説明する。
この実施例で使用するマークMが表す三角形は、図11に示すように、各辺の比が6:7:8になるように設定されている。この比率によれば、マークMの各頂点A,B,Cを容易に特定することができるから、たとえば頂点Aから辺BCへの垂線の方向によって、マークMの向きを一意に特定することができる。また図12に示すように、同じ形状の三角形A´B´C´と位置合わせする場合にも、位置合わせの精度を確保することができる。
【0106】
図12(1)では、上記の比率による三角形ABCとこれに合同な三角形A´B´C´から、それぞれ頂点を1個ずつ選択し、選択された頂点を基準に各三角形を位置合わせした結果を示す。この図に示すように、各三角形は、正しい対応関係にある頂点が組み合わせられたときでなければ、完全に重なり合うことはない。
【0107】
上記の三角形の対応づけについて、発明者らは、実際に頂点の組み合わせ毎に、三角形全体の一致度を求めてみた。図12(2)は、その結果を示すグラフである。このグラフに示すとおり、各頂点が正しく対応づけられた場合の一致度を1とすると、他の対応関係による一致度は最大でも0.4程度となる。これにより、三角形の対応関係の正否を正しく判定できることが判明した。
【0108】
上記のとおり、図11に示した形状の三角形によれば、三角形の各頂点が正しく対応づけされた場合と対応づけに誤りがある場合とで、一致度に大きな差異が生じる。この三角形の各辺を3次元セグメントとして対応づけを行っても、同様の効果を得られるはずであるから、マークMの3次元セグメントを含む3次元情報全体を照合した場合には、三角形の各辺の3次元セグメントに関する一致度が全体の一致度に大きく影響を及ぼすようになる。
【0109】
すなわち、ワークモデルWMの本来の3次元セグメントの中に誤った位置合わせを生じさせるような要素があっても、誤った対応づけが行われた場合には、三角形の3次元セグメントの一致度が大きく低下することによって3次元情報全体の一致度が引き下げられる。一方、三角形の3次元セグメントを含む各3次元セグメントが正しく位置合わせされた場合には、いずれの3次元セグメントでも一致度が高くなるから、3次元情報全体の一致度も高い値になる。よって、正しく対応づけられている場合の一致度を他の場合より大きくすることができ、位置合わせの精度を確保することができる。
【0110】
なお、マークMが示す三角形の形状は図11の例に限定されるものではなく、上記した効果を得ることができるものであれば、辺の比率は問わない。また三角形に限らず、頂点が4点以上で向きを一意に特定できる多角形によるマークを作成してもよい。
【0111】
さらに上記のマークMは、仮登録された3次元モデルの精度を確認する処理にも使用される。この処理のために、この実施例の装置のメモリ25には、マークMの幾何学的情報を表す3次元モデルデータ、具体的には、三角形の三辺の好ましい3次元セグメントを表すデータの組み合わせ(以下、このモデルデータを「モデル三角形」という。)が登録される。
【0112】
この実施例では、3次元モデルに統合された各3次元情報をそれぞれモデル三角形により照合して、モデル三角形に対する3次元セグメント、すなわちマークMの各辺を表す3次元セグメントを特定する。そして、各3次元情報から特定された3次元セグメントを、対応関係にあるもの毎に組み合わせて差異量を算出する。さらに各組の差異量を統括して、評価指数を算出する。
【0113】
上記の差異量、評価指数の算出は、先の図7の例に準じた方法により実施することができる。また、この実施例でも、3次元セグメント間の差異量に代えて、各3次元セグメント間の交点(すなわち三角形の頂点)を対応するもの毎に組み合わせて、組み合わせ毎に、頂点間の距離を差異量として求めてもよい。
【0114】
第2実施例では、どの計測ポイントでも、各カメラ11,12,13の視野にマークMが含まれる状態にして計測を行っているので、3次元モデルに統合された3次元情報には必ずマークMに対応する情報mが含まれるはずである。したがって、マークMの既知の幾何学的情報に基づく照合処理により、各3次元情報間で対応関係にある3次元セグメントを容易に特定して、評価指数を求めることができ、処理を簡単にすることができる。また、算出された評価指数は、統合されたすべての3次元情報に共通に含まれる情報mのばらつき度合を反映したものとなるから、この評価指数によって、統合された3次元情報間の位置合わせの精度を容易に確認することができる。
【0115】
このように、方向を一意に特定でき、かつその3次元形状が登録されているマークMをワークモデルWMに取り付けて、このマークMの輪郭パターンを含む3次元情報を復元することにより、統合される3次元情報の位置合わせの精度を向上するとともに、作成された3次元モデルの精度を容易に確認することが可能になる。
【0116】
なお、上記の効果を得るには、マークMをワークモデルWMの平坦面に貼付するのが望ましい。マークMを曲面に貼付すると、三角形の各辺も曲線の3次元セグメントとして認識される可能性が高くなる上、曲面の曲率によってマークMの復元される形状が変動する。このため、マークMが曲面に取り付けられた場合には、その3次元情報を正しく復元できた場合でも、本来の三角形の形状が復元されない可能性が高まり、モデル三角形との照合の精度も低下してしまう。
【0117】
図13は、マークMを利用した確認用画面の例を示す。この画面でも先の図6の例と同様のウィンドウ30,OKボタン31,NGボタン32が設けられる。また表示は、図10の例で作成された仮の3次元モデルsに対応するものとする。
【0118】
ウィンドウ30内には、仮の3次元モデルに含まれる情報のすべてではなく、基本の3次元情報pに基づく輪郭パターンp1のみが表示される。ただし、マークMに関しては、モデル三角形との照合により各3次元情報p,q´,r´から抽出されたマークMの情報の全てに対応する輪郭パターンmp,mq,mrが表示される。また、ウィンドウ30内には、マークMに対応する3次元セグメント間の差異量から算出された評価指数が表示される。
【0119】
ユーザは、上記の画面で、三角形の輪郭パターンmp,mq,mrの重なり度合や評価指数の値から、仮の3次元モデルの精度を確認する。ユーザが3次元モデルを本登録する旨を判定して、OKボタン31を操作すると、仮の3次元モデルsからマークMに対応する情報が消去され、消去後の3次元情報tが3次元モデルとして本登録される。ただし、マークMの情報は必ずしも消去する必要はなく、情報を無効化するにとどめてもよい。
【0120】
3−3)その他の実施態様
上記第1および第2の実施例では、いずれも所定数の3次元情報を位置合わせして統合することにより仮の3次元モデルを作成した後に、この仮の3次元モデルの精度をユーザに確認させるようにしたが、これに代えて、3次元情報を統合する処理の前に評価指数を算出して、その値を表示してもよい。この場合には、ユーザが表示された評価指数により統合情報の精度を確認し、統合情報を3次元モデルとして採用する旨の判定入力を行うことにより、3次元情報の統合処理が実施され、生成された3次元情報が3次元モデルとして登録される。
【0121】
また、上記の処理において、ワークモデルWMに第2実施例のマークMを付けて、マークMに基づく評価指数を求めた場合には、マークMに対応する情報を統合の対象から除外するのが望ましい。
【0122】
また各実施例では、3次元モデルの精度を確認する画面を自装置の表示部27に表示したが、これに限らず、評価指数や画像データを外部の装置に出力し、外部装置側で確認作業を行って、外部装置からの判定入力を受け付けるようにしてもよい。
【図面の簡単な説明】
【0123】
【図1】3次元認識処理を適用したピッキングシステムの概略構成を示す図である。
【図2】物体認識装置のブロック図である。
【図3】3次元認識処理の手順を示すフローチャートである。
【図4】ワークモデルの計測方法を示す図である。
【図5】3次元モデルの作成処理の概略手順を示す図である。
【図6】3次元モデルの確認用の画面の例を示す図である。
【図7】評価指数の作成処理の手順を示すフローチャートである。
【図8】3次元モデルの作成・登録に関する手順を示すフローチャートである。
【図9】マークを付したワークモデルを計測する例を示す図である。
【図10】マークを付したワークモデルの3次元情報から3次元モデルを作成する場合の概略手順を示す図である、
【図11】マークが表す三角形の特徴を表す図である。
【図12】三角形の各頂点の複数とおりの対応づけ状態を示す図、および一致度を表すグラフである。
【図13】3次元モデルの確認用の画面の他の例を示す図である。
【図14】3次元情報の対応づけに誤りが生じる原因を説明する図である。
【図15】3次元情報の対応づけに誤りが生じる他の原因を説明する図である。
【符号の説明】
【0124】
1 ステレオカメラ
2 物体認識装置
11,12,13 カメラ
24 CPU
25 メモリ
W ワーク
WM ワークモデル
M マーク
a,b,c,p,q,r 復元された3次元情報
d,s 仮登録の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次元モデルを作成することができる。しかし、特許文献1の「未知の観測方向からの3次元情報を位置合わせする方法」を用いて3次元モデルを作成した場合には、下記の理由により、3次元モデルの精度を確保するのが困難であると思われる。
【0008】
特許文献1の「未知の観測方向からの3次元情報を位置合わせする方法」は、具体的には、実物モデルとステレオカメラとの位置関係を任意に変更して実行された2つのステレオ計測間でそれぞれの計測により復元した3次元情報を複数とおりに対応づけて一致度を算出し、一致度が最も高くなったときの対応関係を採用して位置合わせを行うものである。したがって、3次元情報間の対応づけを精度良く行うことができなければ、位置合わせの精度を確保できず、最終的な3次元モデルも精度が悪いものとなる。
【0009】
まず面取り部分や曲面が計測対象となる場合には、図14に示すような原因で対応づけの誤りが生じる場合がある。
図14は、認識対象物Sbのコーナー部に対してf1,f2の2方向からそれぞれステレオ計測を行う例を示すものである。この図は、認識対象物Sbの一断面であって、図中のR1,R2は、平坦面と曲率が大きな面との境界位置に相当する。
この例の場合、f1の方向からの計測では、図中のR1の位置に3次元のエッジが復元されるのに対し、f2の方向からの計測では、R2の位置に3次元のエッジが復元される。したがって、それぞれの方向からの計測により復元された3次元情報を対応づける際に、R1に対応するエッジとR2に対応するエッジとが誤って対応づけされ、その分、位置合わせの精度が劣化するおそれがある。
【0010】
図15は、繰り返し構造を含む部位の対応づけに誤りが生じた例を示す。繰り返し構造のエッジが不鮮明で、3次元情報の復元精度が悪くなった場合などには、このような誤った対応づけが生じるおそれがある。
また、対称形の部位を具備する物体を認識対象とする場合にも、対称形の部位の表と裏とが誤って対応づけられた状態が、正しいものとして認識される可能性がある。
【0011】
工業製品や成型品には面取り部分や曲面を含むものが多く、また繰り返し構造や対称形の部位も多く認められる。したがって、これらの物体に関する3次元モデルを作成する際には、上記のような原因により誤った位置合わせが行われて、その位置合わせ後の3次元情報を統合すると、その統合により作成された3次元モデルの精度が悪くなり、認識処理にも支障が生じる可能性がある。
【0012】
この発明は、この問題点に着目し、実物モデルのそれぞれ異なる姿勢を表す複数の3次元情報を統合した情報を3次元モデルとして登録する場合に、登録される3次元モデルの精度を確保できるようにすることを課題とする。
【課題を解決するための手段】
【0013】
この発明による3次元モデルの作成方法は、認識対象物の実物モデルに対し、ステレオカメラを用いた3次元計測により輪郭線の3次元情報を復元する処理を、実物モデルとステレオカメラとの位置関係を毎回任意に変更して実行する。そして複数回の計測により復元された3次元情報を位置合わせして、位置合わせ後の各3次元情報を統合することによって、認識対象物の3次元モデルを作成する。
【0014】
上記において、3次元計測により復元される3次元情報は、実物モデルの輪郭線の3次元形状を表す複数の3次元特徴データの集合体である。また3次元情報の位置合わせとは、各3次元情報を、それぞれの対応関係に基づき座標変換する処理をいう。
【0015】
位置合わせ後の3次元情報を統合する処理として、後記する具体例では、位置合わせされた3次元情報をすべて包含する構成の情報を作成するが、これに限定されるものではない。たとえば、1つの3次元情報のみに現れている輪郭パターンについては、その輪郭パターンを構成する座標をそのまま採用する一方で、複数の3次元情報間に重複して現れている輪郭パターンについては、いずれか1の輪郭パターンを選択する。または重複する輪郭パターン間で対応関係にある座標同士を組み合わせて、組み合わせ毎に各座標の平均値などの代表点の座標を求め、組み合わせ毎に得た代表点の座標を統合情報に組み込んでもよい。
【0016】
上記のようにそれぞれ異なる方向からの3次元計測により復元された2以上の3次元情報を位置合わせして統合する手法により3次元モデルを作成する場合には、各3次元情報が正しく位置合わせされたか否かによって、3次元モデルの精度も変化する。この点に鑑み、この発明による方法では、統合対象の複数の3次元情報を相互に照合して各3次元情報の中で重複する関係にある情報を抽出し、抽出された情報のそれぞれが表す輪郭パターン間の差異量を算出するステップと、この差異量に基づき、複数の3次元情報による統合情報の精度を表す評価値を決定するステップと、決定した評価値を出力するステップとを、複数の3次元情報を統合する前または統合後に実行する。
【0017】
上記において、差異量を算出するステップでは、たとえば3次元情報の照合により抽出された情報を、重複する関係にあるもの毎に組み合わせて、組み合わせ毎に差異量を算出する。評価値を決定するステップでは、たとえば、組み合わせ毎に算出された差異量の平均値や最大値、もしくはこれらの数値を3次元モデルの精度を示す数値(3次元情報間の一致度の高さを表す数値)に置き換えたものを評価値として決定する。
【0018】
統合対象の3次元情報の対応づけが正しく行われ、この対応づけの結果に基づいて各3次元情報を位置合わせした場合には、重複する関係にある情報による輪郭パターンの間の差異はごく小さなものとなる。これに対し、3次元情報間で誤った対応づけが行われると、位置合わせ後も、重複する関係にある情報による輪郭パターンがばらついて、差異量が大きくなる。上記の方法では、統合対象の3次元情報間で重複する関係にある情報による輪郭パターンのばらつき度合いを反映した具体的な数値を出力するので、ユーザは出力された数値に基づき、評価値に対応する統合情報を3次元モデルとして採用するか否かを判定することができる。よって、評価値により統合情報の精度が悪い場合には、統合対象の3次元情報の組み合わせを変更したり、3次元計測の条件を変更して再度計測を行うなどの措置をとることができ、精度の悪い3次元モデルが登録されるのを防止することができる。
【0019】
上記方法の好ましい態様では、評価値の出力後にこの評価値に対応する統合情報を3次元モデルとして採用するか否かの判定入力を受け付けるステップと、3次元モデルとして採用する旨の判定入力を受け付けたことに応じて、当該統合情報を3次元モデルとして確定するステップとを、さらに実行する。
【0020】
上記の態様によれば、ユーザが、出力された評価値によりモデルの精度が十分であることを判断した場合には、統合情報を3次元モデルとして採用する旨の判定入力を行うことによって、当該統合情報を3次元モデルとして確定することができる。なお、評価値の出力が3次元情報を統合する前に行われた場合には、上記の判定入力に応じて統合対象の3次元情報を位置合わせして統合する処理を実行してから、生成された統合情報を3次元モデルとして確定する。
【0021】
上記方法の他の好ましい態様では、位置合わせ後の3次元情報による輪郭パターンをすべて反映させた画像を生成するステップを、少なくとも評価値を出力するステップより前に実行する(差異量を算出するステップおよび評価値を決定するステップとの前後関係は問わない。)。また評価値を出力するステップとして、当該評価値を上記の画像とともに表示するステップを実行する。
【0022】
上記の態様によれば、ユーザは、評価値とともに、実際の輪郭パターンのばらつき度合を画像により確認することができるので、統合情報の精度をより容易に判別することが可能になる。
【0023】
上記方法の他の好ましい態様では、実物モデルに対する毎回の3次元計測において、輪郭線を表す3次元座標が複数の3次元セグメントにグループ化された構成の3次元情報を生成する。この場合の差異量を算出するステップにおいては、統合前の3次元情報間で対応関係にある3次元セグメントの組み合わせ毎に、その組み合わせに関する差異量を算出する。または、差異量を算出するステップにおいて、統合前の3次元情報間で、各3次元セグメントの間の交点を対応するもの毎に組み合わせて、組み合わせ毎に当該組み合わせに関する差異量を算出する。
【0024】
上記のように、3次元情報間で対応する部位毎に差異量を算出する場合には、これらの差異量を個別に出力したり、各差異量を所定の許容値と比較して、許容値を超える差異量が現れた部位を特定し、その特定結果を出力するのが望ましい。このようにすれば、ユーザは、各部位と差異量との関係を詳細に分析して、表示中の候補を3次元モデルとして採用するか否かを判定することができる。たとえば、許容値を超える差異量が算出された場合に、その差異量がどの部位に生じているかや、許容値を超える差異量が生じた部位の数によって、統合情報を3次元モデルとして採用するか否かの判定結果を切り分けることができる。
【0025】
上記方法における他の好ましい態様では、毎回の3次元計測において、幾何学的特徴が既知のマークが取り付けられた実物モデルを対象に、このマークがステレオカメラを構成するすべてのカメラの視野に含まれる状態になるように実物モデルと各カメラとの位置関係を調整する。また、差異量を算出するステップでは、上記の既知の幾何学的特徴に基づくマークの輪郭パターンにより統合対象の各3次元情報を照合してマークの輪郭パターンを抽出し、各3次元情報から抽出した輪郭パターン間の差異量を算出する。
【0026】
上記の態様では、3次元計測において常にマークの輪郭パターンを含む3次元情報が復元されるようにし、復元された各3次元情報により3次元モデルの候補を作成した後に、この候補に含まれるマークの輪郭パターン間の差異量を算出する。よって、統合された3次元情報のすべてに重複する情報に基づき、すべての3次元情報間のばらつき度合いを反映した評価値を求めることが可能になる。
【0027】
なお、上記の態様において、評価値に対応する統合情報を3次元モデルとして採用することが決定した場合には、マークに対応する情報を含まない統合情報を3次元モデルとするのが望ましい(既に統合情報を生成している場合には、マークに対応する情報を消去または無効化して、この処理後の統合情報を登録する。)。実際の認識対象物にはマークが付与されていないので、マークの情報を持つ3次元モデルを使用すると、認識精度が低下する可能性があるからである。
【0028】
上記の方法が適用された物体認識装置は、ステレオカメラを用いた3次元計測により認識対象物の輪郭線の3次元情報を復元する3次元計測手段と、復元された3次元情報をあらかじめ登録した3次元モデルと照合することにより認識対象物の位置および姿勢を認識する認識処理手段と、前記認識対象物の実物モデルに対し3次元計測手段がそれぞれ異なる方向から実行した3次元計測により復元された複数の3次元情報を位置合わせして、位置合わせ後の各3次元情報を統合することにより認識処理手段により使用される3次元モデルを作成する3次元モデル作成手段と、作成された3次元モデルを登録する3次元モデル登録手段とを具備する。さらに3次元モデル作成手段には、以下の差異量算出手段、評価値決定手段、および出力手段が設けられる。
【0029】
差異量算出手段は、統合対象の複数の3次元情報を相互に照合して各3次元情報の中で重複する関係にある情報を抽出し、抽出された情報のそれぞれが表す輪郭パターン間の差異量を算出する。評価値決定手段は、算出された差異量に基づき、複数の3次元情報による統合情報の精度を表す評価値を決定し、出力手段は、評価値決定手段が決定した評価値を出力する。
【0030】
上記構成の装置によれば、認識対象物の実物モデルに対する複数回の3次元計測により復元された3次元情報を用いて3次元モデルを作成する際に、各3次元情報による統合情報の精度を確認した上で3次元モデルとして登録することが可能になる。よって、登録された3次元モデルにより精度の良い認識処理を実施することができる。
【0031】
上記の物体認識装置の一態様では、3次元モデル作成手段には、評価値の出力後にこの評価値に対応する統合情報を3次元モデルとして採用するか否かの判定入力を受け付ける入力手段と、入力手段が統合情報を3次元モデルとして採用する旨の判定入力を受け付けたとき、当該統合情報を3次元モデルとして確定するモデル確定手段とが、さらに含まれる。
【0032】
さらに好ましい態様では、3次元モデル作成手段は、位置合わせ後の3次元情報による輪郭パターンをすべて反映させた画像を生成する画像生成手段を、さらに具備する。また出力手段は、評価値を、画像生成手段により生成された画像とともに表示する手段として構成される。
【0033】
さらに他の好ましい態様の装置には、実物モデルの表面に取り付けられることを前提に作成されたマークについて、その幾何学的特徴に基づく輪郭パターンを登録するための登録手段がさらに設けられる。また、差異量算出手段は、登録手段に登録された輪郭パターンにより統合対象の3次元情報を照合してマークの輪郭パターンを抽出し、各3次元情報から抽出した輪郭パターン間の差異量を算出する。
【0034】
上記の態様によれば、登録されたマークを取り付けた実物ワークを対象に、ステレオカメラとの位置関係を毎回変更して複数回の3次元計測を実行することにより、各計測により復元された3次元情報による3次元モデルの候補を作成し、その候補の精度を、マークの輪郭パターンの差異量に基づき確認してから登録することが可能になる。
【発明の効果】
【0035】
この発明によれば、実物モデルに対する3次元計測により復元された複数の3次元情報を、これらの対応関係に基づいて位置合わせして統合する方法により3次元モデルを作成する場合に、各3次元情報による統合情報の精度を表す評価値を出力するので、3次元情報間の対応づけの誤りにより精度の悪い3次元モデルが作成されて、そのまま登録されるのを防止することができる。よって、登録される3次元モデルの精度を確保することができ、3次元認識処理を安定して行うことが可能になる。
【発明を実施するための最良の形態】
【0036】
(1)装置構成
図1は、3次元認識処理を適用したピッキングシステムの例を示す。
このピッキングシステムは、工場内で収容ボックス6内に収容されたワークWを1つずつ取り出して所定の位置に搬送する作業を行うためのもので、実際の作業を行う多関節ロボット4や、このロボット4の動作を制御するロボット制御装置3が含まれる。さらに、このピッキングシステムには、処理対象のワークWの位置および姿勢を認識するために、ステレオカメラ1および物体認識装置2が設けられる。
【0037】
ステレオカメラ1は、位置関係が固定された3台のカメラ11,12,13により構成される。物体認識装置2には、カメラ11,12,13の位置関係や光軸の向きなどを表す情報や、認識対象のワークWの3次元モデルが登録されており、各カメラ11,12,13から入力したステレオ画像を処理して、ワークWの輪郭線の3次元情報を復元した後に、復元した3次元情報を3次元モデルと照合してワークWの位置や姿勢を認識する。この認識結果を示す情報は、物体認識装置2からロボット制御装置3に出力され、ロボット制御装置3において、ロボット4のアーム40の動作を制御する処理に使用される。
【0038】
図2は、物体認識装置2のハードウェア構成を示す。
この装置には、各カメラ11,12,13に対応する画像入力部21,22,23のほか、CPU24、メモリ25、入力部26、表示部27、通信インターフェース28などが設けられる。入力部26はキーボードやマウスなど、ユーザの操作により情報を入力するためのものであり、表示部27は液晶モニタである。入力部26および表示部27は、以下に述べる3次元モデルの作成の際に、ユーザが実物モデルの撮像状態を確認したり、選択操作や設定操作を行う用途に用いられる。通信インターフェース28は、ロボット制御装置4との通信に用いられる。
【0039】
メモリ25は、ROM,RAM,およびハードディスクなどの大容量メモリを含む。
CPU24は、メモリ25に格納されたプログラムに基づき、3次元計測およびワークWの認識に関する一連の処理を実行し、認識結果(具体的には、ワークWの位置を表す3次元座標、および3次元モデルに対する回転角度)を通信インターフェース28より出力する。
【0040】
また、メモリ25には3次元モデルを作成するためのプログラムも格納される。CPU24は、認識処理に先立ち、このプログラムに基づき、各カメラ11〜13から入力された実物モデルの画像を用いてワークWの3次元モデルを作成し、これをメモリ25内に登録する。
【0041】
さらに図2には示していないが、この実施例の物体認識装置2には、各カメラ11,12,13に駆動信号を出力する回路が設けられ、CPU24には、この回路を介して各カメラ11〜13の撮像動作を制御する機能が設定される。
【0042】
(2)3次元認識処理について
上記の物体認識装置2では、ステレオ画像からエッジを検出した後に、特許文献1に記載された発明と同様に、「セグメント」と呼ばれる単位毎に3次元情報を復元し、さらにセグメント単位で3次元モデルとの照合を行うようにしている。図3は、この方法により1つのワークを認識するために実行される処理の概略手順を示すものである。以下、この図3のステップ符号を参照しつつ、この実施例における3次元認識処理を説明する。
【0043】
まず、各カメラ11〜13によるステレオ撮像を行い、生成された各画像にエッジ抽出用のフィルタを適用して、画像中のエッジを検出する(ST1,2)。つぎに、検出されたエッジを細線化し(1画素幅のデータにする。)、細線化後のエッジを連結点や分岐点を基準に直線や曲線のセグメントに分割する(ST3,4)。この2次元画像上のエッジから抽出されたセグメントを、以下では「2次元セグメント」と呼ぶ。
【0044】
つぎに、画像間で対応関係にある2次元セグメントを対応づける処理を実行する(ST5)。この対応づけでは、3つの画像のうちの1つを基準に、この基準画像の各2次元セグメントに順に着目し、着目した2次元セグメント毎に、他の2つの画像の中から対応する2次元セグメントを特定する。すなわち、着目した2次元セグメントに対し、エピポーラ条件を満たし、近傍のセグメントとの連結関係が整合する2次元セグメントを、各画像から検出することになる(詳細については非特許文献1等を参照されたい。)。
【0045】
つぎに、上記の処理により対応づけられた各2次元セグメントの組み合わせ毎に、その対応関係から3次元情報を復元する処理を実行する(ST6)。
簡単に説明すると、対応づけられた2次元セグメントの組み合わせ毎に、そのセグメント間で対応関係にある画素の3次元座標を算出する。また、算出された3次元座標の分布状態を直線および円弧のモデルと照合して、これらの3次元座標の集合が直線/曲線のいずれに相当するかを判別する。この処理により、2次元セグメントの組み合わせ毎に、その組み合わせに対応する直線または曲線の3次元セグメントが特定される。
【0046】
さらに、ST6では、各3次元セグメントについて、それぞれそのセグメントをあらかじめ設定された間隔毎にサンプリングし、セグメントの種別(直線または曲線)と各サンプリング点の3次元座標とを対応づけた情報を作成する。これにより、2次元セグメントから算出された3次元座標の数が少なかった3次元セグメントについても、サンプリング間隔を細かくすれば、当初より多くの3次元座標を得ることが可能になる。
【0047】
上記の処理により復元された3次元セグメントの集合が、認識対象のワークの3次元情報に相当する。つぎの段階では、3次元座標系のあらかじめ定めた基準位置に3次元モデルを設定し、この3次元モデルと復元された3次元情報とを照合することによって、3次元モデルに対するワークの位置ずれ量および回転角度を認識する(ST7)。
【0048】
ST7における照合処理では、各3次元セグメントの交点を特徴点として、各特徴点を総当たり式に対応づけながら、その対応づけをした場合の各3次元セグメントの一致度を算出し、一致度が最大になったときの対応づけを正しい対応関係として特定する。
【0049】
ST7について、もう少し詳しく説明する。この実施例では、3次元モデル側の一特徴点に照合対象の3次元情報の各特徴点を順に対応づけて、対応づけ毎に、3次元モデル側の特徴点を対応点に移動させるのに必要なシフト量および回転角度を算出する。これらはいずれも、X,Y,Zの軸毎に算出される。つぎに、算出したシフト量および回転角度に基づいて、3次元モデルに含まれる全ての座標を変換し、変換後の3次元モデルと照合対象の3次元情報との一致度を算出する。
【0050】
上記の一致度の算出では、照合対象の3次元情報に含まれる個々の3次元セグメント毎に、3次元モデルに対する一致度を求め(以下、これを「セグメント単位の一致度」という。)、これらセグメント単位の一致度の総和や平均値などを全体の一致度とする。
セグメント単位の一致度の算出処理では、照合対象の3次元セグメントについて、3次元モデル側で最も近い位置にある3次元セグメントを特定し、このセグメントとの一致度を算出する。ただし、照合対象の3次元セグメントから所定距離以内に算出対象の3次元セグメントを見つけることができなかった場合には、一致度を0とする。また、ほぼ同じ距離を隔てて複数の3次元セグメントが存在する場合には、これらに対する一致度のうち最も高いものを採用する。
【0051】
上記のように、3次元モデル側の特徴点と照合対象の3次元情報の特徴点とを総当たり式に対応づけて、3次元モデルの座標変換および一致度の算出処理を実行する。そして、最終的に最も高い一致度が得られたときの座標変換に用いたシフト量および回転角度を、認識対象のワークWの3次元モデルに対する位置ずれ量および回転角度として認識する。
【0052】
この後は、認識した位置ずれ量および回転角度をロボット制御装置3に出力し(ST8)、処理を終了する。
【0053】
(3)3次元モデルの作成処理
3−1)第1実施例
上記した3次元認識処理を実行するには、あらかじめ、ワークWの3次元モデルをメモリ25に登録する必要がある。この実施例の物体認識装置では、ワークWの実物モデルを種々の方向からステレオ計測し、各計測結果から復元した3次元情報を統合する方法により、3次元モデルを作成するようにしている。以下、この処理について詳細に説明する。
なお、以下の図面では、ワークWの実物モデルをWMの符号で示すとともに、明細書中では、この実物モデルWMを「ワークモデルWM」という。
【0054】
第1実施例では、図4(1)に示すように、ステレオカメラ1の位置および光軸方向を固定して、ステレオカメラ1に対するワークモデルWMの姿勢を変更しながら複数回のステレオ計測を実行する。そして、各計測により復元された3次元情報のうちの所定数(2以上)を選択して、これらを統合することにより、ワークWの3次元モデルを作成する。
【0055】
図中、X,Y,Zの各軸による3次元座標系は、3次元座標の算出用の座標系(以下、「計測座標系」という。)であり、ステレオカメラ1に対して一意に定められる。一方、X1,Y1,Z1の各軸による3次元座標系は、ワークモデルWMに対して一意に定められた座標系(以下、「ワーク座標系」という。)である。図4(1)では、X1,Y1,Z1の各軸がそれぞれX,Y,Z軸に平行な状態を示すが、ワークモデルWMの姿勢が変わると、ワーク座標系の各軸の方向もこれに応じて変化する。
【0056】
ワークモデルWMの姿勢はユーザが自由に定めることができるが、この実施例では、常にX1Z1平面に沿う特定の面がワーク支持面(この例ではXZ平面)に接するものとして、XZ平面に直交するY1軸に対してワークモデルWMを1回転させ、その間に、複数回の撮像を行うものとする。なお、このワークモデルWMの回転は、回転テーブルを用いずに、ユーザの手でワークモデルWMの向きを変更する方法により行うので、回転角度のみならず、計測座標系に対するワークモデルWMの位置も、毎回位置ずれする。
【0057】
図4(2)は、ワーク座標系を基準にして、ワークモデルWMに対するステレオカメラ1の位置関係の変化を表したものである。図中、1〜12の数字入りの矩形は、それぞれ、撮像時のステレオカメラ1の場所を示し、また矩形内の数字は撮像の順序を示す。
これらの位置での撮像により生成されたステレオ画像は、いずれも3次元計測の対象となる。よって以下では、各矩形が表すステレオカメラの位置を「計測ポイント」と呼ぶ。また各計測ポイントに個別に言及する場合には、「計測ポイント[1]」「計測ポイント[2]」のように、計測の順序を表す数字を引用する。
【0058】
この実施例では、上記12個の計測ポイント毎に、図3のST1〜6と同様の処理を実行して3次元情報を復元する。また、計測ポイント[1]を除く各計測ポイントでは、それぞれその計測ポイントで復元した3次元情報を1つ前の計測ポイントの3次元情報と照合することにより、一段階前の3次元情報に対する位置ずれ量および回転角度を認識する。これらの認識処理は、いずれも図3のST7で実施されるのと同様の方法により行われる。
【0059】
なお、最後の計測ポイント[12]については、計測ポイント[11]の3次元情報に対する位置ずれ量および回転角度に加えて、計測ポイント[1]の3次元情報に対する位置ずれ量および回転角度も求める。または、計測ポイント[12]から再度計測ポイント[1]に移行して、計測を再実行し、復元された3次元情報の計測ポイント[12]の3次元情報に対する位置ずれ量および回転角度を求めてもよい。
【0060】
図5は、上記のワークモデルWMにつき、上記12の計測ポイントで復元された3次元情報のうちの3つ(図中、a,b,cで示す。)を用いて3次元モデルを作成する場合の処理手順を、模式的に示す。なお、図中の3次元情報aは、図4(2)の計測ポイント[12]で復元されたものである。また、3次元情報bは計測ポイント[3]で復元されたものであり、3次元情報cは計測ポイント[6]で復元されたものである。
【0061】
この例では、3次元情報aを基準に、この基準の3次元情報aに対する位置ずれおよび角度ずれが解消するように、他の3次元情報b,cを座標変換する。そして、変換後の3次元情報b´,c´を基準の3次元情報aと統合することによって、それぞれの情報の特徴を含む3次元情報dを作成する。さらに、この3次元情報dをワークWの3次元モデルとして仮登録した後に、この仮の3次元モデルのイメージ図(輪郭の3次元形状を表す画像をいう。)などをユーザの目8で確認する方法により、3次元モデルとしての精度を確認する。ここで十分な精度が認められた場合には、3次元情報dを本登録する。
【0062】
上記の3次元情報の座標変換処理は、先に計測ポイント毎に求めた位置ずれ量および回転角度を用いて行われる。たとえば、計測ポイント[3]で復元した3次元情報bを計測ポイント[12]で復元した3次元情報aに位置合わせするには、計測ポイント[3]と[2]、計測ポイント[2]と[1]、計測ポイント[1]と[12]の各組み合わせにつき求めた位置ずれ量および回転角度を用いて、座標変換を行う。計測ポイント[6]で復元した3次元情報cについても同様に、計測ポイント[6]から計測ポイント[12]までの範囲(この場合は時計回り・半時計回りのいずれでもよい。)で算出された位置ずれ量および回転角度を用いて、座標変換を実行することにより、3次元情報aへの位置合わせを行う。
【0063】
上記のように、距離を隔てた計測ポイント間の位置ずれ量および回転角度を求める際に、これらの間にある各計測ポイントを隣り合うもの毎に組み合わせて、計測ポイントの組毎に3次元情報の位置ずれ量および回転角度を算出する理由は、共通する特徴をできるだけ多く含む情報同士を照合する方が、照合の精度を確保できるからである。ただし、統合対象の3次元情報同士を直接照合する方法でも十分な精度が得られると思われる場合には、直接照合により、基準の3次元情報aに対する他の3次元情報b,cの位置ずれ量や回転角度を求めてもよい。
【0064】
つぎに、仮の3次元モデルとして設定された3次元情報dの精度を確認する処理について説明する。
この実施例では、仮の3次元モデルdに、統合対象の3次元情報a,b´,c´のすべてを含めるようにしている。したがって、ワークモデルWMの所定の部位について、統合前の3次元情報a,b´,c´のうちの2以上に当該部位を表す3次元セグメントが含まれている場合には、これらの3次元セグメントはすべて仮の3次元モデルdに引き継がれる。
【0065】
なお、前述したように、3次元モデルとの照合処理(図3のST7)では、照合対象の3次元セグメントに対し、3次元モデル側から対応する3次元セグメントを1つ特定して一致度を求める。したがって、照合対象の3次元セグメントの1つに対し、3次元モデル側に対応する3次元セグメントが複数存在しても、これらの3次元セグメント間の差異量が小さい場合には、どの3次元セグメントが対応づけられても特段の支障は生じない。
【0066】
複数の3次元情報にそれぞれ同一の部位を表す3次元セグメントが含まれている場合には、各3次元情報が正しく対応づけられて位置合わせされていれば、これらの3次元セグメント間には差異量が殆どないか、許容できる範囲の差異量しか生じないはずである。すなわち、これら同一の部位を表す3次元セグメントの間の差異量が小さい状態は、統合された3次元情報が正しく位置合わせされていることを意味するから、他の重複していない3次元セグメントの確度も保証されていると考えてよい。
【0067】
上記に対し、同一の部位を表す複数の3次元セグメント間の差異量が許容範囲を超える場合には、統合された3次元情報が正しく位置合わせされていないことを意味するから、他の重複していない3次元セグメントの確度を保証することもできない。
【0068】
上記の点に鑑み、この実施例では、仮の3次元モデルに統合される3次元情報内の3次元セグメントを対応するもの毎に組み合わせて、組み合わせ毎にその組における3次元セグメント間の差異量を求め、各差異量から、仮の3次元モデルの精度を表す評価指数を算出するようにしている。また統合処理が終了すると、図6に示すような確認用の画面を立ち上げて、ユーザに仮の3次元モデルの精度を判断させるようにしている。
【0069】
図6に示す画面には、画像表示用のウィンドウ30や、「OK」「NG」の各操作ボタン31,32(以下、「OKボタン31」「NGボタン32」という。)などが設けられている。ウィンドウ30内には、仮の3次元モデルの立体形状を表す画像として、この3次元モデルに統合された各3次元情報が表す輪郭パターンa1,b1,c1(それぞれ図5に示した3次元情報a,b´,c´に対応する。)が、前述の評価指数とともに表示されている。なお、各輪郭パターンa1,b1,c1は、それぞれ線種や色彩などを異なるものにして表示しても良いが、そのような区別をせずに、すべての輪郭パターンを同一の線種・同一の色彩で表してもよい。
【0070】
ユーザは、上記の画像表示および評価指数により、仮の3次元モデルに重複して組み込まれた3次元セグメントのばらつき度合を確認し、表示されている3次元モデルを本登録して良いかどうかを判断する。
【0071】
図6(1)に示すように、同一部位を表す輪郭線の間のばらつきが小さく、比較的高い評価指数が表示されている場合には、ユーザは3次元モデルの精度が確保されていると判断し、OKボタン31を操作する。この操作が行われると、表示されている3次元モデルが確定されて、メモリ25に本登録される。
【0072】
一方、図6(2)に示すように、同一部位を表す輪郭線の間に大きなばらつきが生じ、評価指数が低くなっている場合には、ユーザは、表示されている情報は3次元モデルとして不適当であると判断し、NGボタン32を操作する。この操作が行われた場合には、表示されている仮の3次元モデルは破棄(仮登録の取消を意味する。)される。
【0073】
仮の3次元モデルが破棄された場合には、ユーザは、現在の環境では精度の良い3次元計測を行うのが困難であるとして、計測環境の設定をやり直す作業(カメラ11〜13の位置関係の調整や3次元キャリブレーションなど)を実行する。この再設定が完了すると、再び、ワークモデルWMのステレオ計測が行われ、復元された3次元情報の位置合わせや統合処理により新たな3次元モデルが作成され、仮登録される。そしてこの仮の3次元モデルに対し、上記と同様の確認作業が実施される。
【0074】
このように、仮の3次元モデルの精度が確保されていることを確認できるまで、条件を変更して3次元モデルの作成処理を繰り返し、精度が良いことが確認された3次元モデルを本登録する。よって、登録された3次元モデルを用いた認識処理(図3)においても、ワークWの位置や姿勢を精度良く認識することが可能になる。
【0075】
図7は、評価指数を算出する処理の具体例をフローチャートとして表したものである。 以下、このフローチャートに沿って説明すると、この実施例では、まず、統合対象の3次元情報の3次元セグメントを照合することによって、これらの3次元情報間における3次元セグメントの対応関係を特定する(ST11)。具体的には、3次元情報を2つずつ組み合わせて、これらの間で所定距離以内に存在し、一致度が所定値以上になるセグメント同士を、対応関係にあるものとして特定する。
【0076】
以下では、少なくとも2つの3次元情報間で対応する関係が確認された3次元セグメントの組み合わせに順に着目し(ST12)、この組に含まれる3次元セグメントを2つずつ組み合わせて、各組の差異量を算出する(ST13)。たとえば、前出の3次元情報a,b´,c´にそれぞれ同じ特徴に対応する3次元セグメントA,B,Cが含まれる場合には、AとB、AとC、BとCとをそれぞれ組み合わせて、各組の差異量を算出することになる。また差異量としては、組み合わせられたセグメント間の距離や、これらの3次元セグメントが示す方向の角度差などを算出する。
【0077】
この後は、各組につき算出された差異量の平均値(差異量の総和を3次元セグメントの組み合わせ数により除算したもの)を求め、これをセグメント単位の差異量SDiとする(ST14)。さらにこの差異量SDiを、全体の差異量TD(初期値は0とする。)に加算する(ST15)。
【0078】
このように、対応関係が特定された3次元セグメントの組み合わせ毎に上記ST12〜15の処理を実行することにより、対応関係にあるセグメント間の差異量SDiを個別に算出するとともに、算出の都度、全体の差異量TDを更新する。
【0079】
すべての組み合わせに対する処理が終了すると、その時点でのTDの値をパーセント換算する(ST17)。さらに、このパーセント換算された差異量TD%を100から差し引く演算を実行し、その演算結果を評価指数とする(ST18)。
【0080】
なお、上記では、対応関係にある3次元セグメントの組み合わせ毎の差異量を統括することで、3次元モデルの候補の全体の評価指数を求めたが、これに限らず、3次元セグメントの組み合わせ毎に評価指数を求めてもよい。またこの場合には、前出の図6に示した確認画面において、算出された評価指数とその算出対象の3次元セグメントとの関係を確認できるような表示を実行するのが望ましい。たとえば、同一の部位を表す輪郭線が複数表示されている箇所にマウスカーソルを近づけると、そのカーソルの近傍に、これらの輪郭パターンに対応する評価指数が表示されるようにする方法が考えられる。
【0081】
また上記の例の評価指数は、3次元セグメント間のばらつきが小さいほど値が高くなるが、これに代えて、差異量そのものを用いて、3次元セグメントのばらつき度合が大きいほど、値が大きくなるような評価指数を設定してもよい。
【0082】
また、上記の例では、対応関係にある3次元セグメントの組み合わせ毎に差異量を算出したが、これに代えて、3次元セグメント間の交点を対応関係にあるもの毎に組み合わせて、各組み合わせ毎の差異量(交点間の距離など)を算出してもよい。
【0083】
つぎに、図8は、ワークモデルWMに対するステレオ計測を行ってから3次元モデルを登録するまでの処理の手順をフローチャートにまとめたものである。以下、このフローチャートの流れに沿って、この実施例の3次元モデルの作成手順を説明する。
【0084】
この実施例では、計測時のワークモデルWMの位置決めをユーザの裁量にゆだねることから、計測処理の間は、各カメラ11〜13からのプレビュー画像を表示部27に表示するようにしている。ユーザが、この表示画面で各カメラ11〜13によりワークモデルWMが正しく撮像されているかどうかを確認して、計測指示の操作を行うと、図13中の「ステレオ計測」のステップ(ST101)が実行される。このステップST101では、具体的にはステレオ撮像から3次元情報の復元までの処理(図3のST1〜6と同様のもの)が実行される。
【0085】
1回目のステレオ計測により最初の3次元情報が復元された場合(ST102が「YES」)には、その3次元情報を保存した後に、ST101に戻って2回目のステレオ計測を実行する。一方、2回目以降のステレオ計測が行われた場合には(ST102が「NO」)、当該計測により復元された3次元情報を一段階前の3次元情報と照合して、一段階前に対する位置ずれおよび回転角度を認識する(ST103)。さらに、回転角度については、認識した値を毎回加算する方法によって、1回目の計測により復元された3次元情報に対する回転角度を算出する(ST104)。
【0086】
つぎに、この実施例では、最初の3次元情報に対する回転角度(ST104で算出したもの)が360度を超えたことをもって、ステレオカメラ1に対してワークモデルWMが1回転したと判断する(ST105)。またワークモデルWMが1回転したと判断するまでは、ST101〜105の処理を繰り返す。
【0087】
最初の3次元情報に対してワークモデルWMが1回転したと判定すると、ST101〜105のループを終了し、統合対象の3次元情報を選択する(ST106)。たとえば、ST103で求めた回転角度に基づき、それぞれが表すワークモデルWMの向きが一定角度以上異なるものになるように、統合対象の3次元情報を選択する。または、復元された3次元情報の輪郭パターンを表す画像を表示部27に順に表示して、ユーザによる選択を受け付けてもよい。
【0088】
統合対象の3次元情報が選択されると、そのうちの1つを基準として、この基準の3次元情報に他の3次元情報を位置合わせし(ST107)、位置合わせ後の各3次元情報を統合する(ST108)。そして、統合された3次元情報を3次元モデルとして仮登録する(ST109)。
【0089】
つぎのST110〜113のループは、3次元モデルの精度を高めることを目的とするものである。3次元情報の統合対象を、特定の範囲の計測によるものに偏らないように配慮して選択して3次元モデルを作成しても、ワークモデルWMの形状によっては、ワークモデルWMの姿勢がわずかに変化しただけで、統合された3次元情報による認識が不可能になる場合がある。上記ST110〜113ではこの点を考慮して、統合から除外された3次元情報を順に対象として、その3次元情報が統合された情報により正しく認識できるかどうかを判定し、認識に誤りが生じたと判定された3次元情報を3次元モデルに追加する。
【0090】
このループにおいては、まず統合対象として選択されなかった3次元情報を順に対象として、仮登録された3次元モデルによる照合を行って、この3次元モデルに対する位置ずれ量および回転角度を算出する(ST110)。つぎにこれらの算出値を、計測ポイント毎に求めた位置ずれ量および回転角度から導出した値と比較することにより、正しい認識が行われた否かを判定する(ST111)。
【0091】
ここで、照合対象の3次元情報を正しく認識できなかったと判定した場合(ST111が「NO」)には、照合に用いられた3次元情報を3次元モデルに位置合わせして、3次元モデルに追加する(ST112)。一方、照合対象の3次元情報を正しく認識できた場合(ST111が「YES」)には、この3次元情報を3次元モデルに追加せずに、つぎに進む。なお、3次元モデルに新たな3次元情報を追加する場合の位置合わせでも、計測ポイント毎に求めた位置ずれ量および回転角度に基づく座標変換処理を実行する。
【0092】
上記の処理によれば、仮登録された3次元モデルにそのモデルでは認識できなかった3次元情報が追加されるので、以後の3次元モデルで同様の誤認識が生じることはなくなり、3次元モデルの精度を向上することができる。一方で、正しく認識できた3次元情報が3次元モデルに追加されることはないので、3次元モデルの容量が増えるのを防止できる。
【0093】
ST113までの処理により3次元モデルに含められる3次元情報が定まると、この3次元モデルの評価指数を算出する処理を実行する(ST114)。具体的には、3次元モデルへの統合対象として選択された3次元情報、および3次元モデルの仮登録後に当該3次元モデルに追加された3次元情報を対象に、図7により説明した手順を実行して評価指数を算出する。さらに、図6に示した確認用画面を立ち上げて、この画面に、3次元モデルのイメージ図および算出された評価指数を表示する(ST115)。
【0094】
この表示に対し、OKボタン31が操作された場合(ST116が「YES」)には、仮の3次元モデルからノイズを除去する処理(ST117)を実行した後に、ノイズ除去後の3次元モデルを本登録し(ST118)、処理を終了する。
【0095】
ST117のノイズ除去処理では、たとえば、3次元モデルを構成する3次元セグメントの中で、長さが所定のしきい値以下のものや、3次元座標のサンプル点数が所定数以下のものを削除する。またXZ平面上の3次元座標の分布状態から影に相当するものを検出し、これを削除する。このように、短い3次元セグメント、サンプル点数の少ない3次元セグメント、影を表す3次元セグメントなどを削除することにより、照合処理において誤った対応づけがされるのを防止できる。また3次元モデルの容量が削減されるので、照合処理の時間を短縮することができる。
【0096】
一方、3次元モデルのイメージ図や評価指数の表示に対して、NGボタン32が操作された場合(ST116が「NO」)には、3次元モデルの仮登録を取り消す(ST119)。この場合には、前述したように計測環境等の再設定が行われた後に、図8の手順を最初からやり直すことになる。
【0097】
上記の実施例によれば、ワークモデルWMとステレオカメラ1との関係を少しずつ変更しながら計測を行うことによって、2回目以降の計測毎に算出される位置ずれ量や回転角度の精度を確保することができ、これらによって、3次元モデルに統合される3次元情報の位置合わせの精度を確保することができる。さらに、3次元モデルの輪郭線の中に誤った対応づけを生じさせるような要素があって、これにより各3次元情報の位置合わせの精度が低下した場合にも、3次元モデルのイメージ図や評価指数の表示からこれを容易に確認することができるので、精度の悪い3次元モデルが登録されるのを防止することができる。
【0098】
ただし、作成された3次元モデルをそのまま登録するという選択肢と、登録せずに破棄するという選択肢のほかに、一部を修正して登録する、という選択肢を設けてもよい。たとえば、対応関係にある3次元セグメント同士の組み合わせのうちの特定の組み合わせのみに大きな差異量が現れ、その他の組み合わせに係る差異量は許容範囲内に収まる場合には、大きな差異量が生じた組み合わせに属する各3次元セグメントを削除し、残された情報を3次元モデルとして本登録してもよい。ただし、3次元セグメントの削除により、ワークWの認識に支障が生じないことが前提となる。
【0099】
3−2)第2実施例
この第2実施例では、3次元モデルに統合される3次元情報間の位置合わせの精度を向上すること、および作成された3次元モデルの精度をより簡単に確認できるようにすることを目的として、図9(1)(2)に示すように、ワークモデルWMの適所に三角形のマークMを付けてステレオ計測を実行する。このマークMは、シールとして構成され、ワークモデルWMの平坦な面に貼付される。また貼付される面より小さなサイズに設定され、ワークモデルWMの地の色とのコントラストを明瞭にできる色彩により着色されている。
【0100】
この実施例でも、第1実施例と同様に、ユーザの手によりワークモデルWMを任意の角度で回転させることにより複数の計測ポイントを設定し、各計測ポイントで復元された3次元情報のうちの所定数(2以上)を統合することにより3次元モデルを作成する。ただし、第2実施例の計測ポイントは、すべてのカメラ11〜13の視野にマークMが含まれる状態にすることを条件に定められる。この設定が容易になるように、第2実施例では、ワークモデルWMの計測時に上面になる面にマークMを付けるようにしている。
【0101】
図10は、上記のモデルMを付けたワークモデルWMを用いて3次元モデルを作成する処理の概略手順を示す。この図でも、先の図5と同様に、計測ポイント[12][3][6]で復元された3次元情報を使用するものとする。ただし、これらの3次元情報にはマークMを表す情報mが含まれていることから、各3次元情報を、図5と異なる符号p,q,rにより示す。
【0102】
この実施例でも、計測ポイント[12]の3次元情報pを基準に、他の3次元情報q,rを3次元情報pに整合するように座標変換する。この座標変換には、先の実施例と同様に、計測ポイント毎に一段階前の3次元情報との照合により求めた位置ずれ量や回転角度を使用する。
【0103】
座標変換後は、変換後の3次元情報q´,r´および基準の3次元情報pを統合することによって、それぞれの情報を含む3次元情報sを作成する。そして、この3次元情報sを3次元モデルとして仮登録して、ユーザの目8で仮登録の3次元モデルsの精度を確認する。ここでユーザが3次元モデルsの精度が確保されていることを確認して本登録をする旨の判定を行うと、仮登録の3次元モデルsからマークMの情報mを消去し、その処理後の3次元情報tを3次元モデルとして本登録する。
【0104】
統合処理により作成される仮の3次元モデルsには、統合前の3次元情報p,q´,r´がすべて含められる。したがって、マークMに関しては、実際には、各3次元情報p,q´,r´から引き継がれた3つの情報が仮の3次元モデルs内に含まれることになる。
【0105】
以下、マークMの特性および機能について、説明する。
この実施例で使用するマークMが表す三角形は、図11に示すように、各辺の比が6:7:8になるように設定されている。この比率によれば、マークMの各頂点A,B,Cを容易に特定することができるから、たとえば頂点Aから辺BCへの垂線の方向によって、マークMの向きを一意に特定することができる。また図12に示すように、同じ形状の三角形A´B´C´と位置合わせする場合にも、位置合わせの精度を確保することができる。
【0106】
図12(1)では、上記の比率による三角形ABCとこれに合同な三角形A´B´C´から、それぞれ頂点を1個ずつ選択し、選択された頂点を基準に各三角形を位置合わせした結果を示す。この図に示すように、各三角形は、正しい対応関係にある頂点が組み合わせられたときでなければ、完全に重なり合うことはない。
【0107】
上記の三角形の対応づけについて、発明者らは、実際に頂点の組み合わせ毎に、三角形全体の一致度を求めてみた。図12(2)は、その結果を示すグラフである。このグラフに示すとおり、各頂点が正しく対応づけられた場合の一致度を1とすると、他の対応関係による一致度は最大でも0.4程度となる。これにより、三角形の対応関係の正否を正しく判定できることが判明した。
【0108】
上記のとおり、図11に示した形状の三角形によれば、三角形の各頂点が正しく対応づけされた場合と対応づけに誤りがある場合とで、一致度に大きな差異が生じる。この三角形の各辺を3次元セグメントとして対応づけを行っても、同様の効果を得られるはずであるから、マークMの3次元セグメントを含む3次元情報全体を照合した場合には、三角形の各辺の3次元セグメントに関する一致度が全体の一致度に大きく影響を及ぼすようになる。
【0109】
すなわち、ワークモデルWMの本来の3次元セグメントの中に誤った位置合わせを生じさせるような要素があっても、誤った対応づけが行われた場合には、三角形の3次元セグメントの一致度が大きく低下することによって3次元情報全体の一致度が引き下げられる。一方、三角形の3次元セグメントを含む各3次元セグメントが正しく位置合わせされた場合には、いずれの3次元セグメントでも一致度が高くなるから、3次元情報全体の一致度も高い値になる。よって、正しく対応づけられている場合の一致度を他の場合より大きくすることができ、位置合わせの精度を確保することができる。
【0110】
なお、マークMが示す三角形の形状は図11の例に限定されるものではなく、上記した効果を得ることができるものであれば、辺の比率は問わない。また三角形に限らず、頂点が4点以上で向きを一意に特定できる多角形によるマークを作成してもよい。
【0111】
さらに上記のマークMは、仮登録された3次元モデルの精度を確認する処理にも使用される。この処理のために、この実施例の装置のメモリ25には、マークMの幾何学的情報を表す3次元モデルデータ、具体的には、三角形の三辺の好ましい3次元セグメントを表すデータの組み合わせ(以下、このモデルデータを「モデル三角形」という。)が登録される。
【0112】
この実施例では、3次元モデルに統合された各3次元情報をそれぞれモデル三角形により照合して、モデル三角形に対する3次元セグメント、すなわちマークMの各辺を表す3次元セグメントを特定する。そして、各3次元情報から特定された3次元セグメントを、対応関係にあるもの毎に組み合わせて差異量を算出する。さらに各組の差異量を統括して、評価指数を算出する。
【0113】
上記の差異量、評価指数の算出は、先の図7の例に準じた方法により実施することができる。また、この実施例でも、3次元セグメント間の差異量に代えて、各3次元セグメント間の交点(すなわち三角形の頂点)を対応するもの毎に組み合わせて、組み合わせ毎に、頂点間の距離を差異量として求めてもよい。
【0114】
第2実施例では、どの計測ポイントでも、各カメラ11,12,13の視野にマークMが含まれる状態にして計測を行っているので、3次元モデルに統合された3次元情報には必ずマークMに対応する情報mが含まれるはずである。したがって、マークMの既知の幾何学的情報に基づく照合処理により、各3次元情報間で対応関係にある3次元セグメントを容易に特定して、評価指数を求めることができ、処理を簡単にすることができる。また、算出された評価指数は、統合されたすべての3次元情報に共通に含まれる情報mのばらつき度合を反映したものとなるから、この評価指数によって、統合された3次元情報間の位置合わせの精度を容易に確認することができる。
【0115】
このように、方向を一意に特定でき、かつその3次元形状が登録されているマークMをワークモデルWMに取り付けて、このマークMの輪郭パターンを含む3次元情報を復元することにより、統合される3次元情報の位置合わせの精度を向上するとともに、作成された3次元モデルの精度を容易に確認することが可能になる。
【0116】
なお、上記の効果を得るには、マークMをワークモデルWMの平坦面に貼付するのが望ましい。マークMを曲面に貼付すると、三角形の各辺も曲線の3次元セグメントとして認識される可能性が高くなる上、曲面の曲率によってマークMの復元される形状が変動する。このため、マークMが曲面に取り付けられた場合には、その3次元情報を正しく復元できた場合でも、本来の三角形の形状が復元されない可能性が高まり、モデル三角形との照合の精度も低下してしまう。
【0117】
図13は、マークMを利用した確認用画面の例を示す。この画面でも先の図6の例と同様のウィンドウ30,OKボタン31,NGボタン32が設けられる。また表示は、図10の例で作成された仮の3次元モデルsに対応するものとする。
【0118】
ウィンドウ30内には、仮の3次元モデルに含まれる情報のすべてではなく、基本の3次元情報pに基づく輪郭パターンp1のみが表示される。ただし、マークMに関しては、モデル三角形との照合により各3次元情報p,q´,r´から抽出されたマークMの情報の全てに対応する輪郭パターンmp,mq,mrが表示される。また、ウィンドウ30内には、マークMに対応する3次元セグメント間の差異量から算出された評価指数が表示される。
【0119】
ユーザは、上記の画面で、三角形の輪郭パターンmp,mq,mrの重なり度合や評価指数の値から、仮の3次元モデルの精度を確認する。ユーザが3次元モデルを本登録する旨を判定して、OKボタン31を操作すると、仮の3次元モデルsからマークMに対応する情報が消去され、消去後の3次元情報tが3次元モデルとして本登録される。ただし、マークMの情報は必ずしも消去する必要はなく、情報を無効化するにとどめてもよい。
【0120】
3−3)その他の実施態様
上記第1および第2の実施例では、いずれも所定数の3次元情報を位置合わせして統合することにより仮の3次元モデルを作成した後に、この仮の3次元モデルの精度をユーザに確認させるようにしたが、これに代えて、3次元情報を統合する処理の前に評価指数を算出して、その値を表示してもよい。この場合には、ユーザが表示された評価指数により統合情報の精度を確認し、統合情報を3次元モデルとして採用する旨の判定入力を行うことにより、3次元情報の統合処理が実施され、生成された3次元情報が3次元モデルとして登録される。
【0121】
また、上記の処理において、ワークモデルWMに第2実施例のマークMを付けて、マークMに基づく評価指数を求めた場合には、マークMに対応する情報を統合の対象から除外するのが望ましい。
【0122】
また各実施例では、3次元モデルの精度を確認する画面を自装置の表示部27に表示したが、これに限らず、評価指数や画像データを外部の装置に出力し、外部装置側で確認作業を行って、外部装置からの判定入力を受け付けるようにしてもよい。
【図面の簡単な説明】
【0123】
【図1】3次元認識処理を適用したピッキングシステムの概略構成を示す図である。
【図2】物体認識装置のブロック図である。
【図3】3次元認識処理の手順を示すフローチャートである。
【図4】ワークモデルの計測方法を示す図である。
【図5】3次元モデルの作成処理の概略手順を示す図である。
【図6】3次元モデルの確認用の画面の例を示す図である。
【図7】評価指数の作成処理の手順を示すフローチャートである。
【図8】3次元モデルの作成・登録に関する手順を示すフローチャートである。
【図9】マークを付したワークモデルを計測する例を示す図である。
【図10】マークを付したワークモデルの3次元情報から3次元モデルを作成する場合の概略手順を示す図である、
【図11】マークが表す三角形の特徴を表す図である。
【図12】三角形の各頂点の複数とおりの対応づけ状態を示す図、および一致度を表すグラフである。
【図13】3次元モデルの確認用の画面の他の例を示す図である。
【図14】3次元情報の対応づけに誤りが生じる原因を説明する図である。
【図15】3次元情報の対応づけに誤りが生じる他の原因を説明する図である。
【符号の説明】
【0124】
1 ステレオカメラ
2 物体認識装置
11,12,13 カメラ
24 CPU
25 メモリ
W ワーク
WM ワークモデル
M マーク
a,b,c,p,q,r 復元された3次元情報
d,s 仮登録の3次元モデル
【特許請求の範囲】
【請求項1】
認識対象物の実物モデルに対し、ステレオカメラを用いた3次元計測により輪郭線の3次元情報を復元する処理を、前記実物モデルとステレオカメラとの位置関係を毎回任意に変更して実行し、複数回の計測により復元された3次元情報を位置合わせして、位置合わせ後の各3次元情報を統合することにより、前記認識対象物の3次元モデルを作成する方法において、
統合対象の複数の3次元情報を相互に照合して重複する関係にある情報を抽出し、抽出された情報のそれぞれが表す輪郭パターン間の差異量を算出するステップと、前記差異量に基づき前記複数の3次元情報による統合情報の精度を表す評価値を決定するステップと、決定した評価値を出力するステップとを、前記複数の3次元情報を統合する前または統合後に実行することを特徴とする、3次元モデルの作成方法。
【請求項2】
請求項1に記載された方法において、
前記評価値の出力後にこの評価値に対応する統合情報を3次元モデルとして採用するか否かの判定入力を受け付けるステップと、3次元モデルとして採用する旨の判定入力を受け付けたことに応じて、当該統合情報を3次元モデルとして確定するステップとを、さらに実行する、3次元モデルの作成方法。
【請求項3】
請求項1または2に記載された方法において、
前記位置合わせ後の各3次元情報による輪郭パターンをすべて反映させた画像を生成するステップを、少なくとも前記評価値を出力するステップより前に実行するとともに、前記評価値を出力するステップとして、当該評価値を前記画像とともに表示するステップを実行する、3次元モデルの作成方法。
【請求項4】
請求項1に記載された方法において、
前記実物モデルに対する毎回の3次元計測では、輪郭線を表す3次元座標が複数の3次元セグメントにグループ化された構成の3次元情報を生成し、
前記差異量を算出するステップでは、統合前の3次元情報間で対応関係にある3次元セグメントの組み合わせ毎に、その組み合わせに関する差異量を算出する、3次元モデルの作成方法。
【請求項5】
請求項1に記載された方法において、
前記実物モデルに対する毎回の3次元計測では、輪郭線を表す3次元座標が複数の3次元セグメントにグループ化された構成の3次元情報を生成し、
前記差異量を算出するステップでは、統合前の3次元情報間で、各3次元セグメントの間の交点を対応するもの毎に組み合わせて、組み合わせ毎に当該組み合わせに関する差異量を算出する、3次元モデルの作成方法。
【請求項6】
請求項1に記載された方法において、
毎回の3次元計測において、幾何学的特徴が既知のマークが表面に取り付けられた実物モデルを対象に、前記マークがステレオカメラを構成するすべてのカメラの視野に含まれる状態になるように前記実物モデルと各カメラとの位置関係を調整し、
前記差異量を算出するステップでは、前記既知の幾何学的特徴に基づくマークの輪郭パターンにより前記統合対象の各3次元情報を照合して前記マークの輪郭パターンを抽出し、各3次元情報から抽出した輪郭パターン間の差異量を算出する、3次元モデルの作成方法。
【請求項7】
ステレオカメラを用いた3次元計測により認識対象物の輪郭線の3次元情報を復元する3次元計測手段と、復元された3次元情報をあらかじめ登録した3次元モデルと照合することにより認識対象物の位置および姿勢を認識する認識処理手段と、前記認識対象物の実物モデルに対し前記3次元計測手段がそれぞれ異なる方向から実行した3次元計測により復元された複数の3次元情報を位置合わせして、位置合わせ後の各3次元情報を統合することにより前記認識処理手段により使用される3次元モデルを作成する3次元モデル作成手段と、作成された3次元モデルを登録する3次元モデル登録手段とを具備する装置であって、
前記3次元モデル作成手段は、
統合対象の複数の3次元情報を相互に照合して各3次元情報の中で重複する関係にある情報を抽出し、抽出された情報のそれぞれが表す輪郭パターン間の差異量を算出する差異量算出手段と、
差異量算出手段が算出した差異量に基づき、前記複数の3次元情報による統合情報の精度を表す評価値を決定する評価値決定手段と、
評価値決定手段が決定した評価値を出力する出力手段とを、
具備することを特徴とする物体認識装置。
【請求項8】
前記3次元モデル作成手段は、評価値の出力後にこの評価値に対応する統合情報を3次元モデルとして採用するか否かの判定入力を受け付ける入力手段と、前記入力手段が前記統合情報を3次元モデルとして採用する旨の判定入力を受け付けたとき、当該統合情報を3次元モデルとして確定するモデル確定手段とを、さらに具備する、請求項7に記載された物体認識装置。
【請求項9】
前記3次元モデル作成手段は、前記位置合わせ後の3次元情報による輪郭パターンをすべて反映させた画像を生成する画像生成手段を、さらに具備し、
前記出力手段は、前記評価値を、前記画像生成手段により生成された画像とともに表示する手段として構成される、請求項7または8に記載された物体認識装置。
【請求項10】
前記実物モデルの表面に取り付けられることを前提に作成されたマークについて、その幾何学的特徴に基づく輪郭パターンを登録するための登録手段をさらに具備し、
前記差異量算出手段は、前記登録手段に登録された輪郭パターンにより前記統合対象の3次元情報を照合して前記マークの輪郭パターンを抽出し、各3次元情報から抽出した輪郭パターン間の差異量を算出する、請求項7に記載された物体認識装置。
【請求項1】
認識対象物の実物モデルに対し、ステレオカメラを用いた3次元計測により輪郭線の3次元情報を復元する処理を、前記実物モデルとステレオカメラとの位置関係を毎回任意に変更して実行し、複数回の計測により復元された3次元情報を位置合わせして、位置合わせ後の各3次元情報を統合することにより、前記認識対象物の3次元モデルを作成する方法において、
統合対象の複数の3次元情報を相互に照合して重複する関係にある情報を抽出し、抽出された情報のそれぞれが表す輪郭パターン間の差異量を算出するステップと、前記差異量に基づき前記複数の3次元情報による統合情報の精度を表す評価値を決定するステップと、決定した評価値を出力するステップとを、前記複数の3次元情報を統合する前または統合後に実行することを特徴とする、3次元モデルの作成方法。
【請求項2】
請求項1に記載された方法において、
前記評価値の出力後にこの評価値に対応する統合情報を3次元モデルとして採用するか否かの判定入力を受け付けるステップと、3次元モデルとして採用する旨の判定入力を受け付けたことに応じて、当該統合情報を3次元モデルとして確定するステップとを、さらに実行する、3次元モデルの作成方法。
【請求項3】
請求項1または2に記載された方法において、
前記位置合わせ後の各3次元情報による輪郭パターンをすべて反映させた画像を生成するステップを、少なくとも前記評価値を出力するステップより前に実行するとともに、前記評価値を出力するステップとして、当該評価値を前記画像とともに表示するステップを実行する、3次元モデルの作成方法。
【請求項4】
請求項1に記載された方法において、
前記実物モデルに対する毎回の3次元計測では、輪郭線を表す3次元座標が複数の3次元セグメントにグループ化された構成の3次元情報を生成し、
前記差異量を算出するステップでは、統合前の3次元情報間で対応関係にある3次元セグメントの組み合わせ毎に、その組み合わせに関する差異量を算出する、3次元モデルの作成方法。
【請求項5】
請求項1に記載された方法において、
前記実物モデルに対する毎回の3次元計測では、輪郭線を表す3次元座標が複数の3次元セグメントにグループ化された構成の3次元情報を生成し、
前記差異量を算出するステップでは、統合前の3次元情報間で、各3次元セグメントの間の交点を対応するもの毎に組み合わせて、組み合わせ毎に当該組み合わせに関する差異量を算出する、3次元モデルの作成方法。
【請求項6】
請求項1に記載された方法において、
毎回の3次元計測において、幾何学的特徴が既知のマークが表面に取り付けられた実物モデルを対象に、前記マークがステレオカメラを構成するすべてのカメラの視野に含まれる状態になるように前記実物モデルと各カメラとの位置関係を調整し、
前記差異量を算出するステップでは、前記既知の幾何学的特徴に基づくマークの輪郭パターンにより前記統合対象の各3次元情報を照合して前記マークの輪郭パターンを抽出し、各3次元情報から抽出した輪郭パターン間の差異量を算出する、3次元モデルの作成方法。
【請求項7】
ステレオカメラを用いた3次元計測により認識対象物の輪郭線の3次元情報を復元する3次元計測手段と、復元された3次元情報をあらかじめ登録した3次元モデルと照合することにより認識対象物の位置および姿勢を認識する認識処理手段と、前記認識対象物の実物モデルに対し前記3次元計測手段がそれぞれ異なる方向から実行した3次元計測により復元された複数の3次元情報を位置合わせして、位置合わせ後の各3次元情報を統合することにより前記認識処理手段により使用される3次元モデルを作成する3次元モデル作成手段と、作成された3次元モデルを登録する3次元モデル登録手段とを具備する装置であって、
前記3次元モデル作成手段は、
統合対象の複数の3次元情報を相互に照合して各3次元情報の中で重複する関係にある情報を抽出し、抽出された情報のそれぞれが表す輪郭パターン間の差異量を算出する差異量算出手段と、
差異量算出手段が算出した差異量に基づき、前記複数の3次元情報による統合情報の精度を表す評価値を決定する評価値決定手段と、
評価値決定手段が決定した評価値を出力する出力手段とを、
具備することを特徴とする物体認識装置。
【請求項8】
前記3次元モデル作成手段は、評価値の出力後にこの評価値に対応する統合情報を3次元モデルとして採用するか否かの判定入力を受け付ける入力手段と、前記入力手段が前記統合情報を3次元モデルとして採用する旨の判定入力を受け付けたとき、当該統合情報を3次元モデルとして確定するモデル確定手段とを、さらに具備する、請求項7に記載された物体認識装置。
【請求項9】
前記3次元モデル作成手段は、前記位置合わせ後の3次元情報による輪郭パターンをすべて反映させた画像を生成する画像生成手段を、さらに具備し、
前記出力手段は、前記評価値を、前記画像生成手段により生成された画像とともに表示する手段として構成される、請求項7または8に記載された物体認識装置。
【請求項10】
前記実物モデルの表面に取り付けられることを前提に作成されたマークについて、その幾何学的特徴に基づく輪郭パターンを登録するための登録手段をさらに具備し、
前記差異量算出手段は、前記登録手段に登録された輪郭パターンにより前記統合対象の3次元情報を照合して前記マークの輪郭パターンを抽出し、各3次元情報から抽出した輪郭パターン間の差異量を算出する、請求項7に記載された物体認識装置。
【図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−121999(P2010−121999A)
【公開日】平成22年6月3日(2010.6.3)
【国際特許分類】
【出願番号】特願2008−294458(P2008−294458)
【出願日】平成20年11月18日(2008.11.18)
【出願人】(000002945)オムロン株式会社 (3,542)
【Fターム(参考)】
【公開日】平成22年6月3日(2010.6.3)
【国際特許分類】
【出願日】平成20年11月18日(2008.11.18)
【出願人】(000002945)オムロン株式会社 (3,542)
【Fターム(参考)】
[ Back to top ]