(57)【要約】【課題】３次元モデルの精度や認識結果を、視覚により容易に確認できるようにする。【解決手段】認識対象のワークの３次元モデルを作成した後に、この３次元モデルによりワークの実物モデルの３次元情報を対象にした認識テストを実行する。さらに認識された位置および回転角度により３次元モデルを座標変換し、変換後の３次元モデルの各３次元座標を、認識処理のための撮像を行った各カメラＡ，Ｂ，Ｃの撮像面に透視変換する。そして、各カメラＡ，Ｂ，Ｃにより生成されて認識処理に使用された実物モデルの画像に３次元モデルの投影画像を重ねて表示する。【選択図】図７
2010210585.tif 000002
【特許請求の範囲】
【請求項１】
ステレオ画像を生成するための複数のカメラと、所定の認識対象物を対象に各カメラが実行した撮像により生成されたステレオ画像を用いて３次元計測を実行し、この計測により復元された３次元情報を前記認識対象物の３次元モデルと照合して、認識対象物の位置および姿勢を認識する認識手段と、前記３次元モデルを登録するための登録手段とを具備する３次元視覚センサにおいて実行される方法であって、
前記登録手段に登録する前の３次元モデルまたは登録された３次元モデルを前記認識手段により認識された位置および姿勢に基づき座標変換したものを、前記複数のカメラの中の少なくとも１つの座標系に透視変換する第１ステップと、
前記第１ステップの透視変換により生成された投影画像をモニタ装置に表示する第２ステップとを、
実行することを特徴とする３次元視覚センサにおけるモデル表示方法。
【請求項２】
請求項１に記載された方法において、
前記複数のカメラの全てを処理対象として前記第１ステップを実行するとともに、第２ステップにおいて、カメラ毎に、当該カメラにより生成されて前記認識手段の認識処理に使用された画像に、第１ステップにより生成された投影画像を重ね合わせて表示する、
３次元視覚センサにおけるモデル表示方法。
【請求項３】
ステレオ画像を生成するための複数のカメラと、所定の認識対象物を対象に各カメラが実行した撮像により生成されたステレオ画像を用いて３次元計測を実行し、この計測により復元された３次元情報を前記認識対象物の３次元モデルと照合して、認識対象物の位置および姿勢を認識する認識手段と、前記３次元モデルを登録するための登録手段とを具備する３次元視覚センサにおいて、
前記登録手段に登録される前の３次元モデルまたは登録された３次元モデルを前記認識手段により認識された位置および回転角度に基づき座標変換したものを、前記複数のカメラの中の少なくとも１つの座標系に透視変換する透視変換手段と、
前記透視変換手段の処理により生成された投影画像をモニタ装置に表示する表示制御手段とを、具備することを特徴とする３次元視覚センサ。
【請求項４】
前記透視変換手段は、複数のカメラの全てを処理対象として前記透視変換処理を実行し、前記表示制御手段は、カメラ毎に、当該カメラにより生成されて前記認識手段の認識処理に使用された画像に前記投影画像を重ね合わせて表示する、
請求項３に記載された３次元視覚センサ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ステレオカメラを用いた３次元計測処理により対象物を認識する３次元視覚センサに関する。
【背景技術】
【０００２】
たとえば製造現場でロボットに部品などを把持させる目的で３次元認識処理を行う場合には、ステレオカメラによる３次元計測により復元された３次元情報を、あらかじめ登録された認識対象物の３次元モデルと照合することで、認識対象物の位置や姿勢（具体的には３次元モデルに対する回転角度）を認識するようにしている（たとえば特許文献１を参照。）。
【０００３】
また、この種の認識処理のために、認識対象物の実物モデルに対する３次元計測を、複数の方向から実行し、各方向毎に復元された３次元情報を位置合わせして合成することにより、認識対象物の全体構成を表す３次元モデルを生成する方法が提案されている（特許文献２を参照。）。ただし、全体構成を表す３次元モデルは、実物モデルを用いて作成する方法に限らず、ＣＡＤデータなどの設計情報から作成する場合もある。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０００−９４３７４号公報
【特許文献２】特許第２９６１２６４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
３次元モデルによる認識処理を行う場合には、事前に、登録された３次元モデルにより実際の認識対象物を正しく認識できるかどうかのテストを行うのが望ましい。しかし、３次元モデルとの照合に基づき認識対象物の位置を表す座標や回転角度を表示しても、これらの数値が示す具体的な内容を、ユーザが即座に認識するのは困難である。
【０００６】
また、検査の目的で３次元モデルによる認識結果を表示するなど、本処理において認識結果を表示する必要がある現場からも、認識結果や精度を容易に判断できるような表示をしてほしい、という要望があげられている。
【０００７】
本発明は上記の背景事情に鑑み、登録しようしている３次元モデルが妥当であるか否かや登録された３次元モデルによる認識処理の結果を、容易に確認できるような表示を行うことによって、３次元視覚センサの利便性を高めることを、課題とする。
【課題を解決するための手段】
【０００８】
本発明によるモデル表示方法は、ステレオ画像を生成するための複数のカメラと、所定の認識対象物を対象に各カメラが実行した撮像により生成されたステレオ画像を用いて３次元計測を実行し、この計測により復元された３次元情報を認識対象物の３次元モデルと照合して、認識対象物の位置および姿勢を認識する認識手段と、上記の３次元モデルを登録するための登録手段とを具備する３次元視覚センサにおいて実行されるもので、以下の第１〜第３のステップを実行することを特徴とする。
【０００９】
第１ステップでは、登録手段に登録する前の３次元モデルまたは登録された３次元モデルを認識手段により認識された位置および姿勢に基づき座標変換したものを、複数のカメラの中の少なくとも１つの座標系に透視変換する。第２ステップでは、第１ステップの透視変換により生成された投影画像をモニタ装置に表示する。
【００１０】
上記の方法によれば、たとえば、登録対象の３次元モデルを作成した後に、この３次元モデルにより認識対象物の実物モデルを対象とした認識処理を実行し、その認識結果による位置および姿勢を反映した３次元モデルの投影画像を表示することができる。また、この投影画像は、認識対象物を撮像するカメラの撮像面への透視変換処理により生成されるので、認識結果が正しければ、投影画像の３次元モデルは、認識のために撮像された画像中の認識対象物と同様の位置および姿勢をとると考えられる。よって、ユーザは、この投影画像を認識処理に使用した画像と見比べることによって、作成した３次元モデルが認識処理に適しているか否かを容易に判断し、登録するかどうかを決定することができる。
【００１１】
また、登録された３次元モデルによる本処理において認識結果を表示する場合にも、上記と同様の投影画像を表示することができるので、ユーザは、認識結果を容易に確認することができる。
【００１２】
上記の方法の好ましい態様では、複数のカメラの全てを処理対象として第２ステップを実行する。また第２ステップにおいて、カメラ毎に、当該カメラにより生成された認識手段による処理に使用された画像に、第１ステップにより生成された投影画像を重ね合わせて表示する。
【００１３】
上記の態様によれば、３次元認識に使用された全てのカメラについて、それぞれ認識結果に応じた位置および姿勢をとる３次元モデルの画像が実際の認識対象物の画像に重ね合わせて表示されるので、ユーザは、両者の見え方の違いやずれの度合いから、３次元モデルによる認識の精度を把握することができる。
【００１４】
つぎに本発明による３次元視覚センサは、ステレオ画像を生成するための複数のカメラと、所定の認識対象物を対象に各カメラが実行した撮像により生成されたステレオ画像を用いて３次元計測を実行し、この計測により復元された３次元情報を認識対象物の３次元モデルと照合して、認識対象物の位置および姿勢を認識する認識手段と、前記３次元モデルを登録するための登録手段とを具備する。
【００１５】
さらに上記の３次元視覚センサは、登録手段に登録される前の３次元モデルまたは登録された３次元モデルを認識手段により認識された位置および回転角度に基づき座標変換したものを、前記複数のカメラの中の少なくとも１つの座標系に透視変換する透視変換手段と、透視変換手段の処理により生成された投影画像をモニタ装置に表示する表示制御手段とを、具備する。
【００１６】
上記３次元視覚センサの好ましい実施態様では、透視変換手段は、複数のカメラの全てを処理対象として前記透視変換処理を実行する。また表示制御手段は、カメラ毎に、当該カメラにより生成されて前記認識手段の認識処理に使用された画像に前記投影画像を重ね合わせて表示する。
【発明の効果】
【００１７】
上記の３次元視覚センサによれば、３次元モデルの精度や３次元モデルによる認識結果を、視覚により容易に確認することが可能になり、３次元視覚センサの利便性が大幅に高められる。
【図面の簡単な説明】
【００１８】
【図１】３次元視覚センサが導入された生産ラインの構成を示す図である。
【図２】３次元視覚センサの電気構成を示すブロック図である。
【図３】３次元モデルの構成例を示す図である。
【図４】３次元モデルの作成方法を示す図である。
【図５】３次元モデルの作成および登録に関する処理手順を示すフローチャートである。
【図６】認識テストの開始画面の例を示す図である。
【図７】認識テストの結果の表示画面の例を示す図である。
【発明を実施するための形態】
【００１９】
図１は、３次元視覚センサ１００を、工場の生産ラインに導入した例を示す。
この実施例の３次元視覚センサ１００は、所定の製品に組み込まれるために搬送ライン１０１により搬送されているワークＷ（説明を簡単にするために形態を単純化して示す。）の位置や姿勢を認識するためのものである。認識結果を示す情報は、ライン１０１の下流に配備されたロボットのコントローラ（いずれも図示せず。）に送信され、ロボットの動作の制御に用いられる。
【００２０】
３次元視覚センサ１００は、ステレオカメラ１とライン１０１の近傍に配備された認識処理装置２とにより構成される。ステレオカメラ１は、搬送ライン１０１の上方に横並びに配置された３台のカメラＡ，Ｂ，Ｃにより構成される。これらのうち中央のカメラＡは、光軸を鉛直方向に向けた状態（すなわちワークＷを正面視する状態）にして配備され、左右のカメラＢ，Ｃは、光軸を斜めにして配備される。
【００２１】
認識処理装置２は、専用のプログラムが格納されたパーソナルコンピュータであり、モニタ装置２５や、キーボード２７，マウス２８などを具備する。この認識処理装置２では、各カメラＡ，Ｂ，Ｃが生成した画像を取り込んで、ワークＷの輪郭線を対象とする３次元計測を実行した後に、復元された３次元情報を、あらかじめ装置内に登録された３次元モデルと照合する。
【００２２】
図２は、上記の３次元視覚センサ１００の構成をブロック図により表したものである。
この図によれば、認識処理装置２には、各カメラＡ，Ｂ，Ｃに対応する画像入力部２０Ａ，２０Ｂ，２０Ｃ、カメラ駆動部２１、ＣＰＵ２２、メモリ２３、入力部２４、表示部２５、通信インターフェース２６などが含まれる。
【００２３】
カメラ駆動部２１は、ＣＰＵ２２からの指令に応じて、各カメラＡ，Ｂ，Ｃを同時に駆動する。これにより各カメラＡ，Ｂ，Ｃで生成された画像は、画像入力部２０Ａ，２０Ｂ，２０Ｃを介してＣＰＵ２２に入力される。
【００２４】
表示部２５は、図１におけるモニタ装置である。また入力部２４は、図１のキーボード２７およびマウス２８をまとめたものである。これらは、キャリブレーション処理の際に、設定のための情報を入力したり、作業を支援するための情報を表示する目的に使用される。通信インターフェース２６は、上位機器との通信に用いられる。
【００２５】
メモリ２３は、ＲＯＭ，ＲＡＭ，およびハードディスクなどの大容量メモリを含むもので、キャリブレーション処理、３次元モデルの作成、およびワークＷの３次元認識処理のためのプログラムや設定データが格納されている。また、キャリブレーション処理で算出された３次元計測用のパラメータや３次元モデルも、メモリ２３内の専用のエリアに登録される。
【００２６】
ＣＰＵ２２は、メモリ２３内のプログラムに基づき、キャリブレーション処理や３次元モデルの登録処理を実行する。これによりワークＷに対する３次元認識処理が可能な状態になる。
【００２７】
キャリブレーション処理では、所定のキャリブレーションパターンが描かれたキャリブレーションプレート（図示せず。）を用いて、ワークＷを支持する面（すなわち図１の搬送ライン１０１の上面）からの距離が高さを示すＺ座標となるようにワールド座標系を定義する。そして、キャリブレーションプレートの撮像および画像処理を複数サイクル実行して、カメラ毎に、３次元座標（Ｘ，Ｙ，Ｚ）と２次元座標（ｘ，ｙ）との組み合わせを複数組特定し、これらの座標の組み合わせを用いて、下記の変換式（（１）式）に適用する３行４列の透視変換行列を導出する。
【００２８】
【数１】
2010210585.tif 000003
【００２９】
上記の透視変換行列の各要素Ｐ００，Ｐ０１，・・・Ｐ２３は、３次元計測用のパラメータとしてカメラＡ，Ｂ，Ｃ毎に求められ、メモリ２３内に登録される。この登録が完了することによって、ワークＷに対する３次元計測が可能な状態となる。
【００３０】
この実施例の３次元計測処理では、各カメラＡ，Ｂ，Ｃにより生成された画像からエッジを抽出した後に、各エッジを、連結点や分岐点を基準に「セグメント」と呼ばれる単位に分解し、各セグメントを画像間で対応づける。そして、対応づけられたセグメントの組毎に、上記のパラメータを用いた演算を実行することにより、３次元のセグメントを表す３次元座標の集合を導出する。以下、この処理を「３次元情報の復元」という。
【００３１】
上記の３次元情報の復元処理のために、この実施例では、図３に示すような、ワークＷの全体の輪郭形状を表す３次元モデルＭを生成する。この３次元モデルＭには、複数のセグメントの３次元情報のほか、代表点として、内部の一点Ｏ（重心など）の３次元座標が含められる。
【００３２】
上記の３次元モデルＭを用いた認識処理では、３次元計測により復元された３次元情報における特徴点（具体的には、セグメントの分岐点）と３次元モデルＭ側の特徴点とを総当たり式に対応づけて、両者間の類似度を算出する。そして類似度が最も大きくなったときの各特徴点の対応関係を正しい関係として特定し、このときに３次元モデルＭの代表点Ｏに対応した座標を、ワークＷの位置として認識する。またこの特定された関係になったときの３次元モデルＭの回転角度を、３次元モデルＭが示す基本の姿勢に対するワークＷの回転角度として認識する。この回転角度は、Ｘ，Ｙ，Ｚの軸毎に算出される。
【００３３】
図４は、上記の３次元モデルＭの作成方法を示す。
この実施例では、キャリブレーション処理において、ワークＷの支持面（図１の搬送ライン１０１の上面である。）の高さが０になるように設定し、この支持面上の各カメラＡ，Ｂ，Ｃの視野が重複する範囲に、ワークＷの実物モデルＷ０（以下、「ワークモデルＷ０」という。）を配置する。そして、このワークモデルＷ０を、任意の角度ずつ回転させることによって、各カメラＡ，Ｂ，Ｃに対するワークモデルＷ０の姿勢を複数とおり設定し、設定の都度、撮像および３次元情報の復元処理を実行する。そして、復元された複数の３次元情報を統合したものを、３次元モデルＭとする。
【００３４】
ただし、この実施例では、統合処理後の３次元モデルＭをすぐに登録するのではなく、この３次元モデルＭにより試験的な認識処理を実行して（以下、「認識テスト」という。）、ワークＷを正しく認識できるかどうかを確認する。この認識テストは、３次元モデルに統合されたものとは異なる姿勢のワークモデルＷ０を計測したときに復元された３次元情報を用いて実行される。また、ユーザがこの認識テストの結果が悪いと判断した場合には、認識テストに使用した３次元情報を３次元モデルに追加登録するようにしている。これにより３次元モデルの精度が高められ、実際のワークＷに対する認識処理の精度を確保することが可能になる。
【００３５】
図５は、３次元モデルの作成および登録処理に関する一連の手順を示す。
この実施例では、回転方向を同じ方向に維持することを条件に、ユーザがワークモデルＷ０を適当な角度で回転させて、撮像指示操作を行う。認識処理装置２では、この操作に応じて各カメラＡ，Ｂ，Ｃに撮像を行わせ（ＳＴ１）、生成された各画像を用いてワークモデルＷ０の３次元情報を復元する（ＳＴ２）。
【００３６】
さらに２回目以降の処理においては（ＳＴ３が「ＮＯ」の場合）、復元された３次元情報について、一段階前の３次元情報に対する位置ずれ量および回転角度を認識する（ＳＴ４）。この処理も、３次元モデルによる認識処理と同様に、双方の３次元情報中の特徴点を総当たり式に対応づけて類似度を求め、最大の類似度が得られたときの対応関係を特定する方法により行われる。
【００３７】
さらに、回転角度については、認識した値を毎回加算する方法によって、最初に復元された３次元情報に対する回転角度を算出するとともに、この回転角度によって、ワークモデルＷ０が一回転したかどうかを判断する（ＳＴ５，６）。
【００３８】
上記の回転角度が３６０度を超えたことをもって、ステレオカメラ１に対しワークモデルＷ０が一回転したと判断すると、ＳＴ１〜６のループを終了し、ＳＴ７に進む。
ＳＴ７では、ＳＴ１〜６のループで復元された複数の３次元情報の中から、ユーザによる選択操作に応じて、または自動的に、所定数の３次元情報を選択する。
【００３９】
つぎに、ＳＴ８では、選択された３次元情報のうちの１つを基準情報に設定し、他の３次元情報を、基準情報に対する位置ずれ量および回転角度に基づき座標変換することによって、その位置および姿勢を基準情報に適合させる（以下、これを「位置合わせ」という。）。さらにこの後は、位置合わせ後の３次元情報を統合し（ＳＴ９）、統合された３次元情報を３次元モデルとして仮登録する（ＳＴ１０）。
【００４０】
ここで、ＳＴ１〜６のループで復元された３次元情報のうち３次元モデルに統合されなかったものを、画像情報とともに順に読み出して、以下の要領で認識テストを実行する（ＳＴ１１）。
図６は、認識テストの開始時に表示部２５に表示される画面の例を示す。この画面には、各カメラＡ，Ｂ，Ｃ毎の画像表示領域３１，３２，３３が設けられ、各領域３１，３２，３３内に、それぞれ所定の時点の撮像により生成された画像が表示されている。また、画面の下方には、認識テストの開始を指示するボタン３４が設けられている。
【００４１】
ここで、ユーザがボタン３４を操作すると、表示中の画像に対応する３次元情報を対象に、仮の３次元モデルＭを用いた認識テストが実行される。認識テストが終了すると、表示画面は図７に示すものに切り替えられる。
【００４２】
この画面では、カメラＡ，Ｂ，Ｃ毎の画像表示領域３１，３２，３３内に、テスト前と同一の画像が表示されるほか、この画像に、所定の色彩による輪郭線（図では点線により表現する。）と、認識した位置を表すマーク４０が重ね表示されている。
【００４３】
上記の輪郭線やマーク４０は、仮の３次元モデルＭを、認識テストで求めた位置および回転角度に基づき座標変換し、変換後の３次元モデルＭの３次元座標を各カメラＡの座標系に投影することにより、生成されたものである。具体的には、前出の（１）式を変形させた下記の（２）式による演算を実行する。
【００４４】
【数２】
2010210585.tif 000004
【００４５】
さらにこの画面には、３次元モデルＭに対する照合対象の３次元情報の一致度が表示される（図中の点線枠３８内の表示）。さらに、その下方には、次の画像を選択するボタン３５、再試行を指示するボタン３６、およびモデルへの追加を指示するためのボタン３７が設けられている。
【００４６】
ここでユーザが、表示されたテスト結果が良好であると判断してボタン３５を操作すると、図６の画面に戻り、各画像領域３１，３２，３３につぎのテスト対象の３次元情報に対応する画像を表示して、ユーザの操作に待機する。またボタン３６が操作された場合には、現在選択中の画像を用いて、再度、認識テストを実行し、その認識結果を表示する。
【００４７】
またユーザが表示されたテスト結果から認識精度が悪いと判断して、ボタン３７を操作した場合には、認識テストに使用された３次元情報を追加登録の対象として保存し、しかる後に、次のテスト対象の３次元情報に対する処理に移行する。
【００４８】
以下も上記と同様の手順で認識テストが進められる（ＳＴ１１，１２）。確認テストが終了すると、追加登録の情報があるか否かをチェックし（ＳＴ１３）、該当する情報がある場合には、当該３次元情報を、ＳＴ８と同様の座標変換により３次元モデルＭに位置合わせし、位置合わせ後の３次元情報を３次元モデルに追加する（ＳＴ１４）。そして、追加登録が終了した３次元モデルＭを本登録し（ＳＴ１５）、処理を終了する。なお、追加登録の情報がない場合（ＳＴ１３が「ＮＯ」）、すなわち認識テストの結果が全て良好であった場合には、仮登録の３次元モデルをそのまま本登録する。
【００４９】
上記の処理によれば、ワークモデルＷ０を様々な方向から計測して得た複数の３次元情報を統合することによりワークＷの全体構成を表す３次元モデルＭを作成した後に、この３次元モデルＭに含まれていない情報を含む３次元情報を用いた認識テストによって、３次元モデルの精度を確認してから登録をするので、精度の悪い３次元モデルが登録されるのを防止することができる。また、認識テストの結果が悪かったときの３次元情報を３次元モデルＭに追加することにより、３次元モデルの精度を高めることができる。
【００５０】
さらに図７に示したように、この実施例では、３次元モデルＭを認識結果に基づき座標変換して、各カメラＡ，Ｂ，Ｃの座標系に透視変換した結果を、各カメラＡ，Ｂ，Ｃにより生成されて認識処理に使用された画像に重ね合わせて表示するので、ユーザは、３次元モデルＭの輪郭線の形状やワークモデルＷ０の画像に対する位置ずれの度合から、認識精度を容易に判断することができる。
【００５１】
このように上記の実施例では、認識処理に用いる３次元モデルＭを作成した際に、その認識精度を確認する目的で図７のような画面表示を行ったが、これに限らず、３次元モデルＭの登録後に本格的な認識処理を実行する場合にも、同様の表示を行ってもよい。このようにすれば、ユーザは、毎回の認識結果の適否を確認しながら、作業を進めることができる。
【００５２】
また、前出の認識テストにより３次元モデルＭの精度を確認してから登録した場合には、本格稼働時には、実物のワークＷの画像を示さずに、モデルＭの投影画像のみを表示することにより、認識結果を報知するようにしてもよい。また上記の実施例では、認識処理が終了した後に、３次元モデルを認識結果に基づいて座標変換してから透視変換を行うとしたが、認識処理において特徴点を総当たり方式で対応づけした際の座標変換結果を保存している場合には、その保存データを用いることで再度の座標変換処理を省略することができる。
【符号の説明】
【００５３】
１００  ３次元視覚センサ
１（Ａ，Ｂ，Ｃ）  ステレオカメラ
２    認識処理装置
２２  ＣＰＵ
２３  メモリ
２５  モニタ装置（表示部）
Ｗ    ワーク
Ｍ    ３次元モデル
【図１】
2010210585.tif 000005
【図２】
2010210585.tif 000006
【図３】
2010210585.tif 000007
【図４】
2010210585.tif 000008
【図５】
2010210585.tif 000009
【図６】
2010210585.tif 000010
【図７】
2010210585.tif 000011