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